:root{--ink:#193c38;--muted:#6c7971;--paper:#f6f5ef;--line:#d8ded4;--accent:#af925d;font-family:Inter,"Segoe UI",-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #b29159;outline-offset:3px}.game-header{max-width:1400px;margin:auto;min-height:100px;padding:20px 40px;display:flex;align-items:center;gap:35px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-weight:750;letter-spacing:2px;font-size:17px;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:3px;margin-top:6px;font-weight:550}.back-link{font-size:13px;margin-left:auto}.free-label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.free-label i{width:6px;height:6px;border-radius:50%;background:#75a78a}.game-layout{max-width:1180px;padding:40px 32px 0;margin:auto;display:grid;grid-template-columns:minmax(0,660px) minmax(280px,360px);gap:56px;align-items:start}.game-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:650;color:#78877b}.game-title h1{font-size:49px;letter-spacing:-2px;line-height:1.1;margin:11px 0 0;font-weight:600}.game-title em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.icon-button{height:42px;width:42px;border:1px solid var(--line);background:#fffdf8;border-radius:50%;font-size:24px;color:var(--ink)}.player-line{display:flex;align-items:center;gap:11px;padding:17px 2px}.player-avatar{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#1c4540;color:#f8f2df;font:25px Georgia,serif}.human-avatar{font:700 9px "Segoe UI",sans-serif;letter-spacing:1px;background:#e7e7dc;color:var(--ink)}.player-line strong{font-size:13px;font-weight:650}.player-line small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.color-label{margin-left:auto;font-size:10px;letter-spacing:.5px;border:1px solid var(--line);border-radius:20px;padding:6px 12px}.board-frame{padding:13px;background:#25443c;border-radius:15px;box-shadow:0 18px 45px #163e3b19,0 3px 5px #163e3b12}.board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));aspect-ratio:1;overflow:hidden;border-radius:4px}.square{position:relative;width:100%;aspect-ratio:1;min-width:0;padding:0;border:0;border-radius:0;display:grid;place-items:center;isolation:isolate;outline-offset:-4px!important}.square.light{background:#eee8d7;color:#6a8270}.square.dark{background:#779383;color:#f4f0df}.square img{position:relative;width:88%;height:88%;max-width:80px;z-index:2;filter:drop-shadow(0 3px 1px #182b281a);user-select:none;-webkit-user-drag:none;transition:transform .15s}.square:hover img{transform:translateY(-2px)}.square.selected{background:#c8b67c}.square.last-move{box-shadow:inset 0 0 0 100px #dfc77b44}.square.hint-square{outline:4px solid #e2bc5e;outline-offset:-4px}.square.in-check{background:#c97865}.square.legal-target:after{content:"";position:absolute;width:23%;height:23%;background:#27493f59;border-radius:50%;z-index:3;pointer-events:none}.square.capture-target:after{content:"";position:absolute;inset:4%;border:5px solid #27493f70;border-radius:50%;z-index:3;pointer-events:none}.file-label,.rank-label{font-size:9px;position:absolute;z-index:4;font-weight:650;line-height:1}.file-label{right:5px;bottom:4px}.rank-label{left:4px;top:5px}.board-note{font-size:11px;color:var(--muted);line-height:1.6;max-width:580px;margin:3px 0 0}.game-panel{padding-top:10px;min-width:0}.status-card{background:#163e3b;color:#f7f4e8;border-radius:18px;padding:30px;min-height:178px;position:relative;overflow:hidden}.status-card:after{content:"✦";position:absolute;right:20px;top:24px;font-size:80px;color:#ffffff05;pointer-events:none}.status-card .eyebrow{color:#c7bb98}.status-card h2{font-size:27px;line-height:1.2;font-weight:550;letter-spacing:-.5px;margin:19px 0 11px}.status-card p{font-size:12px;line-height:1.65;color:#c6d6cd;margin:0;max-width:260px}.thinking{display:flex;gap:5px;margin-top:15px}.thinking[hidden]{display:none}.thinking span{width:5px;height:5px;background:#d5c39b;border-radius:50%;animation:pulse 1.2s infinite}.thinking span:nth-child(2){animation-delay:.2s}.thinking span:nth-child(3){animation-delay:.4s}@keyframes pulse{50%{opacity:.2}}.settings{margin-top:28px}.settings h2,.history-heading h2{font-size:14px;font-weight:650;margin:0 0 20px}.settings label{font-size:11px;font-weight:550;display:block;margin:17px 0 9px}.level-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border:1px solid var(--line);background:#edeee6;padding:4px;border-radius:10px}.level-options button{padding:10px 5px;font-size:11px;border:0;background:none;color:var(--muted);border-radius:7px}.level-options button[aria-pressed=true]{background:#fffef9;color:var(--ink);font-weight:650;box-shadow:0 2px 6px #2443380d}.settings>p{font-size:11px;line-height:1.6;color:var(--muted);margin:10px 0}.settings select{display:block;width:100%;border:1px solid var(--line);border-radius:9px;background:#fffef9;color:var(--ink);padding:12px 14px;font-size:12px;min-height:43px}.primary-button{width:100%;padding:14px 18px;border:1px solid #214c43;border-radius:9px;min-height:48px;background:#214c43;color:#fffef7;font-size:13px;font-weight:550;display:flex;align-items:center;justify-content:space-between;gap:15px}.primary-button:hover{background:#2a5d52}.settings>.primary-button{margin-top:19px}.secondary-actions{display:flex;gap:9px;margin-top:9px}.secondary-actions button,.dialog-cancel{background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:11px 9px;font-size:11px;min-height:42px}.secondary-actions button{flex:1}.game-message{min-height:17px}.history-panel{border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:22px}.history-heading{display:flex;align-items:baseline;gap:15px;justify-content:space-between}.history-heading h2{margin:0}.history-heading>span{font-size:10px;color:var(--muted)}.moves{margin-top:16px;max-height:195px;overflow-y:auto;scrollbar-width:thin}.move-row{display:grid;grid-template-columns:35px 1fr 1fr;gap:10px;padding:8px 10px;font-size:13px}.move-row:nth-child(odd){background:#eceee5;border-radius:5px}.move-row>span:first-child{color:#8d998b;font-size:10px;align-self:center}.empty-moves{font-size:11px;color:#94a08e;line-height:1.7;max-width:200px;padding:15px 0}.privacy-note{font-size:10px;color:#8a9488;line-height:1.75;margin-top:18px}.game-footer{max-width:1180px;padding:35px 32px;margin:30px auto 0;display:flex;gap:25px;font-size:10px;color:#849080;border-top:1px solid var(--line);flex-wrap:wrap}.game-footer>span{margin-right:auto}dialog{border:1px solid var(--line);border-radius:18px;padding:30px;color:var(--ink);background:#fffef8;width:min(420px,calc(100% - 32px));box-shadow:0 25px 100px #123d3c26}dialog::backdrop{background:#15383388;backdrop-filter:blur(5px)}dialog h2{font-size:23px;font-weight:600;margin:0 0 13px}dialog p{font-size:13px;color:var(--muted);line-height:1.7}.dialog-actions{display:flex;gap:10px;margin-top:25px;align-items:stretch}.dialog-actions button{width:auto;flex:1}#promotion-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}#promotion-options button{padding:3px;border:1px solid var(--line);border-radius:8px;background:#e9e8d9}#promotion-options img{width:100%;display:block}.skip{position:fixed;top:-100px;left:20px;z-index:10;background:white;padding:12px}.skip:focus{top:10px}.noscript{padding:30px;text-align:center}
@media(max-width:1100px){.game-layout{gap:32px;padding:32px 24px 0}.game-header{padding:20px 25px}.status-card{padding:24px}.game-title h1{font-size:43px}.game-title .eyebrow{font-size:8px}.board-frame{padding:10px}.file-label,.rank-label{font-size:8px}}
@media(max-width:850px){.game-layout{grid-template-columns:minmax(0,1fr);max-width:700px;gap:25px}.game-panel{display:grid;grid-template-columns:1fr 1fr;gap:22px}.status-card{grid-column:1/-1;min-height:135px}.status-card h2{margin:12px 0 8px}.status-card p{max-width:none}.settings,.history-panel{margin:0}.privacy-note{grid-column:1/-1;margin:0}.game-header .free-label{display:none}.game-footer{margin-top:20px}.game-title{margin-bottom:18px}.game-title h1{font-size:47px}}
@media(max-width:520px){.game-header{min-height:77px;padding:16px;gap:12px}.brand{font-size:14px;gap:9px}.brand img{width:30px;height:30px}.brand small{font-size:6px;letter-spacing:2px}.back-link{font-size:10px}.game-layout{padding:25px 14px 0}.game-title{gap:10px;margin-bottom:14px}.game-title h1{font-size:39px}.game-title .eyebrow{font-size:6.5px;letter-spacing:1.4px}.icon-button{width:36px;height:36px}.board-frame{padding:7px;border-radius:10px}.player-line{padding:12px 1px;gap:9px}.player-line strong{font-size:11px}.player-line small{font-size:9px}.player-avatar{width:33px;height:33px;border-radius:10px}.color-label{font-size:9px;padding:5px 9px}.board-note{font-size:10px}.game-panel{display:block}.status-card{padding:23px}.settings{margin-top:25px}.history-panel{margin-top:23px}.privacy-note{margin-top:18px}.game-footer{padding:25px 16px;font-size:9px;gap:15px}.game-footer>span{width:100%}.square img{width:91%;height:91%}.file-label,.rank-label{font-size:6px}.square.capture-target:after{border-width:3px}.game-title h1 em{font-size:.97em}dialog{padding:23px}}
@media(min-width:851px) and (max-height:950px){.game-header{min-height:76px;padding:14px 32px}.game-layout{max-width:calc(min(660px,calc(100dvh - 280px)) + 424px);grid-template-columns:minmax(0,1fr) 320px;gap:40px;padding:24px 32px 0}.game-title{margin-bottom:12px}.game-title h1{font-size:39px;margin-top:8px}.game-title .eyebrow{font-size:7px;letter-spacing:1.2px}.player-line{padding:12px 2px}.player-avatar{width:33px;height:33px}.board-frame{padding:10px}.game-panel{padding-top:0}.status-card{padding:24px;min-height:150px}.status-card h2{font-size:24px}.settings{margin-top:22px}.board-note{font-size:10px}.game-footer{margin-top:25px}}
@media(min-width:600px) and (max-height:550px){.game-header{min-height:55px;padding:10px 20px}.game-layout{max-width:calc(100dvh + 158px);grid-template-columns:minmax(0,1fr) 260px;gap:22px;padding:14px 18px 0}.game-title{margin-bottom:6px}.game-title h1{font-size:28px;margin:0}.game-title .eyebrow{display:none}.icon-button{width:30px;height:30px;font-size:20px}.player-line{padding:7px 0;gap:7px}.player-avatar{width:25px;height:25px;font-size:19px;border-radius:7px}.human-avatar{font-size:7px}.player-line strong{font-size:10px}.player-line small{font-size:8px;margin-top:1px}.color-label{font-size:8px;padding:4px 7px}.board-frame{padding:5px;border-radius:7px}.file-label,.rank-label{font-size:5px}.game-panel{display:block;padding:0}.status-card{padding:18px;min-height:120px}.status-card h2{font-size:22px;margin:10px 0}.status-card p{font-size:10px}.settings{margin-top:20px}.settings h2{font-size:12px}.history-panel{margin-top:20px}.privacy-note{margin-top:15px}.board-note{font-size:8px}.brand{font-size:13px}.brand img{width:28px;height:28px}.brand small{font-size:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}


