@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#24382e;--muted:#788078;--paper:#f6f5ef;--green:#355947;--line:#dedfd6}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}header{max-width:1240px;margin:auto;padding:27px 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;color:var(--ink);font-size:23px;font-weight:700;letter-spacing:-1px}.brand span{font-size:36px;vertical-align:middle;margin-right:10px}.tag,.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px}.tag{color:var(--muted)}main{max-width:1100px;margin:auto;padding:42px 40px}.intro{margin-bottom:30px}.eyebrow{color:#6b7e65}h1{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:64px;letter-spacing:-1.5px;margin:8px 0}p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}.layout{display:grid;grid-template-columns:minmax(0,600px) minmax(270px,330px);gap:48px;align-items:start}.player{display:flex;align-items:center;gap:12px;padding:0 0 14px}.player:last-child{padding:14px 0 0}.player b{font-size:14px}.player small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.avatar{width:38px;height:38px;border-radius:50%;background:#dce2d6;font-size:28px;text-align:center}.avatar.light{background:#eae5d8}.pill{margin-left:auto;border:1px solid var(--line);border-radius:4px;padding:5px 9px;font-size:9px;letter-spacing:1.4px;color:var(--muted)}#board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;border:7px solid #355040;border-radius:4px;overflow:hidden;box-shadow:0 16px 35px #263f2812}.square{position:relative;border:0;border-radius:0;padding:0;aspect-ratio:1;background:#ecebdc;cursor:pointer;display:flex;align-items:center;justify-content:center}.square.dark{background:#81997a}.piece{font-family:'Arial Unicode MS','Apple Symbols','DejaVu Sans',serif;font-size:clamp(27px,4.6vw,57px);line-height:1;z-index:1;pointer-events:none}.piece.white{color:#fffdf2;text-shadow:0 1px 1px #172c21,-1px 0 #4e5c49,1px 0 #4e5c49,0 -1px #4e5c49}.piece.black{color:#22382d;text-shadow:0 1px 1px #f6f6e677}.square.last{background:#c7cf8a}.square.dark.last{background:#a4b56e}.square.selected{background:#e0c56e}.square.check{background:#d98474}.square.legal:after{content:'';width:24%;height:24%;border-radius:100%;background:#284d3840;position:absolute}.square.legal:has(.piece):after{width:84%;height:84%;background:none;border:5px solid #284d3860}.coord{position:absolute;font-size:10px;color:#355040;left:4px;top:3px}.file{left:auto;top:auto;right:4px;bottom:2px}.dark .coord{color:#f3f4e8}button,select{font:inherit}button:focus-visible,select:focus-visible{outline:3px solid #bc8f36;outline-offset:2px}.card{background:#fffefa;border:1px solid var(--line);border-radius:9px;padding:24px}.status h2{font-family:'Libre Caslon Display',Georgia,serif;font-size:33px;font-weight:400;margin:15px 0 7px}.status p{font-size:12px;min-height:42px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#78926b;margin-right:6px}.settings{border-top:1px solid var(--line);margin-top:20px;padding-top:19px;display:grid;gap:9px}label{font-size:12px;font-weight:600}select{padding:11px;background:#f7f7f1;border:1px solid var(--line);border-radius:5px;color:var(--ink);font-size:12px;margin-bottom:6px;width:100%}.primary{background:var(--green);color:white;border:0;border-radius:5px;width:100%;padding:13px 15px;margin-top:15px;text-align:left;font-size:13px;cursor:pointer}.primary span{float:right}.actions{display:flex;gap:12px;margin-top:14px}.actions button{flex:1;background:transparent;color:var(--muted);border:0;font-size:11px;padding:4px 0;cursor:pointer}button:disabled{opacity:.4;cursor:default}.history{margin-top:18px;padding:20px 24px}.historyHead{display:flex;align-items:center;justify-content:space-between}h3{font-size:13px;margin:0}.historyHead span{font-size:10px;color:var(--muted)}#moves{max-height:170px;overflow:auto;margin-top:15px}.empty{text-align:center;font-family:Georgia,serif;font-style:italic;font-size:14px;color:#9a9f93;line-height:1.8;padding:18px}.moveRow{display:grid;grid-template-columns:30px 1fr 1fr;padding:7px 10px;font-size:12px}.moveRow:nth-child(odd){background:#f3f4ed}.moveRow span:first-child{color:var(--muted)}.note{display:flex;gap:12px;margin:24px 10px;color:#8a927e;font-size:27px}.note span{font-size:11px;line-height:1.7}footer{max-width:1020px;margin:12px auto 0;padding:24px 0;border-top:1px solid var(--line);font-size:9px;letter-spacing:1.5px;color:#8c9589;display:flex;justify-content:space-between}footer span{letter-spacing:0}dialog{border:1px solid var(--line);border-radius:12px;padding:28px;color:var(--ink)}dialog::backdrop{background:#172c2177}#promotionChoices button{font-size:48px;border:0;background:#e6eadc;margin:5px;padding:8px;cursor:pointer}@media(max-width:760px){header{padding:18px 22px}.tag{display:none}main{padding:28px 20px}h1{font-size:49px}.layout{grid-template-columns:1fr;gap:28px}.play{max-width:600px;width:100%;margin:auto}.piece{font-size:clamp(28px,8vw,57px)}aside{display:grid;grid-template-columns:1fr 1fr;gap:15px}.history{margin:0}.note{display:none}footer{margin:0 20px}.card{padding:18px}}@media(max-width:480px){aside{grid-template-columns:1fr}h1{font-size:44px}.intro p{font-size:13px}.history{min-height:140px}}
