:root{--sans:system-ui, "Segoe UI", Roboto, -apple-system, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--page-bg:#15161a;font:16px/1.45 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{--page-bg:#f4f4f2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{min-height:100dvh;margin:0}#root{min-height:100dvh}button:focus-visible,[role=gridcell]:focus-visible{outline-offset:2px;outline:2px solid #4a90d9}:root{--board-selected:#ffd64eb8;--board-last:#ffd64e61;--board-check:radial-gradient(circle, #e63c32e6 12%, transparent 72%);--board-light:#c3c8ad;--board-dark:#5f7943;--panel:#1e1f25;--panel-border:#33353f;--ink:#f1f2f5;--ink-soft:#9ea2ae;--accent:#8fbf6a}:root[data-theme=light]{--board-light:#ebecd0;--board-dark:#779556;--panel:#fff;--panel-border:#e3e3e6;--ink:#1c1c1f;--ink-soft:#6b6b73;--accent:#5b8c3e}.app{max-width:1100px;color:var(--ink);text-align:left;box-sizing:border-box;margin:0 auto;padding:clamp(1rem,3vw,2rem)}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;display:flex}.app-header h1{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:.45rem;margin:0;font-size:clamp(1.6rem,4vw,2.2rem);display:flex}.piece-svg.brand-piece{flex-shrink:0;width:.9em;height:.9em}.header-right{align-items:center;gap:.9rem;display:flex}.status{color:var(--ink-soft);margin:0;font-size:1rem}.theme-toggle{border:1px solid var(--panel-border);background:var(--panel);width:2.25rem;height:2.25rem;color:var(--ink-soft);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 8%, var(--panel))}.status.final{color:var(--ink);font-weight:600}.layout{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:clamp(1rem,3vw,2rem);display:grid}@media (width<=860px){.layout{grid-template-columns:minmax(0,1fr)}}.board-column{flex-direction:column;gap:.5rem;min-width:0;display:flex}.board-wrap{border-radius:8px;width:round(down,100%,8px);margin-inline:auto;overflow:hidden;box-shadow:0 8px 24px #00000029}@supports not (width:round(down, 100%, 8px)){.board-wrap{width:100%}}.board{aspect-ratio:1;touch-action:manipulation;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));width:100%;display:grid}.square{-webkit-user-select:none;user-select:none;cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.square.light{background:var(--board-light)}.square.dark{background:var(--board-dark)}.square.last-move:before{content:"";background:var(--board-last);position:absolute;inset:0}.square.selected:before{content:"";background:var(--board-selected);position:absolute;inset:0}.square.in-check:before{content:"";background:var(--board-check);position:absolute;inset:0}.square.drag-over{outline-offset:-3px;outline:3px solid #ffffffd9}.piece{z-index:2;cursor:grab;justify-content:center;align-items:center;width:82%;height:82%;display:flex;position:relative}.piece:active{cursor:grabbing}.piece-svg{stroke-linejoin:round;stroke-width:1.1px;width:100%;height:100%;display:block}.piece-svg.white{fill:#fdfdfd;stroke:#23231f}.piece-svg.black{fill:#22221f;stroke:#e9e9e4}.piece-svg.white .piece-slit{stroke:#23231f}.piece-svg.black .piece-slit{stroke:#e9e9e4}.target-dot{z-index:1;pointer-events:none;background:#14141447;border-radius:50%;width:28%;height:28%;position:absolute}.square.capture-target .target-dot{box-sizing:border-box;background:0 0;border:6px solid #14141442;width:88%;height:88%}.coord{z-index:3;opacity:.65;pointer-events:none;font-size:.62rem;font-weight:600;position:absolute}.square.light .coord{color:var(--board-dark)}.square.dark .coord{color:var(--board-light)}.coord.rank{top:2px;left:3px}.coord.file{bottom:1px;right:4px}.player-strip{align-items:center;gap:.6rem;min-height:1.75rem;font-size:.9rem;display:flex}.player-name{color:var(--ink);font-weight:600}.captured{align-items:center;gap:.4rem;min-width:0;display:flex}.captured-glyphs{flex-wrap:wrap;align-items:center;display:flex}.piece-svg.captured-piece{flex-shrink:0;width:1.15rem;height:1.15rem;margin-right:-.3rem}.edge{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.8rem}.side-panel{flex-direction:column;gap:1rem;min-width:0;display:flex}.controls{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;gap:.85rem;padding:1rem;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}.field-label{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);font-size:.72rem;font-weight:600}.segmented{border:1px solid var(--panel-border);border-radius:8px;display:flex;overflow:hidden}.segmented button{font:inherit;border:0;border-right:1px solid var(--panel-border);color:var(--ink-soft);cursor:pointer;background:0 0;flex:1;padding:.45rem .3rem;font-size:.85rem}.segmented button:last-child{border-right:0}.segmented button:hover{background:#7f7f7f1f}.segmented button.active{background:var(--accent);color:#fff;font-weight:600}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.actions button{font:inherit;border:1px solid var(--panel-border);color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;flex:auto;padding:.5rem .75rem;font-size:.85rem}.actions button:hover:not(:disabled){background:#7f7f7f1f}.actions button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.actions button:disabled{opacity:.45;cursor:not-allowed}.engine-readout{min-height:1.4rem;color:var(--ink-soft);align-items:center;font-size:.85rem;display:flex}.thinking{align-items:center;gap:.45rem;display:inline-flex}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:.8rem;height:.8rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.eval{font-variant-numeric:tabular-nums}.move-list{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;max-height:22rem;padding:1rem;overflow-y:auto}.move-list h2{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);margin:0 0 .6rem;font-size:.72rem;font-weight:600}.move-list .empty{color:var(--ink-soft);margin:0;font-size:.85rem}.moves{font-variant-numeric:tabular-nums;margin:0;padding:0;font-size:.88rem;list-style:none}.moves li{border-radius:4px;grid-template-columns:2.2rem 1fr 1fr;gap:.4rem;padding:.12rem .2rem;display:grid}.moves li:nth-child(odd){background:#7f7f7f12}.moves .num{color:var(--ink-soft)}.moves .san{color:var(--ink)}.result{color:var(--ink);margin:.7rem 0 0;font-size:.9rem;font-weight:600}.modal-backdrop{z-index:10;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.promotion{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;padding:1.1rem;box-shadow:0 16px 40px #0000004d}.promotion h2{color:var(--ink);margin:0 0 .75rem;font-size:.95rem}.promotion-choices{gap:.5rem;display:flex}.promotion-choice{border:1px solid var(--panel-border);cursor:pointer;font:inherit;background:0 0;border-radius:8px;flex-direction:column;align-items:center;gap:.25rem;padding:.6rem .7rem;display:flex}.promotion-choice:hover,.promotion-choice:focus-visible{background:#7f7f7f24}.piece-svg.promotion-glyph{flex-shrink:0;width:2.2rem;height:2.2rem}.promotion-choice .name{color:var(--ink-soft);font-size:.7rem}:root{--ex-light:#3e424b;--ex-dark:#2f333a;--ex-lit:#ffd64e4d}:root[data-theme=light]{--ex-light:#d8dad3;--ex-dark:#c9cbc3;--ex-lit:#d6a41e52}.explore{flex-direction:column;gap:.85rem;display:flex}.explore-bar{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.explore-blurb{color:var(--ink-soft);flex-grow:1;min-width:0;font-size:.85rem}.explore-bar-right{gap:.4rem;display:flex}.explore-bar-right button{font:inherit;border:1px solid var(--panel-border);color:var(--ink);cursor:pointer;background:0 0;border-radius:7px;padding:.4rem .7rem;font-size:.82rem}.explore-bar-right button:hover:not(:disabled){background:#7f7f7f1f}.explore-bar-right button:disabled{opacity:.4;cursor:not-allowed}.breadcrumb{flex-wrap:wrap;align-items:center;gap:.3rem;font-size:.85rem;display:flex}.crumb{font:inherit;font-size:.85rem;font-family:var(--mono);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.2rem .5rem}.crumb:hover{color:var(--ink);background:#7f7f7f24}.crumb.current{color:var(--ink);background:#7f7f7f29;font-weight:600}.crumb-turn{color:var(--ink-soft);margin-left:.4rem}.explore-layout{grid-template-columns:minmax(0,1fr) 21rem;align-items:start;gap:clamp(1rem,3vw,1.75rem);display:grid}.explore-layout.list{grid-template-columns:minmax(0,22rem) minmax(0,1fr)}@media (width<=900px){.explore-layout,.explore-layout.list{grid-template-columns:minmax(0,1fr)}}.explore-board-column{flex-direction:column;gap:.7rem;min-width:0;display:flex}.explore-board-wrap{width:round(down,100%,8px);margin-inline:auto;position:relative}@supports not (width:round(down, 100%, 8px)){.explore-board-wrap{width:100%}}.explore-board{aspect-ratio:1;border-radius:8px;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));width:100%;display:grid;overflow:hidden}.explore-square{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:relative}.explore-square.light{background:var(--ex-light)}.explore-square.dark{background:var(--ex-dark)}.explore-square.lit:before{content:"";background:var(--ex-lit);position:absolute;inset:0}.explore-piece{opacity:.8;width:74%;height:74%;display:flex;position:relative}.explore-coord{z-index:3;opacity:.55;color:var(--ink);pointer-events:none;font-size:.6rem;font-weight:600;position:absolute}.explore-coord.rank{top:2px;left:4px}.explore-coord.file{bottom:1px;right:4px}.explore-arrows{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.explore-arrow-label{font-family:var(--mono);white-space:nowrap;color:var(--ink);background:color-mix(in srgb, var(--page-bg) 86%, transparent);pointer-events:none;border-radius:4px;padding:1px 5px;font-size:.72rem;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.explore-legend,.compare-legend{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;flex-wrap:wrap;gap:1.1rem;padding:.7rem .85rem;display:flex}.legend-block{flex-direction:column;gap:.35rem;display:flex}.legend-scale{color:var(--ink-soft);align-items:center;gap:.45rem;font-size:.72rem;display:flex}.legend-scale .swatches{border-radius:3px;display:flex;overflow:hidden}.legend-scale .swatches>span{width:26px;height:10px}.legend-note{color:var(--ink-soft);font-size:.75rem}.compare-legend{flex-direction:column;gap:.5rem}.compare-side{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.compare-side .who{font-weight:600}.compare-side .count{font-family:var(--mono);color:var(--ink-soft);margin-left:auto;font-size:.78rem}.chip{border-radius:2px;flex-shrink:0;width:10px;height:10px}.explore-panel{flex-direction:column;gap:.9rem;min-width:0;display:flex}.explore-stats{gap:1.4rem;display:flex}.explore-stats>div{flex-direction:column;display:flex}.explore-stat{font-family:var(--mono);letter-spacing:-.02em;color:var(--ink);font-size:1.6rem;font-weight:600}.explore-stat-label{color:var(--ink-soft);font-size:.75rem}.explore-filters{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;gap:.75rem;padding:.85rem;display:flex}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip-toggle{font:inherit;border:1px solid var(--panel-border);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .6rem;font-size:.78rem}.chip-toggle.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.hint{color:var(--ink-soft);font-size:.72rem}.move-table{flex-direction:column;gap:1px;display:flex}.move-table-head,.move-row{grid-template-columns:3.2rem minmax(0,1fr) 3.6rem 4rem;align-items:center;gap:.5rem;display:grid}.move-table-head{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);padding:0 .5rem .35rem;font-size:.68rem;font-weight:600}.move-table .num{text-align:right}.move-row{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:.4rem .5rem}.move-row:nth-child(odd){background:#7f7f7f12}.move-row:hover,.move-row.selected{background:#7f7f7f2e}.move-row.thin{opacity:.6}.move-row .san{font-family:var(--mono);font-size:.95rem;font-weight:600}.move-row .bar{background:#7f7f7f38;border-radius:3px;height:5px;overflow:hidden}.move-row .bar-fill{border-radius:3px;height:5px;display:block}.move-row .num{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:.8rem}.move-row .score{color:var(--ink);justify-content:flex-end;align-items:center;gap:.4rem;font-weight:600;display:flex}.move-table.dense{max-height:none}.explore-empty,.explore-note{color:var(--ink-soft);margin:0;font-size:.82rem}.sync-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;gap:.85rem;max-width:34rem;margin:2rem auto;padding:1.5rem;display:flex}.sync-panel h2{color:var(--ink);margin:0;font-size:1.15rem}.sync-lede{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:.9rem;line-height:1.5}.sync-form{flex-direction:column;gap:.35rem;display:flex}.sync-row{gap:.5rem;display:flex}.sync-row input{min-width:0;font:inherit;border:1px solid var(--panel-border);color:var(--ink);background:0 0;border-radius:8px;flex-grow:1;padding:.55rem .7rem;font-size:.9rem}.sync-row button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600}.sync-row button:disabled{opacity:.5;cursor:not-allowed}.sync-status{color:var(--ink-soft);flex-direction:column;gap:.4rem;font-size:.85rem;display:flex}.progress{background:#7f7f7f38;border-radius:3px;height:6px;display:block;overflow:hidden}.progress-fill{background:var(--accent);border-radius:3px;height:6px;transition:width .2s;display:block}@media (prefers-reduced-motion:reduce){.progress-fill{transition:none}}.sync-error{color:#e66767;margin:0;font-size:.85rem}.sync-note{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:.78rem;line-height:1.5}.tabs{gap:.25rem;display:flex}.tabs button{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.35rem .8rem;font-size:.9rem}.tabs button:hover{background:#7f7f7f1f}.tabs button.active{color:var(--ink);background:#7f7f7f2e;font-weight:600}.compare-table{flex-direction:column;gap:1px;display:flex}.compare-head,.compare-row{grid-template-columns:3.2rem minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.5rem;display:grid}.compare-head{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);padding:0 .5rem .35rem;font-size:.68rem;font-weight:600}.compare-head .right{text-align:right}.compare-row{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:.4rem .5rem}.compare-row:nth-child(odd){background:#7f7f7f12}.compare-row:hover{background:#7f7f7f2e}.compare-row .san{font-family:var(--mono);font-size:.95rem;font-weight:600}.compare-row .side{align-items:center;gap:.4rem;min-width:0;display:flex}.compare-row .side.left{flex-direction:row-reverse}.compare-row .track{background:#7f7f7f33;border-radius:3px;flex-grow:1;height:6px;display:flex;overflow:hidden}.compare-row .side.left .track{justify-content:flex-end}.compare-row .fill{border-radius:3px;height:6px;display:block}.compare-row .pct{width:2.4rem;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-soft);flex-shrink:0;font-size:.78rem}.compare-row .side.left .pct{text-align:right}
