@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap");:root{--paper:#f3efe6;--ink:#242a24;--rust:#af4f2d;--muted:#747b6e;--line:#d6d6c8;--light:#e9e5d9;--dark:#b8c0a7;--font:"DM Sans",system-ui,sans-serif;--display:"Space Grotesk",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--font)}a{color:inherit;text-underline-offset:4px}header{max-width:1120px;margin:auto;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.home{text-decoration:none;font-size:13px}.home:hover{color:var(--rust)}.build-tag,.eyebrow,.panel-heading>span,.versus{font:10px/1.4 var(--display);letter-spacing:1.5px}.build-tag{color:var(--muted)}main{max-width:1020px;margin:auto;padding:44px 30px 24px}.intro{position:relative;margin-bottom:36px}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--rust)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--rust);flex-shrink:0}h1{font:700 clamp(52px,9vw,86px) / 1 var(--display);letter-spacing:-5px;margin:16px 0 18px}h1>span:first-child{color:var(--rust)}.mark{font-weight:400;font-size:.8em;position:absolute;right:0;top:0;color:#b7bda7}.intro p{margin:0;color:var(--muted);font-size:16px}.intro strong{font-weight:500;color:var(--ink)}.workspace{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,1fr);gap:36px}.players{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 0 14px}.players>span{display:flex;gap:8px;align-items:center;font:600 11px var(--display);letter-spacing:1px}.players .versus{font-size:9px;letter-spacing:1px;font-weight:400;color:var(--muted)}.board-wrap{position:relative}.board{display:grid;grid-template-columns:repeat(6,1fr);border:6px solid var(--ink);border-radius:5px;overflow:hidden;box-shadow:0 8px 0 #242a2412;aspect-ratio:1}.square{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:0;border-radius:0;background:var(--light);cursor:pointer;padding:0;touch-action:manipulation}.square.dark{background:var(--dark)}.square:disabled{cursor:default;opacity:1}.square.selected{box-shadow:inset 0 0 0 4px var(--rust)}.square.last{background:#cfc19f}.square.destination:after{content:"";position:absolute;width:23%;height:23%;border-radius:50%;background:var(--rust);opacity:.8;pointer-events:none}.square.destination:has(.pawn):after{width:90%;height:90%;border:3px solid var(--rust);background:transparent}.square:hover:not(:disabled){box-shadow:inset 0 0 0 2px #af4f2d99}.square:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:-3px}.pawn{width:59%;height:59%;border-radius:50%;display:inline-block;box-shadow:0 4px 0 #0003,inset 0 0 0 5px #ffffff18;transition:transform .2s ease}.pawn.white{background:#fffcf3;border:2px solid #8a8f7a;box-shadow:0 4px 0 #0002,inset 0 0 0 4px #e8e5d9}.pawn.black{background:#303b30;border:2px solid #1f291f}.pawn.small{width:14px;height:14px;border-width:1px;box-shadow:none}.selected .pawn{transform:translateY(-3px)}.square .coordinate{position:absolute;top:2px;left:5px;font-size:9px;color:#303b3066}.files{display:grid;grid-template-columns:repeat(6,1fr);text-align:center;font:11px var(--display);color:var(--muted);padding:14px 6px 0}.turn-line{display:flex;gap:8px;align-items:center;margin:20px 0 16px}.turn-line p{margin:0;font-weight:600;font-size:13px}.turn-line>span:last-child{margin-left:auto;color:var(--muted);font-size:11px}.game-controls{display:flex;gap:16px;align-items:end}.primary{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:12px 16px;border-radius:4px;font:500 13px var(--font);cursor:pointer;flex:1;text-align:left;min-height:44px}.primary span{float:right}.primary:disabled{opacity:.5;cursor:wait}label{display:flex;flex-direction:column;font-size:10px;color:var(--muted);gap:4px}select{font:500 13px var(--font);color:var(--ink);background:transparent;border:1px solid var(--line);padding:10px 12px;border-radius:4px;min-height:44px;max-width:100%;cursor:pointer}select:disabled{opacity:.5}.rules{font-size:12px;color:var(--muted);margin:18px 0 0;line-height:1.7}.rules strong{color:var(--ink);font-weight:500}.panel{border:1px solid var(--line);border-radius:5px;padding:22px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}h2{font:600 16px var(--display);margin:0;letter-spacing:-0.5px}.panel-heading>span{color:var(--muted);font-size:9px;letter-spacing:1px}.opponent-panel select#checkpoint{width:100%;font-size:15px;background:#ffffff40}.checkpoint-note{font-size:12px;color:var(--muted);margin:12px 0 18px;min-height:38px}.budget{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;gap:8px}.budget label{font-size:12px;color:var(--ink)}.budget select{font-size:11px;min-height:38px;padding:8px}.search-panel{margin-top:18px}.search-metrics{display:flex;justify-content:space-between}.search-metrics>div{display:flex;flex-direction:column}.search-metrics>div:last-child{text-align:right}.search-metrics span{color:var(--muted);font-size:11px}.search-metrics strong{font:500 30px var(--display);letter-spacing:-1px}.meter{height:4px;border-radius:3px;background:#d6d6c8;margin:14px 0;overflow:hidden}.meter>div{background:var(--rust);height:100%;width:50%;transition:width .2s}.search-caption{font-size:11px;color:var(--muted);margin:12px 0}.candidate{display:grid;grid-template-columns:65px 1fr 35px;gap:10px;align-items:center;font-size:11px;margin:9px 0}.candidate:first-child{color:var(--rust);font-weight:700}.bar{height:7px;border-radius:2px;background:var(--line);overflow:hidden}.bar>i{display:block;height:100%;background:#80896f}.candidate:first-child .bar>i{background:var(--rust)}.candidate>span:last-child{text-align:right}.empty-search{font:12px var(--display);color:var(--muted);padding:14px 0}.timing{font-size:10px;color:var(--muted);margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.learning{margin-top:36px}.learning-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.learning-head p{font-size:13px;color:var(--muted);margin:0}.learning-head strong{color:var(--ink);font-weight:500}.legend{display:flex;gap:14px;font-size:10px;color:var(--muted);flex-wrap:wrap}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.rust{background:var(--rust)}.muted{background:#929d80}#chart svg{display:block;width:100%;height:auto;max-height:230px;margin-top:12px}#chart text{font-family:var(--font);font-size:11px;fill:var(--muted)}.evidence{font-size:11px;color:var(--muted);margin:12px 0 6px}.data-link{font-size:11px;color:var(--rust)}.explanation{margin:18px 0 0}summary{display:flex;justify-content:space-between;cursor:pointer;font:500 15px var(--display);list-style:none}summary::-webkit-details-marker{display:none}.plus{color:var(--rust);font-size:20px;line-height:1}.explanation[open] .plus{transform:rotate(45deg)}.explanation p{font-size:13px;max-width:780px;color:var(--muted)}.explanation p strong{color:var(--ink)}.flow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0}.flow span{padding:8px 12px;background:#e5e5d8;border-radius:4px;font:12px var(--display)}.flow b{color:var(--rust);font-weight:400}footer{display:flex;justify-content:space-between;gap:12px;margin-top:28px;font-size:10px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}body.thinking #turn-dot{animation:pulse .8s infinite alternate}@keyframes pulse{to{opacity:.3}}@media(max-width:720px){header{padding:16px 20px}.build-tag{font-size:8px}main{padding:28px 20px 20px}.intro{margin-bottom:26px}.intro p{font-size:14px}h1{letter-spacing:-3px}.workspace{grid-template-columns:1fr;gap:24px}.game-panel{max-width:460px;width:100%;margin:auto}.panel{padding:18px}aside{display:grid;grid-template-columns:1fr;gap:14px}.search-panel{margin:0}.learning{margin-top:24px}.learning-head{display:block}.legend{margin-top:12px}.learning-head p{font-size:12px}.flow{gap:8px}.flow span{padding:6px 8px}footer{display:block}footer span{display:block}.pawn{box-shadow:0 3px 0 #0003}.players .versus{font-size:8px}.candidate{margin:8px 0}}@media(min-width:450px) and (max-width:720px){aside{grid-template-columns:1fr 1fr;gap:14px}.panel-heading{flex-wrap:wrap;gap:5px}.budget{align-items:start;flex-direction:column}.checkpoint-note{min-height:58px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.pawn.moving{animation:move-pawn 180ms ease-out}@keyframes move-pawn{from{transform:translate(var(--dx),var(--dy))}to{transform:translate(0,0)}}.mode-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.mode-controls label{font-size:11px;color:var(--ink)}.mode-controls select{font-size:12px}.history-controls{display:flex;align-items:center;gap:8px;margin-top:12px}.history-controls button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 14px;min-height:44px;border-radius:4px;font:12px var(--font);cursor:pointer}.history-controls button:disabled{opacity:.4;cursor:default}.history-controls span{margin-left:auto;font-size:10px;color:var(--muted)}body.local #checkpoint,body.local .budget,body.local .game-controls label{display:none}body.local .search-metrics,body.local .meter{display:none}.game-result[hidden]{display:none}.game-result{display:grid;grid-template-columns:auto 1fr;gap:12px 16px;align-items:center;margin:0 0 18px;padding:22px;border:2px solid #af4f2d;background:#f2ded1;border-radius:8px;animation:result-appear .25s ease-out}.game-result[data-outcome="win"],.game-result[data-outcome="local"]{border-color:#526843;background:#e1ead7}.result-icon{font-size:42px;color:#af4f2d}.game-result[data-outcome="win"] .result-icon,.game-result[data-outcome="local"] .result-icon{color:#526843}.result-kicker{font-size:11px;font-weight:700;letter-spacing:.15em}.game-result h2{font-size:clamp(24px,4vw,34px);line-height:1.15;margin:5px 0 8px}.game-result p{font-size:13px;line-height:1.5;margin:0}.game-result button{grid-column:1 / -1;width:100%}.value-note{font-size:11px;opacity:.7;margin-top:10px}.legend-dot.search{background:#425f88}.legend{flex-wrap:wrap}@keyframes result-appear{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.game-result{animation:none}}.local #difficulty-note,.local #training-note,.local .value-note{display:none}#chart{overflow-x:auto}#chart text{font-size:14px}@media(max-width:600px){#chart svg{min-width:650px}}