@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.14adbkwhbql9r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/b887d91685b8c137-s.3vw1idf69ly-m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.1kjlm4q41a8i_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_e4bfb95e-module__fqi_pq__className{font-family:Fraunces,Fraunces Fallback}.fraunces_e4bfb95e-module__fqi_pq__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
:root{--bg:#14161a;--surface:#1c1f26;--surface-2:#232732;--border:#2c313d;--text:#e6e8ec;--text-dim:#9aa1ad;--text-faint:#6b7280;--accent:#7c9cbf;--accent-dim:#4a5b6e;--good:#6f9c74;--warn:#c2a05a;--bad:#b0685f;--radius:10px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:15px;line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.01em;font-weight:600}h1{margin:0 0 .25rem;font-size:1.5rem}h2{margin:0 0 .75rem;font-size:1.15rem}h3{color:var(--text-dim);margin:0 0 .5rem;font-size:1rem}.shell{min-height:100vh}.sidebar{z-index:20;background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:.25rem;width:220px;height:100vh;padding:1.5rem 1rem;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar .brand{color:var(--text);padding:0 .5rem 1rem;font-size:1.05rem;font-weight:700}.sidebar .brand small{color:var(--text-faint);letter-spacing:.02em;font-size:.72rem;font-weight:400;display:block}.nav-link{color:var(--text-dim);border-radius:8px;padding:.5rem .65rem;font-size:.92rem;display:block}.nav-link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-link.active{background:var(--surface-2);color:var(--text)}.sidebar .spacer{flex:1}.main{max-width:1500px;margin-left:220px;padding:1.75rem 2rem}.card-link{color:inherit;text-decoration:none;display:block}.card-link:hover{text-decoration:none}.clickable{cursor:pointer;transition:transform 80ms,border-color .15s,background .15s}.clickable:hover{border-color:var(--accent-dim);transform:translateY(-1px)}.recharts-bar-rectangle,.recharts-pie-sector,.recharts-sector{cursor:pointer}.pills{grid-template-columns:repeat(5,1fr);gap:.75rem;display:grid}@media (max-width:900px){.pills{grid-template-columns:repeat(2,1fr)}}.pill{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem}.pill .value{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;line-height:1.1}.pill .label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.card.compact{padding:1rem}.card.compact h2{margin-bottom:.75rem;font-size:1rem}.review-grid{grid-template-columns:minmax(520px,680px) minmax(420px,1fr);align-items:start;gap:1.5rem;display:grid}.review-board{position:sticky;top:1rem}.review-game-board{width:100%;max-width:680px}.review-side{min-width:0}.review-scroll{max-height:calc(100vh - 190px);overflow-y:auto}@media (max-width:900px){.review-grid{grid-template-columns:1fr}.review-board{position:static}.review-scroll{max-height:none}}.ab-grid{grid-template-columns:minmax(420px,1fr) 190px;align-items:start;gap:.85rem;display:grid}@media (max-width:880px){.ab-grid{grid-template-columns:1fr}}.ab-moves{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;max-height:calc(100vh - 215px);padding:.4rem .5rem;overflow-y:auto}.ab-row{grid-template-columns:30px 1fr 1fr;align-items:center;gap:.2rem;display:grid}.ab-row .num{color:var(--text-faint);text-align:right;padding-right:.15rem;font-size:.78rem}.ab-move{color:var(--text);cursor:pointer;font-family:var(--mono);text-align:left;background:0 0;border:none;border-radius:5px;width:100%;padding:.12rem .4rem;font-size:.9rem}.ab-move:hover{background:var(--surface)}.ab-move.active{background:var(--accent-dim);color:#fff}.ab-controls button{padding:.4rem .75rem;font-size:.9rem}.analysis-engine-box{min-height:4.6rem}.analysis-movelist{line-height:2}.analysis-movelist .ab-var{color:var(--text-dim);font-size:.9em}.analysis-movelist .ab-var .ab-move{color:var(--text-dim);font-weight:400}.analysis-movelist .ab-var .ab-var{color:var(--text-faint)}.analysis-movelist .ab-var-paren{color:var(--text-faint);margin:0 1px}.analysis-movelist .ab-var .ab-move.active{color:#fff}.repertoire-line{border-bottom:1px solid var(--border);padding:.6rem 0}.repertoire-line:last-child{border-bottom:0}.repertoire-line .rl-head{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.repertoire-line .rl-name{font-weight:600}.repertoire-line .rl-score{white-space:nowrap;font-variant-numeric:tabular-nums}.repertoire-line .rl-score strong{font-size:1rem}.repertoire-line .rl-score em{color:var(--text-faint);margin-left:.35rem;font-size:.76rem;font-style:normal}.repertoire-line .rl-bar{background:var(--surface-2);border-radius:4px;height:16px;margin:.4rem 0 .35rem;display:flex;overflow:hidden}.repertoire-line .rl-bar>span{color:#ffffffeb;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:.62rem;font-weight:700;display:flex;overflow:hidden}.repertoire-line .rl-bar .w{background:#5c8a63}.repertoire-line .rl-bar .d{color:#ffffffd9;background:#6b7280}.repertoire-line .rl-bar .l{background:#a85a51}.repertoire-line .rl-meta{color:var(--text-faint);justify-content:space-between;align-items:baseline;gap:.6rem;font-size:.76rem;display:flex}.repertoire-line .rl-wdl{font-variant-numeric:tabular-nums}.repertoire-line .rl-wdl .w{color:#7fae86}.repertoire-line .rl-wdl .d{color:var(--text-dim)}.repertoire-line .rl-wdl .l{color:#c98b83}.reviews-hero{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;padding-bottom:1rem;display:flex}.reviews-hero h1{margin:.2rem 0 0}.reviews-hero p{color:var(--text-dim);margin:.3rem 0 0}.reviews-stats{display:flex}.reviews-stat{border-left:1px solid var(--border);text-align:center;min-width:84px;padding:.2rem .9rem}.reviews-stat strong{font-variant-numeric:tabular-nums;font-size:1.35rem;line-height:1.15;display:block}.reviews-stat span{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-size:.64rem}.reviews-verdicts{color:var(--text-dim);flex-wrap:wrap;gap:.5rem 1.1rem;margin:.9rem 0 1.1rem;font-size:.8rem;display:flex}.reviews-verdicts .vd b{font-variant-numeric:tabular-nums}.reviews-verdicts .vd.clean b{color:#7fae86}.reviews-verdicts .vd.minor b{color:#d0af62}.reviews-verdicts .vd.serious b{color:#c98b83}.review-list{flex-direction:column;gap:.4rem;display:flex}.review-item{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;overflow:hidden}.review-item[open]{border-color:var(--border-strong)}.review-summary{cursor:pointer;align-items:center;gap:.7rem;padding:.6rem .8rem;list-style:none;display:flex}.review-summary::-webkit-details-marker{display:none}.ri-result{width:22px;height:22px;font:700 .72rem var(--mono);background:var(--surface);color:var(--text-dim);border-radius:5px;flex:none;place-items:center;display:grid}.ri-result.win{color:#7fae86;background:#6f9c7433}.ri-result.loss{color:#c98b83;background:#b0685f33}.ri-result.draw{color:var(--text-dim);background:#78808833}.ri-main{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.ri-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.ri-main small{color:var(--text-faint);font-size:.72rem}.ri-verdict{border:1px solid var(--border);color:var(--text-dim);border-radius:999px;flex:none;padding:.12rem .5rem;font-size:.68rem}.ri-verdict.clean{color:#7fae86;border-color:#6f9c7466}.ri-verdict.minor{color:#d0af62;border-color:#c8a05066}.ri-verdict.serious{color:#c98b83;border-color:#b0685f73}.ri-recon{text-transform:uppercase;letter-spacing:.05em;flex:none;font-size:.66rem}.ri-recon.done{color:#7fae86}.ri-recon.pending{color:var(--text-faint)}.ri-chevron{color:var(--text-faint);flex:none;transition:transform .15s}.review-item[open] .ri-chevron{transform:rotate(90deg)}.review-detail{border-top:1px solid var(--border);padding:.3rem .9rem 1rem}.review-detail .ri-text{white-space:pre-wrap;margin:.6rem 0}.review-detail .ri-field{color:var(--text-dim);margin:.4rem 0;font-size:.88rem}.review-detail .ri-field span{min-width:96px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;display:inline-block}.review-detail .ri-reconline{border-left:3px solid var(--good);background:#6f9c7414;margin:.6rem 0 .4rem;padding:.5rem .65rem;font-size:.84rem}.review-detail .ri-reconline span{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.1rem;font-size:.66rem;display:block}.review-detail .ri-open{margin-top:.5rem;font-size:.84rem;display:inline-block}@media (max-width:620px){.ri-verdict,.ri-recon{display:none}}.review-analyzed{grid-template-columns:minmax(620px,1fr) minmax(360px,410px);gap:1.25rem;height:calc(100vh - 155px);display:grid}.review-analyzed .card{margin:0}.ab-left{min-width:0;overflow:hidden}.review-board-card{padding:1rem}.review-page-header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.review-meta{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.35rem;font-size:.82rem;display:flex}.review-meta>span:not(.chip){background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:.08rem .48rem}.review-inspector{flex-direction:column;min-width:0;padding:0;display:flex;overflow:hidden}.review-tabs{border-bottom:1px solid var(--border);background:var(--surface-2);grid-template-columns:repeat(3,1fr);gap:.3rem;padding:.45rem;display:grid}.review-tabs.two{grid-template-columns:repeat(2,1fr)}.review-tabs button{color:var(--text-dim);background:0 0;border-color:#0000;padding:.45rem .25rem;font-size:.8rem}.review-tabs button:hover{background:var(--surface);border-color:var(--border)}.review-tabs button.active{background:var(--surface);border-color:var(--border);color:var(--text)}.review-tab-body{min-height:0;padding:1rem;overflow-y:auto}.review-tab-body>form{border-top:0!important;margin-top:0!important;padding-top:0!important}.review-score-row{grid-template-columns:repeat(3,1fr);gap:.45rem;margin-bottom:.8rem;display:grid}.review-score-row>div{background:var(--surface-2);border:1px solid var(--border);text-align:center;border-radius:8px;padding:.55rem}.review-score-row strong{font-size:1.25rem;line-height:1.15;display:block}.review-score-row .positive strong{color:var(--good)}.review-score-row .negative strong{color:var(--warn)}.review-score-row span{color:var(--text-faint);text-transform:uppercase;letter-spacing:.03em;font-size:.67rem}.review-section{border-top:1px solid var(--border);padding:.85rem 0}.review-section:first-of-type{border-top:0}.review-section h3{margin-bottom:.5rem}.review-detail{margin-bottom:.65rem}.review-detail>span{color:var(--text-faint);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.review-detail p{white-space:pre-wrap;margin:.15rem 0 0;font-size:.88rem}@media (max-width:1180px){.review-analyzed{grid-template-columns:1fr;height:auto}.ab-left{overflow:visible}.review-inspector{max-height:none}.review-tab-body{overflow:visible}}@media (max-width:700px){.review-page-header{flex-direction:column;align-items:flex-start}}.puzzle-grid{grid-template-columns:1fr 340px;gap:1.25rem;height:calc(100vh - 240px);display:grid}.pz-board-col{flex-direction:column;min-width:0;height:100%;display:flex}.pz-board{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.pz-panel{height:100%;overflow-y:auto}.practice-stats{grid-template-columns:repeat(4,minmax(105px,1fr));gap:.7rem;max-width:700px;margin-bottom:.75rem;display:grid}.practice-path{margin-bottom:.8rem;padding:.6rem .75rem}.practice-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin:.75rem 0;display:flex}.practice-modes{border:1px solid var(--border);background:var(--panel);border-radius:10px;gap:3px;padding:3px;display:inline-flex}.practice-modes button{min-width:145px;color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:1px;padding:.55rem .75rem;display:flex}.practice-modes button.active{color:var(--text);background:var(--panel2);box-shadow:inset 0 0 0 1px var(--border)}.practice-modes button:disabled{cursor:default;opacity:1}.practice-modes small{opacity:.75;font-size:.7rem;font-weight:400}.practice-context{color:var(--muted);align-items:center;gap:.55rem;font-size:.83rem;display:flex}.practice-grid{grid-template-columns:minmax(500px,1.55fr) minmax(330px,.85fr);align-items:stretch;gap:1rem;min-height:620px;display:grid}.practice-board-column{flex-direction:column;align-items:center;min-width:0;display:flex}.practice-turn{width:min(100%,590px);color:var(--muted);justify-content:space-between;margin:.25rem 0 .5rem;font-size:.84rem;display:flex}.practice-turn strong{color:var(--text)}.practice-board{justify-content:center;width:min(100%,594px);min-height:300px;display:flex}.decision-track{gap:.55rem;margin-top:.8rem;display:flex}.decision-track span{border:1px solid var(--border);width:29px;height:29px;color:var(--muted);font:700 .75rem var(--mono);border-radius:50%;place-items:center;display:grid}.decision-track span.current{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px #c2a05a1f}.decision-track span.excellent,.decision-track span.strong,.decision-track span.acceptable{color:#fff;border-color:var(--good);background:var(--good)}.decision-track span.inaccurate,.decision-track span.incorrect{color:#fff;border-color:var(--bad);background:var(--bad)}.practice-panel{min-height:560px;padding:1.15rem;overflow-y:auto}.practice-step{color:var(--accent);text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;font-weight:700}.practice-panel textarea{min-height:84px}.practice-panel .field small{color:var(--muted);margin-top:.3rem;font-size:.72rem;display:block}.required{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-left:.3rem;font-size:.68rem}.confidence-range{accent-color:var(--accent);padding:0}.primary-wide{width:100%;margin-top:.35rem}.field-error,.bad-notice{border-left:3px solid var(--bad);color:#e3b0aa;background:#b0685f1a;border-radius:4px;margin:.65rem 0;padding:.65rem .75rem;font-size:.82rem}.engine-status,.practice-loading{color:var(--muted);align-items:center;gap:.55rem;padding:1rem 0;display:flex}.engine-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite practice-spin}@keyframes practice-spin{to{transform:rotate(360deg)}}.decision-list{gap:.45rem;margin:.9rem 0;display:grid}.decision-list>div{border:1px solid var(--border);font-family:var(--mono);border-radius:7px;grid-template-columns:1fr auto;gap:.25rem .5rem;padding:.6rem .65rem;font-size:.82rem;display:grid}.decision-list small{color:var(--muted);font-family:var(--sans);grid-column:1/-1}.decision-grade{font-family:var(--sans);font-size:.75rem}.decision-grade.excellent,.decision-grade.strong,.decision-grade.acceptable{color:var(--good)}.decision-grade.inaccurate,.decision-grade.incorrect{color:var(--bad)}.practice-verdict{border-left:4px solid var(--good);background:#6f9c741f;border-radius:9px;flex-direction:column;margin-bottom:.8rem;padding:1rem;display:flex}.practice-verdict.inaccurate,.practice-verdict.incorrect,.practice-verdict.incomplete{border-left-color:var(--bad);background:#b0685f1a}.practice-verdict small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.practice-verdict strong{text-transform:capitalize;margin:.1rem 0;font-size:1.45rem}.practice-verdict span{color:var(--muted);font-size:.78rem}.prediction-review{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:.8rem 0;padding:.7rem 0}.prediction-review label{color:var(--muted);font-size:.72rem}.prediction-review p{white-space:pre-wrap;margin:.25rem 0}.mastery-result{background:var(--panel2);text-transform:capitalize;border-radius:7px;justify-content:space-between;align-items:center;margin:.75rem 0;padding:.65rem .75rem;display:flex}.mastery-result span{color:var(--muted);text-transform:none;font-size:.76rem}.practice-empty{text-align:center;max-width:520px;margin:1rem auto;padding:3rem 1rem}.practice-empty-mark{color:#fff;background:var(--good);border-radius:50%;place-items:center;width:48px;height:48px;margin:auto;font-size:1.4rem;display:grid}@media (max-width:900px){.practice-grid{grid-template-columns:1fr;min-height:0}.practice-panel{min-height:0}}@media (max-width:600px){.practice-toolbar{flex-direction:column;align-items:stretch}.practice-modes{width:100%}.practice-modes button{flex:1;min-width:0}.practice-context{justify-content:space-between}.practice-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:1000px){.puzzle-grid{grid-template-columns:1fr;height:auto}.pz-board,.pz-panel{height:auto}}.analysis-grid{align-items:stretch;gap:1.25rem;height:calc(100vh - 260px);min-height:0;display:flex}.analysis-grid .pz-board-col{flex:none;min-height:0}.analysis-grid .pz-board{flex:none}.analysis-grid .pz-panel{flex-direction:column;flex:auto;min-width:380px;min-height:0;display:flex;overflow:hidden}.analysis-page{flex-direction:column;height:calc(100vh - 6rem);display:flex;overflow:hidden}.analysis-page>.page-header{flex:none}.analysis-page>.analysis-grid{flex:auto;height:auto}@media (max-width:1000px){.analysis-page{height:auto;overflow:visible}.analysis-grid{flex-direction:column;height:auto}.analysis-grid .pz-panel{overflow:visible}}.puzzle-timer{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700}.puzzle-tags{flex-wrap:wrap;gap:.35rem;display:flex}.puzzle-tag{color:var(--text-dim);background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:.05rem .5rem;font-size:.72rem}.pz-rating{align-items:baseline;gap:.5rem;display:flex}.pz-rating .val{font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:700}.pz-delta{font-variant-numeric:tabular-nums;font-weight:700}.pz-result{border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;padding:.85rem 1rem;font-weight:600}.pz-result.solved{color:var(--good);background:#6f9c7429;border-color:#6f9c7466}.pz-result.failed{color:var(--bad);background:#b0685f29;border-color:#b0685f66}.page-header{margin-bottom:1.5rem}.page-header p{color:var(--text-dim);margin:0}.grid{gap:1.25rem;display:grid}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width:980px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:820px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}@media (max-width:560px){.grid.cols-4{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.card h2{margin-bottom:1rem}.stat{flex-direction:column;gap:.15rem;display:flex}.stat .value{font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:700}.stat .label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}label{color:var(--text-dim);margin-bottom:.35rem;font-size:.85rem;display:block}input,textarea,select{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;padding:.6rem .7rem;font-family:inherit;font-size:.95rem}textarea{resize:vertical;min-height:90px;line-height:1.5}input:focus,textarea:focus,select:focus{border-color:var(--accent-dim);outline:none}.field{margin-bottom:1rem}button,.btn{background:var(--accent-dim);color:var(--text);border:1px solid var(--accent-dim);cursor:pointer;border-radius:8px;padding:.55rem 1rem;font-family:inherit;font-size:.92rem}button:hover,.btn:hover{background:var(--accent);border-color:var(--accent)}button.ghost{border-color:var(--border);color:var(--text-dim);background:0 0}button.ghost:hover{background:var(--surface-2);color:var(--text)}button:disabled{opacity:.5;cursor:not-allowed}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.55rem .6rem}th{color:var(--text-faint);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:500}tr:hover td{background:var(--surface-2)}.chip{border-radius:20px;padding:.1rem .5rem;font-size:.75rem;display:inline-block}.chip.blunder{color:var(--bad);background:#b0685f2e}.chip.mistake{color:var(--warn);background:#c2a05a2e}.chip.inaccuracy{color:var(--warn);background:#c2a05a1a}.chip.good,.chip.best,.chip.win{color:var(--good);background:#6f9c7426}.chip.loss{color:var(--bad);background:#b0685f2e}.chip.draw{background:var(--surface-2);color:var(--text-dim)}.login-wrap{place-items:center;min-height:100vh;padding:2rem;display:grid}.login-card{width:100%;max-width:360px}.auth-wrap{background:radial-gradient(900px 500px at 20% -10%,#7c9cbf29,#0000 60%),radial-gradient(700px 500px at 110% 110%,#6f9c7424,#0000 60%);place-items:center;min-height:100vh;padding:2rem;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:400px;padding:2rem 1.75rem;box-shadow:0 12px 40px #00000059}.auth-brand{letter-spacing:.02em;color:var(--accent);margin-bottom:1rem;font-size:1.05rem;font-weight:800}.auth-card h1{font-size:1.5rem}.onboard-bar{background:var(--surface-2);border-radius:999px;height:10px;position:relative;overflow:hidden}.onboard-bar span{background:linear-gradient(90deg, transparent, var(--accent), transparent);border-radius:999px;width:40%;height:100%;animation:1.2s ease-in-out infinite onboard-slide;position:absolute;left:-40%}@keyframes onboard-slide{0%{left:-40%}to{left:100%}}.muted{color:var(--text-dim);font-size:.9rem}.error{color:var(--bad);margin-top:.5rem;font-size:.88rem}.notice{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent-dim);color:var(--text-dim);border-radius:6px;padding:.75rem .9rem;font-size:.88rem}.plan-progress{background:var(--surface-2);border:1px solid var(--border);border-radius:5px;height:8px;margin:-.35rem 0 1rem;overflow:hidden}.plan-progress span{background:var(--good);height:100%;transition:width .2s;display:block}.plan-item{padding:1rem}.plan-item.done{border-color:#6f9c7466}.plan-item.skipped{opacity:.72}.plan-check{border:1px solid var(--border);color:#fff;background:0 0;border-radius:50%;flex:0 0 30px;width:30px;height:30px;padding:0;font-weight:700}.plan-check.checked{background:var(--good);border-color:var(--good)}.plan-item-entry{flex-wrap:wrap;align-items:flex-end;gap:.55rem;display:flex}.plan-item-entry>div:not(:last-child){flex:0 130px}.plan-item-entry input{padding:.45rem .55rem}.plan-item-entry label{font-size:.75rem}.chip.plan-draft{color:var(--warn);background:#c2a05a26}.chip.plan-active{color:var(--accent);background:#7c9cbf26}.chip.plan-reviewed{color:var(--good);background:#6f9c7426}@media (max-width:700px){.plan-item-entry>div:not(:last-child){flex:120px}}.root-cause-grid{grid-template-columns:1fr;gap:.5rem;display:grid}.root-cause{cursor:pointer;border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:.55rem;margin:0;padding:.55rem .65rem;display:flex}.root-cause.selected{border-color:var(--accent-dim);background:var(--surface-2)}.root-cause input{width:auto;margin-top:.2rem}.root-cause strong{color:var(--text);font-size:.86rem;display:block}.root-cause small{color:var(--text-faint);margin-top:.1rem;line-height:1.35;display:block}.reconcile-progress{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.reconcile-progress span{border-bottom:3px solid var(--border);color:var(--text-faint);text-align:center;padding:.3rem 0;font-size:.72rem}.reconcile-progress span.active{border-color:var(--accent);color:var(--text)}.practice-page{max-width:1240px;margin:0 auto}.practice-hero{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:2rem;padding:.15rem 0 1rem;display:flex}.practice-eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.13em;margin-bottom:.2rem;font-size:.68rem;font-weight:700;display:block}.practice-hero h1{margin:0;font-size:1.8rem;line-height:1.15}.practice-hero p{color:var(--text-dim);margin:.3rem 0 0}.practice-stats{gap:0;max-width:none;margin:0;display:flex}.practice-stat{border-left:1px solid var(--border);text-align:center;min-width:86px;padding:.25rem .9rem}.practice-stat strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.25rem;line-height:1.2;display:block}.practice-stat span{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-size:.65rem}.practice-stat.due strong{color:var(--warn)}.mastery-rail{min-height:40px;color:var(--text-faint);align-items:center;gap:.5rem;font-size:.7rem;display:flex}.mastery-rail i{background:var(--border);width:24px;height:1px}.mastery-rail small{color:var(--text-faint);margin-left:auto}.practice-shell{max-width:none}.practice-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-height:48px;margin:0 0 .75rem;padding:.35rem .65rem}.practice-journey{align-items:center;gap:.4rem;display:flex}.practice-journey>div{color:var(--text-faint);align-items:center;gap:.4rem;font-size:.72rem;display:flex}.practice-journey>div:not(:last-child):after{content:"";background:var(--border);width:32px;height:1px;margin:0 .2rem}.practice-journey span{border:1px solid var(--border);width:22px;height:22px;font:700 .65rem var(--mono);border-radius:50%;place-items:center;display:grid}.practice-journey .active{color:var(--text)}.practice-journey .active span{color:#fff;border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 3px #7c9cbf1f}.practice-journey .complete span{color:var(--good);border-color:var(--good)}.mastery-badge{border:1px solid var(--border);color:var(--text-dim);text-transform:capitalize;border-radius:999px;padding:.18rem .55rem;font-weight:600}.mastery-badge.reliable,.mastery-badge.mastered{color:#9dc5a1;background:#6f9c7414;border-color:#6f9c7473}.practice-grid{grid-template-columns:minmax(500px,1.45fr) minmax(350px,.85fr);gap:1.1rem;min-height:0}.practice-board-column{border:1px solid var(--border);background:radial-gradient(circle at 50% 44%,#7c9cbf12,#0000 54%);border-radius:12px;padding:.75rem 1rem .85rem}.practice-turn{width:min(100%,590px);margin:0 0 .6rem;padding:0 .1rem}.practice-turn strong:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;margin-right:.45rem;display:inline-block;box-shadow:0 0 0 3px #7c9cbf1f}.practice-board{width:min(100%,594px)}.decision-track{grid-template-columns:repeat(3,1fr);gap:.45rem;width:min(100%,590px);margin-top:.75rem;display:grid}.decision-track>span{border-radius:7px;width:auto;height:34px}.practice-panel{border-radius:12px;min-height:0;max-height:calc(100vh - 235px);padding:1.1rem 1.2rem;box-shadow:0 10px 30px #00000024}.practice-panel h2{margin:.25rem 0 .65rem;font-size:1.28rem}.practice-modes{background:0 0;border:0;border-radius:0;gap:.5rem;margin-bottom:1rem;padding:0;display:grid}.practice-modes button{width:100%;min-width:0;color:var(--text-dim);background:var(--bg);border:1px solid var(--border);text-align:left;border-radius:9px;grid-template-columns:34px 1fr auto;align-items:center;gap:.65rem;padding:.7rem;display:grid;position:relative}.practice-modes button:hover{border-color:var(--accent-dim)}.practice-modes button.active{color:var(--text);border-color:var(--accent);background:#7c9cbf14;box-shadow:0 0 0 2px #7c9cbf14}.practice-modes button>b{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;align-self:start;font-size:.58rem}.practice-modes button>span:nth-child(2){flex-direction:column;display:flex}.practice-modes small{color:var(--text-faint);font-size:.7rem}.mode-icon{width:32px;height:32px;color:var(--accent);background:var(--surface-2);border-radius:8px;place-items:center;font-size:1.1rem;display:grid}.position-memory{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:.45rem;margin:.7rem 0 .9rem;padding:.65rem .7rem;display:grid}.position-memory>span:first-child{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.position-memory>strong{font-family:var(--mono);font-size:1rem}.position-memory>small{color:var(--text-faint);grid-column:1/-1}.position-memory+p.muted{display:none}.practice-panel .field{margin-bottom:.8rem}.practice-panel textarea,.practice-panel input:not([type=range]){background:var(--bg);border-color:var(--border)}.practice-panel textarea:focus,.practice-panel input:focus{border-color:var(--accent);outline:2px solid #7c9cbf17}.practice-panel .primary-wide{background:var(--accent-dim);border-color:var(--accent);justify-content:space-between;align-items:center;padding:.7rem .9rem;font-weight:650;display:flex}.practice-panel .primary-wide:hover{filter:brightness(1.12)}.practice-context{color:var(--text-faint)}.engine-status{border:1px solid var(--border);background:var(--bg);border-radius:8px;justify-content:center;margin-top:1rem}.practice-empty{border:1px solid var(--border);background:var(--surface);border-radius:12px}@media (max-width:1050px){.practice-grid{grid-template-columns:minmax(440px,1fr) minmax(330px,.75fr)}.practice-panel{max-height:none}}@media (max-width:900px){.practice-hero{flex-direction:column;align-items:flex-start;gap:1rem}.practice-stats{justify-content:space-between;width:100%}.practice-stat{flex:1}.practice-grid{grid-template-columns:1fr}.practice-board-column{order:2}.practice-panel{order:1}.mastery-rail small{display:none}}@media (max-width:600px){.practice-hero h1{font-size:1.55rem}.practice-stat{min-width:0;padding:.25rem .4rem}.mastery-rail{overflow-x:auto}.practice-toolbar{align-items:flex-start}.practice-journey>div:not(:last-child):after{width:12px}.practice-context>span:last-child{display:none}.practice-board-column{padding:.6rem}.practice-panel{padding:1rem}}.puzzles-page{max-width:1240px;margin:0 auto}.puzzles-hero{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:2rem;padding:.15rem 0 1rem;display:flex}.puzzles-eyebrow{color:var(--warn);text-transform:uppercase;letter-spacing:.13em;margin-bottom:.2rem;font-size:.68rem;font-weight:700;display:block}.puzzles-hero h1{margin:0;font-size:1.8rem;line-height:1.15}.puzzles-hero p{color:var(--text-dim);margin:.3rem 0 0}.puzzles-stats{display:flex}.puzzles-stat{border-left:1px solid var(--border);text-align:center;min-width:86px;padding:.25rem .9rem}.puzzles-stat strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.25rem;line-height:1.2;display:block}.puzzles-stat.rating strong{color:var(--warn)}.puzzles-stat.personal strong{color:var(--accent)}.puzzles-stat.adaptive strong{color:var(--good)}.puzzles-stat span{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-size:.65rem}.puzzle-principle{min-height:40px;color:var(--text-faint);align-items:center;gap:.5rem;font-size:.7rem;display:flex}.puzzle-principle i{background:var(--border);width:24px;height:1px}.puzzle-principle small{color:var(--text-faint);margin-left:auto}.puzzle-experience{grid-template-columns:minmax(500px,1.45fr) minmax(350px,.85fr);align-items:start;gap:1.1rem;height:auto;min-height:610px}.puzzle-board-stage{border:1px solid var(--border);background:radial-gradient(circle at 50% 44%,#c2a05a12,#0000 54%);border-radius:12px;align-items:center;width:100%;height:calc(100vh - 190px);min-height:610px;max-height:760px;padding:.75rem 1rem .85rem}.puzzle-board-bar{width:min(100%,680px);color:var(--text-dim);padding:0 .1rem}.puzzle-board-stage .pz-board{flex:auto;align-self:stretch;width:100%;height:100%}.puzzle-board-bar>span:first-child:before{content:"";background:var(--warn);border-radius:50%;width:7px;height:7px;margin-right:.45rem;display:inline-block;box-shadow:0 0 0 3px #c2a05a1f}.puzzle-timer{min-width:66px;color:var(--text);background:var(--surface);border:1px solid var(--border);text-align:center;font:700 .92rem var(--mono);border-radius:7px;padding:.2rem .5rem}.puzzle-panel-v2{border-radius:12px;height:auto;min-height:0;max-height:calc(100vh - 190px);padding:1.1rem 1.2rem;box-shadow:0 10px 30px #00000024}.puzzle-session-step{border-bottom:1px solid var(--border);align-items:center;gap:.65rem;margin-bottom:.9rem;padding-bottom:.8rem;display:flex}.puzzle-session-step>span{color:#fff;background:var(--accent-dim);border:1px solid var(--accent);width:31px;height:31px;font:700 .72rem var(--mono);border-radius:50%;flex:none;place-items:center;display:grid}.puzzle-session-step>div{flex-direction:column;line-height:1.25;display:flex}.puzzle-session-step small{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-size:.65rem}.puzzle-session-step strong{font-size:.92rem}.puzzle-panel-v2 .pz-rating{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.6rem .7rem;margin-bottom:.8rem!important}.puzzle-panel-v2 .pz-rating .val{font-size:1.35rem}.puzzle-panel-v2 .pz-rating .label{text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.puzzle-controls{grid-template-columns:92px 1fr 1fr;gap:.45rem!important;margin-bottom:.75rem!important;display:grid!important}.puzzle-controls select{background:var(--bg);min-width:0}.adaptive-difficulty{background:#6f9c7414;border:1px solid #6f9c7466;border-radius:7px;flex-direction:column;justify-content:center;min-width:0;padding:.42rem .55rem;display:flex}.adaptive-difficulty span{color:#9dc5a1;font-size:.72rem;font-weight:700}.adaptive-difficulty small{color:var(--text-faint);font-size:.58rem;line-height:1.2}.puzzle-controls button{color:var(--text-faint);background:var(--bg);border-color:var(--border);flex-direction:column;align-items:flex-start;gap:0;padding:.48rem .55rem;font-size:.75rem;display:flex}.puzzle-controls button.active{color:var(--text);border-color:var(--accent);background:#7c9cbf14;box-shadow:0 0 0 2px #7c9cbf12}.puzzle-controls button small{font-size:.62rem;font-weight:400}.puzzle-panel-v2 .puzzle-tags{border-bottom:1px solid var(--border);padding-bottom:.75rem;margin-bottom:.85rem!important}.puzzle-panel-v2 .puzzle-tag{background:var(--bg);border:1px solid var(--border);color:var(--text-dim)}.puzzle-panel-v2 .field{margin-bottom:.85rem}.puzzle-panel-v2 textarea{background:var(--bg);border-color:var(--border);min-height:120px!important}.puzzle-panel-v2 textarea:focus{border-color:var(--accent);outline:2px solid #7c9cbf17}.puzzle-panel-v2>button,.puzzle-panel-v2>button:last-child{justify-content:space-between;align-items:center;width:100%;padding:.7rem .85rem;display:flex}.puzzle-panel-v2 .pz-result{border-radius:8px;padding:.85rem;font-weight:650}.puzzle-panel-v2 .pz-result.solved{border-left:4px solid var(--good)}.puzzle-panel-v2 .pz-result.failed{border-left:4px solid var(--bad)}.puzzle-panel-v2 code{font-size:.75rem}.personal-puzzle-source{background:#7c9cbf12;border:1px solid #7c9cbf61;border-radius:8px;flex-direction:column;gap:.15rem;margin:.85rem 0;padding:.75rem .8rem;display:flex}.personal-puzzle-source>span{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:700}.personal-puzzle-source>strong{font-size:.95rem}.personal-puzzle-source>small{color:var(--text-faint)}.personal-puzzle-source>p{color:var(--text-dim);margin:.45rem 0 .2rem;font-size:.78rem}.personal-puzzle-source>a{align-self:flex-start;font-size:.75rem}.phase-loading .puzzle-panel-v2{opacity:.75}.level-badge{text-transform:uppercase;letter-spacing:.07em;border:1px solid var(--border);color:var(--text-dim);background:var(--bg);border-radius:999px;padding:.12rem .5rem;font-size:.62rem;font-weight:700}.level-badge.level-starter{color:#9fb3c8;border-color:#9fb3c866}.level-badge.level-easy{color:var(--good);border-color:#6f9c7473}.level-badge.level-intermediate{color:var(--accent);border-color:#7c9cbf80}.level-badge.level-advanced{color:var(--warn);border-color:#c8a05080}.level-badge.level-expert{color:#c98b6a;border-color:#c98b6a80}.level-badge.level-master{color:#b06a95;border-color:#b06a958c}.tactics-meta .tactics-chip{text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex:1;padding:.4rem .3rem}.tactics-meta .tactics-chip strong{font-variant-numeric:tabular-nums;font-size:1.1rem;line-height:1.15;display:block}.tactics-meta .tactics-chip small{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:.6rem}.tactics-session{border:1px solid var(--border);background:var(--surface-2);border-radius:9px;gap:.4rem;margin-bottom:.7rem;padding:.5rem .3rem;display:flex}.tactics-session>div{text-align:center;flex:1;line-height:1.15}.tactics-session strong{font-variant-numeric:tabular-nums;font-size:1.05rem;display:block}.tactics-session strong.hot{color:var(--warn);text-shadow:0 0 10px #d79a388c}.tactics-session small{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:.58rem}.daily-badge{background:#d79a3812;border:1px solid #d79a384d;border-radius:9px;justify-content:space-between;align-items:baseline;padding:.5rem .7rem;display:flex}.daily-badge span{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;font-weight:800}.daily-badge strong{font-variant-numeric:tabular-nums}.tactics-themes{flex-wrap:wrap;gap:.3rem;margin-bottom:.85rem;display:flex}.tactics-themes .theme-chip{border:1px solid var(--border);background:var(--bg);color:var(--text-dim);cursor:pointer;border-radius:999px;padding:.2rem .55rem;font-size:.72rem}.tactics-themes .theme-chip:hover{border-color:var(--accent);color:var(--text)}.tactics-themes .theme-chip.active{background:var(--accent-dim);border-color:var(--accent);color:#fff}.session-recap-link{margin:-.2rem 0 .7rem;font-size:.74rem;display:block}.session-recap-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#060e0b9e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.session-recap{width:min(420px,100%);padding:1.4rem 1.5rem}.session-recap h3{font-size:1.15rem}.session-recap-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.4rem 0 1rem;display:grid}.session-recap-grid>div{text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:.6rem .2rem}.session-recap-grid strong{font-variant-numeric:tabular-nums;font-size:1.3rem;display:block}.session-recap-grid small{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:.6rem}.session-recap-record{border-left:3px solid var(--accent);color:#f6ce8c;background:#d79a381a;margin:0 0 1rem;padding:.5rem .7rem;font-size:.86rem;font-weight:650}.session-recap-actions{gap:.5rem;display:flex}.session-recap-actions>button:last-child{flex:1}.focus-today{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem;margin-bottom:1.25rem;display:grid}.focus-tile{border:1px solid var(--border);background:var(--surface-2);color:inherit;border-radius:14px;flex-direction:column;gap:.15rem;padding:1rem 1.1rem;text-decoration:none;transition:border-color .15s,transform .1s;display:flex}.focus-tile:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-1px)}.focus-tile.accent{background:linear-gradient(150deg, #d79a381f, var(--surface-2));border-color:#d79a3866}.focus-tile.done{border-color:#6f9c7466}.focus-tile .ft-eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;font-weight:800}.focus-tile strong{font-size:1.15rem;line-height:1.15}.focus-tile small{color:var(--text-faint);font-size:.76rem}@media (max-width:720px){.focus-today{grid-template-columns:1fr}}.insights-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.insights-body{grid-template-columns:1.4fr 1fr;gap:1.4rem;display:grid}.insights-phases{flex-direction:column;gap:.8rem;display:flex}.insight-phase .ip-head{justify-content:space-between;align-items:baseline;display:flex}.insight-phase .ip-head span{color:var(--text-dim);font-size:.82rem}.insight-phase .ip-head strong{font-variant-numeric:tabular-nums}.insight-phase .ip-bar{background:var(--surface-2);border-radius:5px;height:9px;margin:.3rem 0 .2rem;overflow:hidden}.insight-phase .ip-bar i{height:100%;transition:width .3s;display:block}.insight-phase small{color:var(--text-faint);font-size:.7rem}.insights-callouts{flex-direction:column;gap:.7rem;display:flex}.insight-callout{border:1px solid var(--border);background:var(--surface-2);color:inherit;border-radius:11px;flex-direction:column;gap:.1rem;padding:.8rem .9rem;text-decoration:none;transition:border-color .15s;display:flex}.insight-callout:hover{border-color:var(--accent);text-decoration:none}.insight-callout span{color:var(--accent);text-transform:uppercase;letter-spacing:.09em;font-size:.6rem;font-weight:800}.insight-callout strong{text-transform:capitalize;font-size:1rem}.insight-callout small{color:var(--text-faint);font-size:.74rem}@media (max-width:720px){.insights-body{grid-template-columns:1fr}}@media (max-width:900px){.main{padding:1rem .8rem 3rem}.puzzle-experience,.practice-grid,.endgame-trainer,.conversion-grid,.book-explorer-grid,.ab-grid,.review-analyzed,.review-grid{grid-template-columns:1fr!important;gap:1rem!important;height:auto!important;min-height:0!important}.analysis-grid{flex-direction:column!important;height:auto!important}.puzzle-board-stage,.endgame-board-card,.practice-board-column,.conversion-board,.book-board-panel{height:auto!important;min-height:0!important;max-height:none!important;padding:.6rem!important}.puzzle-panel-v2,.endgame-coach-card,.practice-panel,.conversion-panel,.pz-panel,.book-data-panel{height:auto!important;max-height:none!important;overflow:visible!important}.pills{grid-template-columns:repeat(2,1fr)}.grid.cols-3,.grid.cols-4,.insights-body,.focus-today{grid-template-columns:1fr}.session-recap-grid,.endgame-path-grid{grid-template-columns:repeat(2,1fr)}.study-grid,.profile-rating-grid,.settings-grid{grid-template-columns:1fr}.puzzles-stats,.endgame-stats,.practice-stats{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.puzzles-hero,.endgames-hero,.practice-hero,.repertoire-hero{flex-direction:column;align-items:flex-start;gap:.6rem}.analysis-movelist{max-height:34vh}}.tactics-phase-label{color:var(--accent);text-transform:uppercase;letter-spacing:.09em;margin-bottom:.2rem;font-size:.66rem;font-weight:700}.tactics-review-summary{background:#7c9cbf12;border:1px solid #7c9cbf66;border-radius:8px;flex-direction:column;margin:.8rem 0;padding:.75rem .8rem;display:flex}.tactics-review-summary span{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:.63rem;font-weight:700}.tactics-review-summary strong{text-transform:capitalize;margin:.1rem 0}.tactics-review-summary small{color:var(--text-faint);text-transform:capitalize}@media (max-width:1050px){.puzzle-experience{grid-template-columns:minmax(440px,1fr) minmax(330px,.75fr)}.puzzle-board-stage{height:min(690px,100vh - 190px)}}@media (max-width:900px){.puzzles-hero{flex-direction:column;align-items:flex-start;gap:1rem}.puzzles-stats{justify-content:space-between;width:100%}.puzzles-stat{flex:1}.puzzle-experience{grid-template-columns:1fr;min-height:0}.puzzle-board-stage{height:auto;min-height:0;max-height:none}.puzzle-board-stage .pz-board{height:auto;min-height:min(680px,100vw - 4rem)}.puzzle-panel-v2{order:1;max-height:none}.puzzle-board-stage{order:2}.puzzle-principle small{display:none}}@media (max-width:600px){.puzzles-hero h1{font-size:1.55rem}.puzzles-stat{min-width:0;padding:.25rem .4rem}.puzzle-principle{overflow-x:auto}.puzzle-board-stage{padding:.6rem}.puzzle-panel-v2{padding:1rem}.puzzle-controls{grid-template-columns:1fr 1fr}.adaptive-difficulty{grid-column:1/-1}}.endgames-page{max-width:1320px;margin:0 auto;padding:1.5rem 2rem 4rem}.endgames-hero{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:2rem;padding-bottom:1.25rem;display:flex}.endgames-hero h1{margin:.2rem 0;font-size:clamp(2rem,4vw,3.2rem)}.endgames-hero p{max-width:680px;color:var(--text-dim);margin:0}.endgame-stats{flex-shrink:0;display:flex}.endgame-stats div{border-left:1px solid var(--border);min-width:112px;padding:.25rem 1.1rem}.endgame-stats strong,.endgame-stats span{display:block}.endgame-stats strong{font:700 1.45rem var(--mono);color:var(--accent)}.endgame-stats span{color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;margin-top:.25rem;font-size:.68rem}.endgame-flow{color:var(--text-dim);align-items:center;gap:.7rem;padding:.8rem 0 1.2rem;font-size:.72rem;display:flex}.endgame-flow i{background:var(--border);width:28px;height:1px}.endgame-flow small{color:var(--text-faint);margin-left:auto}.endgame-trainer{grid-template-columns:minmax(560px,1fr) minmax(330px,410px);gap:1rem;min-height:650px;display:grid}.endgame-board-card,.endgame-coach-card{border:1px solid var(--border);background:var(--surface);border-radius:12px}.endgame-board-card{flex-direction:column;padding:1rem;display:flex}.endgame-board-wrap{flex:1;place-items:center;min-height:580px;display:grid}.endgame-coach-card{padding:1.25rem}.endgame-origin{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;margin-bottom:1rem;padding:.75rem}.endgame-origin span,.endgame-origin strong{display:block}.endgame-origin span{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.endgame-origin strong{margin-top:.3rem;font-size:.86rem}.endgame-level{color:var(--text-faint);font:.72rem var(--mono);text-transform:uppercase;letter-spacing:.07em}.endgame-coach-card h2{margin:.45rem 0 .6rem}.endgame-coach-card>p{color:var(--text-dim)}.endgame-objective,.endgame-mastery{border:1px solid var(--border);border-radius:8px;margin:1rem 0;padding:.9rem}.endgame-objective small,.endgame-objective strong,.endgame-mastery span,.endgame-mastery strong{display:block}.endgame-objective small,.endgame-mastery span{color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.endgame-objective strong,.endgame-mastery strong{margin-top:.35rem}.endgame-explanation{margin-top:1rem}.endgame-explanation p{color:var(--text-dim);line-height:1.55}.endgame-explanation blockquote{border-left:3px solid var(--accent);background:var(--surface-2);color:var(--text);margin:1rem 0;padding:.85rem 1rem}.endgame-advance{text-align:center;margin-top:1rem}.endgame-empty{text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:12px;place-content:center;min-height:360px;padding:2rem;display:grid}.endgame-empty span{color:var(--good);text-transform:uppercase;letter-spacing:.09em;font-size:.72rem}.endgame-empty h2{max-width:540px;margin:.6rem auto}.endgame-empty p{max-width:620px;color:var(--text-dim)}.endgame-path-section{margin-top:3rem}.section-heading>span{color:var(--accent);text-transform:uppercase;letter-spacing:.09em;font-size:.72rem}.section-heading h2{margin:.35rem 0}.section-heading p{color:var(--text-dim);margin-top:0}.endgame-path-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.endgame-path-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;min-height:205px;padding:1rem;display:flex}.endgame-path-card>div,.endgame-path-card footer{justify-content:space-between;display:flex}.endgame-path-card>div span{color:var(--accent);font:.72rem var(--mono);text-transform:uppercase}.endgame-path-card>div small{color:var(--text-faint);text-transform:capitalize}.endgame-path-card h3{margin:.7rem 0 .35rem;font-size:1rem}.endgame-path-card p{color:var(--text-dim);font-size:.82rem;line-height:1.45}.endgame-path-card footer{border-top:1px solid var(--border);color:var(--text-faint);text-transform:capitalize;margin-top:auto;padding-top:.65rem;font-size:.72rem}.endgame-path-card{color:inherit;text-decoration:none;transition:border-color .16s,transform .16s,background .16s}a.endgame-path-card:hover{border-color:var(--accent);background:var(--surface-2);transform:translateY(-2px)}.endgame-path-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.endgame-path-card.unavailable{opacity:.48;cursor:not-allowed}.endgame-session-mode{border:1px solid var(--border);background:var(--surface);border-radius:9px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem;padding:.65rem .85rem;display:flex}.endgame-session-mode div span,.endgame-session-mode div strong{display:block}.endgame-session-mode div span{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:.64rem}.endgame-session-mode div strong{margin-top:.15rem}.endgame-path-card.mastered{border-color:var(--good)}.endgame-path-card.reliable{border-color:var(--accent)}.legal-page{max-width:760px;margin:3rem auto;padding:0 1.25rem 4rem;line-height:1.65}.legal-page h1{font-size:2.2rem}.legal-page h2{margin-top:1.8rem;font-size:1.15rem}.sidebar-legal{border-top:1px solid var(--border);flex-wrap:wrap;gap:.15rem .6rem;margin-top:.75rem;padding-top:.7rem;display:flex}.sidebar-legal a{color:var(--text-faint);font-size:.68rem;text-decoration:none}.sidebar-legal a:hover{color:var(--text-dim);text-decoration:underline}.legal-footer{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:1.1rem}.legal-footer nav{flex-wrap:wrap;gap:.35rem 1rem;display:flex}.legal-footer nav a{color:var(--text-dim);font-size:.82rem;text-decoration:none}.legal-footer nav a:hover{color:var(--text);text-decoration:underline}.legal-footer p{color:var(--text-faint);margin:.7rem 0 0;font-size:.72rem}.glossary-page .glossary-list{margin:.5rem 0 0}.glossary-page .glossary-item{border-bottom:1px solid var(--border);padding:.7rem 0}.glossary-page .glossary-item dt{color:var(--text);font-weight:650}.glossary-page .glossary-item dd{color:var(--text-dim);margin:.2rem 0 0;font-size:.92rem}.check-row{color:var(--text-dim);align-items:flex-start;gap:.55rem;margin:.8rem 0;font-size:.86rem;display:flex}.check-row input{width:auto;margin-top:.2rem}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.settings-grid .danger-zone{border-color:#b0685f80;grid-column:1/-1}@media (max-width:700px){.settings-grid{grid-template-columns:1fr}.settings-grid .danger-zone{grid-column:auto}}@media (max-width:1050px){.endgame-trainer{grid-template-columns:1fr}.endgame-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.endgames-page{padding:1rem}.endgames-hero{display:block}.endgame-stats{margin-top:1rem}.endgame-stats div{flex:1;min-width:0;padding:.25rem .65rem}.endgame-flow span:nth-of-type(2),.endgame-flow span:nth-of-type(3),.endgame-flow i{display:none}.endgame-board-wrap{min-height:360px;overflow:hidden}.endgame-path-grid{grid-template-columns:1fr}}.skip-link{z-index:1000;color:#111;background:#fff;border-radius:.4rem;padding:.65rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.book-source-evidence{color:var(--muted,#91a79f);letter-spacing:.015em;grid-column:2/-1;margin-top:-.2rem;font-size:.62rem;line-height:1.35;display:block}.book-reco-badge{color:#f5cc89;font:700 .58rem var(--mono);letter-spacing:.03em;vertical-align:middle;background:#d79a3824;border:1px solid #d79a3866;border-radius:999px;margin-left:.45rem;padding:.05rem .4rem;font-style:normal}.book-move-row.recommended{background:#d79a380d}.pz-board,.book-board,.conversion-board,.endgame-board-wrap,.review-board,.ab-grid{-webkit-user-select:none;user-select:none;touch-action:none}[data-boardid]{touch-action:none;-webkit-user-select:none;user-select:none}[data-boardid] [data-square]{-webkit-user-drag:none;user-drag:none}.book-reference-warning{background:#d79a3814;border:1px solid #d79a3852;border-radius:9px;flex-direction:column;gap:.18rem;margin:.65rem;padding:.7rem .8rem;display:flex}.book-reference-warning strong{color:#f5cc89}.book-reference-warning span{color:var(--text-dim);font-size:.74rem}.book-engine-fallback{padding:.9rem}.book-engine-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem;display:flex}.book-engine-head>div{flex-direction:column;gap:.15rem;display:flex}.book-engine-head>span{color:var(--text-dim);align-items:center;gap:.4rem;font-size:.72rem;display:flex}.book-engine-fallback>button{border-color:var(--border);width:100%;box-shadow:none;text-align:left;background:#0c1c17;grid-template-columns:26px 66px minmax(0,1fr) 60px;align-items:center;gap:.55rem;margin:.42rem 0;padding:.7rem;display:grid}.book-engine-fallback>button:hover{background:#d79a3812;border-color:#d79a3880}.book-engine-fallback>button b{color:#f5cc89;background:#d79a3821;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.book-engine-fallback>button strong{color:#f5cc89;font:800 .9rem var(--mono)}.book-engine-fallback>button span{color:var(--text-dim);font:.72rem var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-engine-fallback>button em{color:var(--text);font:800 .72rem var(--mono);justify-self:end}.book-engine-fallback>p{color:var(--text-dim);font-size:.78rem}.notification-center{margin:.5rem 0;position:relative}.notification-trigger{text-align:left;width:100%}.notification-panel{z-index:40;background:var(--panel,#1b2029);border:1px solid var(--border,#303744);border-radius:.65rem;width:min(22rem,100vw - 2rem);max-height:24rem;padding:.75rem;position:absolute;bottom:calc(100% + .4rem);left:0;overflow:auto;box-shadow:0 1rem 2.5rem #0008}.notification-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.notification-item{border-top:1px solid var(--border,#303744)}.notification-item a,.notification-item>button{text-align:left;width:100%;color:inherit;background:0 0;border:0;flex-direction:column;gap:.2rem;padding:.7rem .2rem;text-decoration:none;display:flex}.notification-item span{color:var(--muted);font-size:.78rem}.notification-item.unread strong:before{content:"•";color:var(--accent,#e0b45a);margin-right:.35rem}.link-button{color:var(--accent,#9fc7ff);cursor:pointer;background:0 0;border:0;padding:0}.ab-moves-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ab-review-btn{white-space:nowrap;padding:.3rem .55rem;font-size:.78rem}.ab-badge{margin-left:1px;font-size:.74em;font-weight:800}.ab-comment{color:var(--text-dim);white-space:normal;margin:0 4px;font-size:.82em;font-style:italic}.ab-review-summary{flex-wrap:wrap;gap:.3rem;margin:0 0 .55rem;display:flex}.ab-review-chip{border:1px solid var(--border);border-left:3px solid var(--q);background:var(--surface-2);color:var(--text-dim);border-radius:6px;padding:.15rem .45rem;font-size:.7rem}.ab-review-chip b{color:var(--q);font-variant-numeric:tabular-nums}.ab-menu{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;min-width:196px;padding:.3rem;display:flex;position:fixed;box-shadow:0 14px 34px #00000080}.ab-menu button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.45rem .6rem;font-size:.82rem;display:block}.ab-menu button:hover{background:var(--surface-2)}.ab-menu button.danger{color:#e2857b}.ab-menu button.danger:hover{background:#d24a4229}.gif-result{flex-direction:column;gap:.5rem;margin-top:.6rem;display:flex}.gif-result img{border:1px solid var(--border);border-radius:8px;width:100%;max-width:320px}.gif-actions{gap:.4rem;display:flex}.gif-actions .btn,.gif-actions button{padding:.4rem .7rem;font-size:.82rem}.game-share{margin-top:.6rem}.game-share-btns{flex-wrap:wrap;gap:.4rem;display:flex}.game-share-btns button{font-size:.82rem}.puzzles-stat.adaptive strong{text-transform:capitalize;letter-spacing:0;font-size:.92rem;line-height:1.35}.puzzles-stat strong{overflow-wrap:anywhere;max-width:100%}.puzzles-stat span{overflow-wrap:anywhere}.analysis-share{border-bottom:1px solid var(--border);margin:0 0 .55rem;padding-bottom:.55rem}.analysis-share .game-share{margin-top:0}.play-lobby{grid-template-columns:minmax(300px,.8fr) minmax(560px,1.2fr);align-items:stretch;gap:1.2rem;min-height:calc(100vh - 5rem);display:grid}.play-hero{border:1px solid var(--border);background:radial-gradient(circle at 25% 20%,#d69b3729,#0000 34%),linear-gradient(145deg,#14362bf5,#071a16fa);border-radius:18px;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,5rem);display:flex}.play-hero h1{max-width:9ch;margin:.5rem 0 1rem;font-size:clamp(2.8rem,5vw,5.4rem);line-height:.92}.play-hero>p{max-width:48ch;font-size:1.05rem}.play-rating{border-left:3px solid var(--gold,#d79a38);width:max-content;margin-top:2.5rem;padding:1rem 1.2rem;display:grid}.play-rating span,.play-rating small{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}.play-rating strong{color:var(--gold,#e1a13a);font-size:2.6rem}.engine-bands{grid-template-columns:repeat(5,1fr);gap:.45rem;margin:.45rem 0 1.1rem;display:grid}.engine-bands button,.time-row button{border:1px solid var(--border);color:inherit;background:#05161273;border-radius:9px;padding:.7rem}.engine-bands button{text-align:left;display:grid}.engine-bands small{opacity:.66;font-size:.68rem}.engine-bands button.active,.time-row button.active{border-color:var(--gold,#d79a38);color:#f0b24c;background:#d79a3824}.rating-slider{grid-template-columns:1fr auto;gap:.4rem;margin-bottom:1.2rem;display:grid}.rating-slider input{accent-color:#d79a38;grid-column:1/-1;width:100%}.time-row{grid-template-columns:70px 1fr;align-items:center;margin:.45rem 0;display:grid}.time-row>span{text-transform:uppercase;letter-spacing:.1em;opacity:.7;font-size:.68rem}.time-row>div{flex-wrap:wrap;gap:.4rem;display:flex}.time-row button{min-width:54px;padding:.48rem .72rem}.play-options{grid-template-columns:1fr 1fr;gap:.8rem;margin:1.2rem 0;display:grid}.play-options label{gap:.35rem;display:grid}.play-start{width:100%;padding:1rem;font-size:1rem}.engine-match{grid-template-columns:minmax(420px,650px) minmax(280px,390px);justify-content:center;align-items:center;gap:1rem;height:calc(100vh - 3rem);display:grid}.play-board-panel{justify-items:center;min-width:0;display:grid}.player-clock{border:1px solid var(--border);background:#071c17eb;justify-content:space-between;align-items:center;width:100%;padding:.65rem .8rem;display:flex}.player-clock:first-child{border-radius:12px 12px 0 0}.player-clock:last-child{border-radius:0 0 12px 12px}.player-clock div{display:grid}.player-clock small{opacity:.65}.player-clock b{background:#ffffff0d;border-radius:7px;padding:.45rem .65rem;font:700 1.8rem/1 ui-monospace,SFMono-Regular,monospace}.player-clock.active b{color:#14251f;background:#e8e1ca}.play-game-panel{flex-direction:column;justify-content:center;align-items:stretch;gap:.8rem;min-height:430px;padding:1.5rem;display:flex}.move-strip{border:1px solid var(--border);opacity:.75;border-radius:9px;padding:1rem}.play-game-panel .btn{text-align:center}.play-game-panel .danger{background:#7c342e;border-color:#a9554b;margin-top:auto}@media (max-width:900px){.play-lobby{grid-template-columns:1fr;min-height:auto}.play-hero{padding:2rem}.play-hero h1{font-size:3rem}.engine-bands{grid-template-columns:repeat(2,1fr)}.engine-match{grid-template-columns:1fr;height:auto}.play-game-panel{min-height:auto}.play-board-panel{width:100%}}.play-lobby{grid-template-columns:minmax(420px,.95fr) minmax(520px,1.05fr);max-width:1320px;min-height:calc(100dvh - 3.5rem);margin:0 auto}.play-hero{justify-content:flex-start;padding:clamp(2rem,4vw,4.5rem)}.play-hero h1{max-width:11ch;font-size:clamp(2.7rem,4.5vw,5rem)}.play-pool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:auto;padding-top:2rem;display:grid}.play-pool-grid button{text-align:left;border:1px solid var(--border);color:var(--text);background:#0415118f;border-radius:12px;gap:.12rem;padding:1rem;display:grid}.play-pool-grid button.active{border-color:var(--gold,#d79a38);box-shadow:inset 3px 0 var(--gold,#d79a38);background:#d79a381f}.play-pool-grid span,.selected-pool span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.66rem}.play-pool-grid strong{font:700 1.8rem/1 var(--font-display,serif);color:#f0b24c}.play-pool-grid small{color:var(--muted);font-size:.7rem}.play-setup{flex-direction:column;justify-content:center;padding:clamp(1.4rem,3vw,2.6rem);display:flex}.play-setup-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.play-setup-head h2{margin:.3rem 0 0;font-size:2rem}.selected-pool{text-align:right;border:1px solid var(--border);border-radius:10px;padding:.7rem 1rem;display:grid}.selected-pool strong{color:#f0b24c;font-size:1.7rem}.auto-match-note{background:#d79a3814;border-left:3px solid #d79a38;gap:.25rem;margin:1.1rem 0;padding:1rem 1.1rem;display:grid}.auto-match-note span{color:var(--muted);font-size:.82rem}.time-control-grid{gap:.25rem;display:grid}.time-control-grid .time-row{grid-template-columns:82px 1fr}.time-control-grid .time-row>div{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.time-control-grid .time-row button{min-width:0}.play-start{color:#10231c;background:linear-gradient(135deg,#e0a03a,#bd7820);border-radius:10px;justify-content:space-between;align-items:center;font-weight:800;display:flex}.play-status{text-align:center;min-height:1.1rem}.engine-match{grid-template-columns:minmax(560px,760px) minmax(310px,410px);align-items:start;gap:1.15rem;max-width:1200px;height:calc(100dvh - 1rem);margin:0 auto;padding-top:.5rem}.play-board-panel{align-self:start;width:100%}.player-clock{min-height:56px}.player-clock b{text-align:center;font-variant-numeric:tabular-nums;min-width:108px;font-size:2rem}.live-board-wrap{line-height:0;position:relative}.board-result-overlay{min-width:220px;color:var(--text);z-index:4;background:#071b16f0;border:1px solid #e0a03ab8;border-radius:13px;justify-items:center;gap:.25rem;padding:1rem 1.5rem;line-height:1.2;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 55px #0000007a}.board-result-overlay strong{font-size:1.2rem}.board-result-overlay span{color:#f0b24c;font:800 2rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.board-result-overlay small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.play-game-panel{justify-content:flex-start;height:min(760px,100dvh - 3rem);min-height:500px;padding:0;overflow:hidden}.play-game-panel>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:1.2rem 1.25rem;display:flex}.play-game-panel h2{margin:.25rem 0 0;font-size:1.35rem}.game-mode{text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--border);border-radius:999px;padding:.35rem .55rem;font-size:.7rem}.professional-moves{background:#03110e3d;flex:1;min-height:180px;padding:.7rem 0;overflow:auto}.move-row{grid-template-columns:38px 1fr 1fr;gap:.35rem;padding:.43rem 1rem;display:grid}.move-row:nth-child(2n){background:#ffffff06}.move-row span{color:var(--muted);text-align:right}.move-row b{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88rem}.moves-empty{height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:.25rem;display:flex}.moves-empty>span{opacity:.5;font-size:2rem}.notation-result{border-top:1px solid var(--border);color:var(--muted);justify-content:center;align-items:center;gap:.65rem;margin:.75rem 1rem 0;padding:.7rem;display:flex}.notation-result strong{color:#f0b24c;font:800 1rem ui-monospace,SFMono-Regular,Consolas,monospace}.game-message{border-top:1px solid var(--border);min-height:48px;color:var(--muted);padding:.8rem 1.2rem}.game-actions,.post-game-actions{gap:.6rem;padding:1rem 1.2rem;display:flex}.post-game-actions{flex-direction:column}.game-actions{flex-wrap:wrap}.game-actions button{flex:1;min-width:92px}.abort-note{color:var(--muted);padding:0 1.2rem 1rem}@media (max-width:1050px){.play-lobby{grid-template-columns:1fr;min-height:auto}.play-pool-grid{margin-top:1rem}.engine-match{grid-template-columns:minmax(460px,1fr) 330px}.time-control-grid .time-row>div{grid-template-columns:repeat(3,1fr)}}@media (max-width:820px){.engine-match{grid-template-columns:1fr;height:auto}.play-game-panel{height:auto;min-height:420px}.play-board-panel{width:100%}.play-pool-grid{grid-template-columns:1fr 1fr}}.play-lobby{grid-template-columns:minmax(300px,.62fr) minmax(560px,1.38fr);align-items:stretch;min-height:0}.play-engine-summary{border:1px solid var(--border);background:radial-gradient(circle at 15% 5%,#d79a381f,#0000 38%),linear-gradient(145deg,#14362bf5,#071a16fa);border-radius:16px;flex-direction:column;padding:1.35rem;display:flex}.play-engine-summary h2{margin:.3rem 0 .4rem;font-size:1.55rem}.play-engine-summary>p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.5}.play-engine-summary .play-pool-grid{margin-top:1rem;padding-top:0}.play-engine-summary .play-pool-grid button{padding:.78rem}.play-setup{padding:1.35rem;overflow:visible}.play-setup-head h2{font-size:1.65rem}.auto-match-note{margin:.75rem 0}.time-row{margin:.32rem 0}.time-row button{padding:.42rem .68rem}.play-options{margin:.8rem 0}.play-start{padding:.78rem}.play-status{text-align:center;margin:.55rem 0 0;font-size:.78rem}@media (max-width:1050px){.play-lobby{grid-template-columns:1fr}.play-engine-summary{padding:1rem}.play-engine-summary .play-pool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:680px){.play-engine-summary .play-pool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.cs-rating-board{border:1px solid var(--border);background:linear-gradient(105deg,#14352bf5,#081d18f5);border-radius:14px;grid-template-columns:minmax(210px,1.35fr) repeat(4,minmax(120px,1fr));margin:0 0 1.25rem;display:grid;overflow:hidden}.cs-rating-board-title,.cs-rating-pool{align-content:center;min-height:92px;padding:1rem 1.15rem;display:grid}.cs-rating-board-title strong{font-size:1.05rem}.cs-rating-board-title small,.cs-rating-pool small{color:var(--muted);font-size:.7rem}.cs-rating-pool{border-left:1px solid var(--border);color:var(--text);text-decoration:none}.cs-rating-pool:hover{background:#d79a3814}.cs-rating-pool>span{text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-size:.64rem}.cs-rating-pool>strong{font:700 1.75rem/1.2 var(--font-display,serif);color:#f0b24c}@media (max-width:900px){.cs-rating-board{grid-template-columns:repeat(2,1fr)}.cs-rating-board-title{grid-column:1/-1}.cs-rating-pool:nth-of-type(odd){border-left:0}.cs-rating-pool{border-top:1px solid var(--border)}}.ops-summary-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.ops-summary-grid article{gap:.2rem;display:grid}.ops-summary-grid span{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.67rem}.ops-summary-grid strong{color:#f0b24c;font-size:2rem}.ops-summary-grid small{color:var(--muted)}.ops-table-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.ops-table-head h2{margin:0}.ops-table-head small{color:var(--muted)}.ops-level{text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:.2rem .42rem;font-size:.62rem;display:inline-block}.ops-level.error{color:#df8d85;background:#b0443d2e}.ops-level.warn{color:#f0b24c;background:#e0a03a26}@media (max-width:900px){.ops-summary-grid{grid-template-columns:repeat(2,1fr)}}.games-source-tabs{border:1px solid var(--border);background:#071b179e;border-radius:12px;gap:.45rem;width:max-content;max-width:100%;margin:0 0 1rem;padding:.35rem;display:flex;overflow:auto}.games-source-tabs a{color:var(--text-dim);white-space:nowrap;border-radius:8px;padding:.62rem .9rem;font-weight:750;text-decoration:none}.games-source-tabs a.active{color:#f0b24c;background:#d79a3829;box-shadow:inset 0 0 0 1px #d79a386b}.play-focus-tile{background:linear-gradient(135deg,#d79a3821,#103228eb)}.curriculum-continue{color:inherit;background:linear-gradient(110deg,#d79a3821,#113028d9);border:1px solid #d79a3880;border-radius:14px;justify-content:space-between;align-items:center;gap:28px;margin:22px 0 34px;padding:22px 26px;text-decoration:none;display:flex}.curriculum-continue h2{margin:4px 0 6px}.curriculum-continue p{max-width:720px;color:var(--muted);margin:0}.curriculum-continue>div:last-child{text-align:right;white-space:nowrap}.curriculum-continue strong{font:700 1.65rem var(--font-display);color:var(--gold);display:block}.curriculum-continue b{font-size:.82rem}.opening-course-card.locked{opacity:.48;cursor:not-allowed;filter:saturate(.55)}.opening-course-card.mastered{border-color:#75b7988c}.curriculum-roadmap{position:relative}.checkpoint-retry{margin-top:10px}@media (max-width:720px){.curriculum-continue{flex-direction:column;align-items:flex-start}.curriculum-continue>div:last-child{text-align:left}}.opening-course-filters{grid-template-columns:minmax(260px,1fr) 190px 190px;gap:.65rem;margin:1rem 0 1.2rem;display:grid}.opening-course-filters input,.opening-course-filters select{min-height:44px}.opening-model-game{background:linear-gradient(135deg,#d79a3821,#0c201aeb);border:1px solid #d79a388c;border-radius:12px;margin-top:1.25rem;padding:1rem}.opening-model-game h2{margin:.35rem 0}.opening-model-game p{color:var(--text-dim);margin:.2rem 0 .8rem}.opening-model-game>div{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.opening-model-game small{color:var(--text-faint)}.opening-model-actions{flex-wrap:wrap;gap:.55rem;display:flex}.opening-model-actions .btn,.opening-model-actions button{white-space:nowrap}.model-game-moves{max-height:116px;overflow:auto}.model-game-controls{grid-template-columns:1fr 1fr 1fr}.model-game-back{width:100%;margin-top:.45rem}@media (max-width:760px){.opening-course-filters{grid-template-columns:1fr}.opening-model-game>div{flex-direction:column;align-items:stretch}.opening-model-actions{flex-direction:column}.opening-model-game .btn{text-align:center}}.guardian-connect-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.25rem 0;display:grid}.guardian-connect-grid .card{flex-direction:column;align-items:flex-start;display:flex}.guardian-connect-grid input{text-transform:uppercase;letter-spacing:.18em;width:100%;margin:.5rem 0 .75rem;font-weight:700}.guardian-code{border:1px solid var(--accent);background:#d79a381a;border-radius:10px;margin-top:1rem;padding:1rem 1.4rem;display:grid}.guardian-code strong{letter-spacing:.2em;color:var(--gold);font:800 2rem ui-monospace,monospace}.guardian-code small{color:var(--muted)}.guardian-children{gap:1rem;display:grid}.guardian-child>div:first-child{margin-bottom:1rem}.guardian-child .guardian-ratings{grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1rem;display:grid}.guardian-child .guardian-ratings>div{border:1px solid var(--border);border-radius:9px;padding:.8rem}.guardian-child .guardian-ratings span,.guardian-child .guardian-ratings strong{display:block}.guardian-child .guardian-ratings strong{color:var(--gold);font-size:1.3rem}@media (max-width:720px){.guardian-connect-grid,.guardian-child .guardian-ratings{grid-template-columns:1fr}}.assessment-grid{grid-template-columns:minmax(320px,.8fr) minmax(360px,560px);align-items:start;gap:1rem;display:grid}.assessment-progress{background:var(--surface-2);height:5px;margin-bottom:1.2rem}.assessment-progress span{background:var(--gold);height:100%;display:block}.assessment-choices{gap:.65rem;display:grid}.assessment-choices button{text-align:left;align-items:center;gap:.8rem;display:flex}.assessment-choices b{background:#ffffff14;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.assessment-board{width:min(100%,560px)}@media (max-width:850px){.assessment-grid{grid-template-columns:1fr}.assessment-board{order:-1;max-width:480px}}.progress-summary{grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1rem;display:grid}.progress-summary>div{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:1rem}.progress-summary strong,.progress-summary span{display:block}.progress-summary strong{color:var(--gold);font:700 1.35rem var(--font-display)}.progress-summary span{text-transform:uppercase;color:var(--muted);font-size:.7rem}.progress-chart{margin-bottom:1rem}.goal-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.75rem 0;display:flex}.goal-row div,.goal-row small{display:grid}.goal-row small{color:var(--muted)}@media (max-width:750px){.progress-summary{grid-template-columns:repeat(2,1fr)}}.search-box{border:1px solid var(--border-strong);background:var(--surface);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;margin-bottom:1.5rem;padding:1rem 1.2rem;display:grid}.search-box input{background:0 0;border:0;font-size:1.1rem}.search-box small{color:var(--muted)}.global-search section{margin:1.25rem 0}.global-search section>div{gap:.45rem;display:grid}.global-search section a{border:1px solid var(--border);color:inherit;border-radius:9px;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.5fr) auto;gap:1rem;padding:.8rem 1rem;text-decoration:none;display:grid}.global-search section a span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.global-search section a b{color:var(--gold)}@media (max-width:650px){.search-box{grid-template-columns:auto 1fr}.search-box small{grid-column:2}.global-search section a{grid-template-columns:1fr}.global-search section a b{display:none}}.queue-workspace{gap:1rem;display:grid}.queue-head,.queue-row,.queue-row>div:last-child{justify-content:space-between;align-items:center;gap:1rem;display:flex}.queue-row{border-top:1px solid var(--border);padding:1rem 0}.queue-row small{color:var(--text-dim);margin-top:.3rem;display:block}.queue-row p{color:var(--bad);margin:.35rem 0 0}.queue-row>div:last-child{justify-content:flex-end}.status-badge{border:1px solid var(--border);text-transform:capitalize;border-radius:999px;padding:.3rem .6rem}.status-badge.completed{color:var(--good)}.status-badge.failed,.status-badge.dead{color:var(--bad)}.status-badge.running{color:var(--gold)}@media (max-width:640px){.queue-row{flex-direction:column;align-items:flex-start}.queue-row>div:last-child{justify-content:space-between;width:100%}}.app-header .notification-panel{inset:calc(100% + .4rem) 0 auto auto}@media (max-width:640px){.app-header .notification-panel{width:min(20rem,100vw - 1rem);left:auto;right:0}}.online-game-room,.online-game-room .live-board-shell,.online-game-room .live-board-column{overflow:hidden}.online-game-room .live-board-column{grid-template-rows:auto minmax(0,1fr) auto;gap:.5rem}.online-game-room .live-board{width:min(100%,100dvh - 16rem,680px);max-height:100%}.online-game-room .player-clock{flex:none}@media (max-width:820px){.online-game-room,.online-game-room .live-board-shell,.online-game-room .live-board-column{overflow:visible}.online-game-room .live-board{width:100%;max-height:none}}.draw-offer-inline{background:#d79a381f;border:1px solid #d79a3866;border-radius:9px;justify-content:space-between;align-items:center;gap:.6rem;margin:.5rem 0 .2rem;padding:.5rem .7rem;display:flex}.draw-offer-inline>span{font-size:.85rem;font-weight:600}.draw-offer-inline>div{gap:.4rem;display:flex}.draw-offer-inline button{padding:.3rem .7rem;font-size:.8rem}.play-room{height:calc(100dvh - 68px - 2.4rem);min-height:0;overflow:hidden}.play-room .engine-match{height:100%;min-height:0}@media (max-width:900px){.play-room{height:auto;overflow:visible}}.review-grid{grid-template-columns:minmax(520px,680px) minmax(420px,1fr)}.review-board{justify-content:center;display:flex}@media (max-width:1100px){.review-grid{grid-template-columns:1fr}.review-board{position:static}}.review-analyzed{height:auto}.review-analyzed .ab-left,.review-board-card{overflow:visible}.review-board-card{justify-content:center;display:flex}.cs-rating-board-secondary{opacity:.82}.cs-rating-board-secondary .cs-rating-board-title strong{font-size:.95rem}.review-analyzed{grid-template-columns:minmax(0,1.5fr) minmax(320px,400px)}.review-analyzed .ab-grid{grid-template-columns:minmax(380px,1fr) 176px}.home-page{max-width:1180px;margin:0 auto}.home-hero{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1.3fr) minmax(240px,.9fr);align-items:center;gap:1.5rem;padding:1.4rem 0 1.6rem;display:grid}.home-hero-copy h1{font-family:var(--display);margin:.3rem 0 .4rem;font-size:clamp(2.2rem,4.5vw,3.4rem);line-height:1}.home-hero-copy p{color:var(--text-dim);max-width:560px}.home-cta{flex-wrap:wrap;gap:.6rem;margin:1rem 0 .9rem;display:flex}.home-cta .play-start{padding:.7rem 1.4rem;font-size:1.05rem}.home-rating-strip{flex-wrap:wrap;gap:.5rem;display:flex}.home-rating-chip{border:1px solid var(--border);min-width:74px;color:var(--text);background:#10231d;border-radius:10px;place-items:center;padding:.4rem .6rem;text-decoration:none;display:grid}.home-rating-chip span{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-size:.6rem}.home-rating-chip strong{color:#f1c476;font-variant-numeric:tabular-nums;font-size:1.1rem}.home-hero-play{flex-direction:column;align-items:center;gap:.6rem;text-decoration:none;display:flex}.home-hero-board{aspect-ratio:1;border-radius:12px;grid-template-columns:repeat(8,1fr);width:min(100%,300px);display:grid;overflow:hidden;box-shadow:0 16px 40px #0006}.home-hero-board span.lt{background:#d6cfb2}.home-hero-board span.dk{background:#58705f}.home-hero-play-cta{color:#f1c476;font-weight:800}.home-quick{grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:1.25rem;display:grid}.home-insight-cta{flex-direction:column;text-decoration:none;display:flex}.home-insight-cta h2{margin:0 0 .3rem}.home-insight-stat{align-items:baseline;gap:.5rem;margin:.6rem 0;display:flex}.home-insight-stat strong{color:#f1c476;font:800 1.8rem var(--display)}.home-insight-stat span{color:var(--text-faint);font-size:.8rem}.home-insight-link{color:#f1c476;margin-top:auto;font-weight:700}@media (max-width:860px){.home-hero{grid-template-columns:1fr}.home-hero-play{order:-1}.home-quick{grid-template-columns:1fr 1fr}}.pp-results{margin:1.1rem 0}.pp-results-head{flex-direction:column;gap:.1rem;margin-bottom:.6rem;display:flex}.pp-wld-bar{background:var(--surface-2);border-radius:7px;height:26px;display:flex;overflow:hidden}.pp-wld-bar>span{color:#fffffff0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.pp-wld-bar .w{background:#5c8a63}.pp-wld-bar .d{background:#6b7280}.pp-wld-bar .l{background:#a85a51}.pp-wld-legend{color:var(--text-dim);flex-wrap:wrap;gap:1.1rem;margin-top:.5rem;font-size:.82rem;display:flex}.pp-wld-legend b{font-variant-numeric:tabular-nums}.pp-wld-legend b.w{color:#7fae86}.pp-wld-legend b.d{color:var(--text-dim)}.pp-wld-legend b.l{color:#c98b83}.pp-live-grid{margin-bottom:1rem}.status-page{place-items:center;min-height:calc(100dvh - 4rem);padding:2rem 1.25rem;display:grid}.status-card{text-align:center;border:1px solid var(--border,#ffffff1f);background:var(--surface,#0c261fb3);border-radius:16px;max-width:480px;padding:2.2rem 1.9rem}.status-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--gold,#e0a03a);margin-bottom:.5rem;font-size:.72rem;font-weight:700;display:inline-block}.status-card h1{margin:.15rem 0 .7rem;font-size:1.55rem}.status-card p{color:var(--muted,#9fb0a8);margin:0 0 1.5rem;line-height:1.55}.status-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.status-btn{border:1px solid var(--border,#ffffff38);color:var(--text,#e8ede9);cursor:pointer;background:0 0;border-radius:9px;padding:.65rem 1.15rem;font-size:.92rem;font-weight:650;text-decoration:none}.status-btn.primary{background:var(--gold,#e0a03a);border-color:var(--gold,#e0a03a);color:#0a1f1a}.status-btn:hover{filter:brightness(1.06)}.status-loading-text{color:var(--muted,#9fb0a8);margin:.9rem 0 0}.board-spinner{background:conic-gradient(from 0deg,#d6cfb2 0 25%,#58705f 0 50%,#d6cfb2 0 75%,#58705f 0);border-radius:8px;width:44px;height:44px;animation:1.1s linear infinite board-spin;display:inline-block}@keyframes board-spin{to{transform:rotate(360deg)}}.solve-page{max-width:1040px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.solve-head{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.solve-login{color:var(--text-dim);font-weight:650;text-decoration:none}.solve-login:hover{color:var(--gold,#e0a03a)}.solve-body{grid-template-columns:minmax(0,420px) 1fr;align-items:center;gap:2rem;display:grid}.solve-board-col{flex-direction:column;align-items:center;gap:.9rem;display:flex}.solve-meta{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.solve-turn,.solve-rating,.solve-tag{border:1px solid var(--border,#ffffff24);border-radius:999px;padding:.35rem .7rem;font-size:.82rem;font-weight:650}.solve-turn.white{color:#14231f;background:#f5efe2}.solve-turn.black{color:#e9e2d0;background:#18261f}.solve-rating{color:var(--gold,#e0a03a)}.solve-tag{color:var(--text-dim,#b7c3bc);text-transform:capitalize}.solve-panel{flex-direction:column;display:flex}.solve-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--gold,#e0a03a);font-size:.72rem;font-weight:700}.solve-panel h1{margin:.4rem 0 .7rem;font-size:2rem}.solve-cta{background:var(--gold,#e0a03a);color:#0a1f1a;border-radius:10px;align-self:flex-start;margin:.4rem 0 1rem;padding:.8rem 1.3rem;font-weight:750;text-decoration:none;display:inline-block}.solve-cta:hover{filter:brightness(1.06)}.solve-benefits{gap:.5rem;margin:.3rem 0 1rem;padding:0;list-style:none;display:grid}.solve-benefits li{color:var(--text-dim,#b7c3bc);padding-left:1.5rem;position:relative}.solve-benefits li:before{content:"♟";color:var(--gold,#e0a03a);position:absolute;left:0}.solve-foot{color:var(--text-faint,#7f978d);font-size:.86rem}.solve-foot a{color:var(--gold,#e0a03a)}.solve-card{text-align:center;flex-direction:column;align-items:center;gap:.6rem;max-width:460px;margin:3rem auto;display:flex}@media (max-width:760px){.solve-body{grid-template-columns:1fr}.solve-panel h1{font-size:1.6rem}}.share-position{margin:.6rem 0}.share-btn{border:1px solid var(--gold,#e0a03a);width:100%;color:var(--gold,#e0a03a);cursor:pointer;background:#d79a381f;border-radius:9px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem .9rem;font-weight:700;display:inline-flex}.share-btn:hover{background:#d79a3833}.share-links{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.share-links a,.share-links button{border:1px solid var(--border,#ffffff24);color:var(--text,#e8ede9);cursor:pointer;background:0 0;border-radius:8px;padding:.4rem .7rem;font-size:.82rem;text-decoration:none}.share-links a:hover,.share-links button:hover{border-color:var(--gold,#e0a03a)}
