:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-bg:#0e1015;--c-bg-inset:#0a0c10;--c-panel:#151922;--c-panel-2:#1b2029;--c-raised:#222833;--c-hover:#2a313e;--c-active:#323a4a;--c-border:#262d3a;--c-border-soft:#1e2531;--c-border-strong:#3a4356;--c-fg:#e7eaf0;--c-fg-muted:#a3abbb;--c-fg-dim:#78808f;--c-fg-faint:#59606d;--c-accent:#c9a24c;--c-accent-soft:#c9a24c26;--c-accent-fg:#1a1608;--c-positive:#4f9d63;--c-positive-hi:#5cb372;--c-info:#4c9de8;--c-info-soft:#4c9de822;--c-danger:#c2504a;--c-danger-hi:#d55f58;--c-warn:#d99a3f;--c-eval-white:#e8ebf1;--c-eval-black:#98a2b4;--c-wdl-win:#e8ebf1;--c-wdl-draw:#7c8698;--c-wdl-loss:#363d4b;--c-hint-base:#27c08a;--c-hint:#4fd6ab;--c-focus:#6fa8f0;--font-ui:ui-sans-serif, -apple-system, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", "Segoe UI Mono", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:27px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--r-sm:4px;--r-md:7px;--r-lg:11px;--r-xl:16px;--r-pill:999px;--sh-1:0 1px 2px #0006;--sh-2:0 4px 14px -4px #0000008c;--sh-3:0 18px 48px -12px #000000b3;--ease:cubic-bezier(.22, .61, .36, 1);--header-h:52px;--strip-h:52px;--gap:12px;--eval-w:22px;--eval-h:10px;--rail-w:156px;--side-w:clamp(330px, 27vw, 430px)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--c-bg:#eef0f4;--c-bg-inset:#e2e5eb;--c-panel:#fff;--c-panel-2:#f6f7fa;--c-raised:#fff;--c-hover:#eaedf3;--c-active:#dfe4ec;--c-border:#d4d9e2;--c-border-soft:#e3e7ee;--c-border-strong:#b8c0cd;--c-fg:#1b1f27;--c-fg-muted:#4e5665;--c-fg-dim:#6b7484;--c-fg-faint:#8b93a1;--c-accent:#9c7522;--c-accent-soft:#9c752218;--c-accent-fg:#fdf8ec;--c-positive:#3d8250;--c-positive-hi:#468f5a;--c-info:#2b7fd0;--c-info-soft:#2b7fd018;--c-danger:#b03e38;--c-danger-hi:#c04943;--c-warn:#b07721;--c-eval-white:#12161d;--c-eval-black:#6b7484;--c-wdl-win:#3c4351;--c-wdl-draw:#9aa2b0;--c-wdl-loss:#d7dbe2;--c-hint-base:#17a074;--c-hint:#0d6e50;--sh-1:0 1px 2px #0f172a14;--sh-2:0 4px 14px -4px #0f172a29;--sh-3:0 18px 48px -12px #0f172a3d}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--c-bg);color:var(--c-fg);font-family:var(--font-ui);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior:none;line-height:1.45;overflow:hidden}#root{height:100%}h1,h2,h3,h4,p,figure{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}a{color:var(--c-info);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--c-accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--c-border-strong) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--c-border-strong);border-radius:var(--r-pill);background-clip:content-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--c-fg-faint);background-clip:content-box}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{font-size:var(--fs-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--c-fg-dim);font-weight:650}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app{background:var(--c-bg);height:100dvh;color:var(--c-fg);grid-template-rows:auto minmax(0,1fr);display:grid}.app__top{z-index:3;position:relative}.header{height:var(--header-h)}.app:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(1100px 620px at 28% -8%,#4c9de812,#0000 62%),radial-gradient(900px 560px at 92% 108%,#c9a24c0f,#0000 60%);position:fixed;inset:0}.board-area{z-index:1;--v-avail:calc(100dvh - var(--header-h) - 2 * var(--strip-h) - 4 * var(--gap));--h-avail:calc(100vw - var(--rail-w) - var(--eval-w) - var(--side-w) - 5 * var(--gap) - 20px);--board-size:min(var(--v-avail), var(--h-avail), 880px);grid-template-columns:var(--rail-w) var(--eval-w) var(--board-size) var(--side-w);grid-template-rows:var(--strip-h) var(--board-size) var(--strip-h);place-content:center;gap:var(--gap);padding:var(--gap);grid-template-areas:"rail eval strip-top side""rail eval board side""rail eval strip-bot side";min-height:0;display:grid;position:relative}.left-rail{gap:var(--sp-2);flex-direction:column;grid-area:rail;align-self:stretch;min-width:0;display:flex;overflow:hidden}.eval-bar{grid-area:eval;align-self:stretch}.strip-top{grid-area:strip-top}.strip-bot{grid-area:strip-bot}.board-shell{width:var(--board-size);aspect-ratio:1;grid-area:board;position:relative}.board-mount{width:100%;height:100%}.board-mount cg-container{border-radius:var(--r-md);box-shadow:var(--sh-2), 0 0 0 1px var(--c-border)}.board-mount cg-board{border-radius:var(--r-md)}.board-overlay{pointer-events:none;z-index:5;grid-area:board;position:relative}.sidebar{background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--r-lg);min-height:0;box-shadow:var(--sh-2);grid-area:side;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.sidebar__body{min-height:0;position:relative;overflow:hidden}.sidebar__panel{overscroll-behavior:contain;flex-direction:column;display:flex;position:absolute;inset:0;overflow-y:auto}.sidebar__panel[hidden]{display:none}@media (min-width:1440px){:root{--side-w:clamp(360px, 25vw, 440px);--rail-w:176px}}@media (max-width:1199px){:root{--rail-w:0px}.board-area{--h-avail:calc(100vw - var(--eval-w) - var(--side-w) - 4 * var(--gap) - 20px);grid-template-columns:var(--eval-w) var(--board-size) var(--side-w);grid-template-areas:"eval strip-top side""eval board side""eval strip-bot side"}.left-rail{display:none}}@media (max-width:1023px){.board-area{--board-size:min(calc(100dvh - var(--header-h) - 2 * var(--strip-h) - 260px), calc(100vw - var(--eval-w) - 3 * var(--gap)));grid-template-columns:var(--eval-w) var(--board-size);grid-template-rows:var(--strip-h) var(--board-size) var(--strip-h) minmax(0, 1fr);grid-template-areas:"eval strip-top""eval board""eval strip-bot""side side";align-content:start}.sidebar{min-height:260px}}@media (max-width:767px){:root{--strip-h:46px;--gap:8px}.board-area{--board-size:min(calc(100vw - 2 * var(--gap)), calc(100dvh - var(--header-h) - 330px));grid-template-columns:var(--board-size);grid-template-rows:var(--strip-h) var(--eval-h) var(--board-size) var(--strip-h) minmax(0, 1fr);padding:var(--gap) var(--gap) 0;grid-template-areas:"strip-top""eval""board""strip-bot""side"}.eval-bar{height:var(--eval-h);align-self:auto;width:100%}.sidebar{border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:46dvh}}.header{z-index:3;align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);background:color-mix(in srgb, var(--c-panel) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--c-border);display:flex;position:relative}.brand{align-items:baseline;gap:var(--sp-2);margin-right:var(--sp-2);-webkit-user-select:none;user-select:none;display:flex}.brand__mark{font-size:var(--fs-lg);letter-spacing:-.02em;color:var(--c-fg);font-weight:750}.brand__mark span{color:var(--c-accent)}.brand__tag{font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--c-fg-faint)}.header__spacer{flex:auto}.header__group{align-items:center;gap:var(--sp-2);display:flex}.pill{border-radius:var(--r-pill);border:1px solid var(--c-border);background:var(--c-panel-2);height:28px;font-size:var(--fs-sm);color:var(--c-fg-muted);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-weight:550;display:inline-flex}.pill[data-state=on]{color:var(--c-fg);border-color:color-mix(in srgb, var(--c-positive) 45%, var(--c-border))}.pill[data-state=off]{color:var(--c-fg-faint);opacity:.75}.pill__dot{background:var(--c-fg-faint);border-radius:50%;flex:none;width:7px;height:7px}.pill[data-state=on] .pill__dot{background:var(--c-positive-hi);box-shadow:0 0 0 3px color-mix(in srgb, var(--c-positive) 25%, transparent)}.pill[data-state=busy] .pill__dot{background:var(--c-accent);animation:pulse 1.1s var(--ease) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.btn{border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-raised);height:34px;color:var(--c-fg);font-size:var(--fs-md);letter-spacing:.01em;white-space:nowrap;transition:background .12s var(--ease), border-color .12s var(--ease), transform 90ms var(--ease), opacity .12s var(--ease);justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:560;display:inline-flex}.btn:hover:not(:disabled){background:var(--c-hover);border-color:var(--c-border-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn--primary{background:var(--c-positive);border-color:color-mix(in srgb, var(--c-positive) 70%, #000);color:#f4fbf5;box-shadow:var(--sh-1)}.btn--primary:hover:not(:disabled){background:var(--c-positive-hi);border-color:var(--c-positive-hi)}.btn--accent{background:var(--c-accent);border-color:color-mix(in srgb, var(--c-accent) 70%, #000);color:var(--c-accent-fg)}.btn--accent:hover:not(:disabled){background:color-mix(in srgb, var(--c-accent) 88%, #fff)}.btn--danger{border-color:color-mix(in srgb, var(--c-danger) 55%, var(--c-border));color:var(--c-danger-hi);background:0 0}.btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--c-danger) 18%, transparent);border-color:var(--c-danger)}.btn--ghost{color:var(--c-fg-muted);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:var(--c-hover);color:var(--c-fg)}.btn--sm{height:28px;font-size:var(--fs-sm);padding:0 10px}.btn--icon{flex:none;width:34px;padding:0}.btn--icon.btn--sm{width:28px}.btn--block{width:100%}.btn--wide{height:40px;font-size:var(--fs-base);font-weight:620}.btn[aria-pressed=true]{background:var(--c-accent-soft);border-color:color-mix(in srgb, var(--c-accent) 45%, var(--c-border));color:var(--c-accent)}.panel{background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden}.section{padding:var(--sp-4);border-bottom:1px solid var(--c-border-soft);gap:var(--sp-3);flex-direction:column;display:flex}.section:last-child{border-bottom:none}.section__head{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:20px;display:flex}.section__title{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--c-fg-dim);font-weight:680}.tabs{padding:var(--sp-2) var(--sp-2) 0;background:var(--c-panel-2);border-bottom:1px solid var(--c-border);align-items:stretch;gap:2px;display:flex}.tab{border-radius:var(--r-sm) var(--r-sm) 0 0;height:34px;color:var(--c-fg-dim);font-size:var(--fs-md);transition:color .12s var(--ease), background .12s var(--ease);flex:1 1 0;font-weight:580;position:relative}.tab:hover{color:var(--c-fg);background:var(--c-hover)}.tab[aria-selected=true]{color:var(--c-fg);background:var(--c-panel)}.tab[aria-selected=true]:after{content:"";background:var(--c-accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.strip{align-items:center;gap:var(--sp-3);padding:0 var(--sp-3);background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--r-md);min-width:0;height:100%;display:flex}.strip[data-turn=true]{border-color:color-mix(in srgb, var(--c-accent) 50%, var(--c-border));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c-accent) 22%, transparent)}.strip__avatar{border-radius:var(--r-sm);border:1px solid var(--c-border-strong);flex:none;place-items:center;width:30px;height:30px;font-size:15px;font-weight:700;display:grid}.strip__avatar[data-color=white]{color:#2a2f38;background:linear-gradient(160deg,#fbfbfc,#d9dce2)}.strip__avatar[data-color=black]{color:#e6e9ef;background:linear-gradient(160deg,#3a414e,#1d222b)}.strip__ident{flex-direction:column;justify-content:center;gap:1px;min-width:0;display:flex}.strip__name{font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;font-weight:620;overflow:hidden}.strip__meta{font-size:var(--fs-xs);color:var(--c-fg-dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.strip__spacer{flex:auto}.clock{border-radius:var(--r-md);background:var(--c-bg-inset);border:1px solid var(--c-border);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--c-fg-muted);transition:background .16s var(--ease), color .16s var(--ease), border-color .16s var(--ease);flex:none;align-items:baseline;gap:1px;padding:4px 11px;font-size:19px;font-weight:600;display:inline-flex}.clock[data-running=true]{color:var(--c-fg);background:var(--c-raised);border-color:var(--c-border-strong)}.clock[data-low=true]{color:#fff;background:color-mix(in srgb, var(--c-danger) 60%, var(--c-bg-inset));border-color:var(--c-danger)}.clock[data-flagged=true]{opacity:.5}.clock__tenths{opacity:.85;font-size:.72em}.captured{flex-wrap:wrap;align-items:center;gap:2px;min-width:0;display:flex}.captured__group{align-items:center;display:flex}.captured__piece{filter:drop-shadow(0 1px 1px #00000059);width:17px;height:17px;margin-right:-5px}.captured__group .captured__piece:last-child{margin-right:0}.captured__diff{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--c-fg-muted);margin-left:7px;font-weight:620}.captured__diff--none{color:var(--c-fg-faint);margin-left:0}.captured--rail{padding:var(--sp-2) var(--sp-2);background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--r-md);align-content:center;min-height:40px}.rail-card{background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-3);flex-direction:column;gap:6px;min-width:0;display:flex}.rail-card__label{font-size:var(--fs-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--c-fg-faint);font-weight:680}.opening__eco{font-family:var(--font-mono);font-size:var(--fs-xs);border-radius:var(--r-sm);background:var(--c-accent-soft);color:var(--c-accent);padding:1px 5px;font-weight:650;display:inline-block}.opening__name{font-size:var(--fs-md);overflow-wrap:anywhere;font-weight:560;line-height:1.35}.opening__out{font-size:var(--fs-xs);color:var(--c-fg-faint)}.rail-stat{justify-content:space-between;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-sm);display:flex}.rail-stat__k{color:var(--c-fg-dim)}.rail-stat__v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--c-fg)}.field{flex-direction:column;gap:6px;display:flex}.field__label{font-size:var(--fs-sm);color:var(--c-fg-muted);justify-content:space-between;align-items:center;gap:var(--sp-2);font-weight:580;display:flex}.field__hint{font-size:var(--fs-xs);color:var(--c-fg-faint);line-height:1.4}.input,.select,.textarea{background:var(--c-bg-inset);border:1px solid var(--c-border);border-radius:var(--r-md);width:100%;font-size:var(--fs-md);color:var(--c-fg);transition:border-color .12s var(--ease), background .12s var(--ease);padding:8px 10px}.input:hover,.select:hover,.textarea:hover{border-color:var(--c-border-strong)}.input:focus,.select:focus,.textarea:focus{border-color:var(--c-focus);background:var(--c-panel-2);outline:none}.input::placeholder,.textarea::placeholder{color:var(--c-fg-faint)}.select{appearance:none;color:var(--c-fg);background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 15px) 55%,calc(100% - 10px) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}.select:disabled{opacity:.5;cursor:not-allowed}.textarea{font-family:var(--font-mono);font-size:var(--fs-sm);resize:vertical;min-height:96px;line-height:1.55}.segmented{background:var(--c-bg-inset);border:1px solid var(--c-border);border-radius:var(--r-md);gap:3px;padding:3px;display:flex}.segmented__option{border-radius:var(--r-sm);height:28px;font-size:var(--fs-sm);color:var(--c-fg-dim);transition:background .12s var(--ease), color .12s var(--ease);white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;padding:0 6px;font-weight:580;overflow:hidden}.segmented__option:hover:not(:disabled){color:var(--c-fg);background:var(--c-hover)}.segmented__option[aria-pressed=true]{background:var(--c-raised);color:var(--c-fg);box-shadow:var(--sh-1)}.segmented__option:disabled{opacity:.4;cursor:not-allowed}.switch{justify-content:space-between;align-items:center;gap:var(--sp-3);cursor:pointer;-webkit-user-select:none;user-select:none;padding:7px 0;display:flex}.switch__text{min-width:0}.switch__label{font-size:var(--fs-md);color:var(--c-fg)}.switch__desc{font-size:var(--fs-xs);color:var(--c-fg-faint);line-height:1.35}.switch__track{border-radius:var(--r-pill);background:var(--c-raised);border:1px solid var(--c-border-strong);width:38px;height:22px;transition:background .14s var(--ease), border-color .14s var(--ease);flex:none;position:relative}.switch__track:after{content:"";background:var(--c-fg-dim);width:16px;height:16px;transition:transform .16s var(--ease), background .14s var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.switch input{opacity:0;width:0;height:0;position:absolute}.switch input:checked+.switch__track{background:color-mix(in srgb, var(--c-positive) 55%, var(--c-raised));border-color:var(--c-positive)}.switch input:checked+.switch__track:after{background:#f2fbf4;transform:translate(16px)}.switch input:focus-visible+.switch__track{outline:2px solid var(--c-focus);outline-offset:2px}.range{--fill:50%;appearance:none;cursor:pointer;background:0 0;width:100%;height:22px}.range::-webkit-slider-runnable-track{border-radius:var(--r-pill);background:linear-gradient(to right, var(--c-accent) 0 var(--fill), var(--c-raised) var(--fill) 100%);height:5px}.range::-moz-range-track{border-radius:var(--r-pill);background:var(--c-raised);height:5px}.range::-moz-range-progress{border-radius:var(--r-pill);background:var(--c-accent);height:5px}.range::-webkit-slider-thumb{appearance:none;background:var(--c-fg);border:3px solid var(--c-panel);width:16px;height:16px;box-shadow:var(--sh-1);border-radius:50%;margin-top:-5.5px}.range::-moz-range-thumb{background:var(--c-fg);border:3px solid var(--c-panel);border-radius:50%;width:16px;height:16px}.range:disabled{opacity:.45;cursor:not-allowed}.difficulty__head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.difficulty__level{font-size:var(--fs-base);font-weight:660}.difficulty__rating{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--c-fg-muted);font-variant-numeric:tabular-nums}.difficulty__ticks{grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;margin-top:-2px;display:grid}.difficulty__tick{background:var(--c-raised);height:4px;transition:background .14s var(--ease);border-radius:2px}.difficulty__tick[data-on=true]{background:var(--c-accent)}.difficulty__tick[data-max=true]{background:var(--c-danger-hi)}.difficulty__detail{font-size:var(--fs-xs);color:var(--c-fg-faint);font-family:var(--font-mono);overflow-wrap:anywhere;line-height:1.45}.chonk-badge{border-radius:var(--r-pill);background:color-mix(in srgb, var(--c-danger) 22%, transparent);border:1px solid color-mix(in srgb, var(--c-danger) 45%, transparent);color:var(--c-danger-hi);font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:5px;padding:2px 8px;font-weight:680;display:inline-flex}.engine-grid{gap:var(--sp-2);display:grid}.engine-card{align-items:center;gap:var(--sp-3);text-align:left;border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-panel-2);transition:border-color .12s var(--ease), background .12s var(--ease);grid-template-columns:auto 1fr auto;padding:10px 12px;display:grid;position:relative}.engine-card:hover:not(:disabled){background:var(--c-hover);border-color:var(--c-border-strong)}.engine-card[aria-pressed=true]{border-color:var(--c-accent);background:var(--c-accent-soft)}.engine-card:disabled{opacity:.55;cursor:not-allowed}.engine-card__badge{border-radius:var(--r-sm);width:30px;height:30px;font-size:var(--fs-xs);letter-spacing:.02em;background:var(--c-raised);border:1px solid var(--c-border-strong);color:var(--c-fg-muted);place-items:center;font-weight:750;display:grid}.engine-card[data-backend=gpu] .engine-card__badge{color:var(--c-info);border-color:color-mix(in srgb, var(--c-info) 45%, var(--c-border))}.engine-card[data-backend=cpu] .engine-card__badge{color:var(--c-accent);border-color:color-mix(in srgb, var(--c-accent) 45%, var(--c-border))}.engine-card__body{min-width:0}.engine-card__name{font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;font-weight:620;overflow:hidden}.engine-card__desc{font-size:var(--fs-xs);color:var(--c-fg-dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.engine-card__state{font-size:var(--fs-xs);color:var(--c-fg-faint);text-transform:uppercase;letter-spacing:.06em;font-weight:620}.engine-card[data-available=false] .engine-card__state{color:var(--c-danger-hi)}.controls{gap:var(--sp-2);padding:var(--sp-3);border-top:1px solid var(--c-border);background:var(--c-panel-2);flex-direction:column;display:flex}.controls__nav{gap:var(--sp-1);grid-template-columns:repeat(6,1fr);display:grid}.controls__row{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}.banner{align-items:center;gap:var(--sp-2);padding:7px var(--sp-4);font-size:var(--fs-sm);border-bottom:1px solid var(--c-border);background:color-mix(in srgb, var(--c-warn) 18%, var(--c-panel));color:var(--c-fg);font-weight:550;display:flex}.banner[data-kind=error]{background:color-mix(in srgb, var(--c-danger) 22%, var(--c-panel))}.toasts{right:var(--sp-4);bottom:var(--sp-4);z-index:60;gap:var(--sp-2);max-width:min(380px, calc(100vw - 2 * var(--sp-4)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{pointer-events:auto;align-items:flex-start;gap:var(--sp-2);border-radius:var(--r-md);background:var(--c-raised);border:1px solid var(--c-border-strong);box-shadow:var(--sh-3);font-size:var(--fs-md);animation:toast-in .22s var(--ease);padding:10px 12px;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.toast__bar{background:var(--c-fg-faint);border-radius:2px;flex:none;align-self:stretch;width:3px}.toast[data-kind=success] .toast__bar{background:var(--c-positive-hi)}.toast[data-kind=warn] .toast__bar{background:var(--c-warn)}.toast[data-kind=error] .toast__bar{background:var(--c-danger-hi)}.toast[data-kind=info] .toast__bar{background:var(--c-info)}.toast__msg{flex:auto;min-width:0;line-height:1.4}.scrim{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .16s var(--ease);background:#04060a9e;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.dialog{z-index:51;width:min(520px, calc(100vw - 2 * var(--sp-4)));background:var(--c-panel);border:1px solid var(--c-border-strong);border-radius:var(--r-xl);max-height:min(86dvh,900px);box-shadow:var(--sh-3);animation:dialog-in .2s var(--ease);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,calc(12px - 50%))scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.dialog__head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4);border-bottom:1px solid var(--c-border);display:flex}.dialog__title{font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:660}.dialog__body{padding:var(--sp-4);gap:var(--sp-4);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.dialog__foot{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--c-border);background:var(--c-panel-2);justify-content:flex-end;display:flex}.drawer{z-index:51;background:var(--c-panel);border-left:1px solid var(--c-border-strong);width:min(400px,92vw);box-shadow:var(--sh-3);animation:drawer-in .22s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes drawer-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}.result{text-align:center;align-items:center;gap:var(--sp-2);flex-direction:column;display:flex}.result__headline{font-size:var(--fs-2xl);letter-spacing:-.025em;font-weight:730}.result__headline[data-outcome=win]{color:var(--c-positive-hi)}.result__headline[data-outcome=loss]{color:var(--c-danger-hi)}.result__headline[data-outcome=draw]{color:var(--c-fg-muted)}.result__detail{color:var(--c-fg-muted);font-size:var(--fs-base)}.result__score{font-family:var(--font-mono);font-size:var(--fs-xl);letter-spacing:.06em;color:var(--c-fg);border-radius:var(--r-pill);background:var(--c-bg-inset);border:1px solid var(--c-border);padding:3px 14px;font-weight:650}.accuracy-grid{gap:var(--sp-3);grid-template-columns:1fr 1fr;width:100%;display:grid}.accuracy-card{padding:var(--sp-3);border-radius:var(--r-md);background:var(--c-panel-2);border:1px solid var(--c-border);text-align:center}.accuracy-card__value{font-family:var(--font-mono);font-size:var(--fs-xl);font-variant-numeric:tabular-nums;font-weight:680}.accuracy-card__label{font-size:var(--fs-xs);color:var(--c-fg-dim);text-transform:uppercase;letter-spacing:.08em}.login{height:100dvh;padding:var(--sp-4);background:radial-gradient(760px 520px at 50% -12%, #c9a24c1c, transparent 62%), radial-gradient(900px 640px at 50% 112%, #4c9de817, transparent 62%), var(--c-bg);place-items:center;display:grid}.login__card{background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--r-xl);width:min(390px,100%);box-shadow:var(--sh-3);padding:var(--sp-8) var(--sp-6) var(--sp-6);gap:var(--sp-5);flex-direction:column;display:flex}.login__brand{text-align:center;flex-direction:column;gap:6px;display:flex}.login__mark{letter-spacing:-.035em;font-size:30px;font-weight:780}.login__mark span{color:var(--c-accent)}.login__sub{font-size:var(--fs-md);color:var(--c-fg-dim);line-height:1.5}.login__form{gap:var(--sp-3);flex-direction:column;display:flex}.login__error{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);background:color-mix(in srgb, var(--c-danger) 16%, transparent);border:1px solid color-mix(in srgb, var(--c-danger) 40%, transparent);color:var(--c-danger-hi);font-size:var(--fs-sm);padding:8px 11px;line-height:1.4;display:flex}.login__foot{text-align:center;font-size:var(--fs-xs);color:var(--c-fg-faint);line-height:1.6}.kbd{border-radius:var(--r-sm);background:var(--c-raised);border:1px solid var(--c-border-strong);min-width:20px;font-family:var(--font-mono);font-size:var(--fs-xs);text-align:center;color:var(--c-fg-muted);border-bottom-width:2px;padding:1px 6px;display:inline-block}.shortcut-row{align-items:center;gap:var(--sp-3);font-size:var(--fs-md);border-bottom:1px solid var(--c-border-soft);grid-template-columns:1fr auto;padding:5px 0;display:grid}.shortcut-row:last-child{border-bottom:none}.shortcut-row__keys{gap:4px;display:flex}.empty-state{justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--c-fg-dim);flex-direction:column;flex:auto;display:flex}.empty-state__title{font-size:var(--fs-lg);color:var(--c-fg);font-weight:640}.empty-state__text{font-size:var(--fs-md);max-width:34ch;line-height:1.55}.spinner{border:2px solid color-mix(in srgb, currentColor 30%, transparent);border-top-color:currentColor;border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.link-button{color:var(--c-info);font-size:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.divider{background:var(--c-border);border:none;height:1px;margin:0}.app,.login,[data-board=midnight]{--sq-light:#8593b3;--sq-dark:#3f4869;--coord-on-light:#1c202ac7;--coord-on-dark:#f0f3f8cc}[data-board=slate]{--sq-light:#c3c8d1;--sq-dark:#6d7683;--coord-on-light:#282d36c7;--coord-on-dark:#f8fafcd9}[data-board=forest]{--sq-light:#eeeed2;--sq-dark:#6f9557;--coord-on-light:#3c4a2ccc;--coord-on-dark:#eeeed2e6}[data-board=brown]{--sq-light:#f0d9b5;--sq-dark:#b58863;--coord-on-light:#5a422ad9;--coord-on-dark:#faf0e0e6}[data-board=ocean]{--sq-light:#dee3e6;--sq-dark:#7f97a4;--coord-on-light:#26343ecc;--coord-on-dark:#f5fafce6}[data-board=violet]{--sq-light:#a99ab8;--sq-dark:#6f4080;--coord-on-light:#261a2ecc;--coord-on-dark:#f6f0fae0}[data-board=contrast]{--sq-light:#f4f4f5;--sq-dark:#4b5057;--coord-on-light:#14161ae6;--coord-on-dark:#fffffff2}.cg-wrap cg-board{background-color:var(--sq-light);background-image:conic-gradient(var(--sq-dark) 0 25%, var(--sq-light) 0 50%, var(--sq-dark) 0 75%, var(--sq-light) 0);background-size:25% 25%}cg-board square.move-dest{background:radial-gradient(#12141a52 21%,#12141a4d 22%,#0000 23%)}cg-board square.oc.move-dest{background:radial-gradient(#0000 0% 78%,#12141a57 79% 100%)}cg-board square.move-dest:hover,cg-board square.move-dest.hover{background:#c9a24c57}cg-board square.premove-dest{background:radial-gradient(#4c9de880 21%,#4c9de873 22%,#0000 23%)}cg-board square.oc.premove-dest{background:radial-gradient(#0000 0% 78%,#4c9de86b 79%)}cg-board square.last-move{background-color:#c9a24c66}cg-board square.selected{background-color:#c9a24c8c}cg-board square.current-premove{background-color:#4c9de880}cg-board square.check{background:radial-gradient(#e83c34 0%,#d62822eb 26%,#b4000000 76%,#a0000000 100%)}.orientation-white .ranks :nth-child(odd),.orientation-white .files :nth-child(2n),.orientation-black .ranks :nth-child(2n),.orientation-black .files :nth-child(odd),coords.squares:nth-of-type(odd) :nth-child(2n),coords.squares:nth-of-type(2n) :nth-child(odd){color:var(--coord-on-light)}.orientation-white .ranks :nth-child(2n),.orientation-white .files :nth-child(odd),.orientation-black .ranks :nth-child(odd),.orientation-black .files :nth-child(2n),coords.squares:nth-of-type(odd) :nth-child(odd),coords.squares:nth-of-type(2n) :nth-child(2n){color:var(--coord-on-dark)}coords{letter-spacing:.02em;font-weight:620}.cg-wrap .cg-shapes{opacity:.92}.cg-wrap .cg-custom-svgs{opacity:1}.piece-sprite{aspect-ratio:1;width:100%;display:block;position:relative}.piece-sprite piece,.captured__piece piece{will-change:auto;background-position:50%;background-repeat:no-repeat;background-size:contain;width:100%;height:100%;position:absolute;inset:0}.captured__piece{box-sizing:border-box;display:block;position:relative}.promotion{width:var(---cg-width,100%);height:var(---cg-height,100%);z-index:20;position:absolute;top:0;left:0}.promotion__scrim{-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);cursor:pointer;width:100%;height:100%;animation:fade-in .12s var(--ease);background:#06080c8c;border:none;position:absolute;inset:0}.promotion__column{flex-direction:column;width:12.5%;display:flex;position:absolute}.promotion__column[data-grow=down]{top:0}.promotion__column[data-grow=up]{flex-direction:column-reverse;bottom:0}.promotion__choice{aspect-ratio:1;background:color-mix(in srgb, var(--c-panel) 94%, transparent);border:1px solid var(--c-border-strong);width:100%;transition:background .11s var(--ease), transform .11s var(--ease);animation:promo-in .16s var(--ease) backwards;padding:6%;position:relative}.promotion__column[data-grow=down] .promotion__choice:first-child{border-radius:var(--r-sm) var(--r-sm) 0 0}.promotion__column[data-grow=down] .promotion__choice:last-child,.promotion__column[data-grow=up] .promotion__choice:first-child{border-radius:0 0 var(--r-sm) var(--r-sm)}.promotion__column[data-grow=up] .promotion__choice:last-child{border-radius:var(--r-sm) var(--r-sm) 0 0}.promotion__choice:nth-child(2){animation-delay:30ms}.promotion__choice:nth-child(3){animation-delay:60ms}.promotion__choice:nth-child(4){animation-delay:90ms}@keyframes promo-in{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}.promotion__choice:hover,.promotion__choice:focus-visible{background:var(--c-accent);z-index:1;transform:scale(1.04)}.board-thinking{z-index:15;border-radius:var(--r-pill);border:1px solid var(--c-border-strong);color:#eef1f6;font-size:var(--fs-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;animation:fade-in .18s var(--ease);background:#0a0c11d1;align-items:center;gap:8px;padding:5px 12px;font-weight:560;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.board-thinking .mono{color:#b9c2d0}.eval-bar{width:var(--eval-w);border-radius:var(--r-sm);transition:opacity .2s var(--ease);contain:strict;background:#eceef2;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000059,inset 0 0 8px #00000052}.eval-bar[data-provisional=true]{opacity:.62}.eval-bar__fills{transform-origin:top;position:absolute;inset:0}.eval-bar[data-orientation=black] .eval-bar__fills{transform:rotateX(180deg)}.eval-bar__black{transform-origin:top;transform:scaleY(var(--black-share,.5));transition:transform .28s var(--ease);will-change:transform;background:linear-gradient(#3a4150,#262c37);position:absolute;inset:0}.eval-bar__tick{pointer-events:none;border-bottom:1px solid #78808f73;width:100%;height:0;position:absolute;left:0}.eval-bar__tick[data-zero=true]{border-bottom-width:2px;border-color:var(--c-accent);opacity:.85}.eval-bar__label{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;pointer-events:none;white-space:nowrap;z-index:2;font-size:10px;font-weight:700;position:absolute;left:50%;translate:-50%}.eval-bar__label--top{color:#e9ecf2;text-shadow:0 1px 3px #000c;top:4px}.eval-bar__label--bottom{color:#23272f;text-shadow:0 1px 2px #ffffff8c;bottom:4px}@media (max-width:767px){.eval-bar{width:100%;height:var(--eval-h)}.eval-bar__black{transform-origin:0;transform:scaleX(var(--black-share,.5))}.eval-bar[data-orientation=black] .eval-bar__fills{transform:rotateY(180deg)}.eval-bar__tick{left:var(--tick-pos);border-bottom:none;border-left:1px solid #78808f73;width:0;height:100%;top:0}.eval-bar__tick[data-zero=true]{border-left-width:2px;border-color:var(--c-accent)}.eval-bar__label{display:none}}@media (prefers-reduced-motion:reduce){.eval-bar__black{transition:none}}.movelist-wrap{flex-direction:column;flex:auto;min-height:0;display:flex}.movelist-head{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--c-border-soft);background:var(--c-panel-2);display:flex}.movelist-scroll{overscroll-behavior:contain;min-height:0;padding:var(--sp-2) var(--sp-2) var(--sp-4);flex:auto;overflow-y:auto}.movelist{font-variant-numeric:tabular-nums;font-size:var(--fs-base);grid-template-columns:3.4ch minmax(0,1fr) minmax(0,1fr);align-items:stretch;line-height:1.55;display:grid}.movelist__num{color:var(--c-fg-faint);text-align:right;-webkit-user-select:none;user-select:none;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;align-self:center;padding-right:.6ch}.movelist__move{border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;text-align:left;color:var(--c-fg);contain:layout style;transition:background 90ms var(--ease);align-items:center;gap:4px;padding:2px 7px;font-weight:550;display:flex;overflow:hidden}.movelist__move:hover{background:var(--c-hover)}.movelist__move[data-current=true]{background:var(--c-accent);color:var(--c-accent-fg);font-weight:660}.movelist__move[data-current=true] .movelist__glyph{color:var(--c-accent-fg)!important}.movelist__move:focus-visible{outline:2px solid var(--c-focus);outline-offset:-2px}.movelist__placeholder{color:var(--c-fg-faint);-webkit-user-select:none;user-select:none;padding:2px 7px}.movelist__glyph{vertical-align:super;letter-spacing:-.03em;font-size:.82em;font-weight:800;line-height:0}.movelist__eval{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-fg-faint);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:550}.movelist__move[data-current=true] .movelist__eval{color:color-mix(in srgb, var(--c-accent-fg) 75%, transparent)}.review-bar{background:var(--c-raised);border-radius:2px;height:3px;overflow:hidden}.review-bar__fill{background:var(--c-info);height:100%;transition:width .24s var(--ease)}.legend{font-size:var(--fs-xs);color:var(--c-fg-dim);flex-wrap:wrap;gap:4px 10px;display:flex}.legend__item{align-items:center;gap:4px;display:inline-flex}.legend__glyph{font-weight:800}.move-input{gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--c-border-soft);background:var(--c-panel-2);display:flex}.move-input .input{font-family:var(--font-mono)}.move-input__status{font-size:var(--fs-xs);color:var(--c-danger-hi);padding:0 var(--sp-3) var(--sp-2)}.analysis{flex-direction:column;min-height:0;display:flex}.analysis__toolbar{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--c-border-soft);background:var(--c-panel-2);display:flex}.analysis__toolbar .select{width:auto;font-size:var(--fs-sm);background-position:calc(100% - 13px) 55%,calc(100% - 8px) 55%;padding:5px 26px 5px 8px}.analysis__stats{padding:7px var(--sp-3);border-bottom:1px solid var(--c-border-soft);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-fg-dim);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:3px 14px;min-height:30px;display:flex}.analysis__stat b{color:var(--c-fg-muted);font-weight:600}.analysis__lines{padding:var(--sp-1) 0;min-height:calc(var(--multipv,3) * 27px + 8px)}.pv-row{height:27px;padding:0 var(--sp-3);font-size:var(--fs-md);contain:layout paint style;transition:opacity .14s var(--ease), background 90ms var(--ease);grid-template-columns:2.2ch 7ch 4.6ch minmax(0,1fr);align-items:center;gap:6px;display:grid}.pv-row:hover{background:var(--c-hover)}.pv-row[data-stale=true]{opacity:.5}.pv-row[data-empty=true]{opacity:.28}.pv-row__rank{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-fg-faint);text-align:right;font-variant-numeric:tabular-nums}.pv-row__score{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;letter-spacing:-.02em;white-space:nowrap;font-weight:680;overflow:hidden}.pv-row__score[data-side=white]{color:var(--c-eval-white)}.pv-row__score[data-side=black]{color:var(--c-eval-black)}.pv-row__score[data-mate=true]{color:var(--c-accent)}.pv-row__depth{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-fg-faint);text-align:right;font-variant-numeric:tabular-nums}.pv-row__moves{white-space:nowrap;align-items:center;gap:1px;min-width:0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 22px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 22px),#0000)}.pv-move{color:var(--c-fg-muted);font-variant-numeric:tabular-nums;white-space:nowrap;transition:background 80ms var(--ease), color 80ms var(--ease);border-radius:3px;padding:1px 3px;font-weight:520}.pv-move:hover{background:var(--c-info-soft);color:var(--c-fg)}.pv-move__num{color:var(--c-fg-faint);font-size:var(--fs-xs);padding-right:2px}.wdl{height:4px;margin:0 var(--sp-3) var(--sp-2);background:var(--c-raised);border-radius:2px;display:flex;overflow:hidden}.wdl__seg{height:100%;transition:width .26s var(--ease)}.wdl__seg[data-part=win]{background:var(--c-wdl-win)}.wdl__seg[data-part=draw]{background:var(--c-wdl-draw)}.wdl__seg[data-part=loss]{background:var(--c-wdl-loss)}.wdl-legend{padding:0 var(--sp-3) var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-fg-faint);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.hint-card{margin:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:color-mix(in srgb, var(--c-hint-base) 14%, var(--c-panel-2));border:1px solid color-mix(in srgb, var(--c-hint-base) 40%, transparent);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.hint-card__move{font-size:var(--fs-lg);color:var(--c-hint);font-variant-numeric:tabular-nums;font-weight:700}.hint-card__text{font-size:var(--fs-sm);color:var(--c-fg-muted);line-height:1.45}.pgn-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.pgn-warning{font-size:var(--fs-xs);color:var(--c-warn);line-height:1.45}.pgn-error{font-size:var(--fs-xs);color:var(--c-danger-hi);line-height:1.45}
