:root{--ink:#081210;--panel:#102621;--fog:#324841;--bone:#e8e1ce;--brass:#c6a85b;--brass-bright:#d4b86a;--signal:#f05a3c;--lit-light:#3d5a4c;--lit-dark:#1a332c;--fog-base:#0b1613;--contour:#3248418c;color:var(--bone);background:var(--ink);font-family:IBM Plex Sans Condensed,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 82% 12%,color-mix(in srgb,var(--fog) 45%,transparent),transparent 33%),var(--ink);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;opacity:.3;background-image:repeating-radial-gradient(ellipse at 30% 75%,transparent 0 20px,var(--contour) 21px 22px,transparent 23px 43px),linear-gradient(115deg,transparent 49.8%,var(--contour) 50%,transparent 50.25%);background-size:400px 300px,120px 120px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0003,#000);mask-image:linear-gradient(#0003,#000)}button,a{font:inherit;color:inherit}button{cursor:pointer}a{text-decoration:none}.landing,.tutorial,.play{z-index:1;min-height:100vh;padding:28px clamp(24px,5vw,82px);position:relative}header{letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;height:36px;font-size:15px;display:flex}.wordmark{letter-spacing:-.09em;color:var(--brass);font-family:Unbounded,sans-serif;font-size:17px;font-weight:800}header a:not(.wordmark){color:var(--bone);opacity:.8}.hero-copy{z-index:2;max-width:760px;padding-top:11vh;position:relative}.eyebrow,small{letter-spacing:.17em;color:var(--brass);text-transform:uppercase;font-size:12px;font-weight:700}.hero-copy h1{letter-spacing:-.115em;color:var(--bone);text-shadow:3px 5px 0 color-mix(in srgb,var(--panel) 80%,transparent);margin:24px 0 31px -10px;font:800 clamp(72px,14vw,190px)/.76 Unbounded,sans-serif}.hero-copy h2{letter-spacing:-.075em;max-width:690px;margin:0;font:500 clamp(24px,3vw,42px)/1.13 Unbounded,sans-serif}.hero-actions{align-items:center;gap:27px;font-size:19px;display:flex}.primary{background:var(--brass);border:1px solid var(--brass-bright);color:var(--ink);text-transform:uppercase;letter-spacing:.08em;padding:14px 20px;font-weight:700}.hero-actions>a{text-underline-offset:5px;text-decoration:underline}.hero-board{opacity:.88;width:min(36vw,450px);position:absolute;top:18vh;right:6vw;transform:rotate(4deg);box-shadow:-30px 35px 80px #0008}.landing-bottom{border-top:1px solid color-mix(in srgb,var(--brass) 45%,transparent);justify-content:space-between;align-items:end;padding-top:15px;display:flex;position:absolute;bottom:26px;left:clamp(24px,5vw,82px);right:clamp(24px,5vw,82px)}.theme-picker{gap:13px;margin-top:9px;display:flex}.theme-picker button{text-transform:uppercase;opacity:.55;background:0 0;border:0;gap:4px;padding:0;font-size:12px;display:grid}.theme-picker button.active{opacity:1;color:var(--brass)}.swatch{background:var(--fog);width:42px;height:5px;display:block}.swatch.tide{background:#8eb4c9}.swatch.timber{background:#c9a227}.doctrine-picker{align-items:end;gap:8px;display:flex}.doctrine-picker>small{position:absolute;transform:translateY(-42px)}.doctrine-picker button{background:color-mix(in srgb,var(--panel) 65%,transparent);border:1px solid color-mix(in srgb,var(--brass) 24%,transparent);text-align:left;width:125px;padding:9px}.doctrine-picker button.active{border-color:var(--brass);background:var(--panel)}.doctrine-picker b{color:var(--brass);letter-spacing:.08em;font-size:12px;display:block}.doctrine-picker span{opacity:.72;margin-top:4px;font-size:11px;line-height:1.05;display:block}.board{aspect-ratio:1;background:var(--panel);border:1px solid color-mix(in srgb,var(--brass) 80%,transparent);width:min(72vh,100vw - 2rem,640px);box-shadow:0 0 0 6px color-mix(in srgb,var(--panel) 80%,transparent),0 22px 45px #0008;grid-template-columns:repeat(8,1fr);display:grid}.square{aspect-ratio:1;background:var(--lit-dark);border:0;place-items:center;min-width:0;padding:0;display:grid;position:relative;overflow:hidden}.square.light{background:var(--lit-light)}.square.hidden{background:linear-gradient(145deg,var(--fog-base),color-mix(in srgb,var(--fog) 63%,var(--fog-base)))}.square.hidden:after{content:"";opacity:.75;background:repeating-radial-gradient(at 20% 80%,#0000 0 12px,#0002 13px 15px);position:absolute;inset:-30%}.square.selected{box-shadow:inset 0 0 0 3px var(--brass-bright);z-index:2}.square.legal:before{content:"";aspect-ratio:1;border:2px solid var(--brass);z-index:2;border-radius:50%;width:22%;position:absolute}.piece{z-index:3;filter:drop-shadow(1px 2px #0008);font:clamp(26px,6vw,61px)/1 Georgia,serif;position:relative;transform:translateY(-2%)}.piece.w{color:var(--bone);text-shadow:-1px 0 var(--panel),0 1px var(--panel),1px 0 var(--panel),0 -1px var(--panel)}.piece.b{color:var(--ink);text-shadow:-1px 0 var(--brass),0 1px var(--brass),1px 0 var(--brass),0 -1px var(--brass)}.ghost-piece{opacity:.43}.memory-age{z-index:4;color:var(--brass);font-size:9px;position:absolute;top:3px;right:4px}.occupied{color:var(--brass);opacity:.65;z-index:3}.rank-label,.file-label{color:var(--brass);z-index:5;opacity:.8;font-size:10px;position:absolute}.rank-label{top:2px;left:3px}.file-label{bottom:1px;right:3px}.square.shake{animation:.42s linear shake}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.high-clarity .hidden{filter:contrast(1.4)}.play{padding-bottom:42px}.play header{border-bottom:1px solid color-mix(in srgb,var(--brass) 35%,transparent);height:auto;padding-bottom:21px}.match-title{letter-spacing:.18em;color:var(--brass);font-size:12px}.play-layout{grid-template-columns:minmax(400px,640px) minmax(255px,360px);justify-content:center;align-items:start;gap:clamp(35px,7vw,100px);padding-top:46px;display:grid}.board-meta{color:var(--brass);letter-spacing:.14em;justify-content:space-between;margin:0 0 12px;font-size:12px;font-weight:700;display:flex}.board-wrap{position:relative}.belief-map{z-index:5;pointer-events:none;position:absolute;inset:0}.belief-map i{background:var(--signal);opacity:.4;width:15px;height:15px;box-shadow:0 0 14px var(--signal);border-radius:100%;position:absolute}.match-hud{border-left:1px solid color-mix(in srgb,var(--brass) 40%,transparent);min-height:500px;padding-left:25px}.hud-status{letter-spacing:-.06em;font:700 14px Unbounded,sans-serif}.pulse{background:var(--signal);width:8px;height:8px;box-shadow:0 0 10px var(--signal);border-radius:50%;margin-right:8px;display:inline-block}.doctrine-readout{border-bottom:1px solid color-mix(in srgb,var(--brass) 25%,transparent);padding:25px 0 18px}.doctrine-readout small{display:block}.doctrine-readout strong{letter-spacing:-.08em;margin:7px 0;font:700 23px Unbounded,sans-serif;display:block}.doctrine-readout em{opacity:.65;font-size:14px;font-style:normal}.hud-controls{gap:8px;padding:17px 0;font-size:14px;display:grid}.hud-controls input{accent-color:var(--brass)}.signal{background:color-mix(in srgb,var(--panel) 80%,transparent);border-left:3px solid var(--signal);padding:11px 13px}.signal p{margin:6px 0 0;font-size:15px;line-height:1.15}.move-list>div{border-bottom:1px solid color-mix(in srgb,var(--brass) 12%,transparent);gap:9px;padding:4px 0;font-size:14px;display:flex}.move-list span{opacity:.5;width:25px}.move-list b{font-weight:500}.empty{opacity:.5;font-size:14px}.move-badge{margin-left:auto;font-weight:700}.move-badge.brilliant{color:#7ec8ff}.move-badge.best{color:#6bcb77}.move-badge.good{color:#9ccc65}.move-badge.inaccuracy{color:#ffd54f}.move-badge.mistake{color:#ffb74d}.move-badge.blunder{color:var(--signal)}.hud-actions{gap:8px;display:flex}.hud-actions button{text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--brass);background:0 0;padding:9px 12px;font-size:11px}.hud-actions .danger-button{border-color:color-mix(in srgb,var(--signal) 70%,transparent);color:var(--signal)}.danger-button:disabled{opacity:.35}.modal-backdrop,.victory{z-index:100;background:#030806d9;place-items:center;display:grid;position:fixed;inset:0}.promotion-modal{background:var(--panel);border:1px solid var(--brass);text-align:center;padding:31px}.promotion-modal h2{letter-spacing:-.08em;font:700 24px Unbounded,sans-serif}.promotion-modal button{aspect-ratio:1;background:var(--lit-dark);border:1px solid var(--brass);width:70px}.victory{text-align:center}.victory h1{letter-spacing:-.11em;margin:16px;font:800 clamp(42px,7vw,92px)/.9 Unbounded,sans-serif}.victory p{color:var(--brass);font-size:20px}.victory>div{justify-content:center;gap:12px;display:flex}.victory button{border:1px solid var(--brass);text-transform:uppercase;letter-spacing:.1em;background:0 0;padding:12px 15px;font-size:12px}.post-reveal{z-index:110;background:var(--ink);flex-direction:column;align-items:center;padding:32px;display:flex;position:fixed;inset:0;overflow:auto}.post-reveal>button{color:var(--brass);background:0 0;border:0;align-self:flex-end;font-size:16px}.post-reveal h2{letter-spacing:-.1em;margin:13px;font:700 28px Unbounded,sans-serif}.post-reveal p{color:var(--brass);margin-top:0}.tutorial{max-width:1250px;margin:auto}.tutorial h1{letter-spacing:-.11em;margin:55px 0 46px;font:800 clamp(52px,9vw,120px)/.88 Unbounded,sans-serif}.tutorial-steps{border-top:1px solid var(--brass);grid-template-columns:repeat(5,1fr);display:grid}.tutorial-steps article{border-right:1px solid color-mix(in srgb,var(--brass) 40%,transparent);margin-right:18px;padding:17px 19px 25px 0}.tutorial-steps span{color:var(--brass);font:700 13px Unbounded,sans-serif}.tutorial-steps h2{letter-spacing:-.08em;font:700 20px/1 Unbounded,sans-serif}.tutorial-steps p{opacity:.75;line-height:1.2}.start-link{margin-top:40px;display:inline-block}@media (width<=800px){.landing{padding-bottom:215px}.hero-copy{padding-top:10vh}.hero-board{opacity:.45;width:330px;top:52vh;right:-75px}.landing-bottom{display:block}.doctrine-picker{margin-top:30px}.doctrine-picker button{width:23vw}.play-layout{grid-template-columns:1fr;padding-top:28px}.match-hud{border-left:0;border-top:1px solid var(--brass);padding:24px 0}.board{width:calc(100vw - 48px)}.tutorial-steps{grid-template-columns:1fr}.tutorial-steps article{border-bottom:1px solid color-mix(in srgb,var(--brass) 40%,transparent)}.match-title{display:none}.hero-copy h1{font-size:25vw}.doctrine-picker span{display:none}}.doctrine-picker{flex-wrap:wrap;justify-content:flex-end;max-width:540px}.doctrine-picker>small{width:100%;margin-bottom:1px;position:static;transform:none}.doctrine-picker button{min-height:57px}.doctrine-picker span{overflow-wrap:anywhere;line-height:1.15}.hero-board .board{width:100%;max-width:100%}.hero-board{transform:none}@media (width<=800px){.doctrine-picker{justify-content:initial;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;margin-top:30px;display:grid}.doctrine-picker>small{grid-column:1/-1}.doctrine-picker button{width:auto;min-height:64px}.doctrine-picker span{display:block}.landing{padding-bottom:32px}.landing-bottom{margin-top:clamp(150px,25vh,250px);position:relative;inset:auto}.hero-board .board{width:100%}.hero-board{width:min(82vw,330px);right:clamp(16px,8vw,48px)}}@media (width<=480px){.landing,.tutorial,.play{padding-left:16px;padding-right:16px}.hero-actions{flex-wrap:wrap;gap:16px}.hero-copy h2{font-size:clamp(22px,7vw,29px)}.board{width:calc(100vw - 32px)}.wordmark{font-size:15px}.landing-bottom{margin-top:150px}.theme-picker{gap:11px}.doctrine-picker{gap:6px}.doctrine-picker button{padding:8px;font-size:12px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.1ms!important;animation-duration:.1ms!important}}:root{--ink:#0b1210;--panel:#14211b;--fog:#52635a;--bone:#edf0e6;--brass:#c8a45b;--brass-bright:#dec17c;--signal:#d96b52;--lit-light:#6f8879;--lit-dark:#29483c;--fog-base:#101a16;--contour:#6c88772b;font-family:Instrument Sans,sans-serif}:root[data-theme=tide]{--ink:#0a1118;--panel:#142433;--fog:#536e7d;--bone:#eaf0f2;--brass:#9abed0;--brass-bright:#c0d6df;--signal:#d66b57;--lit-light:#668496;--lit-dark:#203e4d;--fog-base:#0c171e;--contour:#82a8b829}:root[data-theme=timber]{--ink:#17110c;--panel:#281b13;--fog:#76604a;--bone:#f1eadc;--brass:#d0a553;--brass-bright:#e4c274;--signal:#d16848;--lit-light:#a88764;--lit-dark:#4e3826;--fog-base:#20150d;--contour:#b4916726}body{background:radial-gradient(ellipse at 78% 8%,color-mix(in srgb,var(--fog) 23%,transparent),transparent 37%),var(--ink);letter-spacing:-.01em}body:before{opacity:.18;background-size:540px 380px,160px 160px}.landing,.tutorial,.play{padding:34px clamp(28px,5vw,84px)}header{letter-spacing:.1em;font-family:IBM Plex Mono,monospace;font-size:11px}.wordmark{letter-spacing:-.075em;font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:700}.hero-copy{max-width:600px;padding-top:14vh}.eyebrow,small{letter-spacing:.14em;font-family:IBM Plex Mono,monospace;font-size:10px}.hero-copy h1{letter-spacing:-.095em;text-shadow:none;margin:23px 0 31px -7px;font:600 clamp(68px,9vw,132px)/.84 Space Grotesk,sans-serif}.hero-copy h2{letter-spacing:-.065em;max-width:550px;font:500 clamp(30px,3vw,44px)/1.05 Space Grotesk,sans-serif}.rule{color:color-mix(in srgb,var(--brass-bright) 88%,var(--bone));margin:25px 0 30px;font-size:18px}.hero-actions{gap:22px;font-size:16px}.primary{letter-spacing:.1em;border:0;border-radius:2px;padding:16px 20px;font-family:IBM Plex Mono,monospace;font-size:12px;box-shadow:0 8px 25px #0003}.primary span{padding-left:20px;font-size:18px}.hero-board{opacity:.95;width:min(32vw,420px);top:20vh;right:7vw;box-shadow:0 18px 50px #0008}.landing-bottom{border-color:color-mix(in srgb,var(--brass) 34%,transparent);padding-top:19px;bottom:32px}.theme-picker{gap:16px}.theme-picker button{font-family:IBM Plex Mono,monospace;font-size:10px}.swatch{width:46px;height:3px}.doctrine-picker{gap:9px;max-width:520px}.doctrine-picker button{border-color:color-mix(in srgb,var(--brass) 28%,transparent);background:color-mix(in srgb,var(--panel) 72%,transparent);width:122px;min-height:62px;padding:11px}.doctrine-picker b{font-family:IBM Plex Mono,monospace;font-size:10px}.doctrine-picker span{font:12px/1.2 Instrument Sans,sans-serif}.board{border-color:color-mix(in srgb,var(--brass) 62%,transparent);box-shadow:0 0 0 5px color-mix(in srgb,var(--panel) 55%,transparent),0 22px 45px #0008}.piece{filter:drop-shadow(1px 2px #000a)}.play-layout{gap:clamp(42px,7vw,94px)}.match-hud{padding-left:30px}.hud-status,.doctrine-readout strong,.tutorial h1,.tutorial-steps h2{font-family:Space Grotesk,sans-serif}.hud-status{letter-spacing:-.04em;font-size:13px}.doctrine-readout strong{font-size:21px}.signal p{font-size:16px;line-height:1.35}.hud-controls,.move-list>div{font-size:15px}.tutorial h1{letter-spacing:-.09em;font-size:clamp(52px,8vw,108px)}.tutorial-steps p{font-size:16px;line-height:1.4}.victory h1{letter-spacing:-.08em;font-family:Space Grotesk,sans-serif}@media (width<=800px){.landing,.tutorial,.play{padding:24px}.hero-copy{padding-top:12vh}.hero-board{opacity:.42;width:min(78vw,330px);top:48vh;right:clamp(16px,7vw,38px)}.landing-bottom{margin-top:clamp(145px,23vh,220px)}.doctrine-picker button{width:auto}.match-hud{padding-left:0}.tutorial h1{margin-top:44px}}@media (width<=480px){.landing,.tutorial,.play{padding:18px}.hero-copy{padding-top:10vh}.hero-copy h1{font-size:clamp(64px,20vw,84px)}.hero-copy h2{font-size:29px}.hero-board{width:78vw;top:52vh;right:16px}.landing-bottom{margin-top:145px}.hero-actions{font-size:15px}.primary{padding:15px 16px}.theme-picker{gap:12px}.doctrine-picker button{min-height:66px}}.move-list{min-height:0;margin-top:28px}.move-list-title{border-bottom:1px solid color-mix(in srgb,var(--brass) 25%,transparent);justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:12px;padding-bottom:9px;display:flex!important}.move-list-title>span{letter-spacing:.08em;color:color-mix(in srgb,var(--brass) 74%,transparent);white-space:nowrap;font:10px/1 IBM Plex Mono,monospace}.move-list-entries{overscroll-behavior:contain;scrollbar-color:color-mix(in srgb,var(--brass) 72%,transparent) color-mix(in srgb,var(--panel) 68%,transparent);scrollbar-width:thin;max-height:300px;padding:0 10px 0 0;overflow-y:auto;display:block!important}.move-list-entries>div{border-bottom:1px solid color-mix(in srgb,var(--brass) 16%,transparent);align-items:center;gap:12px;padding:9px 2px;font-size:15px;line-height:1.2;display:flex!important}.move-list-entries span{opacity:.58;flex:0 0 34px;width:auto}.move-list-entries b{min-width:0;font-weight:500}.move-list-entries .move-badge{margin-left:auto;padding-left:8px}@media (width<=800px){.move-list{margin-top:32px}.move-list-entries{max-height:278px}.move-list-entries>div{padding-block:10px}}.match-debrief{z-index:120;background:radial-gradient(ellipse at 78% 5%,color-mix(in srgb,var(--fog) 22%,transparent),transparent 38%),var(--ink);color:var(--bone);padding:clamp(24px,5vw,72px);position:fixed;inset:0;overflow-y:auto}.debrief-shell{max-width:1260px;margin:0 auto;padding-bottom:44px}.debrief-header{border-bottom:1px solid color-mix(in srgb,var(--brass) 38%,transparent);justify-content:space-between;align-items:center;height:auto;padding-bottom:20px;display:flex}.debrief-header a{letter-spacing:.08em;text-transform:uppercase;color:var(--brass);text-underline-offset:5px;font:11px IBM Plex Mono,monospace;text-decoration:underline}.debrief-intro{max-width:720px;padding:clamp(34px,6vw,72px) 0 clamp(30px,4vw,48px)}.debrief-intro .eyebrow{margin:0 0 13px}.debrief-intro h1{letter-spacing:-.09em;margin:0;font:600 clamp(48px,8vw,104px)/.88 Space Grotesk,sans-serif}.debrief-intro>p:last-child{color:color-mix(in srgb,var(--bone) 76%,transparent);margin:16px 0 0;font-size:18px;line-height:1.45}.debrief-grid{grid-template-columns:minmax(360px,1.18fr) minmax(330px,.82fr);align-items:start;gap:clamp(42px,7vw,96px);display:grid}.debrief-section-title{border-bottom:1px solid color-mix(in srgb,var(--brass) 28%,transparent);justify-content:space-between;align-items:baseline;gap:16px;padding:0 0 12px;display:flex!important}.debrief-section-title>span{letter-spacing:.1em;color:color-mix(in srgb,var(--brass) 72%,transparent);white-space:nowrap;font:10px IBM Plex Mono,monospace}.debrief-position>.board{width:min(63vh,100%);margin-top:20px}.debrief-report{border-left:1px solid color-mix(in srgb,var(--brass) 35%,transparent);padding-left:clamp(24px,4vw,48px)}.result-callout{gap:9px;padding:0 0 28px;display:grid}.result-callout strong{letter-spacing:-.065em;font:500 clamp(25px,3vw,38px)/1 Space Grotesk,sans-serif}.result-callout span{color:color-mix(in srgb,var(--bone) 70%,transparent);font-size:15px;line-height:1.35}.debrief-metrics{border-top:1px solid color-mix(in srgb,var(--brass) 28%,transparent);border-bottom:1px solid color-mix(in srgb,var(--brass) 28%,transparent);grid-template-columns:repeat(3,1fr);gap:10px;padding:22px 0;display:grid}.debrief-metrics div{gap:8px;display:grid}.debrief-metrics b{font:500 27px/1 Space Grotesk,sans-serif}.debrief-record{margin-top:29px}.debrief-record-entries{overscroll-behavior:contain;scrollbar-color:color-mix(in srgb,var(--brass) 70%,transparent) transparent;scrollbar-width:thin;max-height:270px;padding-right:10px;overflow-y:auto}.debrief-record-entries>div{border-bottom:1px solid color-mix(in srgb,var(--brass) 15%,transparent);align-items:center;gap:12px;padding:10px 2px;font-size:15px;display:flex}.debrief-record-entries span{opacity:.58;flex:0 0 34px}.debrief-record-entries b{font-weight:500}.debrief-record-entries .move-badge{margin-left:auto}.debrief-record-entries p{opacity:.62;font-size:15px}.debrief-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:36px;display:flex}.debrief-actions .primary{align-items:center;gap:24px;display:inline-flex}.debrief-actions .primary span{padding:0}.debrief-actions a{text-underline-offset:5px;color:var(--bone);font-size:15px;text-decoration:underline}@media (width<=800px){.match-debrief{padding:24px 18px}.debrief-intro{padding:44px 0 34px}.debrief-grid{grid-template-columns:1fr;gap:42px}.debrief-position>.board{width:100%;margin-top:18px}.debrief-report{border-left:0;border-top:1px solid color-mix(in srgb,var(--brass) 35%,transparent);padding:30px 0 0}.debrief-record-entries{max-height:300px}.debrief-metrics b{font-size:25px}}.primary,.victory .primary{background:var(--brass);color:var(--ink);border:1px solid var(--brass-bright);text-shadow:none}.primary:hover,.victory .primary:hover{background:var(--brass-bright);color:var(--ink)}button:focus-visible,a:focus-visible{outline:3px solid var(--brass-bright);outline-offset:4px}.victory .primary{box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 20%,transparent),0 10px 28px #0007}.replay-controls{justify-content:space-between;align-items:center;gap:18px;padding-top:18px;display:flex}.replay-controls>div:first-child{gap:5px;display:grid}.replay-controls strong{font:500 19px/1 Space Grotesk,sans-serif}.replay-buttons{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.replay-buttons button{border:1px solid color-mix(in srgb,var(--brass) 50%,transparent);min-height:33px;color:var(--bone);letter-spacing:.05em;text-transform:uppercase;background:0 0;padding:7px 9px;font:10px IBM Plex Mono,monospace}.replay-buttons button:hover:not(:disabled),.replay-buttons .replay-play{background:var(--brass);border-color:var(--brass);color:var(--ink)}.replay-buttons button:disabled{opacity:.32;cursor:not-allowed}.square.replay-from{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brass) 65%,transparent)}.square.replay-to{box-shadow:inset 0 0 0 3px var(--brass-bright)}.replay-piece{z-index:8;aspect-ratio:1;pointer-events:none;place-items:center;width:12.5%;animation:.22s cubic-bezier(.2,.8,.2,1) both replay-slide;display:grid;position:absolute}.replay-piece .piece{font:clamp(26px,6vw,61px)/1 Georgia,serif}@keyframes replay-slide{0%{transform:translate(calc(var(--replay-dx) * 100%),calc(var(--replay-dy) * 100%));opacity:1}to{opacity:1;transform:translate(0)}}.debrief-record-entries>button{border:0;border-bottom:1px solid color-mix(in srgb,var(--brass) 15%,transparent);width:100%;color:var(--bone);font:inherit;text-align:left;background:0 0;align-items:center;gap:12px;padding:10px 2px;display:flex}.debrief-record-entries>button:hover,.debrief-record-entries>button.active{background:color-mix(in srgb,var(--brass) 12%,transparent)}.debrief-record-entries>button span{opacity:.58;flex:0 0 34px}.debrief-record-entries>button b{font-weight:500}.debrief-record-entries>button .move-badge{margin-left:auto}@media (width<=800px){.replay-controls{gap:14px;display:grid}.replay-buttons{justify-content:flex-start}.replay-buttons button{padding:8px 10px}}@keyframes replay-destination{0%{opacity:0}99%{opacity:0}to{opacity:1}}.doctrine-picker button{flex-direction:column;justify-content:flex-start;height:88px;min-height:0;display:flex}.doctrine-picker b{flex:none}.doctrine-picker span{margin-top:7px}@media (width<=800px){.doctrine-picker button{height:92px}}.hero-actions .primary{justify-content:center;align-items:center;min-width:208px;display:inline-flex;position:relative}.hero-actions .primary .primary-label{font-size:inherit;white-space:nowrap;padding:0;position:absolute;left:50%;right:auto;transform:translate(-50%)}.hero-actions .primary .primary-arrow{padding:0;font-size:18px;position:absolute;right:20px}.belief-map i{transition:opacity .18s;transform:translate(-50%,-50%)}.belief-control{grid-template-columns:auto 1fr;align-items:center;column-gap:7px;display:grid}.belief-control>span{color:color-mix(in srgb,var(--bone) 60%,transparent);grid-column:2;font-size:12px;line-height:1.25}.fog-control{grid-template-columns:auto 1fr;align-items:center;column-gap:7px;display:grid}.fog-control>span{color:color-mix(in srgb,var(--bone) 60%,transparent);grid-column:2;font-size:12px;line-height:1.25}.high-clarity .square.hidden{filter:none;outline:1px solid color-mix(in srgb,var(--bone) 16%,transparent);outline-offset:-1px;background:linear-gradient(145deg,color-mix(in srgb,var(--fog-base) 82%,var(--fog)),color-mix(in srgb,var(--fog) 58%,var(--fog-base)))}.high-clarity .square.hidden:after{opacity:.32}.board{position:relative}.play>header{border:0;height:36px;padding-bottom:0;position:relative}.play>header:after{content:"";border-bottom:1px solid color-mix(in srgb,var(--brass) 35%,transparent);position:absolute;bottom:-21px;left:0;right:0}.play-layout{padding-top:55px}.marker-panel{border-top:1px solid color-mix(in srgb,var(--brass) 25%,transparent);border-bottom:1px solid color-mix(in srgb,var(--brass) 25%,transparent);margin:6px 0 22px;padding:18px 0}.marker-panel>div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.marker-panel>div:first-child button{color:var(--brass);letter-spacing:.08em;text-transform:uppercase;text-underline-offset:4px;background:0 0;border:0;padding:5px 0;font:10px IBM Plex Mono,monospace;text-decoration:underline}.marker-panel>div:first-child button:disabled{opacity:.35;text-decoration:none}.marker-panel p{color:color-mix(in srgb,var(--bone) 68%,transparent);margin:9px 0 13px;font-size:13px;line-height:1.35}.marker-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.marker-choices button{border:1px solid color-mix(in srgb,var(--brass) 38%,transparent);min-height:38px;color:var(--bone);letter-spacing:.04em;text-transform:uppercase;background:0 0;padding:8px 5px;font:10px IBM Plex Mono,monospace}.marker-choices button[aria-pressed=true]{background:var(--brass);border-color:var(--brass);color:var(--ink)}.board-mark{z-index:7;background:color-mix(in srgb,var(--ink) 78%,transparent);border:1px solid color-mix(in srgb,var(--brass-bright) 72%,transparent);min-width:19px;height:19px;color:var(--brass-bright);border-radius:50%;place-items:center;font:700 14px/1 IBM Plex Mono,monospace;display:grid;position:absolute;top:5px;right:5px;box-shadow:0 2px 7px #0008}.board-mark.flag{font-size:17px}.board-mark.question{color:var(--bone)}.board-mark.dot{font-size:21px;line-height:.6}@media (width<=800px){.marker-panel{margin-top:22px}.marker-choices button{min-height:42px}}.captured-material{border-top:1px solid color-mix(in srgb,var(--brass) 25%,transparent);border-bottom:1px solid color-mix(in srgb,var(--brass) 25%,transparent);margin:5px 0 22px;padding:16px 0}.captured-material>small{margin-bottom:12px;display:block}.captured-material>div{gap:10px;display:grid}.captured-tray{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;display:grid}.captured-tray>span{letter-spacing:.08em;color:var(--brass);font:10px IBM Plex Mono,monospace}.captured-tray>div{flex-wrap:wrap;align-items:center;gap:2px;min-height:25px;display:flex}.captured-tray .piece{filter:drop-shadow(1px 1px #0008);flex:0 0 25px;width:25px;height:25px;transform:none}.captured-tray .piece.cburnett,.captured-tray .piece.minimal{width:25px;height:25px}.captured-tray i{opacity:.45;color:var(--bone);font-style:normal}body:has(.match-debrief){overflow:hidden}.board-zone>.board-wrap>.board{width:100%;max-width:640px}@media (width<=1120px){.play-layout{grid-template-columns:minmax(0,640px);justify-content:center;gap:36px}.match-hud{border-left:0;border-top:1px solid color-mix(in srgb,var(--brass) 40%,transparent);min-height:0;padding:28px 0}}@media (width<=480px){.debrief-header{justify-content:stretch;align-items:start;gap:16px;display:grid}.debrief-header a{align-items:center;min-height:44px;display:flex}.landing-bottom{margin-top:100px}}.engine-readout{border:1px solid color-mix(in srgb,var(--brass) 35%,transparent);background:color-mix(in srgb,var(--panel) 86%,transparent);margin:0 0 17px;padding:13px}.engine-readout>div:first-child{color:var(--brass);letter-spacing:.12em;justify-content:space-between;gap:10px;font-size:10px;display:flex}.engine-readout>div:first-child span{opacity:.7}.engine-score{align-items:center;gap:9px;margin:9px 0;display:flex}.engine-score b{letter-spacing:-.08em;font:700 20px Unbounded,sans-serif}.move-badge{letter-spacing:.04em;white-space:nowrap;border-radius:2px;align-items:center;min-height:20px;margin-left:auto;padding:2px 6px;font-size:10px;display:inline-flex}.move-badge.best{color:#123a22;background:#6bcb77}.move-badge.excellent{color:#173c28;background:#a8d97b}.move-badge.good{color:#173c28;background:#c9dc82}.move-badge.inaccuracy{color:#4a3500;background:#ffd54f}.move-badge.mistake{color:#472100;background:#ffb74d}.move-badge.blunder{color:#fff0e8;background:var(--signal)}.engine-meter{background:linear-gradient(90deg,#a34f40 0 50%,#486f5b 50% 100%);border-radius:99px;height:7px;overflow:hidden}.engine-meter i{background:var(--paper);height:100%;box-shadow:0 0 10px color-mix(in srgb,var(--paper) 80%,transparent);transition:width .25s;display:block}.engine-readout p{opacity:.76;margin:8px 0 0;font-size:11px;line-height:1.35}.piece.detailed{justify-content:center;align-items:center;width:100%;height:100%;line-height:1;display:flex;transform:none}.piece.minimal{fill:currentColor;width:78%;height:78%;stroke:color-mix(in srgb,currentColor 76%,var(--ink));stroke-width:2px;stroke-linejoin:miter;filter:drop-shadow(1px 2px #0009);display:block;transform:none}.piece.minimal.w{color:var(--bone)}.piece.minimal.b{color:var(--ink);stroke:var(--brass)}.piece.minimal .facet{stroke:none}.piece.minimal.w .facet{fill:color-mix(in srgb,var(--panel) 76%,var(--bone))}.piece.minimal.b .facet{fill:color-mix(in srgb,var(--brass) 64%,var(--ink))}.piece.minimal .cut{fill:none;stroke:var(--ink);stroke-width:4px}.piece.minimal.b .cut{stroke:var(--brass)}.replay-piece .piece.minimal{width:78%;height:78%;font-size:initial}.landing-settings{align-items:end;gap:32px;display:flex}.piece-picker{gap:9px;display:grid}.piece-picker>div{gap:6px;display:flex}.piece-picker button{background:color-mix(in srgb,var(--panel) 70%,transparent);border:1px solid color-mix(in srgb,var(--brass) 28%,transparent);min-width:82px;min-height:39px;color:var(--bone);letter-spacing:.04em;text-transform:uppercase;justify-content:center;align-items:center;gap:6px;padding:7px 9px;font:10px IBM Plex Mono,monospace;display:flex}.piece-picker button.active{border-color:var(--brass);background:var(--panel);color:var(--brass-bright)}.piece-picker i{font:18px/1 Georgia,serif}.piece-picker i.minimal-preview{font:13px/1 sans-serif;transform:scaleX(1.35)}.piece-picker b{font-weight:700}@media (width<=800px){.landing-settings{align-items:start;gap:24px;margin-bottom:26px}.piece-picker{margin-top:0}}@media (width<=480px){.landing-settings{gap:24px;display:grid}.piece-picker button{min-width:100px;min-height:42px}}.replay-running .replay-to .piece,.replay-running.replay-backward.replay-capture .replay-from .piece{animation:.24s step-end both replay-destination}.replay-piece{animation-duration:.24s;animation-timing-function:cubic-bezier(.22,.85,.32,1)}@media (width<=800px){.landing .hero-board{opacity:.78;width:min(100%,330px);margin:clamp(42px,9vh,72px) auto 0;position:relative;inset:auto}.landing .landing-bottom{margin-top:34px}}.piece.detailed.piece-p{transform:translateY(-10%)}.piece.classic{width:100%;height:100%;color:var(--bone);fill:currentColor;stroke:color-mix(in srgb,var(--panel) 88%,#000);stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(1px 2px #0009);display:block;transform:none}.piece.classic.w{color:var(--bone)}.piece.classic.b{color:var(--ink);stroke:var(--brass)}.piece.classic .detail{fill:none;stroke:color-mix(in srgb,var(--panel) 84%,#000);stroke-width:2.1px}.piece.classic.b .detail{stroke:var(--brass)}.piece.classic .cut{fill:var(--panel);stroke:none}.piece.classic.b .cut{fill:var(--brass)}.replay-piece .piece.classic{width:100%;height:100%;font-size:initial}.piece.cburnett{object-fit:contain;filter:drop-shadow(1px 2px #0009);width:90%;height:90%;display:block;transform:none}.replay-piece .piece.cburnett{width:90%;height:90%;font-size:initial}.opponent-picker{gap:9px;min-width:260px;display:grid}.opponent-picker>div{gap:8px;display:flex}.opponent-picker button{text-align:left;background:color-mix(in srgb,var(--panel) 72%,transparent);border:1px solid color-mix(in srgb,var(--brass) 28%,transparent);min-height:62px;color:var(--bone);flex:1;padding:11px}.opponent-picker button.active{border-color:var(--brass);background:var(--panel)}.opponent-picker b{color:var(--brass);letter-spacing:.08em;font:700 10px IBM Plex Mono,monospace;display:block}.opponent-picker span{opacity:.8;margin-top:7px;font:12px/1.2 Instrument Sans,sans-serif;display:block}.elo-picker{gap:6px;display:grid!important}.elo-picker>small{letter-spacing:.12em;color:var(--brass);font:700 9px IBM Plex Mono,monospace}.elo-picker>div{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.elo-picker button{text-align:center;min-height:34px;padding:6px;font:700 10px IBM Plex Mono,monospace}.landing-bottom:has(.opponent-picker){align-items:end}@media (width<=1080px){.landing-bottom:has(.opponent-picker){grid-template-columns:1fr 1fr;gap:26px;display:grid}.opponent-picker{grid-column:2}.doctrine-picker{grid-column:1/-1;justify-content:flex-start}}@media (width<=800px){.landing-bottom:has(.opponent-picker){grid-template-columns:1fr;gap:24px;display:grid}.opponent-picker,.doctrine-picker{grid-column:auto}.opponent-picker button{min-height:68px}}.play-layout{overflow-anchor:none}@media (width>=801px){html{scrollbar-gutter:stable}}.landing:has(.opponent-picker){min-height:auto;padding-bottom:64px}.landing-bottom:has(.opponent-picker){grid-template-columns:minmax(0,1fr) minmax(300px,520px);justify-content:stretch;align-items:start;gap:30px 48px;margin-top:clamp(56px,9vh,96px);display:grid;position:relative;inset:auto}.landing-bottom:has(.opponent-picker) .landing-settings{align-self:start}.landing-bottom:has(.opponent-picker) .opponent-picker{grid-column:2}.landing-bottom:has(.opponent-picker) .doctrine-picker{grid-column:1/-1;justify-content:flex-start;max-width:none}@media (width<=800px){.landing:has(.opponent-picker){padding-bottom:36px}.landing-bottom:has(.opponent-picker){grid-template-columns:1fr;gap:26px;margin-top:54px;display:grid}:is(.landing-bottom:has(.opponent-picker) .opponent-picker,.landing-bottom:has(.opponent-picker) .doctrine-picker){grid-column:auto}}.live-room-link{color:var(--brass-bright);-webkit-text-decoration-color:var(--brass)!important;text-decoration-color:var(--brass)!important}.board-row{display:contents}.multiplayer-lobby,.room-fallback,.room-waiting{z-index:1;min-height:100vh;padding:34px clamp(28px,5vw,84px);position:relative}.multiplayer-lobby>header,.room-waiting>header{border-bottom:1px solid color-mix(in srgb,var(--brass) 34%,transparent);height:auto;padding-bottom:20px}.room-entry{width:min(1040px,100%);margin:clamp(64px,10vh,120px) auto 0}.room-entry>h1,.room-fallback h1{letter-spacing:-.085em;max-width:850px;margin:18px 0 22px;font:600 clamp(44px,7vw,88px)/.9 Space Grotesk,sans-serif}.room-lede{max-width:700px;color:color-mix(in srgb,var(--bone) 75%,transparent);font-size:19px;line-height:1.5}.room-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:45px;display:grid}.room-options article{background:color-mix(in srgb,var(--panel) 82%,transparent);border:1px solid color-mix(in srgb,var(--brass) 28%,transparent);flex-direction:column;align-items:flex-start;min-height:320px;padding:clamp(24px,4vw,42px);display:flex}.room-options article:first-child{border-color:color-mix(in srgb,var(--brass) 65%,transparent)}.room-options h2{letter-spacing:-.06em;margin:14px 0;font:500 clamp(25px,3vw,36px)/1.05 Space Grotesk,sans-serif}.room-options p{max-width:430px;min-height:54px;color:color-mix(in srgb,var(--bone) 69%,transparent);margin:0 0 28px;line-height:1.45}.room-options .primary,.room-options .line-button{justify-content:center;align-items:center;min-height:50px;margin-top:auto;display:flex}.room-options label{letter-spacing:.14em;width:100%;color:var(--brass);gap:8px;margin:0 0 14px;font:700 10px IBM Plex Mono,monospace;display:grid}.room-options input{border:1px solid color-mix(in srgb,var(--brass) 45%,transparent);background:color-mix(in srgb,var(--ink) 75%,transparent);width:100%;height:54px;color:var(--bone);letter-spacing:.18em;text-transform:uppercase;border-radius:0;outline:none;padding:0 16px;font:600 20px IBM Plex Mono,monospace}.room-options input:focus{border-color:var(--brass);box-shadow:0 0 0 3px color-mix(in srgb,var(--brass) 18%,transparent)}.line-button,.quiet-button{border:1px solid var(--brass);color:var(--bone);letter-spacing:.09em;text-transform:uppercase;background:0 0;padding:12px 16px;font:700 11px IBM Plex Mono,monospace}.line-button:disabled,.primary:disabled,.quiet-button:disabled{cursor:not-allowed;opacity:.45}.room-error{border-left:3px solid var(--signal);background:color-mix(in srgb,var(--panel) 82%,transparent);color:var(--bone);padding:13px 15px}.room-guardrails{border-top:1px solid color-mix(in srgb,var(--brass) 24%,transparent);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--bone) 63%,transparent);flex-wrap:wrap;gap:10px 24px;margin-top:25px;padding-top:20px;font:10px IBM Plex Mono,monospace;display:flex}.room-guardrails span:before{content:"✓";color:var(--brass);margin-right:8px}.room-fallback{flex-direction:column;justify-content:center;align-items:flex-start;max-width:940px;margin:auto;display:flex}.room-fallback>.wordmark{position:absolute;top:34px;left:clamp(28px,5vw,84px)}.room-fallback>p:not(.eyebrow):not(.room-error){color:color-mix(in srgb,var(--bone) 70%,transparent);font-size:18px;line-height:1.5}.room-fallback>.primary,.room-fallback>.line-button{align-items:center;margin:20px 0;display:inline-flex}.room-fallback>a:last-child{text-underline-offset:5px;margin-top:20px;text-decoration:underline}.room-waiting>header .wordmark,.multiplayer-match>header .wordmark{background:0 0;border:0;padding:0}.room-waiting>section{text-align:center;width:min(720px,100%);margin:clamp(70px,14vh,150px) auto 0}.room-waiting h1{letter-spacing:.08em;color:var(--brass-bright);margin:19px 0;font:600 clamp(54px,10vw,110px)/.9 IBM Plex Mono,monospace}.room-waiting section>p:not(.eyebrow){max-width:580px;color:color-mix(in srgb,var(--bone) 72%,transparent);margin:0 auto 30px;font-size:18px;line-height:1.5}.waiting-pulse{justify-content:center;gap:9px;margin-bottom:28px;display:flex}.waiting-pulse i{background:var(--brass);border-radius:100%;width:8px;height:8px;animation:1.3s ease-in-out infinite waiting}.waiting-pulse i:nth-child(2){animation-delay:.16s}.waiting-pulse i:nth-child(3){animation-delay:.32s}@keyframes waiting{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}.waiting-meta{border-block:1px solid color-mix(in srgb,var(--brass) 27%,transparent);grid-template-columns:repeat(3,1fr);margin:42px 0 25px;display:grid}.waiting-meta span{text-transform:uppercase;gap:9px;padding:18px 12px;font:500 15px IBM Plex Mono,monospace;display:grid}.waiting-meta span+span{border-left:1px solid color-mix(in srgb,var(--brass) 27%,transparent)}.room-hud-top{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:25px;display:grid}.room-hud-top>div{gap:5px;display:grid}.room-hud-top>div:last-child{text-align:right}.room-hud-top strong{letter-spacing:.08em;font:600 17px IBM Plex Mono,monospace}.room-hud-top .urgent{color:var(--signal)}.pulse.offline{background:var(--brass);box-shadow:none;animation:.9s ease-in-out infinite pulse-offline}@keyframes pulse-offline{50%{opacity:.3}}.room-captures{grid-template-columns:82px 1fr;align-items:center;gap:8px;display:grid}.room-captures>span{letter-spacing:.08em;color:color-mix(in srgb,var(--bone) 65%,transparent);font:700 9px IBM Plex Mono,monospace}.room-captures>div{flex-wrap:wrap;align-items:center;min-height:31px;display:flex}.room-captures .piece{width:28px;height:28px}.room-captures i{opacity:.45}.draw-offer{border:1px solid var(--brass);background:var(--panel);margin:20px 0;padding:16px}.draw-offer strong{margin-bottom:12px;display:block}.draw-offer>div{gap:8px;display:flex}.draw-offer button{border:1px solid var(--brass);min-height:40px;color:var(--bone);background:0 0;padding:8px 14px}.room-actions{flex-wrap:wrap;margin-top:20px}.room-actions .quiet-button{border-color:color-mix(in srgb,var(--bone) 22%,transparent);width:100%;color:color-mix(in srgb,var(--bone) 66%,transparent)}.multiplayer-hud .move-list{margin-top:26px}.multiplayer-match .board-zone{min-width:0}@media (width<=800px){.multiplayer-lobby,.room-fallback,.room-waiting{padding:24px}.room-entry{margin-top:60px}.room-options{grid-template-columns:1fr}.room-options article{min-height:290px}.room-waiting>section{margin-top:90px}.multiplayer-match>header>a:last-child{display:none}}@media (width<=480px){.multiplayer-lobby,.room-fallback,.room-waiting{padding:18px}.room-entry{margin-top:45px}.room-entry>h1,.room-fallback h1{font-size:43px}.room-lede,.room-options p{font-size:16px}.room-options article{padding:24px 19px}.room-options input{font-size:17px}.room-waiting h1{overflow-wrap:anywhere;font-size:42px}.waiting-meta{grid-template-columns:1fr}.waiting-meta span+span{border-left:0;border-top:1px solid color-mix(in srgb,var(--brass) 27%,transparent)}.room-hud-top{margin-top:5px}}body{min-width:0}.landing>header,.tutorial>header,.play>header,.multiplayer-match>header{height:44px;min-height:44px}header>a,header>button{align-items:center;min-height:44px;display:inline-flex}.hero-actions .primary{min-height:48px}.hero-actions>a{align-items:center;min-height:44px;display:inline-flex}.theme-picker button,.piece-picker button{min-height:44px}.theme-picker button{padding:6px 2px}.line-button,.quiet-button,.hud-actions button,.marker-choices button,.draw-offer button,.replay-buttons button{min-height:44px}.marker-panel>div:first-child button{min-height:44px;padding-inline:8px}.hud-controls input{width:20px;height:20px;margin:0}.copy-status{min-height:20px;color:var(--brass)!important;margin:10px 0 -30px!important;font:11px IBM Plex Mono,monospace!important}.leave-confirm section,.rematch-prompt section{background:var(--panel);border:1px solid var(--brass);width:min(460px,100vw - 36px);padding:30px;box-shadow:0 22px 70px #000b}.leave-confirm h2,.rematch-prompt h2{letter-spacing:-.055em;margin:10px 0;font:600 clamp(27px,5vw,38px)/1 Space Grotesk,sans-serif}.leave-confirm p,.rematch-prompt p{color:color-mix(in srgb,var(--bone) 72%,transparent);margin:0 0 24px;line-height:1.45}.leave-confirm section>div,.rematch-prompt section>div{flex-wrap:wrap;gap:10px;display:flex}.leave-confirm .danger-button{border:1px solid var(--signal);min-height:44px;color:var(--signal);letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:11px 16px;font:700 11px IBM Plex Mono,monospace}.rematch-prompt{z-index:140}.rematch-prompt .primary,.rematch-prompt .line-button{min-height:46px}.rematch-status{color:var(--brass);margin:14px 0 0;font:12px/1.4 IBM Plex Mono,monospace}@media (width<=800px){.multiplayer-match>header>a:last-child{font-size:10px;display:inline-flex}.multiplayer-match>header{gap:14px}.multiplayer-match .wordmark{margin-right:auto}}
