:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14110e;--panel:#1c1713e0;--card:#1d1813;--card-2:#231d17;--panel-solid:#1c1713;--line:#ffebc81f;--text:#f1e8d8;--muted:#a8998480;--muted2:#a89984;--accent:#e0a458;--accent-ink:#1a1208;--accent-hover:#ebb46b;--accent-press:#cc9048;--accent-ui:#e0a458;--good:#7fd16f;--warn:#f1c24b;--bad:#e5503f;--fill-3:#ffebc80d;--fill:#ffebc814;--fill-2:#ffebc81a;--fill-hover:#ffebc829;--fill-press:#ffebc83d;--field-bg:#0006;--evalbar-bg:#222;--stage2d-bg:radial-gradient(circle at 50% 40%, #2a221b, #14110e);--brand-shadow:0 2px 8px #000;--danger-fg:#ff9487;--danger-bg:#e5503f24;--danger-hover:#e5503f3d;--danger-press:#e5503f57;--danger-line:#e5503f80;--radius:10px;--panel-w:360px;--top-h:54px;--bar-h:46px;--btn-h:36px;--btn-radius:8px;--btn-px:14px;--btn-bg:var(--fill);--btn-bg-hover:var(--fill-hover);--btn-bg-press:var(--fill-press);--btn-fg:var(--text);--btn-border:var(--line);--ring:var(--accent-ui);--field-line:#8f8575;--cls-best:#7fd16f;--cls-excellent:#9bd45f;--cls-good:#b8cf6a;--cls-inaccuracy:#f1c24b;--cls-mistake:#f08a3c;--cls-blunder:#ff7f6e;--cls-book:#b9aee6}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f0e6;--panel:#fbf7efe6;--card:#fffaf1;--card-2:#fffaf1;--panel-solid:#fbf7ef;--line:#3c281438;--text:#2a2119;--muted2:#675744;--accent-ui:#9a5a07;--field-line:#857560;--cls-best:#2c7a1f;--cls-excellent:#4a6d12;--cls-good:#556b00;--cls-inaccuracy:#7a5200;--cls-mistake:#9a3f06;--cls-blunder:#a31f18;--cls-book:#5b4a9a;--good:#2c7a1f;--warn:#8a5e00;--bad:#c0392b;--fill-3:#3c28140a;--fill:#3c281412;--fill-2:#3c281417;--fill-hover:#3c281421;--fill-press:#3c281433;--field-bg:#3c28140f;--evalbar-bg:#2a2119;--stage2d-bg:radial-gradient(circle at 50% 40%, #efe6d5, #e4d8c3);--brand-shadow:none;--danger-fg:#a8261b;--danger-bg:#c0392b1a;--danger-hover:#c0392b2e;--danger-press:#c0392b42;--danger-line:#a8261b8c}@media (pointer:coarse){:root{--btn-h:44px}}@media (prefers-contrast:more){:root{--panel:#1c1713fa;--line:#ffebc88c;--muted2:#d6c8b0;--btn-border:var(--text)}:root[data-theme=light]{--panel:#fbf7effa;--line:#2a2119b3;--muted2:#3d3022;--btn-border:var(--text)}}@media (prefers-reduced-transparency:reduce){#panel,.toast{-webkit-backdrop-filter:none;backdrop-filter:none}:root{--panel:#1c1713}:root[data-theme=light]{--panel:#fbf7ef}}body{--dock:0px}body.no-bars{--bar-h:0px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font:15px/1.45 system-ui,Segoe UI,sans-serif;overflow:hidden}button{font:inherit;color:var(--btn-fg);background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:var(--btn-radius);min-height:var(--btn-h);padding:0 var(--btn-px);text-align:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:6px;transition:background-color .15s,transform .12s ease-out,border-color .15s;display:inline-flex}@media (hover:hover){button:hover:not(:disabled){background:var(--btn-bg-hover)}}button:active:not(:disabled){background:var(--btn-bg-press);transform:scale(.97)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ring);outline-offset:2px}button:focus-visible{z-index:1;position:relative}button:disabled{opacity:.4;cursor:not-allowed}button.primary{--btn-bg:var(--accent);--btn-bg-hover:var(--accent-hover);--btn-bg-press:var(--accent-press);--btn-fg:var(--accent-ink);--btn-border:transparent;font-weight:600}button.plain{--btn-bg:transparent;--btn-border:transparent;--btn-fg:var(--accent-ui);--btn-bg-hover:var(--fill)}button.danger{--btn-bg:var(--danger-bg);--btn-bg-hover:var(--danger-hover);--btn-bg-press:var(--danger-press);--btn-fg:var(--danger-fg);--btn-border:var(--danger-line)}button[aria-pressed=true]{--btn-bg:var(--fill-hover);--btn-border:var(--accent-ui);box-shadow:inset 0 -2px 0 var(--accent-ui)}button.iconbtn{min-width:var(--btn-h);padding:0}@media (prefers-contrast:more){button.primary,button.danger{--btn-border:var(--text)}}.hidden{display:none!important}.muted{color:var(--muted2);font-size:13px}#stage{inset:calc(var(--top-h) + var(--bar-h)) var(--panel-w) calc(var(--dock) + var(--bar-h)) 0;position:fixed}#stage canvas{display:block}#topbar{top:0;left:0;right:var(--panel-w);pointer-events:none;z-index:5;justify-content:space-between;align-items:center;padding:10px 14px;display:flex;position:fixed}#topbar>*{pointer-events:auto}.brand{letter-spacing:.02em;text-shadow:var(--brand-shadow);font-size:18px;font-weight:700}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.only-mobile{display:none}#panel{width:var(--panel-w);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid var(--line);z-index:6;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.tabs{border-bottom:1px solid var(--line);display:flex}.tab{--btn-bg:transparent;--btn-fg:var(--muted2);min-height:calc(var(--btn-h) + 6px);border:0;border-radius:0;flex:1;padding:0 6px}.tab.active{--btn-fg:var(--text);box-shadow:inset 0 -2px 0 var(--accent-ui)}.tabpane{flex:1;padding:12px;display:none;overflow-y:auto}.tabpane.active{flex-direction:column;gap:10px;display:flex}#tab-game{padding-top:0}.pin{z-index:2;background:var(--panel-solid);flex-direction:column;gap:8px;padding:12px 0 8px;display:flex;position:sticky;top:0}.opts .btnrow.wrap{margin-top:6px}.player{background:var(--fill-3);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:8px;min-height:40px;padding:8px 10px;display:flex}.player.active{border-color:var(--accent)}.player .dot{border:1px solid #0006;border-radius:50%;flex:none;width:14px;height:14px}.player .caps{letter-spacing:-2px;color:var(--muted2);white-space:nowrap;flex:1;font-size:17px;overflow:hidden}.player .mat{color:var(--good);font-variant-numeric:tabular-nums;font-size:12px}.status{border-radius:var(--radius);background:#e0a4581f;border:1px solid #e0a45859;padding:8px 10px}.status.over{background:#7fd16f24;border-color:#7fd16f66}.status.warn{background:#e5503f24;border-color:#e5503f66}.opening{color:var(--muted2);min-height:1.3em;font-size:13px}.evalwrap{color:var(--muted2);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}#evaltext{color:var(--text);text-align:right;font-variant-numeric:tabular-nums}#evalbar-v{z-index:3;border:1px solid var(--line);pointer-events:none;background:#3a2e22;border-radius:5px;width:10px;position:fixed;overflow:hidden}#evalbar-v i{background:#f3ead8;height:50%;transition:height .25s;position:absolute;bottom:0;left:0;right:0}#evalbar-v.flip i{top:0;bottom:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.movelist{border:1px solid var(--line);border-radius:var(--radius);font-variant-numeric:tabular-nums;flex:1;grid-template-columns:32px 1fr 1fr;align-content:start;gap:2px 4px;min-height:120px;padding:6px;display:grid;overflow-y:auto}.movelist .n{color:var(--muted2);text-align:right;padding:3px 0;font-size:13px}.movelist .m{cursor:pointer;border-radius:6px;justify-content:space-between;gap:4px;padding:3px 6px;display:flex}.movelist .m:hover{background:var(--fill-2)}.movelist .m.cur{background:var(--accent);color:var(--accent-ink);font-weight:600}.movelist .m .sym{font-weight:700}.btnrow{gap:6px;display:flex}.btnrow>button{flex:1;padding:0 8px}.btnrow.wrap{flex-wrap:wrap}.btnrow.wrap>button{flex:30%}.opts{border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px}.opts summary{cursor:pointer;color:var(--muted2);padding:calc((var(--btn-h) - 1.45em) / 2) 0}.opts label{min-height:var(--btn-h);align-items:center;gap:8px;padding:4px 0;font-size:14px;display:flex}.opts input[type=range]{height:var(--btn-h)}textarea,select,input[type=text]{background:var(--field-bg);width:100%;color:var(--text);border:1px solid var(--field-line);min-height:var(--btn-h);font:inherit;border-radius:8px;padding:8px}textarea{margin:6px 0;font:12px ui-monospace,monospace}.seg{gap:0;display:flex}.segbtn{border-radius:0;flex:1}.segbtn:first-child{border-radius:var(--btn-radius) 0 0 var(--btn-radius)}.segbtn:last-child{border-radius:0 var(--btn-radius) var(--btn-radius) 0}.segbtn.active{--btn-bg:var(--accent);--btn-bg-hover:var(--accent-hover);--btn-bg-press:var(--accent-press);--btn-fg:var(--accent-ink);--btn-border:transparent;font-weight:600}.list{flex-direction:column;gap:6px;display:flex}.list .group{text-transform:uppercase;letter-spacing:.08em;color:var(--muted2);margin-top:8px;font-size:12px}.item{text-align:left;justify-content:flex-start;align-items:center;gap:10px;padding:6px 11px;display:flex}.item .tick{text-align:center;width:20px;color:var(--good)}.item small{color:var(--muted2);display:block}.report{gap:4px;padding:4px 2px;display:grid}.report p{margin:0}.report ol.plan{gap:4px;margin:4px 0;padding-left:20px;display:grid}.detail{border:1px solid var(--line);border-radius:var(--radius);background:var(--fill-3);padding:12px}.detail h3{margin:0 0 6px;font-size:16px}.detail p{margin:6px 0}.detail .tip{color:var(--muted2);font-size:14px;font-style:italic}.stepbar{gap:6px;margin-top:8px;display:flex}.stepbar>button{flex:1}.chip{background:var(--fill-2);border-radius:20px;padding:1px 8px;font-size:12px;display:inline-block}progress{width:100%;accent-color:var(--accent)}.tl{border:1px solid var(--line);border-radius:var(--radius);background:var(--field-bg);cursor:ew-resize;-webkit-user-select:none;user-select:none;flex:none;width:100%;display:block}.tl:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.tl-graph{height:124px}.tl-slim{height:var(--btn-h)}.tl-legend{font-size:12px}.phases{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.phases caption{text-align:left;color:var(--muted2);text-transform:uppercase;letter-spacing:.08em;padding:2px 0 4px;font-size:12px}.phases th,.phases td{text-align:right;border-bottom:1px solid var(--line);padding:3px 6px}.phases th:first-child,.phases td:first-child{text-align:left}.phases thead th{color:var(--muted2);font-weight:600}.phases tbody th{font-weight:400}.phases small{color:var(--muted2)}.tipcard{border-left:4px solid var(--tip,var(--accent-ui))}.tipcard.good{--tip:var(--good)}.tipcard.warn{--tip:var(--warn)}.tipcard.bad{--tip:var(--bad)}.tipcard .tip-badge{color:var(--tip);align-items:center;gap:6px;margin-bottom:2px;font-size:12px;font-weight:600;display:inline-flex}.tipcard .tip-badge b{font-size:14px}.tipcard h3{color:var(--text)}.tipcard .linebar{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.tipcard .stepbar .iconbtn{flex:0 0 var(--btn-h)}.tipcard .linetext{font-variant-numeric:tabular-nums;flex:100%;font-size:14px}.sumgrid{grid-template-columns:1fr auto auto;gap:2px 12px;font-size:14px;display:grid}.sumgrid .h{color:var(--muted2);font-size:12px}.acc{font-size:26px;font-weight:700}#toasts{z-index:8;max-width:min(460px, calc(100vw - var(--panel-w) - 28px));flex-direction:column;gap:8px;display:flex;position:fixed;bottom:14px;left:14px}.toast{background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 12px;animation:.2s ease-out pop;box-shadow:0 6px 24px #0008}.toast.good{border-color:var(--good)}.toast.warn{border-color:var(--warn)}.toast.bad{border-color:var(--bad)}.toast .acts{gap:6px;margin-top:8px;display:flex}@keyframes pop{0%{opacity:0;transform:translateY(8px)}}.modal{z-index:20;background:#000a;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;width:min(560px,100%);max-height:92vh;padding:18px;overflow-y:auto;box-shadow:0 20px 60px #000c}.card h2{margin:0 0 10px;font-size:20px}.card h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted2);margin:14px 0 6px;font-size:13px}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.choice{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;display:flex}.choice.sel{--btn-bg:var(--accent);--btn-bg-hover:var(--accent-hover);--btn-bg-press:var(--accent-press);--btn-fg:var(--accent-ink);--btn-border:transparent;font-weight:600}.choice small{opacity:.8;font-weight:400;display:block}.promo{justify-content:center;gap:10px;display:flex}.promo button{padding:8px 14px;font-size:44px;line-height:1}.qr{background:#fff;border-radius:8px;width:180px;height:180px;margin:8px auto;padding:8px}.qr svg{width:100%;height:100%;display:block}.code{letter-spacing:.2em;text-align:center;font:700 32px ui-monospace,monospace}kbd{background:var(--field-bg);border:1px solid var(--line);border-radius:4px;padding:0 5px;font:12px ui-monospace,monospace}@media (width<=900px){:root{--panel-w:0px}#topbar{gap:4px;padding:6px;right:0}.brand{display:none}.top-actions{flex-wrap:nowrap;justify-content:flex-end;gap:4px;width:100%}.top-actions>button,.menuwrap>button{white-space:nowrap;flex:auto;padding:0 6px;font-size:13px}.menuwrap{flex:auto}.menuwrap>button{width:100%}.top-actions>.iconbtn{flex:none;padding:0}.only-mobile{display:inline-block}#panel{border-left:0;border-top:1px solid var(--line);width:auto;height:34vh;transition:transform .25s;top:auto;left:0;right:0;transform:translateY(0)}#panel.collapsed{transform:translateY(calc(100% - 44px))}body{--dock:34vh;--bar-h:38px}body.collapsed{--dock:44px}#toasts{max-width:calc(100vw - 28px);bottom:calc(34vh + 10px)}.brand span{display:none}.movelist{min-height:80px}.tl-graph{height:100px}.tl-legend{display:none}.tabpane.active{gap:6px}.pin{gap:6px;padding:8px 0 6px}.status{padding:5px 10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.player .clk{text-align:right;min-width:52px;font:600 16px ui-monospace,monospace}.player .clk.low{color:var(--bad)}#stage2d{inset:calc(var(--top-h) + var(--bar-h)) var(--panel-w) calc(var(--dock) + var(--bar-h)) 0;justify-content:center;align-items:center;display:flex;position:fixed}#stage2d.stage2d{background:var(--stage2d-bg)}.b2d{border:6px solid var(--b-frame,#4a2c17);-webkit-user-select:none;user-select:none;touch-action:none;border-radius:6px;position:relative;box-shadow:0 12px 40px #000a}.b2d-grid{grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);display:grid;position:absolute;inset:0}.sq2{position:relative}.sq2.l{background:var(--b-light)}.sq2.d{background:var(--b-dark)}.sq2.last:before,.sq2.sel:before,.sq2.chk:before,.sq2.hint:before{content:"";position:absolute;inset:0}.sq2.last:before{background:#38bdf880}.sq2.sel:before{background:#facc158c}.sq2.chk:before{background:#ef444499}.sq2.hint:before{background:#a78bfa80}.sq2 .co{opacity:.9;pointer-events:none;z-index:3;font:700 .3em system-ui;position:absolute}.sq2.l .co{color:var(--b-co-l,#000)}.sq2.d .co{color:var(--b-co-d,#fff)}.sq2 .co.r{top:1px;left:3px}.sq2 .co.f{bottom:0;right:3px}.sq2 .tg{pointer-events:none;z-index:2;background:#22c55ebf;border-radius:50%;position:absolute;inset:36%}.sq2 .tg.cap{background:0 0;border:.08em solid #f97316e6;inset:6%}.b2d-pieces{pointer-events:none;position:absolute;inset:0}.p2{will-change:transform;justify-content:center;align-items:center;width:12.5%;height:12.5%;line-height:1;display:flex;position:absolute;top:0;left:0}.p2.w{color:var(--b-white,#f3ead8);text-shadow:0 0 .03em #000,0 0 .03em #000,0 .03em .06em #000}.p2.b{color:var(--b-black,#2b2118);text-shadow:0 0 .04em #fff9,0 0 .08em #fff6}.b2d-svg{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0}#draw-colors{justify-content:center;align-items:center;gap:14px;padding:6px 0 4px;display:flex}#draw-colors button{border:2px solid #0000;border-radius:50%;width:28px;min-width:0;height:28px;min-height:0;padding:0;position:relative}#draw-colors button:after{content:"";inset:calc((28px - var(--btn-h)) / 2);position:absolute}#draw-colors button.sel{border-color:var(--text);box-shadow:0 0 0 2px var(--card)}.menuwrap{display:inline-flex;position:relative}.menu{z-index:9;background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:2px;min-width:236px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 36px #0009}.menu>button{--btn-bg:transparent;--btn-border:transparent;justify-content:flex-start;width:100%}.menu>button:focus-visible{outline-offset:-2px}.menu kbd{margin-left:auto}.menu .st{color:var(--muted2);font-variant-numeric:tabular-nums;margin-left:auto}.menu .st+kbd{margin-left:10px}.menu [aria-checked=true] .st{color:var(--text);font-weight:600}.menu .st:after{content:"aus"}.menu [aria-checked=true] .st:after{content:"✓ an"}.pal-count{min-height:1.4em;margin:6px 2px 4px}.pal-list{flex-direction:column;gap:2px;max-height:min(52vh,380px);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.pal-opt{min-height:var(--btn-h);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:6px 10px;display:flex}.pal-opt .pal-label{flex:1}.pal-opt[aria-selected=true]{background:var(--fill-hover);box-shadow:inset 3px 0 0 var(--accent-ui)}.pal-opt .muted{font-size:12px}.pal-opt[aria-selected=true] .muted{color:var(--text)}.timegrid{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px;display:grid}.timegrid .choice{white-space:nowrap;align-items:center;padding:0 6px}.livelines{flex-direction:column;gap:3px;display:flex}.lline{text-align:left;justify-content:flex-start;align-items:baseline;gap:8px;padding:4px 8px;font-size:13px;display:flex}.lline b{font-variant-numeric:tabular-nums;min-width:44px}.lline span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.lline small{color:var(--muted2)}.arch b{display:block}.arch .stepbar>button,.seg .segbtn{padding:0 4px;font-size:13px}.pbar{left:8px;right:calc(var(--panel-w) + 8px);height:calc(var(--bar-h) - 6px);z-index:4;background:var(--fill-3);gap:10px;min-height:0;padding:4px 10px;position:fixed}#pl-top{top:calc(var(--top-h) + 2px)}#pl-bot{bottom:calc(var(--dock) + 4px)}body.no-bars .pbar{display:none}.pbar .avatar{border:1px solid var(--line);border-radius:50%;flex:none;width:34px;height:34px;overflow:hidden}.pbar .avatar svg{width:100%;height:100%;display:block}.pbar .who{flex-direction:column;min-width:0;line-height:1.15;display:flex}.pbar .pname{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.pbar .pelo{color:var(--muted2);font-variant-numeric:tabular-nums;font-size:12px}.pbar .pelo:empty{display:none}.pbar .caps{min-width:0}@media (width<=900px){.pbar{gap:8px;padding:3px 8px;right:8px}.pbar .who{max-width:38%}.pbar .avatar{width:26px;height:26px}.pbar .bubble{left:44px}}.pbar .bubble{background:var(--card-2);max-width:min(340px,100% - 64px);color:var(--text);border:1px solid var(--line);pointer-events:none;z-index:7;border-radius:12px;padding:7px 11px;font-size:14px;line-height:1.35;animation:.3s ease-out bubble-in;position:absolute;left:52px;box-shadow:0 4px 16px #0006}#pl-top .bubble{top:calc(100% + 6px)}#pl-bot .bubble{bottom:calc(100% + 6px)}.pbar .bubble.out{opacity:0;transition:opacity .4s}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px)}}.card .group{color:var(--muted2);margin:10px 0 4px;font-size:12px}.botchoice{flex-direction:row;justify-content:flex-start;align-items:center;gap:9px}.botchoice .avatar{border:1px solid var(--line);border-radius:50%;flex:none;width:36px;height:36px;overflow:hidden}.botchoice .avatar svg{width:100%;height:100%;display:block}#stage2d.flat .p2{text-shadow:none;paint-order:stroke fill;font-weight:700}#stage2d.flat .p2.w{-webkit-text-stroke:.03em var(--b-black,#2b2118)}#stage2d.flat .p2.b{-webkit-text-stroke:.03em var(--b-white,#f3ead8)}.opts label select{width:auto;margin-left:auto;padding:4px 8px}.intro-list{gap:8px;margin:0 0 14px;padding-left:18px;line-height:1.4;display:grid}.seg-course{margin-top:6px}.crs-head{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.crs-bar{background:var(--fill-2);border-radius:3px;height:6px;overflow:hidden}.crs-bar.small{height:4px;margin:6px 0 8px}.crs-bar>i{background:var(--accent);height:100%;display:block}.crs-stats{color:var(--muted2);gap:14px;font-size:13px;display:flex}.crs-badges{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.crs-badge{background:var(--fill-3);color:var(--muted2);border-radius:20px;padding:1px 8px;font-size:12px}.crs-badge.got{color:var(--text);background:#7fd16f29}.crs-path{width:100%;height:auto;margin-top:4px;display:block}.crs-line{stroke:var(--line);stroke-width:2px}.crs-line.done{stroke:var(--accent);stroke-opacity:.45}.crs-glabel{fill:var(--muted2);letter-spacing:.08em;text-transform:uppercase;font:600 10px system-ui,sans-serif}.cnode circle{fill:var(--bg);stroke:var(--line);stroke-width:2px}.cnode text{fill:var(--muted2);text-anchor:middle;dominant-baseline:central;pointer-events:none;font:600 13px system-ui,sans-serif}.cnode.done circle{fill:#7fd16f29;stroke:#7fd16f80}.cnode.done text{fill:var(--good)}.cnode.current circle{fill:var(--accent);stroke:var(--accent)}.cnode.current text{fill:var(--accent-ink)}.cnode.locked{opacity:.45}.cnode:not(.locked){cursor:pointer}.cnode:focus{outline:none}.cnode:focus-visible circle{stroke:var(--text);stroke-width:3px}.coach{align-items:flex-start;gap:10px;margin:8px 0;display:flex}.coach-av{flex:none;width:44px;height:44px}.bubble{background:var(--fill);border-radius:12px;flex:1;padding:9px 12px;font-size:14px;line-height:1.45;position:relative}.bubble:before{content:"";border:6px solid #0000;border-left:0;border-right-color:var(--fill);position:absolute;top:14px;left:-6px}.bubble p{margin:4px 0}.rush-hud{justify-content:space-between;align-items:center;gap:10px;display:flex}.rush-time{font-variant-numeric:tabular-nums;font:700 26px ui-monospace,monospace}.rush-score{color:var(--muted2);font-size:14px}.rush-strikes{gap:4px;display:inline-flex}.rush-x{color:var(--muted2);opacity:.4;font-weight:700}.rush-x.used{color:var(--bad);opacity:1}#stage:focus-visible{outline:3px solid var(--ring);outline-offset:-3px}.b2d:focus-visible{outline:3px solid var(--ring);outline-offset:3px}.sq2.kcur:after{content:"";z-index:4;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #14110e,inset 0 0 0 5px #fff}.kb-hint{z-index:7;left:calc((100vw - var(--panel-w)) / 2);bottom:calc(var(--dock) + var(--bar-h) + 3px);max-width:calc(100vw - var(--panel-w) - 24px);border-radius:var(--radius);background:var(--card);color:var(--text);border:1px solid var(--accent-ui);pointer-events:none;text-align:center;padding:3px 10px;font-size:13px;line-height:1.2;position:fixed;transform:translate(-50%)}.r-pin{z-index:2;background:var(--panel-solid);flex-direction:column;order:-1;gap:6px;padding-bottom:6px;display:flex;position:sticky;top:0}.r-pin:not(:has(>:not(.hidden))){display:none}@media (width<=900px){.tl-graph{height:64px}.r-pin{gap:4px;padding-bottom:4px}.r-pin .tipcard{padding:6px 10px}.r-pin .tipcard h3{margin:0;font-size:14px}.r-pin .tipcard p{margin:2px 0;font-size:13px}.r-pin .tipcard .muted{display:none}.r-pin .tipcard .stepbar{margin-top:4px}.r-pin .tipcard .tip-badge{margin-bottom:0}}.stepbar{flex-wrap:wrap}.cnode.done circle{stroke-width:4px}.cnode.locked circle{stroke-dasharray:3 3}:is(.sym,.tick).cls-best{color:var(--cls-best)}:is(.sym,.tick).cls-excellent{color:var(--cls-excellent)}:is(.sym,.tick).cls-good{color:var(--cls-good)}:is(.sym,.tick).cls-inaccuracy{color:var(--cls-inaccuracy)}:is(.sym,.tick).cls-mistake{color:var(--cls-mistake)}:is(.sym,.tick).cls-blunder{color:var(--cls-blunder)}:is(.sym,.tick).cls-book{color:var(--cls-book)}.movelist .m.cur .sym{color:inherit}ul.summary{gap:2px;margin:6px 0 12px;padding-left:20px;display:grid}#r-progrow{align-items:center}#r-progrow progress{flex:1}
