:root,[data-theme=dark]{--success:#66bb6a;--warning:#ffa726;--danger:#ef5350;--mark-inaccuracy:#ffd60a;--mark-mistake:#f97924;--mark-blunder:#e72330;--mark-good-move:#21c43a;--tree-add:#a8d5ab;--tree-remove:#e0a37e;--tree-reevaluate:#8fbfe0;--ai:#629924;--title:#de9621;--second-try:#ffa726;--second-try-ink:var(--bg-secondary);--surf-board:#857bbe;--surf-training:#f7afe8;--surf-quiz:#1d94b7;--surf-summary:#bdb962;--surf-analysis:#5b9574;--logo-chess:var(--logo-knight-white);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--success:#2e7d32;--warning:#e65100;--danger:#c62828;--mark-inaccuracy:#b38900;--mark-mistake:#d75c09;--mark-blunder:#bb1b2b;--mark-good-move:#168326;--tree-add:#3f8f46;--tree-remove:#b8612f;--tree-reevaluate:#2f7fb5;--ai:#4b7a1c;--title:#a97219;--second-try:#e69900;--second-try-ink:var(--text-primary);--surf-board:#3d5084;--surf-training:#b06fa7;--surf-quiz:#007590;--surf-summary:#80885f;--surf-analysis:#00633c;--logo-chess:var(--logo-knight-black);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root,[data-theme=dark]{--bg-primary:#181612;--bg-secondary:#1e1c18;--bg-surface:#262420;--border:#373530;--text-primary:#dfdedb;--text-secondary:#a6a4a0;--text-heading:#f1f0ee;--accent:#4693f1;--accent-hover:#67a7f8;--avatar-bg:#3b6aa6;--run-done-tint:#4693f11a}[data-theme=light]{--bg-primary:#f4f3f1;--bg-secondary:#fefdfd;--bg-surface:#e9e8e6;--border:#d6d5d2;--text-primary:#24211d;--text-secondary:#65635e;--text-heading:#110f0b;--accent:#1467c2;--accent-hover:#0056aa;--avatar-bg:#3b6aa6;--run-done-tint:#4693f11a}[data-skin=pizarra][data-theme=dark]{--bg-primary:#10141a;--bg-secondary:#161b21;--bg-surface:#1e2329;--border:#2d333b;--text-primary:#dbdee3;--text-secondary:#a0a5ac;--text-heading:#eef0f3;--accent:#b48df4;--accent-hover:#c4a4fd;--avatar-bg:#73599e;--run-done-tint:#b48df41a}[data-skin=pizarra][data-theme=light]{--bg-primary:#f1f4f7;--bg-secondary:#fdfdfe;--bg-surface:#e6e9ed;--border:#d1d5da;--text-primary:#1d2229;--text-secondary:#5e646b;--text-heading:#0b1016;--accent:#724aab;--accent-hover:#613897;--avatar-bg:#73599e;--run-done-tint:#b48df41a}[data-skin=papel][data-theme=dark]{--bg-primary:#1a1916;--bg-secondary:#21201c;--bg-surface:#292824;--border:#3a3935;--text-primary:#dfdedb;--text-secondary:#a5a5a1;--text-heading:#f0f0ee;--accent:#00aeae;--accent-hover:#3ec0c0;--avatar-bg:#007879;--run-done-tint:#00aeae1a}[data-skin=papel][data-theme=light]{--bg-primary:#f4f3f2;--bg-secondary:#fdfdfd;--bg-surface:#e9e8e6;--border:#d5d5d2;--text-primary:#23221e;--text-secondary:#64635f;--text-heading:#100f0c;--accent:#006969;--accent-hover:#005656;--avatar-bg:#007879;--run-done-tint:#00aeae1a}:root{--arrow:#68b5d5;--arrow-best:#2ecc71;--arrow-wrong:#e74c3c;--arrow-preview:#f0a04b;--side-white:#f0f0f0;--side-black:#1a1a1a;--side-black-ink:#e0e0e0;--side-black-edge:#444;--side-black-outline:#555;--side-black-fill:#2a2a2a;--side-black-glyph:#333;--side-black-halo:#ffffff26;--prep-dot-white:#aaa;--prep-dot-black:#444;--results-white:#e8e8e8;--results-draw:#888;--results-black:#333;--eval-them-crushing:#b71c1c;--eval-them-winning:#f44336;--eval-them-clear:#ff9800;--eval-them-slight:#a78d67;--eval-equal:#8a8a8a;--eval-us-slight:#819682;--eval-us-clear:#66bb6a;--eval-us-winning:#2e7d32;--eval-us-crushing:#1b5e20;--shadow:#0000004d;--shadow-strong:#00000059;--shadow-soft:#00000026;--veil:#0009;--veil-strong:#000c;--veil-soft:#00000040;--graph-midline:#8080808c;--graph-hover:#ffffff1f;--on-color:#fff;--logo-brand:#2a80e2;--logo-knight-white:#f2f2f2;--logo-knight-black:#1a1a1a;--logo-badge:var(--logo-knight-black);--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.5 var(--sans);color:var(--text-primary);background:var(--bg-primary)}*{box-sizing:border-box;margin:0;padding:0}body{height:100vh;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex;overflow:hidden}h1,h2,h3{color:var(--text-heading);font-weight:600}button{cursor:pointer;font-family:var(--sans)}:where([title],svg :has(>title)):not(:where(a,button,input,select,textarea,label,summary,[role=button],[role=menuitem],[role=option],[role=tab]),:where(a,button,label,summary,[role=button],[role=menuitem],[role=option],[role=tab],.pcard,.modal-pick-row,.notif-item.is-link,.analysis-saved-item,tr.link,.sheet-move) *){cursor:help}button:disabled,button[aria-disabled=true]{cursor:default!important}button:disabled[title],button[aria-disabled=true][title]{cursor:help!important}:is(input,textarea):disabled[title]{cursor:help}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--border);background-clip:padding-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.room-held{visibility:hidden;display:contents}.btn{border:1px solid var(--border);background:var(--btn-bg,var(--bg-surface));height:36px;color:var(--text-primary);font:500 13px/1.2 var(--sans);white-space:nowrap;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 14px;text-decoration:none;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.btn svg{flex-shrink:0;width:14px;height:14px}.btn:hover:where(:not(:disabled)){border-color:var(--accent)}.btn:disabled{opacity:.4}.btn.sm{gap:5px;height:28px;padding:0 10px}.btn.sm svg{width:13px;height:13px}.btn.lg{gap:10px;height:44px;padding:0 20px;font-size:15px}.btn.lg svg{width:18px;height:18px}.btn.icon{flex-shrink:0;width:36px;padding:0}.btn.icon svg{width:16px;height:16px}.btn.sm.icon{width:28px}.btn.done,.icon-btn.done,.btn-bare.done{color:var(--success)!important}.btn.sm.icon svg{width:15px;height:15px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg-primary);font-weight:600}.btn.primary:hover:where(:not(:disabled)){background:var(--accent-hover);border-color:var(--accent-hover)}.pcard,.settings-card,.gs-rows,.modal-card{--btn-bg:var(--bg-primary)}.icon-btn{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;--focus-offset:1px;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.icon-btn svg{width:15px;height:15px}.icon-btn:hover:where(:not(:disabled)),.icon-btn[aria-expanded=true]{background:color-mix(in srgb, var(--text-primary) 9%, transparent);color:var(--text-primary)}.icon-btn:disabled{opacity:.4}.icon-btn.sm{width:24px;height:24px}.icon-btn.sm svg{width:14px;height:14px}:where(.btn-bare){color:inherit;font:inherit;text-align:start;background:0 0;border:0}@property --focus-offset{syntax:"<length>";inherits:false;initial-value:2px}:where(.btn,.icon-btn,.btn-bare,.focus-ring){--focus-offset:2px}.btn:focus-visible,.icon-btn:focus-visible,.btn-bare:focus-visible,.focus-ring:focus-visible{outline:2px solid var(--accent);outline-offset:var(--focus-offset,2px)}.app.loading-screen{justify-content:center;align-items:center;min-height:100vh;display:flex}.app.loading-screen p{color:var(--text-secondary);font-size:14px}.stats-page{flex-direction:column;gap:16px;padding:20px 0 32px;display:flex}.stats-head{justify-content:flex-end;align-items:center;gap:16px;min-height:36px;display:flex}.stats-sub,.stats-note{color:var(--text-secondary);margin:0;font-size:12px}.stats-note a{color:var(--accent);text-decoration:none}.stats-loading{text-align:center;color:var(--text-secondary);padding:40px 0}.stats-filters,.stats-controls{align-items:center;gap:28px;display:flex}.seg.stats-seg{width:auto}.seg.stats-seg button{flex:none;height:28px;padding:0 12px;font-size:12px}.stats-select.select-btn{width:240px}.stats-box{--btn-bg:var(--bg-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;min-width:0;padding:16px 18px;display:flex}.stats-box-h{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.stats-box-h>b{color:var(--text-heading);font-size:13px}.stats-box-h>span{color:var(--text-secondary);font-size:12px}.stats-box-h a{color:var(--accent);text-decoration:none}.stats-box-h{min-height:24px}.stats-box-tools{align-items:center;gap:10px;display:flex}.stats-box-tools .seg.stats-seg button{height:24px;padding:0 10px}.stats-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.stats-box>:not(.stats-box-h)~.stats-note:last-child{margin-top:auto}.stats-two.wide-first{grid-template-columns:minmax(0,5fr) minmax(0,3fr)}.stats-col{flex-direction:column;gap:16px;min-width:0;display:flex}.stats-readout{color:var(--text-secondary);font-variant-numeric:tabular-nums;gap:22px;font-size:12px;display:flex}.stats-readout b{color:var(--text-heading);margin-right:4px;font-size:15px;font-weight:700}.stats-legend{color:var(--text-secondary);gap:14px;font-size:12px;display:flex}.stats-legend span{align-items:center;gap:6px;display:flex}.stats-legend i{border-radius:2px;width:10px;height:10px;display:block}.stats-panel-l{letter-spacing:.5px;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:600}.stats-nav{align-items:center;gap:6px;display:flex}.stats-range{text-align:center;width:200px;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:12px}.stats-chips{flex-wrap:wrap;gap:6px;display:flex}.stats-chip{box-sizing:border-box;border:1px solid var(--border);height:28px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:14px;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.stats-chip i{border-radius:2px;width:9px;height:9px;display:block}.stats-chip:hover{color:var(--text-primary)}.stats-chip.active{border-color:var(--accent);color:var(--text-primary);background:color-mix(in srgb, var(--accent) 10%, transparent)}.tc{flex-direction:column;gap:6px;display:flex}.tc-plotw{gap:8px;display:flex}.tc-plot{touch-action:pan-y;flex:1;min-width:0;position:relative}.tc-plot.pannable{cursor:grab}.tc-plot.pannable:active{cursor:grabbing}.tc-gl{border-top:1px dashed color-mix(in srgb, var(--text-secondary) 18%, transparent);position:absolute;left:0;right:0}.tc-gl.base{border-top:1px solid var(--border)}.tc-cols{gap:3px;display:flex;position:absolute;inset:0}.tc-col{flex:1;justify-content:center;align-items:flex-end;height:100%;display:flex}.tc-col:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.tc-col.pickable{cursor:pointer}.tc-col.picked{background:color-mix(in srgb, var(--accent) 12%, transparent)}.tc-cols.has-pick .tc-col:not(.picked)>*{opacity:.35}.tc-stk{flex-direction:column-reverse;gap:1px;width:70%;max-width:90px;display:flex}.tc-stk i{border-radius:1px;display:block}.tc-signed{width:70%;max-width:90px;height:100%;position:relative}.tc-signed i{box-shadow:inset 0 1px 0 var(--bg-surface);border-radius:1px;display:block;position:absolute;left:0;right:0}.tc-signed i.neg{box-shadow:inset 0 -1px 0 var(--bg-surface)}.tc-stk i.tc-vol{background:color-mix(in srgb, var(--text-secondary) 22%, transparent)}.tc-line{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tc-line polyline{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.tc-dot{background:var(--accent);border:1.5px solid var(--bg-surface);pointer-events:none;border-radius:50%;width:7px;height:7px;position:absolute;transform:translate(-50%,-50%)}.tc-y{width:44px;color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:none;font-size:10px;position:relative}.tc-y span{white-space:nowrap;position:absolute;left:0;transform:translateY(-50%)}.tc-x{color:var(--text-secondary);gap:3px;margin-right:52px;font-size:11px;display:flex}.tc-x span{text-align:center;white-space:nowrap;flex:1;overflow:visible}.stats-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stats-card{--btn-bg:var(--bg-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:14px;min-width:0;padding:16px 18px;display:flex}.stats-card.w2{grid-column:span 2}.stats-card-h{color:var(--text-heading);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.stats-link{color:var(--accent);cursor:pointer;margin-left:auto;font-size:12px;font-weight:500}.stats-link:hover{text-decoration:underline}.stats-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.stats-card{container-type:inline-size}@container (width<=470px){.stats-pair{grid-template-columns:minmax(0,1fr)}}.stats-empty{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.stats-empty p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.gauge{align-items:center;gap:14px;min-width:0;display:flex}.gauge-dial{flex-direction:column;flex:none;align-items:center;gap:2px;width:120px;display:flex}.gauge-needle{stroke:var(--text-heading);stroke-width:2.5px;stroke-linecap:round}.gauge-hub{fill:var(--text-heading)}.gauge-v{color:var(--text-heading);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700;line-height:1}.gauge-t{flex-direction:column;gap:6px;min-width:0;display:flex}.gauge-t>b{color:var(--text-heading);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1}.gauge-t>em{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-style:normal}.gauge-lg{flex-direction:column;gap:4px;font-size:12px;display:flex}.gauge-lg span{white-space:nowrap;align-items:center;gap:6px;display:flex}.gauge-lg i{border-radius:2px;flex:none;width:9px;height:9px;display:block}.gauge-lg b{font-variant-numeric:tabular-nums;font-weight:600}.act-months{height:14px;color:var(--text-secondary);justify-content:space-between;gap:3px;margin-left:30px;font-size:11px;display:flex}.act-months span{flex:none;width:14px;position:relative}.act-months em{white-space:nowrap;font-style:normal;position:absolute;left:0}.act-grid{gap:8px;display:flex}.act-wd{width:22px;color:var(--text-secondary);grid-template-rows:repeat(7,12px);row-gap:3px;font-size:10px;line-height:12px;display:grid}.act-weeks{flex:1;justify-content:space-between;gap:3px;display:flex}.act-wk{grid-template-rows:repeat(7,12px);row-gap:3px;display:grid}.act-wk i{border-radius:2px;width:14px;height:12px;display:block}.act-foot{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-left:30px;font-size:12px;display:flex}.act-scale{align-items:center;gap:3px;display:flex}.act-scale i{border-radius:2px;width:12px;height:12px;display:block}.stats-page .lv0{background:color-mix(in srgb, var(--text-secondary) 16%, transparent)}.stats-page .lv1{background:color-mix(in srgb, var(--accent) 30%, transparent)}.stats-page .lv2{background:color-mix(in srgb, var(--accent) 55%, transparent)}.stats-page .lv3{background:color-mix(in srgb, var(--accent) 78%, transparent)}.stats-page .lv4{background:var(--accent)}.stats-page .lvx{background:0 0}.rv-list,.miss-list{flex-direction:column;display:flex}.rv-row,.miss-row{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:8px 0;display:flex}.rv-row:last-child,.miss-row:last-child{border-bottom:0}a.miss-row{isolation:isolate;color:inherit;outline:none;text-decoration:none;position:relative}a.miss-row:before{content:"";z-index:-1;border-radius:6px;position:absolute;inset:0 -8px}a.miss-row:hover:before,a.miss-row:focus-visible:before{background:color-mix(in srgb, var(--accent) 6%, transparent)}a.miss-row:focus-visible:before{box-shadow:inset 0 0 0 1px var(--accent)}.rv-h{align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.rv-h span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rv-h small{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:12px}.rv-king{flex:none;width:22px;height:22px}.rv-bar{background:var(--border);border-radius:4px;height:8px;display:flex;overflow:hidden}.rv-bar i{height:100%;display:block}.rv-ok{background:var(--success)}.rv-due{background:var(--accent)}.rv-new{background:color-mix(in srgb, var(--text-secondary) 45%, transparent)}.miss-h{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;min-width:0;font-size:13px;display:flex}.miss-path{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.miss-played{color:var(--warning);white-space:nowrap}.miss-expected{white-space:nowrap}.miss-h small{color:var(--text-secondary);white-space:nowrap;flex:none;margin-left:auto;font-size:12px}.miss-s{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:10px;font-size:12px;display:flex}.miss-rate{background:var(--border);border-radius:3px;flex:1;height:6px;overflow:hidden}.miss-rate i{background:var(--warning);height:100%;display:block}.stats-page .account-row.calls{grid-template-columns:120px 130px minmax(0,1fr) 210px 120px}.radar{align-self:center;max-width:100%;position:relative}.radar-ring{fill:none;stroke:var(--border);stroke-width:1px}.radar-area{fill:color-mix(in srgb, var(--surf-quiz) 24%, transparent);stroke:var(--surf-quiz);stroke-width:2px;stroke-linejoin:round}.radar-dot{fill:var(--accent);stroke:var(--bg-surface);stroke-width:1.5px}.radar-dot.weak{fill:var(--warning)}.radar-empty{stroke:var(--text-secondary);stroke-width:1px;stroke-dasharray:3 3;opacity:.55}.radar-l{color:var(--text-primary);white-space:nowrap;flex-direction:column;align-items:center;gap:3px;font-size:11.5px;line-height:1.2;display:flex;position:absolute}.radar-l small{color:var(--text-secondary);font-size:11px}.radar-l b{color:var(--accent);font-weight:600}.radar-l b.weak{color:var(--warning)}.hbars{flex-direction:column;gap:10px;display:flex}.hbar{grid-template-columns:170px minmax(0,1fr) 52px;align-items:center;gap:4px 12px;font-size:13px;display:grid}.hbar>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hbar>span.dim{color:var(--text-secondary)}.hbar-track{background:var(--border);border-radius:5px;height:10px;overflow:hidden}.hbar-track i{background:var(--accent);border-radius:5px;height:100%;display:block}.hbar-track.weak i{background:var(--warning)}.hbar em{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-style:normal}.hbar small{color:var(--text-secondary);grid-column:2/4;margin-top:-4px;font-size:11px}.donut-w{align-items:center;gap:24px;display:flex}.donut{flex:none;width:150px;height:150px;position:relative}.donut-c{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.donut-c b{color:var(--text-heading);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.donut-c span{color:var(--text-secondary);font-size:11px}.donut-lg{flex-direction:column;flex:1;gap:8px;min-width:0;font-size:13px;display:flex}.donut-lg span{grid-template-columns:10px minmax(0,1fr) auto 48px;align-items:center;gap:10px;display:grid}.donut-lg i{border-radius:2px;width:10px;height:10px;display:block}.donut-lg span.dim{opacity:.35}.donut-lg b{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.donut-lg em{text-align:right;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-style:normal}@media (width<=900px){.stats-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-two,.stats-two.wide-first,.stats-pair{grid-template-columns:minmax(0,1fr)}}.account-table-head.stats-calls-head{align-items:center;padding:8px 0 6px}.admin-load-failed{flex-direction:column;align-items:center;gap:12px;display:flex}.admin-load-inline{text-align:center;color:var(--text-secondary);padding:12px 0}.admin-load-inline.admin-load-failed{gap:8px}.admin-reload-failed{align-items:center;gap:8px;display:inline-flex}.app{flex-direction:column;min-height:100vh;display:flex}.pct-high{color:var(--success)}.pct-mid{color:var(--warning)}.pct-low{color:var(--danger)}.color-piece{font-size:24px;line-height:1}.color-piece.white{color:var(--side-white);text-shadow:0 1px 2px var(--shadow)}.color-piece.black{color:var(--side-black-glyph);text-shadow:0 1px 2px var(--side-black-halo)}.turn-chip{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;align-items:center;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.turn-chip.turn-white{background:var(--side-white);color:var(--side-black)}.turn-chip.turn-black{background:var(--side-black);color:var(--side-black-ink);border:1px solid var(--side-black-edge)}.app-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.header-left{flex-shrink:0;align-items:center;gap:12px;display:flex}.header-left h1{letter-spacing:-.5px;margin-right:12px;font-size:20px;font-weight:700;display:flex}.header-logo{color:inherit;border-radius:4px;align-items:center;gap:8px;text-decoration:none;display:flex}.cw-wordmark{color:var(--logo-chess)}.cw-wordmark span{color:var(--logo-brand)}.cw-logo{display:flex}.header-nav{align-items:center;gap:8px;display:flex}.view-switcher{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;gap:2px;padding:2px;display:flex}.view-tab{color:var(--text-secondary);text-align:center;cursor:pointer;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:500;line-height:normal;transition:background .15s,color .15s}.view-tab:hover{color:var(--text-primary)}.view-tab.active{background:var(--accent);color:var(--bg-primary);font-weight:600}.view-tab .tab-dot{background:var(--warning);vertical-align:2px;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.view-tab.active .tab-dot{background:currentColor}.app-header .view-switcher{height:36px;padding:3px}.app-header .view-tab{padding:0 12px;font-size:13px}.app-header.tight-tabs .view-tab{padding:0 8px}.app-header .btn{color:var(--text-secondary)}.app-header .btn:hover:where(:not(:disabled)){color:var(--text-primary)}.header-nav.is-reserved{visibility:hidden}.header-nav-separator{background:var(--border);opacity:.5;width:1px;height:18px;margin:0 4px}.header-center{pointer-events:none;flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;padding:0 16px;display:flex}.header-prep-name{pointer-events:auto;color:var(--accent);letter-spacing:-.3px;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:17px;font-weight:700;overflow:hidden}.header-tag{text-transform:lowercase;color:var(--text-secondary);border:1px solid var(--border);pointer-events:auto;border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:11px;font-weight:500}.header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.header-action{background:var(--accent);color:var(--bg-primary);border:none;border-radius:4px;padding:6px 12px;font-size:13px;font-weight:600}.header-lang-btn{letter-spacing:.6px;font-size:12px;font-weight:700}.header-menu-wrapper{position:relative}.header-dropdown,.header-panel{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:0 8px 24px var(--shadow-strong);border-radius:8px}.header-dropdown{z-index:100;min-width:200px;margin-top:4px;padding:4px;position:absolute;top:100%;left:0}.header-dropdown button,.header-menu-item{--focus-offset:-2px;width:100%;height:36px;color:var(--text-primary);white-space:nowrap;cursor:pointer;border-radius:4px;align-items:center;gap:10px;padding:0 10px;font-size:13px;line-height:normal;display:flex}.header-dropdown button:hover:not(:disabled),.header-menu-item:hover{background:var(--bg-surface)}.header-dropdown button:disabled{opacity:.45}.header-menu-item svg{width:16px;height:16px;color:var(--text-secondary);flex-shrink:0}.header-dropdown button.header-dropdown-group-start{margin-top:9px;position:relative}.header-dropdown button.header-dropdown-group-start:before,.header-menu-divider{content:"";background:var(--border);height:1px;display:block}.header-dropdown button.header-dropdown-group-start:before{position:absolute;top:-5px;left:-4px;right:-4px}.header-menu-divider{margin:4px -4px}.header-dropdown-count{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:16px;font-size:12px}.header-dropdown button.header-dropdown-resume{max-width:340px}.header-dropdown-resume-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.header-dropdown-resume-name b{font-weight:600}.header-dropdown-tag{color:var(--warning);flex:none;margin-left:auto;padding-left:16px;font-size:12px}.app-content{flex:1;justify-content:center;min-height:0;padding:0 16px;display:flex;overflow:hidden}.app-scroll{scrollbar-gutter:stable;flex:1;min-width:0;height:calc(100vh - 61px);margin:0 -16px;padding:0 16px;overflow-y:auto}.app-screen{width:100%;max-width:1100px;margin:0 auto;padding-top:8px}.role-chip{border:1px solid var(--border);height:18px;color:var(--text-secondary);white-space:nowrap;border-radius:9px;flex:none;align-items:center;padding:0 7px;font-size:11px;font-weight:600;display:inline-flex}.role-chip.is-admin{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.card-name-slot{min-width:0;display:block;position:relative}.card-name-slot>input{width:100%;font-family:var(--sans);outline:none;position:absolute;inset:0}.card-editing-hidden{visibility:hidden}.header-dropdown button.needs-ai{justify-content:space-between;height:auto;min-height:36px;padding-top:6px;padding-bottom:6px}.needs-ai-text{flex-direction:column;gap:2px;display:flex}.needs-ai-text small{color:var(--text-secondary);font-size:11px}.text-name{color:var(--text-heading);font-weight:600}.keycap{border:1px solid var(--border);background:var(--bg-surface);min-width:20px;height:20px;color:var(--text-primary);font:600 11px var(--mono);border-radius:4px;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.avatar-grid{grid-template-columns:72px repeat(6,44px);align-items:center;gap:12px 14px;display:grid}.avatar-grid-fill{grid-column:span 5}.avatar-option{--focus-offset:6px;cursor:pointer;border-radius:50%;width:44px;height:44px;position:relative}.avatar-option:after{content:"";border:2px solid #0000;border-radius:50%;transition:border-color .15s;position:absolute;inset:-4px}.avatar-option:hover:after{border-color:var(--border)}.avatar-option.selected:after{border-color:var(--accent)}.avatar-option-current{background:var(--bg-secondary);border-radius:50%;justify-content:center;align-items:center;width:12px;height:12px;display:flex;position:absolute;bottom:-2px;right:-2px}.avatar-option-current:before{content:"";background:var(--text-secondary);border-radius:50%;width:6px;height:6px}.user-avatar-preset{background:var(--avatar-bg);border-radius:50%;justify-content:center;align-items:center;display:flex}.user-avatar-preset.small{width:28px;height:28px}.user-avatar-preset.large{width:44px;height:44px}.lichess-username{color:var(--accent);cursor:pointer;text-decoration:none}.lichess-username:hover{text-decoration:underline}.lichess-rating{color:var(--text-secondary);font-variant-numeric:tabular-nums;align-items:center;gap:3px;display:inline-flex}.reporter-gone{color:var(--text-secondary)}.speed-icon{align-items:center;display:flex}.user-profile{position:relative}.user-profile-trigger{background:var(--bg-surface);border:1px solid var(--border);height:36px;color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:0 10px 0 5px;font-size:13px;font-weight:500;transition:border-color .15s;display:flex}.user-profile-trigger:hover,.user-profile-trigger.open{border-color:var(--accent)}.user-profile-chevron{width:12px;height:12px;color:var(--text-secondary);margin-left:-2px}.user-avatar{object-fit:cover;border-radius:50%;width:28px;height:28px}.user-avatar-placeholder{background:var(--avatar-bg);width:28px;height:28px;color:var(--on-color);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.user-avatar-placeholder.large{width:44px;height:44px;font-size:18px}.user-avatar-placeholder.user-avatar-deleted{background:var(--border);color:var(--text-secondary)}.user-avatar-deleted svg{width:16px;height:16px}.user-avatar-deleted.large svg{width:24px;height:24px}.user-avatar-large{object-fit:cover;border-radius:50%;width:44px;height:44px}.user-profile-name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.lichess-title{color:var(--title);margin-right:4px;font-weight:700}.user-profile-dropdown{z-index:1000;width:340px;padding:4px;position:absolute;top:calc(100% + 6px);right:0}.user-profile-header{align-items:center;gap:12px;padding:10px 10px 12px;display:flex}.user-profile-info{flex:1;min-width:0}.avatar-edit-btn{cursor:pointer;border-radius:50%;flex-shrink:0;position:relative}.user-profile-username{color:var(--text-primary);align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.user-profile-username-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.profile-tag{border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;flex-shrink:0;padding:0 7px;font-size:11px;font-weight:600;line-height:18px}.profile-tag.paid{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.profile-tag.trial{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 45%, transparent)}.profile-tag.admin{color:var(--text-primary)}.user-profile-section{flex-direction:column;gap:8px;padding:10px 10px 12px;display:flex}.lichess-link{color:var(--accent);margin-top:2px;font-size:12px;font-weight:500;text-decoration:none;display:block}.lichess-link:hover{text-decoration:underline}.user-profile-bar{background:var(--border);border-radius:3px;height:6px;display:flex;overflow:hidden}.user-profile-bar>div{flex-basis:0}.bar-win{background:var(--success)}.bar-draw{background:var(--text-secondary)}.bar-loss{background:var(--danger)}.user-profile-results{justify-content:space-between;font-size:12px;display:flex}.user-profile-games{color:var(--text-secondary)}.user-profile-wdl{font-variant-numeric:tabular-nums;gap:10px;font-weight:600;display:flex}.result-win{color:var(--success)}.result-draw{color:var(--text-secondary)}.result-loss{color:var(--danger)}.user-profile-ratings{justify-content:space-between;gap:4px;display:flex}.rating-pill{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);border-radius:12px;flex:1;justify-content:center;align-items:center;gap:4px;padding:4px 0;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.rating-pill-icon{color:var(--text-secondary);align-items:center;display:flex}.user-profile-actions{align-items:center;display:flex}.user-profile-version{color:var(--text-secondary);opacity:.6;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto;padding:0 10px;font-size:11px}.user-profile-legal{flex-wrap:wrap;justify-content:space-between;align-items:center;padding:2px 0 2px 10px;font-size:11px;display:flex}.user-profile-legal-links{flex-wrap:wrap;gap:0 12px;display:flex}.user-profile-legal button{white-space:nowrap;color:var(--text-secondary);cursor:pointer}.user-profile-legal button:hover{color:var(--text-primary);text-decoration:underline}.plan-indicator{align-items:center;gap:8px;display:flex;position:relative}.plan-slot,.plan-slot-ghost{place-items:center end;display:grid}.plan-slot>*,.plan-slot-ghost>*{grid-area:1/1}.plan-slot-ghost{visibility:hidden}.plan-slot-shape{align-items:center;gap:8px;display:flex}.plan-plain{color:var(--text-secondary);white-space:nowrap;padding:0 4px;font-size:12px;font-weight:500}.plan-meter{cursor:pointer;border-radius:6px;align-items:center;gap:8px;height:36px;padding:0 8px;display:flex}.plan-meter:hover,.plan-meter.open{background:color-mix(in srgb, var(--text-primary) 6%, transparent)}.plan-meter>svg{color:var(--text-secondary);flex-shrink:0}.plan-meter-body{flex-direction:column;gap:4px;width:96px;display:flex}.plan-meter-body.with-sub{gap:3px}.plan-meter-num{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:4px;font-size:12px;font-weight:600;line-height:1;display:flex}.plan-meter-num small{color:var(--text-secondary);font-size:11px;font-weight:500}.plan-meter-num .dim{color:var(--text-secondary)}.plan-meter-num small.strong{color:var(--text-primary);font-weight:600}.plan-meter-bar{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.plan-meter-bar i{background:var(--accent);height:100%;display:block}.plan-meter-key{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.plan-meter-name{color:var(--text-primary);white-space:nowrap;font-size:12px;font-weight:600;line-height:1}.plan-meter-sub{color:var(--text-secondary);white-space:nowrap;text-align:left;font-size:10px;font-weight:500;line-height:1}.plan-meter.warn>svg,.plan-meter.warn .plan-meter-sub,.plan-meter.low .plan-meter-num>span{color:var(--warning)}.plan-meter.low .plan-meter-bar i{background:var(--warning)}.plan-meter.out .plan-meter-num>span{color:var(--danger)}.plan-activate svg{flex-shrink:0}.plan-panel{z-index:100;box-sizing:border-box;flex-direction:column;gap:14px;width:320px;padding:14px 16px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.plan-panel-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.plan-panel-title{color:var(--text-heading);font-size:14px;font-weight:600}.plan-panel-when{color:var(--text-secondary);font-size:12px}.plan-panel-row{flex-direction:column;gap:6px;display:flex}.plan-panel-line{color:var(--text-primary);justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.plan-panel-line b{font-variant-numeric:tabular-nums;font-weight:600}.plan-panel-line b.ok{color:var(--success)}.plan-panel-line b.warn{color:var(--warning)}.plan-panel-bar{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.plan-panel-bar i{background:var(--accent);height:100%;display:block}.plan-panel-hint{color:var(--text-secondary);font-size:12px}.plan-panel-foot{border-top:1px solid var(--border);gap:8px;padding-top:12px;display:flex}.notif-bell-wrapper{position:relative}.notif-bell-wrapper>.modal-overlay{z-index:1001}.notif-bell-btn{position:relative}.notif-badge{background:var(--danger);min-width:16px;height:16px;color:var(--on-color);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:2px}.notif-panel{z-index:1000;flex-direction:column;width:440px;max-height:560px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.notif-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;height:48px;padding:0 10px 0 16px;display:flex}.notif-title{color:var(--text-heading);font-size:14px;font-weight:600}.notif-clear{height:28px;color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:flex}.notif-clear svg{width:14px;height:14px}.notif-clear:hover{color:var(--text-primary)}.notif-list{flex:1;padding:4px 0 6px;overflow-y:auto}.notif-section{letter-spacing:.5px;text-transform:uppercase;color:var(--text-secondary);padding:10px 16px 4px;font-size:11px;font-weight:600}.notif-item{grid-template-columns:30px minmax(0,1fr);gap:2px 12px;padding:9px 16px;display:grid}.notif-item.is-link{cursor:pointer}.notif-item.is-link:hover{background:var(--bg-surface)}.notif-glyph{--focus-offset:1px;background:var(--bg-primary);width:30px;height:30px;color:var(--text-secondary);border-radius:6px;grid-row:1/span 3;justify-content:center;align-items:center;display:flex}.notif-glyph svg{width:16px;height:16px}.notif-glyph.is-ok{color:var(--success)}.notif-item.is-seen .notif-text,.notif-item.is-seen .notif-glyph{opacity:.6}.notif-text{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.notif-text .lichess-title{margin-right:3px}.notif-meta{min-height:26px;color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.notif-dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.notif-actions{gap:6px;margin-left:auto;display:flex}.notif-go{opacity:0;align-items:center;gap:3px;margin-left:auto;transition:opacity .15s;display:flex}.notif-go svg{width:12px;height:12px}.notif-item.is-link:hover .notif-go{opacity:1}.notif-done{height:26px;color:var(--text-secondary);grid-column:2;align-items:center;gap:6px;font-size:13px;display:flex}.notif-done.is-ok{color:var(--success)}.notif-done svg{flex:none;width:14px;height:14px}.notif-open{color:var(--accent);cursor:pointer;margin-left:auto;font-size:13px;line-height:normal}.notif-open:hover{text-decoration:underline}.notif-empty{color:var(--text-secondary);flex-direction:column;align-items:center;gap:10px;padding:36px 16px 40px;font-size:13px;display:flex}.notif-empty svg{opacity:.6;width:22px;height:22px}.bug-shot{border:1px solid var(--border);background:var(--bg-primary);cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:6px;position:relative;overflow:hidden}.bug-shot img{pointer-events:none;width:100%;height:auto;display:block}.bug-shot-marks{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.bug-shot-marks rect{fill:none;stroke:var(--danger);stroke-width:2.5px;vector-effect:non-scaling-stroke}.bug-shot-missing{text-align:center;color:var(--text-secondary);cursor:default;padding:32px 16px;font-size:13px}.bug-shot-tools{justify-content:space-between;align-items:center;gap:12px;margin:8px 0 12px;display:flex}.toast{z-index:250;box-sizing:border-box;background:var(--bg-surface);border:1px solid var(--border);width:min(520px,100vw - 32px);min-height:48px;box-shadow:0 4px 24px var(--shadow);--btn-bg:var(--bg-primary);border-radius:10px;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-size:13px;display:flex;position:fixed;bottom:16px;left:50%;overflow:hidden;transform:translate(-50%)}.toast-icon{color:var(--text-secondary);display:flex}.toast-icon svg{width:16px;height:16px}.toast.done .toast-icon{color:var(--success)}.toast.error .toast-icon{color:var(--danger)}.toast-text{-webkit-line-clamp:2;line-clamp:2;min-width:0;color:var(--text-primary);-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}.toast-bar{background:var(--accent);opacity:.7;transform-origin:0;width:100%;height:2px;animation:toast-time var(--toast-ms) linear forwards;position:absolute;bottom:0;left:0}.toast.error .toast-bar{background:var(--danger)}@keyframes toast-time{to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.toast-bar{animation:none}}.app-crash{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.app-crash-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:flex-start;gap:12px;max-width:440px;padding:24px 28px;display:flex}.app-crash-box h1{color:var(--text-heading);margin:0;font-size:18px}.app-crash-box p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}
