:root{--bg-app:#f2f2f7;--bg-panel:#fff;--bg-panel-2:#e9e9ee;--bg-elev:#fff;--bg-elev-h:#f5f5f7;--bg-elev-a:#dedee3;--surface-hover:#00000009;--surface-active:#0000000f;--surface-zebra:#00000004;--hairline:#00000014;--hairline-strong:#00000024;--track:#c7c7cc;--material-thick:#ffffffb8;--material-regular:#ffffff9e;--material-thin:#ffffff80;--blur:saturate(180%) blur(20px);--blur-sm:saturate(180%) blur(12px);--txt-0:#1d1d1f;--txt-1:#3a3a3c;--txt-2:#55555a;--txt-3:#6e6e73;--accent:#0071e3;--accent-h:#0063c9;--accent-d:#0058b0;--accent-txt:#0058b0;--accent-soft:#0071e31a;--accent-glow:#0071e340;--accent-glow-strong:#0071e373;--accent-tint:#0071e329;--on-accent:#fff;--game:#2f7a22;--game-h:#296b1d;--game-d:#225617;--game-bright:#7bb24a;--game-soft:#2f7a221a;--game-glow:#2f7a2240;--game-tint:#2f7a2229;--on-game:#fff;--paper:#fff;--ink:#1d1d1f;--danger:#d70015;--danger-h:#b80012;--danger-txt:#bf0010;--danger-tint:#d700151a;--danger-line:#d7001533;--warn:#b25000;--warn-tint:#b250001a;--warn-line:#b2500038;--info:#0071e3;--fs-xs:11px;--fs-s:12px;--fs-m:14px;--fs-l:16px;--fs-xl:19px;--fs-2xl:28px;--fs-3xl:34px;--fs-hero:48px;--lh-tight:1.2;--lh-body:1.47;--sp-1:4px;--sp-2:6px;--sp-3:8px;--sp-4:10px;--sp-5:12px;--sp-6:16px;--sp-7:20px;--sp-8:24px;--sp-9:32px;--page-pad:24px;--page-max:1040px;--radius-xs:8px;--radius-s:10px;--radius-m:14px;--radius-l:18px;--radius-xl:24px;--radius-pill:999px;--shadow-flat:0 1px 2px #0000000d, 0 0 0 .5px #00000008;--shadow-float:0 1px 3px #0000000f, 0 8px 24px -8px #0000001f;--shadow-pop:0 4px 12px #00000014, 0 24px 48px -12px #00000038;--shadow-sm:var(--shadow-float);--shadow-lg:var(--shadow-pop);--ring:0 0 0 4px var(--accent-glow);--ease:cubic-bezier(.22, .61, .36, 1);--t-fast:.12s;--t:.18s;--t-slow:.26s;--t-loop-slow:1.4s;--t-loop:1.1s;--t-loop-fast:.7s;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, "Noto Sans", sans-serif;--font-san:"Segoe UI Symbol", "Noto Sans Symbols 2", "SF Pro Text", sans-serif;--font-num:"SF Mono", "JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--c-brilliant:#26c2a3;--c-great:#749bbf;--c-best:#81b64c;--c-excellent:#96bc4b;--c-good:#96af8b;--c-book:#a88865;--c-inaccuracy:#f7c631;--c-mistake:#ffa459;--c-miss:#ff7769;--c-blunder:#fa412d;--c-forced:#9e9e9e;font-family:var(--font);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg-app:#000;--bg-panel:#1c1c1e;--bg-panel-2:#131315;--bg-elev:#2c2c2e;--bg-elev-h:#3a3a3c;--bg-elev-a:#48484a;--surface-hover:#ffffff0f;--surface-active:#ffffff1a;--surface-zebra:#ffffff06;--hairline:#ffffff1a;--hairline-strong:#ffffff2e;--track:#4a4a4c;--material-thick:#1c1c1eb8;--material-regular:#1c1c1e9e;--material-thin:#1c1c1e80;--txt-0:#f5f5f7;--txt-1:#d1d1d6;--txt-2:#aeaeb2;--txt-3:#98989d;--accent:#0a6fd6;--accent-h:#0868c6;--accent-d:#0060df;--accent-txt:#5aabff;--accent-soft:#0a84ff2e;--accent-glow:#0a84ff4d;--accent-glow-strong:#0a84ff80;--accent-tint:#0a84ff38;--on-accent:#fff;--game:#38812a;--game-h:#327023;--game-d:#275c1b;--game-bright:#86bd52;--game-soft:#4fa03a2e;--game-glow:#4fa03a4d;--game-tint:#4fa03a38;--on-game:#fff;--paper:#f5f5f7;--ink:#1c1c1e;--danger:#d92d22;--danger-h:#b8251c;--danger-txt:#ff6b61;--danger-tint:#ff453a29;--danger-line:#ff453a47;--warn:#ff9f0a;--warn-tint:#ff9f0a24;--warn-line:#ff9f0a47;--info:#0a84ff;--shadow-flat:0 1px 2px #00000080, 0 0 0 .5px #ffffff0a;--shadow-float:0 1px 3px #00000080, 0 8px 24px -8px #0009;--shadow-pop:0 4px 12px #00000080, 0 24px 48px -12px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg-app);height:100%;color:var(--txt-0);margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:var(--fs-m);line-height:var(--lh-body);letter-spacing:-.01em}button{font:inherit;color:inherit;cursor:pointer;letter-spacing:inherit;background:0 0;border:none;padding:0}input,textarea,select{font:inherit;color:var(--txt-0);letter-spacing:inherit}a{color:var(--accent-txt);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{letter-spacing:-.022em;font-weight:700}.san{font-family:var(--font-san);font-variant-emoji:text}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--hairline-strong);border-radius:var(--radius-pill);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--txt-3);background-clip:padding-box}::-webkit-scrollbar-track{background:0 0}html{scrollbar-width:thin;scrollbar-color:var(--hairline-strong) transparent}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@keyframes fade{0%{opacity:0}}@keyframes riseFrom{0%{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes slideIn{0%{opacity:0;transform:translate(-6px)}}@keyframes pageIn{0%{opacity:0;transform:translateY(4px)}}.page,.an{animation:pageIn var(--t-slow) var(--ease)}@keyframes popIn{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes pulseOnce{0%{box-shadow:0 0 0 0 var(--accent-glow-strong)}to{box-shadow:0 0 0 10px #0000}}@keyframes nudge{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes breathe{50%{opacity:.55}}.btn.icon:active:not(:disabled){animation:pulseOnce var(--t-slow) var(--ease)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);padding:0 var(--sp-6);border-radius:var(--radius-s);background:var(--bg-elev);border:1px solid var(--hairline);height:36px;color:var(--txt-0);font-weight:590;font-size:var(--fs-m);box-shadow:var(--shadow-flat);transition:background var(--t) var(--ease), border-color var(--t) var(--ease), color var(--t) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t) var(--ease);white-space:nowrap;display:inline-flex}.btn:hover{background:var(--bg-elev-h);border-color:var(--hairline-strong)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:default;transform:none}.btn.primary:disabled,.btn.play:disabled,.btn.danger:disabled{background:var(--bg-elev);color:var(--txt-3);opacity:1;box-shadow:none}.btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-flat);border-color:#0000;font-weight:650}.btn.primary:hover:not(:disabled){background:var(--accent-h)}.btn.play{background:var(--game);color:var(--on-game);box-shadow:var(--shadow-flat);border-color:#0000;font-weight:650}.btn.play:hover:not(:disabled){background:var(--game-h)}.btn.danger{background:var(--danger);color:#fff;border-color:#0000}.btn.danger:hover:not(:disabled){background:var(--danger-h)}.btn.ghost{color:var(--txt-1);box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-hover);color:var(--txt-0);box-shadow:none;border-color:#0000}.btn.big{height:46px;padding:0 var(--sp-8);font-size:var(--fs-l);border-radius:var(--radius-m)}.btn.small{height:30px;padding:0 var(--sp-5);font-size:var(--fs-s);border-radius:var(--radius-xs)}.btn.icon{width:36px;padding:0}.btn.icon.small{width:30px}.btn svg{flex:none;width:17px;height:17px}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);bottom:calc(100% + var(--sp-3));background:var(--bg-elev-h);border:1px solid var(--hairline);color:var(--txt-0);font-size:var(--fs-s);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-xs);white-space:nowrap;z-index:300;pointer-events:none;box-shadow:var(--shadow-float);animation:fade var(--t-fast) var(--ease);font-weight:500;position:absolute;left:50%;transform:translate(-50%)}[data-tip].tip-right:hover:after{left:calc(100% + var(--sp-3));top:50%;bottom:auto;transform:translateY(-50%)}.chip{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-5);border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--bg-elev);font-size:var(--fs-s);color:var(--txt-1);transition:background var(--t) var(--ease), border-color var(--t) var(--ease), color var(--t) var(--ease), transform var(--t-fast) var(--ease);font-weight:600;display:inline-flex}button.chip:hover{transform:translateY(-1px)}button.chip:active{transform:translateY(0)scale(.97)}.chip .dot{background:var(--txt-3);width:6px;height:6px;transition:background var(--t) var(--ease);border-radius:50%}.chip .dot.on{background:var(--game);box-shadow:0 0 0 3px var(--game-soft)}.switch{border-radius:var(--radius-pill);background:var(--bg-elev-a);border:1px solid var(--hairline-strong);cursor:pointer;width:44px;height:26px;transition:background var(--t) var(--ease), border-color var(--t) var(--ease);flex:none;position:relative}.switch:after{content:"";width:22px;height:22px;transition:transform var(--t) var(--ease), width var(--t-fast) var(--ease);background:#fff;border-radius:50%;position:absolute;top:1px;left:1px;box-shadow:0 1px 3px #00000040,0 0 0 .5px #0000000f}.switch:active:after{width:26px}.switch[aria-checked=true]{background:var(--accent);border-color:#0000}.switch[aria-checked=true]:after{transform:translate(18px)}.segmented{background:var(--bg-panel-2);border:1px solid var(--hairline);border-radius:var(--radius-s);padding:var(--sp-1);gap:2px;display:inline-flex}.segmented button{padding:var(--sp-2) var(--sp-5);border-radius:var(--radius-xs);font-size:var(--fs-s);color:var(--txt-2);transition:background var(--t) var(--ease), border-color var(--t) var(--ease), color var(--t) var(--ease);border:1px solid #0000;font-weight:600}.segmented button:hover{color:var(--txt-0)}.segmented button.on{background:var(--accent-soft);color:var(--accent-txt);box-shadow:none;border-color:#0000}.tabs{gap:var(--sp-1);padding:var(--sp-3) var(--sp-4) 0;border-bottom:1px solid var(--hairline);flex:none;display:flex}.tabs button{padding:var(--sp-3) var(--sp-4) var(--sp-4);font-size:var(--fs-m);color:var(--txt-2);transition:color var(--t) var(--ease);font-weight:600;position:relative}.tabs button:hover{color:var(--txt-1)}.tabs button.on{color:var(--txt-0)}.tabs button.on:after{content:"";left:var(--sp-3);right:var(--sp-3);background:var(--accent);height:2px;animation:fade var(--t) var(--ease);border-radius:2px 2px 0 0;position:absolute;bottom:-1px}.modal-backdrop{-webkit-backdrop-filter:var(--blur-sm);z-index:200;animation:fade var(--t) var(--ease);background:#00000047;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-panel);border:1px solid var(--hairline-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);width:min(520px,100vw - 40px);max-height:calc(100vh - 60px);animation:riseFrom var(--t-slow) var(--ease);flex-direction:column;display:flex}.modal-head{padding:var(--sp-6) var(--sp-7) var(--sp-4);font-size:var(--fs-xl);justify-content:space-between;align-items:center;font-weight:700;display:flex}.modal-body{padding:var(--sp-1) var(--sp-7) var(--sp-7);overflow-y:auto}.popover{background:var(--bg-elev);border:1px solid var(--hairline-strong);border-radius:var(--radius-m);min-width:200px;box-shadow:var(--shadow-pop);padding:var(--sp-2);z-index:150;transform-origin:top;animation:riseFrom var(--t) var(--ease);position:fixed;overflow-y:auto}.popover .pop-item{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-xs);font-size:var(--fs-m);color:var(--txt-0);text-align:left;transition:background var(--t-fast) var(--ease);display:flex}.popover .pop-item:hover{background:var(--bg-elev-h)}.popover .pop-item:disabled{color:var(--txt-3);cursor:default}.popover .pop-item:disabled:hover{background:0 0}.popover .pop-item svg{width:16px;height:16px;color:var(--txt-2)}.pop-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--txt-3);padding:var(--sp-2) var(--sp-4) var(--sp-1);font-weight:700}.progress{border-radius:var(--radius-pill);background:var(--track);height:6px;overflow:hidden}.progress>*{background:var(--accent);border-radius:var(--radius-pill);height:100%;transition:width var(--t-slow) var(--ease);display:block}.progress.thick{height:8px}.progress.indet>*{width:40%;animation:indet var(--t-loop) ease-in-out infinite;background:repeating-linear-gradient(45deg, var(--accent) 0 10px, var(--accent-h) 10px 20px)}@keyframes indet{0%{transform:translate(-110%)}to{transform:translate(260%)}}.skeleton{border-radius:var(--radius-s);background:linear-gradient(90deg, var(--bg-panel-2) 25%, var(--bg-elev-h) 50%, var(--bg-panel-2) 75%);animation:shimmer var(--t-loop-slow) infinite;background-size:200% 100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{border:2px solid var(--hairline-strong);border-top-color:var(--accent);width:16px;height:16px;animation:spin var(--t-loop-fast) linear infinite;border-radius:50%}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--bg-panel);border:1px solid var(--hairline);border-radius:var(--radius-l);padding:var(--sp-6) var(--sp-7);box-shadow:var(--shadow-flat);transition:background var(--t) var(--ease), border-color var(--t) var(--ease), transform var(--t) var(--ease), box-shadow var(--t) var(--ease)}.card[role=button]:hover,button.card:hover{border-color:var(--hairline-strong);box-shadow:var(--shadow-float);transform:translateY(-2px)}button.card:active{box-shadow:var(--shadow-flat);transform:translateY(0)}:is(.guess-grid,.lc-grid,.stats-grid,.ach-grid) button.card:hover,:is(.guess-grid,.lc-grid,.stats-grid,.ach-grid) .card[role=button]:hover{border-color:var(--hairline-strong);box-shadow:var(--shadow-float);transform:none}:is(.guess-grid,.lc-grid,.stats-grid,.ach-grid) button.card:active,:is(.guess-grid,.lc-grid,.stats-grid,.ach-grid) .card[role=button]:active{box-shadow:var(--shadow-flat);transform:none}.input{background:var(--bg-panel-2);border:1px solid var(--hairline);border-radius:var(--radius-s);height:36px;padding:0 var(--sp-5);font-size:var(--fs-m);transition:border-color var(--t) var(--ease), box-shadow var(--t) var(--ease), background var(--t) var(--ease)}.input::placeholder{color:var(--txt-3)}.input:focus{background:var(--bg-panel);border-color:var(--accent);box-shadow:var(--ring);outline:none}.input.search{flex:1;max-width:260px}.page{padding:var(--page-pad);max-width:calc(var(--page-max) + 2 * var(--page-pad));margin-inline:auto}.page-inner{max-width:var(--page-max);margin:0 auto}.bot-avatar{-webkit-user-select:none;user-select:none;line-height:1;position:relative;overflow:hidden;box-shadow:inset 0 -1px 3px #00000047,0 1px 2px #0000004d}.bot-avatar:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff2e,#0000 55%);position:absolute;inset:0}.coach-text{min-width:0}.evalgraph-tip{z-index:30;pointer-events:none;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-xs);background:var(--bg-elev-h);border:1px solid var(--hairline-strong);box-shadow:var(--shadow-float);font-size:var(--fs-s);color:var(--txt-0);white-space:nowrap;animation:fade var(--t-fast) var(--ease);font-weight:600;position:absolute}.evalgraph-tip .san{margin:0 var(--sp-1)}.ci{box-shadow:inset 0 0 0 1px #0000002e,inset 0 -1px 2px #0003}.ci svg{filter:drop-shadow(0 1px 1px #0003)}.rt-card,.gl-card,.act-card,.pz-card,.lc-sum{gap:var(--sp-1);flex-direction:column;display:flex}.stats-grid>*{animation:cascadeFade var(--t-slow) var(--ease) backwards}.stats-grid>:first-child{animation-delay:0s}.stats-grid>:nth-child(2){animation-delay:40ms}.stats-grid>:nth-child(3){animation-delay:80ms}.stats-grid>:nth-child(4){animation-delay:.12s}.stats-grid>:nth-child(5){animation-delay:.16s}.stats-grid>:nth-child(n+6){animation-delay:.2s}.gt-acts{align-items:center;gap:var(--sp-1);justify-self:end;display:flex}.lp-outline-txt{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.panel-empty{gap:var(--sp-3);padding:var(--sp-7) var(--sp-1) var(--sp-1);animation:fade var(--t-slow) var(--ease);flex-direction:column;display:flex}.panel-empty-row{justify-content:space-between;align-items:baseline;gap:var(--sp-5);font-size:var(--fs-m);display:flex}.panel-empty-row .k{color:var(--txt-3)}.panel-empty-row b{color:var(--txt-0);font-variant-numeric:tabular-nums;font-weight:600}.panel-empty-row .dim{color:var(--txt-3);font-weight:500}.panel-empty-hint{margin:var(--sp-3) 0 0;font-size:var(--fs-m);line-height:var(--lh-body);color:var(--txt-3);border-top:1px solid var(--hairline);padding-top:var(--sp-5)}.notice{align-items:center;gap:var(--sp-3);margin:0 var(--sp-5) var(--sp-3);padding:var(--sp-3) var(--sp-5);border-radius:var(--radius-s);background:var(--warn-tint);border:1px solid var(--warn-line);color:var(--warn);font-size:var(--fs-m);font-weight:600;line-height:var(--lh-body);display:flex}.quality-strip{gap:var(--sp-2);padding:var(--sp-1) var(--sp-5) var(--sp-3);flex-wrap:wrap;display:flex}.review-chip{align-items:center;gap:var(--sp-2);background:var(--bg-elev);border:1px solid var(--hairline);border-radius:var(--radius-pill);padding:var(--sp-1) var(--sp-5);font-size:var(--fs-s);font-variant-numeric:tabular-nums;color:var(--txt-0);font-weight:700;display:inline-flex}.chip-row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.hint-note{align-items:flex-start;gap:var(--sp-3);margin:0 var(--sp-5) var(--sp-3);padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-m);background:var(--bg-elev);border-left:3px solid var(--warn);font-size:var(--fs-m);line-height:var(--lh-body);color:var(--txt-0);animation:rise var(--t) var(--ease);display:flex}.hint-note svg{color:var(--warn);flex:none;margin-top:2px}.hint-note span{flex:1;min-width:0}.hint-note-lvl{font-size:var(--fs-xs);color:var(--txt-3);white-space:nowrap;flex:none;font-weight:700}.home-grid{gap:var(--sp-6);margin-top:var(--sp-8);grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));display:grid}.home-card{gap:var(--sp-5);flex-direction:column;display:flex}.home-card-foot{padding-top:var(--sp-1);margin-top:auto}.home-board{pointer-events:none;border-radius:var(--radius-m);align-self:center;overflow:hidden}.home-play-actions{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}@keyframes cascadeFade{0%{opacity:0}}.home-grid>*{animation:cascadeFade var(--t-slow) var(--ease) backwards}.home-grid>:first-child{animation-delay:0s}.home-grid>:nth-child(2){animation-delay:40ms}.home-grid>:nth-child(3){animation-delay:80ms}.home-grid>:nth-child(4){animation-delay:.12s}.home-grid>:nth-child(5){animation-delay:.16s}.home-grid>:nth-child(6){animation-delay:.2s}.home-grid>:nth-child(n+7){animation-delay:.24s}.home-game-row{transition:background var(--t-fast) var(--ease)}.home-game-row:hover{background:var(--surface-hover)}.app{height:100%;display:flex;overflow:hidden}.main{flex:1;min-width:0;overflow:hidden}.side{background:var(--material-thick);width:200px;-webkit-backdrop-filter:var(--blur);border-right:1px solid var(--hairline);z-index:50;flex-direction:column;flex:0 0 200px;display:flex}.side-logo{align-items:center;gap:var(--sp-3);padding:var(--sp-6) var(--sp-5) var(--sp-5);display:flex}.side-logo svg{width:30px;height:30px;color:var(--game)}.side-logo b{font-size:var(--fs-l);letter-spacing:-.02em;font-weight:700}.side-nav{padding:var(--sp-1) var(--sp-3);flex-direction:column;gap:2px;display:flex}.side-item{align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-s);color:var(--txt-1);font-size:var(--fs-m);transition:background var(--t) var(--ease), color var(--t) var(--ease);font-weight:500;display:flex;position:relative}.side-item svg{width:22px;height:22px;transition:color var(--t) var(--ease);flex:none}.side-item:hover{background:var(--surface-hover);color:var(--txt-0)}.side-item.on{background:var(--accent-soft);color:var(--accent-txt);font-weight:600}.side-item.on svg{color:var(--accent-txt)}.side-bottom{padding:var(--sp-4) var(--sp-3);gap:var(--sp-3);flex-direction:column;margin-top:auto;display:flex}.side-status{gap:var(--sp-2);flex-direction:column;display:flex}.side-status .chip{white-space:nowrap;justify-content:flex-start;width:100%}@media (width<=1180px){.side{flex-basis:68px;width:68px}.side-logo b,.side-item span,.side-status .chip span.lbl{display:none}.side-logo,.side-item{justify-content:center}.side-status .chip{padding:var(--sp-2);justify-content:center}}.games-page{scrollbar-gutter:stable}.fetch-form{gap:var(--sp-3);background:var(--bg-panel);border:1px solid var(--hairline);border-radius:var(--radius-l);padding:var(--sp-5);max-width:var(--page-max);margin-bottom:var(--sp-5);align-items:center;display:flex}.fetch-form .input{flex:200px;min-width:0}.go-sub{color:var(--txt-2);margin-top:2px}.game-review{margin:var(--sp-5) 0;border-top:1px solid var(--hairline);padding-top:var(--sp-5)}.go-row{gap:var(--sp-3);margin-top:var(--sp-5);justify-content:center;display:flex}.page{height:100%;overflow-y:auto}.page-title{font-size:var(--fs-2xl);letter-spacing:-.022em;margin:0 0 var(--sp-1);font-weight:700}.page-sub{color:var(--txt-2);margin:0 0 var(--sp-7)}.profile-card{justify-content:space-between;align-items:center;gap:var(--sp-7);background:var(--bg-panel);border:1px solid var(--hairline);border-radius:var(--radius-l);padding:var(--sp-6);max-width:var(--page-max);margin-bottom:var(--sp-5);display:flex}.profile-left{align-items:center;gap:var(--sp-5);min-width:0;display:flex}.profile-avatar{object-fit:cover;background:var(--bg-elev);border-radius:50%;flex:none;width:56px;height:56px}.profile-avatar.placeholder{font-size:var(--fs-2xl);color:var(--txt-1);justify-content:center;align-items:center;font-weight:700;display:flex}.profile-name{font-size:var(--fs-xl);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.profile-title{color:var(--warn);margin-right:var(--sp-2);font-size:var(--fs-m);font-weight:700}.profile-sub{color:var(--txt-3);font-size:var(--fs-m)}.profile-stats{gap:var(--sp-3) var(--sp-7);padding-left:var(--sp-7);border-left:1px solid var(--hairline);flex:none;grid-template-columns:repeat(4,auto);display:grid}.stat{flex-direction:column;align-items:center;min-width:56px;display:flex}.stat-glyph{color:var(--txt-3);display:inline-flex}.stat-label{font-size:var(--fs-xs);color:var(--txt-3);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.stat-rating{font-weight:700;font-size:var(--fs-l);font-variant-numeric:tabular-nums;color:var(--txt-0);line-height:var(--lh-tight)}@media (width<=820px){.profile-card .profile-stats{padding-left:0;padding-top:var(--sp-5);border-left:none;border-top:1px solid var(--hairline);width:100%}}.progress-wrap{align-items:center;gap:var(--sp-5);margin-bottom:var(--sp-5);max-width:var(--page-max);font-size:var(--fs-m);color:var(--txt-2);display:flex}.progress-wrap .progress{flex:1}.import-error,.import-ok{max-width:var(--page-max);margin-bottom:var(--sp-5);padding:var(--sp-3) var(--sp-5);border-radius:var(--radius-s);font-size:var(--fs-m);font-weight:600;line-height:var(--lh-body);border:1px solid #0000}.import-error{color:var(--danger-txt);background:var(--danger-tint);border-color:var(--danger-line)}.import-ok{color:var(--accent-txt);background:var(--accent-soft);border-color:var(--accent-tint)}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-6);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.page-head .page-title{margin:0}.page-head-actions{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.page-head-actions label{cursor:pointer}.list-sentinel{padding:var(--sp-6);justify-content:center;display:flex}.games-table:has(.empty-state){background:0 0;border-color:#0000}.empty-state{color:var(--txt-2);text-align:center;font-size:var(--fs-m);line-height:var(--lh-body);padding:var(--sp-9) var(--sp-7);max-width:460px;animation:rise var(--t) var(--ease);margin:0 auto}.games-filters{gap:var(--sp-3);margin:0 0 var(--sp-5);max-width:var(--page-max);flex-wrap:wrap;align-items:center;display:flex}.games-filters .search{flex:200px;min-width:160px;max-width:none}.wdl-strip{gap:var(--sp-2);font-size:var(--fs-s);font-variant-numeric:tabular-nums;font-weight:700;display:flex}.wdl-strip .wdl{padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-pill);background:var(--bg-panel-2);border:1px solid var(--hairline);white-space:nowrap;align-items:center;display:inline-flex}.wdl-strip .wdl.w{background:var(--accent-soft);border-color:#0000}.wdl-strip .wdl.l{background:var(--danger-tint);border-color:#0000}.wdl-strip .wdl.pct{background:var(--bg-elev);border-color:var(--hairline-strong)}.wdl.w{color:var(--accent-txt)}.wdl.d{color:var(--txt-2)}.wdl.l{color:var(--danger-txt)}.wdl.pct{color:var(--txt-0)}.games-table{width:100%;max-width:var(--page-max);background:var(--bg-panel);border:1px solid var(--hairline);border-radius:var(--radius-l)}.gt-head{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--hairline);border-radius:var(--radius-l) var(--radius-l) 0 0;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--txt-3);grid-template-columns:56px minmax(0,1fr) 68px 76px 48px 92px 88px 90px;font-weight:700;display:grid}.gt-row{align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--hairline);cursor:pointer;transition:background var(--t-fast) var(--ease);grid-template-columns:56px minmax(0,1fr) 68px 76px 48px 92px 88px 90px;display:grid}.gt-row:nth-child(odd){background:var(--surface-zebra)}.gt-row:last-child{border-radius:0 0 var(--radius-l) var(--radius-l);border-bottom:none}.gt-row:hover,.gt-row:focus-within{background:var(--surface-hover)}.games-table .gt-row:hover{box-shadow:none;transform:none}.gt-tc{font-size:var(--fs-s);text-align:center;color:var(--txt-3);justify-content:center;display:inline-flex}.gt-players{flex-direction:column;gap:1px;min-width:0;display:flex}.gt-p{align-items:center;gap:var(--sp-2);font-size:var(--fs-m);min-width:0;display:flex}.gt-p .dot{border-radius:50%;flex:none;width:8px;height:8px}.gt-p .dot.w{background:var(--txt-0)}.gt-p .dot.b{border:1.5px solid var(--txt-3);background:0 0}.gt-p b{color:var(--txt-1);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.gt-p b.me{color:var(--accent-txt);font-weight:650}.gt-p em{color:var(--txt-3);font-style:normal;font-size:var(--fs-s);font-variant-numeric:tabular-nums;flex:none}.gt-res{border-radius:var(--radius-xs);width:24px;height:24px;font-weight:700;font-size:var(--fs-s);background:var(--bg-panel-2);color:var(--txt-2);justify-content:center;align-items:center;display:flex}.gt-res.win{background:var(--accent-soft);color:var(--accent-txt)}.gt-res.loss{background:var(--danger-tint);color:var(--danger-txt)}.gt-res.draw{background:var(--bg-panel-2);color:var(--txt-2)}.gt-acc{font-size:var(--fs-s);color:var(--txt-1);text-align:center;font-variant-numeric:tabular-nums}.gt-moves,.gt-date{font-size:var(--fs-s);color:var(--txt-3);font-variant-numeric:tabular-nums}.gt-moves{text-align:center}.gt-reviewed{justify-content:center;align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);color:var(--accent-txt);background:var(--accent-soft);border-radius:var(--radius-pill);padding:var(--sp-1) var(--sp-3);width:fit-content;transition:opacity var(--t) var(--ease), visibility var(--t) var(--ease);justify-self:start;font-weight:700;display:inline-flex}.gt-row:hover .gt-reviewed,.gt-row:focus-within .gt-reviewed{opacity:0;visibility:hidden}.gt-analyse,.gt-del{opacity:0;transition:opacity var(--t) var(--ease), transform var(--t) var(--ease);transform:translate(4px)}.gt-row:hover .gt-analyse:not(:active),.gt-row:hover .gt-del:not(:active),.gt-row:focus-within .gt-analyse:not(:active),.gt-row:focus-within .gt-del:not(:active){opacity:1;transform:translateY(-1px)}.gt-del{color:var(--txt-2)}.gt-del:hover{color:var(--danger-txt);background:var(--danger-tint)}.gt-bot{align-items:center;gap:var(--sp-1);color:var(--txt-2);font-size:var(--fs-xs);display:inline-flex}.gt-bot svg{display:block}@media (width<=1000px){.gt-head,.gt-row{grid-template-columns:24px 1fr 30px 70px 80px}.gt-head>span:nth-child(n+5),.gt-moves,.gt-date,.gt-reviewed,.gt-del{display:none}.gt-acts{grid-column:5}}.coach-chat{border-top:1px solid var(--hairline);padding:var(--sp-3) var(--sp-4);flex:none}.chat-thread{gap:var(--sp-2);max-height:170px;padding:2px 0 var(--sp-3);flex-direction:column;display:flex;overflow-y:auto}.chat-q{background:var(--accent-soft);max-width:85%;color:var(--txt-0);border-radius:var(--radius-m) var(--radius-m) var(--radius-xs) var(--radius-m);padding:var(--sp-2) var(--sp-5);font-size:var(--fs-m);align-self:flex-end;line-height:1.4}.chat-a{gap:var(--sp-2);align-items:flex-start;display:flex}.chat-a .coach-avatar{margin-top:1px}.chat-a .chat-txt{background:var(--bg-elev);border-radius:var(--radius-m) var(--radius-m) var(--radius-m) var(--radius-xs);padding:var(--sp-2) var(--sp-5);font-size:var(--fs-m);color:var(--txt-0);overflow-wrap:break-word;max-width:85%;line-height:1.4}.chat-input-row{gap:var(--sp-2);align-items:center;display:flex}.chat-input-row input{background:var(--bg-panel-2);border:1px solid var(--hairline);border-radius:var(--radius-s);min-width:0;height:34px;padding:0 var(--sp-5);font-size:var(--fs-m);transition:border-color var(--t) var(--ease), box-shadow var(--t) var(--ease);flex:1}.chat-input-row input::placeholder{color:var(--txt-3)}.chat-input-row input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.chat-input-row .btn.icon{flex:none}.chip.static{cursor:default}.chip.static:hover{background:var(--bg-elev);border-color:var(--hairline)}.chip.static.on{background:var(--accent-soft);border-color:var(--accent-tint);color:var(--accent-txt)}.go-elo{font-size:var(--fs-m);color:var(--txt-2);margin-top:var(--sp-1)}.go-elo .d{font-weight:700}.go-elo .d.up{color:var(--accent-txt)}.go-elo .d.down{color:var(--danger-txt)}.an{justify-content:center;gap:var(--sp-6);height:100%;padding:var(--sp-5);grid-template-rows:minmax(0,1fr);grid-template-columns:auto 440px;display:grid;overflow:hidden}@media (width<=1000px){.an{grid-template-columns:1fr;overflow-y:auto}}.an-board-block{flex-direction:column;min-width:0;display:flex}.an-board-row{gap:var(--sp-4);flex:1;min-height:0;display:flex}.board-size{width:var(--bsz,600px);aspect-ratio:1;align-self:flex-start;height:auto;position:relative}.board-wrap{width:100%;height:100%;position:relative}.board-wrap .board-grid{border-radius:var(--radius-xs);overflow:hidden}.pbar{align-items:center;gap:var(--sp-4);padding:var(--sp-2) 2px;min-height:46px;display:flex}.pbar-avatar{background:var(--bg-elev);width:40px;height:40px;font-weight:700;font-size:var(--fs-l);color:var(--txt-0);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.pbar-avatar img{object-fit:cover;width:100%;height:100%}.pbar-avatar[data-side=w]{background:var(--bg-elev-a)}.pbar-avatar[data-side=b]{background:var(--bg-elev-h);color:var(--txt-1)}.pbar-name{font-weight:700;font-size:var(--fs-l)}.pbar-elo{color:var(--txt-2);font-weight:400;font-size:var(--fs-m);margin-left:var(--sp-1)}.pbar-captured{margin-left:var(--sp-3);align-items:center;min-height:18px;display:flex}.pbar-captured .cp{width:17px;height:17px;margin-left:calc(-1*var(--sp-1))}.pbar-captured .cp:first-child{margin-left:0}.pbar-diff{font-size:var(--fs-s);color:var(--txt-1);margin-left:var(--sp-2);font-variant-numeric:tabular-nums;font-weight:700}.pbar-clock{background:var(--bg-panel-2);color:var(--txt-0);font-weight:700;font-size:var(--fs-l);padding:var(--sp-2) var(--sp-5);border-radius:var(--radius-s);text-align:center;min-width:56px;font-family:var(--font-num);font-variant-numeric:tabular-nums;transition:background var(--t) var(--ease), color var(--t) var(--ease);margin-left:auto}.pbar-clock.on{background:var(--paper);color:var(--ink)}.evalbar{flex:0 0 24px;align-self:stretch;width:24px;position:relative}.evalbar .eval-track{background:var(--bg-elev-a);border:1px solid var(--hairline);border-radius:var(--radius-xs);position:absolute;inset:0;overflow:hidden}.evalbar .eval-track:after{content:"";background:var(--hairline-strong);z-index:1;height:1px;position:absolute;top:50%;left:0;right:0}.evalbar .white-part{background:var(--paper);transition:height var(--t-slow) var(--ease);position:absolute;bottom:0;left:0;right:0}.evalbar.flipped .white-part{top:0;bottom:auto}.evalbar .eval-label{font-size:var(--fs-xs);font-weight:700;font-family:var(--font);font-variant-numeric:tabular-nums;z-index:2;white-space:nowrap;color:#fff;padding:0 var(--sp-1);border-radius:var(--radius-xs);background:#0000008c;position:absolute;left:50%;transform:translate(-50%)}.evalbar .eval-label.top{top:var(--sp-1)}.evalbar .eval-label.bottom{bottom:var(--sp-1)}.side-panel{background:var(--bg-panel);border:1px solid var(--hairline);border-radius:var(--radius-l);flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel-top{border-bottom:1px solid var(--hairline);flex:none}.panel-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 12px calc(100% - 12px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 12px calc(100% - 12px),#0000 100%)}.panel-pad{padding:var(--sp-6)}.side-panel .tabs button.on{background:var(--accent-soft);border-radius:var(--radius-xs) var(--radius-xs) 0 0}.movelist{font-size:var(--fs-m);line-height:var(--lh-tight);padding-top:var(--sp-5)}.ml-row{border-radius:var(--radius-xs);grid-template-columns:34px 1fr 1fr;align-items:center;display:grid}.ml-row:nth-child(2n){background:var(--surface-zebra)}.ml-num{color:var(--txt-3);font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-s);padding:var(--sp-2) var(--sp-1) var(--sp-2) var(--sp-4)}.ml-move{align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-xs);cursor:pointer;color:var(--txt-1);font-family:var(--font-san);text-overflow:ellipsis;white-space:nowrap;text-align:left;font-weight:600;font-size:var(--fs-m);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);background:0 0;border:none;display:inline-flex;overflow:hidden}.ml-move:hover{background:var(--surface-hover);color:var(--txt-0)}.ml-move.cur{background:var(--surface-active);color:var(--txt-0);animation:pulseOnce var(--t-slow) var(--ease);font-weight:700}.an .ml-move.cur{background:var(--accent-soft)}.ml-move .clk{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:400;font-size:var(--fs-xs);color:var(--txt-3);margin-left:var(--sp-1)}.ml-var{margin:1px 0 var(--sp-1);padding:2px var(--sp-4) var(--sp-1) var(--sp-5);border-left:1px solid var(--hairline);font-size:var(--fs-m);color:var(--txt-2);line-height:var(--lh-body);grid-column:2/4}.ml-var .v-move{font-family:var(--font-san);color:var(--txt-1);cursor:pointer;padding:1px var(--sp-1);border-radius:var(--radius-xs);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease)}.ml-var .v-move:hover{background:var(--surface-hover);color:var(--txt-0)}.ml-var .v-move.cur{background:var(--bg-elev-h);color:var(--txt-0);animation:pulseOnce var(--t-slow) var(--ease);font-weight:700}.an .ml-var .v-move.cur{background:var(--accent-soft)}.ml-var .v-num{color:var(--txt-3);font-family:var(--font-num);font-variant-numeric:tabular-nums}.ml-result{width:fit-content;margin:var(--sp-3) var(--sp-4) var(--sp-2);padding:var(--sp-1) var(--sp-5);border-radius:var(--radius-pill);background:var(--bg-elev);border:1px solid var(--hairline);font-size:var(--fs-s);color:var(--txt-1);font-variant-numeric:tabular-nums;font-weight:700;display:inline-flex}.ml-result b{color:var(--txt-0)}.ci{color:#fff;font-family:var(--font);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;line-height:1;display:inline-flex}.ci svg{width:62%;height:62%;display:block}.ci.ci--official{box-shadow:none}.ci--official img{width:100%;height:100%;display:block}.move-badge-anchor{pointer-events:none;z-index:6;width:12.5%;height:12.5%;position:absolute}.move-badge{aspect-ratio:1;width:38%;animation:popIn var(--t-slow) var(--ease);position:absolute;top:-19%;right:-19%}.coach{gap:var(--sp-4);padding:var(--sp-5);align-items:flex-start;display:flex}.coach-avatar{flex:none;justify-content:center;align-items:center;display:flex}.coach-avatar.talking{animation:bob calc(var(--t-slow) * 7) var(--ease) infinite}@keyframes bob{50%{transform:translateY(-3px)}}.coach-bubble{background:var(--bg-elev);border-radius:var(--radius-m);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-m);line-height:var(--lh-body);color:var(--txt-0);min-height:20px;animation:rise var(--t) var(--ease);flex:1;position:relative}.coach-bubble:before{content:"";border:6px solid #0000;border-right-color:var(--bg-elev);border-left:0;position:absolute;top:16px;left:-6px}.an .coach-bubble{background:var(--bg-panel-2)}.an .coach-bubble:before{border-right-color:var(--bg-panel-2)}.coach-bubble .coach-head{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2);display:flex}.coach-bubble .coach-title{font-weight:700;font-size:var(--fs-l);flex:1;min-width:0}.coach-bubble .eval-chip{font-weight:700;font-size:var(--fs-m);padding:2px var(--sp-3);border-radius:var(--radius-pill);background:var(--paper);color:var(--ink);font-variant-numeric:tabular-nums;flex:none}.coach-bubble .eval-chip.dark{background:var(--ink);color:var(--txt-0)}.coach-actions{gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.ai-tag{align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);color:var(--accent-txt);vertical-align:2px;margin-left:var(--sp-2);font-weight:700;display:inline-flex}.ai-tag svg{width:11px;height:11px}.think-dots{gap:var(--sp-1);display:inline-flex}.think-dots i{background:var(--txt-2);width:5px;height:5px;animation:think var(--t-slow) var(--ease) infinite;border-radius:50%}.think-dots i:nth-child(2){animation-delay:var(--t-fast)}.think-dots i:nth-child(3){animation-delay:var(--t-slow)}@keyframes think{30%{background:var(--txt-0);transform:translateY(-3px)}}.evalgraph{cursor:crosshair;width:100%;position:relative}.evalgraph svg{border-radius:var(--radius-xs);box-shadow:inset 0 0 0 1px var(--hairline);display:block}.evalgraph svg rect,.evalgraph svg .eg-bg{fill:var(--bg-elev-a)}.evalgraph svg path,.evalgraph svg .eg-area{fill:var(--paper)}.evalgraph svg line,.evalgraph svg .eg-mid{stroke:var(--hairline-strong)}.evalgraph svg line:last-of-type,.evalgraph svg .eg-cursor{stroke:var(--game)}.evalgraph svg circle,.evalgraph svg .eg-dot{stroke:var(--bg-elev-a)}.sum-players{align-items:center;gap:var(--sp-4);padding:var(--sp-1) 0 var(--sp-4);display:flex}.sum-acc{gap:var(--sp-4);margin:var(--sp-1) 0 var(--sp-5);grid-template-columns:1fr 1fr;display:grid}.acc-box{border-radius:var(--radius-m);padding:var(--sp-5);text-align:center}.acc-box.w{background:var(--bg-panel);color:var(--txt-0);border:1px solid var(--hairline);box-shadow:var(--shadow-flat)}.acc-box.b{background:var(--bg-panel-2);color:var(--txt-0);border:1px solid var(--hairline)}.acc-box .num{font-size:var(--fs-3xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:800}.acc-box .lbl{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--txt-3);font-weight:700}.class-table{flex-direction:column;display:flex}.ct-row{align-items:center;gap:var(--sp-2);padding:var(--sp-2) 2px;font-size:var(--fs-m);font-variant-numeric:tabular-nums;border-bottom:1px solid var(--hairline);grid-template-columns:44px 1fr 44px;display:grid}.class-table>.ct-row:last-child{border-bottom:none}.class-table .ct-row>span:nth-child(3):empty{display:none}.class-table .ct-row .n{text-align:right;color:var(--txt-2);font-weight:700}.class-table .ct-row .lbl{align-items:center;gap:var(--sp-3);color:var(--txt-1);justify-content:center;font-weight:600;display:flex}.sum-row{padding:var(--sp-3) 0;border-top:1px solid var(--hairline);font-size:var(--fs-m);justify-content:space-between;align-items:center;display:flex}.sum-row .v{font-weight:700}.eng-head{align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5) var(--sp-2);display:flex}.eng-head .eng-title{font-weight:700;font-size:var(--fs-l)}.eng-head .eng-meta{font-size:var(--fs-s);color:var(--txt-2);font-variant-numeric:tabular-nums}.eng-eval{font-weight:800;font-size:var(--fs-l);background:var(--paper);color:var(--ink);border-radius:var(--radius-pill);padding:2px var(--sp-3);font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1px var(--hairline);margin-left:auto}.eng-eval.dark{background:var(--ink);color:var(--paper)}.eng-lines{flex-direction:column;display:flex}.eng-line{align-items:center;gap:var(--sp-3);height:34px;padding:0 var(--sp-5);font-size:var(--fs-m);border-bottom:1px solid var(--hairline);transition:opacity var(--t) var(--ease);display:flex}.eng-line:last-child{border-bottom:none}.eng-line.main{background:var(--accent-soft)}.eng-line .sc{font-variant-numeric:tabular-nums;min-width:48px;font-weight:700}.eng-line .sc.w{color:var(--txt-0)}.eng-line .sc.b{color:var(--txt-2)}.eng-line .pv{color:var(--txt-1);font-family:var(--font-san);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.eng-line .pv .pv-m{cursor:pointer;padding:1px var(--sp-1);border-radius:var(--radius-xs);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease)}.eng-line .pv .pv-m:hover{background:var(--surface-hover);color:var(--txt-0)}.eng-stale{opacity:.45}.an .chat-a .chat-txt{background:var(--bg-panel-2)}.an .chat-q{background:var(--accent-soft);color:var(--txt-0)}.nav-bar{align-items:center;gap:var(--sp-1);row-gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--hairline);flex-wrap:wrap;flex:none;min-width:0;display:flex}.nav-bar .btn{flex:none}.nav-bar .spacer{flex:1}.keymom{gap:var(--sp-1);margin-left:var(--sp-2);display:flex}.keymom .btn.small{color:var(--txt-1)}.demo-banner{align-items:center;gap:var(--sp-4);background:var(--bg-elev);border:1px solid var(--hairline);border-radius:var(--radius-m);padding:var(--sp-3) var(--sp-5);margin-bottom:var(--sp-3);font-size:var(--fs-m);animation:rise var(--t) var(--ease);font-weight:600;display:flex}.demo-banner .lbl{color:var(--accent-txt)}.demo-banner .res{color:var(--txt-1);font-variant-numeric:tabular-nums;font-weight:700}.opening-chip{padding:var(--sp-3) var(--sp-5) var(--sp-2);font-size:var(--fs-m);color:var(--txt-2);font-weight:600}.opening-chip b{color:var(--txt-1)}.load-ta{background:var(--bg-panel-2);border:1px solid var(--hairline);border-radius:var(--radius-m);width:100%;min-height:120px;padding:var(--sp-5);resize:vertical;font-family:var(--font-num);font-size:var(--fs-m);transition:border-color var(--t) var(--ease), box-shadow var(--t) var(--ease)}.load-ta:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.load-err{color:var(--danger-txt);font-size:var(--fs-m);margin-top:var(--sp-3);animation:nudge var(--t-slow) var(--ease);font-weight:600}.load-actions{gap:var(--sp-3);margin-top:var(--sp-5);justify-content:flex-end;display:flex}.set-section{margin-bottom:var(--sp-6)}.set-section>h4{margin:0 0 var(--sp-3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--txt-3)}.set-row{justify-content:space-between;align-items:center;gap:var(--sp-5);padding:var(--sp-2) 0;font-size:var(--fs-m);display:flex}.set-row .lbl{color:var(--txt-1)}select.sel{background:var(--bg-elev);border:1px solid var(--hairline);border-radius:var(--radius-s);height:34px;padding:0 var(--sp-5);transition:border-color var(--t) var(--ease);font-weight:600}select.sel:hover{border-color:var(--hairline-strong)}.theme-swatches{gap:var(--sp-3);display:flex}.theme-swatch{border-radius:var(--radius-s);cursor:pointer;width:52px;transition:border-color var(--t) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t) var(--ease);border:2px solid #0000;padding:0;overflow:hidden}.theme-swatch:hover{box-shadow:var(--shadow-float);transform:translateY(-1px)}.theme-swatch.on{border-color:var(--accent)}.theme-swatch .sw-grid{grid-template-columns:1fr 1fr;height:36px;display:grid}.theme-swatch .sw-name{font-size:var(--fs-xs);text-align:center;padding:var(--sp-1) 0;color:var(--txt-1);background:var(--bg-panel-2);font-weight:700}.chip-row{gap:var(--sp-2);margin:var(--sp-5) 0;flex-wrap:wrap;display:flex}.chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-txt)}.top2-panel{padding:var(--sp-4) 0 var(--sp-2);transition:opacity var(--t-fast) var(--ease);flex-direction:column;display:flex}.top2-panel.top2-stale{opacity:.55}.top2-head{align-items:center;gap:var(--sp-3);padding:0 var(--sp-5) var(--sp-3);display:flex}.top2-head .top2-title{font-weight:700;font-size:var(--fs-l)}.top2-head .top2-meta{font-size:var(--fs-s);color:var(--txt-2);font-variant-numeric:tabular-nums;margin-left:auto}.top2-row{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--hairline);display:flex}.top2-row.first{background:var(--accent-soft)}.top2-rank{border-radius:var(--radius-pill);width:22px;height:22px;font-size:var(--fs-s);font-variant-numeric:tabular-nums;border:2px solid;flex:none;place-items:center;font-weight:800;display:grid}.top2-body{gap:var(--sp-1);flex-direction:column;flex:1;min-width:0;display:flex}.top2-move{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.top2-san{font-family:var(--font-san);font-size:var(--fs-xl);color:var(--txt-0);cursor:pointer;border-radius:var(--radius-xs);transition:color var(--t-fast) var(--ease);background:0 0;border:none;padding:0;font-weight:700}.top2-san:hover{color:var(--accent-txt)}.top2-san:disabled{cursor:default}.top2-san.pending{color:var(--txt-3)}.top2-scores{gap:var(--sp-3);font-variant-numeric:tabular-nums;margin-left:auto;display:flex}.top2-score{line-height:var(--lh-tight);flex-direction:column;align-items:flex-end;display:flex}.top2-score i{font-style:normal;font-size:var(--fs-xs);color:var(--txt-3);text-transform:uppercase;letter-spacing:.04em}.top2-score b{font-size:var(--fs-l);color:var(--txt-0);font-weight:800}.top2-score.alt b{color:var(--txt-2)}.top2-pv{font-family:var(--font-san);font-size:var(--fs-s);color:var(--txt-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top2-empty{padding:var(--sp-3) var(--sp-5) var(--sp-4);font-size:var(--fs-s);color:var(--txt-3)}[data-theme=dark] .an{--bg-panel:#262522;--bg-panel-2:#302e2b;--bg-elev:#35332f;--bg-elev-h:#403e39;--bg-elev-a:#484640}.an .an-board-row{gap:var(--sp-3);flex:0 auto}.an .pbar{padding-block:var(--sp-2)}.an .pbar-avatar{border-radius:var(--radius-s)}.an .side-panel{border-radius:var(--radius-s);border-color:var(--hairline)}.an .side-panel>.tabs{background:var(--bg-panel-2);padding:0 var(--sp-3);gap:0}.an .side-panel>.tabs>button{min-height:48px;padding:var(--sp-3) var(--sp-5);font-weight:700}.an .side-panel>.tabs>button.on{color:var(--txt-0);background:0 0}.an .side-panel>.tabs>button.on:after{left:var(--sp-5);right:var(--sp-5);background:var(--game-bright);height:3px}.an .panel-top{border-bottom:1px solid var(--hairline)}.an .eng-head{min-height:54px;padding:var(--sp-3) var(--sp-5)}.an .eng-title{white-space:nowrap}.an .eng-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.an .switch[aria-checked=true]{background:var(--game)}.an .btn.primary:not(:disabled){background:var(--game);color:var(--on-game)}.an .btn.primary:hover:not(:disabled){background:var(--game-h)}.an .eng-eval{border-radius:var(--radius-xs)}.an .eng-line{height:auto;min-height:38px;padding-block:var(--sp-2)}.an .eng-line.main{background:var(--game-soft)}.an .panel-scroll{-webkit-mask-image:none;mask-image:none}.an .movelist{padding-top:var(--sp-3)}.an .ml-move.cur,.an .ml-var .v-move.cur{background:var(--game-soft)}.an .coach-chat{background:var(--bg-panel-2);padding:var(--sp-4)}.an .nav-bar{background:var(--bg-panel-2);padding:var(--sp-3) var(--sp-4)}.an .nav-bar .chip.on{background:var(--game-soft);color:var(--txt-0);border-color:#0000}.analysis-empty{justify-content:center;align-items:center;gap:var(--sp-3);min-height:180px;padding:var(--sp-6);text-align:center;color:var(--txt-2);font-size:var(--fs-m);flex-direction:column;display:flex}.analysis-empty strong{color:var(--txt-0);font-size:var(--fs-l)}.analysis-empty .btn{margin-top:var(--sp-2)}.bot-hero{gap:var(--sp-5);padding:var(--sp-6);border-bottom:1px solid var(--hairline);align-items:flex-start;display:flex}.bot-hero .bot-meta{padding-top:var(--sp-1);flex-direction:column;gap:2px;min-width:0;display:flex}.bot-hero .bname{font-weight:750;font-size:var(--fs-l);line-height:var(--lh-tight);letter-spacing:-.012em}.bot-hero .belo{color:var(--txt-2);font-size:var(--fs-s);line-height:var(--lh-body)}.bot-bubble{margin-top:var(--sp-3);padding:var(--sp-3) var(--sp-5);background:var(--bg-elev);border:1px solid var(--hairline);border-radius:var(--radius-m);color:var(--txt-1);font-size:var(--fs-m);animation:rise var(--t) var(--ease);font-style:italic;line-height:1.4;position:relative}.bot-bubble:before{content:"";border:5px solid #0000;border-left:0;border-right-color:var(--bg-elev);position:absolute;top:13px;left:-5px}.bot-section{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--txt-3);margin:var(--sp-5) 0 var(--sp-2);font-weight:700}.setup-foot{padding:var(--sp-4) var(--sp-5) var(--sp-5);border-top:1px solid var(--hairline);background:var(--bg-panel);flex:none}.setup-foot .btn{width:100%}.daily-tip{align-items:flex-start;gap:var(--sp-3);padding-top:var(--sp-1);color:var(--txt-2);font-size:var(--fs-m);line-height:var(--lh-body);display:flex}.daily-tip svg{flex:none;margin-top:2px}.rating-row{margin:var(--sp-2) 0 var(--sp-3)}.bot-pick-grid{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.bot-pick,.color-btn{background:var(--bg-elev);border:1px solid var(--hairline);border-radius:var(--radius-l);box-shadow:var(--shadow-flat);transition:background var(--t) var(--ease), border-color var(--t) var(--ease), box-shadow var(--t) var(--ease)}.bot-pick:hover,.color-btn:hover{background:var(--bg-elev-h);border-color:var(--hairline-strong)}.bot-pick.on,.color-btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-txt);animation:pulseOnce var(--t-slow) var(--ease)}.bot-pick{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);text-align:left;color:var(--txt-0);display:flex}.bot-pick .n{font-weight:700;font-size:var(--fs-m);line-height:var(--lh-tight)}.bot-pick .e{font-size:var(--fs-xs);color:var(--txt-2);font-variant-numeric:tabular-nums}.color-row{gap:var(--sp-3);display:flex}.color-btn{align-items:center;gap:var(--sp-2);padding:var(--sp-5) var(--sp-4);font-weight:600;font-size:var(--fs-m);color:var(--txt-1);flex-direction:column;flex:1;display:flex}.color-btn svg{width:28px;height:28px}.color-btn.w svg{color:#fff;filter:drop-shadow(0 0 1.5px #0000008c)}.color-btn.b svg,.color-btn.r svg{color:var(--txt-1)}.play-actions{align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--hairline);box-shadow:none;background:0 0;flex:none;display:flex}.play-actions .btn.icon{color:var(--txt-2);transition:background var(--t) var(--ease), color var(--t) var(--ease);background:0 0;border-color:#0000}.play-actions .btn.icon:hover:not(:disabled){background:var(--bg-elev);color:var(--txt-0)}.play-actions .btn.icon:active:not(:disabled){background:var(--bg-elev-a)}.play-actions .btn.small:not(:disabled):hover{box-shadow:var(--shadow-float);transform:translateY(-1px)}.play-actions .btn.small:not(:disabled):active{box-shadow:var(--shadow-flat);transform:translateY(0)scale(.985)}.play-actions .lbl{font-size:var(--fs-s);color:var(--txt-2);margin-left:auto}.coach-area{border-bottom:1px solid var(--hairline);min-height:0;transition:opacity var(--t-slow) var(--ease)}.coach-area.fade{opacity:0;pointer-events:none}.coach-area .coach-bubble{background:var(--bg-elev);border:1px solid var(--hairline);color:var(--txt-0)}.coach-area .coach-bubble:before{border-right-color:var(--bg-elev)}.tip-chip{align-items:center;gap:var(--sp-3);margin:var(--sp-3) var(--sp-5);padding:var(--sp-2) var(--sp-5);background:var(--bg-elev);border:1px solid var(--hairline);border-radius:var(--radius-m);box-shadow:var(--shadow-flat);color:var(--txt-1);font-size:var(--fs-m);font-weight:500;line-height:1.35;display:flex}.tip-chip-txt{flex:1;min-width:0}.tip-chip-x{width:auto;height:auto;padding:var(--sp-1);margin-right:calc(-1*var(--sp-1));color:var(--txt-3);flex:none}.pbar-clock.low{background:var(--danger);color:#fff;box-shadow:0 0 0 0 var(--danger-tint);animation:nudge var(--t-slow) var(--ease), breathe calc(var(--t-slow) * 5) var(--ease) var(--t-slow) infinite}.pbar-clock.low.on{background:var(--danger);color:#fff}.go-card{text-align:center}.go-avatars{justify-content:center;align-items:center;gap:var(--sp-7);margin:var(--sp-5) 0 var(--sp-2);display:flex}.go-avatars .who{align-items:center;gap:var(--sp-2);flex-direction:column;width:120px;display:flex}.go-avatars .who .nm{font-weight:700;font-size:var(--fs-l);line-height:var(--lh-tight);text-overflow:ellipsis;max-width:120px;overflow:hidden}.go-score-big{font-size:var(--fs-3xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:800}.go-table{align-items:center;gap:var(--sp-1) var(--sp-3);margin:var(--sp-4) 0;font-size:var(--fs-m);grid-template-columns:30px 1fr 30px;display:grid}.go-table .n{text-align:center;color:var(--txt-2);font-weight:700}.go-table .lbl{align-items:center;gap:var(--sp-3);color:var(--txt-1);justify-content:center;font-weight:600;display:flex}.go-verdict{font-size:var(--fs-m);line-height:var(--lh-body);color:var(--txt-0);background:var(--bg-panel-2);border-radius:var(--radius-m);padding:var(--sp-4) var(--sp-5);margin-top:var(--sp-4);text-align:left}.lessons-head{align-items:center;gap:var(--sp-7);margin-bottom:var(--sp-7);flex-wrap:wrap;display:flex}.lessons-total{align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-m);color:var(--txt-2);font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.lessons-total .progress{width:140px}.lc-grid{gap:var(--sp-5);padding-bottom:var(--sp-9);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.lc-grid>*{animation:cascadeFade var(--t-slow) var(--ease) backwards}.lc-grid>:first-child{animation-delay:0s}.lc-grid>:nth-child(2){animation-delay:30ms}.lc-grid>:nth-child(3){animation-delay:60ms}.lc-grid>:nth-child(4){animation-delay:90ms}.lc-grid>:nth-child(5){animation-delay:.12s}.lc-grid>:nth-child(6){animation-delay:.15s}.lc-grid>:nth-child(7){animation-delay:.18s}.lc-grid>:nth-child(8){animation-delay:.21s}.lc-grid>:nth-child(n+9){animation-delay:.24s}.lc-card{gap:var(--sp-5);text-align:left;background:var(--bg-panel);border:1px solid var(--hairline);border-radius:var(--radius-l);padding:var(--sp-6) var(--sp-7);color:var(--txt-0);cursor:pointer;box-shadow:var(--shadow-flat);transition:background var(--t) var(--ease), border-color var(--t) var(--ease), box-shadow var(--t) var(--ease);align-items:flex-start;display:flex;position:relative}.lc-grid .lc-card:hover{border-color:var(--hairline-strong);box-shadow:var(--shadow-float)}.lc-grid .lc-card:active{box-shadow:var(--shadow-flat)}.lc-icon{border-radius:var(--radius-m);background:var(--accent-soft);width:40px;height:40px;color:var(--accent-txt);flex:none;place-items:center;display:grid}.lc-main{gap:var(--sp-1);flex-direction:column;flex:1;min-width:0;display:flex}.lc-title{font-weight:700;font-size:var(--fs-l);line-height:var(--lh-tight);transition:color var(--t) var(--ease)}.lc-card:has(.lc-check) .lc-title{padding-right:var(--sp-9)}.lc-card:has(.lc-next) .lc-title{padding-right:calc(var(--sp-9)*3)}.lc-card.done .lc-title{color:var(--txt-1)}.lc-meta{align-items:center;gap:var(--sp-4);display:flex}.lc-cat{font-size:var(--fs-xs);color:var(--txt-3);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.lc-level{align-items:center;gap:var(--sp-1);display:inline-flex}.lc-level i{background:var(--bg-elev-a);width:6px;height:6px;transition:background var(--t) var(--ease);border-radius:50%}.lc-level i.on{background:var(--accent)}.lc-desc{font-size:var(--fs-m);color:var(--txt-2);line-height:var(--lh-body)}.lc-foot{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:var(--sp-3);display:flex}.lc-progress{flex:1;max-width:130px}.lc-progress .progress{display:block}.lc-cta{align-items:center;gap:var(--sp-1);height:28px;padding:0 var(--sp-5);border-radius:var(--radius-pill);background:var(--game);color:var(--on-game);font-size:var(--fs-s);box-shadow:var(--shadow-flat);transition:background var(--t) var(--ease);font-weight:650;display:inline-flex}.lc-grid .lc-card:hover .lc-cta{background:var(--game-h)}.lc-check{top:var(--sp-4);right:var(--sp-4);background:var(--accent);width:20px;height:20px;color:var(--on-accent);box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%;place-items:center;display:grid;position:absolute}.lc-next{top:var(--sp-4);right:var(--sp-4);align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);color:var(--accent-txt);background:var(--accent-soft);border-radius:var(--radius-pill);padding:var(--sp-1) var(--sp-3);font-weight:700;display:inline-flex;position:absolute}.lp-top{align-items:center;gap:var(--sp-5);padding:var(--sp-1) var(--sp-1) var(--sp-4);display:flex}.lp-top .btn{flex:none}.lp-top .btn:not(:disabled):hover{box-shadow:var(--shadow-float);transform:translateY(-1px)}.lp-top .btn:not(:disabled):active{box-shadow:var(--shadow-flat);transform:translateY(0)scale(.985)}.lp-title{font-weight:700;font-size:var(--fs-l);line-height:var(--lh-tight);align-items:center;gap:var(--sp-2);color:var(--txt-0);display:inline-flex}.lp-progress{font-size:var(--fs-s);color:var(--txt-2);font-variant-numeric:tabular-nums;margin-left:auto}.lp-board{width:100%;height:100%}.lp-steps{gap:var(--sp-2);padding:var(--sp-4) var(--sp-1) 0;flex-wrap:wrap;display:flex}.lp-dot{background:var(--bg-elev);width:18px;height:18px;color:var(--txt-2);transition:background var(--t) var(--ease), color var(--t) var(--ease), box-shadow var(--t) var(--ease);border-radius:50%;place-items:center;display:grid}.lp-dot.play{background:var(--bg-elev-a);color:var(--txt-0)}.lp-dot.past{background:var(--accent-soft);color:var(--accent-txt)}.lp-dot.cur{background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 3px var(--accent-soft);animation:popIn var(--t) var(--ease)}.lp-coach{gap:var(--sp-2);background:var(--bg-panel-2);border-radius:var(--radius-m);padding:var(--sp-5) var(--sp-6);color:var(--txt-0);flex-direction:column;display:flex}.lp-coach:before{border-right-color:var(--bg-panel-2)}.lp-hint{align-items:center;gap:var(--sp-2);font-size:var(--fs-m);color:var(--accent-txt);animation:rise var(--t) var(--ease);font-weight:600;display:flex}.lp-actions{gap:var(--sp-3);border-bottom:1px solid var(--hairline);flex-wrap:wrap;display:flex}.lp-outline{padding-top:var(--sp-3)}.lp-outline-row{align-items:center;gap:var(--sp-3);font-size:var(--fs-m);padding:var(--sp-3) var(--sp-5);border-radius:var(--radius-s);color:var(--txt-2);transition:background var(--t) var(--ease), color var(--t) var(--ease);display:flex;position:relative}.lp-outline-row:hover{background:var(--surface-hover);color:var(--txt-1)}.lp-outline-row.cur{background:var(--surface-active);color:var(--txt-0)}.lp-outline-row.cur:before{content:"";border-radius:var(--radius-pill);background:var(--accent);width:2px;height:18px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.lp-outline-row.past{color:var(--txt-3)}.lp-outline-ico{flex:none;place-items:center;width:16px;display:grid}.lp-done{align-items:center;gap:var(--sp-4);text-align:center;border-bottom:1px solid var(--hairline);animation:rise var(--t-slow) var(--ease);flex-direction:column;display:flex}.lp-done-stars{gap:var(--sp-1);display:flex}.lp-done-stars .lit{color:var(--warn)}.lp-done-stars .dim{color:var(--txt-3)}.lp-done-stars span{animation:popIn var(--t-slow) var(--ease) backwards}.lp-done-stars span:first-child{animation-delay:0s}.lp-done-stars span:nth-child(2){animation-delay:var(--t-fast)}.lp-done-stars span:nth-child(3){animation-delay:var(--t)}.lp-done-text{font-size:var(--fs-m);flex-direction:column;gap:2px;display:flex}.lp-done-text b{font-size:var(--fs-l);line-height:var(--lh-tight)}.lp-done-text span{color:var(--txt-2)}.lp-done-btns{gap:var(--sp-3);margin-top:var(--sp-1);flex-wrap:wrap;justify-content:center;display:flex}.shake{animation:nudge var(--t-slow) var(--ease)}.pz-streak{background:var(--game-soft);color:var(--txt-1);border-color:#0000}.pz-streak svg{color:var(--game)}.stats-page{padding:var(--page-pad)}.stats-grid{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));max-width:1080px;display:grid}@media (width<=900px){.stats-grid{grid-template-columns:1fr}}.rt-head{align-items:center;gap:var(--sp-2);row-gap:var(--sp-1);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--txt-3);flex-wrap:wrap;font-weight:700;display:flex}.rt-head svg{color:var(--txt-3)}.rt-head>span:not(.rt-games){white-space:nowrap}.rt-games{text-transform:none;letter-spacing:0;color:var(--txt-3);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.rt-main{align-items:baseline;gap:var(--sp-3);margin-top:var(--sp-3);display:flex}.rt-elo{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-3xl);letter-spacing:-.02em;color:var(--txt-0);font-weight:700;line-height:var(--lh-tight)}.rt-delta{font-family:var(--font-num);font-size:var(--fs-m);color:var(--txt-2);font-variant-numeric:tabular-nums;font-weight:700}.rt-delta.up{color:var(--accent-txt)}.rt-delta.down{color:var(--danger-txt)}.rt-spark{width:120px;height:32px;margin-top:var(--sp-4);color:var(--accent-txt);flex:none;display:block;overflow:visible}.rt-spark polyline{stroke:currentColor}.rt-spark circle{fill:currentColor}.gl-bar{height:8px;margin:var(--sp-5) 0 var(--sp-4);border-radius:var(--radius-pill);gap:2px;display:flex;overflow:hidden}.gl-bar .seg{border-radius:var(--radius-pill);min-width:8px}.gl-bar .seg.w{background:var(--accent)}.gl-bar .seg.d{background:var(--bg-elev-a)}.gl-bar .seg.l{background:var(--danger)}.gl-rows{gap:var(--sp-2);font-size:var(--fs-m);flex-direction:column;display:flex}.gl-row{align-items:center;gap:var(--sp-3);display:flex}.gl-row .k{color:var(--txt-2);flex:1}.gl-row b{font-family:var(--font-num);color:var(--txt-0);font-variant-numeric:tabular-nums}.act-bars{gap:var(--sp-2);margin-top:var(--sp-4);align-items:flex-end;display:flex}.act-col{align-items:center;gap:var(--sp-1);flex-direction:column;flex:1;min-width:0;display:flex}.act-track{border-radius:var(--radius-xs);align-items:flex-end;width:100%;height:64px;display:flex}.act-bar{border-radius:var(--radius-xs);background:var(--accent);width:100%;min-height:2px;transition:height var(--t-slow) var(--ease), background var(--t) var(--ease)}.act-col:hover .act-bar{background:var(--accent-h)}.act-lbl{font-family:var(--font-num);font-size:var(--fs-xs);color:var(--txt-3);font-variant-numeric:tabular-nums}.lc-big{font-family:var(--font-num);font-size:var(--fs-3xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--txt-0);font-weight:700;line-height:var(--lh-tight);margin-top:var(--sp-4)}.lc-big small{font-family:var(--font);font-size:var(--fs-m);color:var(--txt-2);letter-spacing:0;font-weight:600}.lc-stars{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);font-size:var(--fs-m);color:var(--warn);display:flex}.lc-foot .lc-stars{color:var(--warn);gap:1px;margin-top:0;display:inline-flex}.empty-note{margin-top:var(--sp-4);font-size:var(--fs-m);color:var(--txt-2);line-height:var(--lh-body)}.achievements-page{padding:var(--page-pad)}.achievements-total{max-width:360px;margin-bottom:var(--sp-6)}.ach-cats{gap:var(--sp-5);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.ach-cat{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--txt-3);font-weight:700}.ach-cat b{color:var(--txt-1);font-variant-numeric:tabular-nums}.ach-filter{margin-bottom:var(--sp-6)}.ach-grid{gap:var(--sp-4);max-width:var(--page-max);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));display:grid}.ach-empty{align-items:flex-start;gap:var(--sp-5);max-width:var(--page-max);flex-direction:column;display:flex}.ach-empty-text{font-size:var(--fs-m);line-height:var(--lh-body);color:var(--txt-2);margin:0}.ach-card{align-items:flex-start;gap:var(--sp-5);transition:background var(--t) var(--ease), border-color var(--t) var(--ease);display:flex}.ach-card.on{border-color:var(--accent);background:var(--bg-panel)}.ach-icon{border-radius:var(--radius-s);background:var(--bg-elev);width:40px;height:40px;color:var(--txt-3);transition:background var(--t) var(--ease), color var(--t) var(--ease);flex:none;justify-content:center;align-items:center;display:flex}.ach-card.on .ach-icon{background:var(--accent);color:var(--on-accent)}.ach-body{flex:1;min-width:0}.ach-title{align-items:center;gap:var(--sp-2);font-weight:700;font-size:var(--fs-l);line-height:var(--lh-tight);display:flex}.ach-card.on .ach-title svg{color:var(--accent-txt)}.ach-desc{color:var(--txt-2);font-size:var(--fs-m);line-height:var(--lh-body);margin-top:var(--sp-1)}.ach-card .progress{margin-top:var(--sp-3)}.ach-card.near{border-color:var(--hairline-strong)}.ach-card.near .ach-icon{color:var(--txt-1)}.ach-card.far{background:var(--bg-app);box-shadow:none}.ach-near{margin-top:var(--sp-2);font-size:var(--fs-s);color:var(--txt-2);font-variant-numeric:tabular-nums;font-weight:600}.home-ach-next{align-items:center;gap:var(--sp-2);font-size:var(--fs-s);line-height:var(--lh-body);color:var(--txt-2);margin-top:var(--sp-1);display:flex}.home-ach-next svg{color:var(--warn);flex:none}.ach-toast{right:var(--sp-7);bottom:var(--sp-7);z-index:180;align-items:flex-start;gap:var(--sp-5);max-width:min(360px,100vw - 36px);padding:var(--sp-5) var(--sp-5);background:var(--bg-elev-h);border:1px solid var(--accent);border-radius:var(--radius-l);box-shadow:var(--shadow-pop);pointer-events:none;animation:rise var(--t-slow) var(--ease);display:flex;position:fixed}.ach-toast>.btn{pointer-events:auto}.ach-toast-icon{border-radius:var(--radius-s);background:var(--accent);width:38px;height:38px;color:var(--on-accent);flex:none;justify-content:center;align-items:center;display:flex}.ach-toast-body{flex:1;min-width:0}.ach-toast-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-txt);font-weight:700}.ach-toast-name{font-weight:700;font-size:var(--fs-l);line-height:var(--lh-tight);margin-top:1px}.ach-toast-desc{font-size:var(--fs-m);color:var(--txt-2);line-height:var(--lh-body);margin-top:1px}.guess-page{padding:var(--page-pad)}.guess-loading{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);font-size:var(--fs-m);color:var(--txt-2);display:flex}.guess-skel-vs{flex:1;height:14px}.guess-skel-meta{flex:none;width:64px;height:12px}.guess-empty{align-items:flex-start;gap:var(--sp-5);flex-direction:column;max-width:520px;display:flex}.guess-empty-text{font-size:var(--fs-m);line-height:var(--lh-body);color:var(--txt-1);margin:0}.guess-grid{gap:var(--sp-4);max-width:var(--page-max);grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));display:grid}.guess-card{align-items:center;gap:var(--sp-4);text-align:left;cursor:pointer;display:flex}.guess-grid .guess-card:hover{border-color:var(--hairline-strong);box-shadow:var(--shadow-pop);transform:none}.guess-grid .guess-card:active{box-shadow:var(--shadow-float);transform:none}.guess-vs{font-weight:700;font-size:var(--fs-l);line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.guess-meta{font-size:var(--fs-s);color:var(--txt-2);flex:none}.guess-go{color:var(--txt-2);flex:none;display:inline-flex}.guess-hint{margin-top:var(--sp-3);font-size:var(--fs-m);color:var(--warn);font-weight:600}.guess-stats{gap:var(--sp-5);font-size:var(--fs-m);font-variant-numeric:tabular-nums;font-weight:700;display:flex}.guess-stat{align-items:center;gap:var(--sp-1);color:var(--txt-1);display:inline-flex}.guess-stat.ok{color:var(--accent-txt)}.guess-stat.ko{color:var(--danger-txt)}.guess-note{margin-top:var(--sp-5)}.guess-result{max-width:520px;margin:var(--sp-9) auto;text-align:center;padding:var(--sp-8) var(--sp-7)}.guess-score{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--fs-hero);font-weight:700;line-height:var(--lh-tight);letter-spacing:-.03em;color:var(--accent-txt)}.guess-pct{font-size:var(--fs-l);margin-top:var(--sp-3);font-weight:700}.guess-sub{color:var(--txt-2);font-size:var(--fs-m);margin-top:var(--sp-2)}.set-value{font-size:var(--fs-m);color:var(--txt-1);font-variant-numeric:tabular-nums;font-weight:600}.set-note{font-size:var(--fs-m);color:var(--txt-2);line-height:var(--lh-body);padding:var(--sp-3) 0 0;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.guess-best{align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-5);border-radius:var(--radius-pill);background:var(--bg-elev);border:1px solid var(--hairline);font-size:var(--fs-s);color:var(--warn);font-variant-numeric:tabular-nums;flex:none;font-weight:700;display:inline-flex}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.kh-modal{width:min(460px,94vw)}.kh-section{margin-bottom:var(--sp-5)}.kh-section:last-child{margin-bottom:0}.kh-title{margin:0 0 var(--sp-2);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--txt-3);font-weight:700}.kh-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.kh-row{justify-content:space-between;align-items:center;gap:var(--sp-5);padding:var(--sp-2) 0;font-size:var(--fs-m);color:var(--txt-1);display:flex}.kh-row+.kh-row{border-top:1px solid var(--hairline)}.kh-label{min-width:0}.kh-keys{gap:var(--sp-1);flex:none;display:inline-flex}.kh-kbd{min-width:24px;height:24px;padding:0 var(--sp-2);border-radius:var(--radius-xs);background:var(--bg-panel-2);border:1px solid var(--hairline);font-family:var(--font);font-size:var(--fs-s);color:var(--txt-0);justify-content:center;align-items:center;font-weight:700;display:inline-flex;box-shadow:0 1.5px #00000047}@media (width<=1100px){.side{flex-basis:60px;width:60px}.side-logo{padding:var(--sp-5) 0 var(--sp-5)}.side-logo svg{width:26px;height:26px}.side-nav{padding:var(--sp-1)}.side-item{padding:var(--sp-4) 0}.side-bottom{padding:var(--sp-3) var(--sp-2)}.side-status{gap:var(--sp-1)}.side-status .chip{padding:var(--sp-3) 0;width:100%}}@media (width<=1000px){.an{--bsz:min(92vw, calc(100vh - 260px), calc(100vw - 132px));gap:var(--sp-5);grid-template-rows:none;grid-auto-rows:auto;align-content:start;justify-items:stretch}.an-board-block{align-items:stretch}.an-board-row{flex:none;justify-content:center}.board-size{width:min(var(--bsz), 100%);aspect-ratio:1;height:auto;--bsz:min(92vw, calc(100vh - 260px), calc(100vw - 132px))!important}.pbar,.demo-banner,.lp-top,.lp-steps{width:100%;max-width:var(--bsz);margin-inline:auto}.side-panel{width:100%;min-width:0}.side-panel .panel-scroll{max-height:62vh}}@media (width<=820px){.an{padding:var(--sp-4);gap:var(--sp-4)}.tabs{overflow-x:auto}.tabs button{white-space:nowrap}.gt-row,.gt-head{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);grid-template-columns:22px minmax(0,1fr) 28px 48px 64px}.gt-head>span:nth-child(n+5),.gt-analyse{display:none}.gt-acts{grid-column:5}.gt-players,.gt-p{min-width:0;overflow:hidden}.gt-p b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fetch-form{flex-wrap:wrap}.fetch-form input{flex:200px}.games-filters .search{min-width:140px}.profile-card{align-items:flex-start;gap:var(--sp-5);flex-direction:column}.profile-stats{grid-template-columns:repeat(2,auto)}}@media (width<=560px){.an{padding:var(--sp-3);gap:var(--sp-3)}.page-title{font-size:var(--fs-xl)}.page-sub{margin-bottom:var(--sp-5);font-size:var(--fs-m)}.games-page,.stats-page,.lessons-page,.achievements-page,.guess-page,.page[data-testid=home-page]{padding:var(--sp-5)}.lc-grid{grid-template-columns:1fr}.page-head-actions{margin:var(--sp-4) 0 var(--sp-5);justify-content:flex-start}.page-head-actions .btn{min-width:0}.gt-row{grid-template-columns:20px minmax(0,1fr) 28px}.gt-head,.gt-acc,.gt-acts{display:none}.modal-head{font-size:var(--fs-xl);padding:var(--sp-5) var(--sp-5) var(--sp-4)}.modal-body{padding:var(--sp-1) var(--sp-5) var(--sp-5)}.popover{max-width:94vw}.go-avatars{gap:var(--sp-4)}.go-avatars .who{width:100px}.go-row{flex-wrap:wrap}.pbar{flex-wrap:wrap;row-gap:2px}.nav-bar,.play-actions,.lp-top{flex-wrap:wrap}.segmented{flex-wrap:wrap;max-width:100%}.rt-elo{font-size:var(--fs-2xl)}.btn,.input,select.sel,.segmented button,.tabs button,.popover .pop-item{min-height:40px}.btn.icon,.btn.icon.small{width:40px}.switch:before{content:"";position:absolute;inset:-8px}.ach-toast{right:var(--sp-5);bottom:var(--sp-5);max-width:calc(100vw - 2 * var(--sp-5))}.board-size{--bsz:min(92vw, calc(100vh - 250px), calc(100vw - 88px))!important}.pbar,.demo-banner,.lp-top,.lp-steps{--bsz:min(92vw, calc(100vh - 250px), calc(100vw - 88px))}}@media (width>=1600px){.pbar,.demo-banner,.lp-top,.lp-steps,.side-panel,.lc-card{max-width:1080px}.pbar,.demo-banner,.lp-top,.lp-steps{margin-inline:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@media (width<=700px){.side,.modal-backdrop{-webkit-backdrop-filter:none}.side{background:var(--bg-panel)}.modal-backdrop{background:#0006}}.account-page{color:#f5f5f1;min-height:100dvh;font-family:var(--font-ui,system-ui, sans-serif);background:radial-gradient(at 50% 25%,#303b26 0,#0000 52%),#242320;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.account-brand{letter-spacing:-.7px;align-items:center;gap:8px;margin-bottom:34px;font-size:24px;font-weight:800;display:flex}.account-brand img{width:42px;height:42px}.account-card{background:#302e2b;border:1px solid #ffffff0d;border-radius:16px;width:min(100%,420px);padding:36px;box-shadow:0 16px 50px #0003}.account-eyebrow{letter-spacing:1.8px;color:#a5c781;font-size:10px;font-weight:750}.account-card h1{margin:10px 0 12px;font-size:34px;line-height:1.15}.account-card>p{color:#b5b3ae;margin:0 0 26px;font-size:14px;line-height:1.65}.account-card form{flex-direction:column;display:flex}.account-card label{color:#deddd8;margin-bottom:8px;font-size:12px;font-weight:650}.account-card input{color:#fff;background:#242320;border:1px solid #ffffff17;border-radius:7px;outline:none;width:100%;height:46px;margin-bottom:19px;padding:0 13px;font-size:14px}.account-card input:focus{border-color:#81b64c;box-shadow:0 0 0 3px #81b64c25}.account-card input::placeholder{color:#77766f}.account-submit{color:#fff;background:#81b64c;border-radius:8px;justify-content:center;align-items:center;gap:12px;height:48px;margin-top:3px;font-size:15px;font-weight:750;display:flex;box-shadow:0 3px #537d2f}.account-submit:hover{background:#8dc455}.account-submit:disabled{opacity:.65;cursor:wait}.account-submit span{font-size:20px;font-weight:400}.account-closed{color:#bbb9b2;border-top:1px solid #ffffff0c;align-items:center;gap:8px;margin-top:28px;padding-top:23px;font-size:12px;line-height:1.6;display:flex}.account-closed span{color:#a5c781;font-size:7px}.account-card>.account-private{color:#88877f;margin:10px 0 0;font-size:11px;line-height:1.6}.account-error{color:#ffb7ac;background:#e34e3817;border:1px solid #e34e3833;border-radius:6px;margin:0 0 16px;padding:10px;font-size:12px}.account-footer{color:#85847b;margin-top:30px;font-size:11px}.account-loading{color:#b5b3ae;background:#242320;place-items:center;height:100dvh;font-size:14px;display:grid}.account-sync-error{z-index:1000;color:#ffe5a0;background:#493e22;border-radius:8px;max-width:90vw;padding:12px 18px;font-size:13px;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}@media (width<=480px){.account-page{padding:24px 18px}.account-card{padding:28px 24px}.account-card h1{font-size:30px}.account-brand{margin-bottom:24px}}.account-forgot{color:#b5b3ae;text-align:center;text-underline-offset:3px;margin-top:18px;font-size:12px;text-decoration:underline}.account-notice{color:#c7e8ab;padding:10px 0;font-size:12px;line-height:1.5}
