:root{--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:12px;--space-6:16px;--space-7:20px;--space-8:24px;--space-9:32px;--space-10:48px;--text-root:clamp(14.5px, calc(min(100vh - 144px, 74vw - 134px) * 14.5 / 800), 16.5px);--text-2xs:.62rem;--text-xs:.72rem;--text-sm:.8rem;--text-md:.88rem;--text-base:1rem;--text-lg:1.15rem;--text-xl:1.5rem;--text-2xl:2.25rem;--text-3xl:3rem;--text-display:var(--text-2xl);--text-title:var(--text-xl);--text-heading:var(--text-lg);--text-body:var(--text-base);--text-meta:var(--text-sm);--track-body:.01em;--track-tight:-.02em;--track-label:.14em;--track-wide:.2em;--radius-xs:0px;--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--radius-xl:0px;--radius-pill:0px;--radius-round:0px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 10px 30px #00000073;--shadow-lg:0 16px 48px #0000008c;--shadow-xl:0 28px 70px #0009;--ring-accent:0 0 0 1px rgba(var(--accent-rgb), .28);--ring-danger:0 0 0 1px color-mix(in srgb, var(--danger) 30%, transparent);--ring-halo:0 0 0 3px var(--accent-faint);--ring-selected:0 0 0 2px var(--surface-panel), 0 0 0 4px var(--accent);--edge-w:3px;--link-underline:2px;--link-offset:5px;--focus-ring:2px solid var(--accent-dim);--focus-offset:2px;--focus-ring-clear:2px solid transparent;--hit-min:var(--space-9);--blur-scrim:blur(4px);--blur-bar:blur(8px);--dur-fast:90ms;--dur-base:.15s;--dur-slow:.22s;--dur-lazy:.4s;--ease:ease;--ease-out:cubic-bezier(.2, .8, .3, 1);--ease-pop:cubic-bezier(.2, 1.6, .4, 1);--surface-page:#17120e;--surface-panel:#221a13;--surface-raised:#2c2219;--surface-sunken:#281f16;--surface-hover:#382b20;--surface-scrim:#0d0a07bd;--shade:#000;--ink:#ecdfc8;--ink-dim:#a08f78;--ink-faint:#655544;--line:#3b2e22;--line-strong:#48392b;--scrollbar-size:var(--space-4);--scrollbar-inset:var(--space-1);--scrollbar-inset-hover:1px;--scrollbar-thumb:var(--line-strong);--scrollbar-thumb-hover:var(--ink-faint);--scrollbar-thumb-active:var(--accent);--danger:#ca3431;--danger-ink:#e07a68;--positive:#81b64c;--warn:#e58f2a;--info:#6b8afd;--live:#ff3b30;--status-good:#9ccf5a;--status-hmm:#e8c25a;--status-blunder:#f0506e;--status-blunder-rgb:240, 80, 110;--accent:#6fae9f;--accent-bright:#8fc6b8;--accent-ink:#0a1a16;--accent-rgb:111, 174, 159;--accent-strong:rgba(var(--accent-rgb), .85);--accent-dim:rgba(var(--accent-rgb), .4);--accent-faint:rgba(var(--accent-rgb), .12);--branch:#8b7fd4;--branch-dim:#8b7fd466;--branch-faint:#8b7fd41c;--coach-better:#6ba75b;--coach-wrong:#c8503c;--coach-wrong-dim:#c8503c80;--coach-alternative:#8a8578;--q-book:#9a9a9a;--q-forced:var(--q-book);--q-best:#5b9bd5;--q-good:#81b64c;--q-bad:#ca3431;--q-blunder:#ca3431;--q-mistake:#e58f2a;--q-inaccuracy:#f0c15c;--q-fine:#a5c973;--q-perfect:#81b64c;--side-white:#efe9dd;--side-black:#24262b;--source-chesscom:#81b64c;--source-lichess:#5b9be0;--source-local:#e39a4f;--source-stockfish:#a584e0;--source-pgn:var(--ink-dim);--card-you:var(--accent);--card-them:var(--ink-faint);--eval-ahead:var(--chart-win);--eval-behind:var(--chart-loss);--eval-even:var(--chart-draw);--review-done:var(--accent);--review-light:var(--info);--review-none:var(--ink-faint);--chart-win:var(--positive);--chart-draw:var(--ink-faint);--chart-loss:var(--danger);--chart-1:var(--accent);--chart-2:var(--info);--chart-3:var(--branch);--chart-4:var(--source-local);--chart-5:var(--positive);--chart-6:var(--q-inaccuracy);--chart-white:var(--side-white);--chart-black:var(--side-black);--chart-grid:var(--line);--chart-axis:var(--line-strong);--chart-label:var(--ink-dim);--chart-surface:var(--surface-panel);--chart-stroke:2px;--chart-dot:6px;--chart-dot-lg:9px;--chart-wash:16%;--chart-h:calc(var(--space-10) * 4);--chart-h-sm:calc(var(--space-10) * 2);--chart-spark-h:var(--space-8);--chart-bar-max:var(--space-8);--chart-bar-h:var(--space-5);--chart-dot-step:var(--space-4);--cell-gap:var(--space-1);--cell-sm:var(--space-3);--cell-size:10px;--cell-lg:14px;--cell-strip-h:var(--space-5);--cell-col-max:var(--space-6);--sans:var(--font-sans,system-ui), system-ui, sans-serif;--mono:var(--font-mono,ui-monospace), ui-monospace, monospace;--face-ui:var(--sans);--face-prose:var(--sans);--face-data:var(--mono);--captured-w:30px;--evalbar-w:12px;--board-row-gap:var(--space-5);--captured-slot:calc(var(--captured-w) + var(--board-row-gap));--evalbar-slot:calc(var(--evalbar-w) + var(--board-row-gap));--flank-full:calc(var(--captured-slot) + var(--evalbar-slot));--flank-bare:calc(var(--captured-slot));--captured-piece:20px;--board-ceiling:1040px;--page-w:960px;--look-preview-w:calc(var(--space-10) * 6);--look-preview-w-stacked:calc(var(--space-10) * 3.5);--page-w-wide:1120px;--page-w-dashboard:1360px;--stack-w:640px;--panel-w:clamp(300px, 26vw, calc(29 * var(--text-root)));--review-panel-w:clamp(300px, 30vw, calc(29 * var(--text-root)));--modal-w:440px;--modal-w-wide:540px;--modal-w-plans:680px;--gutter:var(--space-7);--icon-btn:42px;--icon-btn-sm:var(--space-9);--header-row:var(--icon-btn-sm);--page-head:var(--icon-btn-sm);--global-bar-slot:calc(var(--gutter) + var(--header-row));--sq-light:#e9dfc6;--sq-dark:#a3835a;--hl-last-rgb:var(--accent-rgb);--hl-select-rgb:var(--accent-rgb);--hl-select-ring-rgb:var(--accent-rgb);--hl-check-rgb:var(--status-blunder-rgb);--hl-premove-rgb:126, 116, 214;--hl-premove-ring-rgb:150, 140, 235;--hint-rgb:64, 156, 240;--mark-rgb:28, 20, 8;--hl-alpha:1;--coord-on-dark:var(--sq-light);--coord-on-light:var(--sq-dark);--board-radius:0;--board-frame:none;--piece-shadow:none;--hl-check-anim:none;--sq-light-img:none;--sq-dark-img:none;--accent-shift:0%;--custom-accent:#f27ab8;--custom-accent-rgb:242, 122, 184;--custom-accent-ink:#14110c;--custom-sq-light:#efe6d2;--custom-sq-dark:#7d9e86;--custom-hl:#ffd23f;--custom-hl-rgb:255, 210, 63;--swatch-rainbow:conic-gradient(#ff6b6b, #ffd166, #c5f277, #4fd1c5, #5b9bd5, #a97bd8, #f27ab8, #ff6b6b)}@media (max-width:980px){:root{--captured-slot:0px;--evalbar-w:8px;--board-row-gap:var(--space-3)}}@media (max-width:620px){:root{--gutter:var(--space-5);--text-title:var(--text-lg)}}[data-accent=patina]{--accent:#6fae9f;--accent-bright:color-mix(in srgb, #8fc6b8, #000 var(--accent-shift));--accent-ink:#0a1a16;--accent-rgb:111, 174, 159}[data-accent=orange]{--accent:#ff6a2b;--accent-bright:color-mix(in srgb, #ff8c5c, #000 var(--accent-shift));--accent-ink:#1f0b03;--accent-rgb:255, 106, 43}[data-accent=gold]{--accent:#d4af37;--accent-bright:color-mix(in srgb, #e8c96a, #000 var(--accent-shift));--accent-ink:#17130a;--accent-rgb:212, 175, 55}[data-accent=emerald]{--accent:#3fbf7f;--accent-bright:color-mix(in srgb, #62d79a, #000 var(--accent-shift));--accent-ink:#06170f;--accent-rgb:63, 191, 127}[data-accent=sapphire]{--accent:#5b9bd5;--accent-bright:color-mix(in srgb, #82b7e6, #000 var(--accent-shift));--accent-ink:#06131f;--accent-rgb:91, 155, 213}[data-accent=amethyst]{--accent:#a97bd8;--accent-bright:color-mix(in srgb, #c39ded, #000 var(--accent-shift));--accent-ink:#150a20;--accent-rgb:169, 123, 216}[data-accent=frost]{--accent:#9fb4c7;--accent-bright:color-mix(in srgb, #c2d2df, #000 var(--accent-shift));--accent-ink:#0b131a;--accent-rgb:159, 180, 199}[data-accent=ruby]{--accent:#d9536a;--accent-bright:color-mix(in srgb, #ea7a8d, #000 var(--accent-shift));--accent-ink:#1f0609;--accent-rgb:217, 83, 106}[data-accent=teal]{--accent:#3fb8b0;--accent-bright:color-mix(in srgb, #6ad1ca, #000 var(--accent-shift));--accent-ink:#051716;--accent-rgb:63, 184, 176}[data-accent=lime]{--accent:#a8c94a;--accent-bright:color-mix(in srgb, #c4de73, #000 var(--accent-shift));--accent-ink:#131a04;--accent-rgb:168, 201, 74}[data-accent=pink]{--accent:#f27ab8;--accent-bright:color-mix(in srgb, #f79ccb, #000 var(--accent-shift));--accent-ink:#210818;--accent-rgb:242, 122, 184}[data-accent=ivory]{--accent:#e6dcc3;--accent-bright:color-mix(in srgb, #f5eedc, #000 var(--accent-shift));--accent-ink:#1a1710;--accent-rgb:230, 220, 195}[data-accent=custom]{--accent:var(--custom-accent);--accent-bright:color-mix(in srgb, color-mix(in srgb, var(--custom-accent) 78%, #fff), #000 var(--accent-shift));--accent-ink:var(--custom-accent-ink);--accent-rgb:var(--custom-accent-rgb)}[data-board=walnut]{--sq-light:#e9dfc6;--sq-dark:#a3835a}[data-board=cool-maple]{--sq-light:#d6c8ae;--sq-dark:#9a8a72}[data-board=maple]{--sq-light:#f0d9b5;--sq-dark:#b58863}[data-board=coffee]{--sq-light:#d9c4a3;--sq-dark:#7a5738}[data-board=sand]{--sq-light:#f4ead2;--sq-dark:#cfae76}[data-board=green]{--sq-light:#eeeed2;--sq-dark:#769656}[data-board=mint]{--sq-light:#e4f2ea;--sq-dark:#72ab95}[data-board=blue]{--sq-light:#dee3e6;--sq-dark:#8ca2ad}[data-board=ocean]{--sq-light:#dde7ef;--sq-dark:#6f93ad}[data-board=midnight]{--sq-light:#9eabc6;--sq-dark:#3d4967}[data-board=purple]{--sq-light:#e8e0f0;--sq-dark:#9a86b9}[data-board=candy]{--sq-light:#fde6ee;--sq-dark:#ec9bb8}[data-board=rose]{--sq-light:#f0dfdd;--sq-dark:#b1817d}[data-board=cherry]{--sq-light:#f3ddd4;--sq-dark:#b4574d}[data-board=mono]{--sq-light:#e2e2e2;--sq-dark:#6f6f6f}[data-board=ink]{--sq-light:#b9bec6;--sq-dark:#4d5560}[data-board=custom]{--sq-light:var(--custom-sq-light);--sq-dark:var(--custom-sq-dark)}[data-tone=woodpushr]{--surface-page:#17120e;--surface-panel:#221a13;--surface-raised:#2c2219;--surface-sunken:#281f16;--surface-hover:#382b20;--surface-scrim:#0d0a07bd;--ink:#ecdfc8;--ink-dim:#a08f78;--ink-faint:#655544;--line:#3b2e22;--line-strong:#48392b;--accent-shift:0%;--danger-ink:#e07a68}[data-tone=graphite]{--surface-page:#0d0e11;--surface-panel:#14161a;--surface-raised:#1c1f25;--surface-sunken:#191b1f;--surface-hover:#22252b;--surface-scrim:#08090bb8;--ink:#eceae4;--ink-dim:#8d8b84;--ink-faint:#6f6a5e;--line:#232529;--line-strong:#2e3138;--accent-shift:0%;--danger-ink:#e07a68}[data-tone=obsidian]{--surface-page:#000;--surface-panel:#0a0a0c;--surface-raised:#131316;--surface-sunken:#0e0e10;--surface-hover:#1a1a1e;--surface-scrim:#000c;--ink:#ebebe8;--ink-dim:#8a8a88;--ink-faint:#666664;--line:#1b1b1f;--line-strong:#29292f;--accent-shift:0%;--danger-ink:#e07a68}[data-tone=cool]{--surface-page:#0b0e14;--surface-panel:#12161e;--surface-raised:#1a1f29;--surface-sunken:#171b23;--surface-hover:#212734;--surface-scrim:#06080cbd;--ink:#e8ecf3;--ink-dim:#8a91a0;--ink-faint:#676e7d;--line:#222834;--line-strong:#2e3542;--accent-shift:0%;--danger-ink:#e07a68}[data-tone=moss]{--surface-page:#0c100c;--surface-panel:#131813;--surface-raised:#1b221b;--surface-sunken:#181e18;--surface-hover:#222b22;--surface-scrim:#060a06bd;--ink:#e9ede6;--ink-dim:#8b958a;--ink-faint:#6a7469;--line:#222a22;--line-strong:#2e382e;--accent-shift:0%;--danger-ink:#e07a68}[data-tone=plum]{--surface-page:#120d14;--surface-panel:#1d1420;--surface-raised:#261b2a;--surface-sunken:#221825;--surface-hover:#2e2233;--surface-scrim:#0a060cc2;--ink:#efe6f0;--ink-dim:#9c8ea0;--ink-faint:#706275;--line:#2c2131;--line-strong:#3a2c40;--accent-shift:0%;--danger-ink:#e07a68}[data-tone=paper]{--surface-page:#ece4d4;--surface-panel:#f6f0e4;--surface-raised:#fdf9f1;--surface-sunken:#e6dccb;--surface-hover:#e2d7c3;--surface-scrim:#34281a73;--ink:#2a2118;--ink-dim:#6b5d4a;--ink-faint:#9a8c76;--line:#ddd2bf;--line-strong:#cbbda5;--accent-shift:42%;--danger-ink:#b4302c}[data-tone=chalk]{--surface-page:#e5e8ed;--surface-panel:#f2f4f7;--surface-raised:#fbfcfd;--surface-sunken:#dde1e7;--surface-hover:#d8dde5;--surface-scrim:#141a2473;--ink:#1d232c;--ink-dim:#5a6474;--ink-faint:#8c96a5;--line:#d5dbe3;--line-strong:#c3cad5;--accent-shift:42%;--danger-ink:#b4302c}[data-hl-colour=gold]{--hl-last-rgb:255, 225, 105;--hl-select-rgb:212, 165, 60;--hl-select-ring-rgb:226, 186, 92}[data-hl-colour=accent]{--hl-last-rgb:var(--accent-rgb);--hl-select-rgb:var(--accent-rgb);--hl-select-ring-rgb:var(--accent-rgb)}[data-hl-colour=lime]{--hl-last-rgb:185, 229, 90;--hl-select-rgb:150, 200, 60;--hl-select-ring-rgb:170, 215, 80}[data-hl-colour=sky]{--hl-last-rgb:111, 195, 240;--hl-select-rgb:70, 160, 220;--hl-select-ring-rgb:100, 180, 235}[data-hl-colour=coral]{--hl-last-rgb:255, 143, 102;--hl-select-rgb:235, 110, 70;--hl-select-ring-rgb:250, 135, 95}[data-hl-colour=pink]{--hl-last-rgb:245, 138, 201;--hl-select-rgb:225, 100, 175;--hl-select-ring-rgb:240, 125, 195}[data-hl-colour=custom]{--hl-last-rgb:var(--custom-hl-rgb);--hl-select-rgb:var(--custom-hl-rgb);--hl-select-ring-rgb:var(--custom-hl-rgb)}[data-check-colour=blunder]{--hl-check-rgb:var(--status-blunder-rgb)}[data-check-colour=red]{--hl-check-rgb:255, 60, 60}[data-check-colour=orange]{--hl-check-rgb:255, 138, 42}[data-check-colour=magenta]{--hl-check-rgb:240, 60, 166}[data-check-colour=accent]{--hl-check-rgb:var(--accent-rgb)}[data-premove-colour=violet]{--hl-premove-rgb:126, 116, 214;--hl-premove-ring-rgb:150, 140, 235}[data-premove-colour=teal]{--hl-premove-rgb:51, 181, 176;--hl-premove-ring-rgb:90, 205, 200}[data-premove-colour=rose]{--hl-premove-rgb:224, 112, 154;--hl-premove-ring-rgb:240, 140, 178}[data-premove-colour=accent]{--hl-premove-rgb:var(--accent-rgb);--hl-premove-ring-rgb:var(--accent-rgb)}[data-mark-ink=ink]{--mark-rgb:28, 20, 8}[data-mark-ink=paper]{--mark-rgb:246, 241, 228}[data-mark-ink=accent]{--mark-rgb:var(--accent-rgb)}[data-coord-ink=mono]{--coord-on-dark:#ffffffc7;--coord-on-light:#00000085}[data-coord-ink=contrast]{--coord-on-dark:var(--sq-light);--coord-on-light:var(--sq-dark)}[data-coord-ink=accent]{--coord-on-dark:var(--accent-bright);--coord-on-light:color-mix(in srgb, var(--accent) 62%, #000)}[data-frame=ring]{--board-frame:0 0 0 2px var(--accent), 0 0 0 3px #00000080, 0 28px 70px #0000008c}[data-frame=bold]{--board-frame:0 0 0 5px var(--accent), 0 0 0 6px #00000080, 0 28px 70px #0000008c}[data-frame=wood]{--board-frame:0 0 0 7px color-mix(in srgb, var(--sq-dark) 62%, #000), 0 0 0 8px #0009, 0 28px 70px #0000008c}[data-frame=plain]{--board-frame:0 0 0 5px var(--line-strong), 0 0 0 6px #00000080, 0 28px 70px #0000008c}[data-frame=halo]{--board-frame:0 0 0 1px rgba(var(--accent-rgb), .7), 0 0 36px 4px rgba(var(--accent-rgb), .38), 0 28px 70px #00000080}[data-frame=flat]{--board-frame:none}[data-corners=rounded]{--board-radius:10px}[data-corners=soft]{--board-radius:4px}[data-corners=square]{--board-radius:0}[data-piece-shadow=none]{--piece-shadow:none}[data-piece-shadow=soft]{--piece-shadow:drop-shadow(0 2px 3px #00000059)}[data-piece-shadow=hard]{--piece-shadow:drop-shadow(1px 2px 0 #0000008c)}[data-piece-shadow=glow]{--piece-shadow:drop-shadow(0 0 4px rgba(var(--accent-rgb), .9)) drop-shadow(0 0 10px rgba(var(--accent-rgb), .45))}[data-finish=flat]{--sq-light-img:none;--sq-dark-img:none}[data-finish=grain]{--sq-light-img:repeating-linear-gradient(0deg, #46280a12 0 1%, transparent 1% 6.5%), repeating-linear-gradient(0deg, #ffffff12 0 2%, transparent 2% 11%), repeating-linear-gradient(0deg, #46280a0d 0 0.7%, transparent 0.7% 17%), linear-gradient(0deg, #0000000a, #ffffff0d);--sq-dark-img:repeating-linear-gradient(90deg, #2814001f 0 1%, transparent 1% 6.5%), repeating-linear-gradient(90deg, #ffffff0f 0 2%, transparent 2% 11%), repeating-linear-gradient(90deg, #28140017 0 0.7%, transparent 0.7% 17%), linear-gradient(90deg, #0000000f, #ffffff0a)}[data-finish=gloss]{--sq-light-img:linear-gradient(135deg, #ffffff73 0%, #ffffff14 40%, transparent 52%, #00000012 100%);--sq-dark-img:linear-gradient(135deg, #ffffff4d 0%, #ffffff0f 40%, transparent 52%, #0000001f 100%)}[data-finish=tiles]{--sq-light-img:linear-gradient(180deg, #fff6 0 5%, transparent 5% 94%, #00000029 94%), linear-gradient(90deg, #ffffff40 0 5%, transparent 5% 94%, #0000001f 94%);--sq-dark-img:linear-gradient(180deg, #ffffff38 0 5%, transparent 5% 94%, #00000042 94%), linear-gradient(90deg, #ffffff24 0 5%, transparent 5% 94%, #0003 94%)}[data-finish=stone]{--sq-light-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 -.18'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"), radial-gradient(ellipse at 30% 25%, #ffffff38, transparent 60%), radial-gradient(ellipse at 80% 85%, #0000000f, transparent 55%);--sq-dark-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='8' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .7 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"), radial-gradient(ellipse at 70% 30%, #ffffff1f, transparent 60%), radial-gradient(ellipse at 20% 80%, #0000001f, transparent 55%)}[data-finish=linen]{--sq-light-img:repeating-linear-gradient(0deg, #0000000d 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, #0000000a 0 1px, transparent 1px 4px);--sq-dark-img:repeating-linear-gradient(0deg, #00000017 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, #ffffff0d 0 1px, transparent 1px 4px)}[data-hl-last],[data-hl-select],[data-hl-check],[data-hl-premove],[data-legal],[data-capture]{--corner-stop:21%}[data-hl-last=tint]{--hl-last-from-bg:rgba(var(--hl-last-rgb), calc(.45 * var(--hl-alpha)));--hl-last-to-bg:rgba(var(--hl-last-rgb), calc(.55 * var(--hl-alpha)));--hl-last-from-ring:none;--hl-last-to-ring:none;--hl-last-from-img:none;--hl-last-to-img:none}[data-hl-last=ring]{--hl-last-from-bg:transparent;--hl-last-to-bg:transparent;--hl-last-from-ring:inset 0 0 0 3px rgba(var(--hl-last-rgb), calc(.55 * var(--hl-alpha)));--hl-last-to-ring:inset 0 0 0 5px rgba(var(--hl-last-rgb), calc(.75 * var(--hl-alpha)));--hl-last-from-img:none;--hl-last-to-img:none}[data-hl-last=corners]{--hl-last-from-bg:transparent;--hl-last-to-bg:transparent;--hl-last-from-ring:none;--hl-last-to-ring:none;--hl-last-from-img:radial-gradient(circle at 0 0, rgba(var(--hl-last-rgb), calc(.6 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 100% 0, rgba(var(--hl-last-rgb), calc(.6 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 0 100%, rgba(var(--hl-last-rgb), calc(.6 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 100% 100%, rgba(var(--hl-last-rgb), calc(.6 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop));--hl-last-to-img:radial-gradient(circle at 0 0, rgba(var(--hl-last-rgb), calc(.85 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 100% 0, rgba(var(--hl-last-rgb), calc(.85 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 0 100%, rgba(var(--hl-last-rgb), calc(.85 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 100% 100%, rgba(var(--hl-last-rgb), calc(.85 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop))}[data-hl-last=glow]{--hl-last-from-bg:transparent;--hl-last-to-bg:transparent;--hl-last-from-ring:none;--hl-last-to-ring:none;--hl-last-from-img:radial-gradient(circle, rgba(var(--hl-last-rgb), calc(.75 * var(--hl-alpha))) 0, rgba(var(--hl-last-rgb), calc(.5 * var(--hl-alpha))) 45%, transparent 72%);--hl-last-to-img:radial-gradient(circle, rgba(var(--hl-last-rgb), calc(.95 * var(--hl-alpha))) 0, rgba(var(--hl-last-rgb), calc(.7 * var(--hl-alpha))) 50%, transparent 76%)}[data-hl-last=hatch]{--hl-last-from-bg:transparent;--hl-last-to-bg:rgba(var(--hl-last-rgb), calc(.14 * var(--hl-alpha)));--hl-last-from-ring:none;--hl-last-to-ring:none;--hl-last-from-img:repeating-linear-gradient(-45deg, rgba(var(--hl-last-rgb), calc(.55 * var(--hl-alpha))) 0 7%, transparent 7% 16%);--hl-last-to-img:repeating-linear-gradient(-45deg, rgba(var(--hl-last-rgb), calc(.75 * var(--hl-alpha))) 0 7%, transparent 7% 14%)}[data-hl-last=off]{--hl-last-from-bg:transparent;--hl-last-to-bg:transparent;--hl-last-from-ring:none;--hl-last-to-ring:none;--hl-last-from-img:none;--hl-last-to-img:none}[data-hl-select=wash]{--hl-select-bg:rgba(var(--mark-rgb), calc(.3 * var(--hl-alpha)));--hl-select-ring:none;--hl-select-img:none}[data-hl-select=glow]{--hl-select-bg:rgba(var(--hl-select-rgb), calc(.34 * var(--hl-alpha)));--hl-select-ring:inset 0 0 0 3px rgba(var(--hl-select-ring-rgb), calc(.85 * var(--hl-alpha))), inset 0 0 14px rgba(var(--hl-select-rgb), calc(.55 * var(--hl-alpha)));--hl-select-img:none}[data-hl-select=tint]{--hl-select-bg:rgba(var(--hl-select-rgb), calc(.42 * var(--hl-alpha)));--hl-select-ring:none;--hl-select-img:none}[data-hl-select=ring]{--hl-select-bg:transparent;--hl-select-ring:inset 0 0 0 4px rgba(var(--hl-select-ring-rgb), calc(.9 * var(--hl-alpha)));--hl-select-img:none}[data-hl-select=corners]{--hl-select-bg:transparent;--hl-select-ring:none;--hl-select-img:radial-gradient(circle at 0 0, rgba(var(--hl-select-ring-rgb), calc(.9 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 100% 0, rgba(var(--hl-select-ring-rgb), calc(.9 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 0 100%, rgba(var(--hl-select-ring-rgb), calc(.9 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 100% 100%, rgba(var(--hl-select-ring-rgb), calc(.9 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop))}[data-hl-select=off]{--hl-select-bg:transparent;--hl-select-ring:none;--hl-select-img:none}[data-hl-check=glow]{--hl-check-bg:transparent;--hl-check-ring:none;--hl-check-img:radial-gradient(circle, rgba(var(--hl-check-rgb), calc(.8 * var(--hl-alpha))) 15%, rgba(var(--hl-check-rgb), calc(.35 * var(--hl-alpha))) 55%, transparent 75%);--hl-check-anim:none}[data-hl-check=pulse]{--hl-check-bg:transparent;--hl-check-ring:inset 0 0 0 2px rgba(var(--hl-check-rgb), calc(.6 * var(--hl-alpha)));--hl-check-img:radial-gradient(circle, rgba(var(--hl-check-rgb), calc(.8 * var(--hl-alpha))) 15%, rgba(var(--hl-check-rgb), calc(.35 * var(--hl-alpha))) 55%, transparent 75%);--hl-check-anim:hl-check-pulse 1.4s ease-in-out infinite}@keyframes hl-check-pulse{0%,to{box-shadow:inset 0 0 0 2px rgba(var(--hl-check-rgb), calc(.6 * var(--hl-alpha)))}50%{box-shadow:inset 0 0 0 7px rgba(var(--hl-check-rgb), calc(.25 * var(--hl-alpha)))}}@media (prefers-reduced-motion:reduce){[data-hl-check=pulse]{--hl-check-anim:none}}[data-hl-check=tint]{--hl-check-bg:rgba(var(--hl-check-rgb), calc(.5 * var(--hl-alpha)));--hl-check-ring:none;--hl-check-img:none;--hl-check-anim:none}[data-hl-check=ring]{--hl-check-bg:transparent;--hl-check-ring:inset 0 0 0 5px rgba(var(--hl-check-rgb), calc(.85 * var(--hl-alpha)));--hl-check-img:none;--hl-check-anim:none}[data-hl-check=corners]{--hl-check-bg:transparent;--hl-check-ring:none;--hl-check-img:radial-gradient(circle at 0 0, rgba(var(--hl-check-rgb), calc(.85 * var(--hl-alpha))) 0 24%, transparent 24%), radial-gradient(circle at 100% 0, rgba(var(--hl-check-rgb), calc(.85 * var(--hl-alpha))) 0 24%, transparent 24%), radial-gradient(circle at 0 100%, rgba(var(--hl-check-rgb), calc(.85 * var(--hl-alpha))) 0 24%, transparent 24%), radial-gradient(circle at 100% 100%, rgba(var(--hl-check-rgb), calc(.85 * var(--hl-alpha))) 0 24%, transparent 24%);--hl-check-anim:none}[data-hl-check=off]{--hl-check-bg:transparent;--hl-check-ring:none;--hl-check-img:none;--hl-check-anim:none}[data-hl-premove=tint]{--hl-premove-from-bg:rgba(var(--hl-premove-rgb), calc(.42 * var(--hl-alpha)));--hl-premove-to-bg:rgba(var(--hl-premove-rgb), calc(.52 * var(--hl-alpha)));--hl-premove-from-ring:none;--hl-premove-to-ring:inset 0 0 0 3px rgba(var(--hl-premove-ring-rgb), calc(.85 * var(--hl-alpha)));--hl-premove-from-img:none;--hl-premove-to-img:none}[data-hl-premove=ring]{--hl-premove-from-bg:transparent;--hl-premove-to-bg:transparent;--hl-premove-from-ring:inset 0 0 0 3px rgba(var(--hl-premove-ring-rgb), calc(.6 * var(--hl-alpha)));--hl-premove-to-ring:inset 0 0 0 5px rgba(var(--hl-premove-ring-rgb), calc(.85 * var(--hl-alpha)));--hl-premove-from-img:none;--hl-premove-to-img:none}[data-hl-premove=corners]{--hl-premove-from-bg:transparent;--hl-premove-to-bg:transparent;--hl-premove-from-ring:none;--hl-premove-to-ring:none;--hl-premove-from-img:radial-gradient(circle at 0 0, rgba(var(--hl-premove-rgb), calc(.7 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 100% 0, rgba(var(--hl-premove-rgb), calc(.7 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 0 100%, rgba(var(--hl-premove-rgb), calc(.7 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 100% 100%, rgba(var(--hl-premove-rgb), calc(.7 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop));--hl-premove-to-img:radial-gradient(circle at 0 0, rgba(var(--hl-premove-ring-rgb), calc(.95 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 100% 0, rgba(var(--hl-premove-ring-rgb), calc(.95 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 0 100%, rgba(var(--hl-premove-ring-rgb), calc(.95 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 100% 100%, rgba(var(--hl-premove-ring-rgb), calc(.95 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop))}[data-hl-premove=glow]{--hl-premove-from-bg:transparent;--hl-premove-to-bg:transparent;--hl-premove-from-ring:none;--hl-premove-to-ring:none;--hl-premove-from-img:radial-gradient(circle, rgba(var(--hl-premove-rgb), calc(.6 * var(--hl-alpha))) 0, rgba(var(--hl-premove-rgb), calc(.3 * var(--hl-alpha))) 50%, transparent 74%);--hl-premove-to-img:radial-gradient(circle, rgba(var(--hl-premove-ring-rgb), calc(.9 * var(--hl-alpha))) 0, rgba(var(--hl-premove-rgb), calc(.45 * var(--hl-alpha))) 50%, transparent 76%)}[data-hl-premove=off]{--hl-premove-from-bg:transparent;--hl-premove-to-bg:transparent;--hl-premove-from-ring:none;--hl-premove-to-ring:none;--hl-premove-from-img:none;--hl-premove-to-img:none}[data-legal=dot]{--legal-bg:transparent;--legal-img:none;--legal-size:30%;--legal-radius:50%;--legal-fill:rgba(var(--mark-rgb), calc(.38 * var(--hl-alpha)));--legal-ring:none}[data-legal=square]{--legal-bg:transparent;--legal-img:none;--legal-size:28%;--legal-radius:18%;--legal-fill:rgba(var(--mark-rgb), calc(.38 * var(--hl-alpha)));--legal-ring:none}[data-legal=ring]{--legal-bg:transparent;--legal-img:none;--legal-size:76%;--legal-radius:50%;--legal-fill:transparent;--legal-ring:inset 0 0 0 5px rgba(var(--mark-rgb), calc(.3 * var(--hl-alpha)))}[data-legal=corners]{--legal-bg:transparent;--legal-img:radial-gradient(circle at 0 0, rgba(var(--mark-rgb), calc(.34 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 100% 0, rgba(var(--mark-rgb), calc(.34 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 0 100%, rgba(var(--mark-rgb), calc(.34 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop)), radial-gradient(circle at 100% 100%, rgba(var(--mark-rgb), calc(.34 * var(--hl-alpha))) 0 var(--corner-stop), transparent var(--corner-stop));--legal-size:0;--legal-radius:0;--legal-fill:transparent;--legal-ring:none}[data-legal=tint]{--legal-bg:rgba(var(--mark-rgb), calc(.2 * var(--hl-alpha)));--legal-img:none;--legal-size:0;--legal-radius:0;--legal-fill:transparent;--legal-ring:none}[data-legal=off]{--legal-bg:transparent;--legal-img:none;--legal-size:0;--legal-radius:0;--legal-fill:transparent;--legal-ring:none}[data-capture=disc]{--capture-bg:transparent;--capture-img:none;--capture-size:84%;--capture-radius:50%;--capture-fill:rgba(var(--mark-rgb), calc(.34 * var(--hl-alpha)));--capture-ring:none}[data-capture=ring]{--capture-bg:transparent;--capture-img:none;--capture-size:92%;--capture-radius:50%;--capture-fill:transparent;--capture-ring:inset 0 0 0 7px rgba(var(--mark-rgb), calc(.34 * var(--hl-alpha)))}[data-capture=frame]{--capture-bg:transparent;--capture-img:none;--capture-size:100%;--capture-radius:0;--capture-fill:transparent;--capture-ring:inset 0 0 0 6px rgba(var(--mark-rgb), calc(.4 * var(--hl-alpha)))}[data-capture=corners]{--capture-bg:transparent;--capture-img:radial-gradient(circle at 0 0, rgba(var(--mark-rgb), calc(.42 * var(--hl-alpha))) 0 26%, transparent 26%), radial-gradient(circle at 100% 0, rgba(var(--mark-rgb), calc(.42 * var(--hl-alpha))) 0 26%, transparent 26%), radial-gradient(circle at 0 100%, rgba(var(--mark-rgb), calc(.42 * var(--hl-alpha))) 0 26%, transparent 26%), radial-gradient(circle at 100% 100%, rgba(var(--mark-rgb), calc(.42 * var(--hl-alpha))) 0 26%, transparent 26%);--capture-size:0;--capture-radius:0;--capture-fill:transparent;--capture-ring:none}[data-capture=tint]{--capture-bg:rgba(var(--mark-rgb), calc(.3 * var(--hl-alpha)));--capture-img:none;--capture-size:0;--capture-radius:0;--capture-fill:transparent;--capture-ring:none}[data-capture=off]{--capture-bg:transparent;--capture-img:none;--capture-size:0;--capture-radius:0;--capture-fill:transparent;--capture-ring:none}:root{--wp-crown:#e8b84a;--wp-crown-band:#b98a24}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background:var(--surface-page);height:100%;color:var(--ink);font-family:var(--face-ui);font-size:var(--text-root);letter-spacing:var(--track-body);-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:manipulation}input,textarea{-webkit-user-select:text;user-select:text}button{font:inherit;font-size:var(--text-base);color:var(--ink);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);cursor:pointer;transition:border-color var(--dur-base) var(--ease), background var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);font-weight:500}button:hover:not(:disabled){border-color:var(--accent-dim)}:is(button,select,input,textarea,a,summary,[tabindex],[role=option],[role=tab]):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.chip:has(input:focus-visible){outline:var(--focus-ring);outline-offset:var(--focus-offset)}button:disabled{opacity:.4;cursor:default}button.primary,a.new-game-start,a.new-game-start:visited{background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink);font-weight:600}button.primary:hover:not(:disabled),a.new-game-start:hover{background:var(--accent-bright);border-color:var(--accent-bright)}select,input[type=number],.import-input,.fen-input{font:inherit;font-size:var(--text-base);color:var(--ink);background:var(--surface-panel);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);transition:border-color var(--dur-base) var(--ease)}select:hover,input[type=number]:hover,.import-input:hover,.fen-input:hover{border-color:var(--accent-dim)}select option{background:var(--surface-panel);color:var(--ink)}input[type=number]{width:64px}input[type=range]{accent-color:var(--accent)}.panel-frame,.player-card,.end-card,.movelist,.controls,.summary,.puzzle-card,.coach-card,.review-shape,.review-insight,.opening-card-panel,.sg-stage,.history-card,.review-progress-card,.modal,.palette,.menu-pop,.sg-layout-panel,.bento-frame{background:var(--surface-panel);border-radius:var(--radius-xl);border:1px solid #0000}.panel-frame.floating,.modal,.palette,.menu-pop{box-shadow:var(--shadow-xl)}.panel-head,.panel-body,.panel-foot{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.panel-head,.panel-foot{flex:none}.panel-body{flex:1 1 0;min-height:0;overflow-y:auto}.panel-head>*,.panel-body>*,.panel-foot>*{flex:none}.panel-body>:is(.movelist,.panel-fill){min-height:calc(2 * var(--space-10));flex:1 1 0}.panel-head:empty,.panel-foot:empty{display:none}.eyebrow,.level-name,.history-eyebrow,.history-mode,.analysis-status,.review-meter-who,.summary-mix-who,.promo-picker p,.puzzle-card-title,.lichess-ongoing-label,.palette-section-label,.keys-grid h3,.colour-group-label,.note-side,.queue-opening,.sg-h3,.end-reason,.note-players-label,.end-acc-title,.end-acc-name,.eyebrow-lg,.opening-card-title,.live-turn,.sound-tag,.import-outcome,.copy-btn,.frame-title,.stat-label,.setting-label{font-family:var(--face-ui);letter-spacing:var(--track-body);color:var(--ink-dim);font-weight:600}.eyebrow,.level-name,.history-eyebrow,.history-mode,.analysis-status,.review-meter-who,.summary-mix-who,.promo-picker p,.puzzle-card-title,.lichess-ongoing-label,.palette-section-label,.keys-grid h3,.colour-group-label,.note-side,.queue-opening,.sg-h3,.end-reason,.note-players-label,.end-acc-title,.end-acc-name,.live-turn,.sound-tag,.import-outcome,.copy-btn,.stat-label,.setting-label{font-size:var(--text-meta);font-weight:500}.eyebrow-lg,.opening-card-title,.frame-title{font-size:var(--text-heading);color:var(--ink);line-height:1.25}.history-eyebrow,.history-mode,.end-reason,.sg-h3{color:var(--accent)}.meta,.takeback-count,.player-sub,.play-opening,.graph-range,.puzzle-plays,.oops-note,.palette-hint,.strip-empty,.graph-empty,.review-opening,.book-share,.book-eval{color:var(--ink-dim);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.data,.stat-value,.clock-time,.drill-clock-secs,.status-eval,.move-num,.move-cell,.badge-rating,.captured-count,.captured-lead,.player-lead,.end-result,.end-acc-num,.note-san,.variation-num,.queue-moves,.engine-depth,.engine-line-eval,.puzzle-rating,.puzzle-delta,.lichess-rating,.lichess-elapsed,.game-card-rating,.review-player-acc,.review-meter-num,.review-move-rating,.opening-card-count,.count-up,.delta-pop,.acc-pair,.summary-count,.sound-volume-value,.kb-conv-big,.chart-row-value,.chart-axis-y,.chart-axis-x,.chart-axis-end,.cells-row-value,.games-chip-count,.games-source-count,.games-filters-count{font-family:var(--face-data);font-variant-numeric:tabular-nums}.chip,.sound-tag,.theme-chip,.branch-chip,.own-chip,.drill-reason,.puzzle-theme,.delta-pop,.pro-chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);color:var(--ink-dim);border:1px solid var(--line-strong);border-radius:var(--radius-pill);font-size:var(--text-xs);white-space:nowrap;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}a.chip,button.chip,label.chip,.puzzle-theme{cursor:pointer;transition:color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease), background-color var(--dur-base) var(--ease);background:0 0}a.chip:hover:not(.on),button.chip:hover:not(.on),label.chip:hover:not(.on),.puzzle-theme:hover:not(.on){color:var(--ink);border-color:var(--ink-faint)}label.chip{position:relative}label.chip>input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.chip.on,.copy-btn.copied,.puzzle-theme.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chip.tinted,.line-row.on .branch-chip,.book-choice.on .branch-chip,.own-chip,.pro-chip{background:var(--accent-faint);border-color:var(--accent-dim);color:var(--accent-bright)}.ghost-btn,.menu-pop button:not(.swatch):not(.chip),.link-btn,.review-reanalyse,.install-app{color:var(--ink-dim);background:0 0;border-color:#0000}.ghost-btn:hover:not(:disabled),.menu-pop button:not(.swatch):not(.chip):hover:not(:disabled),.link-btn:hover:not(:disabled),.review-reanalyse:hover,.install-app:hover,.import-month:hover{color:var(--ink);background:var(--surface-raised);border-color:var(--line-strong)}.actions,.end-actions,.puzzle-actions,.opening-actions,.modal-buttons,.profile-actions,.queue-actions,.analysis-actions,.lichess-bar-actions,.note-edit-actions,.opening-import-actions{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.actions.fill>*,.end-actions>*,.puzzle-actions>*,.opening-actions>*,.analysis-actions>*,.lichess-bar-actions>button{white-space:nowrap;text-align:center;flex:auto}.history-card-link:hover,.lineup-tile:hover,.lineup-tile:focus-visible,.line-row:hover,.engine-line-play:hover:not(:disabled),.queue-row:hover,.lichess-ongoing-game:hover,a.chart-row:hover,.game-card:hover,.legal-toc a:hover,a.setup-steps-row:hover,.profile-nav-link:hover{background-color:var(--surface-hover);border-color:var(--accent-dim)}.more-link,.insights-motif-links a,.puzzle-game-link,.drill-timed{font-size:var(--text-md);white-space:nowrap;font-weight:600}.empty-state,.history-empty,.review-state,.palette-empty{text-align:center;padding:var(--space-9);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state>.empty-state-mark,.history-empty>span,.review-state>span{color:var(--accent);font-size:var(--text-2xl);margin-bottom:var(--space-5)}.empty-state>h1,.empty-state>h2,.history-empty h2,.review-state h2{font-size:var(--text-lg);font-weight:600}.empty-state>p,.history-empty p,.review-state p,.palette-empty,.movelist-empty{max-width:42ch;line-height:1.5}.empty-state>p,.history-empty p,.review-state p{margin-top:var(--space-3);color:var(--ink-dim)}.empty-state-actions,.history-empty-actions,.opening-locked-actions,.puzzle-locked-actions{justify-content:center;gap:var(--space-4);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.empty-state>.history-primary-link,.history-empty>.history-primary-link,.review-state>.history-primary-link{margin-top:var(--space-6)}.history-lede{color:var(--ink-dim);margin-top:var(--space-2);max-width:68ch;line-height:1.5}.frame-prose,.history-lede,.sg-blurb,.note-text,.coach-body,.puzzle-coach-body,.review-insight-text,.opponent-card-blurb,.profile-account-blurb,.sound-option-blurb,.rating-line,.rush-result-line,.tease-sample,.welcome-say,.openings-say,.endgames-say{font-family:var(--face-prose)}.error-note,.import-error,.lichess-error,.review-error,.puzzle-error,.lichess-bar-error,.fen-error{color:var(--danger-ink);font-size:var(--text-sm);background:color-mix(in srgb, var(--danger) 10%, transparent);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);line-height:1.45}.loading-state{align-items:center;gap:var(--space-5);min-width:0;color:var(--ink-dim);font-size:var(--text-sm);display:flex}.loading-body{align-items:flex-start;gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.loading-ticker{color:var(--ink);font-family:var(--face-prose)}.loading-state[data-compact]{gap:var(--space-4)}.loading-state[data-compact] .loading-body{align-items:center;gap:var(--space-4);flex-direction:row}.loading-state[data-compact] .loading-ticker{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.danger-btn,.danger-btn:hover:not(:disabled){color:var(--danger-ink)}.danger-btn:hover:not(:disabled){border-color:var(--danger)}.sr-only,.review-control-input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:is(.history-page,.sg-page) :is(p,li,h1,h2,h3,dt,dd,th,td),:is(.history-page,.sg-page) :is(p,li,h1,h2,h3,dt,dd,th,td) *,.note-text,.note-text *,.note-players,.note-players *,.miss-aside,.coach-body,.coach-body *,.review-insight-text,.review-insight-text *,.history-matchup strong,.review-player strong,.game-players,.lichess-user,.profile-account-name,.legal-doc,.legal-doc *{-webkit-user-select:text;user-select:text}.text-link,.text-link:visited,a.primary,a.primary:visited,a.secondary,a.secondary:visited,.history-primary-link,.history-primary-link:visited,.more-link,.more-link:visited,.insights-motif-links a,.insights-motif-links a:visited,.puzzle-game-link,.puzzle-game-link:visited,.drill-timed,.drill-timed:visited,.sg-blurb a,.sg-blurb a:visited,.review-opening a,.review-opening a:visited,.history-actions a,.history-actions a:visited,.note-game a,.note-game a:visited,.review-made-with a,.review-made-with a:visited,.legal-prose a,.legal-prose a:visited{color:var(--ink);text-decoration-line:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:var(--link-underline);text-underline-offset:var(--link-offset);cursor:pointer;transition:color var(--dur-base) var(--ease), text-decoration-color var(--dur-base) var(--ease)}.text-link:hover,a.primary:hover,.history-primary-link:hover,.sg-blurb a:hover,.review-opening a:hover,.history-actions a:hover,.note-game a:hover,.review-made-with a:hover,.legal-prose a:hover{color:var(--accent-bright);-webkit-text-decoration-color:var(--accent-bright);text-decoration-color:var(--accent-bright)}.text-link.quiet,.text-link.quiet:visited,a.secondary,a.secondary:visited,.more-link,.more-link:visited,.insights-motif-links a,.insights-motif-links a:visited,.puzzle-game-link,.puzzle-game-link:visited,.drill-timed,.drill-timed:visited{color:var(--ink-dim);-webkit-text-decoration-color:var(--ink-faint);text-decoration-color:var(--ink-faint)}.text-link.quiet:hover,a.secondary:hover,.more-link:hover,.insights-motif-links a:hover,.puzzle-game-link:hover,.drill-timed:hover{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.text-link.go:after,a.primary.go:after,a.secondary.go:after{content:" →"}.text-link:focus-visible,a.primary:focus-visible,a.secondary:focus-visible,.history-primary-link:focus-visible,.more-link:focus-visible,.insights-motif-links a:focus-visible,.puzzle-game-link:focus-visible,.drill-timed:focus-visible,.sg-blurb a:focus-visible,.review-opening a:focus-visible,.history-actions a:focus-visible,.note-game a:focus-visible,.review-made-with a:focus-visible,.legal-prose a:focus-visible{outline:var(--focus-ring-clear);box-shadow:var(--ring-selected);border-radius:var(--radius-sm);-webkit-box-decoration-break:clone;box-decoration-break:clone}.key-chip{justify-content:center;align-items:center;gap:var(--space-4);font-family:var(--face-ui);font-size:var(--text-sm);letter-spacing:var(--track-body);text-transform:none;white-space:nowrap;color:var(--ink);background:var(--line);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-5);border:1px solid #0000;font-weight:500;display:inline-flex}.key-chip:hover:not(:disabled){border-color:var(--accent-dim)}.key-chip>.key-cap{font:inherit;font-family:var(--face-data);color:var(--accent);background:0 0;border:0;padding:0;font-weight:700}.key-chip>.key-cap:before{content:attr(data-cap)}.key-chip.primary>.key-cap{color:var(--accent-ink)}.key-chip>.crown-cap{align-items:center;display:inline-flex}.crown-cap>svg{fill:currentColor;width:1.5em;height:.875em;overflow:visible}.plan-chip.locked{color:var(--ink-dim)}.plan-chip.locked:hover:not(:disabled){color:var(--ink)}.plan-chip.locked:hover:not(:disabled)>.crown-cap{color:var(--accent-bright)}.key-tags{align-items:center;gap:var(--space-2);flex:none;display:inline-flex}.key-tag{font-family:var(--face-data);font-size:var(--text-xs);letter-spacing:var(--track-body);white-space:nowrap;color:var(--accent);background:var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);border:0;font-weight:700;line-height:1}.global-bar{align-items:center;gap:var(--space-6);height:var(--header-row);min-width:0;display:flex}.global-bar-end{align-items:center;gap:var(--space-4);flex:none;margin-left:auto;display:flex}.word-nav,.word-nav-words{white-space:nowrap;flex:none;align-items:center;display:flex}.word-nav{gap:var(--space-6);font-family:var(--face-ui);font-size:var(--text-sm);letter-spacing:var(--track-body);text-transform:none;font-weight:500}.word-nav-words{gap:var(--space-5);list-style:none}.wordmark{font-family:var(--face-data);letter-spacing:var(--track-tight);text-transform:none;color:var(--ink);font-weight:600;text-decoration:none}.wordmark-slash{color:var(--accent)}.palette-chip{flex:none}.live-chip{align-items:center;gap:var(--space-4);white-space:nowrap;min-width:0;font-size:var(--text-sm);display:flex}.live-dot{width:var(--space-4);height:var(--space-4);border-radius:var(--radius-round);background:var(--live);animation:var(--motion-live);flex:none}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.35}}.live-chip-sep{color:var(--ink-faint)}.live-chip-close{line-height:1}.live-chip-error{max-width:calc(12 * var(--space-6));text-overflow:ellipsis;overflow:hidden}@media (max-width:620px){.live-chip-who,.live-chip-sep,.live-chip-abandon,.live-chip-close,.live-chip-error{display:none}}.page-head{align-items:center;gap:var(--space-5);min-width:0;min-height:var(--page-head);display:flex}.page-head-title,.status-line>.status-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-title);letter-spacing:var(--track-tight);font-weight:600;line-height:1.2;overflow:hidden}.page-head-facts{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--face-data);font-size:var(--text-sm);color:var(--ink-dim);overflow:hidden}.page-head-actions{align-items:center;gap:var(--space-5);flex:none;margin-left:auto;display:flex}.page-back{white-space:nowrap;font-family:var(--face-ui);font-size:var(--text-sm);letter-spacing:var(--track-body);text-transform:none;flex:none;font-weight:500}.status-line>.status-text{flex:auto}.filter-group{align-items:center;gap:var(--space-3) var(--space-4);flex-wrap:wrap;min-width:0;display:flex}.filter-group-chips{gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.filter-groups{align-items:center;gap:var(--space-4) var(--space-7);flex-wrap:wrap;min-width:0;display:flex}@media (max-width:620px){.global-bar .palette-chip{display:none}.global-bar,.word-nav,.word-nav-words{gap:var(--space-4)}.page-head{flex-wrap:wrap}}.page-shell{width:min(var(--page-w-dashboard), 100%);min-height:100dvh;padding:var(--gutter);grid-template-rows:var(--header-row) var(--page-head) auto;align-content:start;gap:var(--space-6);margin:0 auto;display:grid}.page-shell>.global-bar{width:auto;margin:0;padding:0}.legal-contents .seg a,.games-import-via a,.queue-seg a,.new-game-pool a{min-width:0;padding:var(--space-2) var(--space-5);font-size:var(--text-md);color:var(--ink-dim);border-radius:var(--radius-sm);white-space:nowrap;flex:auto;font-weight:600;text-decoration:none}.legal-contents .seg a:hover:not(.on),.games-import-via a:hover:not(.on),.queue-seg a:hover:not(.on),.new-game-pool a:hover:not(.on){color:var(--ink)}.legal-contents .seg a.on,.games-import-via a.on,.queue-seg a.on,.new-game-pool a.on{color:var(--accent-ink);background:var(--accent)}.bento{gap:var(--space-5);align-items:start;min-width:0;display:grid}.bento-frame{gap:var(--space-5);min-width:0;min-height:0;padding:var(--space-6);flex-direction:column;display:flex;overflow:hidden}.bento-frame.hero{background:var(--surface-raised);gap:var(--space-6);padding:var(--space-8)}.bento-frame.hero .frame-title{font-size:var(--text-title);letter-spacing:var(--track-tight)}.hero-display{font-size:var(--text-display);letter-spacing:var(--track-tight);color:var(--ink);font-weight:600;line-height:1.1}.bento-frame>.panel-body{flex:auto}.frame-title-row{justify-content:space-between;align-items:center;gap:var(--space-5);min-width:0;display:flex}.frame-aside{align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--ink-dim);flex:none;display:flex}.frame-section{z-index:1;padding:var(--space-3) 0;background:var(--surface-panel);position:sticky;top:0}.hero>.panel-body>.frame-section,.hero .games-group>.frame-section,.hero>.panel-body>section>.frame-section{background:var(--surface-raised)}.stat-row{gap:var(--space-6);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.stat{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.stat-value{font-size:var(--text-2xl);letter-spacing:var(--track-tight);font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.stat-sm .stat-value{font-size:var(--text-xl)}.stat-note{font-size:var(--text-sm);color:var(--ink-dim)}.field{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.frame-prose{max-width:56ch;font-size:var(--text-md);color:var(--ink-dim);line-height:1.5}.frame-prose p+p{margin-top:var(--space-4)}@media (max-width:980px){.page-shell{grid-template-rows:auto}.page-head{flex-wrap:wrap}.page-shell .bento{grid-template:auto/minmax(0,1fr)}.page-shell .bento>.bento-frame,.page-shell .bento>.bento{grid-area:auto}.bento-frame>.panel-foot{background:0 0;border-top:none;padding:0;position:static}}@media (max-width:620px){.bento-frame.hero{padding:var(--space-6)}}:root,[data-motion=auto],[data-motion=playful]{--wp-bob:wp-bob calc(5 * var(--dur-lazy)) infinite;--wp-hop:wp-hop calc(4 * var(--dur-lazy)) infinite;--wp-tilt:wp-tilt calc(5 * var(--dur-lazy)) infinite;--wp-blink:wp-blink calc(10 * var(--dur-lazy)) infinite;--wp-dots:wp-dots calc(3 * var(--dur-lazy)) infinite;--wp-shock:wp-shock calc(2 * var(--dur-lazy)) infinite;--wp-drift:wp-drift calc(6 * var(--dur-lazy)) infinite;--motion-decode:calc(var(--dur-slow) + var(--dur-fast));--motion-burst:cell-burst calc(2 * var(--dur-lazy)) steps(8, end) both;--motion-shake:glyph-shake var(--dur-lazy) steps(6, end);--motion-toast:toast-in var(--dur-lazy) var(--ease-out);--motion-rise:rise-in var(--dur-lazy) var(--ease-out) both;--motion-wake:wp-asleep calc(4 * var(--dur-lazy));--motion-live:live-pulse calc(3 * var(--dur-lazy)) var(--ease) infinite}[data-motion=calm]{--wp-bob:wp-bob calc(5 * var(--dur-lazy)) infinite;--wp-hop:wp-bob calc(5 * var(--dur-lazy)) infinite;--wp-tilt:none;--wp-blink:wp-blink calc(10 * var(--dur-lazy)) infinite;--wp-dots:none;--wp-shock:none;--wp-drift:none;--motion-decode:calc(2 * var(--dur-slow));--motion-burst:none;--motion-shake:none;--motion-toast:none;--motion-rise:rise-in var(--dur-lazy) var(--ease-out) both;--motion-wake:wp-asleep calc(4 * var(--dur-lazy));--motion-live:live-pulse calc(3 * var(--dur-lazy)) var(--ease) infinite}[data-motion=still]{--wp-bob:none;--wp-hop:none;--wp-tilt:none;--wp-blink:none;--wp-dots:none;--wp-shock:none;--wp-drift:none;--motion-decode:0s;--motion-burst:none;--motion-shake:none;--motion-toast:none;--motion-rise:none;--motion-wake:none;--motion-live:none}@media (prefers-reduced-motion:reduce){:root:not([data-motion]),[data-motion=auto]{--wp-bob:none;--wp-hop:none;--wp-tilt:none;--wp-blink:none;--wp-dots:none;--wp-shock:none;--wp-drift:none;--motion-decode:0s;--motion-burst:none;--motion-shake:none;--motion-toast:none;--motion-rise:none;--motion-wake:none;--motion-live:none}}:root,[data-motion=auto],[data-motion=playful]{--motion-plans:plans-fill calc(var(--dur-slow) + var(--dur-fast)) steps(1, end) both;--motion-plans-cell:plans-cell var(--dur-fast) steps(2, end) both;--motion-plans-part:rise-in var(--dur-lazy) var(--ease-out) both;--motion-plans-pop:rise-in var(--dur-lazy) var(--ease-pop) both;--motion-plans-crown:plans-crown var(--dur-lazy) steps(4, end) both;--motion-plans-glint:plans-glint var(--dur-lazy) steps(4, end);--motion-plans-out:plans-fold var(--dur-slow) steps(5, end) both;--motion-plans-scrim-out:plans-scrim-out var(--dur-slow) linear both;--plans-intro:calc(var(--dur-slow) + var(--dur-fast));--plans-landing:calc(var(--dur-slow) + 4 * var(--dur-fast) + var(--dur-lazy))}[data-motion=calm]{--motion-plans:rise-in var(--dur-lazy) var(--ease-out) both;--motion-plans-cell:none;--motion-plans-part:rise-in var(--dur-lazy) var(--ease-out) both;--motion-plans-pop:none;--motion-plans-crown:none;--motion-plans-glint:none;--motion-plans-out:plans-sink var(--dur-base) linear both;--motion-plans-scrim-out:plans-scrim-out var(--dur-base) linear both;--plans-intro:var(--dur-fast);--plans-landing:0s}[data-motion=still]{--motion-plans:none;--motion-plans-cell:none;--motion-plans-part:none;--motion-plans-pop:none;--motion-plans-crown:none;--motion-plans-glint:none;--motion-plans-out:none;--motion-plans-scrim-out:none;--plans-intro:0s;--plans-landing:0s}@media (prefers-reduced-motion:reduce){:root:not([data-motion]),[data-motion=auto]{--motion-plans:none;--motion-plans-cell:none;--motion-plans-part:none;--motion-plans-pop:none;--motion-plans-crown:none;--motion-plans-glint:none;--motion-plans-out:none;--motion-plans-scrim-out:none;--plans-intro:0s;--plans-landing:0s}}.woodpusher{vertical-align:middle;flex:none;display:inline-block;overflow:visible}.wp-figure{fill:var(--wp-body,var(--accent))}.wp-collar{fill:color-mix(in srgb, var(--wp-body,var(--accent)) 78%, var(--shade))}.wp-crown{fill:var(--wp-crown)}.wp-crown-band{fill:var(--wp-crown-band)}.wp-face{fill:var(--wp-eye,transparent)}.wp-face [fill=none]{stroke:var(--wp-eye,transparent)}.wp-glint{stroke:var(--wp-glint,color-mix(in srgb, var(--wp-body,var(--accent)) 60%, transparent))}.wp-fx{fill:var(--wp-fx,var(--ink-dim))}.wp-fx [fill=none]{stroke:var(--wp-fx,var(--ink-dim))}.wp-figure,.wp-fx,.wp-eyes{transform-box:fill-box;transform-origin:50% 100%}.wp-eyes{transform-origin:50%}.woodpusher:is([data-pose=idle],[data-pose=think],[data-pose=side],[data-pose=shocked]) .wp-figure{animation:var(--wp-bob)}.woodpusher[data-pose=up] .wp-figure{animation:var(--wp-hop)}.woodpusher[data-pose=down] .wp-figure{animation:var(--wp-tilt)}.woodpusher:is([data-pose=idle],[data-pose=think]) .wp-eyes{animation:var(--wp-blink)}.woodpusher[data-pose=think] .wp-fx{animation:var(--wp-dots);animation-delay:calc((var(--wp-i,0) - 2) * var(--dur-lazy))}.woodpusher[data-pose=shocked] .wp-fx{animation:var(--wp-shock);animation-delay:calc((var(--wp-i,0) - 3) * var(--dur-fast))}.woodpusher[data-pose=sleep] .wp-fx{animation:var(--wp-drift);animation-delay:calc((var(--wp-i,0) - 2) * 3 * var(--dur-lazy))}@keyframes wp-bob{0%,to{animation-timing-function:var(--ease);transform:translateY(0)}50%{animation-timing-function:var(--ease);transform:translateY(-2px)}}@keyframes wp-hop{0%,44%,to{transform:none}8%{animation-timing-function:var(--ease-out);transform:scale(1.06,.92)}20%{animation-timing-function:var(--ease);transform:translateY(-9px)scale(.96,1.05)}32%{animation-timing-function:var(--ease-out);transform:scale(1.05,.94)}}@keyframes wp-tilt{0%,to{animation-timing-function:var(--ease);transform:rotate(0)}50%{animation-timing-function:var(--ease);transform:rotate(2deg)}}@keyframes wp-blink{0%,92%,98%,to{transform:none}95%{transform:scaleY(.1)}}@keyframes wp-dots{0%,to{opacity:1;animation-timing-function:var(--ease)}50%{opacity:.25;animation-timing-function:var(--ease)}}@keyframes wp-shock{0%,to{opacity:1;transform:none}50%{opacity:.4;transform:translateY(1px)}}@keyframes wp-drift{0%{opacity:0;transform:translate(0)}20%{opacity:1}70%{opacity:1}to{opacity:0;transform:translate(3px,-6px)}}.wp-line{align-items:flex-start;gap:var(--space-4);display:flex}.wp-line-pawn{margin-top:var(--space-1)}.wp-line-text{min-width:0}.plan-pitch>.wp-line{text-align:start;justify-content:center}.stat-value>.woodpusher{margin-right:var(--space-3)}.plan-offer{align-items:flex-start;gap:var(--space-4);display:flex}.wp-wake{flex:none;display:inline-grid}.wp-wake>.woodpusher{grid-area:1/1}.wp-wake-sleep{opacity:0;animation:var(--motion-wake)}.wp-wake-idle{animation:var(--motion-wake);animation-name:wp-awake}@keyframes wp-asleep{0%,to{opacity:1}}@keyframes wp-awake{0%,to{opacity:0}}.bot-portrait{vertical-align:middle;fill:var(--wp-body,var(--accent));flex:none;display:inline-block;overflow:visible}.web-mark{vertical-align:middle;fill:none;stroke:var(--wp-body,var(--accent));stroke-width:7px;stroke-linecap:round;flex:none;display:inline-block}.bp-tone:not([fill=none]){fill:color-mix(in srgb, var(--wp-body,var(--accent)) 78%, var(--shade))}.bp-tone[fill=none]{stroke:color-mix(in srgb, var(--wp-body,var(--accent)) 78%, var(--shade))}.bp-gold{fill:var(--wp-crown)}.bp-gold-deep{fill:var(--wp-crown-band)}.bp-ink:not([fill=none]){fill:var(--ink)}.bp-ink[fill=none]{stroke:var(--ink)}.cell-burst{z-index:50;pointer-events:none;width:0;height:0;position:fixed}.cell-burst-cell{left:calc(var(--space-3) / -2);top:calc(var(--space-3) / -2);width:var(--space-3);height:var(--space-3);background:var(--accent);animation:var(--motion-burst);animation-delay:calc(var(--burst-i,0) * var(--dur-fast) / 10);position:absolute}.cell-burst-cell.ink{background:var(--ink)}@keyframes cell-burst{0%{opacity:1;transform:translate(0)}70%{opacity:1}to{transform:translate(var(--burst-x,0), var(--burst-y,0));opacity:0}}.glyph-shake{animation:var(--motion-shake)}@keyframes glyph-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.rise-in{animation:var(--motion-rise);animation-delay:calc(var(--rise-i,0) * var(--dur-fast) / 3)}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(-16px)}to{opacity:1;transform:translate(-50%)}}:root,[data-motion=auto],[data-motion=playful],[data-motion=calm]{--cell-step:var(--dur-fast);--cell-fill:background-color var(--dur-fast) steps(1);--cell-run:cell-run var(--dur-lazy) infinite;--cell-blink:cell-blink calc(3 * var(--dur-lazy)) step-end infinite}[data-motion=still]{--cell-step:0s;--cell-fill:none;--cell-run:none;--cell-blink:none}@media (prefers-reduced-motion:reduce){:root:not([data-motion]),[data-motion=auto]{--cell-step:0s;--cell-fill:none;--cell-run:none;--cell-blink:none}}.puzzle-log,.endgame-strikes,.cells-chip,.cells-meter,.cells-column,.cells-graph,.cells-strip,.cells-results,.cells-load,.cells-streak,.cells-run,.cells-line,.cells-tally,.cells-split,.cells-histogram,.cells-heatmap{--cell-off:var(--line);--cell-on:var(--ink);gap:var(--cell-gap);display:flex}[data-cell=ink]{--cell-on:var(--ink)}[data-cell=muted]{--cell-on:var(--ink-dim)}[data-cell=good]{--cell-on:var(--status-good)}[data-cell=hmm]{--cell-on:var(--status-hmm)}[data-cell=blunder]{--cell-on:var(--status-blunder)}[data-cell=accent]{--cell-on:var(--accent)}.cell{width:var(--cell-size);height:var(--cell-size);background-color:var(--cell-off);transition:var(--cell-fill);transition-delay:calc(var(--cell-i,0) * var(--cell-step) / 4);flex:none;display:block}.cell.on{background-color:var(--cell-on)}.cells-chip{--cell-off:var(--surface-page);align-items:center}.cells-chip>.cell{width:var(--cell-sm);height:var(--cell-sm)}.cells-chip[data-last]>.cell.on{animation:var(--cell-blink)}.primary>.cells-chip{--cell-on:var(--accent-ink);--cell-off:color-mix(in srgb, var(--accent-ink) 25%, transparent)}@keyframes cell-blink{0%{background-color:var(--cell-on)}50%{background-color:var(--cell-off)}}.cells-meter{align-items:stretch}.cells-meter>.cell{width:var(--cell-sm);height:var(--cell-size)}.cells-column{flex-direction:column;width:100%;height:100%}.cells-column>.cell{flex:1 1 0;width:100%;height:auto;min-height:1px}.cells-column.off{--cell-on:var(--line-strong)}.cells-graph{width:100%;height:100%;min-height:calc(2 * var(--cell-half,5) * var(--cell-sm));justify-content:space-around;column-gap:min(var(--cell-gap), calc(20% / var(--cell-n,1)));position:relative}.cells-graph-col{min-width:1px;max-width:var(--cell-col-max);gap:var(--cell-gap);flex-direction:column;flex:1 1 0;display:flex;position:relative}.cells-graph-col>.cell{flex:1 1 0;width:100%;height:auto;min-height:1px}.cells-graph-mid{background:var(--line-strong);flex:none;height:1px}.cells-graph[data-fit]{contain:inline-size;justify-content:flex-start;align-items:flex-start;column-gap:var(--cell-fit-gap);min-width:0;padding-block-start:var(--cell-fit-top);padding-inline-start:var(--cell-fit-offset)}.cells-graph[data-fit]>.cells-graph-col{width:var(--cell-fit-col);gap:var(--cell-fit-row-gap);flex:none;max-width:none}.cells-graph[data-fit]>.cells-graph-col>.cell{height:var(--cell-fit-row);flex:none}.cells-graph[data-fit]>.cells-graph-col>.cells-graph-mid{height:var(--cell-fit-mid)}.cells-graph-col[data-pad]>.cells-graph-mid{background:0 0}.cells-graph-col[data-selected]{--cell-off:var(--accent-faint)}.cells-graph-col[data-selected]>.cells-graph-mid{background:var(--accent)}.cells-graph-col[data-hover]{--cell-off:var(--line-strong)}.cells-graph .cell[data-peak]{background-color:var(--accent)}.cells-graph[data-seekable]{cursor:pointer}.cells-graph-tip{top:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--surface-page);color:var(--ink);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;z-index:1;position:absolute}.cells-graph-tip[data-side=start]{left:0}.cells-graph-tip[data-side=end]{right:0}.cells-strip{height:var(--cell-strip-h);align-items:stretch;gap:1px}.cells-strip>.cell{width:auto;max-width:var(--cell-sm);flex:1 1 0;min-width:1px;height:100%}.cells-strip>.cell[data-brilliant]{box-shadow:inset 0 1px 0 var(--accent)}.cells-tally{flex-wrap:wrap}.cells-tally>.cell{width:var(--cell-sm);height:var(--cell-sm)}.cells-tally>.cell[data-brilliant],.move-quality[data-brilliant]{box-shadow:inset 0 var(--space-1) 0 var(--accent)}.cells-results>.cell{width:var(--cell-lg);height:var(--cell-lg)}.cells-load>.cell{width:var(--cell-sm);height:var(--cell-sm)}.cells-load[data-mode=indeterminate]>.cell{animation:var(--cell-run);animation-duration:calc(2 * var(--cell-n,12) * var(--dur-fast));animation-delay:calc(var(--cell-i,0) * var(--dur-fast))}.cells-streak>.cell{width:var(--cell-sm);height:var(--cell-sm)}.cells-streak>.cell[data-cell=accent]:not(.on){box-shadow:inset 0 0 0 1px var(--accent)}.cells-run,.cells-line{flex-wrap:wrap}.cells-run>.cell,.cells-line>.cell{width:var(--cell-sm);height:var(--cell-sm)}@keyframes cell-run{0%{background-color:var(--cell-on);animation-timing-function:step-end}50%,to{background-color:var(--cell-off);animation-timing-function:step-end}}.sg-cells-graph{width:100%;height:calc(2 * var(--space-10) + var(--space-6));display:block}.sg-cells-column{width:var(--evalbar-w);height:calc(20 * var(--space-4));display:block}.sg-cells-step{cursor:pointer;background:0 0;border:0;padding:0}.cells-split>.cell{width:var(--cell-sm);height:var(--cell-size)}.cells-split.wrap{flex-wrap:wrap}.cells-split.wrap>.cell{height:var(--cell-sm)}.cells-rows{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cells-row{align-items:center;gap:var(--space-1) var(--space-5);grid-template-columns:minmax(0,2fr) minmax(0,3fr) auto;display:grid}.cells-row-label{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cells-row-value{color:var(--ink);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:right}.cells-row-note{grid-column:1/-1}.cells-row>.cells-meter,.cells-row>.cells-split{min-width:0}.cells-row>.cells-meter>.cell,.cells-row>.cells-split>.cell{width:auto;min-width:1px;max-width:var(--cell-sm);flex:1 1 0}.cells-histogram{align-items:flex-end;width:100%}.cells-histogram-col{gap:var(--space-2);min-width:0;color:inherit;flex-direction:column;flex:1 1 0;text-decoration:none;display:flex}.cells-histogram-stack{gap:var(--cell-gap);flex-direction:column;display:flex}.cells-histogram-stack>.cell{width:100%;height:var(--cell-sm)}.cells-histogram-label,.cells-histogram-text{color:var(--ink-dim);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;overflow:hidden}a.cells-histogram-col:hover{--cell-off:var(--line-strong)}.cells-heatmap{grid-template-columns:repeat(var(--heat-cols,1), minmax(0, 1fr));grid-template-rows:repeat(var(--heat-rows,1), auto);width:100%;max-width:calc(var(--heat-cols,1) * (var(--cell-size) + var(--cell-gap)));grid-auto-flow:column;display:grid}.cells-heatmap>.cell{aspect-ratio:1;width:100%;height:auto}.cells-heatmap>.cell[data-level="1"]{--cell-heat:30%}.cells-heatmap>.cell[data-level="2"]{--cell-heat:55%}.cells-heatmap>.cell[data-level="3"]{--cell-heat:80%}.cells-heatmap>.cell[data-level="4"]{--cell-heat:100%}.cells-heatmap>.cell.on{background-color:color-mix(in srgb, var(--cell-on) var(--cell-heat), var(--cell-off))}.cells-heatmap>a.cell:hover{box-shadow:inset 0 0 0 1px var(--ink)}.cells-results>a.cell:hover{box-shadow:inset 0 0 0 1px var(--accent)}.cells-empty{margin:0}.app{flex-direction:column;min-height:100vh;display:flex}.app>.global-bar,.app>.page-head{width:min(var(--page-w-dashboard), 100%);padding-inline:var(--gutter);flex:none;margin-inline:auto}.app>.global-bar{margin-top:var(--gutter)}.app>.page-head{margin-top:var(--space-6)}.status-line{align-items:center;gap:var(--space-4);padding:0 var(--space-1);display:flex}.status-dot{border-radius:var(--radius-round);background:var(--accent);flex:none;width:6px;height:6px}.status-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.status-eval{font-variant-numeric:tabular-nums;letter-spacing:var(--track-body);font-size:var(--text-md);color:var(--ink);background:var(--surface-raised);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-4);flex:none;margin-left:auto}.status-line.over{color:var(--accent-bright)}.status-line.over .status-dot{background:var(--ink-dim)}.layout{--layout-pad:var(--space-8);--layout-row-gap:var(--space-5);--layout-col-gap:var(--space-7);--board-size:min(var(--board-ceiling), calc(100dvh - var(--global-bar-slot) - 2 * var(--layout-pad) - var(--page-head) - var(--layout-row-gap)), calc(100vw - 2 * var(--layout-pad) - var(--board-inset) - var(--layout-col-gap) - var(--panel-w)));grid-template-columns:minmax(0, calc(var(--board-size) + var(--board-inset))) var(--panel-w);gap:var(--layout-row-gap) var(--layout-col-gap);padding:var(--layout-pad);flex:1;grid-template-rows:auto auto;place-content:center;align-items:start;display:grid}.layout>.status-line,.review-layout>.status-line,.review-player-top,.review-player-bottom,.play-seat{margin-left:var(--board-inset);padding-inline:0}.layout>.status-line{grid-area:1/1}.layout>.status-line,.review-layout>.status-line{min-height:var(--page-head)}.layout,.review-layout{--board-inset:var(--flank-full)}.puzzle-layout,.opening-layout,.endgame-layout,.layout[data-eval=blind]{--board-inset:var(--flank-bare)}.board-row{gap:var(--board-row-gap);align-items:stretch;min-width:0;display:flex}.layout>.board-row{grid-area:2/1}.board-row .board-stack{flex:1;min-width:0}.board-stack{flex-direction:column;min-width:0;display:flex}.board-wrap{width:100%;position:relative}[data-coords=off]{--coord-layer:none;--coord-size:0;--coord-fade:0;--coord-part:static;--coord-offedge:none}[data-coords=edges]{--coord-layer:block;--coord-size:20cqh;--coord-fade:1;--coord-part:absolute;--coord-offedge:none}[data-coords=all]{--coord-layer:block;--coord-size:17cqh;--coord-fade:.5;--coord-part:static;--coord-offedge:inline}.coord-layer{pointer-events:none;z-index:4;display:var(--coord-layer,none);font-weight:600;line-height:1;position:absolute;inset:0}.coord-cell{width:12.5%;height:12.5%;opacity:var(--coord-fade,1);justify-content:center;align-items:center;gap:.05em;display:flex;position:absolute;container-type:size}.coord-cell.on-dark{color:var(--coord-on-dark)}.coord-cell.on-light{color:var(--coord-on-light)}.board-wrap [data-piece],.mini-piece{filter:var(--piece-shadow)}.coord-file,.coord-rank{font-size:var(--coord-size,20cqh);position:var(--coord-part,absolute)}.coord-file{bottom:3%;right:7%}.coord-rank{top:3%;left:7%}.coord-cell:not(.edge-file) .coord-file,.coord-cell:not(.edge-rank) .coord-rank{display:var(--coord-offedge,none)}.captured-counter{width:var(--captured-w);contain:size;flex-direction:column;flex:none;align-self:stretch;min-height:0;display:flex;overflow:hidden}.captured-tray{align-items:center;gap:var(--space-3);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.captured-tray.top{justify-content:flex-start}.captured-tray.bottom{justify-content:flex-end}.captured-pieces{align-items:center;gap:var(--space-1);min-height:0;padding:var(--space-1);background:var(--sq-light);border:1px solid var(--line-strong);border-radius:var(--radius-sm);flex-direction:column;display:flex}.captured-piece{flex:none;width:22px;height:22px;position:relative}.captured-piece :is(svg,img){width:100%;height:100%;display:block}.captured-count{right:calc(-1 * var(--space-2));bottom:calc(-1 * var(--space-1));min-width:var(--space-5);padding:0 var(--space-1);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;text-align:center;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-pill);font-weight:700;line-height:1.3;position:absolute}.captured-lead{font-size:var(--text-md);font-variant-numeric:tabular-nums;color:var(--accent-bright);background:rgba(var(--accent-rgb), .12);border:1px solid rgba(var(--accent-rgb), .28);border-radius:var(--radius-sm);padding:0 var(--space-2);flex:none;font-weight:600;line-height:1.5}.move-layer{pointer-events:none;z-index:5;position:absolute;inset:0}.move-mark{width:12.5%;height:12.5%;animation:move-mark-in var(--dur-base) var(--ease-out) both;background-color:var(--legal-bg);background-image:var(--legal-img);place-items:center;display:grid;position:absolute}.move-mark:before{content:"";width:var(--legal-size);height:var(--legal-size);border-radius:var(--legal-radius);background:var(--legal-fill);box-shadow:var(--legal-ring)}.move-mark.capture{background-color:var(--capture-bg);background-image:var(--capture-img)}.move-mark.capture:before{width:var(--capture-size);height:var(--capture-size);border-radius:var(--capture-radius);background:var(--capture-fill);box-shadow:var(--capture-ring)}@keyframes move-mark-in{0%{transform:scale(.7)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.move-mark{animation:none}}.premove-ghost{pointer-events:none;z-index:6;opacity:.45;width:12.5%;height:12.5%;animation:premove-ghost-in var(--dur-base) var(--ease-out) both;position:absolute}.premove-ghost>*{width:100%;height:100%}@keyframes premove-ghost-in{0%{opacity:0;transform:scale(.85)}to{opacity:.45;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.premove-ghost{animation:none}}.sq-hint{z-index:4;pointer-events:none;width:12.5%;height:12.5%;box-shadow:inset 0 0 0 var(--space-2) rgba(var(--hint-rgb), .9), inset 0 0 var(--space-6) rgba(var(--hint-rgb), .55);animation:hint-breathe calc(2 * var(--dur-lazy)) var(--ease) infinite alternate;position:absolute}@keyframes hint-breathe{0%{opacity:1}to{opacity:.45}}@media (prefers-reduced-motion:reduce){.sq-hint{animation:none}}.arrow-layer{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.review-arrows{z-index:9}.layout[data-eval=blind]{--eval-room:0;--eval-visibility:hidden}@media (prefers-reduced-motion:no-preference){.layout[data-eval=live]{--eval-reveal:var(--dur-lazy) var(--ease-out)}}.evalbar,.status-eval,.board-quality-badge{opacity:var(--eval-room,1);visibility:var(--eval-visibility,visible)}.status-eval{transition:opacity var(--eval-reveal), visibility var(--eval-reveal)}.layout>.status-line{transition:margin-left var(--eval-reveal)}.movelist .badge{animation:overlay-in var(--eval-reveal) both}.evalbar{width:calc(var(--evalbar-w) * var(--eval-room,1));margin-right:calc((var(--eval-room,1) - 1) * var(--board-row-gap));transition:width var(--eval-reveal), margin-right var(--eval-reveal), opacity var(--eval-reveal), visibility var(--eval-reveal);font:inherit;color:inherit;appearance:none;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:none;align-self:stretch;padding:0;display:flex;position:relative}.evalbar:focus-visible{border-radius:var(--radius-pill)}.evalbar>.cells-column{min-height:calc(20 * var(--space-4));flex:1}.evalbar:hover>.cells-column{--cell-off:var(--line-strong)}.evalbar.off:hover>.cells-column{--cell-on:color-mix(in srgb, var(--line-strong) 70%, var(--ink-faint))}.panel,.review-panel-slot{align-self:stretch;min-width:0;position:relative}.panel{grid-area:2/2}.panel-inner,.review-side{gap:var(--space-5);flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}.panel-inner>:not(.panel-body){flex:none}.panel-inner>.movelist{flex:1 1 0;min-height:90px}.end-card,.puzzle-card,.opening-card-panel{padding:var(--space-5) var(--space-6)}.end-card{gap:var(--space-4);border-color:var(--line-strong);animation:surface-in var(--dur-slow) var(--ease-out) both;flex-direction:column;flex:none;display:flex}.end-meta{justify-content:space-between;align-items:center;gap:var(--space-4);min-width:0;display:flex}.end-reveal{animation:badge-pop var(--dur-slow) var(--ease-pop) both}.end-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.end-title{font-size:var(--text-xl);letter-spacing:var(--track-tight);font-weight:600;line-height:1.1}.end-card:not(.resume-card) .end-title{font-size:var(--text-2xl)}.end-result{color:var(--ink-dim);font-size:var(--text-base);font-variant-numeric:tabular-nums}.end-accuracy{align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-block:1px solid var(--line);animation:overlay-in var(--eval-reveal) both;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.end-acc{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.end-acc[data-side=b]{text-align:right;align-items:flex-end}.end-acc-num{font-size:var(--text-xl);letter-spacing:var(--track-tight);color:var(--accent-bright);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.end-acc-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.end-actions{margin-top:var(--space-2)}.end-actions>.end-review{flex-basis:100%}.play-seat{display:none}.player-card{align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-5);transition:border-color var(--dur-slow) var(--ease), box-shadow var(--dur-slow) var(--ease), background-color var(--dur-slow) var(--ease);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.player-card.lit{border-color:var(--accent-dim);background:var(--surface-sunken);box-shadow:var(--ring-accent), inset var(--edge-w) 0 0 var(--accent)}.player-card:has(.clock-time.low){border-color:var(--danger);box-shadow:var(--ring-danger), inset var(--edge-w) 0 0 var(--danger), 0 0 var(--space-7) color-mix(in srgb, var(--danger) 12%, transparent)}.player-id{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.player-line{align-items:baseline;gap:var(--space-3);min-width:0;display:flex}.player-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-base);color:var(--ink);font-weight:600;overflow:hidden}.player-title{color:var(--accent);font-size:var(--text-sm);flex:none;font-weight:700}.player-lead{color:var(--ink-dim);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex:none;font-weight:600}.player-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clock-time{font-size:var(--text-xl);letter-spacing:var(--track-body);color:var(--ink-dim);font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.player-card.lit .clock-time{color:var(--accent-bright)}.player-card .clock-time.low{color:var(--danger-ink)}.player-portrait{width:var(--icon-btn);height:var(--icon-btn);border-radius:var(--radius-round);font-size:var(--text-lg);flex:none;place-items:center;font-weight:700;line-height:1;display:grid;position:relative}.player-portrait[data-side=w]{background:var(--side-white);color:var(--side-black)}.player-portrait[data-side=b]{background:var(--side-black);color:var(--side-white);box-shadow:inset 0 0 0 1px var(--line-strong)}.player-king{width:70%;height:70%}.player-portrait[data-kind=bot]{background:var(--accent-faint);color:var(--accent-bright);box-shadow:inset 0 0 0 1px var(--accent-dim)}.player-portrait[data-kind=bot]:after{content:"";right:calc(-1 * var(--space-1));bottom:calc(-1 * var(--space-1));width:var(--space-5);height:var(--space-5);border-radius:var(--radius-round);background:var(--side-white);box-shadow:0 0 0 var(--space-1) var(--surface-panel), inset 0 0 0 1px var(--line-strong);position:absolute}.player-portrait[data-kind=bot][data-side=b]:after{background:var(--side-black)}.game-intro{padding:var(--space-8) var(--space-6);margin-block:auto}.game-intro-portrait{width:calc(var(--space-10) + var(--space-6));height:calc(var(--space-10) + var(--space-6));font-size:var(--text-2xl)}.game-intro h2 .player-title{margin-right:var(--space-3)}.game-intro>.game-intro-sub{margin-top:var(--space-1);color:var(--accent);font-weight:600}.game-intro-facts{justify-content:center;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;list-style:none;display:flex}.game-intro>.game-intro-nudge{margin-top:var(--space-6);color:var(--ink);font-weight:600}.play-voice{min-height:var(--space-9);padding:0 var(--space-5);color:var(--ink);font-family:var(--face-prose);font-size:var(--text-md);align-items:center;display:flex}.play-opening{padding:0 var(--space-2);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.play-panel .eval-graph{height:calc(var(--space-10) + var(--space-6));animation:overlay-in var(--eval-reveal) both}@media (prefers-reduced-motion:reduce){.end-reveal{animation:none}}.movelist{flex-direction:column;min-height:180px;display:flex;overflow:hidden}.movelist-nav{gap:var(--space-1);padding:var(--space-1) var(--space-4);border-bottom:1px solid var(--line);display:flex}.movelist.nav-bottom>.movelist-nav{border-bottom:0;border-top:1px solid var(--line)}.movelist-nav button{padding:var(--space-1) 0;font-size:var(--text-sm);border-radius:var(--radius-sm);flex:1}.movelist-scroll{min-height:0;padding:var(--space-4) var(--space-5);flex:1 1 0;overflow-y:auto}.movelist-empty{color:var(--ink-dim);font-size:var(--text-base);padding:var(--space-4) var(--space-2)}.movelist table{border-collapse:collapse;width:100%}.move-num{color:var(--ink-faint);font-size:var(--text-sm);font-variant-numeric:tabular-nums;width:2.2em}.move-cell{padding:var(--space-1) var(--space-4);border-radius:var(--radius-sm);font-weight:500;font-size:var(--text-base);align-items:center;gap:var(--space-2);background:0 0;border:none;display:inline-flex}.move-cell:hover{background:color-mix(in srgb, var(--ink) 5%, transparent);border:none}.move-cell.active{background:rgba(var(--hl-last-rgb), .14);box-shadow:inset 0 0 0 1px rgba(var(--hl-last-rgb), .4);color:rgb(var(--hl-last-rgb));outline:none}.move-quality{--cell-off:var(--line);width:var(--cell-sm);height:var(--cell-sm)}.movelist-cells .move-cell.active{background:color-mix(in srgb, var(--accent) 16%, transparent);box-shadow:inset 0 0 0 1px var(--accent)}.badge{font-size:.85em;font-weight:800}.badge-rating{font-variant-numeric:tabular-nums;font-size:.92em;font-weight:700}.controls{gap:var(--space-5);padding:var(--space-5);flex-direction:column;display:flex}.setup-line{justify-content:space-between;align-items:center;gap:var(--space-4);padding-right:var(--space-7);display:flex}.link-btn{padding:var(--space-1) var(--space-1);font-size:var(--text-sm);color:var(--ink-dim);border-radius:var(--radius-sm);background:0 0;border:none;font-weight:500}.link-btn:hover:not(:disabled){color:var(--ink);background:0 0}.link-btn:disabled{opacity:.4}.seg{gap:var(--space-1);padding:var(--space-1);background:var(--surface-page);border:1px solid var(--line);border-radius:var(--radius-md);display:flex}.seg button,.seg a{min-width:0;padding:var(--space-2) var(--space-3);font-size:var(--text-md);color:var(--ink-dim);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:auto;font-weight:600;overflow:hidden}.seg a{text-align:center;text-decoration:none}.seg button:hover:not(.on),.seg a:hover:not(.on){color:var(--ink);background:0 0}.seg button.on,.seg a.on{color:var(--accent-ink);background:var(--accent)}.side-dot,.swatch,.movelist-nav button{position:relative}.side-dot:before,.swatch:before,.movelist-nav button:before{content:"";width:max(100%, var(--hit-min));height:max(100%, var(--hit-min));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.side-pick{align-items:center;gap:var(--space-3) var(--space-4);flex-wrap:wrap;min-width:0;display:flex}.side-dot{border-radius:var(--radius-round);border:1px solid var(--line-strong);width:19px;height:19px;transition:box-shadow var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);padding:0;box-shadow:0 0 #0000}.side-w{background:var(--side-white)}.side-b{background:var(--side-black)}.side-dot:hover:not(.on){border-color:var(--ink-dim)}.side-dot.on{border-color:var(--accent);box-shadow:var(--ring-halo)}.level-read{align-items:baseline;gap:var(--space-3);white-space:nowrap;display:flex}.level-read b{font-size:var(--text-base);color:var(--accent-bright);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.level-range{appearance:none;cursor:pointer;background:0 0;width:100%;height:12px}.level-range::-webkit-slider-runnable-track{border-radius:var(--radius-xs);background:linear-gradient(to right, var(--accent) var(--fill), var(--line-strong) var(--fill));height:3px}.level-range::-moz-range-track{border-radius:var(--radius-xs);background:linear-gradient(to right, var(--accent) var(--fill), var(--line-strong) var(--fill));height:3px}.level-range::-webkit-slider-thumb{appearance:none;width:11px;height:11px;margin-top:calc(-1 * var(--space-2));border-radius:var(--radius-round);background:var(--accent-bright);border:none}.level-range::-moz-range-thumb{border-radius:var(--radius-round);background:var(--accent-bright);border:none;width:11px;height:11px}.level-range:focus-visible::-webkit-slider-thumb{box-shadow:var(--ring-halo)}.level-range:focus-visible::-moz-range-thumb{box-shadow:var(--ring-halo)}.setup{gap:var(--space-5);flex-direction:column;display:flex}.setup>.start-game{align-self:flex-start}.chips{gap:var(--space-3);flex-wrap:wrap;display:flex}.start-btn{padding:var(--space-4) var(--space-5);font-size:var(--text-base);flex-direction:column;align-items:center;gap:1px;display:flex}.start-btn-sub{font-size:var(--text-xs);letter-spacing:var(--track-label);opacity:.65;font-variant-numeric:tabular-nums;font-weight:500}.opponent-lineup,.side-lineup{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.lineup-tile{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-4) var(--space-2) var(--space-3);color:var(--ink-dim);background:var(--surface-raised);border-radius:var(--radius-md);transition:background var(--dur-fast) var(--ease), box-shadow var(--dur-base) var(--ease);border:1px solid #0000;flex-direction:column;display:flex}.lineup-tile.on,.lineup-tile.on:hover{color:var(--ink);background:var(--surface-sunken);box-shadow:var(--ring-accent), inset 0 calc(-1 * var(--edge-w)) 0 var(--accent)}.lineup-tile>.bot-portrait,.lineup-tile>.web-mark{width:var(--space-10);height:var(--space-10)}.lineup-name{max-width:100%;font-size:var(--text-meta);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.opponent-card{gap:var(--space-5);padding:var(--space-5) var(--space-6);background:var(--surface-raised);border-radius:var(--radius-md);flex-direction:column;display:flex}.opponent-card-head{align-items:center;gap:var(--space-5);display:flex}.opponent-card-head>.bot-portrait,.opponent-card-head>.web-mark{width:calc(var(--space-10) + var(--space-6));height:calc(var(--space-10) + var(--space-6))}.opponent-card-id{gap:var(--space-1);flex-direction:column;flex:auto;min-width:0;display:flex}.opponent-card-name{font-size:var(--text-title);font-weight:600}.opponent-card-blurb{margin:0}.opponent-facts{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.opponent-fact{align-items:center;gap:var(--space-5);grid-template-columns:minmax(0,1fr) auto;display:grid}.opponent-fact>dd{justify-content:flex-end;align-items:center;gap:var(--space-4);min-width:0;margin:0;display:flex}.opponent-fact>dd>.level-range{width:calc(20 * var(--cell-sm) + 19 * var(--cell-gap))}.opponent-book,.opponent-record{gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr)}.opponent-book>dd,.opponent-record>dd{justify-content:flex-start}.opponent-record+.opponent-fact,.opponent-book+.opponent-record{border-top:0;padding-top:0}.new-game-lichess>.new-game-pool{align-self:flex-start}.history-page{width:min(var(--page-w), calc(100% - 2 * var(--gutter)));min-height:100%;padding:var(--space-10) 0 calc(var(--space-10) + var(--space-9));margin:0 auto}.history-header{align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-8);display:flex}.history-eyebrow{margin-bottom:var(--space-2)}.history-header h1{font-size:clamp(var(--text-xl), 4vw, var(--text-2xl));letter-spacing:var(--track-tight);font-weight:600}.history-tabs{gap:var(--space-2);margin-bottom:var(--space-7);border-bottom:1px solid var(--line);display:flex}.history-tabs button,.history-tabs a{padding:var(--space-4) var(--space-5);font-size:var(--text-base);color:var(--ink-dim);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;font-weight:600;text-decoration:none}.history-tabs button:hover:not(.on),.history-tabs a:hover:not(.on){color:var(--ink);background:0 0}.history-tabs button.on,.history-tabs a.on{color:var(--accent-bright);border-bottom-color:var(--accent)}.import-bar{justify-content:space-between;align-items:baseline;gap:var(--space-5);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.live-status,.import-status{color:var(--ink-dim);font-size:var(--text-md)}.live-side-dot,.import-side{cursor:inherit;justify-self:center;display:block}.live-turn{color:var(--accent-ink);background:var(--accent);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-4);white-space:nowrap}.live-waiting{color:var(--ink-dim);font-size:var(--text-sm);white-space:nowrap}.live-card .history-meta{text-transform:capitalize}.import-form{gap:var(--space-3);margin-bottom:var(--space-5);flex-direction:column;display:flex}.import-row{gap:var(--space-4);display:flex}.import-row .import-input{flex:1;min-width:0}.chesscom-game-bento{grid-template-rows:auto;grid-template-columns:minmax(0,1fr)}.stray-bento{grid-template-rows:auto;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-content:center}.stray-bento>.stray-frame{grid-column:2}.empty-state>.stray-line,.empty-state>.games-empty-line,.empty-state>.insights-empty-line{margin:0 0 var(--space-5);font-family:var(--face-prose);font-size:var(--text-md);color:var(--ink)}.stray-line>.wp-line,.insights-empty-line>.wp-line{text-align:start;justify-content:center}.stray-alone{min-height:100dvh;padding:var(--gutter);place-content:center;display:grid}.import-pgn textarea{width:100%;min-height:calc(var(--space-10) * 2);resize:none;flex:auto;line-height:1.5}.import-actions{justify-content:flex-end}.import-months{gap:var(--space-2);display:flex}.import-month{color:var(--ink-dim);font-size:var(--text-md);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);transition:color var(--dur-base) var(--ease), background var(--dur-base) var(--ease);border:1px solid #0000;text-decoration:none}button.import-card{width:100%;font-size:var(--text-root);text-align:left;font-weight:400}.import-card.is-refused{opacity:.55;pointer-events:none}.import-outcome.won{color:var(--positive)}.import-outcome.lost{color:var(--danger-ink)}.import-error{margin-bottom:var(--space-4)}.games-bento{grid-template:"list record""list charts"/minmax(0,2fr) minmax(0,1fr)}.games-bento>.games-list-frame{grid-area:list}.games-bento>.games-record,.games-bento>.live-side{grid-area:record}.games-bento>.games-charts-frame{grid-area:charts}.games-bento>.games-import-frame{grid-area:record-start/record/charts-end}.games-loading{padding:var(--space-10) 0;justify-content:center}.games-site-notes{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.games-source{gap:var(--space-3)}.games-source.on{color:var(--ink);background:color-mix(in srgb, var(--source,var(--accent)) 16%, transparent);border-color:var(--source,var(--accent))}.games-source-count,.games-chip-count{color:var(--ink-faint);font-variant-numeric:tabular-nums}.chip.on .games-chip-count{color:inherit;opacity:.7}.games-source-progress{color:var(--ink-faint);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.games-source[data-state=loading] .source-dot{animation:games-pulse var(--dur-lazy) var(--ease) infinite alternate}@keyframes games-pulse{to{opacity:.3}}.games-toolbar{gap:var(--space-5);flex-direction:column;display:flex}.games-filter-row{align-items:center;gap:var(--space-4) var(--space-6);flex-wrap:wrap;min-width:0;display:flex}.games-search{flex:1 1 calc(var(--space-10) * 3);min-width:0}.games-search .import-input{width:100%}.games-active{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.games-filters-toggle{flex:none;margin-left:auto}.games-filters-count{color:var(--accent-bright);font-variant-numeric:tabular-nums}.games-filters{align-items:center;gap:var(--space-4) var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.games-filters[hidden]{display:none}.games-foot{align-items:center;gap:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}.games-foot>.games-layouts{margin-left:auto}.games-record-stats{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.games-charts{gap:var(--space-8);flex-direction:column;display:flex}.games-chart{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.games-chart-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.games-chart-head .meta{text-align:right}.games-list{gap:var(--space-6);flex-direction:column;display:flex}.games-group{gap:var(--space-4);flex-direction:column;display:flex}.games-group>.frame-section{align-items:baseline;gap:var(--space-4);display:flex}.games-list .game-card-list[data-layout=row]{overflow:hidden}.game-card-button{width:100%;font:inherit;text-align:left}.game-card-row.game-card-button{background:0 0;border:0;border-radius:0}.game-card.is-refused{opacity:.55;cursor:default}.games-refused{padding:var(--space-2) var(--space-5) 0}.games-list-tail{justify-content:center;align-items:center;gap:var(--space-5);padding:var(--space-5) 0;display:flex}@media (max-width:620px){.games-search{flex-basis:100%}.games-filter-group{align-items:flex-start;gap:var(--space-3);flex-direction:column}}.games-import-via{width:100%}.games-import-frame .import-form{margin-bottom:var(--space-4)}.games-import-note{margin-top:auto}.profile-bento{grid-template-rows:auto;grid-template-columns:auto minmax(0,1fr)}.profile-section-bento{max-width:var(--page-w);grid-template-rows:auto;grid-template-columns:minmax(0,1fr)}.profile-nav{top:var(--gutter);position:sticky}.profile-bento[data-section=look]{grid-template-columns:auto minmax(0, 1fr) var(--look-preview-w)}.look-preview{top:var(--gutter);padding:var(--space-4);position:sticky}.profile-nav-list{gap:var(--space-1);flex-direction:column;list-style:none;display:flex}.profile-nav-link{padding:var(--space-4) var(--space-8) var(--space-4) var(--space-5);color:var(--ink-dim);font-size:var(--text-body);white-space:nowrap;border:1px solid #0000;border-left:var(--edge-w) solid transparent;transition:color var(--dur-base) var(--ease), background-color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);font-weight:500;text-decoration:none;display:block}.profile-nav-link.on{color:var(--ink);background:var(--surface-raised);border-left-color:var(--accent)}@media (max-width:980px){.profile-nav{position:static}.profile-bento[data-section=look]{grid-template-columns:minmax(0,1fr)}.look-preview{z-index:1;width:var(--look-preview-w-stacked);order:-1;justify-self:center;top:0}.profile-nav{order:-2}.profile-nav-list{flex-flow:wrap}.profile-nav-link{padding:var(--space-3) var(--space-5)}}@media (max-width:620px){.profile-nav-link{font-size:var(--text-meta)}}.profile-facts{grid-template-columns:repeat(auto-fit, minmax(min(100%, calc(var(--space-10) * 3)), 1fr));gap:var(--space-6);display:grid}.profile-facts>div{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.profile-facts dd{font-size:var(--text-body);color:var(--ink);overflow-wrap:anywhere}.profile-name-form{width:100%}.setting-row{align-items:center;gap:var(--space-3) var(--space-8);padding:var(--space-5) 0;grid-template-columns:minmax(0,2fr) minmax(0,3fr);display:grid}.setting-row:first-child{padding-top:0}.setting-row:last-child{padding-bottom:0}.setting-row+.setting-row{border-top:1px solid var(--line)}.setting-text{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.setting-label{font-size:var(--text-body);color:var(--ink);font-weight:500}.setting-desc{max-width:56ch;font-size:var(--text-meta);color:var(--ink-dim);line-height:1.45}.switch{align-items:center;gap:var(--space-4);min-height:var(--hit-min);font-size:var(--text-meta);color:var(--ink-dim);background:0 0;border:0;padding:0;font-weight:600;display:inline-flex}.switch.on{color:var(--ink)}.switch-track{width:calc(var(--space-9) + var(--space-4));height:var(--space-7);background:var(--surface-sunken);border:1px solid var(--line-strong);transition:background-color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);flex:none;position:relative}.switch-thumb{top:var(--space-1);left:var(--space-1);width:calc(var(--space-6) - var(--space-1));height:calc(var(--space-6) - var(--space-1));background:var(--ink-dim);transition:transform var(--dur-base) var(--ease), background-color var(--dur-base) var(--ease);position:absolute}.switch.on .switch-track{background:var(--accent);border-color:var(--accent)}.switch.on .switch-thumb{background:var(--accent-ink);transform:translateX(var(--space-7))}.switch-word{min-width:calc(var(--space-7) + var(--space-3))}.setting-control{align-items:flex-end;gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.setting-control>.swatch-row,.setting-control>.chip-group{justify-content:flex-end}.setting-control>:is(.mark-row,.preset-row,.piece-menu-list,.sound-pack-list,.colour-group,.mark-strength){align-self:stretch}.setting-control>:is(.piece-menu-list,.sound-pack-list){max-height:none;overflow:visible}.setting-control>.piece-menu-list{grid-template-columns:repeat(4,minmax(0,1fr))}.setting-extra{grid-column:1/-1;min-width:0}.profile-section-bento>.bento-frame>.panel-body{overflow-x:clip}.tease-sample{font-size:var(--text-md);line-height:1.5}.chip-group{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:720px){.setting-row{grid-template-columns:minmax(0,1fr)}.setting-control{align-items:flex-start}.setting-control>.swatch-row,.setting-control>.chip-group{justify-content:flex-start}}.profile-rows{flex-direction:column;display:flex}.profile-rows>.profile-account{padding:var(--space-5) 0;grid-template-columns:minmax(0,1fr) auto}.profile-rows>.profile-account:first-child{padding-top:0}.profile-rows>.profile-account+.profile-account{border-left:0;border-top:1px solid var(--line)}.profile-rows>.profile-account>.profile-actions{align-self:start}@media (max-width:720px){.profile-rows>.profile-account{grid-template-columns:minmax(0,1fr)}}.profile-quota+.profile-quota{padding-top:var(--space-6);border-top:1px solid var(--line)}.profile-plan-interval{align-self:flex-start}.profile-quota-cells .cell{width:var(--cell-lg);height:var(--cell-lg)}.profile-quota{gap:var(--space-3);flex-direction:column;display:flex}.profile-accounts{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.profile-account{gap:var(--space-4) var(--space-6);padding:var(--space-6) var(--space-7);grid-template-columns:minmax(0,1fr) auto;display:grid}.profile-account+.profile-account{border-left:1px solid var(--line)}.profile-account-site{align-items:center;gap:var(--space-4);grid-column:1/-1;display:flex}.profile-account-site h3{color:var(--source)}.profile-account-body{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.profile-account-body .import-form,.profile-account-body .import-error,.profile-account-body .meta,.profile-bento .import-error{margin-bottom:0}.profile-account-body .meta:empty,.profile-actions:empty,.profile-bento .meta:empty{display:none}.profile-account-blurb{color:var(--ink-dim);font-size:var(--text-md);line-height:1.5}.profile-account-name{align-items:baseline;gap:var(--space-3);font-size:var(--text-lg);font-weight:600;display:flex}.profile-account-name a{color:var(--ink);transition:color var(--dur-base) var(--ease);text-decoration:none}.profile-account-name a:hover{color:var(--accent-bright)}.profile-title{color:var(--warn);font-size:var(--text-sm);font-weight:700}.profile-actions{align-self:center}[data-series="1"]{--series:var(--chart-1)}[data-series="2"]{--series:var(--chart-2)}[data-series="3"]{--series:var(--chart-3)}[data-series="4"]{--series:var(--chart-4)}[data-series="5"]{--series:var(--chart-5)}[data-series="6"]{--series:var(--chart-6)}[data-result=win]{--result:var(--chart-win)}[data-result=draw]{--result:var(--chart-draw)}[data-result=loss]{--result:var(--chart-loss)}.chart{gap:var(--space-4);min-width:0;color:var(--ink);font-size:var(--text-md);flex-direction:column;margin:0;display:flex}.chart-empty{padding:var(--space-4) 0}.chart-note{margin:0}.chart-legend{gap:var(--space-2) var(--space-5);color:var(--chart-label);font-size:var(--text-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chart-legend li{align-items:center;gap:var(--space-3);display:inline-flex}.chart-legend b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.chart-key{width:var(--space-5);height:var(--space-2);border-radius:var(--radius-pill);background:var(--result,var(--series,var(--chart-1)))}.chart-key[data-shape]{width:var(--chart-dot-lg);height:var(--chart-dot-lg);border-radius:var(--radius-round)}.chart-key[data-shape=ring]{border:var(--chart-stroke) solid var(--series,var(--chart-1));background:0 0}.chart-frame{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:var(--plot-h,var(--chart-h)) auto;display:grid}.chart[data-dense]{--plot-h:var(--chart-h-sm)}.chart-plot{grid-area:1/2;min-width:0;position:relative}.chart-plot>svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.chart-axis-y,.chart-axis-end,.chart-axis-x,.chart-bullet-scale{color:var(--chart-label);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1;position:relative}.chart-axis-y{padding-right:var(--space-3);grid-area:1/1}.chart-axis-end{padding-left:var(--space-3);color:var(--ink);font-size:var(--text-sm);grid-area:1/3;font-weight:600}.chart-axis-x{height:calc(var(--text-xs) * 1.6);margin-top:var(--space-3);grid-area:2/2}.chart-sizer{visibility:hidden;height:0;display:block;overflow:hidden}.chart-axis-y>span:not(.chart-sizer),.chart-axis-end>span:not(.chart-sizer){position:absolute;transform:translateY(-50%)}.chart-axis-y>span:not(.chart-sizer){right:var(--space-3)}.chart-axis-end>span:not(.chart-sizer){left:var(--space-3)}.chart-axis-x>span,.chart-bullet-scale[data-ticks]>span{position:absolute;top:0;transform:translate(-50%)}.chart-axis-x>span[data-anchor=start],.chart-bullet-scale>span[data-anchor=start]{transform:none}.chart-axis-x>span[data-anchor=end],.chart-bullet-scale>span[data-anchor=end]{transform:translate(-100%)}.chart-gridline{border-top:1px solid var(--chart-grid);height:0;position:absolute;left:0;right:0}.chart-gridline:first-child{border-top-color:var(--chart-axis)}.chart-line{fill:none;stroke:var(--series,var(--chart-1));stroke-width:var(--chart-stroke);stroke-linejoin:round;stroke-linecap:round}[data-smoothed]>.chart-line:not(.chart-mean){stroke:color-mix(in srgb, var(--series,var(--chart-1)) 40%, transparent);stroke-width:1px}.chart-area{fill:color-mix(in srgb, var(--series,var(--chart-1)) var(--chart-wash), transparent);stroke:none}.chart-band{fill:color-mix(in srgb, var(--series,var(--chart-1)) 12%, transparent);stroke:none}.chart-dot,.chart-end,.chart-end-ring{fill:none;stroke-linecap:round}.chart-dot{stroke:color-mix(in srgb, var(--series,var(--chart-1)) 70%, transparent);stroke-width:var(--chart-dot)}.chart-end{stroke:var(--series,var(--chart-1));stroke-width:var(--chart-dot-lg)}.chart-end-ring{stroke:var(--chart-surface);stroke-width:calc(var(--chart-dot-lg) + 2 * var(--chart-stroke))}.chart-ref{stroke:var(--ink-dim);stroke-width:1px;stroke-dasharray:var(--space-2) var(--space-2)}.chart-ref-label{left:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius-xs);background:color-mix(in srgb, var(--chart-surface) 85%, transparent);color:var(--chart-label);font-size:var(--text-xs);white-space:nowrap;pointer-events:none;position:absolute;transform:translateY(-50%)}.chart-baseline{stroke:var(--chart-axis);stroke-width:1px}.chart-hit{fill:#0000}.chart-hit:hover{fill:color-mix(in srgb, var(--ink) 7%, transparent)}.chart-pick{fill:color-mix(in srgb, var(--series,var(--chart-1)) 32%, transparent)}.chart-columns{align-items:flex-end;gap:var(--space-1);display:flex;position:absolute;inset:0}.chart-column{min-width:0;height:100%;transition:background-color var(--dur-fast) var(--ease);flex:1 1 0;justify-content:center;align-items:flex-end;display:flex}.chart-column:hover{background-color:color-mix(in srgb, var(--ink) 5%, transparent)}ol.chart-columns{margin:0;padding:0;list-style:none}.chart-columns>li{flex:1 1 0;min-width:0;height:100%;display:flex}a.chart-column{color:inherit;text-decoration:none}.chart-bar{width:100%;max-width:var(--chart-bar-max);background:var(--series,var(--chart-1));flex-direction:column-reverse;display:flex;position:relative}.chart-bar[data-split]{gap:var(--space-1);background:0 0}.chart-bar>.chart-seg{flex-basis:0;min-height:0}.chart-seg{background:var(--result);display:block}[data-muted]>.chart-bar,[data-muted]>.chart-dot{opacity:.38}.chart-plot:has(>[data-values]){margin-top:var(--space-6)}.chart-cap{padding-bottom:var(--space-1);color:var(--ink-dim);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.chart-bars[data-variant=rounded] .chart-bar:not([data-split]),.chart-bars[data-variant=rounded] .chart-seg:last-of-type{border-radius:var(--radius-xs) var(--radius-xs) 0 0}.chart-bars[data-variant=outline] .chart-bar:not([data-split]){background:color-mix(in srgb, var(--series,var(--chart-1)) 18%, transparent);border:1px solid var(--series,var(--chart-1));border-bottom:0}.chart-bars[data-variant=outline] .chart-seg{background:color-mix(in srgb, var(--result) 22%, transparent);border:1px solid var(--result)}.chart-bars[data-variant=lollipop] .chart-bar{width:var(--chart-stroke)}.chart-bars[data-variant=lollipop] .chart-bar:before{content:"";width:var(--chart-dot-lg);height:var(--chart-dot-lg);border-radius:var(--radius-round);background:var(--series,var(--chart-1));box-shadow:0 0 0 var(--chart-stroke) var(--chart-surface);position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.chart-bars[data-variant=lollipop] .chart-cap{padding-bottom:var(--space-4)}.chart-histogram .chart-bar{max-width:none}.chart-histogram[data-variant=dots]{--plot-h:calc(var(--rows,8) * var(--chart-dot-step))}.chart-histogram[data-variant=dots] .chart-dot{stroke:var(--series,var(--chart-1))}.chart-marker{border-left:1px solid var(--ink-dim);width:0;position:absolute;top:0;bottom:0}.chart-marker[data-kind=median]{border-left-style:dashed}.chart-marker>span{top:0;left:var(--space-2);padding:0 var(--space-1);border-radius:var(--radius-xs);background:color-mix(in srgb, var(--chart-surface) 85%, transparent);color:var(--chart-label);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;position:absolute}.chart-marker[data-kind=median]>span{top:calc(var(--text-xs) * 1.6)}.chart-marker[data-anchor=end]>span{left:auto;right:var(--space-2)}.chart-sparkline{display:block}.chart-sparkline>svg{width:100%;height:var(--spark-h,var(--chart-spark-h));display:block;overflow:visible}.chart-spark-bar{fill:var(--result,var(--series,var(--chart-1)))}.chart-sparkline[data-variant=bars] .chart-spark-bar{fill:color-mix(in srgb, var(--series,var(--chart-1)) 75%, transparent)}.chart-rows{gap:var(--space-3) var(--space-5);grid-template-columns:fit-content(40%) minmax(0,1fr) max-content;margin:0;padding:0;list-style:none;display:grid}.chart-ranked[data-variant=inline] .chart-rows{gap:var(--space-2) var(--space-5);grid-template-columns:minmax(0,1fr) max-content}.chart-rows>*,.chart-row{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;display:grid}.chart-row{margin:calc(-1 * var(--space-1)) calc(-1 * var(--space-2));padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:inherit;text-decoration:none}.chart-row-label{min-width:0;color:var(--ink);font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-row-value{color:var(--ink);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:600}.chart-row-value small{margin-left:var(--space-3);color:var(--ink-dim);font-size:var(--text-xs);font-weight:500}.chart-track{min-width:0;height:var(--chart-bar-h);align-items:center;display:flex;position:relative}.chart-fill{background:var(--series,var(--chart-1));border-radius:0 var(--radius-xs) var(--radius-xs) 0;height:100%;display:block;position:relative}.chart-ranked[data-variant=lollipop] .chart-fill{height:var(--chart-stroke);border-radius:0}.chart-ranked[data-variant=dotplot] .chart-fill{background:0 0}.chart-ranked[data-variant=lollipop] .chart-fill:after,.chart-ranked[data-variant=dotplot] .chart-fill:after,.chart-compare{content:"";width:var(--chart-dot-lg);height:var(--chart-dot-lg);border-radius:var(--radius-round);box-shadow:0 0 0 var(--chart-stroke) var(--chart-surface);position:absolute;top:50%}.chart-ranked[data-variant=lollipop] .chart-fill:after,.chart-ranked[data-variant=dotplot] .chart-fill:after{background:var(--series,var(--chart-1));right:0;transform:translate(50%,-50%)}.chart-ranked[data-variant=dotplot] .chart-track:before{content:"";border-top:1px solid var(--chart-grid);position:absolute;top:50%;left:0;right:0}.chart-compare{border:var(--chart-stroke) solid var(--series,var(--chart-1));background:var(--chart-surface);transform:translate(-50%,-50%)}.chart-span{height:var(--chart-stroke);background:color-mix(in srgb, var(--series,var(--chart-1)) 45%, transparent);position:absolute;top:50%;transform:translateY(-50%)}.chart-ranked[data-variant=inline] .chart-track{height:calc(var(--space-8) + var(--space-2))}.chart-ranked[data-variant=inline] .chart-fill{background:color-mix(in srgb, var(--series,var(--chart-1)) 24%, transparent);border-radius:var(--radius-sm)}.chart-ranked[data-variant=inline] .chart-row-label{left:var(--space-4);right:var(--space-4);position:absolute}.chart-results .chart-track{gap:var(--space-1)}.chart-track>.chart-seg,.chart-half>.chart-seg{flex:0 auto;min-width:0;height:100%}.chart-results[data-variant=stacked] .chart-track{border-radius:var(--radius-xs);overflow:hidden}.chart-results[data-variant=diverging] .chart-track{grid-template-columns:1fr 1fr;gap:0;display:grid}.chart-results[data-variant=diverging] .chart-track:after{content:"";left:50%;top:calc(-1 * var(--space-1));bottom:calc(-1 * var(--space-1));border-left:1px solid var(--ink-dim);position:absolute}.chart-half{gap:var(--space-1);min-width:0;height:100%;display:flex}.chart-half[data-side=left]{flex-direction:row-reverse}.chart-half[data-side=left]>.chart-seg:last-child{border-radius:var(--radius-xs) 0 0 var(--radius-xs)}.chart-half[data-side=right]>.chart-seg:last-child{border-radius:0 var(--radius-xs) var(--radius-xs) 0}.chart-results[data-variant=triple] .chart-track{flex-direction:column;justify-content:center;align-items:flex-start;height:auto}.chart-results[data-variant=triple] .chart-seg{height:var(--space-2);border-radius:0 var(--radius-xs) var(--radius-xs) 0;flex:none;min-width:1px}.chart-results[data-variant=score] .chart-track{background:color-mix(in srgb, var(--ink) 8%, transparent);border-radius:var(--radius-pill)}.chart-results[data-variant=score] .chart-fill{border-radius:var(--radius-pill)}.chart-even{left:50%;top:calc(-1 * var(--space-1));bottom:calc(-1 * var(--space-1));border-left:1px solid var(--ink-dim);position:absolute}.chart-stat{gap:var(--space-2);padding:var(--space-5) var(--space-6)}.chart-stat-value{color:var(--ink);font-size:var(--text-2xl);letter-spacing:var(--track-tight);font-weight:600;line-height:1.1}.chart-stat-value small{margin-left:var(--space-1);color:var(--ink-dim);font-size:var(--text-base);letter-spacing:0;font-weight:500}.chart-stat-foot{align-items:baseline;gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.chart-delta{align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;font-weight:600;display:inline-flex}.chart-delta[data-trend=good]{color:var(--positive)}.chart-delta[data-trend=bad]{color:var(--danger-ink)}.chart-delta[data-trend=flat]{color:var(--ink-dim)}.chart-delta-value{white-space:nowrap}.chart-delta-label{color:var(--ink-dim);font-weight:500}.chart-stat-spark{--spark-h:var(--space-9);margin-top:var(--space-2)}.chart-stat[data-variant=compact]{align-items:baseline;gap:var(--space-1) var(--space-4);padding:var(--space-4) var(--space-5);grid-template-columns:minmax(0,1fr) auto;display:grid}.chart-stat[data-variant=compact] .chart-stat-value,.chart-stat[data-variant=split] .chart-stat-value{font-size:var(--text-xl)}.chart-stat[data-variant=compact] .chart-stat-foot{grid-column:1/-1}.chart-stat-split{grid-template-columns:1fr 1fr;display:grid}.chart-stat-split>div+div{padding-left:var(--space-5);border-left:1px solid var(--line)}.chart-stat-side{color:var(--ink-dim);font-size:var(--text-sm);display:block}.chart-bullet{gap:var(--space-2)}.chart-bullet-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.chart-bullet-track{height:var(--space-6);position:relative}.chart-bullet-track>*{position:absolute}.chart-band{background:color-mix(in srgb, var(--ink) 4%, transparent);top:0;bottom:0}.chart-band[data-band="0"]{background:color-mix(in srgb, var(--ink) 16%, transparent)}.chart-band[data-band="1"]{background:color-mix(in srgb, var(--ink) 10%, transparent)}.chart-bullet-track>.chart-fill{border-radius:0;height:auto;top:35%;bottom:35%;left:0}.chart-target{border-left:var(--chart-stroke) solid var(--ink);width:0;top:12%;bottom:12%;transform:translate(-50%)}.chart-bullet[data-variant=thermo] .chart-bullet-track{height:var(--space-4);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 8%, transparent)}.chart-bullet[data-variant=thermo] .chart-band{display:none}.chart-bullet[data-variant=thermo] .chart-bullet-track>.chart-fill{border-radius:var(--radius-pill);top:0;bottom:0}.chart-bullet[data-variant=thermo] .chart-target{top:calc(-1 * var(--space-1));bottom:calc(-1 * var(--space-1));box-shadow:0 0 0 1px var(--chart-surface)}.chart-bullet[data-variant=thermo] .chart-bullet-scale>span{padding-left:var(--space-2);border-left:1px solid var(--line-strong);text-overflow:ellipsis;position:absolute;top:0;overflow:hidden}.chart-bullet-scale{height:calc(var(--text-xs) * 1.6)}.chart-bullet-scale>span[data-on]{color:var(--ink);font-weight:600}.chart-bullet[data-variant=marker] .chart-bullet-track{height:var(--space-2);margin-top:calc(var(--text-sm) + var(--space-5))}.chart-bullet[data-variant=marker] .chart-bullet-head+.chart-bullet-track{margin-top:var(--space-5)}.chart-bullet[data-variant=marker] .chart-band{background:color-mix(in srgb, var(--series,var(--chart-1)) 85%, transparent)}.chart-bullet[data-variant=marker] .chart-band[data-band="0"]{background:color-mix(in srgb, var(--series,var(--chart-1)) 22%, transparent)}.chart-bullet[data-variant=marker] .chart-band[data-band="1"]{background:color-mix(in srgb, var(--series,var(--chart-1)) 50%, transparent)}.chart-bullet[data-variant=marker] .chart-bullet-track>.chart-fill{display:none}.chart-bullet[data-variant=marker] .chart-target{top:0;bottom:calc(-1 * var(--space-3));border-left-width:1px}.chart-pointer{padding-bottom:var(--space-3);color:var(--ink);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;bottom:100%;transform:translate(-50%)}.chart-pointer:after{content:"";left:50%;bottom:var(--space-1);border:var(--space-2) solid transparent;border-top-color:var(--ink);border-bottom:0;position:absolute;transform:translate(-50%)}.chart-form{align-items:center;gap:var(--space-3) var(--space-5);flex-flow:wrap}.chart-form-marks{align-items:flex-end;gap:var(--space-1);flex-wrap:wrap;min-width:0;margin:0;padding:0;list-style:none;display:flex}.chart-form-marks>li{align-items:flex-end;height:100%;display:flex}.chart-form-mark{color:var(--ink);background:var(--result);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}a.chart-form-mark:hover{box-shadow:var(--ring-selected)}.chart-form[data-variant=pills] .chart-form-mark{min-width:calc(var(--space-6) + var(--space-2));height:calc(var(--space-6) + var(--space-2));border:1px solid color-mix(in srgb, var(--result) 70%, transparent);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--result) 26%, transparent);font-size:var(--text-xs);font-weight:700}.chart-form[data-variant=squares] .chart-form-marks,.chart-form[data-variant=dots] .chart-form-marks{flex-wrap:nowrap;flex:1 1 0;align-items:center}.chart-form[data-variant=squares] .chart-form-mark{flex:0 1 var(--space-5);aspect-ratio:1;border-radius:calc(var(--radius-xs) / 2)}.chart-form[data-variant=dots] .chart-form-mark{flex:0 1 var(--space-4);aspect-ratio:1;border-radius:var(--radius-round)}.chart-form[data-variant=bars] .chart-form-marks{height:var(--space-9);flex-wrap:nowrap}.chart-form[data-variant=bars] .chart-form-mark{width:var(--space-3);border-radius:calc(var(--radius-xs) / 2) calc(var(--radius-xs) / 2) 0 0}.story-board{width:min(var(--page-w-wide), calc(100% - 2 * var(--gutter)))}.story-index{gap:var(--space-4);margin-bottom:var(--space-9);flex-direction:column;display:flex}.story-index>p{gap:var(--space-5);flex-wrap:wrap;display:flex}.story-beat{gap:var(--space-6);margin-bottom:var(--space-10);scroll-margin-top:var(--space-8);flex-direction:column;display:flex}.story-beat-head{padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}.story-beat-head h2{font-size:var(--text-lg);letter-spacing:var(--track-tight);font-weight:600}.story-beat-head .meta{max-width:72ch;margin-top:var(--space-2)}.story-scenes{grid-template-columns:repeat(auto-fill, minmax(min(100%, calc(var(--space-10) * 9)), 1fr));gap:var(--space-7);display:grid}.story-scenes[data-size=phone]{grid-template-columns:repeat(auto-fill, minmax(min(100%, calc(var(--space-10) * 4)), 1fr))}.story-scene{gap:var(--space-3);flex-direction:column;min-width:0;margin:0;display:flex}.story-scene-window{background:var(--surface-page);border:1px solid var(--line);position:relative;overflow:hidden}.story-scene-window iframe{transform-origin:0 0;pointer-events:none;border:0;position:absolute;inset:0 auto auto 0}.story-scene figcaption{gap:var(--space-1);font-size:var(--text-sm);flex-direction:column;display:flex}.story-scene-name{color:var(--ink);font-weight:600}.story-scene-links{align-items:baseline;gap:var(--space-4);display:flex}.story-lines{gap:var(--space-6);flex-direction:column;padding:0;list-style:none;display:flex}.story-line{gap:var(--space-2);padding:var(--space-5);background:var(--surface-panel);flex-direction:column;display:flex}.chart-gallery{width:min(var(--page-w-wide), calc(100% - 2 * var(--gutter)))}.chart-index{gap:var(--space-3);margin-bottom:var(--space-9);flex-direction:column;display:flex}.chart-index>p{gap:var(--space-3);flex-wrap:wrap;display:flex}.chart-kit{gap:var(--space-10);margin-bottom:var(--space-10);scroll-margin-top:var(--space-8);flex-direction:column;display:flex}.chart-kit-head{padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}.chart-kit-title{margin-top:var(--space-2);font-size:var(--text-lg);font-weight:600}.chart-section{gap:var(--space-6);scroll-margin-top:var(--space-8);flex-direction:column;display:flex}.chart-section-head h2{font-size:var(--text-lg);letter-spacing:var(--track-tight);font-weight:600}.chart-section-head .meta{max-width:72ch;margin-top:var(--space-2);line-height:1.5}.chart-section-head b{color:var(--ink);font-weight:600}.chart-specimens{grid-template-columns:repeat(auto-fill, minmax(min(100%, calc(var(--space-10) * 6)), 1fr));gap:var(--space-5);display:grid}.chart-specimens[data-size=wide]{grid-template-columns:repeat(auto-fill, minmax(min(100%, calc(var(--space-10) * 9)), 1fr))}.chart-specimens[data-size=small]{grid-template-columns:repeat(auto-fill, minmax(min(100%, calc(var(--space-10) * 4)), 1fr))}.chart-specimens[data-size=full]{grid-template-columns:minmax(0,1fr)}.chart-specimen{gap:var(--space-5);min-width:0;padding:var(--space-6);flex-direction:column;margin:0;display:flex}.chart-specimen[data-bare]{gap:var(--space-3);padding:0}.chart-specimen[data-bare]>.chart-stat{flex:1}.chart-specimen[data-dense]:not([data-bare]){border-style:dashed}.chart-specimen[data-span]{grid-column:1/-1}.chart-specimen figcaption{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--space-8);color:var(--ink-dim);font-size:var(--text-sm);display:flex}.chart-specimen figcaption b{color:var(--accent);font-weight:700}.chart-specimen-row{grid-template-columns:repeat(auto-fit, minmax(min(100%, calc(var(--space-10) * 4)), 1fr));gap:var(--space-4);display:grid}.chart-specimen-table{border-collapse:collapse;width:100%;font-size:var(--text-md)}.chart-specimen-table th{padding:var(--space-2) var(--space-4) var(--space-2) 0;color:var(--ink-dim);text-align:left;font-weight:500}.chart-specimen-table td{padding:var(--space-2) 0}.chart-specimen-table td:nth-child(2){width:60%}.chart-specimen-table td:last-child{padding-left:var(--space-4);text-align:right}.chart-specimen-sample{grid-template-columns:minmax(0, 1fr) calc(var(--space-10) * 2 + var(--space-8));align-items:center;gap:var(--space-4);display:grid}.chart-specimen-sample[data-fit=wide]{grid-template-columns:minmax(0,1fr) auto}.chart-specimen-sample[data-fit=stack]{gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.chart-specimen-sample>.meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chart-specimen-chips{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.chart-specimen-mock{min-height:calc(var(--space-10) + var(--space-8));border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--ink-faint);font-size:var(--text-xs);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.chart-specimen-mocks{grid-template-columns:repeat(auto-fill, minmax(calc(var(--space-10) + var(--space-9)), 1fr));gap:var(--space-4);display:grid}@media (max-width:620px){.chart-specimen:not([data-bare]){padding:var(--space-5)}.chart-specimen-sample:not([data-fit]){grid-template-columns:minmax(0, 1fr) minmax(0, calc(var(--space-10) * 2 + var(--space-8)))}}.eval-mini{vertical-align:middle;width:100%;min-width:calc(var(--space-10) * 2);height:var(--space-8);display:inline-block;position:relative}.eval-mini-svg{width:100%;height:100%;display:block;overflow:visible}.eval-mini [data-lead=ahead]{--lead:var(--eval-ahead)}.eval-mini [data-lead=behind]{--lead:var(--eval-behind)}.eval-mini [data-lead=even]{--lead:var(--eval-even)}.eval-mini [data-level="0"]{--lead-pct:45%}.eval-mini [data-level="1"]{--lead-pct:35%}.eval-mini [data-level="2"]{--lead-pct:65%}.eval-mini [data-level="3"]{--lead-pct:100%}.eval-mini-mid{stroke:var(--chart-axis);stroke-width:1px}.eval-mini.is-empty{align-items:center;display:inline-flex}.eval-mini-none{border-top:1px dashed var(--line-strong);width:100%}.eval-mini-area{border-radius:var(--radius-xs);background:color-mix(in srgb, var(--ink) 4%, transparent);overflow:hidden}.eval-mini-fill[data-lead=ahead]{fill:color-mix(in srgb, var(--card-you) 75%, transparent)}.eval-mini-fill[data-lead=behind]{fill:color-mix(in srgb, var(--card-them) 70%, transparent)}.eval-mini-mark{stroke:var(--q-bad);stroke-width:1px}.eval-mini-line .eval-mini-mid{stroke-dasharray:2 3}.eval-mini-curve{fill:none;stroke:var(--ink-dim);stroke-width:1.5px;stroke-linejoin:round}.eval-mini-dot{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-round);position:absolute;transform:translate(-50%,-50%)}.eval-mini-dot.is-mark{width:var(--space-2);height:var(--space-2);background:var(--q-bad)}.eval-mini-dot.is-end{background:var(--lead);box-shadow:0 0 0 var(--space-1) var(--surface-panel)}.eval-mini-ribbon{height:var(--space-3);margin-top:var(--space-2)}.eval-mini-ribbon .eval-mini-svg{clip-path:inset(0 round var(--radius-xs))}.eval-mini-run{fill:color-mix(in srgb, var(--lead) var(--lead-pct), transparent)}.eval-mini-notch{border-left:var(--space-1) solid transparent;border-right:var(--space-1) solid transparent;border-top:var(--space-2) solid var(--q-bad);width:0;height:0;position:absolute;bottom:100%;transform:translate(-50%)}.eval-mini-balance{align-items:center;gap:var(--space-3);height:var(--space-4);display:inline-flex}.eval-mini-bar{gap:var(--space-1);height:var(--space-3);flex:auto;display:flex}.eval-mini-share{min-width:var(--space-1);border-radius:var(--radius-xs);background:var(--lead);flex-basis:0}.eval-mini-share[data-lead=even]{background:color-mix(in srgb, var(--lead) 60%, transparent)}.eval-mini-end{width:var(--space-4);height:var(--space-4);border-radius:var(--radius-round);background:color-mix(in srgb, var(--lead) var(--lead-pct), transparent);box-shadow:inset 0 0 0 1px var(--lead);flex:none}.acc-pair{align-items:center;gap:var(--space-4);color:var(--ink-dim);font-size:var(--text-sm);font-variant-numeric:tabular-nums;display:inline-flex}.acc-pair [data-who=you]{--who:var(--card-you)}.acc-pair [data-who=them]{--who:var(--card-them)}.acc-pair b{color:var(--ink);font-weight:600}.acc-pair-none,.q-ticks-none{color:var(--ink-faint)}.acc-pair-bar,.acc-pair-meter{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 8%, transparent);display:block;overflow:hidden}.acc-pair-bar i,.acc-pair-meter i{border-radius:inherit;background:var(--who);height:100%;display:block}.acc-pair-bars{grid-template-columns:auto minmax(var(--space-10), 1fr) auto;gap:var(--space-1) var(--space-4);min-width:calc(var(--space-10) * 3);display:inline-grid}.acc-pair-row{display:contents}.acc-pair-who{color:var(--ink-faint);font-size:var(--text-xs)}.acc-pair-bar{height:var(--space-2)}.acc-pair-bars b{text-align:right}.acc-pair-ring{width:var(--space-9);height:var(--space-9);place-items:center;display:inline-grid;position:relative}.acc-pair-ring svg{width:100%;height:100%;position:absolute;inset:0}.acc-pair-ring-track,.acc-pair-ring-fill{fill:none;stroke-width:3px}.acc-pair-ring-track{stroke:color-mix(in srgb, var(--ink) 10%, transparent)}.acc-pair-ring-fill{stroke:var(--who);stroke-linecap:round}.acc-pair-ring-num{color:var(--ink);font-size:var(--text-2xs);font-weight:600}.acc-pair-numbers{gap:var(--space-5)}.acc-pair-num{gap:var(--space-1);min-width:var(--space-8);flex-direction:column;display:inline-flex}.acc-pair-num b{font-size:var(--text-base);line-height:1}.acc-pair-num[data-who=them] b,.acc-pair-end[data-who=them]{color:var(--ink-dim);font-weight:500}.acc-pair-meter{height:var(--space-1)}.acc-pair-split{gap:var(--space-3);min-width:calc(var(--space-10) * 2)}.acc-pair-track{gap:var(--space-1);min-width:var(--space-9);height:var(--space-3);flex:auto;display:flex}.acc-pair-track i{border-radius:var(--radius-xs);background:var(--who);flex-basis:0}.q-ticks [data-q=best]{--q:var(--q-best)}.q-ticks [data-q=good]{--q:var(--q-good)}.q-ticks [data-q=hmm]{--q:var(--status-hmm,var(--q-inaccuracy))}.q-ticks [data-q=blunder]{--q:var(--status-blunder,var(--q-blunder))}.q-ticks [data-q=book]{--q:var(--q-book)}.q-ticks [data-q=forced]{--q:var(--q-forced)}.q-ticks [data-q=none]{--q:color-mix(in srgb, var(--ink) 12%, transparent)}.q-ticks{min-width:calc(var(--space-10) * 2);font-size:var(--text-sm);align-items:flex-end;gap:1px;display:flex}.q-ticks-mark{background:var(--q);flex:1 1 0;min-width:1px}.q-ticks-ticks{height:var(--space-5)}.q-ticks-ticks .q-ticks-mark{height:40%}.q-ticks-ticks [data-q=good]{height:55%}.q-ticks-ticks [data-q=best]{height:75%}.q-ticks-ticks [data-q=hmm]{height:85%}.q-ticks-ticks [data-q=blunder]{height:100%}.q-ticks-blocks{align-items:flex-start;gap:var(--space-1);flex-wrap:wrap}.q-ticks-blocks .q-ticks-mark{width:var(--space-3);height:var(--space-3);flex:none}.q-ticks-summary{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none}.q-ticks-dot{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-round);background:var(--q)}.q-ticks-chip[data-q=hmm],.q-ticks-chip[data-q=blunder]{color:var(--ink);border-color:color-mix(in srgb, var(--q) 55%, transparent)}.src-mark{color:var(--source)}.src-glyph{fill:currentColor;width:100%;height:100%;display:block}.src-mark-corner{z-index:1;width:var(--space-9);height:var(--space-9);background:var(--source);color:var(--surface-panel);pointer-events:none;position:absolute}.src-mark-corner .src-glyph{width:var(--space-5);height:var(--space-5);position:absolute}.src-mark-corner[data-at=tr]{clip-path:polygon(0 0,100% 0,100% 100%);top:0;right:0}.src-mark-corner[data-at=tl]{clip-path:polygon(0 0,100% 0,0 100%);top:0;left:0}.src-mark-corner[data-at=bl]{clip-path:polygon(0 0,100% 100%,0 100%);bottom:0;left:0}.src-mark-corner[data-at=br]{clip-path:polygon(100% 0,100% 100%,0 100%);bottom:0;right:0}.src-mark-corner[data-at^=t] .src-glyph{top:var(--space-1)}.src-mark-corner[data-at^=b] .src-glyph{bottom:var(--space-1)}.src-mark-corner[data-at$=l] .src-glyph{left:var(--space-1)}.src-mark-corner[data-at$=r] .src-glyph{right:var(--space-1)}.src-mark-tab{z-index:1;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-2);background:color-mix(in srgb, var(--source) 18%, var(--surface-panel));font-size:var(--text-2xs);letter-spacing:var(--track-body);white-space:nowrap;pointer-events:none;font-weight:600;display:inline-flex;position:absolute}.src-mark-tab .src-glyph{width:var(--space-5);height:var(--space-5)}.src-mark-tab[data-at^=t]{border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:inset 0 var(--space-1) 0 var(--source);top:0}.src-mark-tab[data-at^=b]{border-radius:var(--radius-sm) var(--radius-sm) 0 0;box-shadow:inset 0 calc(-1 * var(--space-1)) 0 var(--source);bottom:0}.src-mark-tab[data-at$=l]{left:var(--space-6)}.src-mark-tab[data-at$=r]{right:var(--space-6)}.src-mark-monogram{width:var(--space-8);height:var(--space-8);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--source) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--source) 35%, transparent);flex:none;place-items:center;display:inline-grid}.src-mark-monogram .src-glyph{width:var(--space-6);height:var(--space-6)}.src-mark-dot{align-items:center;gap:var(--space-2);font-size:var(--text-xs);white-space:nowrap;font-weight:600;display:inline-flex}.src-mark-pip{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-round);background:var(--source);flex:none}.src-mark-dot .src-mark-name{color:var(--ink-dim)}.review-mark{--rev:var(--review-none);color:var(--rev);align-items:center;display:inline-flex}.review-mark[data-review=analysed]{--rev:var(--review-light)}.review-mark[data-review=reviewed]{--rev:var(--review-done)}.review-glyph{width:var(--space-6);height:var(--space-6);fill:currentColor;flex:none}.review-mark-pill{gap:var(--space-2);color:var(--rev);border-color:color-mix(in srgb, var(--rev) 45%, transparent)}.review-mark-pill .review-glyph{width:var(--space-5);height:var(--space-5)}.review-mark-pill[data-review=reviewed]{background:color-mix(in srgb, var(--rev) 14%, transparent)}.review-mark-pill[data-review=none]{color:var(--ink-dim);border-style:dashed}.review-mark-corner{z-index:1;width:var(--space-7);height:var(--space-7);pointer-events:none;position:absolute;top:0;right:0}.review-mark-fold{border-bottom-left-radius:var(--radius-xs);background:linear-gradient(to bottom left, var(--surface-page) 50%, var(--rev) 50%);position:absolute;inset:0}.review-mark-corner[data-review=analysed] .review-mark-fold{background:linear-gradient(to bottom left, var(--surface-page) 50%, color-mix(in srgb, var(--rev) 55%, transparent) 50%)}.review-mark-corner[data-review=none] .review-mark-fold{background:linear-gradient(to bottom left, var(--surface-page) 50%, color-mix(in srgb, var(--ink) 10%, transparent) 50%)}.review-mark-stamp{padding:var(--space-1) var(--space-3);border-radius:var(--radius-xs);color:var(--rev);font-size:var(--text-2xs);letter-spacing:var(--track-wide);border:1px solid;transform:rotate(-6deg)}.review-mark-stamp[data-review=none]{border-style:dashed}.result-mark{--tone:var(--line-strong);--tone-ink:var(--ink)}.result-mark[data-outcome=win]{--tone:var(--chart-win);--tone-ink:var(--positive)}.result-mark[data-outcome=draw]{--tone:var(--chart-draw);--tone-ink:var(--ink)}.result-mark[data-outcome=loss]{--tone:var(--chart-loss);--tone-ink:var(--danger-ink)}.result-mark-badge{min-width:var(--space-8);height:var(--space-8);padding:0 var(--space-2);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--tone) 20%, transparent);color:var(--tone-ink);font-size:var(--text-md);font-variant-numeric:tabular-nums;flex:none;place-items:center;font-weight:700;display:inline-grid}.result-mark-badge[data-wide]{padding:0 var(--space-1);font-size:var(--text-2xs);white-space:nowrap}.result-mark-edge{width:var(--space-2);background:var(--tone);position:absolute;top:0;bottom:0;left:0}.result-mark-score{align-items:baseline;gap:var(--space-1);color:var(--ink-faint);font-size:var(--text-base);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex}.result-mark-score b{color:var(--tone-ink);font-weight:700}.game-card{min-width:0;color:var(--ink);transition:background-color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);text-decoration:none;display:grid;position:relative;overflow:hidden}.game-card-who{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.game-card-who b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.game-card-vs,.game-card-when{color:var(--ink-faint);font-size:var(--text-sm);white-space:nowrap;flex:none}.game-card-rating{color:var(--ink-dim);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex:none}.game-card-opening,.game-card-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-card-opening{color:var(--ink-dim);font-size:var(--text-md)}.game-card-when{font-variant-numeric:tabular-nums}.game-card-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.game-card-list[data-layout=row]{gap:0}.game-card-list[data-layout=row]>li+li{border-top:1px solid var(--line)}.game-card-list[data-layout=tile]{grid-template-columns:repeat(auto-fill, minmax(min(100%, calc(var(--space-10) * 4)), 1fr));gap:var(--space-4);display:grid}.game-card-list[data-layout=tile]>li>.game-card{height:100%}.game-card-result{align-items:center;gap:var(--space-3);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-weight:600;display:inline-flex}.game-card-result[data-outcome=none] .game-card-score{color:var(--ink-dim)}.game-card-trend{min-width:0}.game-card-trend[data-empty]{display:block}.game-card-acc{justify-content:start;align-items:center;gap:var(--space-1) var(--space-3);grid-template-columns:auto auto;min-width:0;display:grid}.game-card-acc[data-named]{grid-template-columns:auto auto auto}.game-card-acc-row{display:contents}.game-card-acc-name,.game-card-acc-value,.game-card-acc-none{color:var(--ink-dim);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.game-card-acc-value{min-width:calc(var(--space-6) + var(--space-2));text-align:right}.game-card-quality{min-width:0}.game-card-row{grid-template-columns:var(--space-8) calc(var(--space-10) + var(--space-4)) minmax(0, 1.3fr) minmax(0, 1fr) minmax(var(--space-10), .9fr) auto var(--space-6) calc(var(--space-10) + var(--space-6));align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-5);grid-template-areas:"src res who open eval acc rev when"}.game-card-row>.src-mark{grid-area:src}.game-card-row>.game-card-result{grid-area:res}.game-card-row>.game-card-who{grid-area:who}.game-card-row>.game-card-opening{grid-area:open}.game-card-row>.game-card-trend{grid-area:eval;min-width:0}.game-card-row>.game-card-acc{grid-area:acc}.game-card-row>.review-mark{grid-area:rev}.game-card-row>.game-card-when{text-align:right;grid-area:when}.game-card-rich{gap:var(--space-6);padding:var(--space-5) var(--space-9) var(--space-5) var(--space-5);grid-template-columns:auto minmax(0,1fr)}.game-card-thumb .mini-board{width:calc(var(--space-10) * 2 + var(--space-6))}.game-card-body{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.game-card-head{align-items:baseline;gap:var(--space-4);min-width:0;font-size:var(--text-lg);display:flex}.game-card-head .game-card-score{font-size:var(--text-lg)}.game-card-figures{align-items:center;gap:var(--space-6);margin-top:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.game-card-eval{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.game-card-rich .game-card-trend{height:var(--space-9)}.game-card-rich .game-card-meta{white-space:normal}.game-card-rich .game-card-fact{white-space:nowrap}.game-card-foot{gap:var(--space-4);display:flex}.game-card-compact{gap:var(--space-2);padding:var(--space-4) var(--space-5);grid-template-columns:minmax(0,1fr)}.game-card-line{align-items:center;gap:var(--space-4);min-width:0;display:flex}.game-card-compact .game-card-who,.game-card-compact .game-card-sub{flex:auto}.game-card-compact .game-card-trend{flex:0 0 calc(var(--space-10) * 2 + var(--space-6));height:var(--space-7)}.game-card-compact .game-card-acc{flex:none}.game-card-tile{align-content:start;gap:var(--space-3);padding:var(--space-8) var(--space-5) var(--space-5);grid-template-columns:minmax(0,1fr)}.game-card-top{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.game-card-tile .game-card-score{font-size:var(--text-lg)}.game-card-tile .game-card-opening{-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;min-height:2.8em;line-height:1.4;display:-webkit-box}.game-card-tile .game-card-trend{min-width:0;height:var(--space-8)}.game-card-tile-figs{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.game-card-tile .game-card-quality{min-width:0;max-width:calc(var(--space-10) * 2);flex:auto}@media (max-width:720px){.game-card-row{grid-template-columns:var(--space-8) calc(var(--space-10) + var(--space-4)) minmax(0, 1fr) minmax(var(--space-10), .8fr) auto var(--space-6) calc(var(--space-10) + var(--space-6));grid-template-areas:"src res who eval acc rev when"}.game-card-row>.game-card-opening{display:none}.game-card-figures{grid-template-columns:minmax(0,1fr)}}@media (max-width:620px){.game-card-row{grid-template-columns:var(--space-8) calc(var(--space-10) + var(--space-4)) minmax(0, 1fr) auto auto;row-gap:var(--space-2);grid-template-areas:"src res who rev when""src res eval eval acc"}.game-card-row>.game-card-acc{justify-content:start}.game-card-rich{gap:var(--space-5);padding-right:var(--space-7)}.game-card-thumb .mini-board{width:calc(var(--space-10) + var(--space-8))}.game-card-compact .game-card-line+.game-card-line{row-gap:var(--space-3);flex-wrap:wrap}.game-card-compact .game-card-sub{flex-basis:100%;order:9}.game-card-compact .game-card-trend{flex:auto}}.insights-tab-issues{grid-template:"findings mistakes""findings trainers"/minmax(0,3fr) minmax(0,2fr)}.insights-tab-trends{grid-template-rows:auto auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"trends trends trends""stats results conversion"}.insights-tab-openings{grid-template:"openings"/minmax(0,1fr)}.insights-bento[hidden]{display:none}.page-head .insights-tabs{border-bottom:0;margin-bottom:0}.insights-bento>.insights-trends-frame{grid-area:trends}.insights-bento>.insights-findings-frame{grid-area:findings}.insights-bento>.insights-stats-frame{grid-area:stats}.insights-bento>.insights-openings-frame{grid-area:openings}.insights-bento>.insights-mistakes-frame{grid-area:mistakes}.insights-bento>.insights-results-frame{grid-area:results}.insights-bento>.insights-conversion-frame{grid-area:conversion}.insights-bento>.insights-trainers-frame{grid-area:trainers}.insights-trend-group{gap:var(--space-4);flex-direction:column;display:flex}.insights-trend-group+.insights-trend-group{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--line)}.insights-trend-row{grid-template-columns:repeat(auto-fit, minmax(min(100%, calc(12 * var(--space-6))), 1fr));gap:var(--space-6) var(--space-7);display:grid}.insights-trend{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.insights-trend-graph{--plot-h:calc(2 * var(--space-9))}.insights-stats{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.insights-stat .stat-note{align-items:baseline;gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.insights-record{gap:var(--space-7);margin-top:var(--space-7);padding-top:var(--space-7);border-top:1px solid var(--line);flex-direction:column;display:flex}.insights-record-part{gap:var(--space-4);flex-direction:column;display:flex}.insights-rating-list{gap:var(--space-5) var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.insights-totals{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row}.insights-findings-frame .empty-state{padding:var(--space-5) 0;margin-block:auto}.insights-findings{gap:var(--space-7);margin:var(--space-6) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.insights-finding{align-items:flex-start;gap:var(--space-3);padding-left:var(--space-5);border-left:var(--space-1) solid var(--accent);flex-direction:column;display:flex}.insights-finding-line{font-weight:400}.insights-finding-evidence{gap:var(--space-2) var(--space-5);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.insights-finding-line,.insights-finding-none,.insights-trend-line,.insights-so-what{color:var(--ink);font-size:var(--text-base);max-width:72ch;line-height:1.45}.insights-trend-line{font-size:var(--text-sm)}.insights-legend{margin:0}.insights-drill-meter{grid-column:1/-1}.insights-panel{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.insights-panel+.insights-panel{padding-top:var(--space-6);border-top:1px solid var(--line)}.insights-panel-head{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.insights-panel-body{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.insights-more{align-self:flex-end}.insights-bullets{gap:var(--space-5);flex-direction:column;display:flex}.insights-drills{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.insights-drill{align-items:center;gap:var(--space-4) var(--space-5);padding:var(--space-5) 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.insights-drill:first-child{padding-top:0}.insights-drill+.insights-drill{border-top:1px solid var(--line)}.insights-drill-text{align-items:flex-start;gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.insights-drill-name{font-size:var(--text-base);font-weight:600}.insights-drill-figure{text-align:right;align-items:flex-end}.insights-trainers{gap:var(--space-3);flex-wrap:wrap;grid-column:1/-1;margin:0;padding:0;list-style:none;display:flex}.insights-figure-line{align-items:baseline;gap:var(--space-4);flex-wrap:wrap;display:flex}.insights-figure-line strong{color:var(--ink);font-size:var(--text-xl);letter-spacing:var(--track-tight);font-weight:600}.insights-axis-note{margin-top:calc(-1 * var(--space-4));text-align:center}.insights-page .insights-motif{padding:var(--space-4) 0;grid-template-columns:auto minmax(0,1fr)}.insights-page .insights-motif-links{grid-column:2;justify-content:flex-start}.insights-page .insights-motif:first-child{padding-top:0}.insights-early{margin-bottom:var(--space-6)}.insights-section{margin-bottom:var(--space-8)}.insights-heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.insights-motifs{margin:0;padding:0;list-style:none}.insights-motif{align-items:baseline;gap:var(--space-2) var(--space-5);padding:var(--space-5) var(--space-7);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.insights-motif+.insights-motif{border-top:1px solid var(--line)}.insights-motif[data-tone=bad]{--tone:var(--danger)}.insights-motif[data-tone=good]{--tone:var(--positive)}.insights-motif[data-tone=neutral]{--tone:var(--line-strong)}.insights-motif-dot{width:var(--space-4);height:var(--space-4);border-radius:var(--radius-round);background:var(--tone);align-self:center}.insights-motif-text{line-height:1.5}.insights-motif-text .meta{margin-left:var(--space-2)}.insights-motif-links{justify-content:flex-end;gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}@media (max-width:720px){.insights-motif{grid-template-columns:auto minmax(0,1fr)}.insights-motif-links{grid-column:2;justify-content:flex-start}}@media (max-width:980px){.profile-accounts{grid-template-columns:minmax(0,1fr)}.profile-account+.profile-account{border-left:0;border-top:1px solid var(--line)}}@media (max-width:620px){.profile-account{padding:var(--space-6);grid-template-columns:minmax(0,1fr)}.history-card-link.live-card,.history-card-link.import-card{grid-template-columns:var(--space-6) minmax(0, 1fr) auto var(--space-6)}.live-card .history-matchup,.import-card .history-matchup{grid-area:1/2}.live-card .history-meta,.import-card .history-meta{grid-area:2/2/auto/4}.live-card .history-chevron,.import-card .history-chevron{grid-area:1/4/3}}.history-list{gap:var(--space-4);flex-direction:column;display:flex}.history-card{overflow:hidden}.history-card-link{align-items:center;gap:var(--space-4) var(--space-6);padding:var(--space-6) var(--space-7);color:var(--ink);transition:border-color var(--dur-base) var(--ease), background-color var(--dur-base) var(--ease);grid-template-columns:100px minmax(220px,1fr) auto 20px;text-decoration:none;display:grid;position:relative}.live-card,.import-card{grid-template-columns:22px minmax(200px,1fr) auto 20px}.history-card-link:hover .history-chevron{color:var(--accent);transform:translate(2px)}.history-matchup{align-items:baseline;gap:var(--space-4);min-width:0;display:flex}.history-matchup strong{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.history-matchup>span{color:var(--ink-dim);font-size:var(--text-sm)}.history-result{color:var(--accent-bright);font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:650}.history-meta{color:var(--ink-dim);font-size:var(--text-md);grid-column:2/4}.history-chevron{color:var(--ink-dim);font-size:var(--text-xl);transition:transform var(--dur-base) var(--ease);grid-area:1/4/3}.history-actions{align-items:center;gap:var(--space-5);margin-top:var(--space-6);display:flex}.history-actions a{font-size:var(--text-md)}.review-page{--review-pad:var(--space-8);width:calc(100% - 2 * var(--gutter));padding:var(--review-pad) 0;flex-direction:column;flex:1;justify-content:center;margin:0 auto;display:flex}.review-layout{--review-col-gap:var(--space-8);--review-status-gap:var(--space-4);--board-size:min(var(--board-ceiling), calc(100dvh - var(--global-bar-slot) - 2 * var(--review-pad) - var(--page-head) - 2 * var(--header-row) - var(--review-status-gap)), calc(100vw - 2 * var(--gutter) - var(--review-panel-w) - var(--review-col-gap) - var(--board-inset)));grid-template-columns:minmax(0, calc(var(--board-size) + var(--board-inset))) var(--review-panel-w);justify-content:center;align-items:start;gap:0 var(--review-col-gap);grid-template-rows:auto auto auto auto;display:grid}.review-layout>.status-line{margin-bottom:var(--review-status-gap);grid-area:1/1}.review-player-top{grid-area:2/1}.review-board-slot{grid-area:3/1;min-width:0}.review-player-bottom{grid-area:4/1}.review-panel-slot{grid-area:3/2}.review-player{align-items:center;gap:var(--space-4);min-height:var(--header-row);color:var(--ink-dim);padding:0 var(--space-2);display:flex}.review-player strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);font-weight:550;overflow:hidden}.review-player-piece{color:var(--ink-faint);font-size:var(--text-lg)}.review-player-piece.white{color:var(--ink)}.review-player-acc{font-variant-numeric:tabular-nums;margin-left:auto}.review-player>.captured-tray{display:none}.review-side{--eval-graph-h:calc(2 * var(--space-10));container:review-panel/size}.review-side>.panel-head{flex:0 auto;min-height:0}.review-side>.panel-head>*{flex:0 auto;min-height:0;overflow-y:auto}.review-side>.panel-body{min-height:calc(3 * var(--space-10))}.review-side>.panel-head>.review-shape{flex:none;overflow:visible}.review-side .movelist-nav{display:none}.review-nav{align-items:stretch;gap:var(--space-3);display:flex}.review-steps{flex:none;display:flex}.review-steps>.review-nav-btn+.review-nav-btn{border-left-color:var(--surface-panel)}.review-nav-btn>.key-cap{color:var(--ink)}.review-nav-btn{min-width:var(--hit-min);min-height:var(--hit-min);padding:var(--space-2) var(--space-3);font-size:var(--text-md);flex:none;line-height:1}.review-next{min-width:0;min-height:var(--hit-min);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.review-next-short{display:none}.review-extras{gap:var(--space-3);flex-direction:column;display:flex}.review-extras-row{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.review-extras-row>.share-bar{align-items:center;gap:0;padding-top:0}.review-extras-row .copy-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-xs);flex:none}.review-extras-row .copy-btn+.copy-btn{border-left-width:0}.review-extras-row .share-analyse{margin-left:var(--space-5);font-size:var(--text-sm)}.review-analysis-bar{align-items:center;gap:var(--space-2);min-width:0;color:var(--ink-faint);font-size:var(--text-xs);font-variant-numeric:tabular-nums;display:flex}.review-reanalyse{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);white-space:nowrap}.review-error{margin:0}.review-made-with{justify-content:center;align-items:baseline;gap:var(--space-2) var(--space-5);flex-wrap:wrap;margin:0;display:flex}.review-progress-card{gap:var(--space-4);padding:var(--space-6);flex-direction:column;display:flex}.review-progress-title{color:var(--ink);font-size:var(--text-lg);letter-spacing:var(--track-tight);font-variant-numeric:tabular-nums;font-weight:650}.review-progress-line{align-items:center;gap:var(--space-4);min-width:0;color:var(--ink-dim);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;flex:auto;display:flex}.review-progress-line>.loading-state{flex:auto}.review-shape{gap:var(--space-5);padding:var(--space-5) var(--space-6);flex-direction:column;display:flex}.review-meters{gap:var(--space-3);flex-direction:column;display:flex}.review-meter{grid-template-columns:var(--space-10) minmax(0, 1fr) auto;align-items:center;gap:var(--space-4);display:grid}.review-meter>.cells-meter>.cell{flex:1 1 0;width:auto}.review-meter-num{min-width:calc(2 * var(--space-9));text-align:right;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.review-meter[data-who=them] .review-meter-num{color:var(--ink-dim)}.review-insight{--verdict:var(--ink-dim);gap:var(--space-4);padding:var(--space-5) var(--space-6);flex-direction:column;display:flex}.review-move{align-items:baseline;gap:var(--space-3);min-width:0;display:flex}.review-move-san{font-family:var(--face-data);font-size:var(--text-2xl);letter-spacing:var(--track-tight);color:var(--ink);overflow-wrap:anywhere;font-weight:650;line-height:1}.review-move-glyph{font-size:var(--text-xl);color:var(--verdict);font-weight:800;line-height:1;display:inline-block}.review-move-label{align-items:center;gap:var(--space-3);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.review-move-cell{--cell-off:var(--line)}.review-move-name{color:var(--verdict);font-weight:600}.review-move-spark{color:var(--accent)}.review-move-rating,.review-move-lead{color:var(--ink-dim);font-variant-numeric:tabular-nums}.review-move-lead:before{content:"· "}.review-rating-bar{height:var(--space-2);border-radius:var(--radius-pill);background:var(--line);position:relative;overflow:hidden}.review-rating-fill{border-radius:var(--radius-pill);transition:width var(--dur-base) var(--ease), background-color var(--dur-base) var(--ease);position:absolute;inset:0 auto 0 0}.review-rating-line{background:var(--surface-page);opacity:.85;width:1px;position:absolute;top:0;bottom:0}.review-insight-text{color:var(--ink);font-size:var(--text-md);text-wrap:pretty;line-height:1.5}.review-insight-empty .review-insight-text{color:var(--ink-dim)}.review-insight-dead .review-insight-text{opacity:.75}.review-insight-controls{gap:var(--space-4);border-top:1px solid var(--line);padding-top:var(--space-5);flex-direction:column;display:flex}.review-insight-controls.empty-state{text-align:left;padding:var(--space-5) 0 0;align-items:flex-start}.review-control{align-items:center;gap:var(--space-2);box-sizing:border-box;font-family:inherit;font-size:var(--text-xs);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--ink-dim);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;line-height:1;display:inline-flex}.review-control-dash{border-radius:var(--radius-xs);opacity:.5;width:13px;height:3px;transition:opacity var(--dur-fast) var(--ease);background:currentColor;flex:none}.review-control:hover .review-control-dash,.review-control:focus-within .review-control-dash,.review-control.is-on .review-control-dash{opacity:1}.review-view:hover,.review-claim.has-arrow:hover,.review-claim.has-arrow:focus-visible{background:color-mix(in srgb, currentColor 14%, transparent);border-color:currentColor;outline:none}.review-view:has(.review-control-input:focus-visible){background:color-mix(in srgb, currentColor 14%, transparent);border-color:currentColor;outline:none}.review-views{gap:var(--space-2);flex-wrap:wrap;display:flex}.review-view{color:var(--tint,var(--ink-dim));border-color:color-mix(in srgb, var(--tint,var(--ink-dim)) 45%, transparent);background:color-mix(in srgb, var(--tint,var(--ink-dim)) 7%, transparent)}.review-control-dot{border-radius:var(--radius-round);width:10px;height:10px;transition:background-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);background:0 0;border:1.5px solid;flex:none}.review-view.is-on .review-control-dot{box-shadow:inset 0 0 0 2px var(--surface-panel);background:currentColor}.review-view:hover{border-color:var(--tint)}.review-view:has(.review-control-input:focus-visible){border-color:var(--tint)}.review-view.is-on{border-color:var(--tint);background:color-mix(in srgb, var(--tint) 24%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tint) 60%, transparent)}.review-claims{gap:var(--space-2);flex-wrap:wrap;list-style:none;display:flex}.review-claims li{display:flex}.review-claim.tone-good{color:var(--positive);border-color:color-mix(in srgb, var(--positive) 33%, transparent)}.review-claim.tone-bad{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 33%, transparent)}.review-claim.subject-allowed{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 33%, transparent);background:color-mix(in srgb, var(--danger) 8%, transparent)}.review-claim.subject-missed{border-style:dashed}.review-claim.subject-context{opacity:.7}.review-claim.is-inert{cursor:default;opacity:.55}.review-layout>.status-line.exploring{color:var(--branch)}.review-layout>.status-line.exploring .status-dot{background:var(--branch);box-shadow:0 0 0 3px var(--branch-faint)}.review-board-slot{position:relative}.review-board-slot.exploring:before{content:"";border:1px dashed var(--branch-dim);border-radius:calc(var(--radius-xl) + min(var(--radius-xl), var(--space-4)));pointer-events:none;position:absolute;inset:-10px}.review-board-slot.exploring:after{content:"TEST LINE";padding:1px var(--space-4);color:var(--branch);background:var(--surface-page);border:1px solid var(--branch-dim);border-radius:var(--radius-pill);font-size:var(--text-2xs);letter-spacing:var(--track-label);pointer-events:none;font-weight:700;position:absolute;top:-9px;right:6px}.variation{border:1px solid var(--branch-dim);border-radius:var(--radius-xl);box-shadow:inset var(--edge-w) 0 0 var(--branch);background:var(--branch-faint);padding:var(--space-4) var(--space-5) var(--space-4);flex:none}.variation-head{align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.variation-tag{color:var(--branch);font-size:var(--text-base);line-height:1}.variation-head strong{color:var(--branch);font-size:var(--text-md);letter-spacing:var(--track-tight);font-weight:650}.variation-from{color:var(--ink-dim);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.variation-exit{padding:var(--space-1) var(--space-4);font-size:var(--text-sm);color:var(--branch);border-color:var(--branch-dim);background:0 0;flex:none;margin-left:auto}.variation-exit:hover{background:var(--branch-faint);border-color:var(--branch)}.variation-moves{gap:var(--space-1);--scrollbar-thumb:var(--branch-dim);flex-wrap:wrap;max-height:60px;display:flex;overflow-y:auto}.variation-move{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--text-base);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;font-weight:500;display:inline-flex}.variation-move:hover{background:color-mix(in srgb, var(--ink) 5%, transparent);border-color:#0000}.variation-move.active{background:color-mix(in srgb, var(--branch) 18%, transparent);border-color:var(--branch-dim);box-shadow:none}.variation-root{color:var(--ink-dim);font-size:var(--text-md)}.variation-num{color:var(--ink-faint);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.variation-dot{border-radius:var(--radius-round);background:var(--branch);width:5px;height:5px;animation:branch-pulse var(--dur-lazy) var(--ease) infinite}@keyframes branch-pulse{0%,to{opacity:.25}50%{opacity:1}}.variation-hint{color:var(--ink-dim);margin-top:var(--space-3);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;line-height:1.4;overflow:hidden}.review-side.exploring .eval-graph,.movelist-disabled .movelist-scroll{opacity:.5}.movelist-disabled .move-cell:disabled{opacity:1;cursor:default}.review-state{flex:1}.review-state h2{font-size:var(--text-xl)}.fab{width:var(--icon-btn-sm);height:var(--icon-btn-sm);font-size:var(--text-base);color:var(--ink);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-round);cursor:pointer;transition:border-color var(--dur-base) var(--ease), background-color var(--dur-base) var(--ease);flex:none;place-items:center;padding:0;line-height:1;text-decoration:none;display:inline-grid}.fab:hover{border-color:var(--accent-dim)}.menu-corner{z-index:30;flex:none;display:flex;position:relative}.menu-corner>.menu-pop{top:calc(100% + var(--space-4));position:absolute;right:0}.menu-fab.open{border-color:var(--accent-dim);color:var(--accent-bright)}.menu-pop{gap:var(--space-4);padding:var(--space-5);min-width:170px;animation:menu-pop var(--dur-base) var(--ease);flex-direction:column;display:flex}.menu-pop button:not(.swatch):not(.chip){text-align:left}.menu-extra{display:contents}@keyframes menu-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.sq-verdict{--verdict:var(--accent);z-index:12;pointer-events:none;width:12.5%;height:12.5%;position:absolute;container-type:size}.sq-verdict.correct{--verdict:var(--positive)}.sq-verdict.wrong{--verdict:var(--danger)}.sq-verdict.solved{--verdict:var(--accent)}.sq-verdict.mate{--verdict:rgb(var(--hl-check-rgb))}.sq-verdict.correct:before,.sq-verdict.wrong:before,.sq-verdict.solved:before{content:"";box-shadow:inset 0 0 0 var(--space-1) color-mix(in srgb, var(--verdict) 80%, transparent);animation:verdict-flash var(--dur-lazy) var(--ease-out) both;position:absolute;inset:0}@keyframes verdict-flash{0%{background-color:color-mix(in srgb, var(--verdict) 55%, transparent)}to{background-color:#0000}}.sq-verdict-badge{border-radius:var(--radius-pill);background:var(--verdict);min-width:1.6em;height:1.6em;color:var(--side-white);font-size:clamp(var(--text-2xs), 26cqh, var(--text-xl));font-variant-numeric:tabular-nums;text-shadow:0 1px 1px color-mix(in srgb, var(--shade) 45%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--shade) 30%, transparent);animation:badge-pop var(--dur-slow) var(--ease-pop) both;place-items:center;padding-inline:.3em;font-weight:800;line-height:1;display:grid;position:absolute;top:0;right:0;translate:28% -28%}.sq-verdict.scored .sq-verdict-badge{font-size:clamp(var(--text-2xs), 22cqh, var(--text-lg))}@keyframes badge-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.coach-card{--verdict:var(--ink-faint);--verdict-ink:var(--ink-dim);isolation:isolate;gap:var(--space-4);padding:var(--space-5) var(--space-6);box-shadow:inset var(--edge-w) 0 0 var(--verdict);transition:box-shadow var(--dur-base) var(--ease);flex-direction:column;display:flex;position:relative}.coach-card.is-correct{--verdict:var(--positive);--verdict-ink:var(--positive)}.coach-card.is-wrong{--verdict:var(--danger);--verdict-ink:var(--danger-ink)}.coach-card.is-solved{--verdict:var(--accent);--verdict-ink:var(--accent-bright);border-color:var(--accent-dim);background:color-mix(in srgb, var(--accent) 7%, var(--surface-panel))}.coach-card.is-info{--verdict:var(--info);--verdict-ink:var(--info)}.coach-flash{z-index:-1;border-radius:inherit;pointer-events:none;animation:coach-flash var(--dur-lazy) var(--ease-out) both;position:absolute;inset:0}@keyframes coach-flash{0%{background-color:color-mix(in srgb, var(--verdict) 24%, transparent)}to{background-color:#0000}}.coach-head{align-items:center;gap:var(--space-4);min-width:0;display:flex}.coach-icon{width:var(--space-8);height:var(--space-8);border-radius:var(--radius-round);background:var(--verdict);color:var(--side-white);font-size:var(--text-base);font-variant-numeric:tabular-nums;animation:badge-pop var(--dur-slow) var(--ease-pop) both;flex:none;place-items:center;font-weight:800;line-height:1;display:inline-grid}.coach-card.is-prompt .coach-icon{background:var(--surface-raised);color:var(--ink-dim);box-shadow:inset 0 0 0 1px var(--line-strong)}.coach-card.is-solved .coach-icon{width:var(--space-9);height:var(--space-9);color:var(--accent-ink);font-size:var(--text-lg)}.coach-heading{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.coach-eyebrow{align-items:center;gap:var(--space-3);color:var(--verdict-ink);display:flex}.coach-side{width:var(--space-4);height:var(--space-4);border-radius:var(--radius-round);box-shadow:0 0 0 1px var(--line-strong);flex:none}.coach-side[data-side=w]{background:var(--side-white)}.coach-side[data-side=b]{background:var(--side-black)}.coach-title{font-size:var(--text-lg);letter-spacing:var(--track-tight);color:var(--ink);overflow-wrap:anywhere;font-weight:650;line-height:1.25}.coach-card.is-solved .coach-title{font-size:var(--text-xl)}.coach-body{color:var(--ink-dim);font-size:var(--text-md);line-height:1.5}.coach-body strong{color:var(--ink)}.pips{align-items:center;gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.pip{min-width:var(--space-3);max-width:var(--space-8);height:var(--space-3);border-radius:var(--radius-pill);background:var(--line-strong);flex:1 1 0;position:relative}.pip.current{background:var(--accent-faint);box-shadow:0 0 0 1px var(--accent)}.pip-fill{border-radius:inherit;background:var(--positive);animation:pip-pop var(--dur-slow) var(--ease-pop) both;position:absolute;inset:0}.pip.failed .pip-fill{background:var(--danger)}@keyframes pip-pop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}.count-up{font-variant-numeric:tabular-nums}.delta-pop{font-variant-numeric:tabular-nums;animation:delta-pop var(--dur-lazy) var(--ease-pop) both;font-weight:650}.delta-pop.up{color:var(--positive);border-color:color-mix(in srgb, var(--positive) 45%, transparent);background:color-mix(in srgb, var(--positive) 12%, transparent)}.delta-pop.down{color:var(--danger-ink);border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:color-mix(in srgb, var(--danger) 12%, transparent)}.delta-pop.flat{color:var(--ink-dim)}@keyframes delta-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.sq-verdict:before,.sq-verdict-badge,.coach-flash,.coach-icon,.pip-fill,.delta-pop{animation:none}.coach-card{transition:none}}.menu-pop button .menu-value{float:right;margin-left:var(--space-5);color:var(--ink-dim);font-weight:400}.menu-pop .menu-switch[aria-checked=true] .menu-value{color:var(--accent-bright)}.menu-switch-note{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--ink-faint);font-weight:400;display:block}.piece-menu-list{gap:var(--space-2);grid-template-columns:1fr 1fr;max-height:46vh;display:grid;overflow-y:auto}.piece-option{align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2) var(--space-2);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;flex-direction:column;display:flex}.piece-option:hover{background:var(--surface-raised);border-color:var(--line-strong)}.piece-option.on{border-color:var(--accent-dim);background:var(--surface-raised)}.piece-option-preview{justify-content:center;align-items:center;gap:1px;height:30px;display:flex}.piece-option-preview img{width:28px;height:28px;display:block}.piece-option-preview img:first-child{background:var(--sq-dark)}.piece-option-preview img:last-child{background:var(--sq-light)}.piece-option-name{font-size:var(--text-sm);color:var(--ink-dim);font-weight:500}.piece-option.on .piece-option-name{color:var(--accent-bright)}.sound-volume{min-width:0;accent-color:var(--accent-bright);cursor:pointer;flex:auto}.sound-volume:disabled{opacity:.35;cursor:default}.sound-volume-value{text-align:right;width:22px;font-size:var(--text-xs);color:var(--ink-dim);font-variant-numeric:tabular-nums;flex:none}.sound-pack-list{gap:var(--space-1);flex-direction:column;max-height:46vh;display:flex;overflow-y:auto}.sound-option{padding:var(--space-3) var(--space-4);text-align:left;border-radius:var(--radius-md);background:0 0;border:1px solid #0000;flex-direction:column;align-items:flex-start;gap:1px;display:flex}.sound-option:hover{background:var(--surface-raised);border-color:var(--line-strong)}.sound-option.on{border-color:var(--accent-dim);background:var(--surface-raised)}.sound-option-head{align-items:center;gap:var(--space-3);width:100%;display:flex}.sound-option-name{font-size:var(--text-md);font-weight:600}.sound-option.on .sound-option-name{color:var(--accent-bright)}.sound-tag{padding:1px var(--space-2);letter-spacing:var(--track-body);margin-left:auto}.sound-tag.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.sound-option-blurb{font-size:var(--text-xs);color:var(--ink-dim);font-weight:400;line-height:1.25}.arrow-bind-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.arrow-bind-option,.arrow-bind-record{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-md);font-weight:600}.arrow-bind-option.on,.arrow-bind-record.on,.arrow-bind-record.armed{color:var(--accent-bright);border-color:var(--accent-dim);background:var(--surface-raised)}.arrow-bind-record{align-items:center;gap:var(--space-3);width:100%;display:flex}.arrow-bind-record .arrow-bind-key{margin-left:auto}.arrow-bind-hint{font-size:var(--text-xs);color:var(--ink-dim);font-weight:400;line-height:1.25}.takeback-start:hover:not(:disabled){border-color:var(--danger)}.resign-btn:not(.key-chip):before,.draw-btn:before,.abort-btn:before{margin-right:var(--space-3);color:var(--ink-dim)}.resign-btn:not(.key-chip):before{content:"⚑"}.draw-btn:before{content:"½"}.abort-btn:before{content:"✕"}.takeback-count{margin-left:var(--space-3)}.analysis-status{padding:var(--space-1) var(--space-1) 0}.summary{padding:var(--space-6);gap:var(--space-5);flex-direction:column;display:flex}.summary-mix{gap:var(--space-3);flex-direction:column;display:flex}.summary-mix-row{grid-template-columns:var(--space-10) minmax(0, 1fr);align-items:center;gap:var(--space-4);display:grid}.summary-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.summary-table td,.summary-table th{padding:var(--space-1) var(--space-2)}.summary-label{text-align:center;font-weight:600}.summary-count{text-align:center;font-variant-numeric:tabular-nums}.summary-tally th,.summary-tally td{padding-inline:var(--space-1)}.summary-tally th.summary-label{vertical-align:bottom;font-size:var(--text-xs);white-space:nowrap}.summary-glyph,.summary-name{display:block}@container review-panel (max-width:360px){.summary-tally th.summary-label{font-size:var(--text-2xs)}}.summary-who{text-align:left;color:var(--ink-dim);font-size:var(--text-xs);font-weight:500}.summary-tally .summary-count{font-size:var(--text-base);font-weight:650}.summary-tally tbody tr+tr{border-top:1px solid var(--line)}.summary-tally .empty{opacity:.42}.summary-count.zero{color:var(--ink-dim)}.review-moments{gap:var(--space-3);flex-direction:column;display:flex}.review-moments ol{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.review-moment{--moment:var(--danger);padding-left:var(--space-5);line-height:1.45;position:relative}.review-moment:is([data-kind=found],[data-kind=turned],[data-kind=only]){--moment:var(--positive)}.review-moment:before{content:"";width:var(--space-3);height:var(--space-3);border-radius:var(--radius-round);background:var(--moment);position:absolute;top:.5em;left:0}.review-moment .link-btn{font-size:var(--text-sm);color:var(--ink);padding:0;font-weight:650}@container review-panel (max-height:760px){.summary-phases{display:none}}@container review-panel (max-height:620px){.review-moments{display:none}}.eval-graph{width:100%;height:var(--eval-graph-h,calc(2 * var(--space-10)));flex:none}.promo-overlay{background:var(--surface-scrim);-webkit-backdrop-filter:var(--blur-scrim);backdrop-filter:var(--blur-scrim);z-index:20;border-radius:var(--radius-lg);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.promo-picker{background:var(--surface-panel);border:1px solid var(--accent-dim);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-7);text-align:center;box-shadow:var(--shadow-xl)}.promo-picker p{margin-bottom:var(--space-5)}.promo-options{gap:var(--space-4);display:flex}.promo-btn{width:62px;height:62px;padding:var(--space-3);justify-content:center;align-items:center;display:flex}.promo-btn>*{width:100%;height:100%}.promo-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-bright)}.toast{align-items:center;gap:var(--space-4);background:var(--surface-panel);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-7);z-index:50;animation:var(--motion-toast);box-shadow:var(--shadow-lg);border:2px solid;display:flex;position:fixed;top:76px;left:50%;transform:translate(-50%)}.bg-work{right:var(--gutter);bottom:calc(var(--space-1) + env(safe-area-inset-bottom));z-index:45;gap:var(--space-1);padding:var(--space-1) var(--space-4);border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink-dim);font-size:var(--text-2xs);pointer-events:none;flex-direction:column;line-height:1;display:flex;position:fixed}.bg-work-row{align-items:center;gap:var(--space-4);white-space:nowrap;display:flex}.bg-work .cells-load{--cell-on:var(--accent);height:auto;animation:var(--motion-live)}.bg-work-count{color:var(--ink)}@media (max-width:980px){.bg-work-label{display:none}}.play-layout>.board-row{position:relative}.play-toast{--toast-edge:var(--ink-faint);top:var(--space-6);left:calc(var(--board-inset) + (100% - var(--board-inset)) / 2);max-width:calc(100% - var(--board-inset) - 2 * var(--space-6));border:0;border-left:var(--edge-w) solid var(--toast-edge);background:var(--surface-raised);padding:var(--space-4) var(--space-6);color:var(--ink);font-family:var(--face-prose);font-size:var(--text-base);pointer-events:none;position:absolute}.play-toast[data-tone=good]{--toast-edge:var(--status-good)}.play-toast[data-tone=blunder]{--toast-edge:var(--status-blunder)}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%)scale(.6)}to{opacity:1;transform:translate(-50%)scale(1)}}.modal-overlay{background:var(--surface-scrim);-webkit-backdrop-filter:var(--blur-scrim);backdrop-filter:var(--blur-scrim);z-index:40;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{padding:var(--space-8);width:min(calc(100vw - 2 * var(--gutter)), var(--modal-w));gap:var(--space-5);flex-direction:column;max-height:90vh;display:flex;position:relative;overflow-y:auto}.modal:before{content:"";background:var(--accent-dim);height:1px;position:absolute;top:0;left:24px;right:24px}.modal h2{font-size:var(--text-xl);letter-spacing:var(--track-tight);font-weight:600}.modal-result{color:var(--ink-dim);font-size:var(--text-base)}.plans-fit{transform:scale(var(--plans-fit,1))}.modal.plans-modal{width:min(calc(100vw - 2 * var(--gutter)), var(--modal-w-plans));gap:var(--space-6);max-height:none;animation:var(--motion-plans);overflow:visible}.plans-overlay[data-leaving]{animation:var(--motion-plans-scrim-out)}.plans-overlay[data-leaving] .modal.plans-modal{animation:var(--motion-plans-out)}.plans-modal>*{z-index:1;animation:var(--motion-plans-part);animation-delay:calc(var(--plans-intro) + var(--plans-k,0) * var(--dur-fast) / 2);position:relative}.plans-modal>.plans-build{z-index:0;grid-template-columns:repeat(var(--plans-cols), minmax(0, 1fr));grid-template-rows:repeat(var(--plans-rows), minmax(0, 1fr));gap:var(--cell-gap);pointer-events:none;animation:none;display:grid;position:absolute;inset:0}.plans-build>i{background:var(--surface-panel);animation:var(--motion-plans-cell);animation-delay:calc(var(--plans-d,0) * var(--dur-fast) / 4)}.plans-head{justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.plans-close{flex:none}.plans-why{font-family:var(--face-prose);font-size:var(--text-base);color:var(--ink);background:var(--surface-sunken);padding:var(--space-4) var(--space-5);margin:0}.plans-compare{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.plans-col{background:var(--surface-raised);padding:var(--space-6);align-content:start;gap:var(--space-5);animation:var(--motion-plans-pop);animation-delay:calc(var(--plans-intro) + var(--dur-fast) + var(--plans-c,0) * var(--dur-slow) / 2);display:grid}.plans-col:first-child{background:var(--surface-sunken)}.plans-col h3{align-items:flex-end;gap:var(--space-4);font-size:var(--text-lg);margin:0;font-weight:500;display:flex}.plans-col-name{gap:var(--space-1);display:grid}.plans-crowned{display:inline-flex}.plans-crowned .wp-crown{animation:var(--motion-plans-crown);animation-delay:calc(var(--plans-intro) + 4 * var(--dur-fast))}.plans-col dl{gap:var(--space-3) var(--space-5);font-family:var(--face-prose);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) auto;margin:0;display:grid}.plans-col dt{color:var(--ink-dim)}.plans-col dd{font-family:var(--face-data);font-size:var(--text-xs);text-align:right;margin:0}.plans-col dd.plans-no{color:var(--ink-faint)}.plans-foot{justify-content:space-between;align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.plans-start{padding-block:var(--space-3)}.plans-start>.key-cap{animation:var(--motion-plans-glint);animation-delay:calc(var(--plans-intro) + 2 * var(--dur-lazy))}.plans-start-words{justify-items:start;gap:var(--space-1);display:grid}.plans-start-then{font-size:var(--text-2xs);font-weight:400}@keyframes plans-fill{0%{box-shadow:none;background-color:#0000}to{background-color:var(--surface-panel)}}@keyframes plans-cell{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes plans-crown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes plans-glint{25%,75%{color:var(--ink)}50%{color:var(--accent-bright)}}@keyframes plans-fold{0%{clip-path:inset(0);opacity:1}70%{clip-path:inset(46% 0);opacity:1}to{clip-path:inset(50% 30%);opacity:0}}@keyframes plans-sink{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(8px)}}@keyframes plans-scrim-out{to{opacity:0}}@media (max-width:620px){.plans-compare{grid-template-columns:minmax(0,1fr)}}.puzzle-card,.puzzle-coach-body{gap:var(--space-4);flex-direction:column;display:flex}.puzzle-meta{align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.puzzle-reward{color:var(--ink);font-size:var(--text-base);font-variant-numeric:tabular-nums}.puzzle-reward-rating{color:var(--accent-bright);font-size:var(--text-lg);font-weight:650}.puzzle-reward .new-best{color:var(--accent-bright)}.puzzle-rating-row{align-items:baseline;gap:var(--space-4);display:flex}.puzzle-rating{font-size:var(--text-2xl);letter-spacing:var(--track-tight);color:var(--accent-bright);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.05}.puzzle-delta{font-size:var(--text-lg);font-variant-numeric:tabular-nums;animation:toast-pop var(--dur-lazy) var(--ease-pop);font-weight:600}.puzzle-delta.up{color:var(--positive)}.puzzle-delta.down{color:var(--danger)}.puzzle-delta.flat{color:var(--ink-dim)}.puzzle-substat{font-size:var(--text-md);color:var(--ink-dim);font-variant-numeric:tabular-nums}.rating-strip-top{align-items:center;gap:var(--space-6);display:flex}.rating-strip-now{gap:var(--space-1);flex-direction:column;flex:none;display:flex}.rating-trend,.rating-trend-empty{flex:1 1 0;min-width:0}.rating-trend{--plot-h:var(--space-10)}.rating-line{color:var(--ink);font-size:var(--text-md);line-height:1.4}.graph-empty{line-height:1.45}.puzzle-themes{display:block}.puzzle-themes-summary{align-items:center;gap:var(--space-4);cursor:pointer;list-style:none;display:flex}.puzzle-themes-summary::-webkit-details-marker{display:none}.puzzle-themes-current{color:var(--ink);font-size:var(--text-base);transition:color var(--dur-base) var(--ease);font-weight:500}.puzzle-themes-summary:hover .puzzle-themes-current{color:var(--accent-bright)}.puzzle-themes-summary:after{content:"▾";color:var(--ink-dim);transition:transform var(--dur-base) var(--ease);margin-left:auto}.puzzle-themes[open]>.puzzle-themes-summary:after{transform:rotate(180deg)}.puzzle-theme-list{gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.puzzle-log{margin:0;padding:0;list-style:none;overflow:hidden}.puzzle-log>.cell{width:var(--cell-lg);height:var(--cell-lg)}.theme-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.oops-btn{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;font-size:var(--text-base);padding:var(--space-4) var(--space-5);border-color:var(--danger);animation:oops-in var(--dur-base) var(--ease) both;display:flex;position:relative;overflow:hidden}.oops-btn:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb, var(--danger) 15%, transparent)}.oops-label{font-weight:500}.oops-fuse{background:var(--danger);transform-origin:0;width:100%;height:2px;animation-name:oops-fuse;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;bottom:0;left:0}@keyframes oops-fuse{to{transform:scaleX(0)}}@keyframes oops-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.oops-btn,.oops-fuse{animation:none}}.rush-head{align-items:center;gap:var(--space-5) var(--space-6);flex-flow:wrap}.rush-timer{font-family:var(--face-data);font-size:var(--text-2xl);letter-spacing:var(--track-body);font-variant-numeric:tabular-nums;color:var(--accent-bright);flex:auto;font-weight:600;line-height:1.05}.rush-timer.low{color:var(--danger-ink);animation:rush-pulse var(--dur-lazy) var(--ease) infinite}@keyframes rush-pulse{50%{opacity:.55}}.rush-score{align-items:baseline;gap:var(--space-3);font-family:var(--face-data);font-size:var(--text-xl);font-variant-numeric:tabular-nums;font-weight:600;display:inline-flex}.rush-strikes>.cell{width:var(--cell-lg);height:var(--cell-lg)}.rush-run{flex:100%}@media (prefers-reduced-motion:reduce){.rush-timer.low{animation:none}}.rush-result{width:min(calc(100vw - 2 * var(--gutter)), var(--modal-w-wide))}.rush-result-stats .stat-value{font-family:var(--face-data);font-size:var(--text-3xl)}.rush-result-score .stat-value{color:var(--accent-bright)}.rush-result-line{font-size:var(--text-base);color:var(--ink)}@media (max-width:980px){.layout{grid-template-columns:minmax(0, var(--stack-w));padding:var(--space-6) var(--gutter);grid-template-rows:auto auto auto;align-content:start}.board-row{gap:var(--space-2) 0;grid-template-rows:auto auto auto;grid-template-columns:auto minmax(0,1fr);display:grid}.captured-counter{display:contents}.captured-tray{height:var(--captured-piece);flex-direction:row;grid-column:2;align-items:center}.captured-tray.top{grid-row:1}.captured-tray.bottom{grid-row:3;justify-content:flex-start}.board-row>.evalbar{margin-right:calc(var(--eval-room,1) * var(--board-row-gap));grid-area:2/1}.board-row>:not(.captured-counter,.evalbar){grid-area:2/2}.captured-pieces{padding:0 var(--space-1);border-width:0;flex-direction:row;align-self:stretch}.captured-piece{width:calc(var(--captured-piece) - var(--space-1));height:calc(var(--captured-piece) - var(--space-1))}.captured-count{bottom:0}.captured-piece+.captured-piece{margin-left:var(--space-2)}.captured-lead{order:1}.panel,.review-panel-slot{margin-left:var(--board-inset)}.panel{grid-area:3/1;position:static}.panel-inner{position:static}.panel-inner>.movelist{flex:none}.movelist-scroll{min-height:140px;max-height:320px}.panel-body{flex:none;overflow:visible}.panel-body>:is(.movelist,.panel-fill){flex:none}.panel-foot{z-index:13;padding:var(--space-4) 0 calc(var(--space-4) + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface-page) 92%, transparent);-webkit-backdrop-filter:var(--blur-bar);backdrop-filter:var(--blur-bar);border-top:1px solid var(--line);position:sticky;bottom:0}.play-layout{row-gap:var(--space-3);grid-template-rows:auto auto auto auto auto}.play-layout>.play-seat{grid-column:1;min-width:0;display:block}.play-layout>.play-seat.top{grid-row:2}.play-layout>.board-row{grid-row:3}.play-layout>.play-seat.bottom{grid-row:4}.play-layout>.panel{margin-top:var(--space-5);grid-row:5}.play-panel .panel-head>.player-card,.play-panel .panel-foot>.player-card,:is(.play-panel .panel-head:not(:has(>:not(.player-card))),.play-panel .panel-foot:not(:has(>:not(.player-card)))){display:none}.play-seat>.player-card{gap:var(--space-4);padding:var(--space-2) var(--space-4)}.play-seat .player-portrait{width:calc(var(--icon-btn-sm) - var(--space-4));height:calc(var(--icon-btn-sm) - var(--space-4));font-size:var(--text-base)}.play-seat .player-sub{display:none}.play-seat .player-line{align-items:center}.play-seat .captured-tray{flex:0 auto;min-width:0}.play-seat .clock-time{font-size:var(--text-lg)}.play-layout>.board-row>.captured-counter,.review-board-slot .captured-counter{display:none}.play-layout>.board-row,.review-board-slot .board-row{row-gap:0}.play-panel .panel-body>.movelist{min-height:0}.play-panel .movelist-scroll{min-height:0;max-height:none;padding:var(--space-3) var(--space-4);flex:none;overflow:auto hidden}.play-panel .movelist :is(table,tbody,tr){align-items:center;display:flex}.play-panel .movelist table{width:max-content}.play-panel .movelist tbody{gap:var(--space-4)}.play-panel .movelist .move-num{width:auto;padding-right:var(--space-1)}.takeback-start .act-detail{display:none}.panel-foot :is(.takeback,.lichess-bar-actions) button{padding:var(--space-2) var(--space-4)}.review-layout{grid-template-columns:minmax(0, var(--stack-w));grid-template-rows:auto auto auto auto auto}.review-layout>.status-line,.review-player-top,.review-board-slot,.review-player-bottom{grid-column:1}.review-panel-slot{margin-top:var(--space-6);grid-area:5/1;position:static}.review-side{position:static;container-type:normal}.review-steps{flex:4 1 0}.review-nav-btn{flex:1 1 0}.review-next{flex:2 1 0}.review-next-long{display:none}.review-next-short{display:inline}.review-player>.captured-tray{flex:0 auto;justify-content:flex-end;min-width:0;margin-left:auto;display:flex}.review-player>.review-player-acc{margin-left:0}}@media (max-width:620px){.layout{padding-inline:var(--space-1)}.review-page{width:calc(100% - 2 * var(--space-1))}}.lichess-setup{gap:var(--space-4)}.lichess-note{color:var(--ink-dim);font-size:var(--text-sm);line-height:1.45}.lichess-error p{margin:0}.lichess-refresh,.lichess-refresh:hover:not(:disabled){margin-top:var(--space-1);color:var(--danger-ink)}.lichess-refresh:hover:not(:disabled){text-decoration:underline}@media (max-width:620px){.history-page{padding-top:var(--space-8)}.history-header{gap:var(--space-5)}.history-card-link{gap:var(--space-3) var(--space-5);padding:var(--space-6);grid-template-columns:1fr auto 16px}.history-mode{grid-column:1}.history-matchup{grid-area:2/1/auto/3}.history-result{grid-area:1/2}.history-meta{grid-area:3/1/auto/3;line-height:1.5}.history-chevron{grid-area:1/3/4}.review-page{padding:var(--space-6) 0 var(--space-8);justify-content:flex-start}}.lichess-who{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-right:var(--space-7);display:flex}.lichess-user{align-items:baseline;gap:var(--space-3);min-width:0;font-weight:600;font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;display:flex;overflow:hidden}.lichess-rating{font-size:var(--text-sm);color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.lichess-searching{align-items:center;gap:var(--space-4);padding:var(--space-1) 0;display:flex}.lichess-searching-text{min-width:0;font-size:var(--text-md);flex:1;font-weight:500;line-height:1.3}.lichess-elapsed{margin-left:var(--space-3);color:var(--ink-dim);font-variant-numeric:tabular-nums}.lichess-ongoing{gap:var(--space-2);flex-direction:column;display:flex}.lichess-ongoing-game{justify-content:space-between;align-items:baseline;gap:var(--space-4);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--ink);font-size:var(--text-md);text-decoration:none;display:flex}.lichess-ongoing-meta{font-size:var(--text-sm);color:var(--ink-dim)}.challenge-bento{grid-template-rows:auto;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-content:center}.challenge-fields{align-items:start;gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.challenge-foot{justify-content:flex-end}.challenge-link{align-items:center}@media (max-width:720px){.challenge-fields{grid-template-columns:minmax(0,1fr)}}.lichess-bar{gap:var(--space-3);flex-direction:column;display:flex}button.armed{border-color:var(--danger);color:var(--danger-ink)}.lichess-link{color:var(--ink-dim);font-size:var(--text-md);padding:var(--space-3) var(--space-4);white-space:nowrap;text-decoration:none}.lichess-link:hover{color:var(--accent-bright)}.lichess-offer{align-items:center;gap:var(--space-3);font-size:var(--text-md);background:var(--accent-faint);border:1px solid var(--accent-dim);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex}.lichess-offer span{flex:1}.lichess-offer button{border:1px solid var(--accent-dim);border-radius:var(--radius-sm);color:var(--ink);padding:var(--space-1) var(--space-4);font-size:var(--text-md);background:0 0}.lichess-offer button:disabled{opacity:.45}.lichess-offer.lichess-premove{border-color:rgba(var(--hl-premove-rgb), .45);background:rgba(var(--hl-premove-rgb), .14)}.lichess-bar-alert{font-size:var(--text-md);color:var(--ink-dim)}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border:var(--scrollbar-inset) solid transparent;border-radius:var(--radius-xs);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover);border-width:var(--scrollbar-inset-hover)}::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active);border-width:var(--scrollbar-inset-hover)}::selection{background:var(--accent-dim);color:var(--ink)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes surface-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}.modal-overlay{animation:overlay-in var(--dur-base) var(--ease) both}.modal{animation:surface-in var(--dur-slow) var(--ease-out) both}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal,.end-card,.palette,.palette-overlay{animation:none}}.palette-overlay{z-index:60;background:var(--surface-scrim);-webkit-backdrop-filter:var(--blur-scrim);backdrop-filter:var(--blur-scrim);padding:12vh var(--space-7) var(--space-7);animation:overlay-in var(--dur-base) var(--ease) both;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.palette{width:min(calc(100vw - 2 * var(--gutter)), var(--modal-w-wide));max-height:62vh;animation:surface-in var(--dur-slow) var(--ease-out) both;flex-direction:column;display:flex;overflow:hidden}.palette-field{align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--line);display:flex}.palette-prompt{color:var(--accent);font-size:var(--text-lg);line-height:1}.palette-field input{min-width:0;font:inherit;font-size:var(--text-lg);color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:0}.palette-field input:focus-visible{outline:none}.palette-field input::placeholder{color:var(--ink-dim)}.arrow-bind-key,.sg-page kbd{font:inherit;font-size:var(--text-xs);letter-spacing:var(--track-body);color:var(--ink-dim);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);white-space:nowrap;font-weight:600}.palette-list{padding:var(--space-3) 0;overflow-y:auto}.palette-empty{padding:var(--space-9) var(--space-6)}.palette-section+.palette-section{border-top:1px solid var(--line);margin-top:var(--space-3);padding-top:var(--space-3)}.palette-section-label{padding:var(--space-3) var(--space-6) var(--space-2)}.palette-row{align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-6);font:inherit;text-align:left;color:var(--ink);background:0 0;border:0;border-radius:0;transition:none;display:flex}.palette-row.on{background:var(--accent-faint);box-shadow:inset var(--edge-w) 0 0 var(--accent)}.palette-swatch{border-radius:var(--radius-xs);width:12px;height:12px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 18%, transparent);flex:none}.palette-label{min-width:0;font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.keys-sheet{width:min(calc(100vw - 2 * var(--gutter)), var(--modal-w-wide))}.keys-sheet:before{content:none}.keys-grid{gap:var(--space-6);display:grid}.keys-group+.keys-group{border-top:1px solid var(--line);padding-top:var(--space-6)}.keys-grid h3{margin-bottom:var(--space-4)}.keys-row{grid-template-columns:calc(var(--space-10) * 2) minmax(0, 1fr);align-items:center;gap:var(--space-5);padding:var(--space-2) 0;font-size:var(--text-base);display:grid}.share-bar{gap:var(--space-3);padding-top:var(--space-1);flex-wrap:wrap;display:flex}.share-bar>.share-analyse{align-self:center}.share-note{flex-basis:100%}.share-link{width:100%}.copy-btn{padding:var(--space-3) var(--space-4);background:0 0;flex:1}.copy-btn:hover:not(:disabled,.copied){color:var(--ink)}.book-bar{border-radius:var(--radius-pill);background:var(--surface-page);height:8px;display:flex;overflow:hidden}.book-seg{height:100%;transition:width var(--dur-lazy) var(--ease)}.quick-menu{width:min(440px, calc(100vw - var(--space-9)));gap:var(--space-5)}.menu-settings-link{align-self:flex-start}.colour-group{gap:var(--space-3);flex-direction:column;display:flex}.swatch-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.swatch{border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);cursor:pointer;width:28px;height:28px;transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease);padding:0}.swatch-split{background:linear-gradient(135deg, var(--chip-light) 0 50%, var(--chip-dark) 50% 100%) padding-box, linear-gradient(135deg, color-mix(in srgb, var(--chip-light) 78%, #000) 0 50%, color-mix(in srgb, var(--chip-dark) 78%, #000) 50% 100%) border-box;border-color:#0000}.mark-row{gap:var(--space-3);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.mark-option{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1) var(--space-1);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;display:flex}.mark-option:hover{background:var(--surface-raised);border-color:var(--line-strong)}.mark-option.on{border-color:var(--accent-dim);background:var(--accent-faint)}.mark-option-name{max-width:100%;font-size:var(--text-2xs);color:var(--ink-dim);text-align:center;overflow-wrap:anywhere;line-height:1.1}.mark-option.on .mark-option-name{color:var(--accent-bright)}.mark-prev{aspect-ratio:1;border-radius:var(--radius-xs);width:100%;display:block;position:relative;overflow:hidden}.mark-prev-sq{width:50%;height:50%;position:absolute}.mark-prev-sq.light{background-color:var(--sq-light);background-image:var(--sq-light-img)}.mark-prev-sq.dark{background-color:var(--sq-dark);background-image:var(--sq-dark-img)}.mark-prev-motion{place-items:center;display:grid;overflow:visible}.mark-prev-hl{position:absolute;inset:0}.mark-prev .move-mark{width:auto;height:auto;animation:none;position:absolute;inset:0}.mark-prev .coord-cell{width:50%;height:50%}.mark-prev .coord-file,.mark-prev .coord-rank{font-size:7px}.mark-strength{align-items:center;gap:var(--space-4);display:flex}.preset-row{grid-template-columns:repeat(auto-fit, minmax(min(100%, calc(var(--space-10) * 1.75)), 1fr));gap:var(--space-3);display:grid}.preset-option{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-1) var(--space-2);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;display:flex}.preset-option:hover{background:var(--surface-raised);border-color:var(--line-strong)}.preset-option.on{border-color:var(--accent-dim);background:var(--accent-faint)}.look-card{gap:var(--space-3);width:100%;padding:var(--space-4) var(--space-4) 0;background:var(--surface-page);border:1px solid var(--line);flex-direction:column;display:flex;overflow:hidden}.look-card-board{aspect-ratio:1;border-radius:var(--board-radius);box-shadow:var(--board-frame);grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.look-card-sq{min-height:0;position:relative}.look-card-sq.light{background-color:var(--sq-light);background-image:var(--sq-light-img)}.look-card-sq.dark{background-color:var(--sq-dark);background-image:var(--sq-dark-img)}.look-card .mark-prev-hl{position:absolute;inset:0}.look-card .move-mark{width:auto;height:auto;animation:none;position:absolute;inset:0}.look-card-piece{color:var(--side-white);filter:var(--piece-shadow);place-items:center;font-size:1.5em;line-height:1;display:grid;position:absolute;inset:0}.look-card-accent{height:var(--space-2);margin:0 calc(-1 * var(--space-4));background:var(--accent)}.preset-row+.look-actions{margin-top:var(--space-4)}.setting-control>.look-actions{justify-content:flex-end}.look-name{color:var(--ink);font-weight:600}.swatch-well{appearance:none;background:var(--swatch-rainbow) border-box;border:2px solid #0000;padding:0}.swatch-well::-webkit-color-swatch-wrapper{padding:0}.swatch-well::-webkit-color-swatch{border-radius:var(--radius-sm);border:0}.swatch-well::-moz-color-swatch{border-radius:var(--radius-sm);border:0}.swatch-mix{background:var(--swatch-rainbow) border-box;border:2px solid #0000;display:inline-block;position:relative;overflow:hidden}.swatch-mix>.swatch-well{cursor:pointer;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.swatch-mix>.swatch-well::-webkit-color-swatch{border-radius:0}.swatch-mix-light{clip-path:polygon(0 0,100% 0,0 100%)}.swatch-mix-dark{clip-path:polygon(100% 0,100% 100%,0 100%)}.shared-look-body{grid-template-columns:calc(var(--space-10) * 2.5) minmax(0, 1fr);align-items:center;gap:var(--space-7);display:grid}.shared-look-text{gap:var(--space-4);flex-direction:column;display:flex}.shared-look-name{font-size:var(--text-heading);color:var(--ink)}.look-preview-caption{margin-top:var(--space-3);text-align:center}.preset-name{max-width:100%;font-size:var(--text-2xs);color:var(--ink-dim);text-align:center;overflow-wrap:anywhere;line-height:1.1}.preset-option.on .preset-name{color:var(--accent-bright)}.theme-reset{align-self:flex-start}.mark-prev.mark-prev-board{border-radius:var(--board-radius);width:72%;box-shadow:var(--board-frame);margin:14% auto;overflow:hidden}.mark-prev-piece{color:var(--side-white);filter:var(--piece-shadow);place-items:center;font-size:26px;line-height:1;display:grid;position:absolute;inset:0}.swatch:hover{transform:translateY(-2px)}.swatch.on{box-shadow:var(--ring-selected)}.swatch:focus-visible{outline-offset:var(--space-2)}@media (prefers-reduced-motion:reduce){.swatch:hover{transform:none}}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.history-page,.review-layout,.layout,.puzzle-layout{animation:screen-in var(--dur-slow) var(--ease-out) both}@media (prefers-reduced-motion:reduce){.history-page,.review-layout,.layout,.puzzle-layout{animation:none}}.endgames-theme{gap:var(--space-4);flex-direction:column;display:flex}.endgames-theme+.endgames-theme{margin-top:var(--space-6)}.endgame-coach .coach-heading{flex:1}.endgame-strikes{color:var(--danger-ink);flex:none;align-items:center;margin-left:auto}.opening-note.endgame-note{flex:1 0 auto}.opening-strip.endgame-strip{max-height:none;min-height:var(--space-10);flex:0 auto}.endgame-par strong{font-variant-numeric:tabular-nums}.opening-note.panel-fill{overflow-y:auto}.opening-card-title{color:var(--ink-dim);margin-bottom:var(--space-3);justify-content:space-between;align-items:baseline;display:flex}.opening-card-count{font-variant-numeric:tabular-nums;letter-spacing:0}.line-col-label{font-size:var(--text-2xs);letter-spacing:var(--track-label);opacity:.7}.line-picker{min-height:0;max-height:calc(var(--board-size) * .3);flex-direction:column;display:flex}.line-list{flex-direction:column;gap:1px;min-height:0;display:flex;overflow-y:auto}.line-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-md);color:var(--ink-dim);transition:background var(--dur-base) var(--ease), color var(--dur-base) var(--ease);text-decoration:none;display:flex}.line-row:hover{color:var(--ink)}.line-row.on{background:var(--accent-faint);color:var(--accent-bright);font-weight:500}.line-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.line-row-branch{gap:var(--space-1);flex:none;display:flex}.branch-chip{padding:1px var(--space-2);border-radius:var(--radius-sm);border-color:var(--line);background:color-mix(in srgb, var(--ink) 4%, transparent);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ink);align-items:baseline}.branch-num{font-size:var(--text-2xs);color:var(--ink-dim);margin-right:1px}.line-row.on .branch-chip{border-color:var(--accent-dim);background:var(--accent-faint);color:var(--accent-bright)}.line-row.on .branch-num,.book-choice.on .branch-num{color:var(--accent);opacity:.75}.line-row:hover .branch-chip{border-color:var(--line-strong)}.line-row-depth{font-variant-numeric:tabular-nums;font-size:var(--text-sm);opacity:.6;flex:none}.opening-strip{gap:var(--space-1) var(--space-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-content:flex-start;max-height:104px;display:flex;overflow-y:auto}.strip-move{align-items:baseline;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-md);color:var(--ink-dim);cursor:pointer;transition:background var(--dur-base) var(--ease), color var(--dur-base) var(--ease);background:0 0;border:none;display:inline-flex}button.strip-move:hover{background:var(--surface-raised);color:var(--ink)}.strip-move.past{color:var(--ink)}.strip-move.on{background:var(--accent-faint);color:var(--accent-bright);font-weight:600}.strip-num{font-size:var(--text-xs);opacity:.55;font-weight:500}.drill-strip .strip-move{cursor:default}.opening-note{gap:var(--space-4);flex-direction:column;display:flex}.opening-note.is-miss{border-color:var(--line-strong)}.miss-swap{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.miss-chip{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);font-variant-numeric:tabular-nums;letter-spacing:var(--track-tight);border:1px solid;font-weight:600;display:inline-flex}.miss-chip.wrong{color:var(--coach-wrong);border-color:color-mix(in srgb, var(--coach-wrong) 45%, transparent);background:color-mix(in srgb, var(--coach-wrong) 10%, transparent)}.miss-chip.book{color:var(--coach-better);border-color:color-mix(in srgb, var(--coach-better) 50%, transparent);background:color-mix(in srgb, var(--coach-better) 12%, transparent)}.miss-mark{font-size:var(--text-sm);opacity:.9}.miss-swap-arrow{color:var(--ink-dim);font-size:var(--text-base)}.miss-aside{font-size:var(--text-md);color:var(--ink-dim);padding-top:var(--space-4);border-top:1px solid var(--line);line-height:1.5}.miss-aside strong{color:var(--ink);font-weight:600}.miss-do,.miss-do strong{color:var(--coach-better)}.miss-do strong{font-weight:600}.status-line.miss-flash .status-dot{background:var(--coach-wrong)}.status-line.miss .status-dot{background:var(--coach-better)}.note-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.note-san{font-size:var(--text-lg);letter-spacing:var(--track-tight);color:var(--accent-bright);font-variant-numeric:tabular-nums;font-weight:600}.note-side{flex:none}.note-text{font-size:var(--text-base);color:var(--ink);line-height:1.55}.note-text strong{color:var(--accent-bright);font-weight:600}.note-next{padding-top:var(--space-4);font-size:var(--text-md);color:var(--ink-dim);margin-top:auto}.book-stats{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--line);flex-direction:column;margin-top:auto;display:flex}.book-stats+.note-next{margin-top:0}.book-stats-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.book-eval{color:var(--ink);font-weight:600}.book-choices{align-items:center;gap:var(--space-2) var(--space-4);grid-template-columns:auto auto 1fr;list-style:none;display:grid}.book-choice{display:contents}.book-share{text-align:right}.book-seg.white{background:var(--side-white)}.book-seg.draw{background:var(--ink-faint)}.book-seg.black{background:var(--side-black)}.drill-line-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.drill-coach .coach-body,.learn-coach .coach-body,.endgame-coach .coach-body{gap:var(--space-4);flex-direction:column;display:flex}.drill-stats{gap:var(--space-5);font-size:var(--text-sm);color:var(--ink-dim);flex-wrap:wrap;display:flex}.drill-stats b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.note-players-label{margin-top:var(--space-5)}.note-players{margin-top:var(--space-3);gap:var(--space-3);font-size:var(--text-sm);color:var(--ink-dim);flex-direction:column;line-height:1.5;list-style:none;display:flex}.note-players b{color:var(--ink);font-weight:600}.note-game{margin-top:var(--space-3);font-size:var(--text-sm);line-height:1.5}.game-players{font-size:var(--text-base);color:var(--ink);margin-bottom:var(--space-2)}.game-players b{font-weight:600}.game-strip{max-height:calc(var(--space-10) * 3)}.game-strip .strip-move.book{color:var(--accent-dim)}.game-strip .strip-move.book.past{color:var(--accent)}.game-strip .strip-move.on{color:var(--accent-bright)}.strip-move.noted{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.note-jump{font-size:var(--text-md)}.note-jump strong{color:var(--ink);font-weight:600}.openings-bento,.endgames-bento{grid-template-rows:auto;grid-template-columns:minmax(0,1fr)}.openings-say,.endgames-say{font-size:var(--text-base);color:var(--ink);margin:0;line-height:1.5}.openings-tools{justify-content:space-between;align-items:center;gap:var(--space-4) var(--space-7);flex-wrap:wrap;min-width:0;display:flex}.openings-foot{align-items:baseline;gap:var(--space-3) var(--space-7);flex-wrap:wrap;display:flex}.openings-queue-link{font-size:var(--text-md);margin-left:auto}.openings-search{align-items:center;gap:var(--space-4);width:min(calc(var(--space-10) * 6), 100%);padding:var(--space-2) var(--space-4);background:var(--surface-raised);border-radius:var(--radius-md);cursor:text;transition:border-color var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);border:1px solid #0000;display:flex}.openings-search:hover{border-color:var(--accent-dim)}.openings-search:focus-within{border-color:var(--accent-dim);box-shadow:var(--ring-accent)}.openings-search-label{flex:none}.openings-search input{min-width:0;font:inherit;font-size:var(--text-md);color:var(--ink);padding:var(--space-1) 0;background:0 0;border:none;outline:none;flex:1}.openings-search input:focus-visible{outline:none}.openings-search input::placeholder{color:var(--ink-dim)}.openings-search input::-webkit-search-cancel-button{display:none}.openings-search-clear{padding:0 var(--space-3);font-size:var(--text-lg);line-height:1}.openings-catalogue>.panel-body>.empty-state,.endgames-catalogue>.panel-body>.empty-state{flex:auto}.openings-side{font-size:var(--text-md);line-height:1}.openings-side.white{color:var(--ink)}.openings-side.black{color:var(--ink-dim)}.chip.on .openings-side,.seg a.on .openings-side{color:inherit}.trainer-cards{grid-template-columns:repeat(auto-fill, minmax(calc(var(--space-10) * 4), 1fr));gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.trainer-card{gap:var(--space-4);min-width:0;padding:var(--space-5);background:var(--surface-raised);flex-direction:column;display:flex}.trainer-card .mini-board{width:100%}.trainer-card-head{align-items:flex-start;gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.trainer-card-title{overflow-wrap:anywhere;min-width:0;font-size:var(--text-base);margin:0;font-weight:600}.trainer-card-tag{font-size:var(--text-xs);color:var(--ink-dim);font-variant-numeric:tabular-nums}.trainer-card-foot{justify-content:space-between;align-items:baseline;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.trainer-card-cells{margin-top:auto}.trainer-card-actions{align-items:baseline;gap:var(--space-5);font-size:var(--text-md);margin-left:auto;display:flex}.opening-locked,.puzzle-locked{flex:1}.note-tools{gap:var(--space-2);flex-wrap:wrap;display:flex}.note-tools .ghost-btn{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.note-edit{gap:var(--space-3);flex-direction:column;display:flex}.note-edit .import-input{resize:vertical;width:100%;line-height:1.5}.strip-move.own{color:var(--accent-bright);text-decoration:underline;-webkit-text-decoration-color:var(--accent-dim);text-decoration-color:var(--accent-dim);text-underline-offset:var(--space-1)}.opening-import-bento{grid-template-rows:auto;grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.opening-import .import-input{width:100%;line-height:1.5}.opening-import>.panel-body>.opening-import-pgn{min-height:calc(var(--space-10) * 2);flex:auto}.opening-import-pgn textarea{resize:none;flex:auto;min-height:0}.opening-import-fields{align-items:start;gap:var(--space-5) var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.opening-import>.panel-foot{align-items:flex-end}.opening-import-summary{gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--line);flex-direction:column;display:flex}.opening-import-field{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.opening-import-side{gap:var(--space-3);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.opening-import-side legend{margin-bottom:var(--space-2);padding:0}.mini-board{border-radius:var(--radius-md);width:132px;box-shadow:0 0 0 1px color-mix(in srgb, var(--shade) 50%, transparent);flex:none;grid-template-columns:repeat(8,1fr);display:grid;overflow:hidden}.mini-sq{aspect-ratio:1;position:relative}.mini-sq.light{background-color:var(--sq-light);background-image:var(--sq-light-img)}.mini-sq.dark{background-color:var(--sq-dark);background-image:var(--sq-dark-img)}.mini-sq.moved:before{content:"";background:rgba(var(--hl-last-rgb), calc(.5 * var(--hl-alpha)));position:absolute;inset:0}.mini-piece{width:100%;height:100%;position:relative}.mini-piece :is(svg,img){width:100%;height:100%;display:block}@media (max-width:980px){.opening-note.panel-fill{overflow-y:visible}.line-picker{max-height:220px}.opening-strip{max-height:none}}@media (max-width:720px){.opening-import-fields{grid-template-columns:minmax(0,1fr)}}.mastery-pip{width:7px;height:7px;margin-right:var(--space-3);border-radius:var(--radius-pill);vertical-align:middle;background:var(--line-strong);box-shadow:none;flex:none;display:inline-block}.mastery-pip.learning{background:color-mix(in srgb, var(--accent) 30%, var(--line-strong))}.mastery-pip.familiar{background:color-mix(in srgb, var(--accent) 55%, var(--line-strong))}.mastery-pip.solid{background:var(--accent-strong)}.mastery-pip.mastered{background:var(--accent-bright);box-shadow:var(--ring-halo)}.coach-eyebrow .mastery-pip{margin:0}.drill-plan{align-items:center;gap:var(--space-3);font-size:var(--text-xs);letter-spacing:var(--track-body);color:var(--ink-dim);flex-wrap:wrap;display:flex}.drill-reason{padding:1px var(--space-3);background:var(--accent-faint);color:var(--accent-bright);font-weight:600}.drill-spot,.drill-due{font-variant-numeric:tabular-nums}.drill-spot:before,.drill-due:before,.drill-timed:before{content:"·";margin-right:var(--space-3);opacity:.6}.drill-strip .strip-move.given{color:var(--ink-dim);opacity:.65}.drill-timed{font-size:var(--text-xs);color:var(--accent)}.drill-clock{align-items:center;gap:var(--space-3);font-variant-numeric:tabular-nums;letter-spacing:var(--track-body);text-transform:none;color:var(--ink);flex:none;display:flex}.drill-clock-track{width:var(--space-10);height:var(--space-2);border-radius:var(--radius-pill);background:var(--surface-raised);overflow:hidden}.drill-clock-fill{width:var(--clock-left);border-radius:var(--radius-pill);background:var(--positive);height:100%;display:block}.drill-clock[data-low=true]{color:var(--warn)}.drill-clock[data-low=true] .drill-clock-fill{background:var(--warn)}.drill-clock[data-running=false]{color:var(--ink-dim)}.drill-clock[data-running=false] .drill-clock-fill{background:var(--ink-faint)}.miss-aside.is-transposition{color:var(--ink)}.miss-aside.is-transposition strong{color:var(--accent-bright)}.train-bento{grid-template-rows:auto auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"hero hero hero""puzzles openings endgames"}.train-bento>.train-hero{grid-area:hero}.train-bento>.train-puzzles{grid-area:puzzles}.train-bento>.train-openings{grid-area:openings}.train-bento>.train-endgames{grid-area:endgames}.train-bento>.train-card{align-self:stretch}.train-board .mini-board{border-radius:var(--board-radius);width:100%}.train-hero-body{grid-template-columns:minmax(0, calc(9 * var(--space-10))) minmax(0, 1fr);align-items:center;gap:var(--space-9);display:grid}.train-hero-say{align-items:flex-start;gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.train-hero-line{max-width:44ch;color:var(--ink);font-size:var(--text-body);line-height:1.45}.train-hero-actions{align-items:baseline;gap:var(--space-3) var(--space-7);margin-top:var(--space-3);font-size:var(--text-body);flex-wrap:wrap;display:flex}.train-card-body{grid-template-columns:calc(3 * var(--space-10)) minmax(0, 1fr);align-items:start;gap:var(--space-6);display:grid}.train-card-say{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.train-card-name{color:var(--ink);font-size:var(--text-body);overflow-wrap:anywhere;margin:0;font-weight:600}.train-card-status{color:var(--ink-dim)}.train-ways{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.train-way{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--line);font-size:var(--text-body);display:flex}.train-way-figure{color:var(--ink-dim);font-size:var(--text-meta);white-space:nowrap}@media (max-width:720px){.train-hero-body{grid-template-columns:minmax(0, calc(9 * var(--space-10)));gap:var(--space-6)}}.queue-bento{grid-template:"queue today""queue how"/minmax(0,2fr) minmax(0,1fr)}.queue-bento>.queue-frame{grid-area:queue}.queue-bento>.queue-today{grid-area:today}.queue-bento>.queue-how{grid-area:how}.queue-frame>.panel-foot{align-items:flex-end}.queue-group{gap:var(--space-3);flex-direction:column;display:flex}.queue-group-note{max-width:68ch;line-height:1.5}.queue-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.queue-row{align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-3);border-radius:var(--radius-sm);transition:background var(--dur-base) var(--ease);display:flex}.queue-row+.queue-row{border-top:1px solid var(--line)}.queue-row.is-due{border-left:3px solid var(--accent)}.queue-where{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.queue-line{align-items:center;gap:var(--space-4);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;display:flex;overflow:hidden}.queue-branch{flex:none}.queue-moves{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--ink-faint);font-variant-numeric:tabular-nums;overflow:hidden}.queue-when{font-size:var(--text-sm);color:var(--ink-dim);font-variant-numeric:tabular-nums;flex:none}.queue-actions{flex:none}.queue-actions>*{padding:var(--space-2) var(--space-5);font-size:var(--text-md)}.queue-streak{font-variant-numeric:tabular-nums}.queue-upgrade{line-height:1.5}@media (max-width:620px){.queue-row{flex-wrap:wrap}.queue-when{order:3}.queue-actions{order:4;margin-left:auto}}.engine-lines{gap:var(--space-3);padding:var(--space-4) var(--space-5);flex-direction:column;display:flex}.engine-lines-head{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.engine-depth{align-items:center;gap:var(--space-3);font-variant-numeric:tabular-nums;display:inline-flex}.engine-depth[data-searching]:before{content:"";width:var(--space-3);height:var(--space-3);border-radius:var(--radius-round);background:var(--accent);animation:engine-pulse var(--dur-lazy) var(--ease) infinite}@keyframes engine-pulse{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.engine-depth[data-searching]:before{animation:none}}.engine-lines-list{margin:0 calc(-1 * var(--space-3));gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}.engine-line{min-width:0}.engine-line-play{align-items:stretch;gap:var(--space-4);width:100%;min-width:0;padding:var(--space-2) var(--space-3);font-size:var(--text-md);text-align:left;background:0 0;border-color:#0000;line-height:1.5;display:flex}.engine-line-play:disabled{opacity:1;cursor:default}.engine-line-eval{min-width:calc(var(--space-10) + var(--space-4));padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--ink);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1.2;display:flex}.engine-line-eval[data-favours=w]{background:var(--side-white);border-color:var(--side-white);color:var(--side-black)}.engine-line-eval[data-favours=b]{background:var(--side-black);border-color:var(--line-strong);color:var(--side-white)}.engine-line-meter{flex:none;align-items:center;display:flex}.engine-line-pv{font-family:var(--face-data);text-overflow:ellipsis;white-space:nowrap;min-width:0;min-height:1.5em;color:var(--ink);flex:auto;overflow:hidden}.engine-line-num{color:var(--ink-faint)}.engine-loading{flex:auto;min-width:0}.review-insight-compact{gap:var(--space-3);padding:var(--space-4) var(--space-5)}.analysis-export{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.analysis-copy{align-items:center;gap:var(--space-3);display:flex}.fen-form{gap:var(--space-3);display:flex}.fen-form[hidden]{display:none}.fen-input{min-width:0;font-size:var(--text-sm);flex:1}.legal-bento{grid-template-columns:var(--panel-w) minmax(0, 1fr);grid-template-rows:auto}.legal-toc{gap:var(--space-1);flex-direction:column;list-style:none;display:flex}.legal-toc a{padding:var(--space-3) var(--space-4);font-size:var(--text-md);color:var(--ink-dim);border-radius:var(--radius-md);transition:color var(--dur-base) var(--ease), background-color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);border:1px solid #0000;line-height:1.4;text-decoration:none;display:block}.legal-toc a:hover{color:var(--ink)}.legal-prose{max-width:76ch}.legal-section+.legal-section{margin-top:var(--space-8)}.legal-heading{margin-bottom:var(--space-4);font-size:var(--text-lg);letter-spacing:var(--track-tight);color:var(--ink);font-weight:600;line-height:1.3}.sg-page{max-width:1180px;padding:var(--space-9) var(--space-8) calc(var(--space-10) * 2);animation:screen-in var(--dur-slow) var(--ease) both;margin:0 auto}.sg-page :is(.sg-code,.sg-swatch-value){-webkit-user-select:text;user-select:text}.sg-nav{z-index:20;gap:var(--space-3);margin:var(--space-6) 0 var(--space-9);padding:var(--space-4) 0;background:color-mix(in srgb, var(--surface-page) 92%, transparent);-webkit-backdrop-filter:var(--blur-bar);backdrop-filter:var(--blur-bar);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex;position:sticky;top:0}.sg-nav a{font-size:var(--text-sm);letter-spacing:var(--track-body);color:var(--ink-dim);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-5);transition:color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);font-weight:500;text-decoration:none}.sg-nav a:hover{color:var(--ink);border-color:var(--accent-dim)}.sg-section{scroll-margin-top:calc(var(--space-10) * 2);margin-bottom:var(--space-10)}.sg-h2{font-size:var(--text-xl);letter-spacing:var(--track-tight);padding-bottom:var(--space-4);border-bottom:1px solid var(--line);font-weight:600}.sg-h3{margin:var(--space-8) 0 var(--space-4)}.sg-blurb{max-width:68ch;margin-top:var(--space-4);font-size:var(--text-md);color:var(--ink-dim);line-height:1.55}.sg-sub .sg-blurb{margin-bottom:var(--space-5)}.sg-layout-demo{gap:var(--space-2) var(--board-row-gap);margin:var(--space-6) 0;padding:var(--space-5);background:var(--surface-page);border:1px solid var(--line);border-radius:var(--radius-xl);grid-template-rows:auto auto auto;grid-template-columns:auto 1fr 34%;display:grid}.sg-layout-flank{gap:var(--board-row-gap);grid-area:2/1;display:flex}.sg-layout-counter{width:var(--captured-w);background:repeating-linear-gradient(-45deg, var(--surface-raised) 0 var(--space-2), var(--surface-panel) var(--space-2) var(--space-3));border-radius:var(--radius-xs)}.sg-layout-evalbar{width:var(--evalbar-w);background:linear-gradient(var(--side-white) 40%, var(--surface-raised) 40%);border-radius:var(--radius-pill)}.sg-layout-above,.sg-layout-below{font-size:var(--text-xs);color:var(--accent-bright);background:var(--accent-faint);border:1px dashed var(--accent-dim);border-radius:var(--radius-xs);padding:var(--space-2) var(--space-3);grid-column:2}.sg-layout-above{grid-row:1}.sg-layout-below{grid-row:3}.sg-layout-board{min-height:calc(4 * var(--space-10));color:var(--ink-dim);font-size:var(--text-sm);background:repeating-conic-gradient(var(--sq-light) 0 25%, var(--sq-dark) 0 50%) 0 0 / var(--space-9) var(--space-9);border-radius:var(--radius-sm);grid-area:2/2;place-items:center;display:grid}.sg-layout-panel{align-self:stretch;gap:var(--space-2);padding:var(--space-2);text-align:center;font-size:var(--text-xs);color:var(--ink-dim);flex-direction:column;grid-area:2/3;display:flex}.sg-layout-part{padding:var(--space-2) var(--space-3);border:1px dashed var(--line-strong);border-radius:var(--radius-xs)}.sg-layout-part.fill{flex:1;place-items:center;display:grid}.sg-plain{gap:var(--space-3);font-size:var(--text-md);color:var(--ink-dim);flex-direction:column;list-style:none;display:flex}.sg-scale{gap:var(--space-2);margin-top:var(--space-5);flex-direction:column;display:flex}.sg-scale li{align-items:center;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--line);grid-template-columns:7.5em 3.5em minmax(0,1fr) 2fr;display:grid}.sg-scale b{font-variant-numeric:tabular-nums;color:var(--ink-dim);font-weight:500}.sg-bar{height:var(--space-5);background:var(--accent);border-radius:var(--radius-xs)}.sg-radius{background:var(--surface-raised);border:1px solid var(--line-strong);width:100%;height:54px}.sg-shadow{background:var(--surface-panel);border-radius:var(--radius-md);width:100%;height:54px}.sg-motion{width:var(--space-9);height:var(--space-9);background:var(--accent);border-radius:var(--radius-md);transition-property:transform,background-color,border-radius;transition-timing-function:var(--ease)}.sg-stage:hover .sg-motion{border-radius:var(--radius-pill);background:var(--accent-bright);transform:translate(64px)}.sg-archetype{width:100%;min-height:64px;color:var(--ink-dim);font-size:var(--text-md);place-items:center;display:grid}.sg-grid{gap:var(--space-5);margin-top:var(--space-5);display:grid}.sg-row{gap:var(--space-5);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.sg-spec{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.sg-stage{justify-content:center;align-items:center;gap:var(--space-4);min-height:62px;padding:var(--space-5);flex-wrap:wrap;display:flex}.sg-row .sg-spec .sg-stage{min-width:118px}.sg-variant{width:100%}.sg-stage-left{margin-top:var(--space-5);justify-content:flex-start}.sg-cap{gap:var(--space-1);padding:0 var(--space-1);flex-direction:column;display:flex}.sg-cap-name{font-size:var(--text-md);font-weight:500}.sg-code{font-family:var(--face-data);font-size:var(--text-xs);color:var(--accent);word-break:break-word}.sg-note{font-size:var(--text-sm);color:var(--ink-dim);line-height:1.45}.sg-theme{gap:var(--space-8);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.sg-theme .swatch-row{align-items:center}.sg-theme .colour-group{flex:260px;max-width:340px}.sg-theme .mark-row{gap:var(--space-4)}.sg-swatch{border-radius:var(--radius-md);border:1px solid var(--line-strong);width:100%;height:46px}.sg-swatch-sm{width:42px;height:30px}.sg-metrics,.sg-ramp{margin-top:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-xl);list-style:none;overflow:hidden}.sg-metrics li,.sg-ramp li{align-items:baseline;gap:var(--space-5);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);display:flex}.sg-metrics li:last-child,.sg-ramp li:last-child{border-bottom:none}.sg-metrics li>.sg-code,.sg-ramp li>.sg-code{flex:none;width:88px}.sg-metrics li>b{font-variant-numeric:tabular-nums;flex:none;width:70px}.sg-metrics li>span:last-child{color:var(--ink-dim);font-size:var(--text-md)}.sg-ramp li>span:first-of-type{flex:1;min-width:0}.sg-ramp li>.sg-note{text-align:right;flex:none}.sg-tabular{font-variant-numeric:tabular-nums;letter-spacing:var(--track-body)}.sg-stack{gap:var(--space-4);flex-direction:column;width:100%;display:flex}.sg-ramp-bar{height:22px;margin-top:var(--space-5);border-radius:var(--radius-sm);background:linear-gradient(to right, var(--danger) 0%, var(--warn) 45%, color-mix(in srgb, var(--warn), var(--positive) 30%) 70%, color-mix(in srgb, var(--warn), var(--positive) 70%) 88%, var(--positive) 100%)}.sg-mark{width:46px;color:var(--accent);display:block}.sg-mark svg{width:100%;display:block}.sg-woodpusher,.sg-woodpusher-run{padding:var(--space-5);align-items:flex-end;display:inline-flex}.sg-woodpusher-run{gap:var(--space-8);flex-wrap:wrap}.sg-motion-level{gap:var(--space-5);padding:var(--space-5);flex-direction:column;display:flex}.sg-motion-pawns,.sg-motion-row{align-items:flex-end;gap:var(--space-6);display:flex}.sg-motion-row{align-items:center}.sg-motion-line{min-height:calc(2 * var(--text-base));font-size:var(--text-base)}.sg-motion-frame{width:var(--space-8);height:var(--space-8);background:var(--surface-raised);border:1px solid var(--line)}.sg-motion-glyph{color:var(--status-blunder);font-weight:800;display:inline-block}.sg-static{display:inline-flex;position:relative}.sg-static :is(.fab,.toast){animation:none;position:static;transform:none}.sg-panel-slot{width:100%;height:300px;position:relative}.sg-overlay{width:100%;padding:var(--space-6);border-radius:var(--radius-lg);background:var(--surface-scrim);justify-content:center;align-items:center;display:flex}.sg-overlay .sg-flat{width:100%;max-height:none;animation:none}.sg-flat{animation:none}.sg-verdict{min-width:40px;height:34px;padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-lg);font-variant-numeric:tabular-nums;text-shadow:0 1px 3px color-mix(in srgb, var(--shade) 90%, transparent);border:2px solid;justify-content:center;align-items:center;font-weight:850;display:inline-flex}.sg-stage>.coach-card,.sg-stage>.pips{flex:100%}.sg-anim{border-radius:var(--radius-lg);background:var(--accent);width:58px;height:58px;animation-duration:.6s;animation-timing-function:var(--ease-out);animation-fill-mode:both;display:block}.sg-replay{margin-top:var(--space-5)}.sg-live{gap:var(--space-8);margin-top:var(--space-6);grid-template-columns:minmax(280px,420px) 1fr;align-items:start;display:grid}.sg-live-legend{gap:var(--space-5);font-size:var(--text-md);color:var(--ink-dim);flex-direction:column;align-items:flex-start;line-height:1.55;display:flex}.sg-live-legend kbd{margin:0 1px}.sg-square{border-radius:var(--radius-xs);background:var(--sq-dark);width:62px;height:62px}.sg-square-drop{box-shadow:inset 0 0 0 4px var(--accent-strong)}.sg-square-ghost{opacity:.22}.sg-flank{gap:var(--space-8);margin-top:var(--space-6);grid-template-columns:minmax(260px,380px) 1fr;align-items:start;display:grid}.sg-flank-notes{gap:var(--space-5);font-size:var(--text-md);color:var(--ink-dim);flex-direction:column;line-height:1.55;display:flex}.sg-flank-notes b{color:var(--ink);font-weight:600}@media (max-width:980px){.sg-live,.sg-flank{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.sg-page,.sg-anim{animation:none}}[data-source=chesscom]{--source:var(--source-chesscom)}[data-source=lichess]{--source:var(--source-lichess)}[data-source=local]{--source:var(--source-local)}[data-source=stockfish]{--source:var(--source-stockfish)}[data-source=pgn]{--source:var(--source-pgn)}[data-source=name],[data-source=setup],[data-source=cloud],[data-source=plan],[data-source=reminders],[data-source=push],[data-source=analytics]{--source:var(--accent)}[data-source=delete]{--source:var(--danger)}.source-dot{border-radius:var(--radius-round);background:var(--source,var(--ink-dim));flex:none;width:7px;height:7px}.home-bento{grid-template:"puzzle today""puzzle play""recent streak""recent rating"/minmax(0,3fr) minmax(0,2fr)}.home-bento>.home-puzzle{grid-area:puzzle}.home-bento>.home-today{grid-area:today}.home-bento>.home-play{grid-area:play;align-self:end}.home-bento>.home-recent{grid-area:recent}.home-bento>.home-streak{grid-area:streak}.home-bento>.home-rating{grid-area:rating;align-self:end}.home-puzzle-body{grid-template-columns:min(calc(var(--panel-w) + var(--space-10) * 2), 60%) minmax(0, 1fr);align-items:start;gap:var(--space-8);display:grid}.home-puzzle-board{min-width:0}.home-puzzle-board .mini-board{border-radius:var(--board-radius);width:100%}.home-puzzle-say{align-items:flex-start;gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.home-puzzle-line{max-width:32ch;font-size:var(--text-body);color:var(--ink-dim);line-height:1.45}.home-puzzle-solve{font-size:var(--text-heading)}.home-say{align-items:flex-start;gap:var(--space-6);display:flex}.home-say-pawn{flex:none}.home-say-words{align-items:flex-start;gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.home-say-label{font-size:var(--text-meta);color:var(--ink-dim)}.home-take{font-family:var(--face-prose);font-size:var(--text-heading);text-align:left;color:var(--ink);background:0 0;border:0;margin:0;padding:0;font-weight:500;line-height:1.35;display:block}button.home-take{cursor:pointer}button.home-take:hover:not(:disabled) .home-take-head{color:var(--accent-bright)}.home-take-rest{color:var(--ink-dim)}.home-take-actions{align-items:center;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.home-task{gap:var(--space-4);padding:var(--space-6);background:var(--surface-raised);border-radius:var(--radius-lg);flex-direction:column;display:flex}.home-task-line{font-size:var(--text-body);color:var(--ink);line-height:1.45}.home-task-cells>.cell{width:var(--cell-lg);height:var(--cell-size)}.home-task-foot{align-items:baseline;gap:var(--space-3) var(--space-8);flex-wrap:wrap;display:flex}.home-task-start{font-size:var(--text-heading)}.home-onboarding{align-items:baseline;gap:var(--space-3) var(--space-5);flex-wrap:wrap;min-width:0;display:flex}.home-onboarding-text{font-size:var(--text-meta);color:var(--ink-dim)}.home-recent-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.home-game{align-items:center;gap:var(--space-1) var(--space-6);padding:var(--space-4) 0;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"result who word review";display:grid}.home-game+.home-game{border-top:1px solid var(--line)}.home-game-result{grid-area:result}.home-game-who{gap:var(--space-1);flex-direction:column;grid-area:who;min-width:0;display:flex}.home-game-opponent,.home-game-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.home-game-opponent{font-weight:600}.home-game-source{color:var(--source,var(--ink-faint))}.home-game-word{font-family:var(--face-prose);color:var(--ink-dim);white-space:nowrap;grid-area:word}.home-game-review{grid-area:review}.home-figure{align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.home-figure-num{font-size:var(--text-title);letter-spacing:var(--track-tight);color:var(--ink);font-weight:600;line-height:1}.home-figure-unit{font-size:var(--text-meta);color:var(--ink-dim)}.home-empty{align-items:flex-start;gap:var(--space-4);flex-direction:column;display:flex}.home-empty-line{font-size:var(--text-body);color:var(--ink-dim)}.home-empty-actions{align-items:baseline;gap:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}.home-streak-cells{width:100%;display:flex}.home-streak-cells>.cell{min-width:0;max-width:var(--cell-lg);aspect-ratio:1;flex:1 1 0;width:auto;height:auto}.home-rating-change{font-size:var(--text-meta);color:var(--ink-dim)}.home-rating-change[data-trend=up]{color:var(--status-good)}.home-rating-spark{--spark-h:calc(var(--space-10) + var(--space-6))}.home-play-resume{align-items:baseline;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}@media (max-width:620px){.home-puzzle-body{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.home-game{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"result who review""result word review"}}.review-quota{padding:var(--space-5);gap:var(--space-3);flex:auto}.review-quota>.empty-state-mark{margin-bottom:0}.review-quota>p{font-size:var(--text-sm);color:var(--ink-dim)}.review-quota>.primary{margin-top:var(--space-2)}.new-game-layout{--seat-gap:var(--space-3);--board-size:min(var(--board-ceiling), calc(100dvh - var(--global-bar-slot) - 2 * var(--layout-pad) - var(--page-head) - var(--layout-row-gap) - 2 * var(--header-row) - 2 * var(--seat-gap)), calc(100vw - 2 * var(--layout-pad) - var(--board-inset) - var(--layout-col-gap) - var(--panel-w)));row-gap:var(--seat-gap);grid-template-rows:auto auto auto auto}.new-game-layout>.status-line{margin-bottom:calc(var(--layout-row-gap) - var(--seat-gap))}.new-game-layout>.play-seat{grid-column:1;min-width:0;display:block}.new-game-layout>.play-seat.top{grid-row:2}.new-game-layout>.board-row,.new-game-layout>.panel{grid-row:3}.new-game-layout>.play-seat.bottom{grid-row:4}.new-game-seat{height:var(--header-row);padding:0 var(--space-4);gap:var(--space-4);grid-template-columns:auto minmax(0,1fr)}.new-game-seat>.player-id{align-items:baseline;gap:var(--space-4);flex-direction:row}.new-game-seat-portrait{width:calc(var(--header-row) - var(--space-2));height:calc(var(--header-row) - var(--space-2))}.new-game-seat>.player-portrait{width:calc(var(--header-row) - var(--space-4));height:calc(var(--header-row) - var(--space-4))}.new-game-section{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.new-game-lichess .controls{background:0 0;padding:0}.new-game-foot{gap:var(--space-5);flex-direction:column;display:flex}.new-game-side{gap:var(--space-2);flex-direction:column;display:flex}.side-lineup{grid-template-columns:repeat(3,minmax(0,1fr))}.side-lineup>.lineup-tile{justify-content:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);flex-direction:row}.side-lineup>.lineup-tile>.lineup-name{font-size:var(--text-body)}.side-lineup>.lineup-tile:not(.on){--wp-bob:none;--wp-hop:none;--wp-dots:none}.side-mark{flex:none;display:grid}.side-mark[data-side=w]{--wp-body:var(--side-white)}.side-mark[data-side=b]{--wp-body:color-mix(in srgb, var(--side-black) 70%, var(--side-white))}.new-game-panel .panel-body>.opponent-card{flex:1 0 auto}.new-game-foot>.new-game-start{margin-top:calc(-1 * var(--space-5))}.new-game-here{justify-content:space-between;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.new-game-start{min-height:var(--icon-btn);padding:var(--space-4) var(--space-7);font-size:var(--text-heading);border-radius:var(--radius-md);transition:background var(--dur-fast) var(--ease);justify-content:center;align-items:center;text-decoration:none;display:flex}@media (max-width:980px){.new-game-layout>.panel{padding-inline:var(--gutter);grid-row:5}}.install-app{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.first-run{gap:var(--space-5);padding:var(--space-6);flex-direction:column;display:flex}.first-run-head{align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.first-run-skip{margin-left:auto}.first-run-body{align-items:center;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.first-run-body>p{min-width:0;max-width:60ch;color:var(--ink-dim);font-size:var(--text-md);flex:1 1 0;line-height:1.5}.setup-bento{grid-template-columns:var(--panel-w) minmax(0, 1fr);grid-template-rows:auto;align-content:center}.setup-steps{gap:var(--space-1);flex-direction:column;list-style:none;display:flex}.setup-steps-row{align-items:baseline;gap:var(--space-4);padding:var(--space-4) var(--space-5);font-size:var(--text-base);color:var(--ink-dim);border-radius:var(--radius-md);transition:color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease), background-color var(--dur-base) var(--ease);border:1px solid #0000;text-decoration:none;display:flex}[data-state=later]>.setup-steps-row{color:var(--ink-faint)}.setup-steps-row.on,.setup-steps-row.on:hover{color:var(--ink);background:var(--accent-faint);border-color:var(--accent-dim);font-weight:600}.setup-pip{flex:none}.setup-steps-row.on>.setup-pip{color:var(--accent)}.setup-steps-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.setup-steps-state{font-size:var(--text-sm);color:var(--ink-faint);flex:none;font-weight:500}.setup-steps-row.on>.setup-steps-state{color:var(--accent-bright)}.setup-fields{align-items:start;gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.setup-wide{grid-column:1/-1}.setup-fields fieldset{border:0;min-width:0;margin:0;padding:0}.setup-fields legend{margin-bottom:var(--space-3);padding:0}.setup-accounts[data-count="1"]{grid-template-columns:minmax(0,1fr)}.setup-foot{justify-content:flex-end}.setup-foot>.link-btn:first-child{margin-right:auto;text-decoration:none}.welcome-say{color:var(--ink);font-size:var(--text-xl);line-height:1.3}.welcome-progress,.welcome-first-read,.welcome-block{gap:var(--space-3);flex-direction:column;display:flex}@media (max-width:720px){.setup-fields{grid-template-columns:minmax(0,1fr)}}.chart-donut,.chart-gauge,.chart-waffle,.chart-calendar-heatmap,.chart-punchcard,.chart-radar,.chart-scatter,.chart-dumbbell,.chart-conversion,.chart-treemap{gap:var(--space-5);flex-direction:column;min-width:0;margin:0;display:flex}.chart[data-size=sm]{gap:var(--space-4)}.chart [data-series="1"]{--kb-hue:var(--chart-1)}.chart [data-series="2"]{--kb-hue:var(--chart-2)}.chart [data-series="3"]{--kb-hue:var(--chart-3)}.chart [data-series="4"]{--kb-hue:var(--chart-4)}.chart [data-series="5"]{--kb-hue:var(--chart-5)}.chart [data-series="6"]{--kb-hue:var(--chart-6)}.chart [data-tone=won]{--kb-hue:var(--chart-win)}.chart [data-tone=drawn]{--kb-hue:var(--chart-draw)}.chart [data-tone=lost]{--kb-hue:var(--chart-loss)}.chart [data-source]{--kb-hue:var(--source)}.chart [data-q=best]{--kb-hue:var(--q-best)}.chart [data-q=perfect]{--kb-hue:var(--q-perfect)}.chart [data-q=good]{--kb-hue:var(--q-good)}.chart [data-q=fine]{--kb-hue:var(--q-fine)}.chart [data-q=inaccuracy]{--kb-hue:var(--q-inaccuracy)}.chart [data-q=mistake]{--kb-hue:var(--q-mistake)}.chart [data-q=hmm]{--kb-hue:var(--status-hmm,var(--q-inaccuracy))}.chart [data-q=blunder]{--kb-hue:var(--status-blunder,var(--q-blunder))}.chart [data-q=bad]{--kb-hue:var(--q-bad)}.chart [data-q=book]{--kb-hue:var(--q-book)}.chart [data-q=forced]{--kb-hue:var(--q-forced)}.chart [data-level="0"]{--kb-hue:var(--line)}.chart [data-level="1"]{--kb-hue:color-mix(in srgb, var(--chart-1) 30%, var(--surface-sunken))}.chart [data-level="2"]{--kb-hue:color-mix(in srgb, var(--chart-1) 52%, var(--surface-sunken))}.chart [data-level="3"]{--kb-hue:color-mix(in srgb, var(--chart-1) 76%, var(--surface-sunken))}.chart [data-level="4"]{--kb-hue:var(--chart-1)}.chart [data-diverge="0"]{--kb-hue:var(--chart-loss)}.chart [data-diverge="1"]{--kb-hue:color-mix(in srgb, var(--chart-loss) 50%, var(--surface-sunken))}.chart [data-diverge="2"]{--kb-hue:var(--chart-draw)}.chart [data-diverge="3"]{--kb-hue:color-mix(in srgb, var(--chart-win) 50%, var(--surface-sunken))}.chart [data-diverge="4"]{--kb-hue:var(--chart-win)}.chart .kb-fill{fill:var(--kb-hue)}.chart .kb-stroke{fill:none;stroke:var(--kb-hue)}.chart .kb-round,.chart-donut .kb-stroke{stroke-linecap:round}.chart .kb-track{fill:none;stroke:var(--chart-grid)}.chart .kb-ringed,.chart-donut .kb-fill,.chart .kb-seg-gap,.chart .kb-tile{stroke:var(--surface-panel);stroke-width:1px}.chart .kb-seg-gap{vector-effect:non-scaling-stroke}.chart .kb-hollow{fill:#0000}.chart .kb-grid,.chart .kb-axis,.chart .kb-baseline{fill:none;stroke:var(--chart-grid);stroke-width:1px;vector-effect:non-scaling-stroke}.chart .kb-axis,.chart .kb-baseline{stroke:var(--chart-axis)}.chart .kb-area{fill:color-mix(in srgb, var(--kb-hue) 22%, transparent);stroke:var(--kb-hue);stroke-width:1.5px;stroke-linejoin:round}.chart .kb-line{fill:none;stroke:var(--kb-hue);stroke-width:1.5px;stroke-linejoin:round}.chart [data-second=true] .kb-line{stroke-dasharray:var(--space-2) var(--space-1)}.chart .kb-trend{stroke:var(--ink);stroke-width:1.5px;stroke-linecap:round}.chart .kb-mean{stroke:var(--chart-axis);stroke-width:1px;stroke-dasharray:var(--space-2) var(--space-2)}.chart .kb-bell{stroke:var(--chart-axis);stroke-width:3px;stroke-linecap:round}.chart .kb-link-line{stroke:var(--chart-axis);stroke-width:1.5px}.chart .kb-needle{stroke:var(--ink);stroke-width:2.5px;stroke-linecap:round}.chart .kb-hub{fill:var(--ink)}.chart [data-zero=true]{fill:var(--line)}.chart svg .kb-fill:hover,.chart svg .kb-hollow:hover{stroke:var(--ink);stroke-width:1px}.chart-waffle g.kb-fill:hover{stroke-width:.75px}.chart-donut .kb-stroke:hover{stroke:color-mix(in srgb, var(--kb-hue) 80%, var(--ink))}.kb-plot{position:relative}.kb-plot>svg{width:100%;height:auto;display:block;overflow:visible}.kb-bar-plot>svg{height:var(--space-5);border-radius:var(--radius-xs)}.kb-overlay{pointer-events:none;position:absolute;inset:0}.kb-at{transform:translate(var(--kb-tx), var(--kb-ty));color:var(--chart-label);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;position:absolute;overflow:hidden}.kb-at[data-anchor=start]{--kb-tx:0%}.kb-at[data-anchor=middle]{--kb-tx:-50%}.kb-at[data-anchor=end]{--kb-tx:-100%}.kb-at[data-base=top]{--kb-ty:0%}.kb-at[data-base=middle]{--kb-ty:-50%}.kb-at[data-base=bottom]{--kb-ty:-100%}.kb-at b{margin-left:var(--space-2);color:var(--ink);font-weight:600}.kb-axis-title{font-weight:600}.kb-axis-label{font-size:var(--text-xs)}.kb-value{color:var(--ink)}.kb-row-label{color:var(--ink);font-size:var(--text-xs)}.kb-value-sm{color:var(--ink-dim)}.kb-tile-label{gap:var(--space-1);color:var(--ink);font-size:var(--text-xs);text-shadow:var(--shadow-sm);flex-direction:column;font-weight:600;display:flex}.kb-tile-label>*{text-overflow:ellipsis;overflow:hidden}.kb-tile-label small{font-size:var(--text-2xs);font-weight:500}.kb-centre{place-content:center;justify-items:center;gap:var(--space-1);text-align:center;line-height:1.05;display:grid;position:absolute;inset:0}.kb-centre[data-at=base]{align-content:end}.kb-centre strong,.kb-readout strong{color:var(--ink);font-size:var(--text-xl);font-variant-numeric:tabular-nums;letter-spacing:var(--track-tight);font-weight:600}.kb-centre span,.kb-centre em,.kb-readout span{color:var(--ink-dim);font-size:var(--text-xs);font-style:normal}.kb-centre em,.kb-readout-band{font-weight:600}.kb-readout{justify-content:center;align-items:baseline;gap:var(--space-3);margin:0;display:flex}.chart[data-size=sm] .kb-centre strong,.chart[data-size=sm] .kb-readout strong{font-size:var(--text-lg)}.chart-donut .kb-plot,.chart-gauge .kb-plot,.chart-waffle:not([data-variant=bar]) .kb-plot{width:100%;max-width:calc(var(--space-10) * 4);margin-inline:auto}.chart-donut[data-size=sm] .kb-plot,.chart-gauge[data-size=sm] .kb-plot,.chart-waffle[data-size=sm]:not([data-variant=bar]) .kb-plot{max-width:calc(var(--space-10) * 2.5)}.chart-calendar-heatmap .kb-plot{max-width:calc((var(--kb-cols) + 2) * var(--space-6))}.chart-radar .kb-plot{width:100%;max-width:calc(var(--space-10) * 8);margin-inline:auto}.kb-legend{gap:var(--space-2) var(--space-5);font-size:var(--text-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.kb-legend:has(.kb-legend-value){display:grid}.kb-legend li{align-items:center;gap:var(--space-3);min-width:0;display:flex}.kb-legend:has(.kb-legend-value) li{grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.kb-legend-label{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-legend-value,.kb-legend-share{font-variant-numeric:tabular-nums;text-align:right}.kb-legend-value{color:var(--ink)}.kb-legend-share{min-width:calc(var(--space-9) + var(--space-2));color:var(--ink-dim)}.chart[data-size=sm] .kb-legend{font-size:var(--text-xs)}.kb-swatch{width:var(--space-4);height:var(--space-4);border-radius:calc(var(--radius-xs) / 2);background:var(--kb-hue);flex:none;display:inline-block}.kb-swatch[data-shape=dash]{height:var(--space-1);background:repeating-linear-gradient(90deg, var(--kb-hue) 0 var(--space-2), transparent 0 calc(var(--space-2) + var(--space-1)))}.kb-ramp{justify-content:flex-end;align-items:center;gap:var(--space-1);color:var(--ink-dim);font-size:var(--text-xs);display:flex}.kb-ramp .kb-swatch{width:var(--space-5);height:var(--space-5)}.kb-ramp>span:first-child{margin-right:var(--space-2)}.kb-ramp>span:last-child{margin-left:var(--space-2)}.kb-empty{padding:var(--space-6) 0;text-align:center;margin:0}.kb-hbars{gap:var(--space-3);display:grid}.kb-hbar-row{align-items:center;gap:var(--space-4);grid-template-columns:minmax(0,2fr) minmax(0,5fr) auto;display:grid}.kb-hbar-label{color:var(--ink);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-hbar-tracks{gap:var(--space-1);display:grid}.kb-hbar{width:100%;height:var(--space-4);border-radius:calc(var(--radius-xs) / 2);display:block}.kb-hbars[data-pair=true] .kb-hbar{height:var(--space-3)}.chart .kb-hbar .kb-track{fill:var(--chart-grid);stroke:none}.kb-hbar-values{color:var(--ink);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right;line-height:1.1;display:grid}.kb-conv-list{gap:var(--space-6);display:grid}.chart-conversion[data-variant=sentence] .kb-conv-list{grid-template-columns:repeat(auto-fit, minmax(min(100%, calc(var(--space-10) * 3)), 1fr))}.kb-conv{gap:var(--space-3);min-width:0;display:grid}.kb-conv-sentence{gap:var(--space-2);align-content:start}.kb-conv-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin:0;display:flex}.kb-conv-head strong,.kb-conv-big{color:var(--ink);font-size:var(--text-xl);font-variant-numeric:tabular-nums;letter-spacing:var(--track-tight);font-weight:600;line-height:1}.chart-conversion .kb-conv-big{font-size:var(--text-2xl)}.chart-conversion[data-size=sm] .kb-conv-big{font-size:var(--text-xl)}.kb-conv-note{color:var(--ink-dim);font-size:var(--text-sm);margin:0}.kb-conv-note b,.kb-funnel-text b{color:var(--ink);font-weight:600}.kb-funnel{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.kb-funnel li{gap:var(--space-1);display:grid}.kb-funnel-bar,.kb-outcome-bar{width:100%;height:var(--space-5);display:block}.kb-outcome-bar{height:var(--space-4);border-radius:var(--radius-xs)}.kb-outcome-bar.kb-thin{height:var(--space-2)}.kb-funnel-text{color:var(--ink-dim);font-size:var(--text-xs);text-align:center}
