:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1013;--surface:#17181c;--surface-2:#1e2026;--surface-3:#262931;--line:#262a33;--line-2:#343945;--text:#eceef2;--text-2:#a8afbc;--text-3:#6f7787;--accent:#f2b63d;--accent-ink:#1c1300;--accent-soft:#f2b63d24;--tactic:#f2b63d;--tactic-soft:#f2b63d24;--only:#62b4ff;--only-soft:#62b4ff24;--blunder:#ff6473;--blunder-soft:#ff647324;--opening:#b69cff;--opening-soft:#b69cff26;--good:#4cc474;--good-soft:#4cc47424;--graph-white:#eceef233;--graph-black:#00000080;--shadow:0 1px 0 #ffffff08 inset, 0 10px 30px #00000059;--r-lg:16px;--r-md:12px;--r-sm:8px;--nav-w:232px;--font:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f3ef;--surface:#fff;--surface-2:#f6f5f1;--surface-3:#ecebe5;--line:#e5e3dc;--line-2:#d3d0c7;--text:#17181c;--text-2:#575d69;--text-3:#8b909b;--accent:#d19a12;--accent-ink:#1c1300;--accent-soft:#d19a1224;--tactic:#b8830a;--tactic-soft:#b8830a1f;--only:#1f7fd8;--only-soft:#1f7fd81f;--blunder:#d8404f;--blunder-soft:#d8404f1f;--opening:#7a4fd6;--opening-soft:#7a4fd61f;--good:#1f9c50;--good-soft:#1f9c501f;--graph-white:#f1ecdc;--graph-black:#4a4d56;--shadow:0 1px 2px #0000000d, 0 10px 30px #14141412}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%}body{background:var(--bg);min-height:100%;color:var(--text);font:15px/1.5 var(--font);font-feature-settings:"tnum" 0;-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}svg{display:block}.icon{flex:none;display:inline-flex}.icon svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-columns:var(--nav-w) minmax(0, 1fr);min-height:100vh;display:grid}.nav{border-right:1px solid var(--line);background:var(--bg);flex-direction:column;gap:4px;height:100vh;padding:22px 14px 18px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;color:var(--text);align-items:center;gap:10px;padding:4px 10px 20px;font-size:19px;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand .mark{border-radius:8px;width:28px;height:28px}.brand span{color:var(--accent)}.nav-item{width:100%;color:var(--text-2);text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-weight:500;display:flex}.nav-item:hover{background:var(--surface);color:var(--text);text-decoration:none}.nav-item[aria-current=page]{background:var(--surface-2);color:var(--text)}.nav-item[aria-current=page] .icon{color:var(--accent)}.nav-spacer{flex:1}.nav-user{border-top:1px solid var(--line);color:var(--text-3);padding:12px 12px 0;font-size:12.5px}.nav-user .email{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.link-btn{color:var(--text-3);text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.link-btn:hover{color:var(--text)}.main{min-width:0}.screen{max-width:1080px;margin:0 auto;padding:30px 32px 72px}.screen-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.screen-head h1{letter-spacing:-.025em;font-size:27px;font-weight:700;line-height:1.15}.screen-head p{color:var(--text-2);margin-top:4px}.screen-head .actions{flex:none;gap:8px;display:flex}.topbar,.tabbar{display:none}@media (width<=880px){.app{grid-template-columns:minmax(0,1fr)}.nav{display:none}.topbar{z-index:20;padding:env(safe-area-inset-top,0px) 8px 0;height:calc(52px + env(safe-area-inset-top,0px));background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);align-items:center;gap:6px;display:flex;position:sticky;top:0}.topbar h1{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:16.5px;font-weight:600;overflow:hidden}.topbar .slot{justify-content:center;align-items:center;width:44px;height:44px;display:flex}.topbar .slot button{width:40px;height:40px;color:var(--text);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:flex}.screen{padding:16px 16px calc(88px + env(safe-area-inset-bottom,0px))}.screen-head{margin-bottom:14px}.screen-head h1{display:none}.screen-head p{margin-top:0}.tabbar{z-index:20;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--text-3);background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:6px 2px;font-size:10.5px;font-weight:500;display:flex}.tab .icon svg{width:23px;height:23px}.tab[aria-current=page]{color:var(--accent)}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.card.pad{padding:18px 20px}.btn{border:1px solid var(--line-2);background:var(--surface-2);height:40px;color:var(--text);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;transition:background .12s,border-color .12s,filter .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3);text-decoration:none}.btn:disabled{opacity:.5;cursor:default}.btn .icon svg{width:18px;height:18px}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.07)}.btn-ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-danger{color:var(--blunder)}.btn-danger:hover:not(:disabled){background:var(--blunder-soft);color:var(--blunder)}.btn-sm{height:34px;padding:0 12px;font-size:13.5px}.btn-lg{height:46px;padding:0 22px;font-size:16px}.btn-block{width:100%}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field{border:1px solid var(--line-2);background:var(--surface-2);width:100%;color:var(--text);border-radius:10px;padding:10px 12px;transition:border-color .12s}.field::placeholder{color:var(--text-3)}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:0}textarea.field{resize:none;min-height:46px;line-height:1.45;font-family:var(--mono);font-size:13.5px}.label{color:var(--text-2);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.help{color:var(--text-3);margin-top:8px;font-size:13px}.help code{font-family:var(--mono);color:var(--text-2);font-size:12.5px}.seg{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{height:32px;color:var(--text-2);white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:1;padding:0 14px;font-weight:500}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000040}.seg.block{display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-2);background:var(--surface);height:32px;color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13.5px;font-weight:500;display:inline-flex}.chip[aria-pressed=true],.chip[data-on=true]{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.chip-speed{cursor:pointer;gap:5px;padding-right:9px;position:relative}.chip-select{border-radius:inherit;opacity:0;appearance:none;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.chip-select:focus-visible+.chip-select-text{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.chip-caret{color:var(--text-3);font-size:10px;line-height:1}.chip[data-on=true] .chip-caret{color:var(--text-2)}.chip .dot{background:currentColor;border-radius:50%;width:8px;height:8px}.chip.tactic .dot{background:var(--tactic)}.chip.only_move .dot{background:var(--only)}.chip.blunder .dot{background:var(--blunder)}.chip.opening .dot{background:var(--opening)}.badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;height:24px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.badge.tactic{background:var(--tactic-soft);color:var(--tactic)}.badge.only_move{background:var(--only-soft);color:var(--only)}.badge.blunder{background:var(--blunder-soft);color:var(--blunder)}.badge.opening{background:var(--opening-soft);color:var(--opening)}.badge.solved{background:var(--good-soft);color:var(--good)}.badge.neutral{background:var(--surface-3);color:var(--text-2)}.badge .icon svg{stroke-width:2.4px;width:14px;height:14px}.tag{border:1px solid var(--line);background:var(--surface-2);height:22px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;font-size:11.5px;font-weight:500;display:inline-flex}.notice{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--text-2);padding:14px 16px;font-size:14px}.notice.error{border-color:color-mix(in srgb, var(--blunder) 55%, transparent);color:var(--text)}.notice.accent{border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.notice .btn-row{margin-top:10px}.notice strong{color:var(--text)}.empty{text-align:center;color:var(--text-2);padding:40px 24px}.empty h2{color:var(--text);margin-bottom:6px;font-size:18px;font-weight:600}.empty .btn-row{justify-content:center;margin-top:16px}.progress{background:var(--surface-3);border-radius:3px;height:6px;overflow:hidden}.progress>div{background:var(--accent);border-radius:3px;width:0;height:100%;transition:width .35s}.progress.indeterminate>div{width:30%;animation:1.2s ease-in-out infinite slide}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(400%)}}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:40;border:1px solid var(--line-2);background:var(--surface-2);color:var(--text);box-shadow:var(--shadow);opacity:0;pointer-events:none;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:500;transition:opacity .18s,transform .18s;position:fixed;transform:translate(-50%,8px)}.toast.show{opacity:1;transform:translate(-50%)}@media (width<=880px){.toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}.spinner{border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-row{color:var(--text-2);align-items:center;gap:10px;padding:24px 0;display:flex}.puzzle-foot{flex-direction:column;gap:12px;min-width:0;display:flex}.puzzle-badges{flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.puzzle-badges>*{flex:none}.puzzle-badges .puzzle-opening-name{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.puzzle-title{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:700;line-height:1.2;overflow:hidden}.puzzle-title .san{font-weight:700}.puzzle-evals{color:var(--text-2);font-size:14px}.puzzle-evals b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.puzzle-why{color:var(--text-2);font-size:14px}.puzzle-prompt{color:var(--text);font-size:15px;font-weight:600}.puzzle-tags{flex-wrap:wrap;gap:5px;display:flex}.puzzle-game{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;display:flex}.puzzle-game a{align-items:center;gap:4px;display:inline-flex}.puzzle-game .icon svg{width:14px;height:14px}.puzzle-lichess{align-items:center;gap:4px;font-size:13px;display:inline-flex}.puzzle-feedback{border:1px solid color-mix(in srgb, var(--blunder) 45%, transparent);border-radius:var(--r-md);background:color-mix(in srgb, var(--blunder) 9%, transparent);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.puzzle-feedback-text{color:var(--text);word-break:break-word;font-size:14.5px;line-height:1.45}.puzzle-feedback-text b:first-child{color:var(--blunder)}.fold-all{text-align:right;min-width:8.6em}@media (width<=880px){.train-screen .screen-head,.drill-screen .screen-head{display:none}.train-counts,.train-counts .train-stats{flex-wrap:wrap;align-items:baseline;gap:2px 12px;display:flex}.wide-only{display:none}}.train-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:18px;display:flex}.train-stats{color:var(--text-2);align-items:baseline;gap:14px;font-size:14px;display:flex}.train-stats b{color:var(--text);font-variant-numeric:tabular-nums;font-size:15px}.puzzle-tags{align-items:center}.tag.tag-btn{border:1px solid var(--line-2);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.tag.tag-btn:hover{border-color:var(--text-3)}.puzzle-tags .tag:not(.tag-btn){color:var(--text-3);background:0 0;border-color:#0000;padding:0 4px}@media (width<=880px){.puzzle-tags{gap:6px}.puzzle-tags .tag{height:34px;font-size:13.5px}.tag.tag-btn{padding:0 13px}}.train-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.train-pos{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:13px}.train-stage{margin-top:6px}.games-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:14px;display:flex}.day{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin:20px 0 8px;font-size:12.5px;font-weight:600}.day:first-child{margin-top:4px}.game-list{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.game-row{border:0;border-top:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:0 0;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 14px;display:grid}.game-row:first-child{border-top:0}.game-row:hover{background:var(--surface-2)}.res{background:var(--surface-3);width:30px;height:30px;color:var(--text-2);border-radius:9px;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:inline-flex}.res.won{background:var(--good-soft);color:var(--good)}.res.lost{background:var(--blunder-soft);color:var(--blunder)}.game-main{min-width:0}.game-opp{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-weight:600;display:flex;overflow:hidden}.game-sub{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:12.5px;overflow:hidden}.game-side{font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:13px;display:flex}.count{border-radius:999px;align-items:center;gap:4px;height:24px;padding:0 8px;font-size:12.5px;font-weight:600;display:inline-flex}.count .dot{border-radius:50%;width:7px;height:7px}.count.tactic{background:var(--tactic-soft);color:var(--tactic)}.count.tactic .dot{background:var(--tactic)}.count.only_move{background:var(--only-soft);color:var(--only)}.count.only_move .dot{background:var(--only)}.count.blunder{background:var(--blunder-soft);color:var(--blunder)}.count.blunder .dot{background:var(--blunder)}.count.opening{background:var(--opening-soft);color:var(--opening)}.count.opening .dot{background:var(--opening)}.count.due{background:var(--accent-soft);color:var(--accent)}.count.neutral{background:var(--surface-3);color:var(--text-2)}.count.done{color:var(--good);background:var(--good-soft)}.count.clean{color:var(--text-3);background:var(--surface-3)}.game-row .chev{color:var(--text-3)}.game-row .chev svg{width:16px;height:16px}@media (width<=560px){.game-row{grid-template-columns:30px minmax(0,1fr) auto;gap:10px;padding:10px 12px}.game-side{gap:4px}.game-row .chev{display:none}}.game-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;margin-bottom:16px;display:flex}.game-head h1{letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.2}.game-head .meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:4px;font-size:14px;display:flex}.game-head .meta .res{border-radius:6px;width:22px;height:22px;font-size:11px}.back{border:1px solid var(--line-2,var(--line));background:var(--surface);height:36px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin-bottom:14px;padding:0 14px 0 9px;font-size:14px;font-weight:600;display:inline-flex}.back:hover{border-color:var(--text-3)}.back .icon svg{width:17px;height:17px}@media (width<=880px){.back{display:none}.game-head h1{font-size:20px}}.graph{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:10px 12px 6px;position:relative}.graph svg{width:100%;height:112px;display:block}.graph circle.mark{cursor:pointer}.graph .caption{color:var(--text-3);justify-content:space-between;gap:10px;margin-top:4px;font-size:12px;display:flex}.pills{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 14px;display:flex}.pill{border:1.5px solid var(--line-2);background:var(--surface);min-width:36px;height:32px;color:var(--text-2);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-size:13.5px;font-weight:600;display:inline-flex}.pill.tactic{border-color:color-mix(in srgb, var(--tactic) 60%, transparent);color:var(--tactic)}.pill.only_move{border-color:color-mix(in srgb, var(--only) 60%, transparent);color:var(--only)}.pill.blunder{border-color:color-mix(in srgb, var(--blunder) 60%, transparent);color:var(--blunder)}.pill.opening{border-color:color-mix(in srgb, var(--opening) 60%, transparent);color:var(--opening)}.pill.done{background:var(--good-soft);color:var(--good);border-color:#0000}.pill[aria-current=true]{background:var(--text);border-color:var(--text);color:var(--bg)}.pill .icon svg{stroke-width:2.6px;width:14px;height:14px}.pills .spacer{flex:1}.pills .pos{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:13px}.finished{text-align:center;padding:28px 20px}.finished h2{margin-bottom:4px;font-size:20px}.analyse-form{flex-direction:column;gap:16px;display:flex}.analyse-options{flex-wrap:wrap;gap:12px 24px;display:flex}.analyse-options .opt{flex-direction:column;gap:6px;display:flex}.analyse-status{margin-top:18px}.stage-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.stage-row b{font-weight:600}.kinds{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.kind{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:14px 16px}.kind h3{align-items:center;gap:8px;margin-bottom:4px;font-size:14px;font-weight:600;display:flex}.kind p{color:var(--text-2);font-size:13px}@media (width<=720px){.kinds{grid-template-columns:1fr}}.settings{flex-direction:column;gap:16px;max-width:720px;display:flex}.settings .card{padding:4px 20px}.settings h2{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);padding:16px 0 6px;font-size:13px;font-weight:600}.row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.row:first-of-type{border-top:0}.row .row-main{flex:1;min-width:0}.row .row-title{font-weight:600}.row .row-sub{color:var(--text-2);margin-top:2px;font-size:13px}.row .row-ctl{flex:none}.row.stack{flex-direction:column;align-items:stretch}.row.stack .row-ctl{margin-top:10px}.inline-form{gap:8px;display:flex}.inline-form .field{flex:1;min-width:0}.board-options{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;display:grid}.board-option{border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-2);flex-direction:column;align-items:center;gap:8px;padding:10px 8px;font-size:13px;font-weight:500;display:flex}.board-option svg{border-radius:6px;width:64px;height:64px}.board-option[aria-pressed=true]{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.credits{color:var(--text-3);padding:12px 0 14px;font-size:13px;line-height:1.6}@media (width<=560px){.row{flex-wrap:wrap}.row .row-ctl{width:100%}.row .row-ctl .seg{display:flex}}.gate{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.gate-card{text-align:center;width:100%;max-width:400px;padding:32px 28px}.gate-card .brand{justify-content:center;padding:0 0 16px;font-size:24px}.gate-card p{color:var(--text-2);margin-bottom:22px}.gate-card #gbutton{justify-content:center;min-height:44px;display:flex}.gate-card .denied{color:var(--blunder);margin:16px 0 0;font-size:13.5px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.nav-item .nav-badge,.tab .nav-badge{background:var(--accent);min-width:18px;height:18px;color:var(--accent-ink);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px}.nav-item .nav-badge{margin-left:auto}.tab{position:relative}.tab .nav-badge{position:absolute;top:1px;left:calc(50% + 6px)}.screen-head.many,.screen-head.many .actions{flex-wrap:wrap}@media (width<=880px){.screen-head.many .actions{width:100%}.screen-head.many .actions .btn{flex:auto}.train-filters{flex-wrap:nowrap;width:100%;min-width:0}.train-filters .chips{scrollbar-width:none;flex-wrap:nowrap;flex:1;min-width:0;margin:-2px 0;padding:2px 0;overflow-x:auto}.train-filters .chips.fade-end{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.train-filters .chips.fade-start{-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px);mask-image:linear-gradient(90deg,#0000,#000 28px)}.train-filters .chips.fade-start.fade-end{-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000)}.train-filters .chips::-webkit-scrollbar{display:none}.train-filters .chip{flex:none}.train-bar>div:first-child{width:100%}}.train-drill a{font-weight:600}.puzzle-opening-name{color:var(--text-2);font-size:13px;font-weight:500}.puzzle-comment{color:var(--text-2);font-size:14px;font-style:italic}.puzzle-stats{color:var(--text-3);font-size:13px}.puzzle-why b{color:var(--text)}.answer-comment{color:var(--text-2);font-size:13.5px;font-weight:400;display:block}.opening-line{color:var(--text-2);margin-top:4px;font-size:13.5px;line-height:1.55}.opening-line .sep{white-space:pre}.opening-line .opening-name{color:var(--opening);font-weight:500}.opening-line .opening-left{color:var(--text)}.graph .book-band{fill:var(--opening);opacity:.09}.res.side-mark{font-size:20px;line-height:1}.game-head .meta .res.side-mark{font-size:16px}.view-board{aspect-ratio:1;background:var(--surface-2);border-radius:10px;flex:none;width:100%;overflow:hidden}.view-board .cm-chessboard .marker.last-move,.view-board .cm-chessboard .marker.last-move use{fill:#9bc70069}.view-board-error{height:100%;color:var(--text-3);justify-content:center;align-items:center;font-size:14px;display:flex}.book-panel{flex-direction:column;gap:8px;min-width:0;display:flex}.book-panel .loading-row{padding:12px 0}.book-panel.loading{opacity:.45;transition:opacity .15s}.book-name{color:var(--opening);font-weight:600}.book-sub{color:var(--text-2);flex-wrap:wrap;gap:2px 12px;font-size:13px;display:flex}.book-sub b{color:var(--text);font-weight:600}.book-moves{border-collapse:collapse;width:100%;font-size:13.5px}.book-moves th{text-align:right;color:var(--text-3);white-space:nowrap;padding:4px 6px;font-size:11.5px;font-weight:600}.book-moves td{border-top:1px solid var(--line);text-align:right;color:var(--text-2);white-space:nowrap;padding:5px 6px}.book-moves th:first-child,.book-moves td:first-child{text-align:left;padding-left:0}.book-recommended{border:1px solid color-mix(in srgb, var(--good) 35%, transparent);border-radius:var(--r-md);background:color-mix(in srgb, var(--good) 8%, transparent);margin:10px 0 12px;padding:10px 12px}.book-recommended-head{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px;font-size:11.5px;font-weight:600}.book-pick{color:var(--text-2);align-items:baseline;gap:8px;font-size:13.5px;display:flex}.book-pick .san{min-width:38px;color:var(--text);flex:none;font-size:15px}.book-pick.also{margin-top:2px}.book-pick.also .san{font-size:13.5px;font-weight:600}.book-moves td.san.pick:after{content:"";background:var(--good);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.book-moves td.san{color:var(--text);font-weight:600}.book-more{align-self:flex-start;font-size:13px}.learn{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;gap:20px;display:grid}.learn-list{min-width:0}.learn-controls{flex-direction:column;gap:10px;margin-bottom:10px;display:flex}.learn-count{margin-bottom:8px;font-size:13px}.families{flex-direction:column;gap:8px;display:flex}.family{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.family-head{width:100%;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:11px 14px;display:flex}.family-head:hover{background:var(--surface-2)}.family-head .chev svg{width:16px;height:16px;color:var(--text-3);transition:transform .15s}.family-head[aria-expanded=true] .chev svg{transform:rotate(90deg)}.family-title{flex-wrap:wrap;align-items:center;gap:2px 8px;min-width:0;display:flex}.family-name{min-width:0;font-weight:600}.family-head .spacer{flex:1}.family-meta{white-space:nowrap;font-size:12.5px}.family-lines{border-top:1px solid var(--line)}.line-row{border:0;border-top:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:0 0;align-items:center;gap:12px;padding:9px 14px 9px 38px;display:flex}.line-row:first-child{border-top:0}.line-row:hover{background:var(--surface-2)}.line-row[aria-pressed=true]{background:var(--opening-soft)}.line-main{flex:1;min-width:0}.line-name{align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.dot-gambit{background:var(--opening);border-radius:50%;flex:none;width:7px;height:7px}.line-moves{font-family:var(--mono);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:12px;overflow:hidden}.line-side{white-space:nowrap;flex-direction:column;align-items:flex-end;font-size:12.5px;display:flex}.learn-more{margin-top:4px}.learn-panel{flex-direction:column;gap:14px;max-height:calc(100vh - 40px);padding:16px;display:flex;position:sticky;top:20px;overflow-y:auto}.learn-panel-head{padding-right:56px;position:relative}.learn-panel-head h2{font-size:17px;font-weight:700;line-height:1.3}.learn-panel-head .line-moves{white-space:normal}.learn-close{position:absolute;top:-6px;right:-8px}.learn-empty{text-align:center;color:var(--text-3);padding:28px 8px;font-size:14px}.learn-build{flex-direction:column;gap:8px;display:flex}.learn-build .help{margin-top:0}@media (width<=880px){.learn{grid-template-columns:minmax(0,1fr)}.learn-panel{order:-1;max-height:none;position:static}.learn-panel.placeholder{display:none}.learn-panel{scroll-margin-top:calc(64px + env(safe-area-inset-top,0px))}.line-row{padding-left:14px}}.import-result{margin-top:18px}.import-summary{color:var(--text-2);font-size:15px}.import-summary b{color:var(--text)}.chapters{color:var(--text-2);margin:10px 0 0;padding-left:22px;font-size:14px}.chapters li{padding:3px 0}.chapters li span+span{margin-left:8px}.import-fields{flex-wrap:wrap;gap:16px 24px;margin-top:16px;display:flex}.import-name{flex:1;min-width:200px}.rep-row .count{white-space:nowrap}@media (width<=560px){.rep-row{grid-template-columns:30px minmax(0,1fr)}.rep-row .game-side{flex-wrap:wrap;grid-column:2;justify-content:flex-start}.family-count{display:none}}@media (width<=880px){.train-stats{flex-wrap:wrap;gap:2px 12px}}.rep-here{flex-wrap:wrap;gap:8px;display:flex}.rep-book{min-width:0;padding:0;overflow:hidden}.rep-book>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:11px 12px 11px 16px;list-style:none;display:flex}.rep-book>summary::-webkit-details-marker{display:none}.rep-book>summary:hover{background:var(--surface-2)}.rep-book-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);font-size:13px;font-weight:600}.rep-book-sub{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-2);flex:1;font-size:13px;overflow:hidden}.rep-book-chev{color:var(--text-3);flex:none;transition:transform .15s}.rep-book-chev svg{width:18px;height:18px}.rep-book[open]>summary .rep-book-chev{transform:rotate(90deg)}.rep-book[open]>summary .rep-book-sub{visibility:hidden}.rep-book[open]>summary{border-bottom:1px solid var(--line)}.rep-book-body{padding:10px 16px 14px}.rep-main{min-width:0}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:12px;display:flex;overflow-x:auto}.tab-btn{color:var(--text-2);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 12px;font-size:14px;font-weight:600;display:inline-flex}.tab-btn[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.tab-count{background:var(--surface-3);color:var(--text-3);border-radius:999px;padding:0 7px;font-size:11.5px;line-height:18px}.tab-btn[aria-selected=true] .tab-count{background:var(--opening-soft);color:var(--opening)}.rep-main .rep-list{margin-top:0}.rep-caption{flex-direction:column;gap:4px;font-size:14px;display:flex}.rep-caption-head{align-items:center;gap:10px;min-height:34px;display:flex}.rep-caption-mid{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.rep-caption-move{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;display:flex}.rep-caption p,.rep-notes p{margin:0;font-size:13.5px}.rep-notes{flex-direction:column;gap:4px;display:flex}.rep-notes:empty{display:none}.rep-here-actions{flex-wrap:wrap;gap:8px;display:flex}.menu{position:relative}.menu>summary{cursor:pointer;min-width:36px;padding:0 10px;font-size:18px;line-height:1;list-style:none}.menu>summary::-webkit-details-marker{display:none}.menu-list{z-index:30;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);min-width:200px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #0000002e}.menu-item{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:14px;display:block}.menu-item:hover{background:var(--surface-2)}.menu-item.danger{color:var(--blunder)}.rep-tree{min-width:0;padding:14px 16px}.rep-book h2,.rep-list h2{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px;font-size:13px;font-weight:600}.tree{word-break:break-word;font-size:14.5px;line-height:2}.tree .mv{color:var(--text-2);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:5px;margin:0 1px;padding:2px 4px;display:inline}.tree .mv.yours{color:var(--text);font-weight:600}.tree .mv:hover{background:var(--surface-2)}.tree .mv.at{background:var(--text);color:var(--bg)}.tree .mv .mv-num{color:var(--text-3);margin-right:3px;font-weight:400}.tree .mv.at .mv-num{color:inherit}.tree .mv.learned:not(.at){text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--good) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--good) 70%, transparent);text-underline-offset:4px;text-decoration-thickness:2px}.tree .mv.trap:not(.at){color:var(--opening)}.tree .mv.flag-unsound:not(.at){color:var(--blunder)}.tree .mv.flag-dubious:not(.at){color:var(--tactic)}.tree .nag{margin-left:1px}.tree .tree-row{display:block}.tree .variations{border-left:2px solid var(--line-2);margin:2px 0 6px 10px;padding-left:12px;line-height:1.9}.tree .variation{margin:1px 0}.tree .node-name{background:var(--opening-soft);color:var(--opening);border-radius:999px;margin:0 6px 0 2px;padding:0 7px;font-size:11.5px;font-weight:600;line-height:20px;display:inline-block}.tree .transposes{font-size:13px}.move-mark{border-radius:999px;padding:0 6px;font-size:11px;font-weight:600;line-height:18px;display:inline-block}.move-mark.trap{background:var(--opening-soft);color:var(--opening)}.move-mark.flag{background:var(--blunder-soft);color:var(--blunder)}.rep-list-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.rep-list-head h2{margin:0}.rep-list{margin-top:16px;padding:14px 16px 6px}.rep-list .help{margin:-4px 0 8px}.rep-item{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;display:flex}.rep-more{margin:4px 0 10px;font-size:13px}.rep-item-main{min-width:220px;color:var(--text);text-align:left;background:0 0;border:0;flex:1;padding:0}.rep-item-title{font-weight:600}.rep-item-sub{color:var(--text-2);font-size:13px}.rep-item-actions{flex-wrap:wrap;align-items:center;gap:8px 6px;font-size:13px;display:flex}.rep-item-dates{gap:8px;margin-right:6px;font-size:12.5px;display:inline-flex}@media (width<=560px){.rep-item-dates{flex-basis:100%;margin-right:0}}@media (width<=880px){.rep-where .mv-chip{border-radius:10px;justify-content:center;min-width:56px;height:38px;padding:0 14px;font-size:15px}.rep-where .mv-chip.plus{width:38px;min-width:0;font-size:18px}.tree,.tree .variations{line-height:2.5}.tree .mv{padding:6px 8px;line-height:1.2;display:inline-block}.tree .more-lines{min-width:34px;height:28px;padding:0 10px 0 7px;font-size:12.5px}.tree .grow-line{width:28px;height:28px;font-size:16px}}.chip.chip-motif{border-color:var(--accent);background:var(--accent-soft);color:var(--text);font-weight:600}.chip .chip-x{color:var(--text-2);margin-left:2px;font-size:15px;line-height:1}.motif-card{margin-bottom:16px;padding:14px 16px 6px}.motif-card .rep-list-head h2{font-size:17px}.motif-row{border-top:1px solid var(--line);align-items:center;gap:16px;padding:12px 0;display:flex}.motif-main{flex:1;min-width:0}.motif-name{font-size:15px;font-weight:600}.motif-name:first-letter{text-transform:uppercase}.motif-means{color:var(--text-2);margin-top:2px;font-size:13px}.motif-bar{background:var(--surface-3);border-radius:999px;height:5px;margin-top:8px;overflow:hidden}.motif-bar-done{background:var(--good);border-radius:999px;height:100%}.motif-side{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:4px;font-size:12.5px;display:flex}.motif-count{font-size:14px}.motif-actions{gap:8px;margin-top:2px;display:flex}@media (width<=560px){.motif-row{flex-direction:column;align-items:stretch;gap:8px}.motif-side{text-align:left;flex-direction:row;justify-content:space-between;align-items:center}.motif-side .faint{display:none}.motif-actions{flex:none}.motif-actions .btn{height:38px}}.spar-title-row{align-items:center;gap:10px;min-width:0;display:flex}.spar-title-row .puzzle-title{flex:1;min-width:0}.spar-title-row .eval-pill{flex:none;margin-left:0;padding:3px 9px;font-size:14px}.spar-bar{border:1px solid var(--line-2);background:#16171a;border-radius:999px;height:8px;overflow:hidden}.spar-bar-white{background:#fff;width:50%;height:100%;transition:width .35s}.spar-strip{box-sizing:border-box;border-radius:var(--r-md);height:46px;color:var(--text-2);-webkit-line-clamp:2;border:1px solid #0000;-webkit-box-orient:vertical;padding:4px 10px;font-size:13.5px;line-height:18px;display:-webkit-box;overflow:hidden}.spar-strip b{color:var(--text)}.spar-strip .spar-from{color:var(--text-3);font-size:12px}.spar-strip .spar-new{color:var(--opening);font-weight:600}.spar-strip.alarm{border-color:var(--blunder);background:var(--blunder);color:#fff;font-size:14.5px;font-weight:500;animation:.4s ease-in-out spar-shake}.spar-strip.alarm b{color:#fff;font-weight:800}@keyframes spar-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.btn.btn-alarm{border-color:var(--blunder);background:var(--blunder);color:#fff}.spar-level-row{flex-direction:column;gap:6px;display:flex}.spar-level-row .label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);font-size:12px;font-weight:600}.spar-levels{flex-wrap:wrap}.spar .puzzle-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=880px){.spar-levels{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:0 16px;overflow-x:auto}.spar-levels::-webkit-scrollbar{display:none}.spar-levels .chip{flex:none}}.spar-path .spar-you{color:var(--text);font-weight:600}.spar-path .spar-bot{color:var(--text-2)}.spar-bot-note{margin:0}.spar-note .drill-note-title+.spar-bot-note,.spar-note p+.spar-bot-note{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.spar-summary{flex-direction:column;gap:6px;display:flex}.spar-summary[hidden]{display:none}.spar-summary p{margin:0}.spar-summary .btn-row{margin-top:6px}.drill-path{font-family:var(--mono);word-break:break-word;font-size:13px}.drill-note{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-height:48px;color:var(--text-2);padding:10px 14px;font-size:14px}.drill-note p{margin-top:4px}.drill-note-title{color:var(--text);flex-wrap:wrap;align-items:center;gap:4px;font-weight:500;display:flex}.drill-note-title.good{color:var(--good);font-weight:600}.drill-note-title .icon svg{stroke-width:2.4px;width:16px;height:16px}.drill-note-next{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.drill-note .bad{color:var(--blunder)}.drill-done{border-radius:var(--r-md);background:var(--good-soft);color:var(--text);padding:10px 14px;font-size:14px}.drill-done b{color:var(--good)}.more-lines{border:1px solid var(--line);background:var(--surface-2);min-width:22px;height:19px;color:var(--text-3);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;gap:2px;margin:0 2px 0 6px;padding:0 6px 0 4px;font-size:11.5px;font-weight:600;display:inline-flex}.more-lines:hover{color:var(--text);border-color:var(--text-3)}.more-lines.open{background:var(--surface-3);color:var(--text-2)}.rep-tree .rep-list-head{margin-bottom:8px}.rep-tree .rep-list-head h2{margin:0;font-size:15px}.rep-head-actions{align-items:center;gap:14px;display:flex}.book-add{text-align:right;width:28px}.book-add-help{margin-top:6px}.more-lines .caret{font-size:10px;line-height:1}.view-board .cm-chessboard .marker.good-move,.view-board .cm-chessboard .marker.good-move use{fill:color-mix(in srgb, var(--good) 45%, transparent)!important}.view-board .cm-chessboard .marker.bad-move,.view-board .cm-chessboard .marker.bad-move use{fill:color-mix(in srgb, var(--blunder) 45%, transparent)!important}.view-board .cm-chessboard .marker.hint-square,.view-board .cm-chessboard .marker.hint-square use{fill:#2ea0439e!important}.view-board .cm-chessboard .marker.hint-square.hint-shade-1,.view-board .cm-chessboard .marker.hint-square.hint-shade-1 use{fill:#4cc47480!important}.view-board .cm-chessboard .marker.hint-square.hint-shade-2,.view-board .cm-chessboard .marker.hint-square.hint-shade-2 use{fill:#8cdca080!important}.view-board .cm-chessboard .arrow.hint-arrow .arrow-line{stroke:#2ea043;stroke-linecap:round;opacity:.8}.view-board .cm-chessboard .arrow.hint-arrow .arrow-head{fill:#2ea043;fill-rule:nonzero}.view-board .cm-chessboard .arrow.hint-arrow.hint-shade-1 .arrow-line{stroke:#4cc474;opacity:.7}.view-board .cm-chessboard .arrow.hint-arrow.hint-shade-1 .arrow-head{fill:#4cc474}.view-board .cm-chessboard .arrow.hint-arrow.hint-shade-2 .arrow-line{stroke:#8cdca0;opacity:.7}.view-board .cm-chessboard .arrow.hint-arrow.hint-shade-2 .arrow-head{fill:#8cdca0}.mark-key{vertical-align:-1px;border-radius:3px;width:10px;height:10px;display:inline-block}.mark-key.good{background:color-mix(in srgb, var(--good) 60%, transparent)}.mark-key.bad{background:color-mix(in srgb, var(--blunder) 60%, transparent)}.rep-where{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px;font-size:13.5px;display:flex}.rep-where-says{flex:none;min-width:98px}.mv-chip{border:1px solid var(--line);background:var(--surface);height:26px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:8px;align-items:center;padding:0 9px;font-size:13.5px;font-weight:600;display:inline-flex}.mv-chip:hover{border-color:var(--text-3);background:var(--surface-2)}.mv-chip.theirs{color:var(--text-2);font-weight:500}.mv-chip.good{border-color:color-mix(in srgb, var(--good) 50%, transparent);background:color-mix(in srgb, var(--good) 12%, transparent)}.mv-chip.bad{border-color:color-mix(in srgb, var(--blunder) 50%, transparent);background:color-mix(in srgb, var(--blunder) 10%, transparent)}.mv-chip.trap{color:var(--opening)}.mv-chip.flag-unsound{color:var(--blunder)}.mv-chip.flag-dubious{color:var(--tactic)}.plus{cursor:pointer;justify-content:center;font-weight:700;line-height:1}.mv-chip.plus{width:26px;color:var(--text-2);padding:0;font-size:16px}.mv-chip.plus.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.mv-chip.plus.primary:hover{filter:brightness(1.06);background:var(--accent);border-color:var(--accent)}.grow-line{border:1px solid color-mix(in srgb, var(--accent) 55%, transparent);background:var(--accent-soft);width:19px;height:19px;color:var(--accent);vertical-align:middle;border-radius:999px;align-items:center;margin-left:6px;padding:0 0 1px;font-size:14px;display:inline-flex}.grow-line:hover{background:var(--accent);color:var(--accent-ink)}.plus.busy{cursor:progress;animation:.9s ease-in-out infinite plus-pulse}@keyframes plus-pulse{50%{opacity:.35}}.eval-pill{border:1px solid var(--line-2);font-variant-numeric:tabular-nums;cursor:help;border-radius:6px;margin-left:auto;padding:2px 8px;font-size:13px;font-weight:700;line-height:1.35}.eval-pill.white{color:#16171a;background:#fff}.eval-pill.black{color:#fff;background:#16171a;border-color:#000}.eval-pill.none{color:var(--text-3);background:0 0;font-weight:500}.mv-chip.step{border-color:var(--text-3);background:var(--surface-2);width:40px;height:32px;color:var(--text);border-radius:9px;flex:none;justify-content:center;padding:0}.mv-chip.step .icon svg{stroke-width:2.4px;width:18px;height:18px}.mv-chip.step:hover:not(:disabled){border-color:var(--text);background:var(--surface-3)}.mv-chip.step:active:not(:disabled){transform:translate(-1px)}.mv-chip.step:disabled{border-color:var(--line);color:var(--text-3);opacity:.45;cursor:default;background:0 0}.mine{margin-bottom:16px;padding:14px 16px 10px}.mine .rep-list-head{flex-wrap:wrap;gap:8px 12px}.mine .rep-list-head h2{margin:0;font-size:15px}.mine .help{margin:4px 0 10px}.mine .chips{margin-bottom:10px}.mine-families{border-top:1px solid var(--line);flex-direction:column;display:flex}.mine-family{border-bottom:1px solid var(--line)}.mine-head{width:100%;color:var(--text);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:10px 2px;display:flex}.mine-head:hover{background:var(--surface-2)}.mine-head-main,.mine-line-main{min-width:0}.mine-head-side,.mine-line-side{flex:none;align-items:center;gap:8px;display:flex}.mine-head .chev{color:var(--text-3)}.mine-head .chev svg{width:16px;height:16px;transition:transform .15s}.mine-head[aria-expanded=true] .chev svg{transform:rotate(90deg)}.mine-lines{border-left:2px solid var(--line-2);margin:0 0 8px 8px;padding:0 0 8px 14px}.mine-line{justify-content:space-between;align-items:center;gap:10px;padding:6px 4px;display:flex}.mine-line-main{color:var(--text);text-align:left;background:0 0;border:0;flex:1;padding:0}.mine-line-main:disabled{color:var(--text-2)}.mine-line-main:not(:disabled):hover .line-name{text-underline-offset:3px;text-decoration:underline}@media (width<=560px){.mine-head,.mine-line{flex-wrap:wrap}.mine-head-side,.mine-line-side{justify-content:flex-start;width:100%}}.admin-screen .card{margin-bottom:16px;padding:16px 20px 20px}.admin-screen .card>h2{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin:0;font-size:13px;font-weight:600}.admin-screen .card>.row:first-of-type{border-top:0}.admin-heading{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin:22px 0 12px;font-size:15px}.admin-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:12px;display:grid}.admin-tile{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);padding:12px 14px}.admin-tile-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.1}.admin-tile-label{color:var(--text-2);margin-top:2px;font-size:13px}.admin-tile-sub{min-height:15px;color:var(--text-3);margin-top:4px;font-size:12px}.admin-person-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.admin-email{word-break:break-all;font-size:17px;font-weight:600}.admin-badges{flex-wrap:wrap;gap:6px;display:flex}.admin-sparks{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 18px;margin-top:14px;display:grid}.admin-spark svg{width:100%;height:30px;display:block}.admin-spark-head{color:var(--text-2);justify-content:space-between;gap:8px;margin-bottom:4px;font-size:12px;display:flex}.admin-spark rect.on{fill:var(--accent)}.admin-spark rect.off{fill:var(--line-2)}.admin-facts{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px 20px;margin-top:14px;padding-top:12px;font-size:13px;display:grid}.admin-fact{justify-content:space-between;gap:12px;padding:3px 0;display:flex}.admin-fact-label{color:var(--text-3)}.admin-fact-value{color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums}.admin-work-count{font-size:17px;font-weight:700}.admin-tables{flex-direction:column;gap:6px;margin-top:12px;display:flex}.admin-table-row{grid-template-columns:minmax(140px,1.2fr) minmax(90px,.8fr) minmax(80px,2fr) minmax(70px,.7fr);align-items:center;gap:12px;font-size:13px;display:grid}.admin-table-name{font-family:var(--mono);font-size:12.5px}.admin-table-rows,.admin-table-bytes{color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums}.admin-table-bar{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.admin-table-fill{background:var(--accent);opacity:.7;height:100%}.admin-recent{flex-direction:column;margin-top:8px;display:flex}.admin-recent-row{border-top:1px solid var(--line);grid-template-columns:minmax(90px,.7fr) minmax(120px,1fr) minmax(180px,2fr) minmax(80px,.6fr);align-items:baseline;gap:12px;padding:7px 0;font-size:13px;display:grid}.admin-recent-row:first-child{border-top:0}.admin-recent-when,.admin-recent-who{color:var(--text-3)}.admin-recent-found{text-align:right;color:var(--text-2);font-variant-numeric:tabular-nums}@media (width<=880px){.admin-tiles{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.admin-tile-value{font-size:19px}.admin-table-row{grid-template-columns:1fr auto;grid-template-areas:"name rows""bar bytes";gap:4px 12px;padding:4px 0}.admin-table-name{grid-area:name}.admin-table-rows{grid-area:rows}.admin-table-bar{grid-area:bar;align-self:center}.admin-table-bytes{grid-area:bytes}.admin-recent-row{grid-template-columns:1fr auto;grid-template-areas:"when who""game found";gap:2px 12px}.admin-recent-when{grid-area:when}.admin-recent-who{text-align:right;grid-area:who}.admin-recent-game{grid-area:game}.admin-recent-found{grid-area:found}.admin-fact{gap:8px}}.train-screen.is-new .train-bar{display:none}.welcome{max-width:760px;padding:28px 28px 24px}.welcome h2{margin:0;font-size:22px;line-height:1.25}.welcome h3{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin:26px 0 10px;font-size:13px;font-weight:600}.welcome-lead{max-width:60ch;color:var(--text-2);margin:10px 0 0;font-size:15.5px;line-height:1.55}.welcome-form{gap:8px;max-width:440px;margin-top:18px;display:flex}.welcome-form .field{flex:1;min-width:0;height:46px;font-size:16px}.welcome-form .btn{flex:none;height:46px}.welcome-problem{color:var(--blunder);margin:10px 0 0;font-size:14px}.welcome-problem.working{color:var(--text-3)}.welcome-fine{color:var(--text-3);margin:10px 0 0;font-size:12.5px}.welcome-progress{background:var(--surface-3);border-radius:999px;max-width:440px;height:4px;margin-top:16px;overflow:hidden}.welcome-progress span{background:var(--accent);border-radius:999px;width:35%;height:100%;animation:1.6s ease-in-out infinite welcome-slide;display:block}@keyframes welcome-slide{0%{transform:translate(-100%)}to{transform:translate(290%)}}@media (prefers-reduced-motion:reduce){.welcome-progress span{opacity:.5;width:100%;animation:none}}.ways{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.way{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);gap:12px;padding:14px;display:flex}.way:hover{border-color:var(--text-3)}.way-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.way-icon .icon svg{width:19px;height:19px}.way-text{min-width:0;color:var(--text-2);flex-direction:column;gap:3px;font-size:13px;line-height:1.45;display:flex}.way-text b{color:var(--text);font-size:14.5px}@media (width<=880px){.welcome{padding:20px 18px}.welcome h2{font-size:20px}.ways{grid-template-columns:minmax(0,1fr)}.welcome-form{flex-direction:column}.welcome-form .field,.welcome-form .btn{flex:none;width:100%}}.admin-faults:not(.clear){border-color:color-mix(in srgb, var(--blunder) 55%, var(--line))}.admin-faults:not(.clear)>h2{color:var(--blunder)}.admin-fault{border-top:1px solid var(--line);padding:10px 0}.admin-fault:first-of-type{border-top:0}.admin-fault-head{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:13px;display:flex}.admin-fault-kind{font-family:var(--mono);color:var(--blunder);font-size:12.5px;font-weight:600}.admin-fault-detail{font-family:var(--mono);color:var(--text-2);word-break:break-all;margin-top:3px;font-size:12px}.admin-fault details{margin-top:6px;font-size:12.5px}.admin-fault summary{cursor:pointer;color:var(--text-3)}.admin-fault-place{font-family:var(--mono)}.admin-fault .admin-fact-value{word-break:break-all}.cm-chessboard .board.input-enabled .square{cursor:pointer}.cm-chessboard .coordinates,.cm-chessboard .markers-layer,.cm-chessboard .pieces-layer,.cm-chessboard .markers-top-layer{pointer-events:none}.cm-chessboard-content .list-inline{padding-left:0;list-style:none}.cm-chessboard-content .list-inline-item{display:inline-block}.cm-chessboard-content .list-inline-item:not(:last-child){margin-right:1rem}.cm-chessboard-accessibility.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.cm-chessboard-accessibility button:disabled,.cm-chessboard-accessibility button:disabled:hover{opacity:.5;cursor:not-allowed;pointer-events:none}.cm-chessboard.default .board .square.white{fill:#ecdab9}.cm-chessboard.default .board .square.black{fill:#c5a076}.cm-chessboard.default.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default .coordinates .coordinate{fill:#b5936d;cursor:default;font-size:7px}.cm-chessboard.default .coordinates .coordinate.black{fill:#eeddbf}.cm-chessboard.default .coordinates .coordinate.white{fill:#b5936d}.cm-chessboard.default-contrast .board .square.white{fill:#ecdab9}.cm-chessboard.default-contrast .board .square.black{fill:#c5a076}.cm-chessboard.default-contrast.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default-contrast.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default-contrast.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default-contrast.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default-contrast .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default-contrast .coordinates .coordinate{fill:#b5936d;cursor:default;font-size:7px}.cm-chessboard.default-contrast .coordinates .coordinate.black,.cm-chessboard.default-contrast .coordinates .coordinate.white{fill:#333}.cm-chessboard.green .board .square.white{fill:#e0ddcc}.cm-chessboard.green .board .square.black{fill:#4c946a}.cm-chessboard.green.border-type-thin .board .border{stroke:#4c946a;stroke-width:.7%;fill:#4c946a}.cm-chessboard.green.border-type-none .board .border{stroke:#4c946a;stroke-width:0;fill:#4c946a}.cm-chessboard.green.border-type-frame .board .border{fill:#e0ddcc;stroke:none}.cm-chessboard.green.border-type-frame .board .border-inner{fill:#4c946a;stroke:#4c946a;stroke-width:.7%}.cm-chessboard.green .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.green .coordinates .coordinate{fill:#468862;cursor:default;font-size:7px}.cm-chessboard.green .coordinates .coordinate.black{fill:#e2e0d0}.cm-chessboard.green .coordinates .coordinate.white{fill:#468862}.cm-chessboard.blue .board .square.white{fill:#d8ecfb}.cm-chessboard.blue .board .square.black{fill:#86afcf}.cm-chessboard.blue.border-type-thin .board .border{stroke:#86afcf;stroke-width:.7%;fill:#86afcf}.cm-chessboard.blue.border-type-none .board .border{stroke:#86afcf;stroke-width:0;fill:#86afcf}.cm-chessboard.blue.border-type-frame .board .border{fill:#d8ecfb;stroke:none}.cm-chessboard.blue.border-type-frame .board .border-inner{fill:#86afcf;stroke:#86afcf;stroke-width:.7%}.cm-chessboard.blue .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.blue .coordinates .coordinate{fill:#7ba1be;cursor:default;font-size:7px}.cm-chessboard.blue .coordinates .coordinate.black{fill:#dbeefb}.cm-chessboard.blue .coordinates .coordinate.white{fill:#7ba1be}.cm-chessboard.chess-club .board .square.white{fill:#e6d3b1}.cm-chessboard.chess-club .board .square.black{fill:#af6b3f}.cm-chessboard.chess-club.border-type-thin .board .border{stroke:#692e2b;stroke-width:.7%;fill:#af6b3f}.cm-chessboard.chess-club.border-type-none .board .border{stroke:#692e2b;stroke-width:0;fill:#af6b3f}.cm-chessboard.chess-club.border-type-frame .board .border{fill:#692e2b;stroke:none}.cm-chessboard.chess-club.border-type-frame .board .border-inner{fill:#af6b3f;stroke:#692e2b;stroke-width:.7%}.cm-chessboard.chess-club .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chess-club .coordinates .coordinate{fill:#e6d3b1;cursor:default;font-size:7px}.cm-chessboard.chess-club .coordinates .coordinate.black{fill:#e6d3b1}.cm-chessboard.chess-club .coordinates .coordinate.white{fill:#af6b3f}.cm-chessboard.chessboard-js .board .square.white{fill:#f0d9b5}.cm-chessboard.chessboard-js .board .square.black{fill:#b58863}.cm-chessboard.chessboard-js.border-type-thin .board .border{stroke:#404040;stroke-width:.7%;fill:#b58863}.cm-chessboard.chessboard-js.border-type-none .board .border{stroke:#404040;stroke-width:0;fill:#b58863}.cm-chessboard.chessboard-js.border-type-frame .board .border{fill:#f0d9b5;stroke:none}.cm-chessboard.chessboard-js.border-type-frame .board .border-inner{fill:#b58863;stroke:#404040;stroke-width:.7%}.cm-chessboard.chessboard-js .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chessboard-js .coordinates .coordinate{fill:#404040;cursor:default;font-size:7px}.cm-chessboard.chessboard-js .coordinates .coordinate.black{fill:#f0d9b5}.cm-chessboard.chessboard-js .coordinates .coordinate.white{fill:#b58863}.cm-chessboard.black-and-white .board .square.white{fill:#fff}.cm-chessboard.black-and-white .board .square.black{fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-thin .board .border{stroke:#9c9c9c;stroke-width:.7%;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-none .board .border{stroke:#9c9c9c;stroke-width:0;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-frame .board .border{fill:#fff;stroke:none}.cm-chessboard.black-and-white.border-type-frame .board .border-inner{fill:#9c9c9c;stroke:#9c9c9c;stroke-width:.7%}.cm-chessboard.black-and-white .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.black-and-white .coordinates .coordinate{fill:#909090;cursor:default;font-size:7px}.cm-chessboard.black-and-white .coordinates .coordinate.black{fill:#fff}.cm-chessboard.black-and-white .coordinates .coordinate.white{fill:#909090}.cm-chessboard .keyboard-focus-indicator .keyboard-focus{fill:none;stroke:#06c;stroke-width:3px;pointer-events:none}.cm-chessboard .keyboard-focus-indicator .keyboard-from-square{fill:#0066cc4d;stroke:#06c;stroke-width:2px;pointer-events:none}.cm-chessboard:focus{outline-offset:2px;outline:2px solid #06c}.board{aspect-ratio:1;border-radius:10px;width:100%;position:relative;overflow:hidden}.board .cm-chessboard .piece,.board .cm-chessboard .piece use,.board .cm-chessboard svg use,.board .cm-chessboard svg g[data-piece]{pointer-events:none;-webkit-user-select:none;user-select:none}.board .cm-chessboard .square{cursor:pointer}.board .cm-chessboard{touch-action:pan-y}.board .cm-chessboard .marker.good-square,.board .cm-chessboard .marker.good-square use{fill:#9bc70069}.board .cm-chessboard .marker.source-square,.board .cm-chessboard .marker.source-square use,.board .cm-chessboard .marker.bad-square,.board .cm-chessboard .marker.bad-square use{fill:#ff06}.board .cm-chessboard .marker.check-square,.board .cm-chessboard .marker.check-square use{fill:#ff000080}.board .cm-chessboard .marker.last-move,.board .cm-chessboard .marker.last-move use{fill:#9bc70069}.board .cm-chessboard .marker.good-move,.board .cm-chessboard .marker.good-move use{fill:#2ea04380}.board .cm-chessboard .marker.bad-move,.board .cm-chessboard .marker.bad-move use{fill:#d8404f6b}.board .cm-chessboard .marker.hint-square,.board .cm-chessboard .marker.hint-square use{fill:#2ea0439e}.board .cm-chessboard .marker.hint-square.hint-shade-1,.board .cm-chessboard .marker.hint-square.hint-shade-1 use{fill:#4cc47480}.board .cm-chessboard .marker.hint-square.hint-shade-2,.board .cm-chessboard .marker.hint-square.hint-shade-2 use{fill:#8cdca080}.board .cm-chessboard .arrow.hint-arrow .arrow-line{stroke:#2ea043;stroke-linecap:round;opacity:.8}.board .cm-chessboard .arrow.hint-arrow .arrow-head{fill:#2ea043;fill-rule:nonzero}.board .cm-chessboard .arrow.hint-arrow.hint-shade-1 .arrow-line{stroke:#4cc474;opacity:.7}.board .cm-chessboard .arrow.hint-arrow.hint-shade-1 .arrow-head{fill:#4cc474}.board .cm-chessboard .arrow.hint-arrow.hint-shade-2 .arrow-line{stroke:#8cdca0;opacity:.7}.board .cm-chessboard .arrow.hint-arrow.hint-shade-2 .arrow-head{fill:#8cdca0}.score{align-items:center;gap:8px;height:18px;margin-top:6px;display:flex}.score-bar{border:1px solid var(--line-2);background:#16171a;border-radius:999px;flex:1;height:8px;overflow:hidden}.score-white{background:#fff;height:100%;transition:width .35s}.score-num{text-align:right;font-variant-numeric:tabular-nums;min-width:44px;color:var(--text);flex:none;font-size:13px;font-weight:700}.board .cm-chessboard .arrow.reply-arrow .arrow-line{stroke-linecap:round;opacity:.72}.board .cm-chessboard .arrow.reply-arrow .arrow-head{fill-rule:nonzero;opacity:.85}.board .cm-chessboard .arrow.reply-shade-0 .arrow-line{stroke:#d63031}.board .cm-chessboard .arrow.reply-shade-0 .arrow-head{fill:#d63031}.board .cm-chessboard .arrow.reply-shade-1 .arrow-line{stroke:#e87040}.board .cm-chessboard .arrow.reply-shade-1 .arrow-head{fill:#e87040}.board .cm-chessboard .arrow.reply-shade-2 .arrow-line{stroke:#c43a80}.board .cm-chessboard .arrow.reply-shade-2 .arrow-head{fill:#c43a80}.board .cm-chessboard .arrow.reply-shade-3 .arrow-line{stroke:#962828}.board .cm-chessboard .arrow.reply-shade-3 .arrow-head{fill:#962828}.reply-dot{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.reply-dot.reply-shade-0{background:#d63031}.reply-dot.reply-shade-1{background:#e87040}.reply-dot.reply-shade-2{background:#c43a80}.reply-dot.reply-shade-3{background:#962828}.board .cm-chessboard .square.reply-target{cursor:pointer}.board .cm-chessboard .arrow.reply-faded .arrow-line,.board .cm-chessboard .arrow.reply-faded .arrow-head{opacity:.18}.board-wrap{position:relative}.reply-chooser{z-index:6;border:1px solid var(--line-2);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;gap:6px;padding:6px;display:flex;position:absolute}.reply-choice{border:1px solid var(--line-2);background:var(--surface-2);min-width:64px;height:44px;color:var(--text);font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:0 14px;font-size:16px;font-weight:600;display:inline-flex}.reply-choice:hover{border-color:var(--text-3)}.board-screen{grid-template-columns:minmax(280px,min(520px,100vh - 250px)) minmax(0,1fr);align-items:start;gap:18px 28px;display:grid}.board-screen[hidden]{display:none}.board-col{flex-direction:column;min-width:0;display:flex}.board-sheet{flex-direction:column;gap:10px;min-width:0;display:flex}.board-sheet>*{flex:none}.board-line{align-items:center;gap:6px;min-width:0;height:44px;margin-top:4px;display:flex}.board-status{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.board-status.tone-correct{color:var(--good)}.board-status.tone-error,.board-status.tone-checkmate{color:var(--blunder)}.board-info{background:var(--surface-2);color:var(--text-2);white-space:nowrap;border-radius:6px;flex:none;padding:3px 8px;font-size:12.5px;font-weight:600}.board-info:empty{display:none}.board-line .step-btn{flex:none;justify-content:center;width:44px;height:40px;padding:0}.board-line .explore-ask,.board-line .explore-leave{white-space:nowrap;text-overflow:ellipsis;flex:none;justify-content:center;width:118px;height:40px;padding:0 8px;overflow:hidden}.board-line .explore-leave[data-spent=true]{visibility:hidden}.bar{flex-wrap:nowrap;gap:8px;margin-top:4px;display:flex}.bar>.btn{justify-content:center}.bar .menu-btn{display:none}.bar .hint-btn{width:112px;min-width:0}.bar .hint-btn.spent{visibility:hidden}.bar .advance{width:136px;min-width:0}.board-sheet .puzzle-title{font-size:22px}.moves{color:var(--text-2);flex-wrap:wrap;gap:2px 4px;font-size:13.5px;line-height:1.7;display:flex}.moves .step{color:inherit;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 4px}.moves .step:hover{background:var(--surface-2)}.moves .step.yours{color:var(--good);font-weight:700}.moves .step.at{background:var(--good-soft);color:var(--good)}.moves .moves-label{color:var(--text-3)}.aftermath{font-size:14.5px}.aftermath b{font-variant-numeric:tabular-nums}.aftermath.good{color:var(--good)}.aftermath.bad{color:var(--blunder)}.continuations{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px;font-size:13.5px;display:flex}.continuations .pick{border:1px solid var(--line-2);background:var(--surface);cursor:pointer;font:inherit;color:var(--text);border-radius:999px;padding:7px 11px;line-height:1}.continuations .pick[aria-pressed=true]{border-color:var(--good);background:var(--good-soft);color:var(--good);font-weight:600}.explore-note{color:var(--text-3);font-size:13px}html.board-mode .screen>.screen-head,.narrow-only{display:none}@media (width<=880px){html.board-mode,html.board-mode body{overscroll-behavior:none;overflow:hidden}html.board-mode .tabbar{display:none}html.board-mode .screen{padding:0}html.board-mode .wide-bar,html.board-mode .screen>.back,html.board-mode .screen>.screen-head{display:none}.board-screen .narrow-only{display:block}.board-sheet .game-around{flex-direction:column;order:50;gap:10px;display:flex}.sheet-filters{border-top:1px solid var(--line);padding-top:12px}.sheet-filters .train-counts{margin-bottom:10px}.board-screen{top:calc(52px + env(safe-area-inset-top,0px));z-index:5;background:var(--bg);flex-direction:column;align-items:stretch;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0}.board-screen[hidden]{display:none}.board-col{display:contents}.board-screen .board-zone{width:min(calc(100vw - 32px), calc(100svh - 52px - env(safe-area-inset-top,0px) - 64px - env(safe-area-inset-bottom,0px) - 48px - 24px - 8px - 96px));flex:none;order:1;align-self:center;margin-top:8px}.board-screen .board-line{flex:none;order:2;height:48px;margin:0;padding:0 16px}.board-screen .board-sheet{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-top:1px solid var(--line);flex:1 1 0;order:3;min-height:0;padding:4px 16px 16px;overflow-y:auto}.board-screen .bar{height:calc(64px + env(safe-area-inset-bottom,0px));padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg) 88%, transparent);flex:none;order:4;gap:6px;margin:0}.board-screen .bar>.btn{white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;height:48px;padding:0 6px;overflow:hidden}.board-screen .bar>.menu-btn{color:var(--text-2);flex-direction:column;flex:0 0 56px;gap:1px;font-size:10.5px;font-weight:500;display:inline-flex}.board-screen .board-line .explore-ask,.board-screen .board-line .explore-leave{flex:1 1 0;width:auto;min-width:0}.board-sheet .puzzle-title{font-size:18px}}.menu-sheet{z-index:40;background:#00000059;align-items:flex-end;display:flex;position:fixed;inset:0}.menu-tabs{width:100%;padding:14px 12px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface);border-radius:16px 16px 0 0;grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.menu-tabs .tab{background:var(--surface-2);color:var(--text-2);border:0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;font-size:13px;font-weight:500;display:flex}.menu-tabs .tab[aria-current=page]{color:var(--accent)}.menu-tabs .tab .icon svg{width:24px;height:24px}.boot-board{background:repeating-conic-gradient(var(--boot-dark) 0 25%, var(--boot-light) 0 50%) 0 0 / 25% 25%;animation:1.6s ease-in-out infinite boot-breathe}.boot-train-bar{height:45px}.boot-back{height:50px}.boot-status{color:var(--text-2)}.boot-lines{flex-direction:column;gap:10px;padding-top:6px;display:flex}.boot-lines span{background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 50%, var(--surface-2) 100%) 0 0 / 200% 100%;border-radius:7px;height:14px;animation:1.4s linear infinite boot-shimmer;display:block}.boot-lines span:first-child{width:40%;height:20px}.boot-lines span:nth-child(2){width:85%}.boot-lines span:nth-child(3){width:65%}@keyframes boot-shimmer{to{background-position:-200% 0}}@keyframes boot-breathe{50%{opacity:.85}}@media (width<=880px){.boot-back{display:none}}.boot-tip{color:var(--text-2);font-size:14px;line-height:1.45;animation:.4s ease-out boot-tip-in}@keyframes boot-tip-in{0%{opacity:0}}.spar .spar-bar{width:100%;margin:8px 0 0}.spar .board-line{height:52px}.spar .spar-strip{flex:1;width:auto;height:46px;margin:0}.spar .bar .hint-btn{width:124px}.spar .btn .short{display:none}@media (width<=880px){.spar .board-line{height:56px;padding:4px 12px}.board-screen.spar .bar>.btn:not(.menu-btn) .icon,.spar .btn .long{display:none}.spar .btn .short{display:inline}.spar .bar .hint-btn{width:auto}.board-screen.spar .bar>.spar-back{flex:1.3 1 0}.spar .spar-levels{margin:0;padding:0}.board-screen.spar .bar>.menu-btn .icon{display:inline-flex}}.rep-board-screen .rep-caption{flex:1;min-width:0}.rep-board-screen .rep-caption-head{align-items:center;gap:8px;display:flex}.rep-board-screen .rep-caption-mid{white-space:nowrap;flex:1;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.rep-board-screen .rep-caption-move{text-overflow:ellipsis;overflow:hidden}.rep-board-screen .rep-head h1{font-size:20px}.rep-board-screen .bar .rep-menu{flex:none;position:relative}.rep-board-screen .bar .rep-menu>summary{justify-content:center;width:48px;list-style:none}.rep-board-screen .bar .rep-menu>summary::-webkit-details-marker{display:none}.rep-board-screen .bar .rep-menu .menu-list{top:auto;bottom:calc(100% + 6px);right:0}.rep-board-screen .tabs{margin-bottom:10px}@media (width<=880px){.board-screen.rep-board-screen .bar>.rep-menu{flex:0 0 52px}.board-screen.rep-board-screen .bar>.rep-menu>summary{width:100%;height:48px}}
