@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/source-serif-4-cyrillic-ext-600-normal-D_E8FDgP.woff2) format("woff2"),url(/app/assets/source-serif-4-cyrillic-ext-600-normal-DiT2IGQm.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/source-serif-4-cyrillic-600-normal-BDP5YDHD.woff2) format("woff2"),url(/app/assets/source-serif-4-cyrillic-600-normal-DFnC3vAY.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/source-serif-4-greek-600-normal-DdRkKr-1.woff2) format("woff2"),url(/app/assets/source-serif-4-greek-600-normal-DhXQw1Kl.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/source-serif-4-vietnamese-600-normal-CznyfUKR.woff2) format("woff2"),url(/app/assets/source-serif-4-vietnamese-600-normal-B0WJbuqT.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/source-serif-4-latin-ext-600-normal-0sIUyHMO.woff2) format("woff2"),url(/app/assets/source-serif-4-latin-ext-600-normal-C6NNqpJh.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/source-serif-4-latin-600-normal-DouSKlru.woff2) format("woff2"),url(/app/assets/source-serif-4-latin-600-normal-DMD1h6_f.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2) format("woff2"),url(/app/assets/public-sans-vietnamese-400-normal-BO1meqcx.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2) format("woff2"),url(/app/assets/public-sans-latin-ext-400-normal-B02wwOdZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2) format("woff2"),url(/app/assets/public-sans-latin-400-normal-SBbinRkI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/public-sans-vietnamese-500-normal-DjztbcKe.woff2) format("woff2"),url(/app/assets/public-sans-vietnamese-500-normal-CXYe29CY.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/public-sans-latin-ext-500-normal-DC-z7ASZ.woff2) format("woff2"),url(/app/assets/public-sans-latin-ext-500-normal-BHCCp-na.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/public-sans-latin-500-normal-NlrCPXnF.woff2) format("woff2"),url(/app/assets/public-sans-latin-500-normal-vCxiVFAq.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2) format("woff2"),url(/app/assets/public-sans-vietnamese-600-normal-CcnAzmUX.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2) format("woff2"),url(/app/assets/public-sans-latin-ext-600-normal-DfkbVac2.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/public-sans-latin-600-normal-Fru-LXNs.woff2) format("woff2"),url(/app/assets/public-sans-latin-600-normal-BR59oU-I.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/app/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg: #0b0806;--bg-deep: #14100c;--surface: #171210;--surface-2: #1d1712;--surface-3: #261e17;--border: rgba(255, 243, 224, .08);--text: #f2eae0;--text-dim: #b3a48d;--text-faint: #7d715f;--accent: #d97706;--accent-hover: #f59e0b;--accent-soft: rgba(217, 119, 6, .16);--on-accent: #1a1006;--felt: #1e3226;--felt-bar: #3a2a1b;--bar: #2c2014;--bar-edge: #57432c;--tri-a: #2a4232;--tri-b: #24382c;--point-stroke: #14211a;--own-0: #f5eee2;--own-1: #e6dbc8;--own-2: #c9b99e;--own-stroke: #00000099;--opp-0: #b8734a;--opp-1: #96562f;--opp-2: #764223;--opp-stroke: #00000099;--amber: #f0b35c;--ghost: #8fa3b8;--sev-doubtful: #d8c24a;--sev-error: #e08a3a;--sev-blunder: #e0564f;--good: #52d39a;--danger: #e0564f;--on-danger: #1a1006;--font-display: "Source Serif 4", Georgia, serif;--font-ui: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-1: 12px;--fs-2: 13px;--fs-3: 15px;--fs-4: 18px;--fs-5: 22px;--fs-6: 28px;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.25;--lh-normal: 1.5;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .3);--shadow-2: 0 4px 14px rgba(0, 0, 0, .35);--shadow-3: 0 14px 36px rgba(0, 0, 0, .45);--transition: .18s ease-out;--motion-enter: .2s cubic-bezier(.2, .8, .2, 1);--motion-exit: .14s ease-in}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-semibold)}.mono-data{font-family:var(--font-mono);font-variant-numeric:tabular-nums}b.mono-data{font-weight:var(--fw-semibold)}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:var(--fs-2);font-weight:var(--fw-medium);line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);min-height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;touch-action:manipulation;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition),transform .1s ease-out}.btn:hover{background:var(--surface-3);border-color:var(--text-faint)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:active:not(:disabled){transform:scale(.97)}.dice-commit:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover{background:transparent;border-color:var(--border)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:var(--fw-semibold)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:disabled:hover{background:var(--accent);border-color:var(--accent)}.btn-subtle{background:transparent;border-color:transparent;color:var(--text-dim)}.btn-subtle:hover{background:var(--surface-2);border-color:var(--border);color:var(--text)}.btn-danger{border-color:var(--danger);color:var(--danger);background:transparent}.btn-danger:hover{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:var(--sp-4);background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{width:min(560px,100%);max-height:86vh;overflow-y:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);padding:var(--sp-5)}.modal-overlay{animation:overlay-in var(--motion-enter) both}.modal-overlay>.modal-card{animation:card-in var(--motion-enter) both}.modal-overlay.closing{animation:overlay-out var(--motion-exit) both}.modal-overlay.closing>.modal-card{animation:card-out var(--motion-exit) both}@keyframes overlay-in{0%{opacity:0}}@keyframes overlay-out{to{opacity:0}}@keyframes card-in{0%{opacity:0;transform:scale(.96) translateY(8px)}}@keyframes card-out{to{opacity:0;transform:scale(.97) translateY(6px)}}.panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4)}.field{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-1) var(--sp-2);font:inherit;font-size:var(--fs-2)}.field:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea,select{font:inherit}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:2px var(--sp-3);font-size:var(--fs-1);font-weight:var(--fw-semibold);text-transform:capitalize;letter-spacing:.02em;background:var(--surface-3);color:var(--text)}.pill.sev-doubtful{background:color-mix(in srgb,var(--sev-doubtful) 22%,transparent);color:var(--sev-doubtful)}.pill.sev-error{background:color-mix(in srgb,var(--sev-error) 22%,transparent);color:var(--sev-error)}.pill.sev-blunder{background:color-mix(in srgb,var(--sev-blunder) 24%,transparent);color:var(--sev-blunder)}.badge{display:inline-flex;align-items:center;border-radius:var(--radius-sm);padding:2px var(--sp-2);font-size:var(--fs-1);font-weight:var(--fw-semibold);background:var(--surface-3);color:var(--text-dim)}.badge-accent{background:var(--accent-soft);color:var(--accent)}@media (max-width: 480px){.btn{min-height:44px}.modal-card{max-width:calc(100vw - 24px);max-height:85dvh;overflow-y:auto}}.spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.editor{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--sp-5);align-items:start}.editor-side{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}@media (max-width: 820px){.editor{grid-template-columns:1fr}}.editor-section{display:flex;flex-direction:column;gap:var(--sp-3)}.placing{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);font-size:var(--fs-2);color:var(--text-dim)}.placing .lbl{color:var(--text-faint)}.seg{background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-1) var(--sp-3);cursor:pointer;touch-action:manipulation;transition:background var(--transition),border-color var(--transition),color var(--transition)}.seg:hover{border-color:var(--text-faint);color:var(--text)}.seg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.seg.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:var(--fw-semibold)}.placing .count{margin-left:var(--sp-2);color:var(--text-faint);font-family:var(--font-mono)}.placing .count.ok{color:var(--good)}.controls{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;font-size:var(--fs-2);color:var(--text-dim)}.controls label{display:inline-flex;align-items:center;gap:var(--sp-1)}.controls input,.controls select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-1) var(--sp-2);font:inherit;font-size:var(--fs-2)}.controls input:focus-visible,.controls select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.controls input[type=checkbox]{accent-color:var(--accent)}.placing .control-caption,.controls .control-caption,.photo-controls .control-caption{flex-basis:100%;margin-bottom:0}.photo-controls{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.dice-picker{display:flex;flex-direction:column;gap:var(--sp-2)}.die-row{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-2);color:var(--text-dim)}.die-row .lbl{color:var(--text-faint);min-width:44px}.die-row .seg{min-width:30px;text-align:center}.match-disclosure{display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-start}.hint{margin:0;font-size:var(--fs-1);color:var(--text-faint)}.hint-dim{font-size:var(--fs-2);color:var(--text-dim)}.photo-notice{display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-start;background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4)}.photo-notice p{margin:0;font-size:var(--fs-2);color:var(--text)}.photo-notice-head{font-weight:var(--fw-semibold)}.photo-notice-error{background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.photo-notice-error p{color:var(--danger)}.photo-notice-dismiss{align-self:flex-end}@media (max-height: 480px){.editor{--editor-board-chrome: 150px}}@media (max-width: 480px){.seg{min-height:44px}.die-row{flex-wrap:wrap}.die-row .lbl{flex-basis:100%;min-width:0}.die-row .seg{flex:1 1 0;min-width:0}}.insight{display:flex;flex-direction:column;gap:var(--sp-3);font-family:var(--font-ui)}.verdict{margin:0;font-size:var(--fs-4);line-height:var(--lh-tight);color:var(--text)}.played-sub{font-size:var(--fs-2);color:var(--text-dim)}.played-sub b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold);color:var(--amber)}.prose{font-size:var(--fs-3);line-height:var(--lh-normal);color:var(--text);background:var(--surface-3);border-left:3px solid var(--border);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-sm);margin:0}.notice{font-size:var(--fs-2);color:var(--text-dim)}.notice em{color:var(--text-faint)}.numbers{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-2)}.row{display:flex;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);color:var(--text-dim)}.row.best{background:color-mix(in srgb,var(--good) 10%,transparent)}.row.best .mv{color:var(--good);font-weight:var(--fw-semibold)}.row.you{background:color-mix(in srgb,var(--amber) 14%,transparent)}.row.you .mv{color:var(--amber);font-weight:var(--fw-semibold)}.row .loss{color:var(--sev-error)}.cube{padding:var(--sp-2);color:var(--text)}.link,.facts-toggle{background:none;border:none;color:var(--accent);cursor:pointer;font-size:var(--fs-1);padding:var(--sp-1) 0;text-align:left;transition:color var(--transition)}.link:hover,.facts-toggle:hover{color:var(--accent-hover)}.link:focus-visible,.facts-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.facts{margin:0;padding-left:var(--sp-5);color:var(--text-faint);font-size:var(--fs-1);line-height:var(--lh-normal)}.rollout-action{margin-top:var(--sp-2);display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1)}.rollout-config{font-size:var(--fs-1);color:var(--text-faint)}.rollout-error{font-size:var(--fs-1);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 12%,transparent);border-radius:var(--radius-sm);padding:var(--sp-1) var(--sp-2)}.review-card{max-width:min(1100px,96vw);width:1100px;max-height:92vh;display:flex;flex-direction:column}.review-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-2)}.review-title{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-4)}.review-body{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:var(--sp-3);min-height:0;overflow:hidden}.review-list{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:80vh}.review-row{display:flex;align-items:center;gap:var(--sp-2);width:100%;text-align:left;padding:var(--sp-2);background:none;border:0;border-radius:6px;cursor:pointer;color:inherit;font:inherit;transition:background var(--transition)}.review-row:hover{background:var(--surface-3)}.review-row.active{background:var(--surface-3);box-shadow:inset 2px 0 0 var(--accent)}.review-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.review-row-label{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.review-detail{min-width:0;overflow-y:auto}.review-why{margin:var(--sp-2) 0;display:flex;align-items:center;gap:var(--sp-2)}.review-why-note{opacity:.7;font-size:.9em}.review-loading{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3)}.pr-summary{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3)}.pr-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--sp-1)}.pr-title{font-size:var(--fs-1);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}.pr-overall{font-size:var(--fs-3);color:var(--text-dim)}.pr-overall b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold);color:var(--text);font-size:var(--fs-4)}.pr-label{color:var(--text-dim);font-size:var(--fs-2)}.pr-row{display:grid;grid-template-columns:4.5rem 3rem 1fr auto;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-2)}.pr-cat{color:var(--text)}.pr-val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);text-align:right}.pr-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-faint);font-size:var(--fs-1)}.coach-alert{display:flex;flex-direction:column;gap:var(--sp-3)}.coach-head{display:flex;flex-direction:column;gap:var(--sp-2)}.coach-title{font-family:var(--font-display);font-size:var(--fs-3);font-weight:var(--fw-semibold);color:var(--text)}.coach-moves{font-size:var(--fs-2);color:var(--text-dim)}.coach-moves b{color:var(--amber)}.coach-why{font-size:var(--fs-3);line-height:var(--lh-normal);color:var(--text);background:var(--surface-3);border-left:3px solid var(--border);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-sm)}.coach-why h4{margin:0 0 var(--sp-2);font-size:var(--fs-3)}.coach-why p{margin:0}.coach-why.loading{color:var(--text-dim);font-style:italic}.coach-why.unavailable{color:var(--text-dim);font-style:italic;border-left-color:var(--text-dim)}.coach-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.cube-prompt{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:var(--sp-4);background:var(--surface-2);border:1px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);padding:var(--sp-3) var(--sp-4);animation:cube-prompt-in var(--motion-enter) both}@keyframes cube-prompt-in{0%{opacity:0;transform:translate(-50%) scale(.96) translateY(8px)}}.cube-prompt-text{font-size:var(--fs-3);color:var(--text)}.cube-prompt-text b{color:var(--accent)}.match-score{display:flex;gap:var(--sp-2);align-items:center;font-weight:var(--fw-semibold);color:var(--text)}.match-score .match-to{color:var(--text-faint);font-weight:var(--fw-normal)}.crawford-badge{background:var(--surface-3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 var(--sp-2);font-size:var(--fs-1);font-weight:var(--fw-semibold)}.crawford-note{color:var(--amber);font-weight:var(--fw-semibold)}.new-match-picker{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.new-match-picker label{display:inline-flex;gap:var(--sp-2);align-items:center;color:var(--text-dim);font-size:var(--fs-2)}@media (max-width: 480px){.cube-prompt{left:var(--sp-3);right:var(--sp-3);bottom:var(--sp-3);transform:none;max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center;animation:card-in var(--motion-enter) both}}.move-log{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:var(--sp-3);min-width:200px}.move-log-head{font-size:var(--fs-1);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--sp-2)}.move-log-empty{margin:0;color:var(--text-dim);font-style:italic}.move-log-list{list-style:none;margin:0;padding:0;max-height:calc(100dvh - 230px);overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-1)}.move-log-row{display:grid;grid-template-columns:1.6rem 3.4rem 2.4rem 1fr;align-items:baseline;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);font-size:var(--fs-2)}.move-log-roll{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--amber);text-align:right}.move-log-row.engine{background:color-mix(in srgb,var(--opp-1) 8%,transparent)}.move-log-n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-faint);font-size:var(--fs-1);text-align:right}.move-log-who{font-weight:var(--fw-semibold);color:var(--text-dim)}.move-log-who.you{color:var(--text)}.move-log-who.engine{color:var(--opp-1)}.move-log-mv{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.play-view{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.play-main{display:flex;flex-direction:column;gap:var(--sp-3);align-items:stretch;min-width:0}.play-side{position:sticky;top:16px}@media (max-width: 900px){.play-view{grid-template-columns:1fr}}.play-board{width:100%}.play-controls{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.resign-control{display:inline-flex;gap:var(--sp-1);align-items:center}.resign-levels{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin:var(--sp-3) 0}.resign-level.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:var(--fw-semibold)}.resign-level.on:hover{background:var(--accent);border-color:var(--accent)}.turn-banner{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-3);font-weight:var(--fw-medium);padding:var(--sp-2) 0;border-bottom:1px solid var(--border);color:var(--text)}.turn-banner.engine{color:var(--text-dim)}.turn-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.turn-banner.you .turn-dot{background:var(--accent)}.turn-banner.engine .turn-dot{background:var(--opp-1)}.cube-notice{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:var(--fw-semibold);font-size:var(--fs-2)}.thinking{color:var(--text-dim);font-style:italic}.coach-toggle{display:inline-flex;gap:var(--sp-4);align-items:center;margin-left:auto;color:var(--text-dim);font-size:var(--fs-2)}.coach-toggle label{display:inline-flex;gap:var(--sp-2);align-items:center;cursor:pointer}.coach-toggle input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;flex:none;width:20px;height:20px;border:1.5px solid var(--text-faint);border-radius:6px;background:var(--surface-3);box-shadow:inset 0 1px 2px #0006;position:relative;cursor:pointer;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.coach-toggle input[type=checkbox]:hover{border-color:var(--accent);box-shadow:inset 0 1px 2px #0006,0 0 0 3px var(--accent-soft)}.coach-toggle input[type=checkbox]:active{transform:scale(.9)}.coach-toggle input[type=checkbox]:checked{border-color:var(--accent);background:linear-gradient(150deg,var(--accent-hover),var(--accent));box-shadow:0 1px 3px #00000059,0 0 0 3px var(--accent-soft)}.coach-toggle input[type=checkbox]:checked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--on-accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat;animation:check-pop var(--motion-enter) both}@keyframes check-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.coach-toggle input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.play-error{color:var(--sev-blunder);background:color-mix(in srgb,var(--sev-blunder) 14%,transparent);border:1px solid color-mix(in srgb,var(--sev-blunder) 40%,transparent);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3)}.game-over{display:flex;gap:var(--sp-4);align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4)}.game-over p{margin:0;font-weight:var(--fw-semibold)}@media (max-height: 480px){.play-view{--board-chrome: 90px}.turn-banner{padding:var(--sp-1) 0;font-size:var(--fs-2)}}@media (max-width: 480px){.play-controls{gap:var(--sp-2)}.play-controls .btn{flex:1 1 auto}.coach-toggle{margin-left:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2) var(--sp-4);width:100%}.coach-toggle label{min-height:44px}}.progress-view{display:flex;flex-direction:column;gap:var(--sp-4)}.progress-head{display:flex;justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap}.progress-import-pick{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.progress-import-jobs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.progress-import-job-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.progress-import-job-status{color:var(--text-dim);font-size:var(--fs-2);text-transform:capitalize}.progress-import-job-error{color:var(--danger);font-size:var(--fs-2)}.progress-trend-wrap{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.progress-trend{display:block;width:100%;height:160px}.progress-trend-baseline{stroke:var(--text-faint);stroke-dasharray:2 4;opacity:.5}.progress-trend-pr{font-family:var(--font-mono);font-size:var(--fs-2);font-weight:var(--fw-semibold);fill:var(--accent)}.progress-trend-label{font-size:var(--fs-1);fill:var(--text-faint)}.progress-games,.progress-mistakes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.progress-game-row,.progress-mistake-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.progress-row-main,.progress-row-meta{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.progress-row-main{flex:1 1 auto}.progress-game-date{color:var(--text-dim);font-size:var(--fs-2);min-width:6.5em}.progress-game-mode{flex:1}.progress-game-pr{min-width:3em;text-align:right}.progress-chips{display:flex;align-items:center;gap:var(--sp-1)}.progress-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4)}.progress-filter-row>.btn{margin-left:auto}.progress-filters{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.progress-diagnostic{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--accent-soft);border:1px solid var(--accent-soft);border-radius:var(--radius)}.progress-diagnostic-copy{color:var(--text);font-size:var(--fs-3);line-height:var(--lh-normal)}.progress-diagnostic-copy strong{color:var(--amber);font-weight:var(--fw-semibold)}.progress-analytics{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.progress-analytics>h2{margin:0;font-size:var(--fs-4)}.progress-analytics-group h3{margin:0 0 var(--sp-2);font-size:var(--fs-2);color:var(--text-dim);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em}.progress-analytics-empty{margin:0;color:var(--text-faint);font-size:var(--fs-2)}.progress-analytics-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.progress-analytics-row{display:flex;align-items:center;gap:var(--sp-3)}.progress-analytics-label{min-width:6.5em;font-size:var(--fs-2);text-transform:capitalize}.progress-analytics-bar-track{flex:1 1 auto;min-width:0;height:10px;background:var(--surface-3);border-radius:var(--radius-sm);overflow:hidden}.progress-analytics-bar-fill{display:block;height:100%;background:var(--accent);border-radius:var(--radius-sm)}.progress-analytics-bar-fill.sev-doubtful{background:var(--sev-doubtful)}.progress-analytics-bar-fill.sev-error{background:var(--sev-error)}.progress-analytics-bar-fill.sev-blunder{background:var(--sev-blunder)}.progress-analytics-stats{min-width:7em;text-align:right;font-size:var(--fs-1);color:var(--text-dim)}.progress-mistake-kind{color:var(--text-dim);font-size:var(--fs-1);text-transform:capitalize}.progress-mistake-played{flex:1}.progress-mistake-row{transition:background var(--transition)}.progress-mistake-row:hover{background:var(--surface-3)}.progress-mistake-row .pill{min-width:92px;justify-content:center}.progress-empty{text-align:center;padding:var(--sp-6)}.progress-empty-actions{display:flex;gap:var(--sp-3);justify-content:center;margin-top:var(--sp-4)}@media (max-width: 480px){.badge-verified-label{display:none}.progress-game-row,.progress-mistake-row{flex-wrap:wrap}.progress-row-main,.progress-row-meta{flex-basis:100%}.progress-row-meta{justify-content:flex-end}.progress-mistake-row .btn{min-height:44px}.progress-filters .btn{min-height:44px;flex:1 1 auto}.progress-filter-row>.btn{min-height:44px;flex:1 1 100%;margin-left:0}.progress-game-date{min-width:0}.progress-head{justify-content:stretch}.progress-head .btn,.progress-import-pick .btn{min-height:44px;flex:1 1 auto}.progress-import-job-row{flex-direction:column;align-items:flex-start}.progress-analytics-row{flex-wrap:wrap}.progress-analytics-label,.progress-analytics-stats{flex-basis:100%;text-align:left;min-width:0}.progress-analytics-bar-track{flex-basis:100%}}.quiz-view{display:flex;flex-direction:column;gap:var(--sp-3)}.quiz-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.quiz-progress{font-weight:var(--fw-semibold);color:var(--text-dim)}.quiz-task{color:var(--text-dim);margin:0 0 var(--sp-3)}.quiz-board{width:100%;display:flex;justify-content:center}.quiz-board>div{flex:1 1 auto;min-width:0}.quiz-underbar{display:flex;justify-content:flex-end;align-items:center}.quiz-controls{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.quiz-error,.quiz-verdict-card{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:1000;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:var(--shadow-3);border-radius:var(--radius-lg);padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}.quiz-error{color:var(--danger);background:var(--surface-2);border:1px solid color-mix(in srgb,var(--danger) 40%,transparent)}.quiz-error-actions{display:flex;gap:var(--sp-2)}.quiz-verdict-card{border:1px solid var(--border);background:var(--surface-2);animation:verdict-in var(--motion-enter) both}@keyframes verdict-in{0%{opacity:0;transform:translate(-50%) scale(.96) translateY(8px)}}.quiz-verdict-title{margin:0;font-weight:var(--fw-semibold);font-size:var(--fs-4)}.quiz-verdict-detail{margin:0;color:var(--text-dim);font-size:var(--fs-2)}.quiz-verdict-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.quiz-verdict-solved .quiz-verdict-title,.quiz-verdict-card.quiz-verdict-solved .quiz-verdict-title{color:var(--good)}.quiz-verdict-card.quiz-verdict-better .quiz-verdict-title{color:var(--accent)}.quiz-verdict-card.quiz-verdict-worse .quiz-verdict-title{color:var(--sev-error)}.quiz-verdict-card.quiz-verdict-solved{border-color:color-mix(in srgb,var(--good) 40%,transparent)}.quiz-verdict-card.quiz-verdict-better{border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.quiz-verdict-card.quiz-verdict-worse{border-color:color-mix(in srgb,var(--sev-error) 40%,transparent)}.quiz-summary-stats{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.quiz-summary-recovered{color:var(--text-dim)}.quiz-summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.quiz-summary-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.quiz-summary-played{flex:1}.pill.quiz-verdict-solved{background:color-mix(in srgb,var(--good) 22%,transparent);color:var(--good)}.pill.quiz-verdict-better{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.pill.quiz-verdict-worse{background:color-mix(in srgb,var(--sev-error) 22%,transparent);color:var(--sev-error)}@media (max-height: 480px){.quiz-view{--board-chrome: 140px;gap:var(--sp-2)}}@media (max-width: 480px){.quiz-controls .btn,.quiz-underbar .btn,.quiz-verdict-actions .btn,.quiz-error-actions .btn{min-height:44px;flex:1 1 auto}.quiz-summary-row{flex-wrap:wrap}.quiz-summary-played{flex-basis:100%}.quiz-error,.quiz-verdict-card{left:var(--sp-3);right:var(--sp-3);bottom:var(--sp-3);transform:none;width:auto}.quiz-verdict-card{animation:card-in var(--motion-enter) both}}.inbox-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.inbox-row{display:flex;align-items:baseline;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.inbox-row .pill{min-width:92px;justify-content:center}.pill.inbox-invite{background:var(--accent-soft);color:var(--accent)}.inbox-date{color:var(--text-dim);font-size:var(--fs-1);white-space:nowrap}.inbox-content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}.inbox-meta{color:var(--text-dim);font-size:var(--fs-2)}.inbox-note{overflow-wrap:anywhere;white-space:pre-line}.inbox-thumb{max-height:120px;max-width:220px;border-radius:var(--radius-sm);border:1px solid var(--border);margin-top:var(--sp-1);display:block}.inbox-thumb-err{color:var(--text-dim);font-size:var(--fs-1);margin-top:var(--sp-1)}@media (max-width: 480px){.inbox-row{flex-wrap:wrap}.inbox-content{flex-basis:100%}}.learn,.learn-tracks{display:flex;flex-direction:column;gap:var(--sp-4)}.learn-diagnostic{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--accent-soft);border:1px solid var(--accent-soft);border-radius:var(--radius);box-shadow:var(--shadow-1)}.learn-diagnostic-copy{margin:0;color:var(--text);font-size:var(--fs-3);line-height:var(--lh-normal)}.learn-diagnostic-copy strong{color:var(--amber);font-weight:var(--fw-semibold)}.learn-track{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4);box-shadow:var(--shadow-1)}.learn-track-locked{opacity:.62}.learn-track-head{display:flex;align-items:center;gap:var(--sp-3)}.learn-track-head h2{margin:0;font-family:var(--font-display);font-size:var(--fs-5);font-weight:var(--fw-semibold);color:var(--text)}.learn-track-blurb{margin:var(--sp-2) 0 0;color:var(--text-dim);font-size:var(--fs-2);line-height:var(--lh-normal)}.learn-concepts{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.learn-concept{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background var(--transition),border-color var(--transition)}.learn-concept:hover{background:var(--surface-3);border-color:var(--accent-soft)}.learn-concept:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.learn-concept-title{font-size:var(--fs-3);font-weight:var(--fw-medium)}.learn-concept-meta{flex:none;display:flex;align-items:center;gap:var(--sp-2)}.learn-drillcount{padding:2px var(--sp-2);border-radius:var(--radius-sm);font-size:var(--fs-1);font-weight:var(--fw-semibold);color:var(--accent);background:var(--accent-soft);white-space:nowrap}.learn-drillcount-lesson{color:var(--text-faint);background:transparent;font-weight:var(--fw-medium)}.learn-concept-chevron{color:var(--text-faint);font-size:var(--fs-4);line-height:1;transition:transform var(--transition),color var(--transition)}.learn-concept:hover .learn-concept-chevron{color:var(--accent);transform:translate(2px)}.learn-chip{flex:none;padding:2px var(--sp-2);border-radius:var(--radius-sm);font-size:var(--fs-1);font-weight:var(--fw-medium);color:var(--text-dim);background:var(--surface-3);border:1px solid var(--border);white-space:nowrap}.learn-chip-completed{color:var(--on-accent);background:var(--good);border-color:transparent}.learn-chip-in-progress{color:var(--amber);background:var(--accent-soft);border-color:transparent}.learn-chip-soon{color:var(--text-faint)}.concept-view{display:flex;flex-direction:column;gap:var(--sp-4)}.concept-title{margin:0;font-family:var(--font-display);font-size:var(--fs-5);font-weight:var(--fw-semibold);color:var(--text)}.concept-lesson{display:flex;flex-direction:column;gap:var(--sp-3)}.concept-lesson p{margin:0;color:var(--text);font-size:var(--fs-3);line-height:var(--lh-relaxed, var(--lh-normal))}.concept-further h3{margin:0 0 var(--sp-2);font-size:var(--fs-2);font-weight:var(--fw-semibold);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.concept-further ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.concept-further a{color:var(--accent);text-decoration:none}.concept-further a:hover{text-decoration:underline}.concept-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.concept-drill-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.concept-progress{color:var(--text-dim);font-size:var(--fs-2);font-weight:var(--fw-medium)}.concept-summary{display:flex;flex-direction:column;gap:var(--sp-4);align-items:flex-start;padding:var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1)}.concept-summary-line{margin:0;font-family:var(--font-display);font-size:var(--fs-4);font-weight:var(--fw-semibold);color:var(--text)}.access-gate{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.access-card{max-width:420px;width:100%;text-align:center;display:flex;flex-direction:column;gap:var(--sp-3)}.access-card form{display:flex;gap:var(--sp-2);justify-content:center}.access-card input{flex:1;padding:var(--sp-2);background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm)}.access-error{color:var(--danger);font-size:.9rem;margin:0}.feedback-card{max-width:min(520px,94vw);width:520px;display:flex;flex-direction:column;gap:var(--sp-2)}.feedback-card h2{margin:0;font-size:var(--fs-3)}.feedback-hint{color:var(--text-dim);font-size:var(--fs-1);margin:0}.feedback-card textarea{width:100%;resize:vertical;font:inherit;padding:var(--sp-2);background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm)}.feedback-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-2)}.feedback-attach-btn{display:inline-flex;align-items:center;cursor:pointer}.feedback-file{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.feedback-preview{display:flex;align-items:flex-start;gap:var(--sp-2)}.feedback-thumb{max-height:120px;max-width:220px;border-radius:var(--radius-sm);border:1px solid var(--border);display:block}.app{max-width:1500px;margin:0 auto;padding:var(--sp-3) var(--sp-4) var(--sp-4);color:var(--text);font-family:var(--font-ui);background:linear-gradient(180deg,var(--bg-deep),var(--bg));min-height:100dvh}.app header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3)}.app header h1{margin:0;display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-5);font-weight:var(--fw-semibold);letter-spacing:-.01em;color:var(--text)}.app header h1 .brand-mark{flex:none;display:block}.app .tag{color:var(--text-dim);font-size:var(--fs-1);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px var(--sp-2)}.app .header-right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-3)}.app .logged-in{color:var(--text-dim);font-size:var(--fs-1)}.tabs{display:flex;gap:var(--sp-3);margin-bottom:var(--sp-3);border-bottom:1px solid var(--border)}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-bottom:2px solid transparent;touch-action:manipulation;color:var(--text-faint);font:inherit;font-size:var(--fs-3);font-weight:var(--fw-medium);padding:var(--sp-2) var(--sp-3);margin-bottom:-1px;cursor:pointer;transition:color var(--transition),border-color var(--transition)}.tab:hover{color:var(--text-dim)}.tab.active{color:var(--text);font-weight:var(--fw-semibold);border-bottom-color:var(--accent)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.control-caption{display:block;font-size:var(--fs-1);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--sp-2)}.match-setup .control-caption{flex-basis:100%;margin-bottom:0}.coach-toggle .control-caption{margin-bottom:0}.state{padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text-dim)}.state.empty{line-height:1.6}.state.err{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 12%,transparent)}.err-detail{display:block;font-size:var(--fs-1);opacity:.8;margin-top:var(--sp-1)}.insight-stale{opacity:.45;pointer-events:none}.view-fade{animation:view-in .15s ease-out}@keyframes view-in{0%{opacity:0}}.whats-new{background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4);font-size:var(--fs-2);color:var(--text)}.whats-new.dismissing{animation:overlay-out var(--motion-exit) both}.whats-new-head{margin:0 0 var(--sp-2);font-weight:var(--fw-semibold)}.whats-new ul{margin:0 0 var(--sp-3);padding-left:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-1)}.whats-new-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.guide-card{max-width:560px;max-height:80vh;overflow-y:auto}.guide-card h4{margin:var(--sp-4) 0 var(--sp-2)}.guide-list{margin:0;padding-left:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-2);color:var(--text-dim)}.guide-card>.btn{margin-top:var(--sp-4)}@media (max-width: 480px){.app{padding:var(--sp-3)}.app .tag,.app .logged-in{display:none}.whats-new{padding:var(--sp-2) var(--sp-3)}.tabs{gap:var(--sp-2)}.tab{min-height:44px}}@media (max-height: 480px){.app{padding:var(--sp-2) var(--sp-3)}.app header{display:none}.whats-new{display:none}.tabs{margin-bottom:var(--sp-2)}}
