:root{--font-display: "Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--leading-tight: 1.2;--leading-snug: 1.4;--leading-normal: 1.6;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-pill: 999px;--dur-fast: .14s;--dur-base: .22s;--dur-slow: .32s;--ease: cubic-bezier(.32, .72, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--measure: 68ch;--panel-width: 380px}:root{color-scheme:dark;--bg: #0F1113;--bg-gradient: var(--bg);--surface-sunken: #121517;--surface: #161A1E;--surface-raised: #1C2127;--surface-hover: #232932;--surface-active: #2A313A;--border: #2C333A;--border-soft: #242A30;--border-strong: #3A424B;--text-primary: #E7E1D7;--text-secondary: #C7BFB2;--text-soft: #C7BFB2;--text-muted: #9F988D;--text-inverse: #0F1113;--ai: #A8B89A;--ai-rgb: 168, 184, 154;--ai-soft: rgba(142, 154, 130, .14);--ai-border: rgba(142, 154, 130, .38);--ai-contrast: #0F1113;--accent: #8E9A82;--accent-strong: #A8B89A;--warn: #C8B38A;--warn-rgb: 200, 179, 138;--warn-soft: rgba(200, 179, 138, .15);--warn-border: rgba(200, 179, 138, .38);--warn-contrast: #1F1A10;--danger: #C98577;--danger-rgb: 183, 110, 97;--danger-soft: rgba(183, 110, 97, .14);--danger-border: rgba(183, 110, 97, .38);--danger-contrast: #FBF8F1;--success: #8FAE8B;--success-rgb: 143, 174, 139;--success-soft: rgba(143, 174, 139, .14);--success-border: rgba(143, 174, 139, .38);--success-contrast: #0F1113;--focus-ring: var(--ai);--row-stripe: rgba(255, 255, 255, .035);--elev-1: 0 0 0 1px var(--border);--elev-2: 0 0 0 1px var(--border);--elev-3: 0 4px 16px -2px rgba(0, 0, 0, .45), 0 0 0 1px var(--border);--inset-1: 0 0 0 1px var(--border-soft);--inset-2: 0 0 0 1px var(--border);--glow-ai: 0 0 0 0 transparent;--glow-warn: 0 0 0 0 transparent;--glow-danger: 0 0 0 0 transparent;--board-light: #C9BFAE;--board-dark: #56616B;--board-frame: var(--surface-sunken);--board-notation: #14171A;--board-notation-halo: rgba(231, 225, 215, .9);--sq-selected: rgba(200, 179, 138, .6);--sq-legal: rgba(143, 174, 139, .5);--sq-capture: rgba(183, 110, 97, .55);--sq-last: rgba(200, 179, 138, .56);--sq-last-from: rgba(200, 179, 138, .24);--sq-last-ring: rgba(104, 78, 36, .92);--sq-check: rgba(183, 110, 97, .65);--sq-check-mark: radial-gradient(circle closest-side at 50% 50%, rgba(183, 110, 97, .95) 0%, rgba(183, 110, 97, .88) 52%, rgba(183, 110, 97, .3) 88%, rgba(183, 110, 97, 0) 100%)}:root[data-theme=light]{color-scheme:light;--bg: #F3EFE7;--bg-gradient: var(--bg);--surface-sunken: #EFE8DB;--surface: #FBF8F1;--surface-raised: #FBF8F1;--surface-hover: #EFE8DB;--surface-active: #E5DCCB;--border: #D6CBBB;--border-soft: #E4D9C8;--border-strong: #C4B7A4;--text-primary: #24211C;--text-secondary: #4D463E;--text-soft: #4D463E;--text-muted: #6F675D;--text-inverse: #FBF8F1;--ai: #5F6C56;--ai-rgb: 95, 108, 86;--ai-soft: rgba(111, 123, 102, .13);--ai-border: rgba(111, 123, 102, .38);--ai-contrast: #FBF8F1;--accent: #5F6C56;--accent-strong: #4A5642;--warn: #9C7B45;--warn-rgb: 156, 123, 69;--warn-soft: rgba(156, 123, 69, .13);--warn-border: rgba(156, 123, 69, .38);--warn-contrast: #FBF8F1;--danger: #9F5B4F;--danger-rgb: 159, 91, 79;--danger-soft: rgba(159, 91, 79, .12);--danger-border: rgba(159, 91, 79, .38);--danger-contrast: #FBF8F1;--success: #657B5D;--success-rgb: 101, 123, 93;--success-soft: rgba(101, 123, 93, .12);--success-border: rgba(101, 123, 93, .38);--success-contrast: #FBF8F1;--focus-ring: var(--ai);--row-stripe: rgba(36, 33, 28, .035);--elev-1: 0 0 0 1px var(--border);--elev-2: 0 0 0 1px var(--border);--elev-3: 0 4px 14px -2px rgba(60, 50, 40, .12), 0 0 0 1px var(--border);--inset-1: 0 0 0 1px var(--border-soft);--inset-2: 0 0 0 1px var(--border);--glow-ai: 0 0 0 0 transparent;--glow-warn: 0 0 0 0 transparent;--glow-danger: 0 0 0 0 transparent;--board-light: #EFE6D3;--board-dark: #A9927A;--board-frame: var(--surface-sunken);--board-notation: #24211C;--board-notation-halo: rgba(251, 248, 241, .92);--sq-selected: rgba(156, 123, 69, .45);--sq-legal: rgba(101, 123, 93, .4);--sq-capture: rgba(159, 91, 79, .42);--sq-last: rgba(156, 123, 69, .52);--sq-last-from: rgba(156, 123, 69, .2);--sq-last-ring: rgba(104, 78, 36, .85);--sq-check: rgba(159, 91, 79, .5);--sq-check-mark: radial-gradient(circle closest-side at 50% 50%, rgba(159, 91, 79, .9) 0%, rgba(159, 91, 79, .8) 52%, rgba(159, 91, 79, .28) 88%, rgba(159, 91, 79, 0) 100%)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]):not([data-theme=light]){color-scheme:light;--bg: #F3EFE7;--bg-gradient: var(--bg);--surface-sunken: #EFE8DB;--surface: #FBF8F1;--surface-raised: #FBF8F1;--surface-hover: #EFE8DB;--surface-active: #E5DCCB;--border: #D6CBBB;--border-soft: #E4D9C8;--border-strong: #C4B7A4;--text-primary: #24211C;--text-secondary: #4D463E;--text-soft: #4D463E;--text-muted: #6F675D;--text-inverse: #FBF8F1;--ai: #5F6C56;--ai-rgb: 95, 108, 86;--ai-soft: rgba(111, 123, 102, .13);--ai-border: rgba(111, 123, 102, .38);--ai-contrast: #FBF8F1;--accent: #5F6C56;--accent-strong: #4A5642;--warn: #9C7B45;--warn-rgb: 156, 123, 69;--warn-soft: rgba(156, 123, 69, .13);--warn-border: rgba(156, 123, 69, .38);--warn-contrast: #FBF8F1;--danger: #9F5B4F;--danger-rgb: 159, 91, 79;--danger-soft: rgba(159, 91, 79, .12);--danger-border: rgba(159, 91, 79, .38);--danger-contrast: #FBF8F1;--success: #657B5D;--success-rgb: 101, 123, 93;--success-soft: rgba(101, 123, 93, .12);--success-border: rgba(101, 123, 93, .38);--success-contrast: #FBF8F1;--focus-ring: var(--ai);--row-stripe: rgba(36, 33, 28, .035);--elev-1: 0 0 0 1px var(--border);--elev-2: 0 0 0 1px var(--border);--elev-3: 0 4px 14px -2px rgba(60, 50, 40, .12), 0 0 0 1px var(--border);--inset-1: 0 0 0 1px var(--border-soft);--inset-2: 0 0 0 1px var(--border);--glow-ai: 0 0 0 0 transparent;--glow-warn: 0 0 0 0 transparent;--glow-danger: 0 0 0 0 transparent;--board-light: #EFE6D3;--board-dark: #A9927A;--board-frame: var(--surface-sunken);--board-notation: #24211C;--board-notation-halo: rgba(251, 248, 241, .92);--sq-selected: rgba(156, 123, 69, .45);--sq-legal: rgba(101, 123, 93, .4);--sq-capture: rgba(159, 91, 79, .42);--sq-last: rgba(156, 123, 69, .52);--sq-last-from: rgba(156, 123, 69, .2);--sq-last-ring: rgba(104, 78, 36, .85);--sq-check: rgba(159, 91, 79, .5);--sq-check-mark: radial-gradient(circle closest-side at 50% 50%, rgba(159, 91, 79, .9) 0%, rgba(159, 91, 79, .8) 52%, rgba(159, 91, 79, .28) 88%, rgba(159, 91, 79, 0) 100%)}}:root{--cp-bg: var(--bg);--cp-surface: var(--surface);--cp-border: var(--border);--cp-border-strong: var(--border-strong);--cp-primary: var(--ai);--cp-primary-rgb: var(--ai-rgb);--cp-warn: var(--warn);--cp-warn-rgb: var(--warn-rgb);--cp-danger: var(--danger);--cp-danger-rgb: var(--danger-rgb);--cp-text: var(--text-primary);--cp-text-dim: var(--text-muted);--cp-on-primary: var(--ai-contrast);--cp-on-warn: var(--warn-contrast);--cp-on-danger: var(--danger-contrast);--cp-radius-lg: var(--radius-lg);--cp-radius-md: var(--radius-md);--cp-radius-sm: var(--radius-sm);--cp-radius-pill: var(--radius-pill);--cp-font-display: var(--font-display);--cp-font-body: var(--font-body);--cp-font-mono: var(--font-mono);--cp-t-fast: var(--dur-fast);--cp-t-base: var(--dur-base);--cp-t-slow: var(--dur-slow);--cp-ease: var(--ease);--cp-emboss-out: var(--elev-3);--cp-emboss-out-sm: var(--elev-2);--cp-emboss-in: var(--inset-2);--cp-emboss-in-sm: var(--inset-1);--cp-glow-primary: var(--glow-ai);--cp-glow-warn: var(--glow-warn);--cp-glow-danger: var(--glow-danger);--cp-text-1: var(--text-primary);--cp-text-2: var(--text-secondary);--cp-text-3: var(--text-muted);--text-1: var(--text-primary);--text-2: var(--text-secondary);--text-3: var(--text-muted);--cp-line: var(--border);--cp-line-strong: var(--border-strong);--line: var(--border);--cp-surface-1: var(--surface-raised);--cp-surface-2: var(--surface);--cp-accent: var(--ai);--cp-success: var(--success);--ok: var(--success)}:root{--cp-hi: 35, 41, 50;--cp-sh: 15, 17, 19}:root[data-theme=light]{--cp-hi: 251, 248, 241;--cp-sh: 229, 220, 203}@media (prefers-color-scheme: light){:root:not([data-theme=dark]):not([data-theme=light]){--cp-hi: 251, 248, 241;--cp-sh: 229, 220, 203}}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{height:100%;-webkit-text-size-adjust:100%;transition:background-color var(--dur-slow) var(--ease),color var(--dur-slow) var(--ease)}body{height:100%;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);font-weight:var(--weight-regular);color:var(--text-primary);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}#root{height:100%;min-height:100vh}button{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-xs)}:focus:not(:focus-visible){outline:none}::selection{background:var(--ai-soft);color:var(--text-primary)}*{scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill);border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:content-box}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--ws-max: 1280px;--ws-panel-min: 340px;--ws-panel-max: 420px}.chess-container,.sandbox,.pm{--ws-board-track: calc(var(--board-size, 440px) + (2 * var(--space-3)));--ws-eval-slot: 0px;display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-width:var(--ws-max);margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-8);box-sizing:border-box;flex:1 1 auto;min-height:0;background:var(--bg-gradient);color:var(--text-primary);font-family:var(--font-body)}.chess-container,.sandbox,.pm{--ws-eval-slot: 26px}.board-area,.sandbox-body,.pm-body{display:grid;grid-template-columns:calc(var(--ws-board-track) + var(--ws-eval-slot)) minmax(var(--ws-panel-min),var(--ws-panel-max));grid-template-rows:auto 1fr;align-items:stretch;justify-content:center;gap:var(--space-3) var(--space-6);width:100%}.sandbox-identity,.pm-identity,.game-identity{grid-area:1 / 1 / 2 / 3;align-self:end;max-width:100%;padding-bottom:var(--space-1)}.sandbox-identity-row,.pm-identity-row,.game-identity-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.sandbox-title,.pm-title,.game-title{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:-.01em;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-subtitle,.pm-subtitle,.game-subtitle{display:block;font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-exit{flex:0 0 auto;align-self:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-xs);background:transparent;box-shadow:none;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-snug);color:var(--text-muted);white-space:nowrap;transition:color var(--dur-base) var(--ease),background-color var(--dur-base) var(--ease)}.ws-exit:hover{color:var(--danger);background:var(--danger-soft)}.board-column,.sandbox-board-column,.pm-board-column{grid-area:2 / 1;display:flex;flex-direction:column;gap:var(--space-2);width:calc(var(--ws-board-track) + var(--ws-eval-slot));padding-left:var(--ws-eval-slot);box-sizing:border-box;min-width:0}.pm-controls,.sandbox-controls,.game-transport{display:flex;flex-wrap:wrap;gap:var(--space-2);width:100%}.pm-controls>.action-btn,.sandbox-controls>.action-btn,.game-transport>.action-btn{flex:1 1 0;width:auto;min-width:0;padding:var(--space-3) var(--space-2);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-label-tight{display:none}@container boardcol (max-width: 470px){.btn-label-full{display:none}.btn-label-tight{display:inline}}.ws-meta{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:32px;padding-top:var(--space-1);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-muted);flex-wrap:nowrap;min-width:0}.ws-meta-spacer{flex:1 1 auto}.ws-meta>.game-switch,.ws-meta>.sandbox-switch,.ws-meta>label:not(.game-difficulty):not(.sandbox-difficulty):not(.ws-board-size){min-width:0;flex:0 1 auto}.ws-meta>.game-switch>span,.ws-meta>.sandbox-switch>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ws-meta>.game-difficulty,.ws-meta>.sandbox-difficulty,.ws-meta>.ws-board-size{flex:none}.ws-meta>.game-difficulty,.ws-meta>.sandbox-difficulty{display:inline-flex;align-items:center;gap:var(--space-2)}.ws-board-size{display:flex;align-items:center;gap:var(--space-2)}.ws-board-size select{padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-raised);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-xs);line-height:var(--leading-snug);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.ws-board-size select:hover{background:var(--surface-hover);color:var(--text-primary)}.ws-board-size select option{background:var(--surface);color:var(--text-primary)}@media (pointer: coarse){.ws-board-size select{min-height:44px}}@media (prefers-reduced-motion: reduce){.ws-board-size select{transition:none}}.board-column,.sandbox-board-column,.pm-board-column{container-type:inline-size;container-name:boardcol}.ws-label-tight{display:none}@container boardcol (max-width: 470px){.ws-meta{flex-wrap:wrap;row-gap:var(--space-1)}}.eval-bar{--eval-bar-w: 18px;position:absolute;top:var(--space-3);right:calc(100% + (var(--ws-eval-slot) - var(--eval-bar-w)));width:var(--eval-bar-w);height:var(--board-size, 440px);border-radius:var(--radius-xs);background:#1a1a1a;border:1px solid var(--border-strong);box-sizing:border-box;box-shadow:var(--elev-1)}.eval-bar.is-off{visibility:hidden}.eval-bar-fill{position:absolute;inset:0;border-radius:inherit;background:#f2f2f2;transform-origin:bottom;transform:scaleY(var(--eval-share, .5));transition:transform var(--dur-slow) var(--ease-out)}.eval-bar.is-flipped .eval-bar-fill{transform-origin:top}.eval-bar.is-unknown{background:var(--surface-sunken);border-style:dashed}.eval-bar.is-unknown .eval-bar-fill{opacity:0}.eval-bar.is-unknown .eval-bar-label{color:var(--text-muted)}.eval-bar-label{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);width:44px;text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap;pointer-events:none}.pm-status,.sandbox-status,.ws-status{min-height:1.4em;font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--text-muted);text-align:center}.pm-status.is-busy,.sandbox-status.is-busy,.ws-status.is-busy{color:var(--warn)}.sandbox-canvas,.pm-canvas,.ai-column{grid-area:2 / 2;display:flex;flex-direction:column;gap:var(--space-3);min-width:0;max-height:calc(100vh - 190px);height:0;min-height:100%}.sandbox-canvas-header,.pm-canvas-header,.rail-canvas-panel{display:flex;flex-direction:column;gap:var(--space-1)}.sandbox-tabs,.pm-tabs,.rail-stack{display:flex;gap:var(--space-1);padding:3px;border-radius:var(--radius-sm);background:var(--surface-sunken);box-shadow:var(--inset-1)}.sandbox-tab,.pm-tab,.rail-icon-btn{flex:1 1 auto;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-xs);background:transparent;box-shadow:none;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug);color:var(--text-secondary);cursor:pointer;transition:color var(--dur-base) var(--ease),background-color var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}.sandbox-tab:hover:not(.is-active),.pm-tab:hover:not(.is-active),.rail-icon-btn:hover:not(.active){color:var(--text-primary);background:var(--surface-hover)}.sandbox-tab.is-active,.pm-tab.is-active,.rail-icon-btn.active{color:var(--text-primary);background:var(--surface-raised);box-shadow:var(--elev-1)}.sandbox-canvas-sub,.pm-canvas-sub{padding-inline:var(--space-1);font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--text-muted)}.sandbox-canvas-inner,.pm-canvas-inner{display:flex;flex-direction:column;gap:var(--space-3);flex:1 1 auto;min-height:0;padding:var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-md);box-shadow:var(--inset-1);overflow:hidden}.sandbox-canvas-inner>.sandbox-tree,.sandbox-canvas-inner>.piece-picker,.sandbox-canvas-inner>.actions-list,.pm-canvas-inner>.actions-list{flex:0 1 auto;min-height:0;overflow-y:auto;scroll-padding-block:var(--space-2)}.sandbox-canvas-inner>.sandbox-tree{min-height:44px}@media (max-width: 1100px){.chess-container,.sandbox,.pm{padding:var(--space-5) var(--space-4) var(--space-8)}.board-area,.sandbox-body,.pm-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;justify-content:stretch}.sandbox-identity,.pm-identity,.game-identity{grid-area:1 / 1}.board-column,.sandbox-board-column,.pm-board-column{grid-area:2 / 1;width:100%;max-width:calc(var(--ws-board-track) + var(--ws-eval-slot));margin-inline:auto}.sandbox-canvas,.pm-canvas,.ai-column{grid-area:3 / 1;height:auto;max-height:none;min-height:420px}}@media (max-width: 620px){.chess-container,.sandbox,.pm{padding:var(--space-4) var(--space-3) var(--space-6)}.sandbox-identity-row,.pm-identity-row,.game-identity-row{align-items:flex-start}}.actions-list{display:flex;flex-direction:column;gap:var(--space-3)}.actions-item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-raised);box-shadow:var(--elev-1)}.actions-item.game-switch{display:grid;grid-template-columns:auto auto minmax(0,1fr);white-space:normal;color:var(--text-primary)}.actions-item>.action-btn{width:auto;min-width:9.5em;white-space:nowrap}.actions-note{font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--text-muted)}.actions-item>.ws-board-size{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-primary)}.actions-item>.ws-board-size>.ws-label-full{display:inline}.actions-clear-chat:not(:disabled){color:var(--danger);border:1px solid var(--danger-border)}@media (pointer: coarse){.sandbox-tab,.pm-tab,.rail-icon-btn,.ws-exit,.pm-controls>.action-btn,.sandbox-controls>.action-btn,.actions-item>.action-btn,.game-transport>.action-btn{min-height:44px}}@media (prefers-reduced-motion: reduce){.sandbox-tab,.pm-tab,.rail-icon-btn,.ws-exit{transition:none}}.piece-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-content:start}.piece-picker-tile{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-secondary);transition:color var(--dur-base) var(--ease),background-color var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease)}.piece-picker-tile:hover:not(.is-active){color:var(--text-primary);background:var(--surface-hover);border-color:var(--border-strong)}.piece-picker-tile.is-active{color:var(--text-primary);border-color:var(--ai);box-shadow:0 0 0 1px var(--ai)}.piece-picker-pieces{display:flex;align-items:flex-end;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3) 0;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--board-light) 0 50%,var(--board-dark) 50% 100%)}.piece-picker-label{font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug)}@media (max-width: 360px){.piece-picker{grid-template-columns:minmax(0,1fr)}}@media (pointer: coarse){.piece-picker-tile{min-height:44px}}@media (prefers-reduced-motion: reduce){.piece-picker-tile{transition:none}}.level-picker{position:relative;display:inline-flex}.level-picker-trigger{display:inline-flex;align-items:center;gap:var(--space-2);min-height:32px;padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-raised);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-snug);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.level-picker-trigger:hover:not(:disabled),.level-picker.is-open .level-picker-trigger{background:var(--surface-hover);border-color:var(--border-strong)}.level-picker-trigger:disabled{opacity:.55;cursor:not-allowed}.level-picker-chevron{color:var(--text-muted);font-size:.8em}.level-picker-menu{position:fixed;z-index:2000;width:min(360px,calc(100vw - 2 * var(--space-4)));display:flex;flex-direction:column;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--elev-3);max-height:min(72vh,560px);overflow-y:auto}.level-picker-option{display:flex;flex-direction:column;gap:1px;padding:6px var(--space-3);border:1px solid transparent;border-radius:var(--radius-xs);text-align:left;color:var(--text-secondary);transition:background-color var(--dur-fast) var(--ease)}.level-picker-option:hover:not(.is-locked){background:var(--surface-hover);color:var(--text-primary)}.level-picker-option.is-active{background:var(--ai-soft);border-color:var(--ai);color:var(--text-primary)}.level-picker-option.is-active .level-picker-name:after{content:"✓";margin-left:auto;color:var(--ai)}.level-picker-name{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);color:inherit}.level-picker-elo{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-regular);color:var(--text-muted)}.level-picker-blurb{font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--text-muted)}.level-picker-option.is-locked{margin-top:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--border-soft);border-radius:0;cursor:default;color:var(--text-muted)}.level-picker-option.is-locked .level-picker-name{color:var(--text-secondary)}@media (pointer: coarse){.level-picker-trigger{min-height:44px}.level-picker-option{min-height:44px;justify-content:center}}@media (prefers-reduced-motion: reduce){.level-picker-trigger,.level-picker-option{transition:none}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:100%;padding:var(--space-8) var(--space-6);text-align:center}@media (max-width: 900px){.empty-state{min-height:0;justify-content:flex-start;padding:var(--space-6) var(--space-5)}}.empty-state-title{font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--text-secondary)}.empty-state-body{max-width:34ch;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-secondary)}.empty-state-action{margin-top:var(--space-2)}.empty-state-thinking .empty-state-title{color:var(--warn)}.empty-state-dots{display:flex;gap:var(--space-1);align-items:center;margin-bottom:var(--space-1)}.empty-state-dots span{width:5px;height:5px;border-radius:50%;background:var(--warn);animation:waiting-wave 1.4s var(--ease) infinite both}.empty-state-dots span:nth-child(1){animation-delay:-.32s}.empty-state-dots span:nth-child(2){animation-delay:-.16s}.board-endstate{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;padding:var(--space-4);box-sizing:border-box;border-radius:inherit;background:radial-gradient(ellipse at center,var(--endstate-core) 0%,var(--endstate-edge) 72%);animation:endstate-in var(--dur-base, .22s) var(--ease-out, ease-out)}.board-endstate.is-checkmate{--endstate-core: rgba(var(--danger-rgb), .62);--endstate-edge: rgba(var(--danger-rgb), .34);--endstate-ink: #fff3f4}.board-endstate.is-stalemate,.board-endstate.is-draw{--endstate-core: rgba(24, 27, 33, .62);--endstate-edge: rgba(24, 27, 33, .36);--endstate-ink: #f2f4f7}[data-theme=light] .board-endstate.is-stalemate,[data-theme=light] .board-endstate.is-draw{--endstate-core: rgba(38, 44, 54, .58);--endstate-edge: rgba(38, 44, 54, .32)}.board-endstate-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;max-width:100%}.board-endstate-headline{margin:0;font-size:clamp(1.35rem,calc(var(--board-size, 440px) * .115),3.25rem);line-height:1;font-weight:800;letter-spacing:.02em;color:var(--endstate-ink);text-shadow:0 2px 14px rgba(0,0,0,.55)}.board-endstate-detail{margin:0;font-size:clamp(.72rem,calc(var(--board-size, 440px) * .028),.95rem);line-height:1.35;color:var(--endstate-ink);opacity:.92;text-shadow:0 1px 8px rgba(0,0,0,.5);max-width:30ch}.board-endstate-reset{margin-top:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-sm, 8px);border:1px solid rgba(255,255,255,.55);background:#fffffff0;color:#14171d;font-size:.95rem;font-weight:650;cursor:pointer;box-shadow:0 6px 18px #00000059;transition:transform var(--dur-fast, .12s) var(--ease-out, ease-out),background var(--dur-fast, .12s) var(--ease-out, ease-out)}.board-endstate-reset:hover{background:#fff;transform:translateY(-1px)}.board-endstate-reset:active{transform:translateY(0)}.board-endstate-reset:focus-visible{outline:3px solid var(--endstate-ink);outline-offset:3px}.board-endstate-secondary{min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-sm, 8px);border:1px solid rgba(255,255,255,.7);background:#00000038;color:var(--endstate-ink);font-size:.9rem;font-weight:600;cursor:pointer;text-shadow:0 1px 6px rgba(0,0,0,.45);transition:background var(--dur-fast, .12s) var(--ease-out, ease-out),transform var(--dur-fast, .12s) var(--ease-out, ease-out)}.board-endstate-secondary:hover:not(:disabled){background:#ffffff2e;transform:translateY(-1px)}.board-endstate-secondary:active:not(:disabled){transform:translateY(0)}.board-endstate-secondary:disabled{cursor:progress;opacity:.85}.board-endstate-secondary:focus-visible{outline:3px solid var(--endstate-ink);outline-offset:3px}.board-endstate-hint,.board-endstate-error{margin:0;font-size:clamp(.66rem,calc(var(--board-size, 440px) * .024),.82rem);line-height:1.3;color:var(--endstate-ink);opacity:.88;text-shadow:0 1px 6px rgba(0,0,0,.5);max-width:30ch}.board-endstate-error{opacity:1;font-weight:600}@media (max-width: 560px){.board-endstate-hint{display:none}}@keyframes endstate-in{0%{opacity:0}to{opacity:1}}@media (max-width: 560px){.board-endstate-detail{max-width:24ch}}.promotion-scrim{position:absolute;inset:var(--space-3);z-index:30;background:#0000006b;border-radius:var(--radius-xs);animation:promotion-fade var(--cp-t-base, .22s) var(--ease, ease) both}@keyframes promotion-fade{0%{opacity:0}to{opacity:1}}.promotion-picker{position:absolute;display:flex;flex-direction:column;background:var(--surface-raised);border-radius:var(--radius-sm);box-shadow:var(--elev-3);overflow:hidden;animation:promotion-open var(--cp-t-base, .22s) var(--ease, ease) both}.promotion-picker.grows-down{transform-origin:top center}.promotion-picker.grows-up{transform-origin:bottom center}@keyframes promotion-open{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.promotion-option{display:flex;align-items:center;justify-content:center;width:100%;padding:0;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:background var(--cp-t-base, .22s) var(--ease, ease)}.promotion-option:last-child{border-bottom:none}.promotion-option:hover{background:var(--surface-hover)}.promotion-option:active{background:var(--surface-active)}.promotion-option:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}.promotion-option svg{display:block}@media (pointer: coarse){.promotion-option{min-height:34px}}.coach-style-entry .actions-note{display:grid;gap:3px}.coach-style-entry .actions-note strong{color:var(--text-primary);font-weight:650}.coach-style-open{min-width:104px}.coach-style-backdrop{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,#05070b 76%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.coach-style-modal{width:min(780px,100%);max-height:min(820px,calc(100dvh - 32px));overflow:auto;border:1px solid var(--border);border-radius:18px;padding:24px;color:var(--text-primary);background:var(--surface-raised);box-shadow:0 28px 80px #0000007a,0 0 0 1px color-mix(in srgb,var(--ai) 8%,transparent)}.coach-style-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.coach-style-kicker{margin:0 0 5px;color:var(--ai);font-size:.8rem;font-weight:650}.coach-style-head h2{margin:0;font-size:1.45rem}.coach-style-head p:not(.coach-style-kicker){margin:7px 0 0;max-width:590px;color:var(--text-secondary);line-height:1.5}.coach-style-close{flex:0 0 auto;width:38px;height:38px;border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);background:var(--surface);font:inherit;font-size:1.5rem;cursor:pointer}.coach-style-values{display:flex;flex-wrap:wrap;gap:10px 24px;margin:14px 0 10px;padding:10px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface-sunken);color:var(--text-secondary)}.coach-style-values strong{color:var(--text-primary)}.coach-style-preview{margin:0 0 14px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--ai) 35%,var(--border));border-left-width:4px;border-radius:11px;background:color-mix(in srgb,var(--ai) 6%,var(--surface-sunken))}.coach-style-preview figcaption{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;margin-bottom:6px;color:var(--text-secondary);font-size:.82rem;font-weight:650}.coach-style-preview figcaption span{color:var(--text-muted);font-weight:400}.coach-style-preview blockquote{margin:0;color:var(--text-primary);font-size:1.02rem;line-height:1.45;min-height:2.9em}.coach-style-main{display:grid;grid-template-columns:minmax(260px,1fr) minmax(250px,1fr);gap:32px;align-items:center}.coach-plane-wrap{position:relative;padding:22px 0 21px}.coach-plane{position:relative;aspect-ratio:1;overflow:visible;touch-action:none;cursor:crosshair;border:1px solid color-mix(in srgb,var(--ai) 42%,var(--border));border-radius:14px;background:linear-gradient(to right,transparent calc(50% - .5px),color-mix(in srgb,var(--text-muted) 22%,transparent) 50%,transparent calc(50% + .5px)),linear-gradient(to bottom,transparent calc(50% - .5px),color-mix(in srgb,var(--text-muted) 22%,transparent) 50%,transparent calc(50% + .5px)),repeating-linear-gradient(to right,transparent 0 calc(10% - 1px),color-mix(in srgb,var(--text-muted) 10%,transparent) calc(10% - 1px) 10%),repeating-linear-gradient(to bottom,transparent 0 calc(10% - 1px),color-mix(in srgb,var(--text-muted) 10%,transparent) calc(10% - 1px) 10%),linear-gradient(135deg,color-mix(in srgb,var(--surface-sunken) 94%,var(--ai)),var(--surface-sunken))}.coach-plane-glow{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 72% 22%,color-mix(in srgb,var(--ai) 13%,transparent),transparent 48%)}.coach-point{position:absolute;z-index:2;width:24px;height:24px;padding:0;transform:translate(-50%,50%);border:3px solid var(--surface-raised);border-radius:50%;background:var(--ai);cursor:grab;box-shadow:0 0 0 2px var(--ai),0 5px 18px color-mix(in srgb,var(--ai) 45%,transparent)}.coach-point:active{cursor:grabbing}.coach-point:focus-visible,.coach-style-modal button:focus-visible,.coach-style-modal input:focus-visible{outline:2px solid var(--ai);outline-offset:3px}.coach-axis-x{display:flex;justify-content:space-between;margin-top:8px;color:var(--text-secondary);font-size:.76rem}.coach-axis-y{position:absolute;left:0;right:0;text-align:center;color:var(--text-secondary);font-size:.76rem}.coach-axis-top{top:0}.coach-axis-bottom{bottom:0}.coach-sliders{display:grid;gap:22px}.coach-sliders label>span{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px}.coach-sliders output{color:var(--ai);font-variant-numeric:tabular-nums}.coach-sliders small{display:block;margin-top:7px;color:var(--text-muted);line-height:1.35}.coach-sliders input[type=range]{width:100%;height:5px;appearance:none;border-radius:99px;background:color-mix(in srgb,var(--ai) 30%,var(--surface-sunken));cursor:pointer}.coach-sliders input[type=range]::-webkit-slider-thumb{width:18px;height:18px;appearance:none;border:3px solid var(--surface-raised);border-radius:50%;background:var(--ai);box-shadow:0 0 0 1px var(--ai)}.coach-sliders input[type=range]::-moz-range-thumb{width:14px;height:14px;border:3px solid var(--surface-raised);border-radius:50%;background:var(--ai);box-shadow:0 0 0 1px var(--ai)}.coach-presets{display:grid;gap:9px}.coach-presets>span{color:var(--text-secondary);font-size:.82rem;font-weight:650}.coach-presets>div{display:flex;flex-wrap:wrap;gap:7px}.coach-presets button{border:1px solid var(--border);border-radius:999px;padding:7px 10px;color:var(--text-secondary);background:var(--surface);font:inherit;font-size:.76rem;cursor:pointer}.coach-presets button.is-active{border-color:color-mix(in srgb,var(--ai) 62%,var(--border));color:var(--ai);background:color-mix(in srgb,var(--ai) 10%,var(--surface))}.coach-style-footer{display:flex;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.coach-style-done{border-color:color-mix(in srgb,var(--ai) 55%,var(--border));color:var(--ai)}@media (max-width: 640px){.coach-style-backdrop{padding:8px;align-items:end}.coach-style-modal{max-height:calc(100dvh - 12px);padding:18px;border-radius:16px 16px 8px 8px}.coach-style-main{grid-template-columns:1fr;gap:20px}.coach-plane-wrap{width:min(100%,360px);margin:auto}.coach-style-values{flex-direction:column;gap:4px;margin:14px 0}.coach-style-preview{margin-bottom:14px}.coach-style-preview blockquote{font-size:.95rem}.coach-style-footer .action-btn{min-height:44px}}.sandbox-error{background:rgba(var(--cp-danger-rgb),.12);box-shadow:inset 0 0 0 1px rgba(var(--cp-danger-rgb),.35);color:var(--cp-danger);border-radius:var(--cp-radius-sm);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);line-height:var(--leading-snug)}.sandbox-board-wrapper{width:calc(var(--board-size, 440px) + (2 * var(--space-3)));aspect-ratio:1;height:auto;box-sizing:border-box;border-radius:var(--radius-lg);box-shadow:var(--elev-3);background:var(--board-frame);padding:var(--space-3);position:relative;display:flex;align-items:center;justify-content:center}.sandbox-thinking{box-shadow:var(--cp-emboss-out),0 0 0 1px rgba(var(--cp-warn-rgb),.45)}.sandbox-booting{color:var(--text-muted);font-size:var(--text-base);font-style:italic}.sandbox-play-btn{background:var(--cp-primary);color:var(--cp-on-primary);box-shadow:var(--cp-glow-primary)}.sandbox-nav-btn{background:var(--surface-raised);color:var(--cp-text);box-shadow:var(--cp-emboss-out-sm)}.sandbox-takeover-btn{background:var(--surface-raised);color:var(--text-secondary);box-shadow:var(--cp-emboss-out-sm)}.sandbox-takeover-btn.is-on{background:var(--surface-active);color:var(--text-primary);box-shadow:var(--inset-1)}.sandbox-meta{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;font-size:var(--text-xs);color:var(--text-muted)}.sandbox-meta-item{background:var(--surface-raised);box-shadow:var(--cp-emboss-out-sm);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3)}.sandbox-meta-line{font-family:var(--font-mono);max-width:var(--board-size, 440px);overflow-x:auto;min-height:1.6em;box-sizing:border-box;white-space:nowrap}.sandbox-empty{margin:0;color:var(--text-muted);font-size:var(--text-sm);font-style:italic;text-align:center;padding:14px 0}.sandbox-ply{background:var(--cp-surface);border-radius:var(--cp-radius-sm);box-shadow:var(--cp-emboss-out-sm);padding:12px 14px;display:flex;flex-direction:column;gap:7px}.sandbox-ply-head{display:flex;align-items:center;gap:9px}.sandbox-ply-num{font-family:var(--cp-font-mono);font-size:11px;color:var(--cp-text-dim);min-width:18px}.sandbox-ply-san{font-family:var(--cp-font-mono);font-size:15px;font-weight:600;color:var(--cp-text)}.sandbox-ply-source{margin-left:auto;font-size:10px;letter-spacing:.1em;text-transform:none;border-radius:var(--cp-radius-pill);padding:3px 9px}.sandbox-ply-ai{background:rgba(var(--cp-primary-rgb),.16);color:var(--cp-primary)}.sandbox-ply-human{background:rgb(var(--cp-hi));color:var(--cp-text-dim)}.sandbox-ply-explanation{margin:0;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--cp-text-dim)}.sandbox-ply-narration{margin:0;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--cp-primary);border-left:2px solid rgba(var(--cp-primary-rgb),.4);padding-left:11px}.sandbox-ply-pending{margin:0;font-size:var(--text-xs);color:var(--cp-warn);font-style:italic}.sandbox-ply-failed{margin:0;font-size:var(--text-xs);color:var(--cp-text-dim);font-style:italic}.sandbox-alert{order:2;flex:0 1 auto;min-height:20px;padding-inline:var(--space-2);display:flex;align-items:center;justify-content:flex-end;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.01em;transition:background-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}.sandbox-alert.is-quiet{color:transparent}.sandbox-alert.is-check{background:var(--danger-soft);color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger-border)}.sandbox-alert.is-checkmate{background:var(--danger);color:var(--danger-contrast)}.sandbox-alert.is-stalemate{background:var(--warn-soft);color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn-border)}.sandbox-strip{display:flex;align-items:center;gap:var(--space-3);min-height:20px}.sandbox-reset-btn.is-on{color:var(--ai);border:1px solid var(--ai-border)}.sandbox-toggle{font-family:var(--cp-font-body);font-size:13px;font-weight:600;color:var(--cp-text-dim);background:var(--surface-raised);box-shadow:var(--cp-emboss-out-sm);border-radius:var(--cp-radius-pill);padding:var(--space-3) var(--space-4);transition:color var(--cp-t-fast) var(--cp-ease),box-shadow var(--cp-t-fast) var(--cp-ease)}.sandbox-toggle:hover:not(:disabled){color:var(--cp-text)}.sandbox-toggle.is-on{color:var(--cp-text);background:rgb(var(--cp-hi));box-shadow:var(--cp-emboss-in-sm)}.sandbox-toggle:disabled{opacity:.5;cursor:not-allowed}.sandbox-hint{margin:0;font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--cp-text-dim);min-height:calc(2 * var(--leading-snug) * var(--text-xs))}.sandbox-hint strong{color:var(--cp-text);font-weight:600}.sandbox-difficulty{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--cp-text-dim)}.sandbox-tree{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.sandbox-tree-move{display:inline-flex;align-items:center;gap:5px;font-family:var(--cp-font-mono);font-size:13px;color:var(--cp-text-dim);background:var(--cp-surface);border-radius:var(--cp-radius-sm);padding:5px 9px;transition:color var(--cp-t-fast) var(--cp-ease),box-shadow var(--cp-t-fast) var(--cp-ease)}.sandbox-tree-move:hover:not(:disabled){color:var(--cp-text);box-shadow:var(--cp-emboss-out-sm)}.sandbox-tree-move:disabled{cursor:default}.sandbox-tree-move.on-path{color:var(--cp-text)}.sandbox-tree-move.is-current{color:var(--cp-text);background:rgb(var(--cp-hi));box-shadow:var(--cp-emboss-in-sm)}.sandbox-tree-human .sandbox-tree-san{font-style:italic}.sandbox-tree-num{color:var(--cp-text-dim);font-size:11px}.sandbox-tree-san{font-weight:600}.sandbox-tree-dot{width:4px;height:4px;border-radius:50%;background:var(--cp-primary)}.sandbox-tree-start{font-family:var(--cp-font-body);font-size:12px}.sandbox-tree-variation{flex:0 0 100%;display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-left:14px;padding-left:10px;border-left:2px solid var(--cp-border-strong)}@media (max-width: 1100px){.sandbox-canvas{max-width:none;width:100%}.sandbox-meta-line{max-width:100%}}@media (max-width: 620px){.sandbox-board-column{width:100%;min-width:0}.sandbox-controls{display:grid;grid-template-columns:1fr 1fr}.sandbox-controls>.action-btn{min-width:0}.sandbox-canvas-inner{min-height:260px}}@media (pointer: coarse){.sandbox-prompt-row .sandbox-generate-btn,.sandbox-chat-row .sandbox-chat-send,.sandbox-toggle,.sandbox-chat-chip,.sandbox-prompt-input,.sandbox-chat-input{min-height:44px}.sandbox-tree{gap:var(--space-2)}.sandbox-tree-move{min-height:36px;padding:var(--space-2) var(--space-3)}}.sandbox-chat{display:flex;flex-direction:column;gap:var(--space-3);flex:1 1 auto;height:100%;min-height:0}.sandbox-chat-log{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);padding-right:var(--space-1)}.sandbox-chat-msg{max-width:46ch;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal);white-space:pre-wrap}.sandbox-chat-msg{display:flex;flex-direction:column}.sandbox-chat-user{align-self:flex-end;background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--elev-1)}.sandbox-chat-model{align-self:flex-start;background:var(--ai-soft);border-left:2px solid var(--ai-border);color:var(--text-primary);border-top-left-radius:var(--radius-xs);border-bottom-left-radius:var(--radius-xs)}.sandbox-chat-coach{max-width:100%;align-self:stretch;gap:7px}.sandbox-chat-msg.is-pending{background:var(--warn-soft);border-left-color:var(--warn-border);color:var(--text-secondary);font-style:normal}.sandbox-chat-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-2) 0;color:var(--text-muted);font-size:var(--text-2xs);line-height:var(--leading-snug)}.sandbox-chat-divider:before,.sandbox-chat-divider:after{content:"";flex:1 1 auto;height:1px;background:var(--border)}.sandbox-chat-divider span{flex:0 1 auto;text-align:center}.sandbox-chat-confirm{gap:var(--space-3)}.sandbox-chat-confirm-text{margin:0}.sandbox-chat-confirm-actions{display:flex;gap:var(--space-2);align-items:center}.sandbox-chat-error{font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--danger);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--danger-soft);border:1px solid var(--danger-border)}.sandbox-chat-row{display:flex;gap:var(--space-2);flex:none}.sandbox-chat-input{flex:1 1 auto;min-width:0;min-height:42px;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:var(--surface-sunken);box-shadow:var(--inset-1);color:var(--text-primary);font-size:var(--text-sm)}.sandbox-chat-input::placeholder{color:var(--text-muted)}.sandbox-chat-input:disabled{opacity:.6}.sandbox-chat-row .sandbox-chat-send,.sandbox-chat-confirm-actions .sandbox-chat-send{flex:0 0 auto;padding-inline:var(--space-4);background:var(--ai);color:var(--ai-contrast)}.sandbox-chat-row .sandbox-chat-send:hover:not(:disabled),.sandbox-chat-confirm-actions .sandbox-chat-send:hover:not(:disabled){background:var(--ai);filter:brightness(1.08)}.sandbox-chat-row .sandbox-chat-send:disabled{opacity:.5;cursor:not-allowed}.sandbox-note{display:block;margin-top:2px;font-size:var(--text-2xs);line-height:var(--leading-snug);color:var(--text-muted);font-variant-numeric:tabular-nums}.sandbox-note.is-warn{color:var(--warn)}.sandbox-practice{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding:10px 12px;border-radius:10px;border:1px solid var(--cp-line, var(--line));background:var(--cp-surface-2, var(--cp-surface-1, var(--surface)));font-family:var(--font-body);font-size:12.5px;color:var(--cp-text-2, var(--text-2))}.sandbox-practice strong{font-family:var(--font-display);color:var(--cp-text-1, var(--text-1))}.sandbox-practice-source{font-size:11.5px;color:var(--cp-text-3, var(--text-3));overflow-wrap:anywhere}.sandbox-practice-result{font-weight:600}.sandbox-practice-result.is-pass{color:var(--ok, var(--cp-text-1))}.sandbox-practice-result.is-miss{color:var(--warn, var(--cp-text-1))}.sandbox-practice-next{font-size:11.5px;color:var(--cp-text-3, var(--text-3))}.sandbox-practice-next a{color:inherit;text-decoration:underline}.sandbox-hint{min-height:2.9em}.sandbox-canvas>.sandbox-practice{margin-top:0;flex:0 0 auto}.sandbox-meta-line.is-empty{background:transparent;box-shadow:none}.sandbox-practice-title{font-family:var(--font-display);font-size:13px;color:var(--cp-text-1, var(--text-1))}.sandbox-practice-task{font-size:12.5px;line-height:1.5;color:var(--cp-text-2, var(--text-2))}.sandbox-practice-back{font-size:11.5px;color:var(--cp-text-3, var(--text-3));text-decoration:underline}.sandbox-practice-card{display:flex;flex-direction:column;gap:4px;margin-top:4px;padding:10px 12px;border-radius:10px;border:1px solid var(--cp-line, var(--line));background:var(--cp-surface-1, var(--surface-raised))}.sandbox-practice-card.is-pass{border-color:var(--ok, var(--cp-line))}.sandbox-practice-card.is-miss{border-color:var(--warn, var(--cp-line))}.sandbox-practice-card-label{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--cp-text-3, var(--text-3))}.sandbox-practice-card-title{font-family:var(--font-display);font-size:14px;color:var(--cp-text-1, var(--text-1))}.sandbox-practice-card-why{font-size:12.5px;line-height:1.5;color:var(--cp-text-2, var(--text-2))}.sandbox-practice-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.sandbox-chat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.sandbox-chat-chip{font:inherit;font-size:11.5px;padding:4px 10px;border-radius:999px;cursor:pointer;border:1px solid var(--cp-line, var(--line));background:var(--cp-surface-1, var(--surface-raised));color:var(--cp-text-2, var(--text-2))}.sandbox-chat-chip:hover:not(:disabled){color:var(--cp-text-1, var(--text-1))}.sandbox-chat-chip:disabled{opacity:.5;cursor:default}.corr-panel{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-4);min-width:0;flex:1 1 auto;min-height:0;overflow-y:auto;scroll-padding-block:var(--space-3)}.corr-head{display:flex;flex-direction:column;gap:2px;padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.corr-eyebrow{font-size:var(--text-2xs);color:var(--text-muted);letter-spacing:.02em}.corr-move{font-family:var(--font-mono);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary)}.corr-progress{min-height:3.5em;margin-top:calc(-1 * var(--space-3));color:transparent;font-size:var(--text-xs);line-height:var(--leading-normal)}.corr-progress.is-active{color:var(--warn)}.corr-progress.is-collapsed{min-height:0;height:0;margin:0;overflow:hidden}.corr-step{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.corr-question{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary)}.corr-sub{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--text-secondary)}.corr-section-title{margin:0;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);letter-spacing:.02em}.corr-presets{display:flex;flex-wrap:wrap;gap:var(--space-2)}.corr-chip{min-height:34px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.corr-chip:hover{background:var(--surface-hover);color:var(--text-primary)}.corr-chip.is-on,.corr-chip.is-on:hover{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg);font-weight:var(--weight-semibold)}.corr-chip.is-on:before{content:"✓ "}.corr-hint{margin:0;font-size:var(--text-xs, 12px);line-height:1.5;color:var(--text-muted, var(--text-secondary))}.corr-field{display:flex;flex-direction:column;gap:var(--space-2)}.corr-field-label{font-size:var(--text-xs);color:var(--text-muted)}.corr-textarea{width:100%;box-sizing:border-box;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);line-height:1.5;resize:vertical}.corr-textarea::placeholder{color:var(--text-muted)}.corr-panel .corr-primary{align-self:flex-start;font-weight:var(--weight-semibold)}.corr-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);min-width:0}.corr-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.corr-theme{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-primary)}.corr-recur{font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--text-muted);padding:2px var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);white-space:nowrap}.corr-missed,.corr-rule{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-secondary)}.corr-engine-caveat{margin:0;padding-top:var(--space-2);border-top:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal)}.corr-engine-caveat strong,.corr-missed strong,.corr-rule strong{color:var(--text-primary)}.corr-diagnosis{margin:0;padding-left:var(--space-3);border-left:2px solid var(--ai-border);font-size:var(--text-sm);line-height:1.6;color:var(--text-primary)}.corr-uncertainty{margin:0;font-size:var(--text-xs);line-height:1.5;color:var(--text-muted);font-style:normal}.corr-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap}.corr-link{padding:0;border:0;background:none;color:var(--ai);font-family:inherit;font-size:var(--text-xs);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.corr-link:hover{color:var(--ai-contrast)}.corr-respond{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.corr-evidence-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.corr-evidence-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);min-width:0}.corr-evidence-move{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary)}.corr-evidence-detail,.corr-evidence-intent{font-size:var(--text-2xs);line-height:1.5;color:var(--text-muted);overflow-wrap:anywhere}.corr-evidence-intent{color:var(--text-secondary)}.corr-try{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.corr-prompt{margin:0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--text-sm);line-height:1.5;color:var(--text-primary)}.corr-notyours{color:var(--warn);font-weight:var(--weight-medium)}.corr-practice-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.corr-note{margin:0;padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-sunken);font-size:var(--text-sm);line-height:1.5;color:var(--text-secondary)}.corr-note.is-warn{border-color:var(--warn-border);background:var(--warn-soft);color:var(--text-primary)}.corr-note.is-good{border-color:var(--success-border);background:var(--success-soft);color:var(--text-primary)}.corr-others{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border)}.corr-others-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.corr-others-item{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);min-width:0}.corr-others-theme{color:var(--text-secondary);overflow-wrap:anywhere}.corr-others-meta{color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap}.corr-fineprint{margin:0;font-size:var(--text-2xs);line-height:1.5;color:var(--text-muted)}.corr-collapsed{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);font-family:inherit;text-align:left;cursor:pointer}.corr-collapsed:hover{background:var(--surface-hover)}.corr-collapsed-theme{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary);min-width:0;overflow-wrap:anywhere}.corr-collapsed-back{font-size:var(--text-2xs);color:var(--ai);white-space:nowrap}.corr-zone{display:flex;flex-direction:column;gap:3px;margin:0 0 10px}.corr-zone-label{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--cp-text-3, var(--text-3))}.corr-zone-text{margin:0;font-size:13px;line-height:1.5;color:var(--cp-text-1, var(--text-1))}.corr-engine-list{margin:0;padding-left:16px;font-size:12.5px;line-height:1.5;color:var(--cp-text-2, var(--text-2))}.corr-engine-list strong{font-family:var(--font-mono);font-weight:600}.corr-status{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}.corr-chip-status{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;border:1px solid var(--cp-line, var(--line));color:var(--cp-text-2, var(--text-2));background:var(--cp-surface-2, transparent)}.corr-chip-status.is-saved{color:var(--ok, var(--cp-text-1));border-color:currentColor}.corr-chip-status.is-session,.corr-chip-status.is-saving{color:var(--warn, var(--cp-text-2));border-color:currentColor}.corr-chip-status.is-failed{color:var(--danger, var(--cp-text-1));border-color:currentColor}.corr-status .corr-link{font-size:11px;align-self:center}.corr-practice-none{display:flex;flex-direction:column;gap:8px}.corr-practice-none-actions{display:flex;flex-wrap:wrap;gap:8px}.corr-practice-none-actions .action-btn{text-decoration:none}.corr-chip-status.is-practice{color:var(--cp-accent, var(--cp-text-1));border-color:currentColor}.corr-chip-status.is-nopractice{opacity:.8}.pm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);flex:1 1 auto;min-height:min(60vh,520px);padding:var(--space-6) var(--space-4);width:100%}.pm-drop{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:min(100%,720px);min-height:320px;padding:var(--space-10) var(--space-6);justify-content:center;font-family:var(--font-body);text-align:center;color:var(--text-secondary);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--elev-1);cursor:pointer;transition:border-color var(--dur-base) var(--ease),background-color var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}.pm-drop:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-muted)}.pm-drop.is-over{border-style:solid;border-color:var(--success-border);background:var(--success-soft);box-shadow:var(--elev-2)}.pm-drop.is-busy{cursor:progress}.pm-drop-mark{display:block;opacity:.9;border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--elev-1);width:48px;height:48px}.pm-drop-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--text-primary)}.pm-drop-body{font-size:var(--text-base);line-height:var(--leading-normal);max-width:42ch}.pm-drop-note{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.pm-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.pm-drop-error{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:min(100%,720px);padding:var(--space-4);background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--radius-md)}.pm-drop-error-text{margin:0;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);text-align:center}.pm-empty-hint{margin:0;max-width:56ch;text-align:center;font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--text-muted)}.pm-error{padding:var(--space-3) var(--space-4);background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);line-height:var(--leading-normal)}.pm-vs{color:var(--text-muted);font-weight:var(--weight-regular)}.pm-board-wrapper{position:relative;width:calc(var(--board-size, 440px) + (2 * var(--space-3)));padding:var(--space-3);background:var(--board-frame);border-radius:var(--radius-md);box-shadow:var(--inset-1);transition:box-shadow var(--dur-base) var(--ease)}.pm-board-wrapper.is-branch{box-shadow:var(--inset-1),0 0 0 2px var(--warn-border)}.pm-board-wrapper.is-practice{box-shadow:var(--inset-1),0 0 0 2px var(--accent)}.pm-where-practice{color:var(--text-primary);font-weight:var(--weight-medium)}.pm-board-wrapper.is-thinking{box-shadow:var(--inset-1),0 0 0 2px var(--warn-border),var(--glow-warn)}.pm-strip{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);min-height:1.6em;font-size:var(--text-sm);line-height:var(--leading-snug)}.pm-alert{flex:0 1 auto;padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);font-weight:var(--weight-medium);line-height:var(--leading-snug);text-align:right;transition:background-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease)}.pm-alert.is-quiet{color:var(--text-muted);background:transparent}.pm-alert.is-warn{color:var(--warn);background:var(--warn-soft)}.pm-alert.is-danger{color:var(--danger);background:var(--danger-soft)}.pm-where{flex:1 1 auto;min-width:0;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-where-game{font-weight:var(--weight-medium);color:var(--text-primary)}.pm-where-branch{font-weight:var(--weight-medium);color:var(--warn)}.pm-where-of{color:var(--text-muted);font-weight:var(--weight-regular)}.action-btn.pm-explore-btn.is-on{background:var(--warn-soft);border-color:var(--warn-border);color:var(--warn)}.pm-section-title{margin:0;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary)}.pm-moves{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:1px;font-family:var(--font-mono);font-size:var(--text-sm)}.pm-move-row{display:grid;grid-template-columns:3.2em 1fr 1fr;align-items:center;gap:var(--space-1);padding:1px var(--space-1);border-radius:var(--radius-xs)}.pm-move-row:nth-child(2n){background:var(--row-stripe)}.pm-move-num{color:var(--text-muted);text-align:right;padding-right:var(--space-1)}.pm-move{display:flex;align-items:center;gap:var(--space-1);width:auto;padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-xs);cursor:pointer;text-align:left;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.pm-move:hover:not(:disabled):not(.is-current){background:var(--surface-hover);color:var(--text-primary)}.pm-move.is-current{background:var(--surface-raised);color:var(--text-primary);font-weight:var(--weight-semibold);box-shadow:var(--elev-1)}.pm-move-empty{cursor:default}.pm-move-grade{flex:0 0 auto;width:7px;height:7px;border-radius:var(--radius-pill)}.pm-move-branch{color:var(--warn);font-weight:var(--weight-bold)}.pm-evidence{flex:0 0 auto;padding-top:var(--space-3);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-2)}.pm-evidence-grid{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-3);margin:0;font-size:var(--text-xs);line-height:var(--leading-snug)}.pm-evidence-grid dt{color:var(--text-muted)}.pm-evidence-grid dd{margin:0;color:var(--text-primary)}.pm-evidence-line{font-family:var(--font-mono)}.pm-report{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.pm-scan{display:flex;flex-direction:column;gap:var(--space-1)}.pm-scan.is-idle{visibility:hidden}.pm-scan-track{height:4px;border-radius:var(--radius-pill);background:var(--surface-raised);box-shadow:var(--inset-1);overflow:hidden}.pm-scan-fill{height:100%;background:var(--warn);transition:width var(--dur-slow) var(--ease-out)}.pm-scan-label{font-size:var(--text-xs);color:var(--warn)}.pm-scan-error{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--radius-sm);font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--text-primary)}.pm-scan-error p{margin:0}.action-btn.pm-report-retry{width:auto;align-self:flex-start;font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.pm-curve{position:relative;height:68px;background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--elev-1);padding:var(--space-2)}.pm-curve-svg{width:100%;height:100%;display:block;overflow:visible}.pm-curve-line{fill:none;stroke:var(--text-primary);stroke-width:.8;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pm-curve-area{fill:var(--text-primary);opacity:.16;stroke:none}.pm-curve-axis{stroke:var(--border-strong);stroke-width:.5;vector-effect:non-scaling-stroke}.pm-curve-marker{fill:var(--warn);stroke:var(--surface);stroke-width:.5;vector-effect:non-scaling-stroke}.pm-curve-hits{position:absolute;inset:var(--space-2)}.pm-curve-hit{position:absolute;top:0;bottom:0;width:10px;margin-left:-5px;padding:0;background:transparent;border:0;cursor:pointer}.pm-curve-hit:hover{background:var(--surface-hover);opacity:.5}.pm-accuracy{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.pm-coverage{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--success-border);border-radius:var(--radius-sm);background:var(--success-soft);color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal)}.pm-coverage strong{color:var(--text-primary)}.pm-coverage.is-partial{border-color:var(--warn-border);background:var(--warn-soft)}.pm-score-explainer{display:flex;flex-direction:column;gap:var(--space-1)}.pm-score-explainer p{margin:0;color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal)}.pm-accuracy-side{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--elev-1)}.pm-accuracy-name{font-size:var(--text-xs);color:var(--text-muted)}.pm-accuracy-figure{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--text-primary)}.pm-accuracy-sub{font-size:var(--text-2xs);color:var(--text-muted)}.pm-accuracy-excluded{margin-top:var(--space-1);font-size:var(--text-2xs);line-height:var(--leading-normal);color:var(--text-secondary)}.pm-accuracy-excluded.is-warn{color:var(--warn)}.pm-turning{display:flex;flex-direction:column;gap:var(--space-2)}.pm-turning-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.pm-turning-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:var(--surface);border:0;border-radius:var(--radius-xs);box-shadow:var(--elev-1);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;text-align:left;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.pm-turning-item:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.pm-turning-move{flex:1 1 auto}.pm-turning-loss{color:var(--danger)}.pm-report-note{margin:0;font-size:var(--text-2xs);line-height:var(--leading-normal);color:var(--text-muted)}.pm-chat{display:flex;flex-direction:column;gap:var(--space-3);flex:1 1 auto;height:100%;min-height:0}.pm-chat-log{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);padding-right:var(--space-1)}.pm-chat-msg{display:flex;flex-direction:column;max-width:46ch;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal);white-space:pre-wrap}.pm-chat-user{align-self:flex-end;background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--elev-1)}.pm-chat-model{align-self:flex-start;background:var(--ai-soft);border-left:2px solid var(--ai-border);color:var(--text-primary);border-top-left-radius:var(--radius-xs);border-bottom-left-radius:var(--radius-xs)}.pm-chat-msg.is-pending{background:var(--warn-soft);border-left-color:var(--warn-border);color:var(--text-secondary)}.pm-chat-turning{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.pm-chat-turning-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.pm-chat-turning-move{font-weight:600;min-width:7ch}.pm-chat-turning-btn{padding:2px var(--space-2);border:1px solid var(--ai-border);border-radius:var(--radius-xs);background:transparent;color:var(--text-primary);font:inherit;font-size:var(--text-xs);cursor:pointer}.pm-chat-turning-btn.is-primary{background:var(--ai-border)}.pm-chat-turning-btn:disabled{opacity:.5;cursor:default}.pm-chat-error{margin:0;font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--danger)}.pm-chat-context{margin:0;font-size:var(--text-2xs);line-height:var(--leading-snug);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-chat-row{display:flex;gap:var(--space-2);flex:0 0 auto}.action-btn.pm-chat-input{flex:1 1 auto;width:auto;min-width:0;text-align:left;font-family:var(--font-body);cursor:text}.action-btn.pm-chat-send{flex:0 0 auto;width:auto}@media (max-width: 1100px){.pm-board-wrapper{width:auto;align-self:center}}@media (pointer: coarse){.pm-move,.pm-turning-item{min-height:44px}.pm-link,.pm-chat-turning-btn{min-height:44px;display:inline-flex;align-items:center}}@media (prefers-reduced-motion: reduce){.pm-drop,.pm-board-wrapper,.pm-scan-fill,.pm-move,.pm-turning-item,.pm-alert{transition:none}}.pm-seat{display:flex;align-items:center;gap:10px;width:var(--ws-board-track, calc(var(--board-size, 440px) + (2 * var(--space-3))));box-sizing:border-box;padding:5px 12px;border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--elev-1);color:var(--text-primary)}.pm-seat-disc{width:20px;height:20px;flex:none;border-radius:50%;box-shadow:var(--inset-1)}.pm-seat-disc.white{background:linear-gradient(180deg,#fff,#c7ccd6)}.pm-seat-disc.black{background:linear-gradient(180deg,#2b313a,#0c0e12)}.pm-seat-identity{display:flex;flex-direction:column;line-height:1.25;min-width:0}.pm-seat-name{font-size:.86rem;font-weight:var(--weight-medium);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-seat-sub{font-size:.7rem;color:var(--text-muted)}.pm-seat-result{margin-left:auto;flex:none;font-size:var(--text-xs);font-weight:var(--weight-medium);padding:2px 8px;border-radius:var(--radius-pill)}.pm-seat-result.is-won{background:var(--surface-active);color:var(--text-primary)}.pm-seat-result.is-lost,.pm-seat-result.is-drew{background:transparent;color:var(--text-muted)}.pm-rotate-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-raised);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-xs);line-height:var(--leading-snug);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.pm-rotate-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.pm-rotate-btn:disabled{color:var(--text-muted);cursor:default}@media (pointer: coarse){.pm-rotate-btn{min-height:44px}}@media (prefers-reduced-motion: reduce){.pm-rotate-btn{transition:none}}.pm-footer-row .pm-status{flex:1 1 auto;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-handoff{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);width:min(100%,720px);min-height:320px;padding:var(--space-10) var(--space-6);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-1);text-align:center;color:var(--text-secondary)}.pm-handoff.is-busy{border:1px solid var(--warn-border)}.pm-handoff.is-error{border:1px solid var(--danger-border)}.pm-handoff-title{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--text-primary)}.pm-handoff-body{margin:0;font-size:var(--text-base);line-height:var(--leading-normal);max-width:42ch}.pm-handoff-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}.actions-profile-link{text-decoration:none;text-align:center}.pm-turning-theirs{color:var(--cp-text-3, var(--text-3));font-weight:400}.pm-key{padding:14px 16px;border-radius:12px;border:1px solid var(--cp-line, var(--line));background:var(--cp-surface-1, var(--surface-raised));box-shadow:var(--cp-emboss-out, none);display:flex;flex-direction:column;gap:8px}.pm-key-move{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pm-key-san{font-family:var(--font-mono);font-size:15px;font-weight:600;color:var(--cp-text-1, var(--text-1))}.pm-key-who{font-size:12px;color:var(--cp-text-3, var(--text-3))}.pm-key-fact{margin:0;font-size:13px;line-height:1.5;color:var(--cp-text-2, var(--text-2))}.pm-key-empty{margin:0;font-size:13px;color:var(--cp-text-3, var(--text-3))}.pm-key-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pm-link{padding:0;border:none;background:none;font:inherit;font-size:12px;color:var(--cp-text-2, var(--text-2));text-decoration:underline;cursor:pointer}.pm-key-next{margin:0;font-size:13px;font-weight:600;line-height:1.5;color:var(--cp-text-1, var(--text-1))}.pm-key-caveat{margin:0;font-size:12px;line-height:1.5;color:var(--cp-text-2, var(--text-2))}.pm-key-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px 14px;margin:0}.pm-key-details div{display:flex;flex-direction:column}.pm-key-details dt{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--cp-text-3, var(--text-3))}.pm-key-details dd{margin:0;font-family:var(--font-mono);font-size:12.5px;color:var(--cp-text-2, var(--text-2))}.pm-facts{display:flex;flex-direction:column;gap:6px;margin:0}.pm-facts div{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:baseline}.pm-facts dt{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--cp-text-3, var(--text-3))}.pm-facts dd{margin:0;font-size:12.5px;color:var(--cp-text-2, var(--text-2));display:flex;flex-wrap:wrap;gap:4px 14px}@media (max-width: 480px){.pm-facts div{grid-template-columns:1fr;gap:2px}}.pm-key .corr-primary{color:var(--cp-bg);background:var(--cp-primary);border-color:var(--cp-primary);font-weight:600}.pf-actions{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 18px}.pf-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.pf-textarea{width:100%;box-sizing:border-box;min-height:110px;margin-bottom:12px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6;resize:vertical}.pf-notice{margin:12px 0 0;font-family:var(--font-body);font-size:12px;color:var(--cp-text-2)}.pf-needed{margin:10px 0 0;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--cp-text-1)}.pf-bar{height:8px;border-radius:999px;background:var(--cp-surface-2);border:1px solid var(--cp-line);overflow:hidden}.pf-bar-fill{height:100%;background:var(--cp-primary);transition:width .4s ease}.pf-findings{display:flex;flex-direction:column;gap:16px;margin-top:14px}.pf-finding{padding:16px;border:1px solid var(--cp-line);border-radius:14px;background:var(--cp-surface-2)}.pf-finding-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.pf-claim{margin:0;flex:1 1 260px;font-family:var(--font-display);font-size:15px;font-weight:600;line-height:1.45;color:var(--cp-text-1)}.pf-desc{margin:0 0 12px;font-family:var(--font-body);font-size:12.5px;line-height:1.6;color:var(--cp-text-2)}.pf-chips{display:flex;flex-wrap:wrap;gap:6px}.pf-chip{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;border:1px solid var(--cp-line);font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap;color:var(--cp-text-2)}.pf-conf-high{color:var(--cp-text-1);border-color:var(--cp-text-3)}.pf-trend-improving{color:var(--cp-success, #6ee7a8);border-color:currentColor}.pf-trend-worsening{color:var(--cp-danger, #f0806c);border-color:currentColor}.pf-evidence{display:flex;flex-wrap:wrap;gap:18px;margin:0 0 14px;padding:10px 0 0;border-top:1px solid var(--cp-line)}.pf-evidence div{display:flex;flex-direction:column;gap:2px}.pf-evidence dt{font-family:var(--font-body);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cp-text-3)}.pf-evidence dd{margin:0;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--cp-text-1)}.pf-examples-title{margin:0 0 6px;font-family:var(--font-body);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cp-text-3)}.pf-example-list{list-style:none;margin:0 0 12px;padding:0}.pf-example{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px solid var(--cp-line)}.pf-example:last-child{border-bottom:none}.pf-example-move{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;font-weight:600;color:var(--cp-text-1)}.pf-example-best{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--cp-text-2)}.pf-example-meta{margin-left:auto;font-family:var(--font-body);font-size:11px;color:var(--cp-text-3)}.pf-check{margin:0;padding:10px 12px;border-radius:10px;background:var(--cp-surface-1);border:1px solid var(--cp-line);font-family:var(--font-body);font-size:12.5px;line-height:1.6;color:var(--cp-text-2)}.pf-check strong{color:var(--cp-text-1)}.pf-games{list-style:none;margin:8px 0 0;padding:0}.pf-game{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 0;border-top:1px solid var(--cp-line)}.pf-game:first-child{border-top:none}.pf-game-main{display:flex;flex-direction:column;gap:2px;flex:1 1 220px;min-width:0}.pf-game-players{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--cp-text-1);overflow-wrap:anywhere}.pf-game-meta{font-family:var(--font-body);font-size:11.5px;color:var(--cp-text-3)}.pf-game-error{font-family:var(--font-body);font-size:11.5px;color:var(--cp-danger, #f0806c)}.pf-state{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--cp-text-3);white-space:nowrap}.pf-state-done{color:var(--cp-text-2)}.pf-state-failed{color:var(--cp-danger, #f0806c)}.pf-remove{flex:0 0 auto}.pm-profile-cta{display:flex;flex-direction:column;align-items:center;gap:6px;margin:18px auto 0;padding:16px;max-width:460px;border:1px dashed var(--cp-line);border-radius:14px;text-align:center;text-decoration:none;color:inherit}.pm-profile-cta:hover{border-color:var(--cp-text-3)}.pm-profile-cta:focus-visible{outline:2px solid var(--cp-primary);outline-offset:2px}.pm-profile-cta-title{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--cp-text-1)}.pm-profile-cta-body{font-family:var(--font-body);font-size:12px;line-height:1.6;color:var(--cp-text-3)}@media (pointer: coarse){.pf-remove,.pm-profile-cta{min-height:44px}}.pf-leftout{margin:10px 0 0;padding:10px 12px;border-radius:10px;border:1px solid var(--cp-warn, var(--cp-line));background:var(--cp-surface-2);font-family:var(--font-body);font-size:12.5px;line-height:1.6;color:var(--cp-text-1)}.pf-evidence-wide{flex-basis:100%}.pf-evidence-wide dd{overflow-wrap:anywhere}.pf-example{display:flex;flex-direction:column;gap:3px}.pf-example-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.pf-example-game{font-family:var(--font-body);font-size:11.5px;color:var(--cp-text-3);overflow-wrap:anywhere}.pf-link{padding:0;border:none;background:none;font:inherit;font-size:11.5px;color:var(--cp-accent, var(--cp-text-2));text-decoration:underline;cursor:pointer}.pf-finding .pf-actions{margin-top:12px}.pf-practice-note{margin:8px 0 0;flex-basis:100%}.pf-progress-count{margin:0 0 4px;font-family:var(--font-display);font-size:22px;color:var(--cp-text-1)}.pf-progress-count strong{font-size:30px}.pf-unlock{margin-top:10px}.pf-unlock>summary{cursor:pointer;list-style:none}.pf-unlock>summary::-webkit-details-marker{display:none}.pf-unlock>p{margin:6px 0 0}.pf-meta{margin:6px 0 0;font-family:var(--font-body);font-size:12.5px;color:var(--cp-text-2)}.pf-seen{margin:2px 0 0;font-size:11.5px;color:var(--cp-text-3);overflow-wrap:anywhere}.pf-rule{margin:12px 0 0;padding:10px 12px;border-radius:10px;border:1px solid var(--cp-line);background:var(--cp-surface-2, var(--cp-surface-1))}.pf-rule-label{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--cp-text-3)}.pf-rule p{margin:3px 0 0;font-size:13px;line-height:1.5;color:var(--cp-text-1)}.pf-finding .pf-actions{align-items:center;flex-wrap:wrap}.pf-chip.pf-practised-passed{color:var(--ok, var(--cp-text-1));border-color:currentColor}.pf-chip.pf-practised-missed{color:var(--warn, var(--cp-text-2));border-color:currentColor}.pf-progress a.acct-btn,.sandbox-practice-card-actions a.acct-btn{text-decoration:none}.pf-pro{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--cp-line);border-radius:14px;background:var(--cp-surface-2)}.pf-pro-text{margin:0;flex:1 1 260px;font-family:var(--font-body);font-size:13px;line-height:1.55;color:var(--cp-text-1)}.pf-pro-active{font-family:var(--font-body);font-size:13px;color:var(--cp-text-2)}.pf-finding-locked{opacity:.75}.pf-finding-locked .pf-desc{margin-bottom:4px}.pf-lesson{margin-top:14px;padding:12px 14px;border-left:2px solid var(--ai, #7fd4ff);border-radius:0 10px 10px 0;background:var(--surface-sunken, #07080a)}.pf-lesson-eyebrow{display:block;margin-bottom:4px;font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted, #89929c)}.pf-lesson-text{margin:0 0 4px;font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--text-primary, #edf1f5)}.pf-failed{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4)}.pf-failed p{margin:0}.pf-clear-failed{flex:none}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--surface-raised);box-shadow:var(--elev-1);transition:color var(--dur-base) var(--ease),background-color var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}.theme-toggle:hover{color:var(--text-primary);background:var(--surface-hover)}.theme-toggle:active{background:var(--surface-active);box-shadow:var(--inset-1)}.theme-toggle-icons{position:relative;display:block;width:18px;height:18px}.theme-toggle-icon{position:absolute;inset:0;width:18px;height:18px;transition:opacity var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}.theme-toggle-sun{opacity:1;transform:rotate(0) scale(1)}.theme-toggle-moon{opacity:0;transform:rotate(-45deg) scale(.7)}:root[data-theme=light] .theme-toggle-sun{opacity:0;transform:rotate(45deg) scale(.7)}:root[data-theme=light] .theme-toggle-moon{opacity:1;transform:rotate(0) scale(1)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]):not([data-theme=light]) .theme-toggle-sun{opacity:0;transform:rotate(45deg) scale(.7)}:root:not([data-theme=dark]):not([data-theme=light]) .theme-toggle-moon{opacity:1;transform:rotate(0) scale(1)}}.acct{display:flex;align-items:center;gap:8px}.acct-who{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--cp-text-2);padding:4px 10px;border-radius:999px;border:1px solid var(--cp-line);background:var(--cp-surface-2);white-space:nowrap}.acct-who-guest{color:var(--cp-text-3)}.acct-btn{width:auto;flex:initial;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--cp-text-2);background:var(--cp-surface-2);border:1px solid var(--cp-line);border-radius:10px;padding:6px 12px;cursor:pointer;white-space:nowrap;box-shadow:var(--cp-emboss-out);transition:color var(--cp-t-fast, .12s) ease,background var(--cp-t-fast, .12s) ease,border-color var(--cp-t-fast, .12s) ease}.acct-btn:hover:not(:disabled){color:var(--cp-text-1);border-color:var(--cp-line-strong, var(--cp-line))}.acct-btn:disabled{opacity:.55;cursor:default}.acct-btn:focus-visible{outline:2px solid var(--cp-primary);outline-offset:2px}.acct-btn-quiet{background:transparent;box-shadow:none;color:var(--cp-text-3)}.acct-btn-primary{color:var(--cp-bg);background:var(--cp-primary);border-color:var(--cp-primary)}.acct-btn-primary:hover:not(:disabled){color:var(--cp-bg);filter:brightness(1.08)}.acct-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.acct-dialog{width:min(380px,100%);box-sizing:border-box;padding:22px;border-radius:16px;border:1px solid var(--cp-line);background:var(--cp-surface-1);box-shadow:var(--cp-emboss-out),0 24px 60px #0000008c;text-align:left}.acct-title{margin:0 0 10px;font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--cp-text-1)}.acct-body{margin:0 0 12px;font-family:var(--font-body);font-size:13px;line-height:1.55;color:var(--cp-text-2)}.acct-body-dim{color:var(--cp-text-3);font-size:12px}.acct-label{display:block;margin:12px 0 5px;font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--cp-text-3)}.acct-input{width:100%;box-sizing:border-box;padding:9px 11px;border-radius:10px;border:1px solid var(--cp-line);background:var(--cp-surface-2);color:var(--cp-text-1);font-family:var(--font-body);font-size:13px;box-shadow:var(--cp-emboss-in)}.acct-input:focus-visible{outline:2px solid var(--cp-primary);outline-offset:1px}.acct-error{margin:12px 0 0;font-family:var(--font-body);font-size:12px;line-height:1.5;color:var(--cp-danger)}.acct-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}@media (pointer: coarse){.acct-btn{min-height:44px}.acct-who{display:inline-flex;align-items:center;min-height:44px}}.acct-about{display:inline-flex;align-items:center;padding:6px 8px;font-family:var(--font-body);font-size:12px;color:var(--cp-text-3);text-decoration:none;border-radius:8px;white-space:nowrap}.acct-about:hover{color:var(--cp-text-1)}.acct-about:focus-visible{outline:2px solid var(--cp-primary);outline-offset:1px}@media (pointer: coarse){.acct-about{min-height:44px;padding:0 10px}}.xi-form{display:flex;flex-direction:column;gap:8px}.xi-sources{display:inline-flex;gap:4px;padding:3px;margin-bottom:8px;border-radius:12px;border:1px solid var(--cp-line);background:var(--cp-surface-2);align-self:flex-start}.xi-source{font-family:var(--font-body);font-size:12px;font-weight:600;padding:6px 14px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--cp-text-3);cursor:pointer}.xi-source[aria-pressed=true]{color:var(--cp-text-1);background:var(--cp-surface-1);border-color:var(--cp-line);box-shadow:var(--cp-emboss-out)}.xi-source:focus-visible{outline:2px solid var(--cp-primary);outline-offset:2px}.xi-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.xi-input{flex:1 1 220px;min-width:0}.xi-note,.xi-notice,.xi-empty,.xi-results-title{margin:4px 0 0;font-family:var(--font-body);font-size:12px;line-height:1.55;color:var(--cp-text-3)}.xi-notice{color:var(--cp-text-1);font-weight:600}.xi-status:empty{display:none}.xi-retry{margin-left:6px;padding:0;border:none;background:none;font:inherit;text-decoration:underline;color:inherit;cursor:pointer}.xi-results-title{margin-top:14px;color:var(--cp-text-2)}.xi-guest-copy{margin:0 0 12px;font-family:var(--font-body);font-size:13px;line-height:1.55;color:var(--cp-text-2)}.xi-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.xi-list{list-style:none;margin:8px 0 0;padding:0;max-height:320px;overflow-y:auto;border:1px solid var(--cp-line);border-radius:12px;background:var(--cp-surface-2)}.xi-game{border-bottom:1px solid var(--cp-line)}.xi-game:last-child{border-bottom:none}.xi-game.is-unsupported{opacity:.55}.xi-game-label{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;cursor:pointer}.xi-game-label input{margin-top:3px;accent-color:var(--cp-primary)}.xi-game-main{display:flex;flex-direction:column;gap:2px;min-width:0}.xi-game-players{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--cp-text-1)}.xi-game-meta{font-family:var(--font-body);font-size:11px;color:var(--cp-text-3);overflow-wrap:anywhere}.xi-prompt-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.xi-prompt{width:min(100%,560px);max-height:calc(100vh - 32px);overflow-y:auto;padding:24px;border-radius:16px;border:1px solid var(--cp-line);background:var(--cp-surface-1);box-shadow:var(--cp-emboss-out),0 24px 60px #0000008c}.xi-prompt-title{margin:0 0 6px;font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--cp-text-1)}.xi-prompt-sub{margin:0 0 18px;font-family:var(--font-body);font-size:13px;line-height:1.55;color:var(--cp-text-2)}.xi-prompt-foot{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid var(--cp-line)}.xi-skip{font-family:var(--font-body);font-size:12px;color:var(--cp-text-3);background:none;border:none;padding:6px 0;cursor:pointer;text-decoration:underline}.xi-skip:hover{color:var(--cp-text-1)}.xi-skip:focus-visible{outline:2px solid var(--cp-primary);outline-offset:2px;border-radius:4px}.ig-source{margin-top:16px}.ig-source:first-of-type{margin-top:0}.ig-source-title{display:flex;align-items:baseline;gap:8px;margin:0 0 6px;font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--cp-text-1)}.ig-source-count{font-family:var(--font-body);font-size:11px;font-weight:500;color:var(--cp-text-3)}.ig-list{list-style:none;margin:0;padding:0;border:1px solid var(--cp-line);border-radius:12px;background:var(--cp-surface-2)}.ig-game{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--cp-line)}.ig-game:last-child{border-bottom:none}.ig-game-main{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:2px}.ig-game-players{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--cp-text-1)}.ig-game-meta{font-family:var(--font-body);font-size:11px;color:var(--cp-text-3);overflow-wrap:anywhere}.ig-state{font-family:var(--font-body);font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--cp-line);color:var(--cp-text-3)}.ig-state.is-analyzed{color:var(--cp-text-1)}.ig-actions{display:flex;flex-wrap:wrap;gap:6px}.ig-pgn{flex-basis:100%;margin:4px 0 0;padding:10px;max-height:220px;overflow:auto;border-radius:10px;border:1px solid var(--cp-line);background:var(--cp-surface-1);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.55;color:var(--cp-text-2);white-space:pre-wrap;overflow-wrap:anywhere}.ig-empty{margin:0;font-family:var(--font-body);font-size:12px;color:var(--cp-text-3)}.ig-evidence{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0 0 12px}.ig-evidence-source{padding:10px 12px;border-radius:12px;border:1px solid var(--cp-line);background:var(--cp-surface-2);font-family:var(--font-body);font-size:12px;color:var(--cp-text-2)}.ig-evidence-source strong{color:var(--cp-text-1);font-family:var(--font-display)}.ig-themes{list-style:none;margin:0;padding:0}.ig-theme{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--cp-line);font-family:var(--font-body);font-size:12px;color:var(--cp-text-2)}.ig-theme:last-child{border-bottom:none}.ig-theme-count{color:var(--cp-text-3);white-space:nowrap}.ig-theme.is-recurring .ig-theme-label{color:var(--cp-text-1);font-weight:600}.ig-more{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px}.ig-more>summary{list-style:none;cursor:pointer}.ig-more>summary::-webkit-details-marker{display:none}.ig-more-actions{display:flex;flex-wrap:wrap;gap:6px}.ig-pgn-wrap{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0}.ig-pgn-wrap .ig-pgn{max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.chess-board-wrapper{flex:none;width:var(--ws-board-track, calc(var(--board-size, 440px) + (2 * var(--space-3))));min-width:280px;aspect-ratio:1;border-radius:var(--radius-md);box-shadow:var(--elev-3);margin:0 auto;background:var(--board-frame);padding:var(--space-3);box-sizing:border-box;position:relative}.chess-board-wrapper.ai-thinking{opacity:.96;pointer-events:none}.ai-thinking-indicator{position:absolute;top:12px;right:12px;background:var(--cp-warn);color:var(--cp-on-warn);border-radius:var(--cp-radius-sm);padding:8px 12px;z-index:10;box-shadow:var(--cp-glow-warn)}.thinking-dots{display:flex;gap:4px;align-items:center}.thinking-dots span{width:4px;height:4px;background:currentColor;border-radius:50%;animation:waiting-wave 1.4s var(--ease) infinite both}.thinking-dots span:nth-child(1){animation-delay:-.32s}.thinking-dots span:nth-child(2){animation-delay:-.16s}.thinking-dots span:nth-child(3){animation-delay:0s}@keyframes waiting-wave{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.thinking-dots.mini span{width:3px;height:3px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.72}}.action-btn{min-height:42px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-xs);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;gap:var(--space-2);background:var(--surface-raised);color:var(--text-secondary);box-shadow:none;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.action-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-strong)}.action-btn:active:not(:disabled){background:var(--surface-active)}.action-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.reset-btn,.exit-btn{background:var(--cp-danger);color:var(--cp-on-danger);box-shadow:var(--cp-glow-danger)}.resume-btn{background:var(--cp-primary);color:var(--cp-on-primary);box-shadow:var(--cp-glow-primary)}.ai-move-btn{background:var(--surface-raised);color:var(--cp-text);box-shadow:var(--cp-emboss-out-sm)}.pause-btn{background:var(--cp-warn);color:var(--cp-on-warn);box-shadow:var(--cp-glow-warn)}.color-switch-btn,.ai-vs-ai-btn,.step-btn{background:var(--surface-raised);color:var(--cp-text);box-shadow:var(--cp-emboss-out-sm)}.board-row{display:flex;align-items:flex-start;gap:14px;flex:0 0 auto}.moves-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-right:10px;flex-shrink:0}.quality-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:2px;cursor:pointer;color:var(--cp-text-dim);font-size:.62rem;font-weight:700;text-transform:none;letter-spacing:0}.quality-toggle:hover{color:var(--cp-text)}.quality-toggle-track{position:relative;width:26px;height:14px;border-radius:var(--cp-radius-sm);background:rgb(var(--cp-sh));box-shadow:var(--cp-emboss-in);transition:background var(--cp-t-base) ease}.quality-toggle-thumb{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--cp-text-dim);transition:transform var(--cp-t-base) ease,background var(--cp-t-base) ease}.quality-toggle-on{color:var(--cp-text)}.quality-toggle-on .quality-toggle-track{background:rgba(var(--cp-primary-rgb),.32)}.quality-toggle-on .quality-toggle-thumb{transform:translate(12px);background:var(--cp-primary)}.move-quality-badge{position:absolute;z-index:5;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:800;line-height:1;letter-spacing:-.02em;box-shadow:0 2px 6px #00000073;border:2px solid rgba(255,255,255,.9);pointer-events:none;animation:quality-badge-pop var(--dur-base) var(--ease-out)}@keyframes quality-badge-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.review-content{display:flex;flex-direction:column;gap:12px;font-size:.8rem;color:var(--cp-text)}.review-accuracy-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-accuracy-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:var(--cp-radius-md);background:var(--surface-sunken);box-shadow:var(--cp-emboss-in)}.review-accuracy-side{font-size:.62rem;text-transform:none;letter-spacing:0;color:var(--cp-text-dim)}.review-accuracy-value{font-size:1.35rem;font-weight:800;line-height:1.1;color:var(--cp-text)}.review-accuracy-sub{font-size:.6rem;color:var(--cp-text-dim)}.review-breakdown{display:flex;flex-direction:column;gap:3px}.review-breakdown-head,.review-breakdown-row{display:grid;grid-template-columns:10px 1fr 30px 30px;gap:8px;align-items:center;padding:3px 6px;border-radius:var(--cp-radius-sm)}.review-breakdown-head{font-size:.58rem;text-transform:none;letter-spacing:0;color:var(--cp-text-dim);padding-bottom:1px}.review-breakdown-head span:nth-child(3),.review-breakdown-head span:nth-child(4){text-align:center}.review-breakdown-row:nth-child(2n){background:var(--row-stripe)}.review-breakdown-dot{width:8px;height:8px;border-radius:50%}.review-breakdown-label{text-transform:capitalize;color:var(--cp-text-dim);font-size:.74rem}.review-breakdown-count{font-weight:700;font-size:.74rem;text-align:center}.review-regrade-btn{padding:8px 10px;border:none;border-radius:var(--cp-radius-md);background:var(--surface-raised);box-shadow:var(--cp-emboss-out);color:var(--cp-text);font-size:.72rem;font-weight:700;text-transform:none;letter-spacing:0;cursor:pointer}.review-regrade-btn:hover:not(:disabled){color:var(--cp-primary)}.review-regrade-btn:active:not(:disabled){box-shadow:var(--cp-emboss-in)}.review-regrade-btn:disabled{opacity:.55;cursor:default}.review-note{margin:0;font-size:.66rem;line-height:1.45;color:var(--cp-text-dim)}.move-quality-tag{margin-left:4px;font-weight:800;font-size:.78em}@media (prefers-reduced-motion: reduce){.move-quality-badge{animation:none}.quality-toggle-track,.quality-toggle-thumb{transition:none}}.moves-panel-title{margin:0;padding:12px 14px;font-size:.7rem;font-weight:700;text-transform:none;letter-spacing:0;color:var(--cp-text-dim);flex-shrink:0}.move-history-row{display:grid;grid-template-columns:22px 1fr 1fr;gap:6px;align-items:center;padding:4px;border-radius:var(--cp-radius-sm);font-size:.8rem;font-family:var(--cp-font-mono);font-variant-numeric:tabular-nums;color:var(--cp-text)}.move-history-row:nth-child(odd){background:var(--row-stripe)}.move-history-number{color:var(--cp-text-dim)}.move-history-white,.move-history-black{border-radius:var(--cp-radius-sm);padding:2px 5px;font-weight:600;text-align:center;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.move-history-white{background:rgb(var(--cp-hi));color:var(--cp-text)}.move-history-black{background:rgb(var(--cp-sh));color:var(--cp-text-dim)}.move-history-current{box-shadow:0 0 0 2px var(--cp-warn)}.move-history-empty{padding:16px 12px;color:var(--cp-text-dim);font-style:italic;font-size:.85rem;text-align:center}.rail-unread-dot,.rail-thinking-dot{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 2px var(--surface)}.rail-unread-dot{background:var(--ai)}.rail-thinking-dot{background:var(--cp-warn);animation:waiting-wave 1.4s var(--ease) infinite both}.rail-canvas-inner{height:100%;overflow-y:auto;padding:16px;box-sizing:border-box}.fade-slide-in{animation:railFadeSlideIn var(--dur-slow) var(--ease-out)}@keyframes railFadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.explanation-content{background:rgb(var(--cp-sh));box-shadow:var(--cp-emboss-in-sm);border-radius:var(--cp-radius-sm);padding:16px;font-size:14px;line-height:1.6;color:var(--cp-text)}.learning-content{background:rgb(var(--cp-sh));box-shadow:var(--cp-emboss-in-sm);border-radius:var(--cp-radius-sm);padding:16px}.learning-content p{margin:0 0 8px;font-size:14px;line-height:1.6;color:var(--cp-text)}.learning-content p:last-child{margin-bottom:0}.chat-canvas-inner{display:flex;flex-direction:column;gap:10px}.chat-messages{flex:1;min-height:0;background:rgb(var(--cp-sh));box-shadow:var(--cp-emboss-in-sm);border-radius:var(--cp-radius-sm);padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.chat-empty{color:var(--cp-text-dim);font-size:13px;font-style:italic;text-align:center;padding:12px 0}.chat-message{max-width:88%;padding:10px 14px;border-radius:var(--cp-radius-md);font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word;animation:messageSlideIn var(--dur-base) var(--ease-out)}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-message-user{align-self:flex-end;background:var(--cp-primary);color:var(--cp-on-primary)}.chat-message-ai{align-self:flex-start;background:rgb(var(--cp-hi));color:var(--cp-text)}.chat-message-pending{opacity:.7}.chat-message-coach{border-left:2px solid var(--ai-border);border-top-left-radius:var(--radius-xs);border-bottom-left-radius:var(--radius-xs)}.chat-error{margin:0;align-self:stretch;font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--danger);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--danger-soft);border:1px solid var(--danger-border);white-space:pre-wrap}.chat-watchout{margin-top:6px;padding:6px 10px;border-left:2px solid var(--ai-border);border-radius:var(--cp-radius-sm);background:var(--ai-soft);font-size:13px;line-height:1.45}.chat-watchout-label{display:block;margin-bottom:2px;font-size:.62rem;font-weight:700;color:var(--ai)}.chat-guided-hint{display:flex;align-items:center;gap:8px;flex-shrink:0;min-height:20px;color:var(--cp-text-dim);font-size:.62rem}.chat-guided-state{font-weight:700}.chat-input-row{display:flex;gap:8px;flex-shrink:0}.chat-input{flex:1;min-width:0;background:rgb(var(--cp-sh));box-shadow:var(--cp-emboss-in-sm);border:none;border-radius:var(--cp-radius-sm);padding:11px 14px;font-size:14px;color:var(--cp-text)}.chat-input:focus{outline:2px solid var(--cp-primary);outline-offset:1px}.chat-input:disabled{opacity:.6}.chat-input::placeholder{color:var(--cp-text-dim)}.chat-send-btn{background:var(--cp-primary);color:var(--cp-on-primary);box-shadow:var(--cp-glow-primary);padding:10px 20px;flex:none}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}@media (max-width: 480px){.chess-container{padding:20px 15px;gap:20px;max-width:100%}.chess-board-wrapper{max-width:calc(100vw - 30px);padding:16px;border-radius:var(--cp-radius-md)}.action-btn{padding:14px 16px;font-size:14px}.ai-column{width:100%;max-width:calc(100vw - 30px);flex-basis:100%}.rail-canvas-content{height:auto;min-height:180px;max-height:60vh}.moves-panel{max-width:calc(100vw - 30px);height:auto;max-height:240px}}@media (max-width: 360px){.chess-container{padding:15px 10px}}.board-stack{display:flex;flex-direction:column;gap:8px}.player-strip{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--cp-radius-sm);background:var(--cp-surface);box-shadow:var(--cp-emboss-out-sm);color:var(--cp-text);border-left:2px solid transparent;transition:border-color var(--dur-base) var(--ease),background-color var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}.player-strip.is-turn{border-left-color:var(--text-secondary);background:var(--surface-raised);box-shadow:var(--elev-2)}.player-strip.is-thinking .player-sub{color:var(--cp-warn)}.player-disc{width:20px;height:20px;flex:none;border-radius:50%;box-shadow:var(--cp-emboss-in-sm)}.player-disc.white{background:linear-gradient(180deg,#fff,#c7ccd6)}.player-disc.black{background:linear-gradient(180deg,#2b313a,#0c0e12)}.player-identity{display:flex;flex-direction:column;line-height:1.25;min-width:0}.player-name{font-size:.86rem;font-weight:600;letter-spacing:.01em}.player-sub{font-size:.7rem;color:var(--cp-text-dim)}.player-captures{margin-left:auto;display:flex;align-items:center;gap:1px;font-size:.95rem;line-height:1;color:var(--cp-text-dim)}.player-edge{font-style:normal;font-size:.7rem;font-weight:700;margin-left:6px;color:var(--cp-text);font-variant-numeric:tabular-nums}.player-accuracy{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;padding-left:12px;margin-left:auto}.player-captures+.player-accuracy{margin-left:0}.player-accuracy em{font-style:normal;font-size:.92rem;font-weight:700;color:var(--cp-primary);font-variant-numeric:tabular-nums}.player-accuracy span{font-size:.62rem;text-transform:none;letter-spacing:0;color:var(--cp-text-dim)}@media (max-width: 560px){.player-sub{font-size:.66rem}.player-captures{font-size:.85rem}}.rail-unread-dot,.rail-thinking-dot{top:3px;right:5px}.chess-container h1,.chess-container h2,.chess-container h3,.chess-container h4,.moves-panel-title{font-family:var(--cp-font-display);font-weight:600;letter-spacing:.01em;text-wrap:balance}.moves-panel-title{font-size:.82rem;letter-spacing:0;text-transform:none;color:var(--cp-text-dim);margin:0}.move-history-number,.player-accuracy em,.player-edge,.review-accuracy-value,.game-strip-where{font-variant-numeric:tabular-nums}.move-history-number{font-family:var(--cp-font-mono)}.chess-container :is(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--cp-primary);outline-offset:2px;border-radius:var(--cp-radius-sm)}.rail-icon-btn,.action-btn,.review-regrade-btn,.quality-toggle-label,.game-switch{transition:background var(--cp-t-base) var(--cp-ease),color var(--cp-t-base) var(--cp-ease),box-shadow var(--cp-t-base) var(--cp-ease),transform var(--cp-t-fast) var(--cp-ease)}.action-btn:active,.rail-icon-btn:active{transform:translateY(1px)}.chess-container button:disabled{opacity:.45;cursor:not-allowed;transform:none}.moves-panel,.rail-canvas-inner{padding:18px}.explanation-content,.chat-message{max-width:62ch}.rail-unread-dot,.rail-thinking-dot{top:4px;right:4px}@media (pointer: coarse){.action-btn,.review-regrade-btn{min-height:44px}.quality-toggle{min-height:44px;padding-inline:var(--space-2)}}.chat-canvas-inner{height:100%;min-height:0}.chat-messages{scroll-padding-bottom:8px}.rail-canvas-inner{flex:1 1 auto;min-height:0;height:auto;overflow-y:auto;display:flex;flex-direction:column;scroll-padding-bottom:var(--space-3)}.chat-canvas-inner{height:100%;flex:1 1 auto;min-height:0}.chat-messages{flex:1 1 auto;min-height:0}.chat-input-row{flex:0 0 auto}.chat-input-row .chat-send-btn{flex:0 0 auto;padding-inline:var(--space-4)}.chat-input-row .chat-input{min-height:42px}.reset-btn{background:var(--cp-surface);color:var(--cp-text);box-shadow:var(--cp-emboss-out-sm)}.reset-btn:hover:not(:disabled){background:var(--surface-hover);box-shadow:var(--cp-emboss-out-sm)}.exit-btn{background:var(--cp-danger);color:var(--cp-on-danger)}.rail-canvas-inner>p:only-child,.explanation-content:empty+p{text-align:center}.move-history-current{box-shadow:0 0 0 1.5px rgba(var(--cp-primary-rgb),.85);border-radius:var(--cp-radius-sm)}.board-row{display:flex;align-items:flex-start;gap:var(--space-3);width:100%}.board-stack{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;flex:1 1 auto}.game-strip{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:22px;font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--text-muted)}.game-strip-where{font-variant-numeric:tabular-nums}.ai-column{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.rail-canvas-panel{flex:1 1 auto;min-height:0;gap:var(--space-3)}.rail-canvas-content{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-md);box-shadow:var(--inset-1);overflow:hidden;position:relative}.moves-panel{display:flex;flex-direction:column;flex:0 0 200px;min-height:0;width:100%;background:var(--surface-sunken);border-radius:var(--radius-md);box-shadow:var(--inset-1);overflow:hidden}.move-history-list{flex:1 1 auto;min-height:0;overflow-y:auto;scroll-padding-bottom:var(--space-2)}.rail-label{display:block;width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1100px){.ai-column{max-width:100%}.rail-canvas-content{min-height:320px}.moves-panel{flex:0 0 auto;max-height:320px}}.game-vs{color:var(--text-primary)}.game-alert{flex:0 1 auto;padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);font-weight:var(--weight-medium);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;transition:background-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease)}.game-alert.is-quiet{color:var(--text-muted);background:transparent}.game-alert.is-warn{color:var(--warn);background:var(--warn-soft)}.game-alert.is-danger{color:var(--danger);background:var(--danger-soft)}.game-switch{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;white-space:nowrap;color:var(--text-muted);transition:color var(--dur-fast) var(--ease)}.game-switch:hover{color:var(--text-primary)}.game-switch input{width:14px;height:14px;accent-color:var(--ai);cursor:pointer;flex:none}@media (pointer: coarse){.game-switch{min-height:44px}.game-switch input{width:20px;height:20px}}@media (prefers-reduced-motion: reduce){.game-alert,.game-switch{transition:none}}.rail-icon-btn{position:relative;padding:var(--space-2) var(--space-1);font-size:var(--text-xs);min-width:0}.move-quality-badge{position:absolute}.chat-canvas-inner.rail-canvas-inner{padding:0;gap:var(--space-2)}.chat-messages{padding:var(--space-1) var(--space-1) var(--space-2);background:transparent;box-shadow:none;border-radius:0;gap:var(--space-2)}.chat-message{max-width:92%;padding:var(--space-2) var(--space-3);font-size:15px;line-height:1.55}.chat-message-ai{background:var(--surface-raised);border:1px solid var(--border-soft)}.chat-message-user{background:var(--ai-soft);color:var(--text-primary);border:1px solid var(--ai-border)}.chat-watchout{font-size:14px}.chat-watchout-label{font-size:var(--text-2xs)}.chat-guided-hint{min-height:24px;font-size:var(--text-xs)}.chat-input-row .chat-input{background:var(--surface-raised);border:1px solid var(--border);box-shadow:none;border-radius:var(--radius-xs);font-size:15px}.chat-input:focus{outline:none;border-color:var(--ai)}.chat-send-btn{box-shadow:none}.progress-loop{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-left:3px solid var(--ai);border-radius:var(--radius-sm);background:var(--surface-raised)}.progress-loop-title{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-medium);line-height:1.25;color:var(--text-primary)}.progress-loop-body{margin:0;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-secondary)}.progress-loop-facts{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-1) 0 0;padding-top:var(--space-2);border-top:1px solid var(--border-soft)}.progress-loop-facts div{display:flex;flex-direction:column;gap:1px}.progress-loop-facts dt{font-size:var(--text-xs);color:var(--text-muted)}.progress-loop-facts dd{margin:0;font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--text-primary)}.progress-loop-sub{color:var(--text-muted)}.progress-loop-link{color:var(--ai)}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text-primary);font-family:var(--font-body)}.app-header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--border)}html{scroll-padding-top:80px}@media (max-width: 760px){html{scroll-padding-top:116px}}.app-header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-4);max-width:1320px;margin:0 auto;padding:var(--space-3) var(--space-5)}.app-wordmark{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:-.01em;color:var(--text-primary);justify-self:start}.app-brand{justify-self:start;display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-1) var(--space-3);min-width:0}.app-home-link{font-size:var(--text-xs);color:var(--text-muted);text-decoration:none;white-space:nowrap}.app-home-link:hover{color:var(--text-primary);text-decoration:underline}@media (pointer: coarse){.app-home-link{min-height:44px;display:inline-flex;align-items:center}}.app-modes{justify-self:center;display:inline-flex;gap:var(--space-1);padding:3px;border-radius:var(--radius-sm);background:var(--surface-sunken);box-shadow:var(--inset-1)}.app-mode{padding:var(--space-2) var(--space-4);border-radius:var(--radius-xs);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug);color:var(--text-secondary);background:transparent;transition:color var(--dur-base) var(--ease),background-color var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}.app-mode:hover:not([aria-current]){color:var(--text-primary);background:var(--surface-hover)}.app-mode[aria-current]{color:var(--text-primary);background:var(--surface-raised);box-shadow:var(--elev-1)}.app-focus-note{align-self:center;flex:1 1 auto;min-width:0;padding:0 var(--space-3) 0 var(--space-2);font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-snug)}.app-modes:has(.app-focus-note) .app-mode{flex:0 0 auto}.app-focus-note a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px}.app-focus-note a:hover,.app-focus-leave:hover{color:var(--text-primary)}.app-focus-leave{padding:0;border:0;background:none;font:inherit;color:var(--text-muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.app-header-actions{justify-self:end;display:inline-flex;align-items:center;gap:var(--space-2)}.app-main{flex:1;display:flex;justify-content:center;align-items:flex-start}.app-mode-pane{width:100%}.app-mode-pane[hidden]{display:none}.app-mode-pane-fill{align-self:stretch;display:flex;flex-direction:column}.app-mode-pane-fill[hidden]{display:none}@media (pointer: coarse){.app-mode{min-height:44px;padding-inline:var(--space-5)}.theme-toggle{width:44px;height:44px}}@media (max-width: 760px){.app-header-inner{grid-template-columns:auto auto;grid-template-areas:"brand actions" "modes modes";gap:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4)}.app-brand{grid-area:brand;min-width:0}.app-header-actions{grid-area:actions;justify-self:end}.app-modes{grid-area:modes;justify-self:stretch;min-width:0}.app-mode{flex:1 1 0;min-width:0;padding-inline:var(--space-2)}}@media (max-width: 460px){.app-header-inner{padding-inline:var(--space-3)}.app-wordmark{font-size:var(--text-sm)}.acct-who-guest{display:none}.acct-btn{padding-inline:var(--space-2)}.acct-user{max-width:88px;overflow:hidden;text-overflow:ellipsis}}.pm,.chess-container,.sandbox{background:var(--bg)}.app-header{background:var(--surface)}.app-wordmark{font-weight:var(--weight-medium);font-size:1.15rem;letter-spacing:-.005em}.pm-empty{gap:var(--space-4)}.pm-drop{min-height:0;padding:var(--space-8) var(--space-6);gap:var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:none}.pm-drop:hover:not(:disabled){background:var(--surface);border-color:var(--accent)}.pm-drop.is-over{background:var(--ai-soft);border-color:var(--accent);border-style:solid}.pm-drop-title{font-family:var(--font-display);font-size:1.6rem;font-weight:var(--weight-regular);line-height:1.2;letter-spacing:-.01em;color:var(--text-primary)}.pm-drop-body{max-width:44ch;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-secondary)}.pm-drop-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:var(--space-2);min-height:44px;padding:0 var(--space-6);border:1px solid var(--accent-strong);border-radius:var(--radius-xs);background:var(--accent);color:var(--text-inverse);font-size:var(--text-base);font-weight:var(--weight-semibold);transition:background-color var(--dur-fast) var(--ease)}.pm-drop:hover:not(:disabled) .pm-drop-cta{background:var(--accent-strong)}.pm-drop-note,.pm-drop-fine{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-muted)}.pm-drop-fine{margin-top:calc(-1 * var(--space-2))}.pm-empty-promise{margin:0;max-width:48ch;text-align:center;font-family:var(--font-display);font-style:italic;font-size:var(--text-md);line-height:1.5;color:var(--text-soft, var(--text-secondary))}.pm-empty-hint{font-size:var(--text-sm);color:var(--text-muted)}.pm-privacy{max-width:56ch;text-align:center;font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--text-muted)}.pm-privacy summary{display:inline-block;cursor:pointer;text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px;color:var(--text-muted)}.pm-privacy summary:hover{color:var(--text-primary)}.pm-privacy[open] summary{margin-bottom:var(--space-2)}.pm-privacy p{margin:0}@media (pointer: coarse){.pm-privacy summary{min-height:44px;display:inline-flex;align-items:center}}.pm-profile-cta{border:1px solid var(--border);background:var(--surface)}.pm-profile-cta-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-regular)}.pm-canvas-header{gap:2px}.pm-canvas-sub{padding-inline:0}.pm-canvas-inner{padding:var(--space-2) var(--space-3) var(--space-3);gap:var(--space-2)}.pm-report{gap:var(--space-3)}.pm-scan.is-idle{display:none}.pm-key{padding:var(--space-3) var(--space-4)}.pm-chat-context{padding-top:0}.corr-panel{padding:var(--space-2) var(--space-1) var(--space-3);gap:var(--space-4)}.corr-progress{min-height:1.6em;margin-top:0}.pm-moves{padding-top:0}.pm-eval-toggle.is-on{background:var(--ai-soft);border-color:var(--ai);color:var(--text-primary)}.pm-save-done{display:inline-flex;align-items:center;min-height:42px;padding:0 var(--space-3);border:1px solid var(--success-border);border-radius:var(--radius-xs);background:var(--success-soft);color:var(--success);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap}.actions-item.pm-lens-item{grid-template-columns:auto minmax(0,1fr)}.level-picker-note{margin:0 0 var(--space-1);padding:var(--space-2) var(--space-3) var(--space-2);border-bottom:1px solid var(--border-soft);font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--text-muted)}.corr-card{gap:var(--space-3)}.corr-card-head{padding-bottom:0;border-bottom:0}.corr-status{margin:0}.corr-card .corr-fineprint{margin-top:calc(-1 * var(--space-2))}.corr-zone+.corr-zone{padding-top:var(--space-2);border-top:1px solid var(--border-soft)}.corr-zone-move .corr-stronger{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--ai)}.corr-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-2)}.corr-card-actions .action-btn{flex:1 1 auto}.corr-panel .corr-card-actions .corr-primary{width:auto}.corr-zone-engine{font-size:var(--text-xs);color:var(--text-muted)}.corr-zone-engine .corr-engine-list{margin:0;padding-left:1.1em;font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--text-muted)}.corr-zone-engine strong{color:var(--text-secondary);font-weight:var(--weight-medium)}.corr-meta{font-size:var(--text-xs)}.corr-respond{align-items:center;gap:var(--space-2)}.corr-respond-label{font-size:var(--text-xs);color:var(--text-muted);margin-right:var(--space-1)}.corr-respond .corr-chip{min-height:32px;font-size:var(--text-xs)}.corr-chip-status.is-saved{color:var(--success);background:var(--success-soft);border-color:var(--success-border)}.corr-chip-status.is-session{color:var(--text-secondary);background:var(--surface-sunken);border-color:var(--border)}.corr-try.corr-practice-none{padding-top:var(--space-3)}.corr-practice-actions .action-btn{text-decoration:none}html .pf-progress-lede{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:1.25rem;line-height:1.3;color:var(--text-primary)}html .pf-lesson{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-left:3px solid var(--ai);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--surface-raised)}html .pf-lesson+.pf-lesson{margin-top:var(--space-2)}html .pf-lesson-rule{margin:var(--space-1) 0 0;font-family:var(--font-display);font-style:italic;font-size:var(--text-md);line-height:1.45;color:var(--text-secondary)}html .pf-lesson-rule .pf-rule-label{display:block;font-family:var(--font-body);font-style:normal;font-size:var(--text-xs);letter-spacing:0;text-transform:none;color:var(--text-muted)}.pf-needed{margin-top:var(--space-3)}.corr-zone-label,.pf-rule-label,.pm-key-details dt,.pm-facts dt{font-size:var(--text-xs);letter-spacing:0;text-transform:none;color:var(--text-muted)}.corr-zone-text,.corr-diagnosis{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-primary)}.corr-zone-rule{padding:var(--space-3) var(--space-4);background:var(--warn-soft);border-left:3px solid var(--warn);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.corr-zone-rule.corr-zone{border-top:0;margin-top:var(--space-1)}.corr-zone-rule .corr-rule{font-family:var(--font-display);font-style:italic;font-size:1.05rem;line-height:1.45}.corr-card-title{margin:0;font-family:var(--font-display);font-size:1.4rem;font-weight:var(--weight-regular);line-height:1.2;letter-spacing:-.01em;color:var(--text-primary)}.corr-card-sub{margin:0;font-family:var(--font-display);font-style:italic;font-size:var(--text-md);color:var(--text-muted)}.corr-card-lede{display:flex;flex-direction:column;gap:2px}html .pf-lesson-eyebrow{font-size:var(--text-xs);color:var(--text-muted)}html .acct-label,html .sandbox-ply-source,html .sandbox-practice-card-label,html .beta-eyebrow,html .beta-label,html .auth-brand,html .auth-divider,html .pf-evidence dt,html .pf-examples-title,html .pf-lesson-eyebrow,html .pf-rule-label{text-transform:none;letter-spacing:0}html .auth-brand{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-medium)}html .beta-eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.02em}html .pf-page-sub{margin:calc(-1 * var(--space-2)) 0 var(--space-4);text-align:center}html .settings-nav{gap:4px}html .settings-nav a{padding:4px 7px;border-radius:var(--radius-xs);font-size:var(--text-xs)}@media (max-width: 640px){.app{overflow-x:clip}.app-header-inner{gap:var(--space-2) var(--space-3);padding-inline:var(--space-3)}.app-header-actions{gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end}.acct{gap:4px}.acct-btn,.acct-who{padding-inline:8px}.acct-about{padding-inline:4px}.chess-container,.sandbox,.pm{--ws-eval-slot: 0px;--ws-board-track: 100%;padding-inline:var(--space-3)}.board-column,.sandbox-board-column,.pm-board-column{width:100%;max-width:none;padding-left:0}.chess-board-wrapper,.sandbox-board-wrapper,.pm-board-wrapper{width:calc(100% + 2 * var(--space-3));min-width:0;max-width:none;margin-inline:calc(-1 * var(--space-3));padding:0;border:0;border-radius:0;box-shadow:none;outline:0}.pm-board-wrapper.is-branch,.pm-board-wrapper.is-thinking{box-shadow:inset 0 3px 0 var(--warn)}.chess-board-wrapper,.sandbox-board-wrapper,.pm-board-wrapper{display:flex;flex-direction:column}.eval-bar{position:relative;top:auto;right:auto;order:1;width:100%;height:10px;margin:var(--space-1) 0 18px;border-radius:0;border-left:0;border-right:0;box-shadow:none}.eval-bar-fill{transform-origin:left;transform:scaleX(var(--eval-share, .5))}.eval-bar.is-flipped .eval-bar-fill{transform-origin:right}.eval-bar-label{top:calc(100% + 2px);left:auto;right:var(--space-3);width:auto;transform:none;text-align:right}.board-endstate{bottom:32px}.pm-controls>.action-btn,.sandbox-controls>.action-btn,.game-transport>.action-btn{padding-inline:var(--space-1);font-size:var(--text-xs)}.pm-controls>.pm-nav-btn{min-width:0}.ws-meta{flex-wrap:wrap;row-gap:var(--space-1)}.pm-tabs,.sandbox-tabs,.rail-stack{flex-wrap:wrap}.pm-tab,.sandbox-tab,.rail-icon-btn{flex:1 1 auto;min-width:0;padding-inline:var(--space-1);font-size:var(--text-xs)}.level-picker-trigger{max-width:calc(100vw - 2 * var(--space-4))}.level-picker-current{overflow:hidden;text-overflow:ellipsis}}@media (max-width: 380px){.app-header-inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "actions" "modes"}.app-header-actions{justify-content:flex-start}}.site-footer{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:24px auto 0;padding:0 4px;font-family:var(--font-body);font-size:12px;color:var(--cp-text-3)}.site-footer-link{color:var(--cp-text-3);text-decoration:none;border-bottom:1px solid transparent;padding:12px 4px}.site-footer-link:hover{color:var(--cp-text-1);border-bottom-color:var(--cp-line-strong, var(--cp-line))}.site-footer-link:focus-visible{outline:2px solid var(--cp-primary);outline-offset:2px;border-radius:4px}.site-footer-sep{color:var(--cp-text-3);opacity:.6}.site-footer-version{margin-left:4px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.04em;color:var(--cp-text-3)}.auth-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:32px 20px;box-sizing:border-box;background:var(--cp-bg, #0a0b0d)}.auth-card{width:min(420px,100%);box-sizing:border-box;padding:28px;border-radius:18px;border:1px solid var(--cp-line);background:var(--cp-surface-1);box-shadow:var(--cp-emboss-out),0 24px 60px #0000008c}.auth-brand{margin:0 0 18px;font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--cp-text-3)}.auth-title{margin:0 0 6px;font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--cp-text-1)}.auth-sub{margin:0 0 20px;font-family:var(--font-body);font-size:13px;line-height:1.55;color:var(--cp-text-2)}.auth-form{display:flex;flex-direction:column}.auth-submit{width:100%;justify-content:center;margin-top:20px;min-height:40px}.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0;font-family:var(--font-body);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--cp-text-3)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--cp-line)}.auth-google{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;min-height:40px}.auth-google svg{width:16px;height:16px;flex:none}.auth-alt{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--cp-line);font-family:var(--font-body);font-size:13px;color:var(--cp-text-2);text-align:center}.auth-link{color:var(--cp-primary);text-decoration:none;font-weight:600}.auth-link:hover{text-decoration:underline}.auth-link:focus-visible{outline:2px solid var(--cp-primary);outline-offset:2px;border-radius:4px}.auth-minor{display:inline-block;margin-top:10px;font-family:var(--font-body);font-size:12px;color:var(--cp-text-3);text-decoration:none}.auth-minor:hover{color:var(--cp-text-2);text-decoration:underline}.auth-note{margin:0 0 20px;padding:11px 13px;border-radius:10px;border:1px solid var(--cp-line);background:var(--cp-surface-2);font-family:var(--font-body);font-size:12px;line-height:1.55;color:var(--cp-text-2)}.auth-ok{margin:12px 0 0;font-family:var(--font-body);font-size:12px;line-height:1.5;color:var(--cp-primary)}.settings-page{min-height:100vh;min-height:100dvh;padding:32px 20px 64px;box-sizing:border-box;background:var(--cp-bg, #0a0b0d)}.settings-shell{width:min(620px,100%);margin:0 auto}.settings-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px}.settings-nav{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:4px 6px;margin:-8px 0 16px;padding:8px 0;background:var(--cp-bg)}.settings-nav a{padding:5px 8px;border:1px solid var(--cp-line);border-radius:999px;font-size:12px;color:var(--cp-text-2);text-decoration:none;white-space:nowrap}.settings-nav a:hover{color:var(--cp-text-1)}.settings-nav a.is-danger{color:var(--danger, var(--cp-text-2))}.settings-h1{margin:0;font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--cp-text-1)}.settings-card{padding:22px;border-radius:16px;border:1px solid var(--cp-line);background:var(--cp-surface-1);box-shadow:var(--cp-emboss-out);margin-bottom:18px}.settings-card-title{margin:0 0 4px;font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--cp-text-1)}.settings-card-sub{margin:0 0 18px;font-family:var(--font-body);font-size:12px;line-height:1.55;color:var(--cp-text-3)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--cp-line)}.settings-row:first-of-type{border-top:none}.settings-row-label{font-family:var(--font-body);font-size:13px;color:var(--cp-text-1)}.settings-row-hint{display:block;margin-top:2px;font-size:11.5px;line-height:1.45;color:var(--cp-text-3)}.settings-row-value{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;color:var(--cp-text-2);text-align:right;overflow-wrap:anywhere}.settings-row-value-empty{font-family:var(--font-body);font-style:italic;color:var(--cp-text-3)}.settings-check{width:18px;height:18px;flex:none;accent-color:var(--cp-primary);cursor:pointer}.settings-select{padding:7px 10px;border-radius:9px;border:1px solid var(--cp-line);background:var(--cp-surface-2);color:var(--cp-text-1);font-family:var(--font-body);font-size:13px;box-shadow:var(--cp-emboss-in)}.settings-select:focus-visible{outline:2px solid var(--cp-primary);outline-offset:1px}.settings-danger{border-color:color-mix(in srgb,var(--cp-danger) 40%,var(--cp-line))}.settings-danger .settings-card-title{color:var(--cp-danger)}.settings-saved{font-family:var(--font-body);font-size:12px;color:var(--cp-text-3)}@media (pointer: coarse){.auth-submit,.auth-google,.settings-select{min-height:44px}.settings-check{width:22px;height:22px}}.acct-hint{margin:-8px 0 14px;font-family:var(--font-body);font-size:12px;line-height:1.5;color:var(--cp-text-3)}.settings-list{margin:0 0 14px;padding-left:20px;font-family:var(--font-body);font-size:13px;line-height:1.7;color:var(--cp-text-2)}.settings-list li{margin:0}@media (pointer: coarse){.auth-link,.auth-minor{display:inline-block;padding:13px 4px}.auth-minor{margin-top:0}}.admin-shell{width:min(880px,100%)}.admin-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0 18px}.admin-tile{margin:0;padding:16px 18px;display:flex;flex-direction:column;gap:4px}.admin-tile-value{font-family:var(--font-mono);font-size:26px;font-weight:600;color:var(--cp-text-1)}.admin-tile-label{font-family:var(--font-body);font-size:12px;color:var(--cp-text-3)}.admin-sub{margin:18px 0 8px;font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--cp-text-2)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;color:var(--cp-text-2)}.admin-table th,.admin-table td{padding:7px 8px;text-align:left;border-top:1px solid var(--cp-line);white-space:nowrap}.admin-table th{color:var(--cp-text-3);font-weight:500;border-top:none}.admin-funnel{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.admin-funnel-step{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;border:1px solid var(--cp-line);background:var(--cp-surface-2, var(--cp-surface-1))}.admin-funnel-step .admin-tile-value{font-size:20px}.settings-invite{padding-top:10px;border-top:1px solid var(--cp-line)}.settings-invite>summary{cursor:pointer;list-style:none}.settings-invite>summary::-webkit-details-marker{display:none}.settings-invite-form{display:flex;gap:8px;margin-top:10px}.settings-invite-form .acct-input{flex:1;min-width:0}@media (max-width: 480px){.settings-head{flex-wrap:wrap;gap:6px 12px}.settings-h1{font-size:19px}}.billing-plans{display:grid;gap:8px 16px;margin:12px 0 0;font-family:var(--font-body);font-size:12.5px;line-height:1.5}.billing-plans dt{font-weight:600;color:var(--cp-text-1)}.billing-plans dd{margin:0;color:var(--cp-text-2)}.settings-row:has(>.settings-piece-picker){flex-direction:column;align-items:stretch}.settings-piece-picker{max-width:420px}.beta-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:40px 20px;box-sizing:border-box;background:var(--bg, #0a0b0d)}.beta-card{width:min(560px,100%);box-sizing:border-box;padding:32px;border-radius:18px;border:1px solid var(--border, rgba(255, 255, 255, .08));background:var(--surface, #121419);box-shadow:var(--cp-emboss-out, 0 8px 24px rgb(0 0 0 / 18%))}.beta-wordmark{margin:0;font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary, #edf1f5)}.beta-eyebrow{margin:8px 0 20px;display:inline-block;font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ai, #7fd4ff);border:1px solid var(--ai-border, rgba(127, 212, 255, .32));background:var(--ai-soft, rgba(127, 212, 255, .12));border-radius:999px;padding:4px 10px}.beta-title{margin:0 0 12px;font-family:var(--font-display);font-size:24px;font-weight:600;letter-spacing:-.01em;line-height:1.3;color:var(--text-primary, #edf1f5)}.beta-value{max-width:52ch;margin:0 0 18px;font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--text-secondary, #a8b2bd)}.beta-loop{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:0 0 24px;padding:1px;list-style:none;border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:10px;background:var(--border, rgba(255, 255, 255, .08));overflow:hidden}.beta-loop li{position:relative;padding:9px 4px;font-family:var(--font-body);font-size:11.5px;font-weight:600;text-align:center;color:var(--text-primary, #edf1f5);background:var(--surface-sunken, #07080a)}.beta-loop li:not(:last-child):after{content:"→";position:absolute;z-index:1;right:-7px;color:var(--text-muted, #89929c)}.beta-access-title{margin:0 0 10px;font-family:var(--font-display);font-size:15px;font-weight:600;line-height:1.4;color:var(--text-primary, #edf1f5)}.beta-body{margin:0 0 12px;font-family:var(--font-body);font-size:13.5px;line-height:1.6;color:var(--text-secondary, #a8b2bd)}.beta-form{display:flex;flex-direction:column;margin-top:24px}.beta-label{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted, #89929c);margin-bottom:8px}.beta-field{display:flex;align-items:center;width:100%;box-sizing:border-box;background:var(--surface-sunken, #07080a);border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:12px;padding:16px 14px;box-shadow:var(--cp-emboss-in, inset 0 1px 2px rgb(0 0 0 / 12%));transition:border-color .14s ease,box-shadow .14s ease}.beta-field:focus-within{border-color:var(--ai-border, rgba(127, 212, 255, .32));box-shadow:0 0 0 3px var(--ai-soft, rgba(127, 212, 255, .12))}.beta-field:has(.beta-input[aria-invalid=true]){border-color:var(--danger, #ff6b7a)}.beta-prefix{flex:none;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:19px;font-weight:500;letter-spacing:.08em;color:var(--text-muted, #89929c);-webkit-user-select:none;user-select:none}.beta-input{flex:1;min-width:0;box-sizing:border-box;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:19px;font-weight:500;letter-spacing:.08em;color:var(--text-primary, #edf1f5);background:transparent;border:0;padding:0;outline:none}.beta-input::placeholder{color:var(--text-muted, #89929c);opacity:.5;letter-spacing:.08em}.beta-hint{margin:10px 0 0;font-family:var(--font-body);font-size:12px;line-height:1.5;color:var(--text-muted, #89929c)}.beta-error{margin:12px 0 0;font-family:var(--font-body);font-size:12.5px;line-height:1.5;color:var(--danger, #ff6b7a)}.beta-submit{width:100%;justify-content:center;margin-top:20px;min-height:44px;font-size:13px}.beta-alt{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--border, rgba(255, 255, 255, .08));font-family:var(--font-body);font-size:13px;color:var(--text-secondary, #a8b2bd);text-align:center}.beta-link,.beta-footer-link{color:var(--text-primary, #edf1f5);text-decoration:none;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08));transition:color .14s ease,border-color .14s ease}.beta-link:hover,.beta-footer-link:hover{color:var(--ai, #7fd4ff);border-bottom-color:var(--ai-border, rgba(127, 212, 255, .32))}.beta-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-size:12px;color:var(--text-muted, #89929c)}.beta-footer-link{color:var(--text-muted, #89929c);border-bottom-color:transparent}.beta-footer-sep{color:var(--text-muted, #89929c);opacity:.5}.beta-footer-version{width:100%;text-align:center;margin-top:4px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.04em;color:var(--text-muted, #89929c);opacity:.6}.beta-doc{width:min(680px,100%);text-align:left}.beta-doc h2{margin:26px 0 8px;font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-primary, #edf1f5)}.beta-doc h2:first-of-type{margin-top:20px}.beta-doc p,.beta-doc li{font-family:var(--font-body);font-size:13.5px;line-height:1.65;color:var(--text-secondary, #a8b2bd)}.beta-doc ul{margin:8px 0;padding-left:20px}.beta-doc li{margin-bottom:6px}.beta-doc-meta{margin-top:26px;padding-top:16px;border-top:1px solid var(--border, rgba(255, 255, 255, .08));font-size:12px;color:var(--text-muted, #89929c)}@media (max-width: 520px){.beta-card{padding:24px 20px}.beta-field{padding:14px 12px}.beta-input,.beta-prefix{font-size:16px;letter-spacing:.04em}.beta-title{font-size:21px}.beta-loop{grid-template-columns:1fr}.beta-loop li:after{display:none}}.home{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal)}.home-wrap{width:100%;max-width:1160px;margin:0 auto;padding-inline:var(--space-6);box-sizing:border-box}.home-bar{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--border)}.home-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:60px}.home-wordmark{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-medium);letter-spacing:-.005em}.home-bar-nav{display:inline-flex;align-items:center;gap:var(--space-4)}.home-bar-link{padding:0;border:0;background:none;font-family:inherit;color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);cursor:pointer}.home-bar-link:hover{color:var(--text-primary)}.home-bar-cta{text-decoration:none}.home-hero{border-bottom:1px solid var(--border)}.home-hero-inner{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:var(--space-10);padding-block:var(--space-16) var(--space-12)}.home-eyebrow{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--text-muted)}.home-title{margin:0;max-width:22ch;font-family:var(--font-display);font-size:clamp(2rem,1.2rem + 2.6vw,3.4rem);font-weight:var(--weight-regular);line-height:var(--leading-tight);letter-spacing:-.015em;color:var(--text-primary)}.home-subhero{margin:var(--space-6) 0 0;max-width:56ch;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--text-secondary)}.home-ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}.home-cta{min-height:46px;padding:var(--space-2) var(--space-6);font-size:var(--text-base);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.home-fine{margin:var(--space-4) 0 0;font-size:var(--text-xs);color:var(--text-muted)}.home-hero-art{position:relative;padding:0 var(--space-6) var(--space-8) 0}.home-board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden;background:var(--board-light)}.home-sq{display:block;background:var(--board-light)}.home-sq.is-dark{background:var(--board-dark)}.home-sq.is-mark{background:var(--sq-last)}.home-sq svg{display:block;width:100%;height:100%}.home-card-float{position:absolute;right:0;bottom:0;display:grid;gap:var(--space-1);max-width:60%;padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.home-card-kicker{font-size:var(--text-xs);color:var(--text-muted)}.home-card-line{font-family:var(--font-display);font-size:var(--text-md);line-height:1.35;color:var(--text-primary)}.home-section{padding-block:var(--space-12);border-bottom:1px solid var(--border)}.home-section-alt{background:var(--surface)}.home-h2{margin:0;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-regular);line-height:var(--leading-tight);letter-spacing:-.01em;color:var(--text-primary)}.home-section-lede{margin:var(--space-3) 0 var(--space-8);max-width:56ch;color:var(--text-secondary)}.home-section p{color:var(--text-secondary)}.home-split p{margin:var(--space-4) 0 0;max-width:52ch}.home-split em{color:var(--text-primary);font-style:italic}.home-steps{margin:0;padding:0;list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8) var(--space-8)}.home-steps li{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;column-gap:var(--space-3);row-gap:var(--space-2);counter-increment:step}.home-steps li:before{content:counter(step);grid-row:span 2;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-base)}.home-steps strong,.home-tile strong,.home-tiers strong{font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--text-primary)}.home-steps span,.home-tile span,.home-tiers span{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-secondary)}.home-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.home-tile,.home-tier{display:grid;gap:var(--space-2);align-content:start;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg)}.home-tier{width:100%;box-sizing:border-box;font:inherit;text-align:left;text-decoration:none;color:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.home-tier:hover,.home-tier:focus-visible{border-color:var(--accent);background:var(--surface-raised)}.home-tier-go{margin-top:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--accent)}.home-tier:hover .home-tier-go{text-decoration:underline}.home-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-10)}.home-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-8)}.home-final{border-bottom:1px solid var(--border)}.home-final-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-6);padding-block:var(--space-12)}.home-final-title{margin:0;max-width:24ch;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-regular);line-height:var(--leading-tight);letter-spacing:-.01em}.home-final .home-ctas{margin-top:0}.home-footer{margin-top:auto;background:var(--surface)}.home-footer-inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-6);padding-block:var(--space-6);font-size:var(--text-xs);color:var(--text-muted)}.home-footer-brand{font-family:var(--font-display);font-size:var(--text-sm);color:var(--text-secondary)}.home-footer-links{display:inline-flex;flex-wrap:wrap;gap:var(--space-4)}.home-footer-links a{color:var(--text-muted);text-decoration:none}.home-footer-links a:hover{color:var(--text-primary);text-decoration:underline}.home-footer-version{margin-left:auto;font-family:var(--font-mono)}@media (max-width: 960px){.home-hero-inner{grid-template-columns:1fr;gap:var(--space-8);padding-block:var(--space-10) var(--space-8)}.home-hero-art{max-width:440px}.home-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.home-split{grid-template-columns:1fr;gap:var(--space-8)}.home-tiers{grid-template-columns:1fr}}@media (max-width: 640px){.home-wrap{padding-inline:var(--space-4)}.home-section{padding-block:var(--space-8)}.home-steps,.home-grid-2{grid-template-columns:1fr}.home-cta{flex:1 1 100%}.home-hero-art{padding-right:var(--space-4)}.home-card-float{position:static;max-width:none;margin-top:var(--space-3)}.home-bar-link{display:none}.home-footer-version{margin-left:0}}@media (pointer: coarse){.home-bar-link,.home-footer-links a{min-height:44px;display:inline-flex;align-items:center}.home-tier-go{min-height:24px}}
