.review-workspace{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:1.75rem;align-items:start;margin-top:1.5rem}.review-workspace .review-canvas-column{order:1}.review-workspace .review-instrument{order:2}.review-workspace.is-solo{display:block}.review-canvas-column{min-width:0;display:flex;flex-direction:column;gap:1.5rem}@media (max-width:1080px){.review-workspace{grid-template-columns:minmax(0,1fr)}.review-workspace .review-canvas-column,.review-workspace .review-instrument{order:0}}.review-instrument{position:sticky;top:72px;max-width:480px;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card);padding:1rem;display:flex;flex-direction:column;gap:.85rem}@media (max-width:1080px){.review-instrument{position:static}}.review-instrument-empty{display:flex;flex-direction:column;gap:.35rem;padding:.5rem .25rem}.review-instrument-empty p{margin:0;color:var(--text-muted);font-size:.88rem}.review-instrument-kicker{font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-bright)}.review-player-strip{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .6rem;background:var(--ink-3);border-radius:var(--radius-control);font-size:.84rem;min-height:34px}.review-player-info{display:flex;align-items:center;gap:.45rem;min-width:0}.review-player-avatar{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.72rem;flex-shrink:0}.review-player-avatar.is-w{background:#fbf6ec;color:#1c1712}.review-player-avatar.is-b{background:#222;color:#fff;border:1px solid var(--line)}.review-player-name{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-player-elo{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted);flex-shrink:0}.review-player-elo.is-player{color:var(--gold-bright);font-weight:700}.review-clock-chip{font-family:var(--font-mono);font-size:.8rem;background:var(--ink-1);padding:.15rem .45rem;border-radius:4px;border:1px solid var(--line);color:var(--text-muted);flex-shrink:0}.review-clock-chip.is-danger{color:var(--red-bright);border-color:rgba(239,68,68,.4);font-weight:700}.review-board-stage{display:flex;gap:.65rem;justify-content:center;align-items:stretch}.review-eval-bar{width:14px;flex-shrink:0;background:#2b2b2b;border:1px solid var(--line);border-radius:4px;position:relative;overflow:hidden}.review-eval-fill{position:absolute;bottom:0;left:0;width:100%;background:#fbf6ec;transition:height .3s cubic-bezier(.16,1,.3,1)}.review-eval-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);font-family:var(--font-mono);font-size:.65rem;font-weight:700;color:#f4eee2;text-shadow:0 0 3px rgba(0,0,0,.95),0 1px 2px rgba(0,0,0,.9);white-space:nowrap;pointer-events:none}.review-board{position:relative;width:100%;max-width:440px;aspect-ratio:1/1;border-radius:6px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.6);container-type:inline-size}.review-board cg-board,.review-drill-arena .drill-board cg-board,.review-moment-board cg-board{background-color:var(--sq-light);background-image:conic-gradient(var(--sq-dark) 90deg,var(--sq-light) 90deg 180deg,var(--sq-dark) 180deg 270deg,var(--sq-light) 270deg);background-size:25% 25%}.review-board cg-board square.last-move,.review-drill-arena .drill-board cg-board square.last-move,.review-moment-board cg-board square.last-move{background-color:var(--sq-hl)}.review-board.cg-wrap coords.ranks{top:0;left:2px}.review-board.cg-wrap coords.files{bottom:2px;left:0;height:auto}.review-board.cg-wrap coords{font-size:clamp(10px,2.1cqw,14px);opacity:1;z-index:3}.review-board.cg-wrap coords.files coord,.review-board.cg-wrap coords.ranks coord{display:flex;align-items:center;justify-content:center;color:rgba(28,23,18,.86);text-shadow:0 0 3px rgba(243,236,220,.95),0 0 6px rgba(243,236,220,.7);font-weight:700}.review-board.cg-wrap coords.ranks coord{transform:none}.review-board .cg-custom-highlight{background:var(--sq-hl)!important}.review-board .review-hl-blunder{background:var(--sq-blunder)!important}.review-board .cg-shapes .green{color:var(--teal-light);opacity:.95}.review-scrubber-deck{background:var(--ink-3);border-radius:var(--radius-control);padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.review-scrubber-track{height:38px;background:var(--ink-1);border:1px solid var(--line);border-radius:4px;position:relative;overflow:hidden;cursor:pointer;touch-action:none}.review-scrubber-track:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}.review-eval-curve{position:absolute;inset:0;width:100%;height:100%}.review-eval-zero{stroke:rgba(255,255,255,.2);stroke-dasharray:2 2;stroke-width:.8}.review-eval-path{fill:none;stroke:var(--cyan);stroke-width:1.8}.review-scrubber-note{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono)}.review-scrubber-cursor{position:absolute;top:0;bottom:0;width:2px;background:var(--gold-bright);pointer-events:none;box-shadow:0 0 6px rgba(226,182,95,.8)}.review-scrubber-ctl-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.review-ctl-group{display:flex;align-items:center;gap:.35rem}.review-ctl-btn{width:28px;height:28px;border-radius:4px;background:var(--ink-2);border:1px solid var(--line);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.72rem}.review-ctl-btn:hover:not(:disabled){color:var(--text);border-color:var(--line-strong)}.review-ctl-btn:disabled{opacity:.4;cursor:default}.review-ply-readout{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;min-width:0}.review-ply-readout b{color:var(--text)}.review-badge{font-family:var(--font-mono);font-size:.72rem;padding:.12rem .4rem;border-radius:4px;font-weight:700;white-space:nowrap}.review-badge-bad{background:var(--red-bright);color:#fff}.review-badge-good{background:var(--green-bright);color:#040708}.review-badge-neutral{background:var(--ink-1);border:1px solid var(--line);color:var(--text-muted)}.review-instrument-foot{margin:0;display:flex;flex-direction:column;gap:.15rem}.review-instrument-foot a{color:var(--gold-bright);font-size:.82rem;text-decoration:none}.review-instrument-foot a:hover{text-decoration:underline}.review-batch-instrument{gap:1rem}.review-batch-head{display:flex;flex-direction:column;gap:.2rem}.review-batch-title{color:var(--text);font-family:var(--font-display);font-size:1.2rem;font-weight:600}.review-batch-platform{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem}.review-batch-block{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--ink-3);border-radius:var(--radius-control)}.review-batch-block-title{font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.review-batch-phase{display:grid;grid-template-columns:84px 1fr 44px;align-items:center;gap:.6rem;font-size:.8rem}.review-batch-phase-label{color:var(--text-muted)}.review-batch-phase-track{height:8px;background:var(--ink-1);border:1px solid var(--line);border-radius:999px;overflow:hidden}.review-batch-phase-fill{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--gold));border-radius:999px}.review-batch-phase-value{font-family:var(--font-mono);font-size:.78rem;color:var(--text);text-align:right}.review-batch-chips{display:flex;flex-wrap:wrap;gap:.4rem}.review-batch-chip{font-family:var(--font-mono);font-size:.72rem;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--line);color:var(--text-muted)}.review-batch-chip.is-alert{color:var(--red-bright);border-color:rgba(239,68,68,.35)}.review-batch-chip.is-caution{color:var(--gold-bright);border-color:rgba(226,182,95,.35)}.review-batch-empty{margin:0;color:var(--text-muted);font-size:.85rem}.report.review-canvas{width:100%;padding:clamp(1.25rem,3vw,2.25rem);border-radius:var(--radius-card);box-shadow:0 12px 40px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:1.75rem;min-width:0}.review-canvas .report-section,.review-canvas .report-section+.report-section,.review-workspace .report.review-canvas{margin-top:0}.review-canvas .report-section h2:first-child{margin-top:0;padding-top:0;border-top:none}.review-canvas-header,.review-focus-section,.review-moments-section,.review-psych-slot{display:block}.review-coach-notes{margin-top:.25rem}.review-section-head{margin-bottom:.75rem}.review-section-head h2,.review-section-head h3{margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--paper-text)}.review-section-head p{margin:.15rem 0 0;font-size:.82rem;color:var(--paper-muted)}.review-game-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.75rem}.review-game-header-main{min-width:0}.review-pill-paper{display:inline-flex;align-items:center;background:rgba(47,107,98,.12);color:var(--accent);border:1px solid rgba(47,107,98,.28);border-radius:999px;font-family:var(--font-mono);font-size:.72rem;font-weight:700;padding:.15rem .6rem;margin-bottom:.4rem}.review-game-header-title{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;line-height:1.15;color:var(--paper-text)}.review-game-header-meta{margin:.25rem 0 0;color:var(--paper-muted);font-size:.95rem}.review-game-header-meta code{padding:.1rem .35rem;background:var(--paper-2);border:1px solid var(--paper-line);border-radius:4px;font-size:.88em}.review-game-header-actions{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.review-btn-paper{display:inline-flex;align-items:center;background:var(--paper-inset);border:1px solid var(--paper-line);border-radius:999px;color:var(--paper-text);font-size:.8rem;font-weight:600;padding:.4rem .85rem;text-decoration:none}.review-btn-paper:hover{border-color:var(--accent)}.review-btn-outline{display:inline-flex;align-items:center;background:transparent;border:1px solid var(--paper-line);border-radius:999px;color:var(--paper-text);font-size:.8rem;font-weight:600;padding:.4rem .85rem;cursor:pointer;text-decoration:none}.review-btn-outline:hover{background:var(--paper-2)}.review-btn-outline.is-sm{font-size:.75rem;padding:.3rem .65rem}.review-instrument .review-btn-outline{color:var(--text-muted);border-color:var(--line)}.review-instrument .review-btn-outline:hover{color:var(--text);border-color:var(--line-strong);background:transparent}.review-hero-stack{display:flex;flex-direction:column;gap:1rem}.review-verdict{border-left:2px solid var(--accent);padding:.15rem 0 .15rem .85rem}.review-verdict-kicker{display:block;font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.review-verdict-line{margin:.15rem 0 0;font-family:var(--font-display);font-size:1.2rem;font-weight:600;line-height:1.35;color:var(--paper-text)}.review-verdict-detail{margin:.3rem 0 0;font-size:.88rem;color:var(--paper-muted);line-height:1.55}.review-hero-wedge{background:var(--paper-2);border-left:3px solid var(--accent);padding:1.5rem;border-radius:0 var(--radius-control) var(--radius-control) 0}.review-hero-wedge.is-loading{min-height:150px}.review-hero-kicker{display:block;font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin-bottom:.35rem}.review-hero-title{margin:0;font-family:var(--font-display);font-size:1.45rem;font-weight:700;line-height:1.25;color:var(--paper-text)}.review-hero-why{margin:.5rem 0 0;font-size:.95rem;color:var(--paper-muted);line-height:1.6}.review-hero-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:.9rem}.review-hero-source{font-family:var(--font-mono);font-size:.75rem;color:var(--paper-muted)}.review-hero-cta{color:var(--accent);font-size:.85rem;font-weight:600;text-decoration:none}.review-hero-cta:hover{text-decoration:underline}.review-hero-ghost{display:block;height:1rem;border-radius:999px;background:var(--paper-inset);animation:pulse 1.8s ease-in-out infinite}.review-hero-ghost.is-wide{width:82%;height:1.5rem;margin-top:.35rem}.review-hero-ghost.is-narrow{width:55%;margin-top:.6rem}.review-phase-box{background:var(--paper-2);border:1px solid var(--paper-line);border-radius:var(--radius-control);padding:1.25rem}.review-phase-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.review-phase-head .review-pill-paper{margin-bottom:0}.review-phase-title{display:block;font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--paper-text)}.review-phase-lede{margin:0;font-size:.8rem;color:var(--paper-muted)}.review-phase-rows{display:flex;flex-direction:column;gap:.65rem}.review-phase-row{display:grid;grid-template-columns:110px 1fr 60px;align-items:center;gap:1rem}.review-phase-label{font-size:.82rem;font-weight:600;color:var(--paper-text)}.review-phase-track{height:10px;background:var(--paper-inset);border-radius:999px;overflow:hidden;position:relative}.review-phase-fill{display:block;height:100%;border-radius:999px}.review-phase-fill.is-strong{background:var(--green-paper)}.review-phase-fill.is-ok{background:var(--accent)}.review-phase-fill.is-weak{background:var(--alert)}.review-phase-value{font-family:var(--font-mono);font-size:.82rem;font-weight:700;color:var(--paper-text);text-align:right}.review-phase-value.is-weak{color:var(--alert)}.review-phase-pill-row{margin-top:.35rem}.review-phase-pill-row .review-pill-paper{margin-bottom:0}.game-card .review-phase-rows{margin:.5rem 0 .75rem}.game-card .review-phase-label,.game-card .review-phase-value{color:var(--text)}.game-card .review-phase-track{background:var(--ink-1);border:1px solid var(--line)}.game-card .review-phase-value.is-weak{color:var(--red-bright)}.game-card .review-phase-pill-row .review-pill-paper{background:rgba(201,153,63,.1);color:var(--gold-bright);border-color:rgba(201,153,63,.3)}.report-section .review-phase-rows{margin:.75rem 0}.review-choke{background:var(--paper-inset);border-left:2px solid var(--accent);padding:1rem 1.25rem;border-radius:0 var(--radius-control) var(--radius-control) 0}.review-choke-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.review-choke-title{color:var(--alert);font-family:var(--font-display);font-size:1.02rem}.review-choke-badge{background:#fff;border:1px solid var(--paper-line);border-radius:999px;font-family:var(--font-mono);font-size:.72rem;font-weight:700;padding:.2rem .6rem;color:var(--paper-text)}.review-choke-text{margin:.35rem 0 0;font-size:.9rem;color:var(--paper-muted);line-height:1.6}.review-psych{background:var(--paper-2);border:2px solid var(--accent);border-radius:var(--radius-control);padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;box-shadow:0 4px 16px rgba(47,107,98,.1)}.review-psych-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;border-bottom:1px solid var(--paper-line);padding-bottom:.75rem}.review-psych-kicker{display:block;font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}.review-psych-title{margin:.15rem 0 0;font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--paper-text)}.review-psych-badge{font-family:var(--font-mono);font-size:.78rem;background:var(--accent);color:#fff;padding:.2rem .6rem;border-radius:999px;font-weight:700}.review-psych-diagnosis{margin:0;font-size:.95rem;color:var(--paper-muted);line-height:1.6}.review-psych-diagnosis b{color:var(--paper-text)}.review-psych-radar-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1.5rem;align-items:center}@media (max-width:768px){.review-psych-radar-layout{grid-template-columns:minmax(0,1fr)}}.review-psych-radar-wrap{display:flex;justify-content:center}.review-radar{width:100%;max-width:240px;height:auto}.review-radar .psych-radar-ring,.review-radar .psych-radar-spoke{fill:none;stroke:var(--paper-line);stroke-width:1}.review-radar .psych-radar-threshold{fill:none;stroke:rgba(47,107,98,.35);stroke-width:1;stroke-dasharray:3 3}.review-radar .psych-radar-shape{fill:rgba(47,107,98,.25);stroke:var(--accent);stroke-width:2;stroke-linejoin:round}.review-radar .psych-radar-dot{stroke:var(--paper-2);stroke-width:1.5}.review-radar .psych-radar-dot.tag-strong{fill:var(--green-paper)}.review-radar .psych-radar-dot.tag-develop{fill:#b45309}.review-radar .psych-radar-dot.tag-weak{fill:var(--alert)}.review-radar .psych-radar-label{fill:var(--paper-muted);font-size:10.5px;font-weight:700}.review-psych-table{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.review-psych-row{background:var(--paper);border:1px solid var(--paper-line);border-radius:4px;padding:.55rem .75rem;display:flex;flex-direction:column;gap:.2rem}.review-psych-row-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.review-psych-row-label{color:var(--paper-text);font-size:.9rem}.review-psych-tag{font-family:var(--font-mono);font-size:.68rem;padding:.1rem .4rem;border-radius:3px;font-weight:700;white-space:nowrap}.review-psych-tag.is-strong{background:rgba(21,128,61,.15);color:var(--green-paper)}.review-psych-tag.is-develop{background:rgba(180,83,9,.15);color:#b45309}.review-psych-tag.is-weak{background:rgba(125,53,39,.15);color:var(--alert)}.review-psych-row-evidence{margin:0;font-size:.78rem;color:var(--paper-muted);line-height:1.5}.review-psych-row-fix{margin:.1rem 0 0;font-size:.78rem;color:var(--paper-text);line-height:1.5}.review-psych-row-fix b{color:var(--accent)}.review-psych-note{margin:.35rem 0 0;font-size:.75rem;color:var(--paper-muted)}.review-psych-block{display:flex;flex-direction:column;gap:.6rem}.review-psych-block-title{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--paper-text)}.review-form-box{background:var(--paper);border:1px solid var(--paper-line);border-radius:var(--radius-control);padding:1rem}.review-form-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.8rem;margin-bottom:.5rem;color:var(--paper-text)}.review-form-legend{display:flex;gap:.6rem;font-size:.72rem;flex-wrap:wrap}.review-form-legend .is-win{color:var(--green-paper)}.review-form-legend .is-loss{color:var(--alert)}.review-form-legend .is-tilt{color:#b45309}.review-form-svg{width:100%;height:120px;display:block}.review-form-avg{stroke:var(--paper-line);stroke-dasharray:4 4;stroke-width:1}.review-form-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round}.review-form-dot.is-win{fill:var(--green-paper)}.review-form-dot.is-loss{fill:var(--alert)}.review-form-dot.is-draw{fill:#b45309}.review-form-dot.is-none{fill:var(--paper-muted)}.review-form-tilt{fill:#b45309}.review-form-value{fill:var(--paper-muted);font-size:9px;font-weight:700}.review-form-label{fill:var(--paper-muted);font-size:8.5px;font-family:var(--font-mono)}.review-pressure-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media (max-width:768px){.review-pressure-grid{grid-template-columns:minmax(0,1fr)}}.review-pressure-card{background:var(--paper);border:1px solid var(--paper-line);border-radius:4px;padding:.85rem}.review-pressure-title{display:block;font-size:.82rem;color:var(--paper-text);margin-bottom:.5rem}.review-pressure-row{display:grid;grid-template-columns:65px 1fr 75px;align-items:center;gap:.75rem;margin-bottom:.45rem;font-size:.8rem;color:var(--paper-text)}.review-pressure-track{height:8px;background:var(--paper-inset);border-radius:4px;overflow:hidden}.review-pressure-fill{display:block;height:100%;background:var(--accent);border-radius:4px}.review-pressure-row.is-worst .review-pressure-fill{background:var(--alert)}.review-pressure-row.is-worst .review-pressure-label{color:var(--alert);font-weight:700}.review-pressure-meta{font-family:var(--font-mono);font-size:.72rem;color:var(--paper-muted);text-align:right}.review-pressure-row.is-worst .review-pressure-meta{color:var(--alert);font-weight:700}.review-speed-track{display:flex;height:12px;border-radius:6px;overflow:hidden;margin-bottom:.65rem}.review-speed-seg{height:100%}.review-speed-seg.seg-0,.review-speed-swatch.seg-0{background:#3b82f6}.review-speed-seg.seg-1,.review-speed-swatch.seg-1{background:#22c55e}.review-speed-seg.seg-2,.review-speed-swatch.seg-2{background:#eab308}.review-speed-seg.seg-3,.review-speed-swatch.seg-3{background:#ef4444}.review-speed-legend{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;font-size:.74rem;color:var(--paper-muted)}.review-speed-legend-item{display:flex;align-items:center;gap:.35rem}.review-speed-swatch{display:inline-block;width:9px;height:9px;border-radius:2px;flex-shrink:0}.review-spectrum{display:flex;flex-direction:column;gap:.45rem}.review-spectrum-row{display:grid;grid-template-columns:120px 1fr 40px;align-items:center;gap:.75rem;font-size:.8rem;color:var(--paper-text)}.review-spectrum-row.is-leaning .review-spectrum-label{color:var(--accent);font-weight:700}.review-spectrum-track{height:8px;background:var(--paper-inset);border-radius:4px;overflow:hidden}.review-spectrum-fill{display:block;height:100%;background:var(--accent);border-radius:4px}.review-spectrum-score{font-family:var(--font-mono);font-size:.78rem;color:var(--paper-muted);text-align:right}.review-psych-leaks{display:flex;flex-direction:column;gap:.6rem}.review-psych-leak{background:var(--paper);border:1px solid var(--paper-line);border-radius:4px;padding:.65rem .8rem}.review-psych-leak-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.review-psych-leak-label{font-weight:700;font-size:.88rem;color:var(--paper-text)}.review-psych-caveats{margin:0;font-size:.78rem;color:var(--paper-muted);border-top:1px solid var(--paper-line);padding-top:.75rem}.review-focus-grid{display:flex;flex-direction:column;gap:.85rem}.review-focus-card{background:var(--paper-2);border:1px solid var(--paper-line);border-radius:var(--radius-control);padding:1rem 1.25rem;display:grid;grid-template-columns:40px 1fr 1fr;gap:1rem;align-items:center}.review-focus-card.is-single{grid-template-columns:40px minmax(0,1fr)}@media (max-width:700px){.review-focus-card{grid-template-columns:minmax(0,1fr)}}.review-focus-rank{width:32px;height:32px;border-radius:999px;background:var(--paper-inset);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700}.review-focus-dont,.review-focus-rank{font-size:.88rem;color:var(--paper-text)}.review-focus-dont{background:rgba(125,53,39,.08);border-left:2px solid var(--alert);padding:.65rem .85rem;border-radius:0 4px 4px 0;line-height:1.45}.review-focus-dont b{color:var(--alert)}.review-focus-do{background:rgba(47,107,98,.08);border-left:2px solid var(--accent);padding:.65rem .85rem;border-radius:0 4px 4px 0;font-size:.88rem;line-height:1.45;color:var(--paper-text)}.review-focus-do b{color:var(--accent)}.review-moments{display:flex;flex-direction:column;gap:1rem}.review-moments+.review-moments{margin-top:1rem}.review-moment{background:var(--paper-2);border:1px solid var(--paper-line);border-radius:var(--radius-control);padding:1.25rem;display:grid;grid-template-columns:140px minmax(0,1fr);gap:1.25rem;align-items:start}@media (max-width:600px){.review-moment{grid-template-columns:minmax(0,1fr)}}.review-moment-board{width:140px;height:140px;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--sq-dark);box-shadow:0 4px 12px rgba(0,0,0,.2)}@media (max-width:600px){.review-moment-board{width:100%;max-width:220px;height:auto;aspect-ratio:1/1}}.review-moment-board .critical-board{width:140px;height:140px;max-width:none;margin:0;border:0;border-radius:4px}@media (max-width:600px){.review-moment-board .critical-board{width:100%;height:100%}}.review-moment-board-empty{color:rgba(251,246,236,.4);font-size:2rem}.review-moment-body{display:flex;flex-direction:column;gap:.35rem;min-width:0}.review-moment-pills{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.review-moment-pill{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:.68rem;font-weight:700;padding:.15rem .5rem;border-radius:999px}.review-moment-pill.is-weakness{background:rgba(125,53,39,.15);color:var(--alert)}.review-moment-pill.is-strength{background:rgba(47,107,98,.15);color:var(--accent)}.review-moment-pill.is-neutral{background:var(--paper-inset);color:var(--paper-muted)}.review-moment-title{font-size:1.05rem;color:var(--paper-text);font-weight:700}.review-moment-text{margin:0;font-size:.88rem;color:var(--paper-muted);line-height:1.5}.review-moment-evidence{display:flex;flex-wrap:wrap;gap:.4rem;font-family:var(--font-mono);font-size:.72rem;color:var(--paper-muted)}.review-moment-evidence span{padding:.1rem .4rem;background:var(--paper);border:1px solid var(--paper-line);border-radius:4px}.review-moment-more{margin-top:.25rem}.review-moment-more-toggle{display:inline-flex;align-items:center;gap:.35rem;background:none;border:0;padding:0;color:var(--accent);font-size:.78rem;font-weight:600;cursor:pointer}.review-moment-more-toggle:hover{text-decoration:underline}.review-moment-more-icon{width:13px;height:13px;transition:transform .2s ease}.review-moment-more-icon.is-open{transform:rotate(180deg)}.review-moment-block{margin-top:.6rem}.review-moment-block p{margin:.15rem 0 0;font-size:.85rem;color:var(--paper-muted);line-height:1.5}.review-moment-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--paper-muted)}.review-drill-section{display:flex;flex-direction:column;gap:1.75rem;scroll-margin-top:1.5rem}.review-drill-arena{background:#1c2724;color:#f4eee2;border-radius:var(--radius-control);padding:1.5rem;display:flex;flex-direction:column;gap:1.1rem}.review-arena-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.75rem}.review-arena-kicker{display:block;font-family:var(--font-mono);font-size:.88rem;color:var(--gold-bright)}.review-arena-lede{margin:.15rem 0 0;font-size:.78rem;color:var(--text-muted)}.review-arena-pill{background:var(--gold);color:#121b1e;border-radius:999px;font-family:var(--font-mono);font-size:.72rem;font-weight:700;padding:.2rem .6rem}.review-arena-clock{display:inline-flex;align-items:center;gap:.45rem;margin:0;color:#d8cdb4;font-size:.82rem}.review-arena-clock-icon{width:14px;height:14px}.review-drill-grid{margin-top:0}.review-drill-arena .drill-card{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);color:#f4eee2;--paper-text:#f4eee2;--paper-muted:#9fb0a8;--paper-line:rgba(255,255,255,0.14);--paper-2:rgba(0,0,0,0.25);--paper:#1c2724;--do:#7fc9b8;--dont:#e0897a;--accent:#57a496;--alert:#e08573;--bronze-deep:#e2b65f;--bronze:#e2b65f;--ink-muted-2:#a9b7b0;--gold:#c9993f;--gold-bright:#e2b65f}.review-drill-arena .drill-card.is-open,.review-drill-arena .drill-card.status-solved{border-left-color:var(--do)}.review-drill-arena .drill-card.status-revealed{border-left-color:var(--bronze-deep)}.review-drill-arena .drill-card button[class*="bg-[var(--ink-2)]"]{background:var(--gold);color:#121b1e}.review-drill-arena .drill-card button[class*="bg-[var(--ink-2)]"]:hover{background:var(--gold-bright)}.review-drill-arena .drill-card .drill-explain,.review-drill-arena .drill-card .drill-lead,.review-drill-arena .drill-card .drill-prompt{color:#e6e2d8}.review-drill-arena .drill-card .drill-board{border-color:rgba(255,255,255,.14)}.review-drill-arena .drill-attempt-note{color:var(--paper-muted)}.review-drill-arena .drill-attempt-success{color:#7fc9b8}.review-drill-arena .drill-attempt-error{color:#ffb4a6}.review-drill-arena .drill-attempt-info{color:#d8cdb4}.review-drill-arena .drill-promotion-btn{color:#f4eee2;background:rgba(255,255,255,.06)}.review-drill-arena .drill-promotion-btn:hover{border-color:var(--gold-bright)}.review-resources{display:flex;flex-direction:column}.review-resources-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}@media (max-width:600px){.review-resources-grid{grid-template-columns:minmax(0,1fr)}}.review-resource-item{background:var(--paper-2);border:1px solid var(--paper-line);border-radius:var(--radius-control);padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;text-decoration:none;color:var(--paper-text);transition:border-color .15s ease,transform .15s ease}.review-resource-item:hover{border-color:var(--accent);transform:translateX(2px)}.review-resource-item b{font-size:.92rem}.review-resource-move{font-size:.75rem;color:var(--paper-muted)}.review-resource-arrow{color:var(--accent);font-weight:700;display:inline-flex}.review-resource-icon{width:14px;height:14px}.review-details{border-top:1px solid var(--paper-line);padding-top:.85rem;font-size:.9rem;color:var(--paper-muted)}.review-details summary{cursor:pointer;font-weight:600;color:var(--accent)}.review-details summary:before{content:"▸ ";font-size:.75em}.review-details[open] summary:before{content:"▾ "}.review-details-body{margin-top:.75rem}.review-details-body h2{margin-top:1rem;font-size:1.1rem}.review-games-overview{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card);padding:1.5rem}.review-games-overview .review-section-head h2{color:var(--text)}.review-games-overview .review-section-head p{color:var(--text-muted)}.review-games-grid{display:flex;flex-direction:column;gap:1rem}.review-thread{position:static;margin-top:.5rem}.review-narrative{min-width:0}.progress-page{width:min(var(--shell-max),100%);margin:0 auto;padding:1rem 1.5rem 3rem;gap:1.25rem}.progress-body,.progress-page{display:flex;flex-direction:column}.progress-body{gap:1.5rem}.progress-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card);padding:1.5rem}.progress-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.progress-section-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;margin:0;color:var(--text)}.progress-section-sub{font-size:.8rem;color:var(--text-muted);margin:.2rem 0 0}.progress-card-title{font-family:var(--font-display);font-size:.95rem;font-weight:700;margin:0 0 .85rem}.progress-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .6rem;border-radius:999px;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.01em;background:var(--ink-3);border:1px solid var(--line);color:var(--text-muted);white-space:nowrap}.progress-pill-gold{background:rgba(201,153,63,.15);border-color:rgba(201,153,63,.35);color:var(--gold-bright)}.progress-pill-green{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.3);color:var(--green-bright)}.progress-pill-red{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.3);color:var(--red-bright)}.progress-pill-neutral{background:var(--ink-3);border-color:var(--line);color:var(--text-muted)}.progress-hero{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card);padding:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.progress-hero-left{display:flex;align-items:center;gap:1.25rem;min-width:0}.progress-hero-avatar{width:60px;height:60px;border-radius:999px;background:var(--ink-3);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.5rem;color:var(--gold-bright);font-weight:700;flex-shrink:0}.progress-hero-id{min-width:0}.progress-hero-name-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.progress-hero-name{font-family:var(--font-display);font-size:1.45rem;font-weight:700;margin:0;color:var(--text)}.progress-hero-milestone{font-size:.88rem;color:var(--gold-bright);font-weight:600;margin-top:.15rem}.progress-hero-verdict{font-size:.82rem;color:var(--text-muted);max-width:600px;margin:.35rem 0 0;line-height:1.45}.progress-accounts{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.65rem}.progress-accounts-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.progress-account-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.28rem .7rem;border-radius:999px;background:var(--ink-3);border:1px solid var(--line);font-family:var(--font-mono);font-size:.72rem;color:var(--text);text-decoration:none;transition:border-color .15s ease,background .15s ease}.progress-account-chip.is-lichess .progress-account-platform{color:var(--text)}.progress-account-chip.is-chesscom .progress-account-platform{color:var(--green-bright)}a.progress-account-chip:hover{border-color:rgba(201,153,63,.5);background:rgba(201,153,63,.08)}.progress-account-handle{color:var(--text)}.progress-account-rating{color:var(--gold-bright);font-weight:700}.progress-account-ext{color:var(--text-muted)}.progress-hero-right{text-align:right}.progress-hero-eyebrow{font-size:.75rem;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.06em}.progress-hero-rating{font-family:var(--font-mono);font-size:2.2rem;font-weight:700;color:var(--text);line-height:1.15;display:flex;align-items:baseline;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.progress-hero-rating.is-empty{font-size:1.1rem;color:var(--text-muted);font-weight:500}.progress-hero-rating-delta{font-size:1rem;font-weight:700}.progress-hero-rating-delta.is-up{color:var(--green-bright)}.progress-hero-rating-delta.is-down{color:var(--red-bright)}.progress-hero-games{font-size:.78rem;color:var(--text-muted)}.progress-hero-games.is-muted{opacity:.8}.progress-hero-status{margin-top:.3rem;font-family:var(--font-mono);font-size:.72rem;color:var(--gold-bright)}.progress-three-pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.progress-pillar-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.progress-pillar-card.improved{border-top:4px solid var(--green-bright)}.progress-pillar-card.improving{border-top:4px solid var(--gold)}.progress-pillar-card.needs-work{border-top:4px solid var(--red-bright)}.progress-pillar-title{font-family:var(--font-display);font-size:1.05rem;font-weight:700;display:flex;align-items:center;gap:.4rem}.progress-pillar-title.tone-improved{color:var(--green-bright)}.progress-pillar-title.tone-improving{color:var(--gold-bright)}.progress-pillar-title.tone-needs-work{color:var(--red-bright)}.progress-pillar-subtitle{font-size:.78rem;color:var(--text-muted);margin:-.35rem 0 0}.progress-pillar-items{display:flex;flex-direction:column;gap:.5rem;font-size:.84rem}.progress-pillar-item{background:var(--ink-3);padding:.6rem .75rem;border-radius:6px;border-left:2px solid transparent}.progress-pillar-item.is-leak{border-left:2px solid var(--red-bright)}.progress-pillar-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.progress-pillar-item-head b{font-size:.84rem}.progress-pillar-item.is-leak .progress-pillar-item-head b{color:var(--red-bright)}.progress-pillar-metric{font-family:var(--font-mono);font-size:.72rem;color:var(--gold-bright);white-space:nowrap}.progress-pillar-detail{margin:.2rem 0 0;font-size:.8rem;color:var(--text-muted);line-height:1.45}.progress-pillar-empty{font-size:.8rem;color:var(--text-muted);font-style:italic;background:var(--ink-3);padding:.6rem .75rem;border-radius:6px}.progress-matrix-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card);padding:1.5rem}.progress-matrix-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:1rem}.progress-matrix-item{background:var(--ink-3);border:1px solid var(--line);border-radius:var(--radius-control);padding:.85rem;display:flex;flex-direction:column;gap:.35rem;min-width:0}.progress-matrix-label{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.progress-matrix-val{font-family:var(--font-mono);font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;color:var(--text)}.progress-matrix-arrow{color:var(--gold-bright);font-size:.9rem}.progress-matrix-delta{font-size:.75rem;font-weight:600}.progress-matrix-delta.is-up{color:var(--green-bright)}.progress-matrix-delta.is-down{color:var(--red-bright)}.progress-matrix-delta.is-flat{color:var(--text-muted)}.progress-radar-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.progress-radar-card{display:flex;align-items:center;justify-content:center;min-height:300px}.progress-radar-holder{display:flex;justify-content:center;width:100%}.progress-radar-svg{width:min(320px,100%);height:auto}.progress-radar-legend{display:flex;gap:.75rem;font-size:.72rem;font-family:var(--font-mono)}.progress-radar-legend .is-baseline{color:rgba(255,255,255,.4)}.progress-radar-legend .is-current{color:var(--cyan)}.progress-dim-table{display:flex;flex-direction:column}.progress-dim-row{display:grid;grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr));gap:.5rem;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--line-soft);font-size:.84rem}.progress-dim-row:last-child{border-bottom:none}.progress-dim-row.is-head{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.progress-dim-row.is-head span:not(:first-child){text-align:right}.progress-dim-name{color:var(--text);font-weight:500}.progress-dim-score{font-family:var(--font-mono);color:var(--text-muted);text-align:right}.progress-dim-score.is-current{color:var(--text);font-weight:700}.progress-dim-delta{font-family:var(--font-mono);font-size:.78rem;font-weight:700;text-align:right}.progress-dim-delta.is-up{color:var(--green-bright)}.progress-dim-delta.is-down{color:var(--red-bright)}.progress-dim-delta.is-flat{color:var(--text-muted)}.progress-telemetry-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.progress-chart-card{display:flex;flex-direction:column;gap:.75rem}.progress-chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.progress-chart-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.progress-chart-title-row b{font-size:.95rem}.progress-chart-sub{font-size:.75rem;color:var(--text-muted);margin:.25rem 0 0}.progress-chart-legend{display:flex;gap:.6rem;font-size:.72rem;font-family:var(--font-mono);flex-wrap:wrap}.progress-chart-legend .is-muted{color:var(--text-muted)}.progress-chart-legend .is-gold{color:var(--gold-bright)}.progress-chart-legend .is-cyan{color:var(--cyan)}.progress-chart-legend .is-amber{color:var(--warn)}.progress-chart-holder{width:100%}.progress-chart-svg{width:100%;height:auto;overflow:visible}.progress-rootcause-list{display:flex;flex-direction:column;gap:1.05rem}.progress-rootcause-head{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.35rem;font-size:.84rem;flex-wrap:wrap}.progress-rootcause-motif{color:var(--text-muted);font-family:var(--font-mono);font-size:.74rem}.progress-rootcause-count{font-family:var(--font-mono);font-size:.78rem;font-weight:700;white-space:nowrap}.progress-bar-track{height:8px;background:var(--ink-3);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:4px}.progress-rootcause-desc{font-size:.78rem;color:var(--text-muted);margin:.4rem 0 0;line-height:1.45}.progress-focus-icon{color:var(--gold-bright)}.progress-focus-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.progress-focus-item{display:flex;gap:.75rem;align-items:flex-start;background:var(--ink-3);border:1px solid var(--line);border-radius:var(--radius-control);padding:.75rem .85rem}.progress-focus-index{font-family:var(--font-mono);font-size:.78rem;color:var(--gold-bright);font-weight:700}.progress-focus-text{font-size:.86rem;line-height:1.5}.progress-footer-cta{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.progress-footer-title{font-family:var(--font-display);font-size:1.05rem;font-weight:700}.progress-footer-sub{margin:.2rem 0 0;font-size:.82rem;color:var(--text-muted)}.progress-footer-actions{display:flex;gap:.75rem;flex-wrap:wrap}.progress-cta-button{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:var(--radius-control);border:1px solid var(--line);color:var(--text);font-size:.88rem;font-weight:600;text-decoration:none;background:transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.progress-cta-button:hover{border-color:var(--gold);color:var(--gold-bright)}.progress-cta-button.is-primary{background:var(--gold);border-color:transparent;color:#141712;font-weight:700}.progress-cta-button.is-primary:hover{background:var(--gold-bright);color:#141712}.progress-filterbar{gap:1.5rem;padding:.85rem 1rem;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card)}.progress-filter-group,.progress-filterbar{display:flex;align-items:center;flex-wrap:wrap}.progress-filter-group{gap:.6rem}.progress-filter-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.progress-chips{display:inline-flex;gap:.35rem;flex-wrap:wrap}.progress-chip{font-family:var(--font-mono);font-size:.74rem;padding:.3rem .75rem;border-radius:999px;background:var(--ink-3);border:1px solid var(--line);color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.progress-chip:hover{color:var(--text);border-color:var(--line-strong)}.progress-chip.is-active{background:var(--gold);border-color:var(--gold);color:#141712;font-weight:700;box-shadow:0 2px 10px rgba(201,153,63,.25)}.progress-filter-meta{margin-left:auto;font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.progress-ribbon{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.15rem;background:var(--ink-2);border:1px solid rgba(201,153,63,.35);border-radius:var(--radius-card);box-shadow:0 4px 18px rgba(0,0,0,.25)}.progress-ribbon-left{display:flex;align-items:center;gap:.85rem}.progress-ribbon-icon{width:36px;height:36px;border-radius:10px;background:rgba(201,153,63,.15);border:1px solid rgba(201,153,63,.3);color:var(--gold-bright);display:flex;align-items:center;justify-content:center;flex-shrink:0}.progress-ribbon-title-row{display:flex;align-items:center;gap:.5rem}.progress-ribbon-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.progress-ribbon-eyebrow,.progress-ribbon-pro{font-family:var(--font-mono);color:var(--gold-bright)}.progress-ribbon-pro{font-size:.62rem;padding:.1rem .45rem;border-radius:999px;background:rgba(201,153,63,.2);border:1px solid rgba(201,153,63,.35)}.progress-ribbon-picker{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;flex-wrap:wrap}.progress-ribbon-picker label{font-size:.72rem;color:var(--text-muted)}.progress-ribbon-select{padding:.35rem .6rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-control);background:var(--ink-3);border:1px solid var(--line);color:var(--text);cursor:pointer}.progress-ribbon-empty{font-size:.72rem;color:var(--text-muted);font-style:italic}.progress-ribbon-manage{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border-radius:var(--radius-control);background:rgba(201,153,63,.2);border:1px solid rgba(201,153,63,.4);color:var(--gold-bright);font-size:.74rem;font-weight:600;cursor:pointer;transition:background .15s ease}.progress-ribbon-manage:hover{background:rgba(201,153,63,.3)}.progress-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;padding-bottom:1rem;border-bottom:1px solid var(--line-soft)}.progress-header-copy{min-width:0}.progress-breadcrumb{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);margin-bottom:.3rem}.progress-breadcrumb a{color:var(--text-muted);text-decoration:none;transition:color .15s ease}.progress-breadcrumb a:hover{color:var(--text)}.progress-breadcrumb .is-current{color:var(--gold-bright)}.progress-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.progress-title{font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:700;letter-spacing:-.01em;margin:0;color:var(--text)}.progress-header-sub{margin:.3rem 0 0;font-family:var(--font-mono);font-size:.74rem;color:var(--text-muted)}.progress-header-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.progress-toast{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-mono);font-size:.72rem;padding:.3rem .6rem;border-radius:999px;border:1px solid var(--line);background:var(--ink-2)}.progress-toast.is-ok{color:var(--green-bright);border-color:rgba(34,197,94,.35)}.progress-toast.is-error{color:var(--red-bright);border-color:rgba(239,68,68,.35);max-width:320px}.progress-loading{padding:4rem 1rem;text-align:center;font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted)}.progress-error{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}.progress-error h2{font-family:var(--font-display);font-size:1.25rem;margin:0;color:var(--text)}.progress-error p{margin:0;color:var(--text-muted);font-size:.88rem}.progress-error-icon{color:var(--warn)}.progress-error-hint{font-size:.78rem!important}.progress-gate{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:3rem 1.5rem;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card)}.progress-gate h2{font-family:var(--font-display);font-size:1.5rem;margin:0;color:var(--text)}.progress-gate p{margin:0;color:var(--text-muted);max-width:34rem;font-size:.9rem}.progress-gate-icon{color:var(--gold)}.progress-empty{display:flex;align-items:flex-start;gap:.75rem;padding:1.1rem 1.15rem;border:1px dashed var(--line-strong);border-radius:var(--radius-control);background:rgba(255,255,255,.015)}.progress-empty.is-compact{padding:.75rem .85rem}.progress-empty-icon{color:var(--gold);font-size:1.1rem;line-height:1.2}.progress-empty-title{margin:0;font-size:.88rem;font-weight:600;color:var(--text)}.progress-empty-hint{margin:.25rem 0 0;font-size:.78rem;color:var(--text-muted)}.progress-inline-note{margin:1rem 0 0;font-family:var(--font-mono);font-size:.74rem;color:var(--text-muted);background:var(--ink-3);border-left:2px solid var(--gold);padding:.55rem .75rem;border-radius:0 6px 6px 0}.progress-notice{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;background:rgba(211,162,74,.08);border:1px solid rgba(211,162,74,.3);color:var(--amber);border-radius:var(--radius-control);font-size:.82rem;flex-wrap:wrap}.progress-notice-action{margin-left:auto;background:transparent;border:1px solid rgba(211,162,74,.4);color:var(--amber);border-radius:999px;padding:.25rem .7rem;font-family:var(--font-mono);font-size:.72rem;cursor:pointer;transition:background .15s ease}.progress-notice-action:hover{background:rgba(211,162,74,.15)}@media (max-width:1100px){.progress-matrix-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.progress-three-pillar-grid{grid-template-columns:1fr}.progress-matrix-grid{grid-template-columns:1fr 1fr}.progress-focus-list,.progress-radar-grid,.progress-telemetry-grid{grid-template-columns:1fr}}@media (max-width:720px){.progress-hero{flex-direction:column;align-items:stretch}.progress-hero-right{text-align:left}.progress-hero-rating{justify-content:flex-start}}@media (max-width:640px){.progress-page{padding:.75rem .75rem 2.5rem}.progress-matrix-grid{grid-template-columns:1fr}.progress-card,.progress-hero,.progress-matrix-card{padding:1.15rem}.progress-filter-meta{margin-left:0}}@media print{.progress-filterbar,.progress-footer-actions,.progress-header-actions,.progress-notice,.progress-ribbon{display:none!important}}.students-panel{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden}.students-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--line)}.students-panel-title{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.students-panel-sub{margin:.25rem 0 0;font-size:.82rem;color:var(--text-muted)}.students-panel-sub .students-mono{color:var(--text)}.students-btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.4rem .9rem;border-radius:var(--radius-control);border:1px solid rgba(255,255,255,.15);background:var(--gold);color:#141712;font-family:inherit;font-size:.8rem;font-weight:700;line-height:1.25;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s ease,transform .1s ease,border-color .15s ease}.students-btn-gold:hover:not(:disabled){background:var(--gold-bright);transform:translateY(-1px)}.students-btn-gold:disabled{opacity:.5;cursor:not-allowed}.students-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.4rem .9rem;border-radius:var(--radius-control);border:1px solid var(--line-strong);background:transparent;color:var(--text);font-family:inherit;font-size:.8rem;font-weight:600;line-height:1.25;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.students-btn-ghost:hover:not(:disabled){background:rgba(255,255,255,.05);border-color:var(--gold);color:var(--gold-bright)}.students-btn-ghost:disabled{opacity:.5;cursor:not-allowed}.students-table-wrap{overflow-x:auto}.students-table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}.students-table thead{background:var(--ink-3);color:var(--gold-bright);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em}.students-table th{padding:.7rem 1rem;font-weight:600;white-space:nowrap}.students-table th.students-th-actions{text-align:right}.students-table td{padding:.85rem 1rem;vertical-align:middle;border-top:1px solid var(--line)}.students-row{cursor:pointer;transition:background .12s ease}.students-row:focus-within,.students-row:hover{background:rgba(226,182,95,.06)}.students-name{display:inline-block;font-weight:700;color:var(--text);text-decoration:none}.students-name:focus-visible,.students-name:hover{color:var(--gold-bright)}.students-handles{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.students-handle{padding:.05rem .45rem;border:1px solid var(--line);border-radius:999px;background:var(--ink-3);color:var(--text-muted);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.02em}.students-handle-lichess{color:var(--teal-light);border-color:rgba(87,164,150,.25)}.students-handle-chesscom{color:var(--green);border-color:rgba(111,163,131,.25)}.students-handle-none{font-style:italic}.students-cell-sub{display:block;margin-top:.3rem;font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}.students-rating{display:inline-block;font-family:var(--font-mono);font-size:.95rem;font-weight:600;letter-spacing:.02em;color:var(--text)}.students-rating-missing{color:var(--text-muted);font-weight:500}.students-leak-unknown{color:var(--text-muted)}.students-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:999px;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.students-pill-wrap{white-space:normal;line-height:1.35;text-align:left}.students-pill-green{background:rgba(34,197,94,.12);color:var(--green-bright);border:1px solid rgba(34,197,94,.3)}.students-pill-red{background:rgba(239,68,68,.12);color:var(--red-bright);border:1px solid rgba(239,68,68,.3)}.students-pill-amber{background:rgba(245,158,11,.12);color:var(--warn);border:1px solid rgba(245,158,11,.3)}.students-pill-muted{background:var(--ink-3);color:var(--text-muted);border:1px solid var(--line)}.students-cell-actions,.students-th-actions{width:1%;white-space:nowrap}.students-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.students-table-foot{padding:.7rem 1rem;border-top:1px solid var(--line-soft);font-size:.7rem;color:var(--text-muted)}.students-table-foot .students-mono{font-family:var(--font-mono);color:var(--text-muted)}.students-note{padding:1rem;font-size:.8rem;color:var(--text-muted)}@media (max-width:960px){.students-table-wrap{overflow-x:visible}.students-table,.students-table tbody,.students-table td,.students-table thead,.students-table tr{display:block;width:100%}.students-table thead{display:none}.students-table tbody tr{margin:.85rem;padding:.85rem;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card)}.students-table td{padding:.35rem 0;border-top:none}.students-table td[data-label]:not([data-label=""]):before{content:attr(data-label);display:block;margin-bottom:.18rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted)}.students-table td.students-cell-student{padding-bottom:.6rem;border-bottom:1px solid var(--line-soft);margin-bottom:.35rem}.students-actions{justify-content:flex-start;margin-top:.7rem}.students-actions .students-btn-ghost,.students-actions .students-btn-gold{flex:1 1 auto}.students-table-foot{padding:0 1rem 1rem;text-align:center}}.students-analyze-card{scroll-margin-top:1.25rem}.students-shares{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--ink-2);padding:0;overflow:hidden}.students-shares-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.85rem 1rem;border-bottom:1px solid var(--line)}.students-shares-title{margin:0;font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--text)}.students-shares-note{font-size:.7rem;color:var(--text-muted)}.students-shares-list{margin:0;padding:0;list-style:none}.students-shares-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem 1rem;border-top:1px solid var(--line-soft)}.students-shares-item:first-child{border-top:none}.students-shares-main{min-width:0}.students-shares-name{display:block;font-size:.82rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.students-shares-sub{display:block;margin-top:.15rem;font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}.students-shares-side{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.students-shares-views{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}.students-shares-empty{padding:.9rem 1rem;font-size:.78rem;color:var(--text-muted)}.students-shares-empty .students-mono{font-family:var(--font-mono)}@media (max-width:560px){.students-shares-item{flex-direction:column;align-items:flex-start}}.students-gate-hero{text-align:center;margin-bottom:1.75rem}.students-gate-title{margin:0 0 .6rem;font-family:var(--font-display);font-size:clamp(1.7rem,3.4vw,2.25rem);font-weight:700;letter-spacing:-.01em;color:var(--text)}.students-gate-lede{max-width:38rem;margin:0 auto;font-size:.95rem;line-height:1.6;color:var(--text-muted)}.students-gate-card{position:relative;overflow:hidden;padding:1.5rem;border:1px solid rgba(201,153,63,.35);border-radius:var(--radius-card);background:var(--ink-2);box-shadow:0 24px 48px -32px rgba(0,0,0,.9)}.students-gate-card:after{content:"";position:absolute;top:-4rem;right:-4rem;width:16rem;height:16rem;border-radius:999px;background:radial-gradient(circle,rgba(201,153,63,.16),transparent 70%);pointer-events:none}.students-gate-plan{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line-soft)}.students-gate-eyebrow{font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-bright)}.students-gate-price{display:flex;align-items:baseline;gap:.4rem;margin-top:.15rem}.students-gate-price strong{font-family:var(--font-mono);font-size:1.9rem;font-weight:700;color:var(--text)}.students-gate-price span{font-size:.82rem;color:var(--text-muted)}.students-gate-price-note{margin:.35rem 0 0;font-size:.76rem;color:var(--text-muted)}.students-gate-cta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.students-gate-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding-top:1.25rem}.students-gate-feature{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem;border:1px solid var(--line-soft);border-radius:var(--radius-control);background:rgba(21,31,36,.6)}.students-gate-feature-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;border-radius:var(--radius-control);border:1px solid rgba(201,153,63,.3);background:rgba(201,153,63,.14);color:var(--gold-bright)}.students-gate-feature-title{font-size:.84rem;font-weight:600;color:var(--text)}.students-gate-feature-copy{margin-top:.15rem;font-size:.74rem;line-height:1.45;color:var(--text-muted)}.students-gate-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;margin-top:1.25rem;font-size:.74rem;color:var(--text-muted)}@media (max-width:720px){.students-gate-features{grid-template-columns:1fr}.students-gate-cta{width:100%}.students-gate-cta>*{flex:1 1 auto}}.subscription-hero{max-width:760px;margin:2.5rem auto 0;text-align:center}.subscription-title{margin:.85rem 0 0;font-family:var(--font-display);font-size:clamp(1.9rem,4vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.01em}.subscription-subtitle{max-width:62ch;margin:.35rem auto 0;color:var(--text-muted);font-size:1.1rem;line-height:1.6}.subscription-status-bar{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.75rem;max-width:100%;margin-top:1.25rem;padding:.5rem 1rem;background:var(--ink-2);border:1px solid var(--gold);border-radius:999px}.subscription-status-text{color:var(--text);font-size:.85rem}.subscription-status-text b{color:var(--gold-bright)}.subscription-pill-green{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);border-radius:999px;color:var(--green-bright);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.02em}.subscription-manage-trigger{padding:0;background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:.85rem;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px;cursor:pointer;transition:color .15s ease}.subscription-manage-trigger:hover{color:var(--gold-bright)}.subscription-notices{max-width:640px;margin:0 auto}.subscription-notice{margin:1rem 0 0;text-align:left}.subscription-notice-ok{color:var(--green-bright);font-size:.95rem}.subscription-manage-panel{max-width:720px;margin:1.5rem auto 0;padding:1.25rem 1.5rem;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card)}.subscription-manage-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.subscription-manage-title{color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.subscription-manage-meta{margin:.75rem 0 0;color:var(--text-muted);font-size:.9rem;line-height:1.55}.subscription-manage-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.subscription-pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2.5rem}@media (max-width:860px){.subscription-pricing-grid{grid-template-columns:1fr}}.subscription-plan-card{position:relative;display:flex;flex-direction:column;gap:1.25rem;padding:2rem 1.5rem;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card)}.subscription-plan-card[data-featured=true]{border-color:var(--gold);background:linear-gradient(180deg,rgba(226,182,95,.08) 0,var(--ink-2) 100%)}.subscription-plan-badge{position:absolute;top:-12px;right:1.5rem;padding:.15rem .55rem;background:var(--gold);border-radius:999px;color:#141712;font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.subscription-plan-name{display:block;margin:0;font-family:var(--font-display);font-size:1.15rem;font-weight:700}.subscription-plan-card[data-featured=true] .subscription-plan-name{color:var(--gold-bright)}.subscription-plan-blurb{margin:.25rem 0 0;color:var(--text-muted);font-size:.85rem}.subscription-plan-price{display:flex;align-items:baseline;gap:.4rem;color:var(--text);font-family:var(--font-display);font-size:2.4rem;font-weight:700;line-height:1}.subscription-plan-price span{color:var(--text-muted);font-family:var(--font-mono);font-size:.9rem;font-weight:400}.subscription-plan-features{display:flex;flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;color:var(--text-muted);font-size:.85rem}.subscription-plan-features li{display:flex;align-items:flex-start;gap:.5rem;line-height:1.5}.subscription-plan-features b{color:var(--text);font-weight:600}.subscription-plan-check{flex:none;color:var(--text-muted);font-weight:700}.subscription-plan-action{display:flex;flex-direction:column;gap:.55rem;margin-top:auto}.subscription-plan-btn{align-self:stretch;justify-content:center;width:100%;text-align:center}.subscription-plan-btn[data-state=active]:disabled{opacity:1;background:var(--gold);border-color:var(--gold);color:#181c16;cursor:default}.subscription-plan-helper{margin:0;color:var(--text-muted);font-size:.78rem;line-height:1.5;text-align:center}.subscription-invoices{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line-soft)}.subscription-invoices h2{margin:0 0 .75rem;font-family:var(--font-display);font-size:1.1rem;font-weight:600}.subscription-invoice-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.subscription-invoice-row{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line-soft);color:var(--text-muted);font-family:var(--font-mono);font-size:.82rem}.subscription-invoice-amount{color:var(--text)}.subscription-invoice-status{text-transform:capitalize}.subscription-invoice-row a{margin-left:auto;color:var(--gold-bright);text-decoration:none}.subscription-invoice-row a:hover{text-decoration:underline}