:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1c1a17;--panel:#262320;--panel-2:#302c27;--panel-3:#3a352f;--line:#3d3832;--text:#ece5d8;--muted:#a69d8e;--accent:#d2a04a;--accent-ink:#251a07;--accent-shadow:#9c7430;--accent-soft:#4a3f2c;--focus:#e8c77a;--link:#e8c77a;--row-alt:#2b2824;--nav-bg:#211e1b;--sidebar:#181613;--zero:#5f584e;--graph-bg:#13110f;--chip-bg:#f1eadc;--chip-text:#1b1814;--clock-bg:#13110f;--clock-text:#8d8475;--clock-run-bg:#f1eadc;--clock-run-text:#1b1814;--evalbar-white:#f1eadc;--evalbar-black:#2b2723;--evalbar-unknown:#6f675b;--error:#f0a39d;--win-bg:#2f3b26;--win-text:#b7d9a3;--loss-bg:#45282a;--loss-text:#f0a39d;--draw-bg:#3a3630;--draw-text:#d8cfbf;--t-best:#8fb97e;--t-good:#7f9ccc;--t-inaccuracy:#e8b848;--t-mistake:#e2843e;--t-blunder:#f0726a;--shadow:0 10px 30px #00000059}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6f5;--panel:#fff;--panel-2:#f1f5f2;--panel-3:#e3ebe6;--line:#dce5df;--text:#172a24;--muted:#5b6d66;--accent:#064e3b;--accent-ink:#fff;--accent-shadow:#022c22;--accent-soft:#e0f0e8;--focus:#0f766e;--link:#0b6b52;--row-alt:#f6f9f7;--nav-bg:#f6f9f7;--sidebar:#fff;--zero:#b5c2bc;--graph-bg:#23312b;--chip-bg:#172a24;--chip-text:#fff;--clock-bg:#eef3f0;--clock-text:#7a8b84;--clock-run-bg:#172a24;--clock-run-text:#fff;--evalbar-white:#fff;--evalbar-black:#33413b;--evalbar-unknown:#b5c2bc;--error:#b42318;--win-bg:#e3f4e9;--win-text:#1f6b3a;--loss-bg:#fde8e7;--loss-text:#a8281f;--draw-bg:#eef1ef;--draw-text:#4d5e57;--t-best:#3f7a2a;--t-good:#3d5f99;--t-inaccuracy:#946400;--t-mistake:#b35518;--t-blunder:#c0322a;--shadow:0 10px 30px #172a241f}:root{--c-book:#a88865;--c-brilliant:#26a98f;--c-great:#5c8bb0;--c-best:#76aa60;--c-excellent:#8fb97e;--c-good:#7f9ccc;--c-inaccuracy:#e8b848;--c-mistake:#e2843e;--c-blunder:#d64c44;--f-display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--f-body:"Figtree", "Segoe UI", system-ui, sans-serif;--f-mono:"IBM Plex Mono", "Cascadia Mono", ui-monospace, monospace;--sidebar-w:14rem;--player-bar:44px;--bar:2.25rem;--panel-w:25rem;--gap:14px;--board:clamp(280px, min(calc(100vh - 2 * var(--player-bar) - 6.25rem), calc(100vw - var(--sidebar-w) - var(--panel-w) - var(--bar) - 96px)), 2400px)}html{font-size:calc(100% * var(--text-scale,1))}html[data-text-size=lg]{--text-scale:1.125}html[data-text-size=xl]{--text-scale:1.25}@media (width>=1680px){html{font-size:calc(106.25% * var(--text-scale,1))}}@media (width>=2200px){html{font-size:calc(118.75% * var(--text-scale,1))}}@media (width>=3000px){html{font-size:calc(137.5% * var(--text-scale,1))}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:1rem/1.5 var(--f-body);-webkit-font-smoothing:antialiased;margin:0;transition:background-color .16s,color .16s}button,select,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}a{color:var(--link)}h1,h2,h3{font-family:var(--f-display);letter-spacing:-.01em}h1{margin:0;font-size:1.625rem}h2{margin:0 0 12px;font-size:1.125rem}.muted{color:var(--muted)}.mono{font-family:var(--f-mono)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.spacer{flex:1}input,select,textarea{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:6px 10px}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;gap:18px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{font-family:var(--f-display);color:var(--text);align-items:center;gap:8px;padding:0 8px;font-size:1.1875rem;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--accent);width:32px;height:32px;color:var(--accent-ink);border-radius:9px;place-items:center;font-size:1.1875rem;display:grid}.brand span.accent{color:var(--accent)}.nav{gap:4px;display:grid}.nav a{color:var(--muted);border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-weight:600;text-decoration:none;display:flex}.nav a:hover{background:var(--panel-2);color:var(--text)}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.nav-icon{text-align:center;width:20px;font-size:1rem}.player-box{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;gap:6px;margin-top:auto;padding:12px 10px;display:grid}.player-box label{color:var(--muted);font-size:.8125rem}.player-box form{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.player-box input{width:100%;min-width:0;padding:5px 8px}.theme-toggle{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-size:.875rem;font-weight:600;display:flex}.content{flex-direction:column;min-width:0;display:flex}.page{flex:1;padding:20px 24px 28px}.footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:14px 24px;font-size:.8125rem;display:flex}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-width:0;padding:16px}.secondary{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:7px 12px}.secondary:hover:not(:disabled){background:var(--panel-3)}.secondary.small{white-space:nowrap;padding:4px 10px;font-size:.875rem}.primary{background:var(--accent);color:var(--accent-ink);font-family:var(--f-display);box-shadow:0 3px 0 var(--accent-shadow);border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.primary.block{width:100%}.primary:active{box-shadow:0 1px 0 var(--accent-shadow);transform:translateY(2px)}.link{color:var(--link);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.state{text-align:center;color:var(--muted);padding:32px}.state.error{color:var(--error);justify-items:center;gap:12px;display:grid}.toast{z-index:100;background:var(--chip-bg);color:var(--chip-text);box-shadow:var(--shadow);border-radius:999px;padding:8px 16px;font-weight:600;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.home{gap:28px;max-width:72rem;margin:0 auto;display:grid}.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:32px;padding:16px 0;display:grid}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;font-size:.875rem;font-weight:700}.hero h1{font-size:clamp(30px,4.2vw,48px);line-height:1.08}.hero p.lead{color:var(--muted);max-width:52ch;margin:16px 0 22px;font-size:1.0625rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hero-board{justify-self:center;width:min(100%,440px)}.hero-board .board-wrap{aspect-ratio:1;width:100%;height:auto}.hero-caption{color:var(--muted);text-align:center;margin-top:8px;font-size:.8125rem}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.stat{padding:14px 16px}.stat strong{font-family:var(--f-display);font-size:1.75rem;display:block}.stat span{color:var(--muted);font-size:.875rem}.features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.feature h3{margin:0 0 6px;font-size:1rem}.feature p{color:var(--muted);margin:0;font-size:.875rem}.feature-icon{margin-bottom:6px;font-size:1.375rem}.games{max-width:82rem;margin:0 auto}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.toolbar h1{font-size:1.375rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 8px;font-size:.875rem}th{color:var(--muted);font-size:.8125rem;font-weight:600}.games tbody tr{cursor:pointer}.games tbody tr:hover td{background:var(--row-alt)}.games td .open-game{color:var(--text);text-align:left;background:0 0;border:0;padding:0;font-weight:600}.tag{border-radius:5px;padding:2px 7px;font-size:.8125rem;font-weight:600}.tag.win{background:var(--win-bg);color:var(--win-text)}.tag.loss{background:var(--loss-bg);color:var(--loss-text)}.tag.draw{background:var(--draw-bg);color:var(--draw-text)}.acc{font-family:var(--f-mono);font-weight:600}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.empty-hero{text-align:center;justify-items:center;gap:12px;padding:40px 16px;display:grid}.review{grid-template-columns:auto var(--panel-w);gap:var(--gap);justify-content:center;align-items:start;display:grid}.review-board-col{width:calc(var(--board) + var(--bar) + 8px);gap:0;display:grid}.board-row{gap:8px;display:flex;position:relative}.board-wrap{width:var(--board);height:var(--board);flex:none}.player-bar{height:var(--player-bar);padding:0 2px 0 calc(var(--bar) + 8px);align-items:center;gap:8px;display:flex}.piece-dot{border:1px solid #0006;border-radius:50%;flex:none;width:12px;height:12px;display:inline-block}.piece-dot.white{background:#f4efe4}.piece-dot.black{border-color:var(--muted);background:#151311}.player-name{font-family:var(--f-display);font-size:1rem;font-weight:600}.player-rating{color:var(--muted);font-family:var(--f-mono);font-size:.875rem}.player-bar.is-user .player-name:after{content:" · você";color:var(--muted);font-family:var(--f-body);font-size:.875rem;font-weight:400}.result-pill{background:var(--panel-3);border-radius:999px;padding:1px 8px;font-size:.8125rem;font-weight:600}.result-pill.win{color:var(--win-text)}.result-pill.loss{color:var(--loss-text)}.spent{font-family:var(--f-mono);color:var(--muted);font-size:.8125rem}.clock{font-family:var(--f-mono);font-variant-numeric:tabular-nums;text-align:right;background:var(--clock-bg);min-width:92px;color:var(--clock-text);border:1px solid var(--line);border-radius:6px;padding:3px 12px;font-size:1.1875rem;font-weight:600}.clock.running{background:var(--clock-run-bg);color:var(--clock-run-text);border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}.eval-bar{width:var(--bar);height:var(--board);background:var(--evalbar-black);border:1px solid var(--line);border-radius:4px;flex-direction:column-reverse;flex:none;display:flex;position:relative;overflow:hidden}.eval-bar.flipped{flex-direction:column}.eval-bar-white{background:var(--evalbar-white);transition:height .22s}.eval-bar.unknown .eval-bar-white{background:var(--evalbar-unknown)}.eval-bar.pending .eval-bar-white{opacity:.6}.eval-bar-label{text-align:center;font-family:var(--f-mono);letter-spacing:-.04em;font-size:.75rem;font-weight:600;position:absolute;left:0;right:0}.eval-bar-label.on-white{color:#1b1814;bottom:3px}.eval-bar-label.on-black{color:#f1eadc;top:3px}.eval-bar.flipped .eval-bar-label.on-white{top:3px;bottom:auto}.eval-bar.flipped .eval-bar-label.on-black{top:auto;bottom:3px}.square-with-badge{width:100%;height:100%;position:relative}.cls-badge{font-family:var(--f-mono);letter-spacing:-.06em;border-radius:50%;flex:none;place-items:center;font-weight:700;line-height:1;display:inline-grid}.cls-badge.sm{width:18px;height:18px;font-size:.6875rem}.cls-badge.md{width:28px;height:28px;font-size:.875rem}.cls-badge.board{width:34%;height:34%;font-size:clamp(9px, calc(var(--board) / 42), 17px);z-index:20;pointer-events:none;position:absolute;top:3%;right:3%;box-shadow:0 2px 4px #00000080}.tone-book{background:var(--c-book);color:#fff}.tone-brilliant{background:var(--c-brilliant);color:#fff}.tone-great{background:var(--c-great);color:#fff}.tone-best{background:var(--c-best);color:#fff}.tone-excellent{background:var(--c-excellent);color:#13210d}.tone-good{background:var(--c-good);color:#0e1626}.tone-inaccuracy{background:var(--c-inaccuracy);color:#2c1f02}.tone-mistake{background:var(--c-mistake);color:#2b1203}.tone-blunder{background:var(--c-blunder);color:#fff}.tone-text-book{color:var(--c-book)}.tone-text-brilliant{color:var(--c-brilliant)}.tone-text-great{color:var(--c-great)}.tone-text-best,.tone-text-excellent{color:var(--t-best)}.tone-text-good{color:var(--t-good)}.tone-text-inaccuracy{color:var(--t-inaccuracy)}.tone-text-mistake{color:var(--t-mistake)}.tone-text-blunder{color:var(--t-blunder)}.review-panel{height:calc(var(--board) + 2 * var(--player-bar));background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.panel-head{align-items:center;gap:10px;padding:10px 12px 6px;display:flex}.panel-title{flex:1;min-width:0;line-height:1.25;display:grid}.panel-title strong{font-family:var(--f-display);font-size:1rem}.panel-title .muted{font-size:.8125rem}.icon-btn{border:1px solid var(--line);background:var(--panel-2);min-width:32px;height:32px;color:var(--text);border-radius:8px;flex:none;place-items:center;padding:0 8px;font-size:.875rem;text-decoration:none;display:grid}.icon-btn:hover{background:var(--panel-3)}.board-tools{flex-wrap:wrap;gap:6px;padding:0 12px 8px;display:flex}.board-tools .secondary.small{align-items:center;gap:6px;display:inline-flex}.status-line{color:var(--muted);margin:0 12px 8px;font-size:.875rem}.status-line strong{color:var(--text)}.opening{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;padding:0 12px 8px;font-size:.875rem;overflow:hidden}.coverage{background:var(--panel-2);border-radius:6px;margin:0 12px 8px;padding:4px 8px;font-size:.8125rem}.coverage.status-partial{color:var(--t-inaccuracy)}.tabs{border-bottom:1px solid var(--line);padding:0 8px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;flex:1;padding:9px 8px 7px;font-weight:600}.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.panel-scroll{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.panel-scroll>.tab-body{flex:1 0 auto}.panel-scroll:has(.moves-tab){overflow:hidden}.panel-scroll>.moves-tab{flex-direction:column;flex:1 1 0;min-height:0;display:flex}.moves-tab .move-list{flex:1;min-height:0;overflow-y:auto}.moves-tab .comment,.moves-tab .eval-graph,.moves-tab .variation{flex:none}.tab-body{align-content:start;gap:14px;padding:12px;display:grid}.empty{color:var(--muted);margin:8px 0}.fineprint{color:var(--muted);margin:0;font-size:.7812rem}.eval-graph{margin:0}.graph-caption{color:var(--muted);margin-bottom:4px;font-size:.75rem}.graph-box{background:var(--graph-bg);border-radius:6px;overflow:hidden}.score-table th,.score-table td{white-space:nowrap;border:0;padding:5px 6px}.score-table thead th{font-family:var(--f-display);color:var(--text);text-align:center;text-overflow:ellipsis;max-width:110px;font-size:.875rem;overflow:hidden}.score-table tbody th{color:var(--text);align-items:center;gap:8px;font-size:.875rem;font-weight:500;display:flex}.score-table td{text-align:center;font-family:var(--f-mono);font-size:.875rem}.score-table td.zero{color:var(--zero)}.score-table td.pawn-loss{font-family:var(--f-body);white-space:normal;font-size:.875rem}.score-table .accuracy-row td{padding-bottom:8px}.accuracy{background:var(--chip-bg);min-width:64px;color:var(--chip-text);border-radius:6px;padding:3px 8px;font-size:1.0625rem;font-weight:600;display:inline-block}.moments h3{margin:0 0 6px;font-size:.875rem}.moments ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.moment{background:var(--panel-2);text-align:left;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:.875rem;display:flex}.moment:hover{border-color:var(--line)}.moment .drop{font-family:var(--f-mono);color:var(--loss-text);margin-left:auto}.comment{background:var(--panel-2);border-left:4px solid var(--panel-3);border-radius:8px;padding:10px 12px}.comment p{margin:4px 0 0;font-size:.875rem}.comment-head{align-items:center;gap:10px;display:flex}.comment-head h3{font-size:1rem;font-family:var(--f-display);flex:1;margin:0}.eval-chip{font-family:var(--f-mono);background:var(--chip-bg);color:var(--chip-text);border-radius:5px;padding:2px 8px;font-size:.875rem;font-weight:600}.tone-edge-book{border-left-color:var(--c-book)}.tone-edge-brilliant{border-left-color:var(--c-brilliant)}.tone-edge-great{border-left-color:var(--c-great)}.tone-edge-best,.tone-edge-excellent{border-left-color:var(--c-best)}.tone-edge-good{border-left-color:var(--c-good)}.tone-edge-inaccuracy{border-left-color:var(--c-inaccuracy)}.tone-edge-mistake{border-left-color:var(--c-mistake)}.tone-edge-blunder{border-left-color:var(--c-blunder)}.hint{color:var(--muted);font-size:.8125rem;margin-top:6px!important}kbd{font-family:var(--f-mono);border:1px solid var(--line);background:var(--panel);border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:.75rem}.move-list{margin:0;padding:0;list-style:none;display:grid}.move-row{grid-template-columns:40px 1fr 1fr;align-items:center;gap:2px;padding:1px 0;display:grid}.move-row.odd{background:var(--row-alt);border-radius:4px}.move-no{color:var(--muted);font-family:var(--f-mono);text-align:right;padding-right:8px;font-size:.8125rem}.move{text-align:left;font-family:var(--f-mono);background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:6px;min-height:30px;padding:3px 6px;font-size:.875rem;display:flex}.move:hover{background:var(--panel-3)}.move.on{background:var(--accent-soft);border-color:var(--accent)}.move.cls-brilliant .san{color:var(--c-brilliant)}.move.cls-great .san{color:var(--c-great)}.move.cls-blunder .san{color:var(--t-blunder)}.move.cls-mistake .san{color:var(--t-mistake)}.move.cls-inaccuracy .san{color:var(--t-inaccuracy)}.badge-slot{flex:none;width:18px}.nav-bar{border-top:1px solid var(--line);background:var(--nav-bg);align-items:center;gap:6px;padding:8px;display:flex}.nav-bar button{border:1px solid var(--line);background:var(--panel-3);height:42px;color:var(--text);border-radius:7px;flex:1;place-items:center;display:grid}.nav-bar button:not(:disabled):hover{filter:brightness(1.08)}.counter{text-align:center;min-width:64px;font-family:var(--f-mono);color:var(--muted);font-size:.8125rem}.counter.in-variation{color:var(--accent);font-weight:600}.review.exploring .board-wrap{box-shadow:0 0 0 3px var(--accent);border-radius:4px}.variation{gap:10px;display:grid}.variation-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.variation-head strong{font-family:var(--f-display);color:var(--accent)}.variation-head .muted{font-size:.875rem}.engine-line{font-size:.875rem;margin-top:8px!important}.error-text{color:var(--error)}.variation-moves{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.chip-move{font-family:var(--f-mono);border:1px solid var(--line);background:var(--panel-2);border-radius:5px;padding:3px 8px;font-size:.875rem}.chip-move.on{border-color:var(--accent);background:var(--accent-soft)}.promotion{inset:0 0 0 calc(var(--bar) + 8px);z-index:50;color:#f1eadc;background:#141210b8;border-radius:4px;place-content:center;justify-items:center;gap:10px;display:grid;position:absolute}.promotion p{font-family:var(--f-display);margin:0;font-weight:700}.promotion-options{gap:8px;display:flex}.promotion-options button{border:1px solid var(--accent);color:#1b1814;background:#f1eadc;border-radius:10px;width:64px;height:64px;font-size:2.75rem;line-height:1}.promotion-options button:hover{background:#fff7e6}.promotion .link{color:#f1eadc}.fen-box{gap:6px;display:grid}.fen-box textarea{font-family:var(--f-mono);resize:vertical;min-height:56px;font-size:.8125rem}.fen-actions{flex-wrap:wrap;gap:6px;display:flex}.toggle-line{align-items:center;gap:8px;font-size:.875rem;display:flex}@media (width<=1100px){:root{--sidebar-w:0px}.app{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:40;border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center;gap:10px;height:auto;padding:10px 16px;position:sticky;top:0}.nav{display:flex;overflow-x:auto}.nav a{white-space:nowrap;padding:7px 10px}.nav a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--accent)}.player-box{grid-auto-flow:column;align-items:center;margin:0 0 0 auto;padding:6px 8px}.player-box label{display:none}.hero{grid-template-columns:minmax(0,1fr)}}@media (width<=960px){:root{--panel-w:100%;--board:calc(100vw - 32px - var(--bar) - 8px)}.page{padding:16px}.review{grid-template-columns:minmax(0,1fr)}.review-board-col{margin:0 auto}.review-panel{height:auto;overflow:visible}.nav-bar{border-top:0;border-bottom:1px solid var(--line);order:-1}:is(.panel-scroll,.panel-scroll:has(.moves-tab)){overflow:visible}.panel-scroll>.moves-tab{flex:none}.move-list{max-height:45vh;overflow-y:auto}.clock{min-width:76px;font-size:1rem}.brand-text{display:none}}@media (prefers-reduced-motion:reduce){.eval-bar-white,body{transition:none}}.player-status{gap:8px;display:grid}.player-status.compact{margin-bottom:12px;padding:12px 14px}.progress-block{gap:6px;display:grid}.status-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.progress{background:var(--panel-3);border-radius:999px;height:8px;overflow:hidden}.progress>span{background:var(--accent);border-radius:inherit;height:100%;transition:width .4s;display:block}@media (prefers-reduced-motion:reduce){.progress>span{transition:none}}.player-hint{color:var(--muted);font-size:.75rem;line-height:1.35}@media (width<=1100px){.player-hint{display:none}}.openings{gap:14px;max-width:92rem;margin:0 auto;display:grid}.openings>.toolbar{margin-bottom:0}.filters select{min-width:150px}.segmented{border:1px solid var(--line);background:var(--panel-2);border-radius:9px;display:inline-flex;overflow:hidden}.segmented button{color:var(--muted);background:0 0;border:0;padding:7px 12px;font-weight:600}.segmented button+button{border-left:1px solid var(--line)}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.source-line{margin:0;font-size:.875rem}.baselines{flex-wrap:wrap;gap:8px 18px;font-size:.875rem;display:flex}.baseline{align-items:center;gap:8px;display:inline-flex}.problems h2{margin-bottom:10px}.problem-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:10px;display:grid}.problem-card{text-align:left;border-left:4px solid var(--c-mistake);cursor:pointer;gap:4px;display:grid}.problem-card:hover{background:var(--panel-2)}.problem-card strong{font-family:var(--f-display);font-size:.9375rem;line-height:1.25}.problem-card .muted{font-size:.8438rem}.problem-card .piece-dot{margin-bottom:2px}.reasons{flex-wrap:wrap;gap:4px;display:flex}.reason{background:var(--loss-bg);color:var(--loss-text);border-radius:999px;padding:1px 7px;font-size:.7812rem;font-weight:600}.impact{color:var(--t-mistake);font-size:.875rem;font-weight:600}.openings-table tbody tr:hover td{background:var(--row-alt)}.openings-table tr.selected td{background:var(--accent-soft)}.openings-table .opening-cell{white-space:normal;max-width:360px}.openings-table .opening-cell .open-game{color:var(--text);text-align:left;background:0 0;border:0;padding:0;font-weight:600}.problem-tag{background:var(--loss-bg);color:var(--loss-text);border-radius:999px;margin-left:6px;padding:0 6px;font-size:.75rem;font-weight:700}.small{font-size:.8125rem}.points-cell{align-items:center;gap:8px;display:inline-flex}.points-bar{background:var(--panel-3);border-radius:999px;width:70px;height:6px;overflow:hidden}.points-bar>span{background:var(--muted);height:100%;display:block}.points-bar>span.low{background:var(--c-blunder)}.points-bar>span.high{background:var(--c-best)}.opening-detail{gap:12px;display:grid}.detail-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.detail-head h2{margin:0}.detail-head .eyebrow{margin:0 0 4px}.detail-grid{grid-template-columns:minmax(14rem,22rem) minmax(0,1fr);align-items:start;gap:18px;display:grid}.detail-board{justify-items:start;gap:8px;min-width:0;display:grid}.detail-board .board-wrap{aspect-ratio:1;width:100%;max-width:100%;height:auto;overflow:hidden}.detail-main h3,.opening-detail h3{margin:6px 0 4px;font-size:.9375rem}.detail-facts{margin-bottom:8px}.trend-chart{width:100%}.line-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.line-list li{background:var(--panel-2);border-radius:6px;justify-content:space-between;gap:12px;padding:6px 8px;font-size:.875rem;display:flex}.line-san{overflow-wrap:anywhere}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--row-alt)}@media (width<=760px){.detail-grid{grid-template-columns:minmax(0,1fr)}.filters select{flex:140px;min-width:0}}.line-meta{white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.exact-lines summary{cursor:pointer;margin:4px 0 8px;font-size:.875rem;font-weight:600}.opening-detail .open-game{color:var(--text);text-align:left;background:0 0;border:0;padding:0;font-weight:600}.editor{gap:10px;display:grid}.editor-help{margin:0;font-size:.875rem}.palette{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.palette.tools{grid-template-columns:repeat(2,minmax(0,1fr))}.palette button{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:6px 4px;font-size:.875rem;font-weight:600}.palette-piece{line-height:1;padding:4px 0!important;font-size:1.875rem!important}.palette-piece.white{color:#f7f3ea;text-shadow:0 0 1px #000,0 1px 1px #000}.palette-piece.black{color:#151311;text-shadow:0 0 1px #ffffff73}.palette button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.ask-side{border:1px solid var(--accent);background:var(--accent-soft);border-radius:8px;gap:8px;padding:10px 12px;display:grid}.ask-side .primary{padding:8px 14px;font-size:.9375rem}.review-board-col.editing .player-bar{height:auto;min-height:var(--player-bar);padding-top:4px;padding-bottom:4px}.spare-palette{gap:6px;margin-left:12px;display:flex}.spare{width:clamp(34px, calc(var(--board) / 12), 48px);height:clamp(34px, calc(var(--board) / 12), 48px);border:1px solid var(--line);background:var(--panel-2);touch-action:none;border-radius:8px;place-items:center;padding:3px;display:grid}.spare:hover{background:var(--panel-3)}.spare[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.spare>div{width:100%;height:100%}.editor-holding{margin:0;font-size:.875rem}@media (width<=960px){.spare-palette{gap:3px;margin-left:6px}}.player-box select{width:100%;min-width:0;padding:5px 8px}.period-dates{gap:6px;display:grid}.player-box .period-dates label{grid-template-columns:30px minmax(0,1fr);align-items:center;gap:6px;display:grid}.period-dates input{padding:4px 6px;font-size:.875rem}.period-error{font-size:.8125rem;line-height:1.35}@media (width<=1100px){.player-box select{width:auto}.period-dates{grid-auto-flow:column}}.opening-cell{max-width:300px}.opening-cell-inner{align-items:baseline;gap:6px;min-width:0;display:flex}.opening-cell-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.opening-cell-eco{flex:none;font-size:.75rem}@media (width<=760px){.opening-cell{max-width:180px}}.puzzle-board-col{width:var(--board)}.puzzle-top{gap:10px}.puzzle-panel>*{padding-left:14px;padding-right:14px}.puzzle-panel>.panel-head{padding:10px 14px 6px}.puzzle-rating-row{border-bottom:1px solid var(--line);gap:24px;padding-top:8px;padding-bottom:8px;display:flex}.puzzle-rating-row>div{gap:2px;display:grid}.puzzle-rating-row .muted{font-size:.8125rem}.puzzle-rating{font-family:var(--f-display);font-size:2.125rem;line-height:1.1}.puzzle-rating.small{font-size:1.5rem}.puzzle-delta{font-size:.875rem;font-weight:700}.puzzle-delta.up,.puzzle-ok{color:var(--t-best,#5f9a4a)}.puzzle-delta.down,.puzzle-wrong{color:var(--t-blunder,#c8463d)}.puzzle-ok,.puzzle-wrong{font-weight:700}.puzzle-feedback{min-height:64px;margin:0;padding-top:12px;padding-bottom:8px}section.puzzle-feedback{align-content:start;gap:8px;display:grid}.puzzle-feedback p{margin:0}.big{font-family:var(--f-display);margin:0;font-size:1.375rem}.puzzle-themes{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:.8125rem;display:inline-block}.puzzle-actions{gap:8px;padding-top:8px;padding-bottom:14px;display:grid}.puzzle-actions .secondary{text-align:center;color:var(--text);text-decoration:none}.small-link{justify-self:start;font-size:.8125rem}.puzzle-streak{color:var(--accent);font-weight:700}.run-intro{gap:12px;padding-top:10px;padding-bottom:14px;display:grid}.run-intro p{margin:0}.run-score{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px;display:flex}.run-score>div:first-child{display:grid}.run-points{font-family:var(--f-display);font-size:2.5rem;line-height:1}.run-points small{color:var(--muted);font-size:1.125rem}.run-strikes{gap:6px;font-size:1.375rem;font-weight:800;display:flex}.strike{color:var(--line)}.strike.on{color:var(--t-blunder,#c8463d)}.run-clock{font-family:var(--f-mono);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:2px 10px;font-size:1.375rem;font-weight:700}.run-clock.low{color:var(--t-blunder,#c8463d);border-color:currentColor}.run-end{gap:10px;padding-top:12px;display:grid}.run-results{flex-wrap:wrap;align-content:flex-start;gap:4px;margin:0;padding-top:10px;padding-bottom:14px;list-style:none;display:flex;overflow-y:auto}.run-results li{font-family:var(--f-mono);color:#fff;border-radius:4px;padding:2px 6px;font-size:.75rem}.run-results li.ok{background:#5f9a4a}.run-results li.miss{background:#c8463d}.puzzles-hub{gap:var(--gap);max-width:72rem;margin:0 auto;display:grid}.puzzles-hub h1{font-family:var(--f-display);margin:0 0 4px}.puzzles-hub h2{font-family:var(--f-display);margin:0 0 4px;font-size:1.125rem}.puzzle-hero{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;display:grid}.puzzle-hero-rating{gap:2px;display:grid}.puzzle-spark{min-width:0}.puzzle-modes{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.puzzle-mode{color:var(--text);gap:6px;text-decoration:none;transition:border-color .15s;display:grid}.puzzle-mode:hover{border-color:var(--accent)}.puzzle-mode-icon{font-size:1.625rem}.puzzle-record{margin-top:4px}.phase-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.phase{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:10px;gap:2px;padding:10px 12px;font-size:.875rem;text-decoration:none;display:grid}.phase strong{font-family:var(--f-display);font-size:.9375rem}.phase.open{border-color:var(--accent)}.phase.open:hover{background:var(--accent-soft)}.phase.passed{border-color:#5f9a4a}.phase.passed .phase-state{color:#5f9a4a;font-weight:700}.phase.locked{opacity:.55}@media (width<=760px){.puzzle-hero{grid-template-columns:minmax(0,1fr)}}.login-screen{background:var(--bg);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login-card{gap:14px;width:min(400px,100%);padding:28px 24px;display:grid}.login-card h1{font-family:var(--f-display);margin:4px 0 0;font-size:1.5rem}.login-card>.muted{margin:0;font-size:.875rem}.login-brand{font-family:var(--f-display);align-items:center;gap:10px;font-size:1.125rem;font-weight:700;display:flex}.google-button{border:1px solid var(--line);color:#1f1f1f;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-weight:600;text-decoration:none;display:flex}.google-button:hover{background:#f4f6f8}.login-divider{color:var(--muted);align-items:center;gap:10px;font-size:.8125rem;display:flex}.login-divider:before,.login-divider:after{content:"";border-top:1px solid var(--line);flex:1}.login-form{gap:12px;display:grid}.login-form label,.login-form .field{gap:4px;font-size:.875rem;font-weight:600;display:grid}.login-form input{width:100%;padding:9px 10px;font-size:.9375rem;font-weight:400}.password-field{display:block;position:relative}.password-field input{padding-right:70px}.password-field .link{font-size:.8125rem;font-weight:400;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.field-hint{color:var(--muted);font-size:.8125rem;font-weight:400}.login-form .error-text{margin:0}.login-switch{text-align:center;margin:0;font-size:.875rem}.login-foot{text-align:center;margin:0;font-size:.8125rem}.privacy{width:min(760px,100%);padding:24px;line-height:1.55}.privacy h1{font-family:var(--f-display);margin:0}.privacy h2{font-family:var(--f-display);margin:20px 0 6px;font-size:1.0625rem}.privacy li{margin-bottom:8px}.account-box{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.account-avatar{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:.875rem;font-weight:700;display:grid}.account-text{min-width:0;font-size:.8125rem;line-height:1.3;display:grid}.account-text strong,.account-text .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=1100px){.account-box{grid-template-columns:auto auto;padding:4px 8px}.account-text{display:none}}.modal-backdrop{z-index:200;background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);width:min(520px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow);border-radius:14px;gap:12px;padding:24px;display:grid;overflow:hidden auto}.modal h2{font-family:var(--f-display);margin:0;font-size:1.375rem;line-height:1.2}.modal p{margin:0}.modal>.link{justify-self:center}.pro-badge{background:var(--accent);color:var(--accent-ink);letter-spacing:.08em;border-radius:999px;justify-self:start;padding:2px 10px;font-size:.8125rem;font-weight:800}.plan-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.875rem}.plan-table th,.plan-table td{white-space:normal;overflow-wrap:anywhere}.plan-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px;font-size:.8125rem}.plan-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px}.plan-table td:last-child{font-weight:600}.usage-panel{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;gap:6px;padding:10px;font-size:.8125rem;display:grid}.usage-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.usage-row{grid-template-columns:1fr auto;align-items:center;gap:2px 8px;display:grid}.usage-count{font-family:var(--f-mono);font-weight:700}.usage-count.full{color:var(--t-blunder,#c8463d)}.usage-bar{background:var(--line);border-radius:2px;grid-column:1/-1;height:4px;overflow:hidden}.usage-bar>span{background:var(--accent);height:100%;display:block}.usage-bar>span.full{background:var(--t-blunder,#c8463d)}.plan-chip{border-radius:999px;justify-self:start;padding:2px 10px;font-size:.8125rem;font-weight:800}.plan-chip.pro{background:var(--accent);color:var(--accent-ink)}.unlock-analysis{justify-items:start;gap:10px;display:grid}.unlock-analysis p{margin:0}@media (width<=1100px){.usage-panel{display:none}}.code-input{font-family:var(--f-mono);letter-spacing:.4em;text-align:center;font-size:1.625rem!important}.landing{background:var(--bg);min-height:100vh}.landing main{gap:56px;max-width:72rem;margin:0 auto;padding:0 20px 40px;display:grid}.landing-nav{z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:12px 24px;display:flex;position:sticky;top:0}.landing-nav nav{gap:18px;margin-left:12px;display:flex}.landing-nav nav a{color:var(--muted);font-size:.875rem;font-weight:600;text-decoration:none}.landing-nav nav a:hover{color:var(--text)}.landing-nav-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.landing-nav-actions .link{font-size:1.125rem;text-decoration:none}.primary.small{box-shadow:0 2px 0 var(--accent-shadow);padding:7px 14px;font-size:.875rem}.landing-nav .secondary.small{color:var(--text);padding:7px 12px;text-decoration:none}.landing-hero{padding-top:40px}.hero-trust{margin-top:14px;font-size:.875rem}.landing-section{gap:14px;scroll-margin-top:80px;display:grid}.landing-section h2,.landing-cta h2,.upsell-title{font-family:var(--f-display);margin:0;font-size:clamp(22px,2.6vw,30px)}.section-lead{margin:-6px 0 6px}.feature-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.feature-card{align-content:start;gap:10px;padding:14px;display:grid}.feature-card h3{align-items:center;gap:8px;margin:4px 0 0;font-size:1.0625rem;display:flex}.feature-card p{color:var(--muted);margin:0;font-size:.875rem;line-height:1.5}.feature-media{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;align-items:center;min-height:196px;padding:12px;display:grid;position:relative;overflow:hidden}.steps{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.step{align-items:flex-start;gap:12px;display:flex}.step p{margin:4px 0 0;font-size:.875rem}.step-n{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);font-weight:800;font-family:var(--f-display);border-radius:50%;flex:none;place-items:center;display:grid}.faq details{padding:0}.faq summary{cursor:pointer;padding:14px 16px;font-weight:700;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";float:right;color:var(--muted);font-weight:400}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);margin:0;padding:0 16px 14px;line-height:1.55}.landing-cta{text-align:center;justify-items:center;gap:16px;padding:32px 20px;display:grid}.landing-footer{max-width:72rem;margin:0 auto}.login-back{justify-self:start;font-size:.875rem}.preview{width:100%}.preview-split{grid-template-columns:minmax(0,170px) minmax(0,1fr);align-items:center;gap:12px;display:grid}.preview-board .board-wrap{aspect-ratio:1;pointer-events:none;width:100%;height:auto}.preview-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.preview-list li{align-items:center;gap:8px;font-size:.875rem;display:flex}.preview-stack{justify-items:start;gap:8px;display:grid}.preview-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chip.danger{border-color:var(--t-blunder);color:var(--t-blunder)}.chip .up{color:var(--t-best);font-weight:700}.preview-eval svg{border-radius:6px;width:100%;height:auto;display:block}.eval-bg{fill:var(--evalbar-black)}.eval-white{fill:var(--evalbar-white)}.eval-zero{stroke:var(--zero);stroke-dasharray:3 3}.eval-dot{fill:var(--t-blunder);stroke:var(--panel);stroke-width:2px}.preview-clock{gap:8px;display:grid}.clock-row{justify-content:space-between;align-items:center;font-size:.875rem;font-weight:600;display:flex}.clock-row .clock{font-family:var(--f-mono);background:var(--clock-bg);color:var(--clock-text);border-radius:6px;padding:2px 10px}.clock-row .clock.low{background:var(--t-blunder);color:#fff}.spent-list{gap:5px;margin:0;padding:0;list-style:none;display:grid}.spent-list li{grid-template-columns:90px 1fr 40px;align-items:center;gap:8px;font-size:.8125rem;display:grid}.spent-list li.warn{color:var(--t-blunder)}.spent-bar{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.spent-bar>span{background:var(--accent);height:100%;display:block}.spent-list li.warn .spent-bar>span{background:var(--t-blunder)}.preview-openings{gap:10px;display:grid}.opening-row{grid-template-columns:1fr 70px 38px;align-items:center;gap:4px 10px;font-size:.875rem;display:grid}.opening-row .chip{grid-column:1/-1;justify-self:start}.opening-bar{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.opening-bar>span{background:var(--t-best);height:100%;display:block}.opening-row.problem .opening-bar>span{background:var(--t-blunder)}.plan-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:stretch;gap:16px;display:grid}.plan-card{align-content:start;gap:14px;padding:22px;display:grid;position:relative}.plan-card h3{font-family:var(--f-display);align-items:center;gap:8px;margin:0;font-size:1.375rem;display:flex}.plan-card header p{margin:4px 0 0}.plan-price{font-family:var(--f-display);font-size:1.75rem;font-weight:700}.plan-card.pro{border:2px solid var(--accent);box-shadow:var(--shadow)}.plan-ribbon{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:3px 12px;font-size:.8125rem;font-weight:800;position:absolute;top:-12px;right:18px}.plan-list{gap:9px;margin:0;padding:0;font-size:.875rem;line-height:1.45;list-style:none;display:grid}.plan-list li{padding-left:24px;position:relative}.plan-list li:before{content:"✓";color:var(--t-best);font-weight:800;position:absolute;left:0}.block-link{text-align:center;color:var(--text);padding:10px 14px;text-decoration:none;display:block}.plan-current{color:var(--muted);border:1px dashed var(--line);border-radius:999px;justify-self:start;padding:4px 10px;font-size:.875rem;font-weight:700}.free-upsell{gap:18px;display:grid}.usage-today{border-left:4px solid var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.usage-today p{margin:4px 0 0}.feature-card.locked{text-align:left;font:inherit;color:inherit;cursor:pointer}.feature-card.locked:hover{border-color:var(--accent)}.feature-card.locked .feature-media>:not(.lock-overlay){filter:blur(3px)saturate(.7);opacity:.7}.lock-overlay{color:var(--text);background:color-mix(in srgb, var(--panel) 35%, transparent);place-items:center;font-size:1.125rem;font-weight:800;display:grid;position:absolute;inset:0}@media (width<=760px){.landing-nav{gap:10px;padding:10px 14px}.landing-nav nav,.landing-nav .brand-text{display:none}.landing main{gap:40px;padding:0 16px 32px}.feature-grid{grid-template-columns:minmax(0,1fr)}.preview-split{grid-template-columns:minmax(0,140px) minmax(0,1fr)}}.text-size{color:var(--muted);align-items:center;gap:4px;font-size:.8125rem;display:flex}.text-size span{margin-right:auto}.text-size button{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;min-width:2.2rem;padding:3px 6px;font-size:.8125rem;font-weight:700}.text-size button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}@media (width<=1100px){.text-size span{display:none}}.dashboard{gap:var(--gap);display:grid}.dash-row{gap:var(--gap);grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);align-items:stretch;display:grid}.dash-row.two{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr))}.dash-card{align-content:start;gap:10px;min-width:0;display:grid;overflow-x:auto}.dash-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.dash-head h2{letter-spacing:.02em;margin:0;font-size:1.0625rem}.dash-table{border-collapse:collapse;width:100%}.dash-table th{font-size:.8125rem}.dash-table td{vertical-align:middle}.dash-table tbody tr:nth-child(odd) td{background:var(--row-alt)}.dash-name{gap:1px;line-height:1.3;display:grid}.dash-name .muted{font-size:.8125rem}.dash-name strong{font-weight:600}.meter{gap:3px;min-width:4.5rem;display:grid}.meter-value{font-variant-numeric:tabular-nums;font-weight:600}.meter-bar{background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:3px;height:5px;overflow:hidden}.meter-bar>span{background:var(--c-mistake);border-radius:3px;height:100%;display:block}.meter-bar.rating>span{background:var(--c-inaccuracy)}.meter-bar.moves>span{background:var(--t-good)}.wdl{gap:3px;min-width:9.5rem;display:grid}.wdl-text{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.wdl-text .win{color:var(--c-best)}.wdl-text .draw{color:var(--muted)}.wdl-text .loss{color:var(--c-blunder)}.wdl-text .sep{color:var(--zero)}.wdl-bar{background:var(--line);border-radius:3px;height:5px;display:flex;overflow:hidden}.wdl-bar .win{background:var(--c-best)}.wdl-bar .draw{background:var(--zero)}.wdl-bar .loss{background:var(--c-blunder)}.gauge-card{justify-items:center}.gauge{width:100%;max-width:20rem;height:auto}.gauge-track{fill:none;stroke:var(--line);stroke-width:14px;stroke-linecap:round}.gauge-arc{fill:none;stroke-width:10px;stroke-linecap:round}.gauge-tick{fill:var(--muted);font-size:9px}.gauge-knob{fill:var(--text);stroke:var(--panel);stroke-width:3px}.gauge-value{fill:var(--text);font-family:var(--f-display);font-size:34px;font-weight:700}.gauge-caption{fill:var(--muted);font-size:10px}.gauge-change{font-size:10px;font-weight:700}.gauge-change.up{fill:var(--c-best)}.gauge-change.down{fill:var(--c-blunder)}.calendar{grid-template-columns:auto minmax(0,1fr);gap:6px;display:grid;overflow-x:auto}.calendar-weekdays{color:var(--muted);grid-template-rows:1.1rem repeat(7,1fr);gap:3px;font-size:.75rem;display:grid}.calendar-weekdays:before{content:""}.calendar-weeks{gap:3px;min-width:40rem;display:flex}.calendar-week{flex:1;grid-template-rows:1.1rem repeat(7,auto);gap:3px;min-width:.7rem;display:grid}.calendar-month{color:var(--muted);white-space:nowrap;font-size:.75rem;overflow:visible}.calendar-cell{aspect-ratio:1;background:color-mix(in srgb, var(--line) 55%, transparent);border-radius:3px;place-items:center;display:grid}.calendar-cell.future{background:0 0}.calendar-dot{border-radius:2px;width:.7rem;height:.7rem;display:inline-block}.calendar-cell .calendar-dot{border-radius:2px}.calendar-dot.good{background:var(--c-best)}.calendar-dot.mid{background:var(--c-inaccuracy)}.calendar-dot.bad{background:var(--c-blunder)}.calendar-legend{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px 16px;font-size:.8125rem;display:flex}.calendar-legend>span{align-items:center;gap:6px;display:inline-flex}.games-table td{vertical-align:middle}.games-table .result{font-weight:700}.games-table .result.win{color:var(--c-best)}.games-table .result.loss{color:var(--c-blunder)}.games-table .result.draw{color:var(--muted)}.games-table .opening-cell{max-width:18rem}.filter-chip{color:var(--text);text-decoration:none}.filter-chip:hover{border-color:var(--accent)}@media (width<=960px){.dash-row,.dash-row.two{grid-template-columns:minmax(0,1fr)}}.dash-table td.dash-name,.games-table td.dash-name,.dash-table .dash-name strong{white-space:normal}.dash-table td.dash-name{min-width:10rem}.dash-card{overflow-x:visible}@media (width<=1280px){.dash-row.two{grid-template-columns:minmax(0,1fr)}}td.dash-name{display:table-cell}td.dash-name>span,td.dash-name>strong,td.dash-name>a,td.dash-name>button{display:block}td.dash-name>.muted{margin-top:1px}.color-summary{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));display:grid}.color-card{gap:10px;display:grid}.color-card header{align-items:center;gap:8px;display:flex}.color-card header .muted{margin-left:auto}.color-card-body{flex-wrap:wrap;gap:8px 28px;display:flex}.color-card-body>div{display:grid}.big-number{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700;line-height:1.1}.problem-card .wdl{margin:2px 0}.openings-table .open-game{white-space:normal;text-align:left}.openings-table .problem-tag{margin-left:6px}.detail-tiles{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:10px;display:grid}.tile{background:var(--panel-2);align-content:start;gap:4px;padding:12px 14px;display:grid}.tile .muted{font-size:.8125rem}.detail-anchor{scroll-margin-top:16px}.pager.numbered{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.pager-buttons{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pager-buttons button{min-width:2.2rem}.pager-buttons button[aria-current=page]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.pager-gap{color:var(--muted);padding:0 4px}.openings-table tbody tr{cursor:pointer}.row-cta{color:var(--link);visibility:hidden;font-size:.75rem}.openings-table tbody tr:hover .row-cta,.openings-table tbody tr.selected .row-cta{visibility:visible}.openings-table tbody tr.selected td{background:var(--accent-soft)}.table-hint{margin:0 0 8px;font-size:.8125rem}.lang-switch{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.lang-switch button{min-width:2.2rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 8px;font-size:.8125rem;font-weight:700}.lang-switch button.on{background:var(--accent);color:var(--accent-ink)}.sidebar-lang{align-self:flex-start}.login-lang{float:right;margin-top:-4px}.tc-switch{flex-wrap:wrap;justify-content:center;margin:0 auto 4px;display:flex}.tc-switch button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.tc-table tbody tr{cursor:pointer}.tc-table tbody tr:hover td{background:var(--panel-2)}.tc-table tbody tr.selected td{background:var(--accent-soft)}.tc-table tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.tc-table .open-game{box-shadow:none;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.tc-table .open-game:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.pro-pricing{gap:6px;margin-top:8px;display:grid}.launch-badge{background:var(--c-best);color:#fff;border-radius:999px;justify-self:start;padding:3px 10px;font-size:.8125rem;font-weight:800}.pro-price{align-items:baseline;gap:4px;margin:2px 0 0;display:flex}.pro-price strong{font-family:var(--f-display);font-size:2rem;line-height:1.1}.pro-price span{color:var(--muted);font-weight:600}.pro-equivalent,.pro-monthly-note{margin:0}.pro-monthly{justify-self:center}a.account-text{color:inherit;text-decoration:none}a.account-text:hover strong{text-decoration:underline}.account-page{gap:16px;max-width:46rem;margin:0 auto;display:grid}.account-card dl{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 10px;display:grid}.account-card dt{color:var(--muted)}.account-card dd{margin:0}.payment-return{border-left:4px solid var(--c-inaccuracy);gap:8px;display:grid}.payment-return.ok{border-left-color:var(--c-best)}.payment-return .primary{justify-self:start}.plan-chip.free{background:var(--panel-2);color:var(--muted)}.plan-chip.admin{background:var(--c-great);color:#fff}.account-delete{border-left:4px solid var(--c-blunder);gap:8px;display:grid}.account-delete h2{margin:0}.account-delete label{gap:4px;font-size:.875rem;display:grid}button.danger{background:var(--c-blunder);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-self:start;padding:8px 14px;font-weight:700}button.danger:disabled{opacity:.5;cursor:not-allowed}
