:root{--bg:#262421;--surface:#302e2b;--ink:#e9e6e1;--ink-muted:#c4c0ba;--line:#3a3835;--accent:#81b64c;--accent-ink:#1d1c19;--accent-blue:#6f9fd8;--warn-bg:#3d3419;--warn-ink:#f2d98a;--error-bg:#46231f;--error-ink:#f5b3aa;--info-bg:#1e3346;--info-ink:#a9cdf0;--radius:12px;--shadow:0 18px 44px #00000057;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg:#262421;--surface:#302e2b;--ink:#e9e6e1;--ink-muted:#c4c0ba;--line:#3a3835}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Archivo,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}.app{max-width:1240px;margin:0 auto;padding:1rem 1rem 3rem}.app.app-review{max-width:none;padding:0}.app-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:1rem;display:flex}.brand{align-items:center;gap:.6rem;display:flex}.brand-mark{flex-shrink:0}.app-icon{object-fit:contain;filter:invert();-webkit-user-select:none;user-select:none;width:auto;display:block}.app-icon-sm{height:22px}.app-icon-md{height:28px}.app-icon-lg{height:34px}.app-icon-hero{filter:invert()drop-shadow(0 24px 44px #00000073);z-index:1;width:min(320px,100%);height:auto;max-height:20rem;animation:6s ease-in-out infinite home-float-main;position:relative}.brand h1{margin:0;font-size:1.35rem}.header-actions{flex-wrap:wrap;gap:.5rem;display:flex}button{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:.45rem .85rem}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);width:100%;margin-top:1.25rem;padding:.65rem 1rem;font-weight:600}.link-button{color:var(--accent);background:0 0;border:none;padding:.25rem 0;text-decoration:underline}:focus-visible{outline-offset:2px;outline:3px solid #2f80ed}.layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start;gap:1.5rem;margin-top:1.25rem;display:grid}.board-column{flex-direction:column;gap:.75rem;min-width:0;display:flex}.board-wrap{aspect-ratio:1;width:100%;max-width:620px;margin:0 auto;position:relative;container-type:inline-size}.side-column{flex-direction:column;gap:1rem;min-width:0;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem}.panel h2{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:0 0 .6rem;font-size:.85rem}.muted{color:var(--ink-muted)}.small{font-size:.82rem}.turn-strip{flex-wrap:wrap;gap:.5rem;display:flex}.turn-chip{border:1px solid var(--line);color:var(--ink-muted);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.85rem;display:inline-flex}.turn-chip.active{border-color:var(--accent);color:var(--ink);font-weight:600}.turn-chip.check{background:var(--error-bg);color:var(--error-ink);border-color:#0000;font-weight:700}.dot{border:1px solid var(--ink-muted);border-radius:50%;width:.7rem;height:.7rem}.dot.white{background:#fff}.dot.black{background:#111}.status{min-height:1.5rem;margin:0;font-weight:600}.status.busy:after{content:"";background:var(--accent);border-radius:50%;width:.6rem;height:.6rem;margin-left:.5rem;animation:1s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.status.busy:after{animation:none}}.banner{border-radius:8px;margin:.5rem 0 0;padding:.6rem .85rem;font-size:.9rem}.banner.error{background:var(--error-bg);color:var(--error-ink)}.banner.warn{background:var(--warn-bg);color:var(--warn-ink)}.banner.info{background:var(--info-bg);color:var(--info-ink)}.legend{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin:0;font-size:.8rem;display:flex}.swatch{vertical-align:-1px;border-radius:3px;width:.85rem;height:.85rem;margin-right:.15rem;display:inline-block}.swatch.last{background:#ffd666e6}.swatch.engine{background:#58d68de6}.swatch.hint{background:0 0;box-shadow:inset 0 0 0 3px #3498dbe6}.eval-bar{border:1px solid var(--line);border-radius:999px;height:1rem;display:flex;overflow:hidden}.eval-black{background:#2c3238}.eval-white{background:#e8e4d9}.eval-value{font-variant-numeric:tabular-nums;margin:.45rem 0 .2rem}.move-list{font-variant-numeric:tabular-nums;max-height:190px;margin:0;padding:0;list-style:none;overflow-y:auto}.move-list li{grid-template-columns:2.4rem 1fr 1fr;gap:.4rem;padding:.15rem .2rem;display:grid}.move-list li:nth-child(odd){background:#7f7f7f12}.move-number{color:var(--ink-muted)}.move.current{color:var(--accent);font-weight:700}.field{border:none;margin:0 0 .9rem;padding:0}.field legend,.field>label{margin-bottom:.35rem;padding:0;font-size:.85rem;font-weight:600;display:block}.field.checkbox{align-items:center;gap:.5rem;display:flex}.field.checkbox label{margin:0;font-weight:400}.row{gap:.5rem;display:flex}input[type=text],select,textarea{font:inherit;border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--ink);border-radius:8px;padding:.45rem .6rem}textarea.pgn-input{resize:vertical;min-height:12rem;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,Menlo,Consolas,monospace;font-size:.92rem;line-height:1.45}.import-form{gap:.75rem;display:grid}.import-form .primary{margin-top:.25rem}.import-divider{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin:.25rem 0 0;font-size:.82rem;display:grid}.import-divider:before,.import-divider:after{content:"";background:var(--line);height:1px}.import-divider span{white-space:nowrap}.cc-shell{--cc-green:#81b64c;--cc-green-ink:#1a2e0a;--cc-panel:#262421;--cc-panel-2:#312e2b;--cc-panel-3:#3c3935;--cc-ink:#fff;--cc-muted:#c0bdb8;--cc-line:#3d3a36;--cc-win:#81b64c;--cc-loss:#e26a5c;--cc-draw:#ef9f27;max-width:920px;color:var(--cc-ink);margin:0 auto;padding:1rem 0 2rem}.cc-toolbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.cc-text-btn{color:var(--accent);background:0 0;border:none;padding:.25rem 0;font-size:.9rem;text-decoration:underline}.cc-text-btn.muted{color:var(--ink-muted);text-decoration:none}.cc-text-btn.muted:hover:not(:disabled){color:var(--accent);text-decoration:underline}.cc-profile{background:var(--cc-panel);border:1px solid var(--cc-line);border-radius:16px;margin-bottom:1rem;position:relative;overflow:hidden;box-shadow:0 16px 40px #00000038}.cc-profile-banner{background:radial-gradient(circle at 20% 40%,#81b64c59,#0000 45%),radial-gradient(circle at 80% 10%,#ffffff14,#0000 40%),linear-gradient(120deg,#1f1c1a 0%,#3a342e 45%,#2a4a2e 100%);height:96px}.cc-profile-body{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:1rem 1.25rem;margin-top:-40px;padding:0 1.25rem 1.25rem;display:grid}.cc-avatar-wrap{position:relative}.cc-avatar{object-fit:cover;border:4px solid var(--cc-panel);background:var(--cc-panel-3);border-radius:50%;width:112px;height:112px;box-shadow:0 8px 24px #00000059}.cc-avatar.placeholder{background:var(--cc-panel-3);place-items:center;padding:1.25rem;display:grid}.cc-avatar.placeholder .app-icon-lg{width:70%;height:auto}.cc-live-dot{border:3px solid var(--cc-panel);background:#e03a3a;border-radius:50%;width:16px;height:16px;position:absolute;bottom:8px;right:8px;box-shadow:0 0 0 2px #e03a3a59}.cc-profile-main{min-width:0;padding-top:44px}.cc-title-row{flex-wrap:wrap;align-items:center;gap:.45rem .6rem;display:flex}.cc-title-badge{color:#1f1505;letter-spacing:.04em;background:#ef9f27;border-radius:4px;align-items:center;padding:.15rem .4rem;font-size:.72rem;font-weight:800;display:inline-flex}.cc-username{color:var(--cc-ink);font-size:1.65rem;font-weight:800;line-height:1.1;text-decoration:none}.cc-username:hover{color:var(--cc-green)}.cc-premium{color:var(--cc-green);text-transform:uppercase;letter-spacing:.05em;background:#81b64c2e;border-radius:999px;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.cc-real-name{color:var(--cc-muted);margin:.35rem 0 0;font-size:1rem}.cc-location{color:var(--cc-muted);flex-wrap:wrap;gap:.35rem .7rem;margin:.45rem 0 0;font-size:.88rem;display:flex}.cc-league{color:#d1c4a8;font-weight:600}.cc-profile-stats{flex-wrap:wrap;gap:.85rem 1.4rem;margin-top:.9rem;display:flex}.cc-profile-stats div{gap:.1rem;display:grid}.cc-profile-stats strong{font-size:1.05rem}.cc-profile-stats span{color:var(--cc-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.cc-ghost-btn{border:1px solid var(--cc-line);color:var(--cc-muted);background:0 0;border-radius:8px;margin-top:44px;padding:.45rem .8rem;font-size:.82rem}.cc-ghost-btn:hover:not(:disabled){border-color:var(--cc-green);color:var(--cc-green)}.cc-rating-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.cc-rating-card{background:var(--cc-panel);border:1px solid var(--cc-line);border-radius:12px;padding:.9rem 1rem}.cc-rating-label{color:var(--cc-muted);margin:0;font-size:.8rem;font-weight:600}.cc-rating-value{font-variant-numeric:tabular-nums;margin:.35rem 0 .2rem;font-size:1.8rem;font-weight:800;line-height:1}.cc-rating-record{font-variant-numeric:tabular-nums;color:var(--cc-muted);margin:0;font-size:.78rem}.cc-rating-record .w{color:var(--cc-win);font-weight:700}.cc-rating-record .l{color:var(--cc-loss);font-weight:700}.cc-rating-record .d{color:var(--cc-draw);font-weight:700}.cc-rating-record .sep{opacity:.5;margin:0 .15rem}.cc-games-panel{background:var(--cc-panel);border:1px solid var(--cc-line);border-radius:16px;overflow:hidden}.cc-games-head{border-bottom:1px solid var(--cc-line);background:var(--cc-panel-2);justify-content:space-between;align-items:center;padding:.85rem 1.1rem;display:flex}.cc-games-head h3{margin:0;font-size:.95rem;font-weight:700}.cc-games-count{color:var(--cc-muted);font-size:.8rem}.cc-empty{color:var(--cc-muted);margin:0;padding:1.5rem 1.1rem}.cc-games-list{margin:0;padding:0;list-style:none}.cc-game-row{border-bottom:1px solid var(--cc-line);background:var(--cc-panel);grid-template-columns:auto minmax(0,1.4fr) minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.85rem 1.1rem;display:grid}.cc-game-row:last-child{border-bottom:none}.cc-game-row:hover{background:var(--cc-panel-2)}.cc-result-pill{border-radius:8px;place-items:center;width:2rem;height:2rem;font-size:.85rem;font-weight:800;display:grid}.cc-result-pill.outcome-win{color:var(--cc-win);background:#81b64c33}.cc-result-pill.outcome-loss{color:var(--cc-loss);background:#e26a5c33}.cc-result-pill.outcome-draw{color:var(--cc-draw);background:#ef9f2733}.cc-game-players{gap:.25rem;min-width:0;display:grid}.cc-game-line{align-items:center;gap:.45rem;min-width:0;font-size:.92rem;display:flex}.cc-game-line span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cc-you{font-weight:700}.cc-piece.white{color:#f3f3ec}.cc-piece.black{color:#8a8580}.cc-rating-tag{color:var(--cc-muted);font-variant-numeric:tabular-nums;font-size:.8rem}.cc-game-info{color:var(--cc-muted);flex-wrap:wrap;gap:.35rem .65rem;font-size:.8rem;display:flex}.cc-time-class{background:var(--cc-panel-3);color:var(--cc-ink);border-radius:999px;padding:.15rem .45rem;font-weight:600}.cc-unrated{color:var(--cc-draw)}.cc-review-btn{background:var(--cc-green);color:var(--cc-green-ink);border:1px solid var(--cc-green);white-space:nowrap;border-radius:8px;padding:.5rem .95rem;font-weight:700}.cc-review-btn:hover:not(:disabled){filter:brightness(1.05);border-color:var(--cc-green)}.cc-secondary-btn{background:var(--cc-panel-3);color:var(--cc-ink);border:1px solid var(--cc-line);white-space:nowrap;border-radius:8px;padding:.5rem .95rem;font-weight:600}.cc-secondary-btn:hover:not(:disabled){border-color:var(--cc-green)}.cc-connect-hero{text-align:center;padding:1.5rem 1rem 1.25rem}.cc-connect-brand{background:linear-gradient(145deg, #81b64c59, #262421e6), var(--cc-panel);border:1px solid var(--cc-line);border-radius:20px;place-items:center;width:72px;height:72px;margin:0 auto .85rem;display:grid;overflow:hidden}.cc-connect-brand .cc-pawn-lg{height:44px}.cc-eyebrow{color:var(--cc-green);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:.8rem;font-weight:700}.cc-connect-title{color:var(--ink);margin:0;font-size:1.7rem}.cc-connect-sub{max-width:34rem;color:var(--ink-muted);margin:.45rem auto 0}.cc-connect-card{background:var(--cc-panel);border:1px solid var(--cc-line);border-radius:16px;max-width:560px;margin:0 auto;padding:1.25rem;box-shadow:0 16px 40px #0000002e}.cc-connect-form{gap:.4rem;display:grid}.cc-connect-form label{color:var(--cc-muted);font-size:.82rem;font-weight:600}.cc-input-row{align-items:stretch;gap:.5rem;display:flex}.cc-input-prefix{background:var(--cc-panel-3);min-width:2.4rem;color:var(--cc-muted);border:1px solid var(--cc-line);border-radius:8px;place-items:center;font-weight:700;display:grid}.cc-input-row input{border-color:var(--cc-line);color:var(--cc-ink);background:#1f1d1b;flex:1}.cc-input-row input::placeholder{color:#7d7872}.cc-or{color:var(--cc-muted);text-transform:uppercase;letter-spacing:.06em;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin:1.1rem 0;font-size:.75rem;display:grid}.cc-or:before,.cc-or:after{content:"";background:var(--cc-line);height:1px}.cc-shell .banner.error{margin-top:1rem}@media (width<=800px){.cc-rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-game-row{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"result players""info info""action action"}.cc-result-pill{grid-area:result}.cc-game-players{grid-area:players}.cc-game-info{grid-area:info}.cc-review-btn{grid-area:action;width:100%}}@media (width<=560px){.cc-toolbar{flex-direction:column;align-items:stretch}.cc-profile-body{grid-template-columns:auto minmax(0,1fr)}.cc-profile-main{padding-top:.35rem}.cc-ghost-btn{grid-column:1/-1;margin-top:0}.cc-username{font-size:1.35rem}.cc-input-row{flex-wrap:wrap}.cc-input-row input{flex:100%}.cc-input-prefix{display:none}.cc-review-btn,.cc-secondary-btn{flex:1}}input[type=range]{width:100%}.segmented{border:1px solid var(--line);border-radius:8px;display:flex;overflow:hidden}.segment{border:none;border-right:1px solid var(--line);border-radius:0;flex:1}.segment:last-child{border-right:none}.segment.active{background:var(--accent);color:var(--accent-ink);font-weight:600}.settings{border-top:1px solid var(--line);margin-top:.6rem;padding-top:.8rem}.dialog-overlay,.promotion-overlay{z-index:20;background:#0f14198c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.promotion-overlay{position:absolute}.dialog,.promotion-dialog{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:460px;max-height:90vh;padding:1.4rem 1.5rem;overflow-y:auto}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:.78rem}.eyebrow.spaced{margin-top:1.1rem}.move-headline{margin:.15rem 0 .6rem;font-size:2.1rem;line-height:1.1}.verdict{margin:0 0 .5rem;font-size:1.15rem;font-weight:700}.verdict.good{color:var(--accent)}.verdict.bad{color:var(--error-ink)}.feedback-detail{margin:0 0 .5rem}.concept-tag{background:var(--info-bg);color:var(--info-ink);border-radius:999px;margin:0 0 .6rem;padding:.2rem .6rem;font-size:.82rem;font-weight:600;display:inline-block}.headline{margin:0 0 .8rem;font-size:1.05rem}.why-heading{margin:0 0 .35rem;font-size:.95rem}.reason-list{margin:0;padding-left:1.2rem}.reason-list li{margin-bottom:.35rem}.evaluation-line{font-variant-numeric:tabular-nums;margin:.9rem 0 .4rem}.promotion-title{margin:0 0 .75rem;font-weight:600}.promotion-choices{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.75rem;display:grid}.promotion-choice{flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .25rem;font-size:.75rem;display:flex}.promotion-glyph{object-fit:contain;width:2.4rem;height:2.4rem}@media (width<=900px){.layout{grid-template-columns:minmax(0,1fr)}.board-wrap{max-width:min(100%,560px)}}@media (width<=520px){.app{padding:.75rem .75rem 2rem}.app-header{flex-direction:column;align-items:flex-start}.move-headline{font-size:1.7rem}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tone-brilliant{color:#26c2a3}.tone-great{color:#749bbf}.tone-book{color:#d5a47d}.tone-best,.tone-excellent{color:#1f8a53}.tone-good{color:#4a8f2f}.tone-inaccuracy{color:#b8860b}.tone-mistake{color:#cc6b1f}.tone-miss{color:#e85d4f}.tone-blunder{color:#c0392b}@media (prefers-color-scheme:dark){.tone-brilliant{color:#5fe0c8}.tone-great{color:#9bb8d4}.tone-book{color:#e0b98f}.tone-best,.tone-excellent{color:#5fd39a}.tone-good{color:#9ed36a}.tone-inaccuracy{color:#e5c05b}.tone-mistake{color:#f0a45e}.tone-miss{color:#ff998d}.tone-blunder{color:#f08379}}.progress-track{background:#7f7f7f40;border-radius:999px;height:.6rem;margin:.5rem 0;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .2s linear}.summary-row{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.5rem;margin-bottom:.75rem;display:grid}.summary-card{border:1px solid var(--line);border-radius:8px;padding:.5rem .6rem}.summary-card.you{border-color:var(--accent);background:#4caf7d14}.summary-title{color:var(--ink-muted);margin:0;font-size:.8rem;font-weight:600}.you-tag{background:var(--accent);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;margin-left:.35rem;padding:0 .35rem;font-size:.65rem}.summary-accuracy{font-variant-numeric:tabular-nums;margin:.15rem 0 .35rem;font-size:1.5rem;font-weight:700;line-height:1.1}.summary-unit{color:var(--ink-muted);margin-left:.25rem;font-size:.7rem;font-weight:400}.quality-counts{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.3rem .5rem;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.quality-counts .count{font-weight:700}.review-list{max-height:240px;margin:0 0 .5rem;padding:0;list-style:none;overflow-y:auto}.review-row{text-align:left;font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:6px;grid-template-columns:2.6rem 1fr 2rem;align-items:center;gap:.4rem;width:100%;padding:.25rem .4rem;display:grid}.review-row:hover{background:#7f7f7f1f}.review-row.active{background:var(--accent);color:var(--accent-ink)}.review-row.active .review-mark,.review-row.active .review-num{color:inherit}.review-num{color:var(--ink-muted);font-size:.82rem}.review-san{font-weight:600}.review-mark{text-align:right;font-weight:700}.review-bar{flex-direction:column;gap:.6rem;display:flex}.replay-controls{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.replay-controls button{min-width:2.4rem;padding:.35rem .5rem}button.primary.compact{width:auto;margin:0;padding:.35rem .9rem}.replay-counter{color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.82rem}.tutor-chat{z-index:40;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--tutor-accent,var(--accent));border-radius:14px;flex-direction:column;width:min(320px,100vw - 2rem);animation:.32s cubic-bezier(.2,.9,.3,1.3) both tutor-chat-in;display:flex;position:fixed;bottom:1rem;right:1rem;overflow:hidden;box-shadow:0 12px 30px #00000073}.tutor-chat-head{align-items:center;gap:.5rem;padding:.5rem .6rem .35rem;display:flex}.tutor-chat-logo{flex-shrink:0}.tutor-chat-name{letter-spacing:.08em;text-transform:uppercase;color:var(--tutor-accent,var(--accent));margin-right:auto;font-size:.7rem;font-weight:800}.tutor-chat-btn{border:1px solid var(--line);min-width:0;color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.15rem .45rem;font-size:.7rem;line-height:1.4}.tutor-chat-btn:hover{color:var(--ink);border-color:var(--tutor-accent,var(--accent))}.tutor-chat-btn.close{padding:0 .4rem;font-size:.95rem}.tutor-chat-body{padding:0 .85rem .75rem;font-size:.88rem;line-height:1.45}.tutor-chat-body p{margin:0 0 .35rem}.tutor-chat-body p:last-child{margin-bottom:0}.tutor-chat-foot{border-top:1px solid var(--line);background:#2b2926;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.55rem .85rem;font-size:.82rem;display:flex}.tutor-chat-foot strong{color:var(--accent);font-family:IBM Plex Mono,ui-monospace,monospace}.tutor-chat.tone-blunder{--tutor-accent:#fa412d}.tutor-chat.tone-miss{--tutor-accent:#ff7769}.tutor-chat.tone-mistake{--tutor-accent:#ffa459}.tutor-chat.tone-inaccuracy{--tutor-accent:#f7c631}.tutor-chat.tone-brilliant{--tutor-accent:#26c2a3}.tutor-chat.tone-great{--tutor-accent:#749bbf}.tutor-chat.tone-book{--tutor-accent:#d5a47d}.tutor-chat.tone-best,.tutor-chat.tone-excellent,.tutor-chat.tone-good{--tutor-accent:#81b64c}.tutor-chat.speaking .tutor-chat-logo{animation:.55s ease-in-out infinite tutor-bob}@keyframes tutor-chat-in{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tutor-bob{0%{transform:translateY(0)}to{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.tutor-chat,.tutor-chat.speaking .tutor-chat-logo{animation:none}}@media (width<=520px){.tutor-chat{width:auto;left:1rem;right:1rem}}.banner.info{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}button.brand{cursor:pointer;color:inherit;background:0 0;border:none;padding:0}button.brand:hover{border:none}.mode-chip{background:#7f7f7f24;border-radius:999px;align-items:center;gap:.3rem;padding:.35rem .7rem;font-size:.85rem;font-weight:600;display:inline-flex}.setup-screen{max-width:780px;margin:0 auto;padding:2.5rem 0 1rem}.setup-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem;font-size:.85rem;font-weight:700}.setup-heading{margin:0 0 .4rem;font-size:1.6rem;line-height:1.2}.setup-sub{color:var(--ink-muted);margin:0 0 1.6rem}.back-link{margin-bottom:1rem}.mode-grid,.side-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=900px){.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.mode-grid,.side-grid{grid-template-columns:minmax(0,1fr)}}.mode-card{text-align:left;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);gap:.3rem;width:100%;height:100%;padding:1.1rem 1.2rem;transition:transform .12s,border-color .12s;display:grid}.mode-card:hover{border-color:var(--accent);transform:translateY(-2px)}.mode-icon{font-size:1.8rem;line-height:1}.mode-label{font-size:1.15rem;font-weight:700}.mode-tagline{color:var(--accent);font-size:.82rem;font-weight:600}.mode-description{color:var(--ink-muted);font-size:.88rem;line-height:1.45}.side-card{border-radius:var(--radius);border:2px solid var(--line);justify-items:center;gap:.35rem;padding:1.6rem 1rem;transition:transform .12s,border-color .12s;display:grid}.side-card:hover{border-color:var(--accent);transform:translateY(-2px)}.side-card.light{color:#2b2926;background:#ebecd0}.side-card.dark{color:#f3f3ec;background:#3a3a38}.side-glyph{font-size:3rem;line-height:1}.side-label{font-size:1.1rem;font-weight:700}.side-note{opacity:.75;font-size:.8rem}.assist-setup-screen{box-sizing:border-box;min-height:100%;padding:76px 28px 100px;overflow-y:auto}.dash-main .assist-setup-screen{padding:48px 28px 80px}.assist-setup-page{color:#e9e6e1;max-width:760px;margin:0 auto}.assist-setup-back{color:#81b64c;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;align-items:center;margin:0 0 12px;padding:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;font-weight:500;display:inline-flex}.assist-setup-back:hover{color:#9fd15f}.assist-setup-title{letter-spacing:-.02em;margin:0 0 10px;font-size:2.125rem;font-weight:800;line-height:1.15}.assist-setup-lead{color:#a39f99;margin:0 0 36px;font-size:1rem;line-height:1.5}.assist-side-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.assist-side-card{color:#e9e6e1;cursor:pointer;text-align:center;background:#302e2b;border:2px solid #3a3835;border-radius:14px;flex-direction:column;align-items:center;gap:16px;padding:26px;transition:background .12s,border-color .12s;display:flex}.assist-side-card:hover{background:#35332f}.assist-side-card.selected{border-color:#81b64c}.assist-side-preview{aspect-ratio:1.35;border-radius:10px;place-items:center;width:100%;display:grid}.assist-side-preview.dark{background:#262421}.assist-side-preview.light{background:#ebecd0}.assist-side-knight{width:58%;height:auto;display:block}.assist-side-knight.light{filter:invert()drop-shadow(0 10px 22px #00000080)}.assist-side-knight.dark{filter:drop-shadow(0 10px 22px #00000040)}.assist-side-copy{flex-direction:column;gap:4px;display:flex}.assist-side-label{font-size:1.19rem;font-weight:700}.assist-side-note{color:#8b8781;font-size:.8125rem}.assist-setup-foot{flex-direction:column;align-items:flex-start;gap:14px;margin-top:30px;display:flex}.assist-setup-summary{color:#8b8781;margin:0;font-size:.8125rem}.assist-setup-cta{color:#1d1c19;font:inherit;cursor:pointer;background:#81b64c;border:none;border-radius:8px;padding:13px 30px;font-size:.9375rem;font-weight:700}.assist-setup-cta:hover{background:#9fd15f}@media (width<=640px){.assist-setup-screen{padding:48px 20px 72px}.assist-setup-title{font-size:1.75rem}.assist-side-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.mode-card:hover,.side-card:hover{transform:none}.assist-side-card{transition:none}}@media (width<=520px){.setup-screen{padding-top:1.5rem}.setup-heading{font-size:1.35rem}}.home-screen{max-width:1140px;margin:0 auto;padding:2.5rem 1.75rem 6rem}.home-brand{align-items:center;gap:.75rem;margin-bottom:3rem;display:flex}.home-brand-mark{flex-shrink:0}.home-brand-name{letter-spacing:-.02em;font-size:1.65rem;font-weight:800}.home-hero{grid-template-columns:minmax(0,1fr) minmax(280px,452px);align-items:center;gap:3.75rem;margin-bottom:3.5rem;display:grid}.home-title{letter-spacing:-.035em;text-wrap:pretty;max-width:13ch;margin:0 0 1rem;font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1.02}.home-lead{color:var(--ink-muted);max-width:46ch;margin:0 0 2rem;font-size:1.05rem;line-height:1.5}.home-chesscom-note{color:#b5b1ab;align-items:center;gap:.75rem;font-size:.82rem;display:flex}.cc-pawn{object-fit:contain;-webkit-user-select:none;user-select:none;width:auto;display:block}.cc-pawn-sm{height:20px}.cc-pawn-md{height:24px}.cc-pawn-lg{height:52px}.cc-pawn-float{height:72px}.home-hero-art{isolation:isolate;place-items:center;min-height:22rem;display:grid;position:relative}.home-knight{z-index:1;position:relative}.home-float{z-index:3;filter:drop-shadow(0 10px 20px #0006);position:absolute}.home-float-a{animation:5.5s ease-in-out infinite home-float-a;top:6%;left:4%}.home-float-b{animation:7s ease-in-out .6s infinite home-float-b;top:22%;right:2%}.home-float-b.cc-pawn{height:52px}.home-float-c{animation:6.4s ease-in-out 1.1s infinite home-float-c;bottom:8%;left:12%}.home-float-c.cc-pawn{height:60px}.home-float-d{animation:8s ease-in-out .3s infinite home-float-d;bottom:16%;right:8%}.home-float-d.cc-pawn{height:88px}@keyframes home-float-main{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes home-float-a{0%,to{transform:translateY(0)rotate(-19deg)}50%{transform:translateY(-16px)rotate(-13deg)}}@keyframes home-float-b{0%,to{transform:translateY(0)rotate(15deg)}50%{transform:translateY(-22px)rotate(9deg)}}@keyframes home-float-c{0%,to{transform:translateY(0)rotate(24deg)}50%{transform:translateY(-14px)rotate(18deg)}}@keyframes home-float-d{0%,to{transform:translateY(0)rotate(-11deg)}50%{transform:translateY(-19px)rotate(-5deg)}}.home-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid;position:relative}.home-mode-grid:before,.home-mode-grid:after{content:"";pointer-events:none;filter:blur(90px);border-radius:50%;position:absolute}.home-mode-grid:before{opacity:.16;background:#81b64c;width:340px;height:300px;top:-3.75rem;left:6%}.home-mode-grid:after{opacity:.14;background:#6f9fd8;width:300px;height:280px;top:2.5rem;right:10%}.home-mode-card{text-align:left;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#3a38346b;border:1px solid #ffffff17;border-radius:16px;flex-direction:column;gap:.85rem;width:100%;padding:1.75rem;transition:border-color .15s,background .15s,transform .12s;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 44px #00000057,inset 0 1px #ffffff17}.home-mode-card:hover{transform:translateY(-2px)}.home-mode-card.assist:hover{background:#42403a80;border-color:#6f9fd88c}.home-mode-card.review:hover{background:#42403a80;border-color:#81b64c8c}.home-mode-accent{height:3px;position:absolute;top:0;left:0;right:0}.home-mode-card.assist .home-mode-accent{background:var(--accent-blue)}.home-mode-card.review .home-mode-accent{background:var(--accent)}.home-mode-icon{border-radius:12px;place-items:center;width:3.6rem;height:3.6rem;display:grid;overflow:hidden}.home-mode-icon.assist{color:var(--accent-ink);background:linear-gradient(135deg,#6f9fd8 50%,#5b85b8 50%)}.home-mode-icon.review{color:var(--accent-ink);background:linear-gradient(135deg,#81b64c 50%,#6b9a3f 50%)}.mode-card-icon-svg{width:2rem;height:2rem;display:block}.home-mode-label{letter-spacing:-.015em;font-size:1.3rem;font-weight:700}.home-mode-desc{color:var(--ink-muted);font-size:.88rem;line-height:1.5}.home-mode-cta{border-radius:8px;align-self:flex-start;margin-top:.25rem;padding:.7rem 1.35rem;font-size:.88rem;font-weight:700}.home-mode-cta.assist{background:var(--accent-blue);color:var(--accent-ink)}.home-mode-cta.review{color:var(--ink);background:#ffffff1a;border:1px solid #ffffff24;align-items:center;gap:.65rem;display:inline-flex;box-shadow:inset 0 1px #ffffff1a}.assist-layout{margin-top:1rem}.assist-board-row{align-items:stretch;gap:.65rem;display:flex}.eval-rail{background:#3f3d3a;border-radius:5px;flex-direction:column;flex-shrink:0;justify-content:flex-end;width:22px;display:flex;position:relative;overflow:hidden}.eval-rail-fill{background:#ebecd0;width:100%;transition:height .25s}.eval-rail-label{text-align:center;color:#312e2b;writing-mode:vertical-rl;max-height:100%;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px;font-weight:700;position:absolute;bottom:4px;left:0;right:0;overflow:hidden;transform:rotate(180deg)}.assist-board-row .board-wrap{flex:1;max-width:none}.rv-screen{background:var(--bg);height:100dvh;min-height:100dvh;color:var(--ink);box-sizing:border-box;flex-direction:column;padding:1rem 0;display:flex}.rv-layout{--rv-side-width:400px;--rv-column-gap:1.5rem;--rv-board-chrome:11rem;--rv-rail-width:22px;--rv-rail-gap:.35rem;--rv-board-total:calc(100dvh - var(--rv-board-chrome) + var(--rv-rail-width) + var(--rv-rail-gap));justify-content:center;align-items:stretch;gap:var(--rv-column-gap);flex:1;width:100%;min-height:0;display:flex}.rv-board-column{width:var(--rv-board-total);flex-direction:column;flex:0 auto;justify-content:center;align-items:center;min-width:0;max-width:100%;height:100%;min-height:0;display:flex}.rv-side-column{flex:0 0 var(--rv-side-width);width:var(--rv-side-width);flex-direction:column;gap:1rem;min-width:0;max-width:100%;min-height:0;max-height:100%;display:flex;overflow-y:auto}.rv-board-stack{flex-direction:column;gap:.65rem;width:100%;min-height:0;max-height:100%;display:flex}.rv-board-stack .rv-player-bar,.rv-board-stack .rv-replay{width:100%}.rv-board-row{justify-content:center;align-items:stretch;min-height:0;display:flex}.rv-player-bar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.65rem;display:flex}.rv-player-bar.top{justify-content:space-between}.rv-player-info{align-items:center;gap:.65rem;display:flex}.rv-player-avatar{object-fit:cover;background:#3a3835;border:2px solid #0000;border-radius:5px;flex-shrink:0;width:32px;height:32px}.rv-player-avatar.you{border-color:var(--accent)}.rv-player-name.you{color:var(--accent)}.rv-accuracy-player{justify-content:center;align-items:center;gap:8px;min-width:0;margin-bottom:.45rem;display:flex}.rv-accuracy-avatar{object-fit:cover;background:#3a3835;border-radius:4px;flex-shrink:0;width:24px;height:24px}.rv-player-icon{background:#3f3d3a;border-radius:5px;flex-shrink:0;place-items:center;width:2rem;height:2rem;display:grid;overflow:hidden}.rv-player-icon .cc-pawn-sm{height:18px}.rv-player-icon.you{background:var(--accent)}.rv-player-icon.you .cc-pawn{filter:brightness(0)invert()}.rv-player-name{font-size:.9rem;font-weight:700}.rv-player-acc{color:#b5b1ab;font-variant-numeric:tabular-nums;font-size:.78rem}.rv-player-acc.accent{color:var(--accent)}.rv-opening{margin-left:auto;font-size:.78rem}.rv-board-frame{align-items:stretch;gap:var(--rv-rail-gap,.35rem);width:100%;min-width:0;display:flex}.rv-board-slot{aspect-ratio:1;flex:auto;justify-content:center;align-items:center;min-width:0;display:flex}.rv-board-slot .board-wrap{aspect-ratio:1;flex:none;width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.rv-board-row .board-wrap{flex:none;max-width:none}.rv-eval-rail{width:var(--rv-rail-width,22px);background:#3f3d3a;border-radius:5px;flex-direction:column;flex-shrink:0;justify-content:flex-end;align-self:stretch;display:flex;position:relative;overflow:hidden}.rv-eval-fill{background:#ebecd0;width:100%;transition:height .25s}.rv-eval-label{text-align:center;color:#312e2b;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px;font-weight:700;position:absolute;bottom:4px;left:0;right:0}.rv-replay{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.rv-replay button{background:#3f3d3a;border-color:#3f3d3a;min-width:2.5rem;padding:.55rem .85rem;font-weight:700}.rv-replay button:hover:not(:disabled){border-color:var(--accent)}.rv-play-btn{background:var(--accent)!important;color:var(--accent-ink)!important;border-color:var(--accent)!important}.rv-replay-counter{color:#b5b1ab;font-variant-numeric:tabular-nums;margin-left:auto;font-size:.82rem}.rv-engine-eval{color:var(--ink-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.82rem}.rv-accuracy-card,.rv-panel-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.rv-accuracy-row{grid-template-columns:1fr 1fr;display:grid}.rv-accuracy-row .rv-accuracy+.rv-accuracy{border-left:1px solid var(--line)}.rv-panel-card{--rv-summary-center:10.25rem}.rv-summary-row{grid-template-columns:1fr var(--rv-summary-center) 1fr;display:grid}.rv-summary-center{justify-content:center;align-items:center;min-width:0;display:flex}.rv-panel-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.rv-accuracy{text-align:center;padding:.9rem 1.1rem}.rv-accuracy.you{background:#81b64c14}.rv-accuracy-name{color:#d8d4ce;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;overflow:hidden}.rv-accuracy-value{color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:800}.rv-accuracy-value.dim{color:#d8d4ce}.rv-panel-tab{appearance:none;color:#8b8987;font:inherit;cursor:pointer;text-align:center;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;margin:0;padding:.85rem .75rem;font-size:.88rem;font-weight:600}.rv-panel-tab:hover:not(:disabled){color:#d8d4ce;border:none;border-bottom:3px solid #8b898773}.rv-panel-tab.active{color:#e9e6e1;border:none;border-bottom:3px solid var(--accent)}.rv-panel-tab.active:hover:not(:disabled){border:none;border-bottom:3px solid var(--accent)}.rv-panel-body{min-height:0}.rv-classification{border-bottom:none}.rv-classification-table{padding:0}.rv-classification-row{border-bottom:1px solid #35332f}.rv-classification-row:last-child{border-bottom:none}.rv-category-label{background:#2b2926;border-left:1px solid #35332f;border-right:1px solid #35332f;justify-content:flex-start;gap:.45rem;padding:.35rem .85rem}.rv-classification-label{color:#f1f2f2;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;line-height:1.2;overflow:hidden}.rv-summary-player-col{place-items:center;padding:.35rem .5rem;display:grid}.rv-summary-player-col+.rv-summary-center,.rv-move-cell+.rv-summary-center,.rv-summary-center+.rv-summary-player-col,.rv-summary-center+.rv-move-cell{border-left:1px solid #35332f}.rv-classification-count{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700}.rv-classification-icon{flex-shrink:0;width:24px;height:24px;display:block}.rv-classification-toggle{color:#8b8987;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:100%;padding:.35rem 0;font-size:.75rem;display:flex}.rv-classification-toggle:hover{color:#d8d4ce}.rv-move-table{max-height:320px;overflow-y:auto}.rv-move-row{border-bottom:1px solid #35332f}.rv-move-row:last-child{border-bottom:none}.rv-move-row .rv-move-num{color:#95918d;background:#2b2926;padding:.55rem .35rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem}.rv-move-row .rv-move-cell{width:100%;min-width:0}.rv-move-cell{color:var(--ink);text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:.45rem;padding:.55rem .75rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.82rem;font-weight:600;display:flex}.rv-move-cell.empty{pointer-events:none;background:0 0}.rv-move-cell:hover{background:#7f7f7f1f}.rv-move-cell.active{color:var(--ink);background:#81b64c2e}.rv-quality-mark{flex-shrink:0;width:16px;height:16px;display:block}.rv-actions{gap:.5rem;display:flex}.rv-ghost-btn{color:var(--ink);text-align:center;background:#3f3d3a;border:1px solid #3f3d3a;border-radius:7px;flex:1;padding:.7rem;font-size:.82rem;font-weight:600}.rv-ghost-btn:hover:not(:disabled){border-color:var(--accent)}@keyframes review-scan-sweep{0%{transform:translateY(-100%)}to{transform:translateY(294%)}}.review-scan-overlay{z-index:96;background:#262421;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}.review-scan-float{pointer-events:none;filter:drop-shadow(0 10px 20px #0006);position:absolute}.review-scan-float.cc-pawn{height:auto}.review-scan-float-a{width:62px;animation:5.5s ease-in-out infinite home-float-a;top:10%;left:9%}.review-scan-float-b{width:46px;animation:7s ease-in-out .6s infinite home-float-b;top:22%;right:11%}.review-scan-float-c{width:54px;animation:6.4s ease-in-out 1.1s infinite home-float-c;bottom:14%;left:15%}.review-scan-float-d{width:76px;animation:8s ease-in-out .3s infinite home-float-d;bottom:20%;right:13%}.review-scan-inner{text-align:center;width:100%;max-width:480px;position:relative}.review-scan-brand{justify-content:center;align-items:center;gap:11px;margin-bottom:34px;display:flex}.review-scan-brand-icon{width:auto;height:30px}.review-scan-brand-name{letter-spacing:-.02em;color:#e9e6e1;font-size:21px;font-weight:800}.review-scan-board-wrap{width:268px;margin:0 auto 28px;position:relative}.review-scan-board{border-radius:8px;width:268px;height:268px;position:relative;overflow:hidden;box-shadow:0 20px 44px #00000080}.review-scan-board-grid{grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;height:100%;display:grid}.review-scan-board-grid .dash-feed-thumb-square{font-size:80cqw;line-height:1;container-type:size}.review-scan-sweep{pointer-events:none;background:linear-gradient(#81b64c00 0%,#81b64c57 78%,#81b64cd9 100%);height:34%;animation:2.1s linear infinite review-scan-sweep;position:absolute;top:0;left:0;right:0}.review-scan-board-ring{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #81b64c80}.review-scan-corner{pointer-events:none;width:20px;height:20px;position:absolute}.review-scan-corner-tl{border-top:2px solid #81b64c;border-left:2px solid #81b64c;top:8px;left:8px}.review-scan-corner-tr{border-top:2px solid #81b64c;border-right:2px solid #81b64c;top:8px;right:8px}.review-scan-corner-bl{border-bottom:2px solid #81b64c;border-left:2px solid #81b64c;bottom:8px;left:8px}.review-scan-corner-br{border-bottom:2px solid #81b64c;border-right:2px solid #81b64c;bottom:8px;right:8px}.review-scan-percent-badge{letter-spacing:-.02em;color:#e9e6e1;background:#262421;border:2px solid #81b64c;border-radius:50%;place-items:center;width:58px;height:58px;font-size:15px;font-weight:800;display:grid;position:absolute;top:-13px;right:-13px}.review-scan-title{letter-spacing:-.02em;color:#e9e6e1;margin:0;font-size:25px;font-weight:800}.review-scan-step{color:#a39f99;margin:8px 0 0;font-size:14px}.review-scan-progress-track{background:#3a3835;border-radius:4px;max-width:330px;height:7px;margin:24px auto 0;overflow:hidden}.review-scan-progress-fill{background:#81b64c;border-radius:4px;height:100%;transition:width .18s}.review-scan-meta{color:#a39f99;justify-content:center;align-items:center;gap:10px;margin-top:18px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;display:flex}.review-scan-meta-muted{color:#6f6b66}.review-scan-meta-eval{color:#81b64c}.review-scan-meta-dot{background:#4b4844;border-radius:50%;flex-shrink:0;width:4px;height:4px}.review-scan-foot{letter-spacing:.1em;text-transform:uppercase;color:#6f6b66;justify-content:center;gap:22px;margin-top:12px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;display:flex}.review-scan-cancel{color:#c9c5bf;cursor:pointer;background:#3f3d3a;border:none;border-radius:6px;margin-top:30px;padding:11px 26px;font-size:14px;font-weight:700;display:inline-flex}.review-scan-cancel:hover{background:#4b4844}@media (prefers-reduced-motion:reduce){.review-scan-sweep,.review-scan-float{animation:none}}.rv-progress-card{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;max-width:420px;margin:6rem auto 0;padding:2rem}.rv-progress-card h2{margin:0 0 .5rem;font-size:1.35rem}.rv-progress-detail{color:var(--ink-muted);margin:0 0 1rem}.rv-spinner{border:3px solid #4b4844;border-top-color:var(--accent);border-radius:50%;width:52px;height:52px;margin:0 auto 1.25rem;animation:.9s linear infinite rv-spin}@keyframes rv-spin{to{transform:rotate(360deg)}}@media (width<=900px){.home-hero{grid-template-columns:minmax(0,1fr)}.home-hero-art{min-height:16rem}.app-icon-hero{max-height:14rem}.home-mode-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){.home-screen{padding-top:1.5rem}.rv-screen{padding:.75rem 0}.rv-actions{flex-direction:column}}@media (prefers-reduced-motion:reduce){.home-float,.app-icon-hero{animation:none}.home-mode-card:hover{transform:none}}.mate-effect-layer{pointer-events:none;z-index:4;position:absolute;inset:0}.mate-effect{--mate-colour:#e02d26;--mate-disc:#a81b16;width:12.5%;height:12.5%;position:absolute}.mate-effect.winner{--mate-colour:#5c8a28;--mate-disc:#3d6118}.mate-wash{background:var(--mate-colour);opacity:0;animation:1.5s forwards mate-wash;position:absolute;inset:0}.mate-icon{color:#fff;filter:drop-shadow(0 1px 4px #0006);width:66%;height:66%;animation:.34s cubic-bezier(.2,.9,.3,1.5) .12s forwards mate-icon-pop,.38s cubic-bezier(.4,0,.2,1) 1.08s forwards mate-icon-tuck;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.mate-icon-disc{background:var(--mate-colour);box-shadow:inset 0 0 0 4% #fffffff2;opacity:0;border-radius:50%;animation:.3s 1.12s forwards mate-disc-in;position:absolute;inset:0}.mate-icon svg{width:80%;height:80%;position:absolute;top:10%;left:10%}.mate-text{background:var(--mate-colour);color:#fff;letter-spacing:.02em;white-space:nowrap;opacity:0;border-radius:999px;padding:.18em .6em;font-size:3.2cqw;font-weight:800;animation:1.18s cubic-bezier(.2,.9,.3,1.4) .12s forwards mate-text;position:absolute;bottom:104%;left:50%;transform:translate(-50%)translateY(25%)scale(.85);box-shadow:0 2px 6px #00000059}.mate-effect.tuck-top .mate-text{top:104%;bottom:auto}@keyframes mate-wash{0%{opacity:0}15%{opacity:.78}70%{opacity:.78}to{opacity:0}}@keyframes mate-disc-in{0%{opacity:0}to{opacity:1}}@keyframes mate-icon-pop{0%{transform:translate(-50%,-50%)scale(0)}70%{transform:translate(-50%,-50%)scale(1.14)}to{transform:translate(-50%,-50%)scale(1)}}@keyframes mate-icon-tuck{0%{top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}to{top:20.6%;left:79.4%;transform:translate(-50%,-50%)scale(.5333)}}@keyframes mate-text{0%{opacity:0;transform:translate(-50%)translateY(25%)scale(.85)}20%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}70%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-30%)scale(.9)}}@media (prefers-reduced-motion:reduce){.mate-wash{opacity:0;animation:none}.mate-icon{animation:none;top:20.6%;left:79.4%;transform:translate(-50%,-50%)scale(.5333)}.mate-icon-disc{opacity:1;animation:none}.mate-text{display:none}}.panel-head{align-items:center;gap:.5rem;margin-bottom:.7rem;display:flex}.panel-head h2{flex:1;min-width:0;margin:0}.panel-count{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:700}.panel-toggle{border:1px solid var(--line);min-width:0;color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.panel-toggle:hover{color:var(--ink);border-color:var(--accent)}.panel-empty{color:var(--ink-muted);margin:0;padding:.6rem 0;font-size:.84rem}.panel-disclosure{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:#7f7f7f0f;border-radius:8px;justify-content:space-between;align-items:center;padding:.5rem .6rem;font-size:.82rem;font-weight:700;display:flex}.panel-disclosure:hover{border-color:var(--accent)}.panel-disclosure-mark{color:var(--ink-muted);font-size:1rem;line-height:1}.settings{margin-top:.8rem}.dash-main .assist-layout .side-column{scrollbar-width:thin;scrollbar-color:#4a4744 transparent;align-self:start;max-height:calc(100dvh - 7rem);padding-right:4px;position:sticky;top:0;overflow-y:auto}.dash-main .assist-layout .side-column::-webkit-scrollbar{width:8px}.dash-main .assist-layout .side-column::-webkit-scrollbar-thumb{background:#4a4744;border-radius:4px}.dash-main .assist-layout .move-list{max-height:min(320px,100dvh - 30rem)}.explain-bubble{z-index:40;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:14px;flex-direction:column;width:min(340px,100vw - 2rem);max-height:min(60vh,520px);animation:.32s cubic-bezier(.2,.9,.3,1.3) both explain-bubble-in;display:flex;position:fixed;top:1rem;right:1rem;overflow:hidden;box-shadow:0 12px 30px #00000073}.explain-bubble-head{align-items:center;gap:.5rem;padding:.6rem .7rem .35rem .85rem;display:flex}.explain-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);flex:1;font-size:.7rem;font-weight:800}.explain-verdict{flex:1;font-size:.78rem;font-weight:800}.explain-verdict.good{color:#81b64c}.explain-verdict.bad{color:#ff7769}.explain-bubble-close{border:1px solid var(--line);min-width:0;color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:6px;padding:0 .4rem;font-size:.95rem;line-height:1.4}.explain-bubble-close:hover{color:var(--ink);border-color:var(--accent)}.explain-bubble-body{scrollbar-width:thin;padding:0 .85rem .8rem;font-size:.86rem;line-height:1.45;overflow-y:auto}.explain-move{margin:0 0 .35rem;font-size:1.35rem;font-weight:800;line-height:1.1}.explain-detail{margin:0 0 .45rem}.explain-concept{color:#b9d69a;background:#81b64c24;border-radius:999px;margin:0 0 .45rem;padding:.1rem .5rem;font-size:.76rem;display:inline-block}.explain-headline{margin:0 0 .4rem}.explain-bubble .reason-list{color:var(--ink-muted);margin:0 0 .5rem;padding-left:1.1rem;font-size:.82rem}.explain-eval{color:var(--ink-muted);margin:0;font-size:.8rem}@keyframes explain-bubble-in{0%{opacity:0;transform:translateY(-10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.explain-bubble{animation:none}}@media (width<=520px){.explain-bubble{width:auto;left:1rem;right:1rem}}.settings-label{letter-spacing:.14em;text-transform:uppercase;color:#8b8781;margin:1rem 0 .5rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px}.settings-label:first-child{margin-top:.9rem}.setting-row{border:1px solid var(--line);background:#262421;border-radius:8px;margin-bottom:8px;padding:12px 14px}.setting-row-head{justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:8px;display:flex}.setting-row-head label{color:var(--ink);margin:0;font-size:.86rem;font-weight:700}.setting-row-value{color:var(--accent);font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.8rem;font-weight:700}.setting-row input[type=range]{width:100%;margin:0}.setting-row-note{color:#8b8781;margin:8px 0 0;font-size:11px;line-height:1.45}.settings .review-modal-option{padding:11px 13px}.settings .review-modal-option-desc{font-size:11px}.dash-main .app-header{margin:0;padding:18px 24px 0}.dash-main .app-header .brand{display:none}.dash-main .assist-layout{margin-top:0;padding:18px 24px 16px}.dash-main .assist-layout .board-column{--assist-chrome:16rem;min-height:0}.dash-main .assist-layout .board-wrap,.dash-main .assist-layout .assist-board-row .board-wrap{max-width:min(620px, calc(100dvh - var(--assist-chrome)))}.dash-main .assist-layout .assist-board-row{justify-content:center}.dash-main .assist-layout .assist-board-row .board-wrap{flex:0 auto;width:100%}.dash-tab-skeleton{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:14px;padding:26px 24px;display:flex}.dash-skeleton-line{background:linear-gradient(90deg,#34322f 25%,#3f3d3a 50%,#34322f 75%) 0 0/240% 100%;border-radius:6px;width:70%;height:16px;animation:1.1s ease-in-out infinite dash-skeleton}.dash-skeleton-line.wide{width:100%;height:26px}.dash-skeleton-line.short{width:40%}@keyframes dash-skeleton{0%{background-position:120% 0}to{background-position:-20% 0}}@media (prefers-reduced-motion:reduce){.dash-skeleton-line{animation:none}}.board-piece{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%}.square-badge{color:#fff;cursor:pointer;z-index:3;border:.35cqw solid #ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:4.4cqw;min-width:18px;height:4.4cqw;min-height:18px;padding:0;font-size:2cqw;font-weight:700;line-height:1;display:flex;position:absolute;top:3%;right:3%;box-shadow:0 1px 4px #00000059}.square-badge.top-left{left:3%;right:auto}button.square-badge{cursor:pointer}button.square-badge:hover{border-color:#fff}span.square-badge{pointer-events:none}.square-badge.icon{width:5.6cqw;min-width:20px;height:5.6cqw;min-height:20px;box-shadow:none;border:none}.square-badge img{width:100%;height:100%;display:block}.square-badge>span{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.square-badge svg{width:64%;height:64%}.badge-popover{z-index:12;background:var(--surface);width:min(280px,88%);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:.75rem .9rem;font-size:.88rem;position:absolute;transform:translate(-50%)}.badge-details>:last-child{margin-bottom:0}.badge-verdict{margin:0 0 .4rem;line-height:1.5}.badge-swatch{vertical-align:-.3em;width:1.4rem;height:1.4rem;margin-right:.35rem;display:inline-block}.badge-problem,.badge-better{margin:0 0 .4rem}.badge-popover .reason-list{margin:0;font-size:.84rem}.badge-popover .reason-list li{margin-bottom:.25rem}.connect-modal-overlay{z-index:90;background:#0f0e0dc7;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.connect-modal{color:#e9e6e1;background:#302e2b;border:1px solid #3f3d3a;border-radius:14px;width:100%;max-width:430px;padding:1.875rem;box-shadow:0 24px 60px #00000080}.connect-modal-wordmark{width:auto;height:52px;margin-bottom:1.25rem;display:block}.connect-modal-title{letter-spacing:-.01em;margin:0;font-size:1.3rem;font-weight:800}.connect-modal-lead{color:#c4c0ba;margin:.5rem 0 0;font-size:.88rem;line-height:1.5}.connect-modal-label{letter-spacing:.12em;text-transform:uppercase;color:#b5b1ab;margin:1.35rem 0 .5rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem;font-weight:500;display:block}.connect-modal-input{color:#e9e6e1;width:100%;font:inherit;background:#262421;border:1px solid #4b4844;border-radius:8px;outline:none;padding:.8rem .875rem;font-size:.94rem}.connect-modal-input:focus{border-color:#81b64c}.connect-modal-input::placeholder{color:#7d7872}.connect-modal-error{color:#f5b3aa;background:#fa412d1f;border-radius:8px;margin:.75rem 0 0;padding:.65rem .75rem;font-size:.85rem}.connect-modal-error.spaced{margin-top:1rem}.connect-modal-actions{gap:.65rem;margin-top:1.35rem;display:flex}.connect-modal-primary,.connect-modal-secondary{font:inherit;cursor:pointer;border:none;border-radius:8px;padding:.8rem 1.25rem;font-size:.94rem;font-weight:700}.connect-modal-primary{color:#1d1c19;background:#81b64c;flex:1}.connect-modal-primary:hover:not(:disabled){filter:brightness(1.05)}.connect-modal-primary:disabled{opacity:.5;cursor:not-allowed}.connect-modal-primary.wide,.connect-modal-secondary.wide{width:100%}.connect-modal-secondary{color:#e9e6e1;background:#3f3d3a;font-weight:600}.connect-modal-secondary:hover:not(:disabled){filter:brightness(1.08)}.connect-modal-foot{text-align:center;color:#b5b1ab;margin:1.25rem 0 0;font-size:.78rem}.connect-modal-link{color:#c4c0ba;font:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.connect-modal-link:hover{color:#81b64c}.connect-modal-busy{text-align:center;padding:.875rem 0}.connect-modal-spinner{border:3px solid #4b4844;border-top-color:#81b64c;border-radius:50%;width:52px;height:52px;margin:0 auto 1.25rem;animation:.9s linear infinite rv-spin}.connect-modal-busy-title{margin:0;font-size:1.125rem;font-weight:700}.connect-modal-busy-step{color:#c4c0ba;margin:.65rem 0 0;font-size:.88rem}.connect-modal-dots{justify-content:center;gap:.4rem;margin-top:1.25rem;display:flex}.review-modal-overlay{z-index:95;opacity:0;background:#0f0e0dc7;justify-content:center;align-items:flex-start;padding:24px;transition:opacity .22s;display:flex;position:fixed;inset:0;overflow-y:auto}.review-modal-overlay.is-open{opacity:1}.review-modal-shell{color:#e9e6e1;opacity:0;background:#302e2b;border:1px solid #3f3d3a;border-radius:8px;width:100%;max-width:468px;margin:auto 0;transition:opacity .22s,transform .22s cubic-bezier(.16,1,.3,1);overflow:hidden;transform:translateY(10px)scale(.985);box-shadow:0 24px 60px #0000008c}.review-modal-overlay.is-open .review-modal-shell.is-open{opacity:1;transform:translateY(0)scale(1)}.review-setup-screen{box-sizing:border-box;min-height:100%;padding:28px 24px 64px;overflow-y:auto}.review-setup-page{color:#e9e6e1;max-width:664px;margin:0 auto}.review-setup-back{color:#b5b1ab;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin-bottom:22px;padding:0;font-size:.9rem;font-weight:700;display:inline-flex}.review-setup-back:hover{color:var(--accent)}.review-setup-head{align-items:center;gap:14px;margin-bottom:30px;display:flex}.review-setup-logo{flex-shrink:0}.review-setup-heading{min-width:0}.review-setup-title{letter-spacing:-.01em;margin:0;font-size:1.9rem;line-height:1.1}.review-setup-subtitle{color:#b5b1ab;margin:4px 0 0;font-size:.92rem}.review-setup-page .review-modal-game{background:0 0;border-radius:0;margin:0 0 26px;overflow:visible}.review-setup-page .review-modal-game-top{gap:16px;padding:0 0 16px}.review-setup-page .review-modal-thumb .dash-feed-thumb{border-radius:4px;width:76px;height:76px}.review-setup-page .review-modal-game-stats{border-top:1px solid #3a3835;border-bottom:1px solid #3a3835}.review-setup-page .review-modal-stat{padding:12px 14px}.review-setup-page .review-modal-stat:first-child{padding-left:0}.review-setup-page .review-modal-game-opening{border-top:none;padding:12px 0 0;font-size:.82rem}.review-setup-page .review-modal-options-label{margin-bottom:10px;padding:0}.review-setup-page .review-modal-options{flex-direction:column;gap:10px;padding:0;display:flex}.review-setup-page .review-modal-option{border-radius:8px;padding:14px 16px}.review-setup-page .review-modal-tip{padding:12px 0 0}.review-setup-page .review-modal-actions{margin-top:22px;padding:0}.review-setup-page .review-modal-start,.review-setup-page .review-modal-cancel{flex:none;min-width:96px;padding-left:26px;padding-right:26px}@media (width<=720px){.review-setup-screen{padding:22px 16px 48px}.review-setup-title{font-size:1.55rem}}@media (prefers-reduced-motion:reduce){.review-modal-overlay,.review-modal-shell{transition:none}}.review-modal-header{background:#262421;border-bottom:1px solid #3f3d3a;align-items:center;gap:12px;padding:18px 22px;display:flex}.review-modal-logo{flex-shrink:0;width:auto;height:26px}.review-modal-title{letter-spacing:-.01em;flex:1;margin:0;font-size:17px;font-weight:800}.review-modal-close{color:#8b8781;cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;width:26px;height:26px;padding:0;font-size:15px;line-height:1}.review-modal-close:hover{color:#e9e6e1;background:#3a3835}.review-modal-body{padding:20px 22px 22px}.review-modal-game{background:#262421;border-radius:6px;margin-bottom:0;overflow:hidden}.review-modal-game-top{align-items:center;gap:12px;padding:14px 15px;display:flex}.review-modal-thumb .dash-feed-thumb{border-radius:4px;width:78px;height:78px}.review-modal-thumb .dash-feed-thumb-square{font-size:80cqw;line-height:1;container-type:size}.review-modal-game-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.review-modal-player{align-items:center;gap:7px;min-width:0;font-size:13px;display:flex}.review-modal-piece{border-radius:2px;flex-shrink:0;width:9px;height:9px}.review-modal-piece.white{background:#ebecd0}.review-modal-piece.black{background:#4b4844}.review-modal-player-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.review-modal-player-rating{color:#8b8781;font-variant-numeric:tabular-nums;flex-shrink:0}.review-modal-player-delta{font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.review-modal-player-delta.gain{color:#81b64c}.review-modal-player-delta.loss{color:#fa412d}.review-modal-score-wrap{flex-shrink:0;align-items:center;gap:8px;display:flex}.review-modal-score{white-space:pre-line;color:#d8d4ce;text-align:right;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;line-height:1.3}.review-modal-score-badge{border-radius:3px;flex-shrink:0;width:15px;height:15px}.review-modal-score-badge.win{background:#81b64c}.review-modal-score-badge.loss{background:#fa412d}.review-modal-score-badge.draw{background:#989795}.review-modal-game-stats{border-top:1px solid #3a3835;grid-template-columns:repeat(4,1fr);display:grid}.review-modal-game-stats-single{grid-template-columns:repeat(2,minmax(0,1fr))}.review-modal-stat{border-right:1px solid #3a3835;flex-direction:column;gap:3px;min-width:0;padding:10px 12px;display:flex}.review-modal-stat:last-child{border-right:none}.review-modal-stat-wide{border-top:1px solid #3a3835;border-right:none;grid-column:1/-1}.review-modal-stat-label{letter-spacing:.1em;text-transform:uppercase;color:#6f6b66;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;display:block}.review-modal-stat-value{color:#e9e6e1;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;display:block;overflow:hidden}.review-modal-game-opening{color:#8b8781;border-top:1px solid #3a3835;margin:0;padding:9px 15px;font-size:12px}.review-modal-game-compact{margin-bottom:0}.review-modal-options-label{letter-spacing:.14em;text-transform:uppercase;color:#8b8781;margin:20px 0 10px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px}.review-modal-options{flex-direction:column;gap:7px;display:flex}.review-modal-option{cursor:pointer;text-align:left;background:#262421;border:1px solid #3f3d3a;border-radius:6px;align-items:center;gap:13px;width:100%;padding:13px 15px;display:flex}.review-modal-option.is-selected{background:#81b64c1f;border-color:#81b64c}.review-modal-option-dot{border:2px solid #5c5852;border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;display:grid}.review-modal-option.is-selected .review-modal-option-dot{border-color:#81b64c}.review-modal-option-dot-fill{background:0 0;border-radius:50%;width:8px;height:8px}.review-modal-option.is-selected .review-modal-option-dot-fill{background:#81b64c}.review-modal-option-body{flex:1;min-width:0}.review-modal-option-label{color:#c9c5bf;font-size:14px;font-weight:700;display:block}.review-modal-option.is-selected .review-modal-option-label{color:#e9e6e1}.review-modal-option-desc{color:#8b8781;margin-top:2px;font-size:12px;line-height:1.35;display:block}.review-modal-option-time{color:#a39f99;white-space:nowrap;flex-shrink:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.review-modal-tip{color:#8b8781;align-items:center;gap:8px;margin:14px 0 0;font-size:12px;line-height:1.45;display:flex}.review-modal-tip-icon{flex-shrink:0;display:block}.review-modal-actions{gap:9px;margin-top:20px;display:flex}.review-modal-start,.review-modal-cancel{cursor:pointer;border:none;border-radius:6px;padding:13px;font-weight:800}.review-modal-start{color:#1d1c19;text-align:center;background:#81b64c;flex:1;font-size:15px;box-shadow:0 3px #5b8a35}.review-modal-start:hover:not(:disabled){background:#8fc65a}.review-modal-start:disabled{opacity:.55;cursor:not-allowed}.review-modal-cancel{color:#c9c5bf;text-align:center;background:#3f3d3a;padding:13px 22px;font-size:15px;font-weight:700}.review-modal-cancel:hover{background:#4b4844}@media (width<=520px){.review-modal-overlay{padding:16px}.review-modal-body{padding:16px 18px 18px}.review-modal-game-stats{grid-template-columns:repeat(2,1fr)}.review-modal-stat:nth-child(2n){border-right:none}.review-modal-stat:nth-child(n+3){border-top:1px solid #3a3835}.review-modal-actions{flex-direction:column}.review-modal-cancel{width:100%}}.connect-dot{background:#4b4844;border-radius:50%;width:7px;height:7px}.connect-dot.active{background:#81b64c}.import-panel{max-width:560px}.import-panel-card{background:var(--cc-panel);border:1px solid var(--cc-line);border-radius:16px;margin:0 auto;padding:1.5rem;box-shadow:0 16px 40px #0000002e}.import-panel-title{color:var(--ink);margin:0;font-size:1.35rem;font-weight:800}.import-panel-lead{color:var(--ink-muted);margin:.5rem 0 1.25rem;font-size:.9rem;line-height:1.5}.import-panel .cc-connect-form input{border-color:var(--cc-line);color:var(--cc-ink);background:#1f1d1b}.import-panel .cc-connect-form input::placeholder{color:#7d7872}.dash-restore{color:#c4c0ba;background:#262421;place-items:center;gap:14px;min-height:100vh;padding:2rem;display:grid}.dash-restore p{margin:0;font-size:.95rem;font-weight:600}.app.app-dashboard{max-width:none;padding:0}.dash-shell{color:#e9e6e1;background:#262421;grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.dash-sidebar{background:#21201d;border-right:1px solid #3a3835;flex-direction:column;height:100vh;padding:22px 0;display:flex;position:sticky;top:0}.dash-sidebar-brand{letter-spacing:-.02em;align-items:center;gap:10px;padding:0 20px 24px;font-size:1.2rem;font-weight:800;display:flex}.dash-sidebar-nav{flex-direction:column;gap:4px;padding:0 12px;display:flex}.dash-nav-item{color:#c4c0ba;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;font-size:.88rem;font-weight:600;display:flex}.dash-nav-item:hover{color:#e9e6e1;background:#2b2926}.dash-nav-item.active{color:#e9e6e1;background:#3a3835}.dash-nav-icon{flex-shrink:0;width:20px;height:20px;display:block}.dash-sidebar-foot{margin-top:auto;padding:0 12px}.dash-user-chip{background:#2b2926;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;display:flex}.dash-user-chip-avatar{object-fit:cover;background:#3a3835;border-radius:5px;flex-shrink:0;width:28px;height:28px;display:block}.dash-user-chip-name{color:#e9e6e1;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:600;overflow:hidden}.dash-logout{color:#c4c0ba;width:100%;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;margin-top:8px;padding:12px 14px;font-size:.88rem;font-weight:600;display:flex}.dash-logout:hover{color:#fa412d;background:#2b2926}.dash-logout-icon{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;width:18px;height:18px}.dash-main{min-width:0;position:relative}.dash-main .rv-screen{height:100dvh;min-height:0;padding:0}.dash-main .rv-layout{justify-content:center;align-items:stretch;gap:var(--rv-column-gap);box-sizing:border-box;width:100%;min-width:0;height:100%;padding:0 1.5rem;display:flex}.dash-main .rv-board-column{min-width:0;height:100%;min-height:0;padding:.75rem 0}.dash-main .rv-side-column{flex:0 0 var(--rv-side-width);width:var(--rv-side-width);min-width:0;max-height:100%;padding:.75rem 0;overflow-y:auto}.dash-main .review-scan-overlay{left:236px}@media (width<=980px){.dash-main .review-scan-overlay{left:0}}.dash-page{max-width:1240px;margin:0 auto;padding:26px 28px 90px}.dash-profile-card,.dash-rating-card,.dash-history-card,.dash-empty-card{background:#302e2b;border-radius:10px;overflow:hidden}.dash-profile-head{align-items:flex-start;gap:22px;padding:24px;display:flex}.dash-profile-avatar{background:#d4d0cb;border-radius:6px;flex-shrink:0;place-items:center;width:132px;height:132px;display:grid;overflow:hidden}.dash-profile-avatar img{object-fit:cover;width:100%;height:100%;display:block}.dash-profile-copy{flex:1;min-width:0}.dash-profile-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dash-profile-name{letter-spacing:-.01em;margin:0;font-size:1.65rem;font-weight:800}.dash-profile-flag{object-fit:cover;border-radius:2px;flex-shrink:0}.dash-profile-badge{color:#c4c0ba;background:#3f3d3a;border-radius:4px;padding:3px 8px;font-size:.68rem;font-weight:600}.dash-profile-real-name{color:#c4c0ba;margin:6px 0 0;font-size:.94rem}.dash-profile-status{color:#95918d;margin:6px 0 0;font-size:.82rem}.dash-profile-status.muted{color:#95918d}.dash-profile-meta{color:#b5b1ab;flex-wrap:wrap;gap:16px;margin-top:26px;font-size:.75rem;display:flex}.dash-profile-meta strong{color:#e9e6e1;font-weight:600}.dash-online{color:#81b64c;font-weight:600}.dash-profile-action{color:#e9e6e1;font:inherit;cursor:pointer;background:#3f3d3a;border:none;border-radius:6px;align-self:flex-start;padding:9px 16px;font-size:.82rem;font-weight:600}.dash-profile-action:hover{background:#4b4844}.dash-tabs{border-top:1px solid #3a3835;flex-shrink:0;gap:6px;padding:0 24px;display:flex;overflow-x:auto}.dash-tab{appearance:none;color:#b5b1ab;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;margin:0;padding:15px 12px;font-size:.88rem;font-weight:600}.dash-tab:hover:not(:disabled){border:none;border-bottom:3px solid #8b878173}.dash-tab.active{color:#e9e6e1;border:none;border-bottom:3px solid #81b64c}.dash-tab.active:hover:not(:disabled){border:none;border-bottom:3px solid #81b64c}.dash-rating-card{margin-top:18px;padding:20px 22px}.dash-rating-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.dash-rating-cards .dash-rating-card{margin-top:0}.dash-rating-cards .dash-rating-card:only-child{grid-column:1/-1}.dash-rating-head{align-items:center;gap:12px;display:flex}.dash-mode-icon{flex-shrink:0;width:34px;height:34px;display:block}.dash-rating-label{color:#b5b1ab;font-size:.75rem}.dash-rating-value-row{align-items:baseline;gap:8px;margin-top:2px;display:flex}.dash-rating-value{font-size:1.5rem;font-weight:800;line-height:1}.dash-rating-record{color:#81b64c;font-size:.82rem;font-weight:600}.dash-rating-chart-wrap{margin-top:14px;position:relative}.dash-rating-tooltip{color:#fff;pointer-events:none;white-space:nowrap;z-index:2;background:#6f9fd8;border-radius:4px;padding:2px 6px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;font-weight:700;line-height:1.2;position:absolute;top:-6px;transform:translate(-50%,-100%)}.dash-rating-chart{cursor:crosshair;background:#3a3835;border-radius:4px;width:100%;height:70px;display:block;overflow:visible}.dash-rating-chart.empty{cursor:default;place-items:center;min-height:70px;margin-top:14px;padding:0 1rem;display:grid}.dash-rating-chart-empty{color:#b5b1ab;text-align:center;font-size:.78rem}.dash-rating-line{filter:drop-shadow(0 0 4px #6f9fd859)}.dash-rating-area{opacity:.9}.dash-rating-dot{vector-effect:non-scaling-stroke;transition:r .12s,opacity .12s}.dash-rating-dot.hidden{opacity:0}.dash-rating-dot.active{opacity:1;animation:.2s ease-out both dash-rating-dot-in}.dash-rating-hit{fill:#0000;pointer-events:all}@keyframes dash-rating-dot-in{0%{opacity:0;r:0}to{opacity:1;r:3.5}}.dash-rating-delta{font-size:.82rem;font-weight:600}.dash-rating-delta.up{color:#81b64c}.dash-rating-delta.down{color:#fa412d}.dash-rating-delta.flat{color:#c4c0ba}@media (prefers-reduced-motion:reduce){.dash-rating-line{stroke-dashoffset:0!important;stroke-dasharray:none!important;transition:none!important}.dash-rating-dot{opacity:1;animation:none}}.dash-history-card{margin-top:18px}.dash-history-title{margin:0;padding:16px 22px;font-size:1.05rem;font-weight:700}.dash-history-table{flex-direction:column;display:flex}.dash-history-row{grid-template-columns:72px minmax(0,1.6fr) 72px 92px 64px minmax(100px,1fr);align-items:center;gap:.5rem;padding:9px 22px;display:grid}.dash-history-row.head{color:#dcd8d2;background:#2b2926;font-size:.75rem;font-weight:600}.dash-history-row.body{border-top:1px solid #3a3835;padding-top:12px;padding-bottom:12px}.dash-history-mode{color:#dcd8d2;text-align:center;flex-direction:column;align-items:center;gap:4px;font-size:.68rem;font-weight:700;line-height:1.2;display:flex}.dash-history-mode .dash-mode-icon{width:26px;height:26px}.dash-history-players,.dash-feed-players{flex-direction:column;gap:5px;min-width:0;display:flex}.dash-player-line{align-items:center;gap:7px;min-width:0;font-size:.82rem;display:flex}.dash-player-avatar{object-fit:cover;background:#3a3835;border-radius:4px;flex-shrink:0;width:24px;height:24px}.dash-piece-dot{border-radius:2px;flex-shrink:0;width:9px;height:9px}.dash-piece-dot.white{background:#ebecd0}.dash-piece-dot.black{background:#312e2b;box-shadow:inset 0 0 0 1px #81b64c}.dash-player-you{font-weight:700}.dash-player-rating{color:#b5b1ab;font-variant-numeric:tabular-nums}.country-flag{object-fit:cover;border-radius:2px;flex-shrink:0;display:block}.country-flag.sm{width:18px;height:13px}.country-flag.md{width:22px;height:16px}.dash-history-result,.dash-feed-result{align-items:center;gap:8px;display:flex}.dash-result-lines{flex-direction:column;gap:5px;display:flex}.dash-result-line{align-items:center;gap:8px;display:flex}.dash-result-badge{border-radius:3px;flex-shrink:0;place-items:center;width:15px;height:15px;font-size:.62rem;font-weight:800;line-height:1;display:grid}.dash-result-badge.outcome-win{color:#1d1c19;background:#81b64c}.dash-result-badge.outcome-loss{color:#fff;background:#fa412d}.dash-result-badge.outcome-draw{color:#1d1c19;background:#ef9f27}.dash-score{color:#d8d4ce;white-space:pre-line;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.82rem;line-height:1.3}.dash-result-dot{border-radius:3px;flex-shrink:0;width:15px;height:15px}.dash-result-dot.outcome-win{background:#81b64c}.dash-result-dot.outcome-loss{background:#fa412d}.dash-result-dot.outcome-draw{background:#ef9f27}.dash-history-accuracy{align-items:center;display:flex}.dash-history-moves{color:#dcd8d2;font-size:.82rem}.dash-history-date{color:#d4d0ca;font-size:.75rem}.dash-review-btn{color:#e9e6e1;font:inherit;cursor:pointer;white-space:nowrap;background:#4b4844;border:none;border-radius:5px;padding:7px 13px;font-size:.75rem;font-weight:700}.dash-review-btn:hover:not(:disabled){color:#1d1c19;background:#81b64c}.dash-review-btn:disabled{opacity:.6;cursor:not-allowed}.dash-games-card{overflow:hidden}.dash-games-subtabs{border-bottom:1px solid #3a3835;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 22px;display:flex}.dash-games-subtab-board{background:#262421;border:1px solid #3a3835;border-radius:10px;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;display:flex}.dash-games-subtab{font:inherit;color:#b5b1ab;cursor:pointer;background:0 0;border:none;border-radius:7px;margin:0;padding:7px 14px;font-size:.82rem;font-weight:600;transition:background .15s,color .15s}.dash-games-subtab.active{color:#e9e6e1;background:#3f3d3a;box-shadow:inset 0 0 0 1px #4b4844}.dash-games-subtab:hover:not(.active){color:#dcd8d2;background:#3f3d3a8c}.dash-games-search{color:#b5b1ab;cursor:pointer;background:0 0;border:none;border-radius:8px;margin-left:auto;padding:8px;line-height:0}.dash-games-search:hover{color:#dcd8d2;background:#3a3835}.dash-games-toolbar{color:#b5b1ab;border-bottom:1px solid #3a3835;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 22px;font-size:.82rem;display:flex}.dash-games-toolbar-left{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.dash-games-toolbar-right{align-items:center;gap:12px;display:flex}.dash-games-sort{font:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;display:inline-flex}.dash-games-sort:hover{color:#dcd8d2}.dash-games-manual{font:inherit;color:#95918d;cursor:pointer;background:0 0;border:none;margin-right:4px;padding:0;font-size:.75rem;text-decoration:underline}.dash-games-manual:hover{color:#dcd8d2}.dash-games-tool-btn{color:#95918d;cursor:default;font-size:.95rem;line-height:1}.dash-games-tool-btn.active{color:#dcd8d2}.dash-games-count{color:#e9e6e1;font-weight:700}.dash-link-btn{color:#c4c0ba;font:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;text-decoration:underline}.dash-link-btn:hover{color:#81b64c}.dash-games-feed{flex-direction:column;min-height:120px;display:flex}.dash-games-loading{color:#d4d0ca;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 22px 56px;font-size:.88rem;display:flex}.dash-games-spinner{border:3px solid #4b4844;border-top-color:#81b64c;border-radius:50%;width:36px;height:36px;animation:.9s linear infinite rv-spin}.dash-feed-row{border-top:1px solid #3a3835;grid-template-columns:148px 60px minmax(0,1fr) 56px 88px minmax(92px,108px);align-items:center;gap:14px;padding:16px 22px;display:grid}.dash-feed-thumb{border-radius:4px;flex-shrink:0;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:148px;height:148px;display:grid;overflow:hidden}.dash-feed-thumb-empty{background:#3a3835}.dash-feed-thumb-square{place-items:center;font-size:15px;line-height:1;display:grid}.dash-feed-mode{color:#dcd8d2;text-align:center;flex-direction:column;align-items:center;gap:3px;font-size:.62rem;font-weight:700;display:flex}.dash-feed-mode .dash-mode-icon{width:26px;height:26px}.dash-feed-main{flex-direction:column;gap:7px;min-width:0;display:flex}.dash-feed-players{flex-direction:column;gap:5px;min-width:0;display:flex}.dash-feed-meta{color:#d4d0ca;flex-wrap:wrap;align-items:center;font-size:.75rem;display:flex}.dash-feed-meta>span:not(:first-child):before{content:"·";color:#95918d;margin:0 10px}.dash-feed-meta-opening{align-items:center;gap:6px;display:inline-flex}.dash-feed-meta-icon{color:#95918d;flex-shrink:0}.dash-feed-result{place-self:center}.dash-feed-review{justify-content:center;align-items:center;display:flex}.dash-feed-review .dash-review-btn{text-align:center;width:100%}.dash-feed-date{color:#d4d0ca;white-space:nowrap;align-self:center;font-size:.75rem}.dash-rating-delta{font-variant-numeric:tabular-nums;margin-left:2px;font-size:.82rem;font-weight:700}.dash-rating-delta.gain{color:#81b64c}.dash-rating-delta.loss{color:#fa412d}.dash-empty,.dash-error{color:#b5b1ab;margin:0;padding:1.5rem 22px}.dash-error{color:#f5b3aa;background:#fa412d1f;border-radius:8px;margin-top:1rem;padding:.85rem 1rem}.dash-empty-card{text-align:center;margin-top:18px;padding:54px 22px 60px}.dash-empty-icon{color:#4b4844;font-size:5.75rem;line-height:1}.dash-empty-card h2{margin:18px 0 0;font-size:.94rem}.dash-empty-card p{color:#b5b1ab;margin:6px 0 0;font-size:.82rem}.dash-panel{background:#302e2b;border-radius:10px;margin-top:18px;overflow:hidden}.dash-panel-title{margin:0;font-size:1.05rem;font-weight:700}.dash-panel-title.padded{padding:16px 22px}.dash-panel-head{justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;display:flex}.dash-panel-meta{color:#b5b1ab;font-size:.75rem}.dash-stats-page{margin-top:0}.dash-stats-filter-bar{background:#3a3835;border-radius:10px;grid-template-columns:1fr 1fr 2fr;gap:1px;margin-top:18px;display:grid;overflow:hidden}.dash-stats-filter{color:#b5b1ab;background:#302e2b;padding:16px 20px;font-size:.88rem;font-weight:600}.dash-stats-filter.active{color:#e9e6e1}.dash-stats-table{flex-direction:column;display:flex}.dash-stats-row{grid-template-columns:1.4fr repeat(5,minmax(56px,1fr));align-items:center;gap:10px;padding:16px 22px;display:grid}.dash-stats-row.head{color:#b5b1ab;background:#2b2926;padding-top:10px;padding-bottom:10px;font-size:.75rem;font-weight:600}.dash-stats-row.body{border-top:1px solid #3a3835}.dash-stats-row .num{text-align:right}.dash-stats-type{align-items:center;gap:12px;min-width:0;font-size:.94rem;font-weight:700;display:flex}.dash-stats-type .dash-mode-icon{flex-shrink:0;width:30px;height:30px}.dash-stats-rating{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.dash-stats-rating strong{font-size:.94rem}.dash-stats-num{color:#c4c0ba;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.82rem}.dash-stats-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.dash-stat-card{background:#302e2b;border-radius:10px;padding:20px 22px}.dash-stat-card-label{color:#b5b1ab;font-size:.75rem}.dash-stat-card-value{margin-top:6px;font-size:1.75rem;font-weight:800;line-height:1.1}.dash-stat-card-value.win{color:#81b64c}.dash-training-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;padding:0 22px 22px;display:grid}.dash-training-card{background:#2b2926;border-radius:8px;padding:16px 18px}.dash-training-card h3{margin:0 0 8px;font-size:.94rem}.dash-training-card p{margin:0;font-size:.82rem}.dash-training-card p+p{margin-top:4px}.dash-training-card .muted{color:#b5b1ab}.dash-empty-state{text-align:center;padding:54px 22px 60px}.dash-empty-state.compact{padding:40px 0 24px}.dash-empty-state h3{margin:18px 0 0;font-size:.94rem}.dash-empty-state p{color:#b5b1ab;max-width:420px;margin:6px auto 0;font-size:.82rem}.dash-empty-icon.rook{font-size:5.75rem}.dash-awards-page{grid-template-columns:max-content 300px;align-items:start;gap:18px;width:fit-content;max-width:100%;display:grid}.dash-awards-main{flex-direction:column;gap:18px;width:max-content;max-width:100%;display:flex}.dash-awards-main .dash-panel{width:max-content;max-width:100%}.dash-awards-section-arrow{color:#95918d;font-size:1.1rem;line-height:1}.dash-awards-grid,.dash-books-grid,.dash-passports-grid{box-sizing:border-box;grid-template-columns:repeat(4,146px);gap:2rem;width:fit-content;max-width:100%;padding:4px 22px 26px;display:grid}.dash-award-tile,.dash-book-card,.dash-passport-card{text-align:center;width:146px}.dash-award-image,.dash-book-cover,.dash-passport-stamp{object-fit:cover;background:#3a3835;width:146px;height:146px}.dash-award-image{border-radius:14px}.dash-book-cover{border-radius:10px}.dash-passport-stamp{object-fit:contain;margin:0 auto;display:block}.dash-award-image.placeholder,.dash-book-cover.placeholder,.dash-passport-stamp.placeholder{color:#95918d;place-items:center;font-size:4.25rem;display:grid}.dash-passport-stamp.placeholder{border-radius:10px;font-size:3rem}.dash-award-label,.dash-book-label,.dash-passport-label{color:#c4c0ba;margin-top:12px;font-size:.8125rem}.dash-awards-summary{margin:0;padding:0;list-style:none}.dash-awards-summary-row{color:#dcd8d2;border-top:1px solid #3a3835;align-items:center;gap:10px;padding:12px 20px;font-size:.88rem;display:flex}.dash-awards-summary-arrow{color:#95918d}.dash-clubs-list{margin:0;padding:0;list-style:none}.dash-club-row{color:inherit;border-top:1px solid #3a3835;align-items:center;gap:14px;padding:16px 22px;text-decoration:none;display:flex}.dash-club-row:hover{background:#35332f}.dash-club-icon{background:#3a3835;border-radius:8px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid;overflow:hidden}.dash-club-icon img{object-fit:cover;width:100%;height:100%}.dash-club-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.dash-club-copy strong{font-size:.94rem}.dash-club-meta{color:#b5b1ab;font-size:.75rem}.dash-club-arrow{color:#95918d;margin-left:auto;font-size:1.1rem}.dash-clubs-cta{color:#e9e6e1;background:#3f3d3a;border-radius:6px;margin-top:18px;padding:10px 16px;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-block}.dash-clubs-cta:hover{background:#4b4844}@media (width<=980px){.dash-shell{grid-template-columns:1fr}.dash-sidebar{border-bottom:1px solid #3a3835;border-right:none;height:auto;position:static}.dash-sidebar-foot{margin-top:0}.dash-history-row{grid-template-columns:1fr;gap:.75rem}.dash-history-row.head{display:none}.dash-feed-row{grid-template-columns:148px 60px minmax(0,1fr);grid-template-areas:"thumb mode main""result review date";gap:12px}.dash-feed-thumb{grid-area:thumb}.dash-feed-mode{grid-area:mode}.dash-feed-main{grid-area:main}.dash-feed-result{grid-area:result;justify-self:start}.dash-feed-review{grid-area:review}.dash-feed-date{grid-area:date}.dash-feed-review .dash-review-btn{width:auto}.dash-awards-page{grid-template-columns:1fr;width:100%}.dash-rating-cards{grid-template-columns:1fr}.dash-awards-main,.dash-awards-main .dash-panel{width:100%;max-width:100%}.dash-awards-grid,.dash-books-grid,.dash-passports-grid{grid-template-columns:repeat(2,146px);width:fit-content}.dash-stats-summary{grid-template-columns:1fr}.dash-stats-row{grid-template-columns:1fr;gap:8px}.dash-stats-row.head{display:none}}@media (width<=720px){.dash-page{padding:18px 16px 60px}.dash-profile-head{flex-direction:column}.dash-profile-action{align-self:stretch}}@media (width<=980px){.dash-sidebar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:10px 14px;display:grid}.dash-sidebar-brand{padding:0;font-size:1.05rem}.dash-sidebar-nav{scrollbar-width:none;flex-direction:row;grid-column:1/-1;gap:8px;padding:0;overflow-x:auto}.dash-sidebar-nav::-webkit-scrollbar{display:none}.dash-nav-item{white-space:nowrap;flex:none;width:auto;padding:8px 12px}.dash-sidebar-foot{grid-area:1/2;align-items:center;gap:8px;margin-top:0;padding:0;display:flex}.dash-user-chip{padding:4px 8px}.dash-user-chip-name{display:none}.rv-layout,.dash-main .rv-layout{flex-direction:column;align-items:stretch;gap:1rem;padding:0 12px 24px;overflow-y:auto}.rv-screen,.dash-main .rv-screen{height:auto;min-height:0}.rv-board-column,.dash-main .rv-board-column{width:100%;height:auto;padding:12px 0 0}.rv-board-stack{width:100%;max-height:none}.rv-side-column,.dash-main .rv-side-column{flex:auto;width:100%;max-height:none;padding:0 0 12px;overflow:visible}.dash-main .assist-layout{grid-template-columns:minmax(0,1fr);padding:12px 14px 28px}.dash-main .assist-layout .board-wrap,.dash-main .assist-layout .assist-board-row .board-wrap{max-width:min(100%,560px)}.dash-main .assist-layout .side-column{max-height:none;padding-right:0;position:static;overflow:visible}.dash-main .app-header{padding:12px 14px 0}}@media (width<=640px){.dash-page{padding:16px 12px 64px}.dash-profile-head{flex-direction:column;gap:14px}.dash-tabs{scrollbar-width:none;overflow-x:auto}.dash-tabs::-webkit-scrollbar{display:none}.dash-tab{white-space:nowrap;flex:none}.dash-rating-cards{grid-template-columns:minmax(0,1fr)}.dash-history-row.body{grid-template-columns:56px minmax(0,1fr) auto;grid-template-areas:"mode players result""mode moves date""review review review";row-gap:8px;padding:12px 14px}.dash-history-mode{grid-area:mode}.dash-history-players{grid-area:players}.dash-history-result{grid-area:result}.dash-history-moves{grid-area:moves}.dash-history-date{grid-area:date}.dash-history-accuracy{grid-area:review}.dash-history-accuracy .dash-review-btn{width:100%}.app-header{flex-wrap:wrap;gap:8px}.header-actions{flex-wrap:wrap;gap:6px}.header-actions button{padding:.4rem .6rem;font-size:.82rem}.review-modal-overlay{padding:12px}.review-modal-shell{max-width:none}.review-modal-game-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.review-modal-actions{flex-direction:column-reverse}.review-modal-actions button{width:100%}.review-setup-page .review-modal-start,.review-setup-page .review-modal-cancel{flex:auto}.rv-replay button{min-width:2.1rem;padding:.45rem .6rem}.rv-replay-counter{font-size:.75rem}.rv-panel-card{--rv-summary-center:7.5rem}}
