@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-BJItruJi.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-C1SKuNhx.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-BPWuI_CM.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-CTUnhTqV.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-n6oPB5VF.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-DSasf_jt.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-B97dYap6.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-OKGpH0gQ.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-BHf956ki.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-CyDjbWPV.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CdZtFfYS.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-BU83cd9M.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cfrm0EKX.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DujcQJCN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-D1zm99-P.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-BEypoZQd.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-By04ZBDJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-BwBTeJfm.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-rpgY82Kd.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-V_-bWxzT.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DprGrCew.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-CgrnmiIU.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-BFLYOLbL.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-Dh0NORqx.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-jBHiQjEG.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-CJ5MtzOJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-DM9A4i1K.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BuRiwhxF.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-FZrtz_q-.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-BJUfoJTU.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DHNi5J5O.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-D03elqKW.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-dAZVOL-H.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-bp4QDljZ.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-BGOKnPO6.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-ZykYOGKL.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BURdOHSV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DB8GrNuW.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-KNc67_qc.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-DH4-ctVk.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-BoLTwK2U.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-v1ZS-zG7.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-Blw1EEi-.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-N1itUhP2.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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-IsFYRIfa.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-D97e-FUQ.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-BiUoxtWd.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-BmphL1LA.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+2074,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(/assets/ibm-plex-mono-cyrillic-ext-400-normal-B3hZxag_.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-ZyMXPjaT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,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(/assets/ibm-plex-mono-cyrillic-400-normal-DvQQgHTq.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CJUKFyLa.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(/assets/ibm-plex-mono-vietnamese-400-normal-BFiUPp6R.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DLynVohM.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(/assets/ibm-plex-mono-latin-ext-400-normal-DxDDqVQb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-uwM7KshN.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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(/assets/ibm-plex-mono-latin-400-normal-Dm_PoFIZ.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-O6-GRVqx.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+2074,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(/assets/ibm-plex-mono-cyrillic-ext-500-normal-CmcxpzmF.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-yqk7_qG0.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,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(/assets/ibm-plex-mono-cyrillic-500-normal-BtGHVI3Q.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-N1TV9ACq.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(/assets/ibm-plex-mono-vietnamese-500-normal-CevHOlzG.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-QhwQXayn.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(/assets/ibm-plex-mono-latin-ext-500-normal-Dn-cqWhb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-BhDX_RLI.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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(/assets/ibm-plex-mono-latin-500-normal-C_OblDzq.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-zoSM89R3.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+2074,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(/assets/ibm-plex-mono-cyrillic-ext-600-normal-6-AWF9yE.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-BZFL66GJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,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(/assets/ibm-plex-mono-cyrillic-600-normal-DqTcxLwU.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-C8N-B5AP.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(/assets/ibm-plex-mono-vietnamese-600-normal-D7hk9wLv.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-BifMsNUA.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(/assets/ibm-plex-mono-latin-ext-600-normal-5raxGPWx.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-C5zKQMXr.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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(/assets/ibm-plex-mono-latin-600-normal-rgB1DpUr.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DeXYNBV7.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans: "IBM Plex Sans", "Helvetica Neue", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--s-bg: #0B0E13;--s-panel: #12161D;--s-panel-2: #1B212A;--s-line: #232A35;--s-line-2: #2B3340;--s-line-3: #3A4352;--s-text: #E6E3DA;--s-text-2: #C4C1B8;--s-muted: #9AA0A8;--s-muted-2: #8A919A;--s-blue: #7AA2FF;--s-blue-2: #A9C2FF;--s-pause: #F5A623;--s-pause-ink: #1A1100;--s-pause-bg: #1F1A0E;--s-false: #FF8A7A;--s-false-ink: #1A0804;--t-bg: #F7F7F4;--t-card: #FFFFFF;--t-ink: #15171C;--t-text-2: #4F535B;--t-line: #E2DFD6;--t-line-2: #C9C5BA;--t-chip: #EEECE5;--t-blue: #1F4FD1;--t-blue-dark: #163a9c;--t-blue-bg: #EEF2FD;--t-blue-soft: #DCE6FB;--t-red: #B93A26;--t-warn-bg: #FFF4DE;--t-warn-line: #E8C67A;--t-warn-ink: #4A2C00;--t-amber: #F5A623}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}input,textarea,select{font:inherit}:focus-visible{outline:2px solid var(--s-blue);outline-offset:2px}.reg-staff :focus-visible{outline-color:var(--t-blue)}.mono{font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.row{display:flex;align-items:center;gap:8px}.wrap{flex-wrap:wrap}.grow{flex:1}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column;gap:12px}kbd{font-family:var(--font-mono);font-size:11px;border:1px solid currentColor;border-radius:4px;padding:0 5px;opacity:.7}.landing{min-height:100vh;background:var(--s-bg);color:var(--s-text);display:grid;place-items:center;padding:24px}.landing-card{max-width:640px}.landing h1{font-family:var(--font-mono);font-size:40px;margin:0 0 8px}.landing p{color:var(--s-text-2);line-height:1.5}.landing-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:24px}.landing-links a{display:block;padding:16px;border:1px solid var(--s-line-3);border-radius:8px;color:var(--s-text);text-decoration:none}.landing-links a:hover{border-color:var(--s-blue)}.landing-links b{display:block;margin-bottom:4px}.landing-links span{color:var(--s-muted);font-size:13px}.dev-note{margin-top:24px;font-size:13px;color:var(--s-pause);border:1px dashed var(--s-pause);padding:10px 12px;border-radius:6px}.s-btn,.s-choice,.s-seg button,.t-btn,.t-toggle,.t-check,.t-select,.t-input,.result,.claim,.reader .line,.reader .actions button,.t-stepper button,.t-switch a,.t-nav a,.search-box input,.field input{min-height:44px}.t-stepper button{min-width:44px}.reg-student{min-height:100vh;background:var(--s-bg);color:var(--s-text);font-size:15px}.reg-student a{color:var(--s-blue)}.s-top{display:flex;align-items:center;gap:16px;padding:14px 28px;border-bottom:1px solid var(--s-line);flex-wrap:wrap}.s-logo{font-family:var(--font-mono);font-weight:600;font-size:18px;letter-spacing:-.5px;color:var(--s-text);text-decoration:none}.s-logo .cursor{color:var(--s-pause)}.s-crumb{font-family:var(--font-mono);font-size:12px;color:var(--s-muted)}.s-stages{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}.s-stage{font-family:var(--font-mono);font-size:12px;padding:5px 9px;border:1px solid var(--s-line);border-radius:4px;color:var(--s-muted-2)}.s-stage.done{color:var(--s-muted);border-color:transparent}.s-stage.done:before{content:"✓ "}.s-stage.now{background:var(--s-text);color:var(--s-bg);border-color:var(--s-text);font-weight:600}.s-stage.now.pause{background:var(--s-pause);color:var(--s-pause-ink);border-color:var(--s-pause)}.s-who{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px}.s-ai-pill{border:1px solid var(--s-line-3);border-radius:999px;padding:3px 10px;color:var(--s-text-2)}.s-ai-pill:before{content:"●";color:var(--s-blue);margin-right:6px;font-size:9px;vertical-align:1px}.s-main{padding:24px 28px 40px;max-width:1360px;margin:0 auto}.s-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}@media (max-width: 960px){.s-grid{grid-template-columns:1fr}}.s-panel{background:var(--s-panel);border:1px solid var(--s-line);border-radius:12px;padding:18px}.s-label{font-family:var(--font-mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--s-muted)}.s-tag{font-family:var(--font-mono);font-size:11px;border:1px solid var(--s-line-3);border-radius:4px;padding:2px 7px;color:var(--s-text-2)}.s-h1{font-size:34px;font-weight:700;letter-spacing:-.5px;margin:6px 0 8px;line-height:1.15}.s-h1 .hl{color:var(--s-pause)}.s-sub{color:var(--s-text-2);margin:0 0 18px}.s-btn{display:inline-flex;align-items:center;gap:10px;border-radius:6px;padding:10px 16px;font-weight:600;border:1px solid var(--s-line-3);background:transparent;color:var(--s-text)}.s-btn:hover:not(:disabled){border-color:var(--s-text-2)}.s-btn.primary{background:var(--s-text);color:var(--s-bg);border-color:var(--s-text)}.s-btn.primary:hover:not(:disabled){background:#fff}.s-btn.pause{background:var(--s-pause);color:var(--s-pause-ink);border-color:var(--s-pause)}.s-btn.small{padding:6px 10px;font-size:13px}.s-choice{border:1px solid var(--s-pause);color:var(--s-pause);background:transparent;border-radius:4px;padding:8px 14px;font-weight:600}.s-choice[aria-pressed=true]{background:var(--s-pause);color:var(--s-pause-ink)}.s-seg{display:inline-flex;gap:6px;flex-wrap:wrap}.s-seg button{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.5px;padding:7px 12px;border-radius:4px;border:1px solid var(--s-line-3);background:transparent;color:var(--s-text-2)}.s-seg button[aria-pressed=true].v-true{background:var(--s-blue);color:var(--s-bg);border-color:transparent}.s-seg button[aria-pressed=true].v-false{background:var(--s-false);color:var(--s-false-ink);border-color:transparent}.s-seg button[aria-pressed=true].v-partly{background:var(--s-text);color:var(--s-bg);border-color:transparent}.s-seg button[aria-pressed=true].v-unsure{background:var(--s-line-3);color:#fff;border-color:transparent}.s-seg button[aria-pressed=true].v-plain{background:var(--s-text);color:var(--s-bg);border-color:transparent}.term{background:var(--s-bg);border:1px solid var(--s-line);border-radius:12px;display:flex;flex-direction:column;min-height:520px}.term-head{display:flex;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--s-line);font-family:var(--font-mono);font-size:12px;color:var(--s-muted);gap:12px;flex-wrap:wrap}.term-body{flex:1;padding:22px 22px 10px;font-family:var(--font-mono);font-size:15px;line-height:1.7;overflow-y:auto}.term-line{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;margin-bottom:18px}.term-line .who{color:var(--s-muted)}.term-line .who.me{color:var(--s-blue)}.term-line .msg{white-space:pre-wrap}.term-line .msg.me{color:#fff;font-weight:500}.term-line .msg.ai{color:var(--s-text)}.term-line .msg.sys{color:var(--s-text-2);font-family:var(--font-sans)}.caret{display:inline-block;width:9px;height:1.1em;background:var(--s-text);vertical-align:text-bottom;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion: reduce){.caret{animation:none}}.term-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--s-line)}.term-input label{font-family:var(--font-mono);color:var(--s-blue);font-size:14px}.term-input input,.term-input textarea{flex:1;background:transparent;border:0;color:#fff;font-family:var(--font-mono);font-size:15px;outline:none}.term-input input::placeholder{color:var(--s-muted-2)}.term-gate{border:1px solid var(--s-pause);border-radius:8px;padding:14px 16px;margin:6px 0 18px 94px;background:var(--s-pause-bg);color:var(--s-pause);font-family:var(--font-mono)}.narrator{background:var(--s-panel);border:1px solid var(--s-line);border-radius:12px;padding:16px}.narrator .spread .bars{font-family:var(--font-mono);color:var(--s-blue);letter-spacing:2px;font-size:12px}.narrator q{display:block;font-weight:600;font-size:16px;line-height:1.45;margin-top:8px;quotes:"“" "”"}.narrator .sting{color:var(--s-text-2);font-weight:400;margin-top:8px;font-size:14px}.case-file h2{font-size:22px;margin:8px 0}.case-file p{color:var(--s-text-2);margin:0 0 12px;line-height:1.5}.progress-dots{display:flex;gap:4px;margin-top:8px}.progress-dots span{flex:1;height:4px;border-radius:2px;background:var(--s-line-2)}.progress-dots span.done{background:var(--s-text-2)}.progress-dots span.now{background:var(--s-blue)}.claim{display:flex;align-items:center;gap:16px;width:100%;text-align:left;background:var(--s-panel);border:1px solid var(--s-line-2);border-radius:8px;padding:16px 18px;color:var(--s-text);font-family:var(--font-mono);font-size:15px;margin-bottom:10px}.claim[aria-pressed=true]{border:2px solid var(--s-pause);background:var(--s-pause-bg);padding:15px 17px}.claim .num{color:var(--s-muted);width:22px}.claim .suspect{margin-left:auto;color:var(--s-pause);font-size:11px;letter-spacing:1px;font-weight:600}.pause-flag{display:inline-flex;gap:8px;align-items:center;background:var(--s-pause);color:var(--s-pause-ink);font-family:var(--font-mono);font-size:12px;font-weight:600;padding:4px 10px;border-radius:4px}.said{font-family:var(--font-mono);font-size:13px;color:var(--s-text-2);line-height:1.6;white-space:pre-wrap}.said+.said{margin-top:12px;padding-top:12px;border-top:1px solid var(--s-line)}.claims-strip{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:center}.claims-strip .chip{font-family:var(--font-mono);font-size:12px;border:1px solid var(--s-line-3);border-radius:4px;padding:4px 8px}.claims-strip .chip b{margin-right:6px}.claims-strip .chip.has{border-color:var(--s-blue)}.claims-strip .chip small{color:var(--s-muted);margin-left:6px}.verify-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px}@media (max-width: 900px){.verify-grid{grid-template-columns:1fr}}.search-box{display:flex;gap:8px;margin-bottom:8px}.search-box input{flex:1;background:var(--s-bg);border:1px solid var(--s-line-3);border-radius:6px;color:#fff;padding:9px 12px;font-family:var(--font-mono);font-size:13px}.result{display:block;width:100%;text-align:left;background:var(--s-panel);border:1px solid var(--s-line);border-radius:8px;padding:12px;margin-bottom:8px;color:var(--s-text)}.result[aria-current=true]{border-color:var(--s-blue)}.result .dom{font-family:var(--font-mono);font-size:11px;color:var(--s-muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.result .badge{border:1px solid var(--s-line-3);border-radius:3px;padding:0 5px;font-size:10px}.result .badge.blog{border-color:var(--s-false);color:var(--s-false)}.result .opened{color:var(--s-blue);font-size:10px}.result b{display:block;margin:6px 0 4px;font-size:14px}.result small{color:var(--s-text-2);font-size:12px}.reader{background:#f4f2ec;color:#1d1f24;border-radius:10px;padding:24px 28px;min-height:380px}.reader .path{font-family:var(--font-mono);font-size:12px;color:#5d6168;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.reader h2{font-size:24px;margin:12px 0 14px}.reader .line{display:block;width:100%;text-align:left;background:transparent;border:0;border-left:3px solid transparent;padding:6px 10px;margin:2px 0;font-size:16px;line-height:1.55;color:inherit;border-radius:0 4px 4px 0}.reader .line:hover{background:#e9e5da}.reader .line[aria-pressed=true]{border-left-color:var(--t-blue);background:#dfe7fb}.reader .line .used{font-family:var(--font-mono);font-size:11px;color:var(--t-blue);margin-left:8px}.reader .warn{background:#fde4df;color:#6b1d10;border-radius:6px;padding:10px 12px;font-size:14px;margin:10px 0}.reader .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid #ddd8cc}.reader .actions button{border-radius:6px;padding:8px 12px;border:1px solid #c9c5ba;background:#fff;color:#15171c;font-size:13px;font-weight:600}.reader .actions button.on{background:#15171c;color:#fff;border-color:#15171c}.reader .src-link{font-size:13px;color:var(--t-blue)}.reader-empty{color:var(--s-muted);border:1px dashed var(--s-line-3);border-radius:10px;padding:40px;text-align:center}.bottom-bar{display:flex;align-items:center;gap:16px;margin-top:18px;padding:14px 18px;border:1px solid var(--s-line);border-radius:10px;background:var(--s-panel);flex-wrap:wrap}.bottom-bar .note{color:var(--s-text-2);font-size:14px}.bottom-bar .s-btn{margin-left:auto}.catch-row{background:var(--s-panel);border:1px solid var(--s-line);border-radius:10px;padding:16px 18px;margin-bottom:10px}.catch-row .head{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.catch-row .head .text{font-family:var(--font-mono);font-size:15px;flex:1;min-width:240px}.catch-row .fix{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}.catch-row .fix .q{background:var(--s-text);color:var(--s-bg);border-radius:4px;padding:5px 10px;font-size:13px}.catch-row .fix .dom{font-family:var(--font-mono);font-size:11px;border:1px solid var(--s-line-3);border-radius:4px;padding:3px 7px;color:var(--s-blue-2)}.catch-row .fix select{background:var(--s-bg);color:var(--s-text);border:1px dashed var(--s-line-3);border-radius:4px;padding:6px 8px;max-width:100%}.catch-row .fix .missing{color:var(--s-pause);font-size:13px}.stamp{display:inline-block;font-family:var(--font-sans);font-weight:800;font-size:56px;letter-spacing:-1px;padding:4px 16px;border-radius:6px;border:2px solid var(--s-text);margin:8px 0 12px}.stamp.caught{background:var(--s-text);color:var(--s-bg)}.stamp.missed{background:var(--s-false);color:var(--s-false-ink);border-color:var(--s-false)}.stamp.calibrated{background:var(--s-blue);color:var(--s-bg);border-color:var(--s-blue)}.stamp.over_corrected{background:var(--s-line-3);color:#fff;border-color:var(--s-line-3)}.stamp.voiced{background:transparent;color:var(--s-blue);border-color:var(--s-blue)}.unpacked{font-family:var(--font-mono);font-size:15px;line-height:1.9}.unpacked .bad{color:var(--s-false);text-decoration:line-through}.unpacked .fixd{background:var(--s-blue);color:var(--s-bg);padding:1px 4px;margin:0 4px;border-radius:2px}.unpacked .ok{border-bottom:2px solid var(--s-blue)}.unpacked .open{border-bottom:1px dashed var(--s-muted)}.unpacked .tag{color:var(--s-muted);font-size:12px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--s-line);border:1px solid var(--s-line);border-radius:10px;overflow:hidden}.stat-grid>div{background:var(--s-panel);padding:14px}.stat-grid b{display:block;margin-top:6px;font-size:16px}.claim-recap{list-style:none;margin:0;padding:0}.claim-recap li{padding:10px 0;border-bottom:1px solid var(--s-line);display:grid;grid-template-columns:90px 1fr;gap:10px;font-size:14px}.claim-recap .r{font-family:var(--font-mono);font-size:11px;font-weight:600}.claim-recap .r.caught,.claim-recap .r.confirmed{color:var(--s-blue)}.claim-recap .r.missed,.claim-recap .r.over_corrected{color:var(--s-false)}.claim-recap .r.unbacked,.claim-recap .r.unsure{color:var(--s-pause)}.claim-recap small{color:var(--s-text-2);display:block;margin-top:3px}.center-wrap{min-height:calc(100vh - 60px);display:grid;place-items:center;padding:24px}.join-card{width:min(520px,100%)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-family:var(--font-mono);font-size:12px;color:var(--s-muted);text-transform:uppercase;letter-spacing:1px}.field input{background:var(--s-bg);border:1px solid var(--s-line-3);border-radius:6px;color:#fff;padding:12px;font-family:var(--font-mono);font-size:16px}.err{color:var(--s-false);font-size:14px;margin:8px 0}.reg-staff .err{color:var(--t-red)}.disclose-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;max-width:1100px;margin:0 auto}@media (max-width: 900px){.disclose-grid{grid-template-columns:1fr}}.identity{font-family:var(--font-mono);color:var(--s-blue);font-size:13px}.big-name{font-size:48px;font-weight:700;margin:6px 0 4px}.big-name span{color:var(--s-blue);font-family:var(--font-mono)}.truths{list-style:none;padding:0;margin:24px 0}.truths li{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--s-line);font-size:17px;line-height:1.5}.truths li b{color:#fff}.truths .n{font-family:var(--font-mono);color:var(--s-muted)}.lobby{max-width:760px;margin:60px auto;text-align:center}.lobby h1{font-size:36px;margin:10px 0}.lobby p{color:var(--s-text-2);font-size:17px;line-height:1.55}.prompt-list{text-align:left;margin:24px auto;max-width:620px}.prompt-list li{margin:10px 0;line-height:1.5}.teach-claims{list-style:none;padding:0}.teach-claims li{margin:14px 0}.teach-line{margin:12px 0 0;padding-left:14px;border-left:2px solid var(--s-blue);color:var(--s-text-2)}.teach-line footer{margin-top:6px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#07090cf0;display:grid;place-items:center;z-index:50;text-align:center;padding:24px}.overlay h1{font-size:64px;margin:0;letter-spacing:-1px}.overlay p{color:var(--s-text-2);font-size:18px}.toast{position:fixed;right:24px;bottom:24px;max-width:380px;z-index:40;border-color:var(--s-blue);box-shadow:0 10px 30px #00000080}.race-banner{display:flex;gap:12px;align-items:center;border:1px solid var(--s-blue);color:var(--s-blue-2);border-radius:8px;padding:10px 14px;margin-bottom:16px;font-family:var(--font-mono);font-size:13px;flex-wrap:wrap}.offline-pill{font-family:var(--font-mono);font-size:12px;color:var(--s-pause);border:1px solid var(--s-pause);border-radius:999px;padding:3px 10px}.vf-area{width:100%;min-height:220px;background:var(--s-bg);border:1px solid var(--s-line-3);border-radius:8px;color:#fff;padding:14px;font-family:var(--font-mono);font-size:15px;line-height:1.6;resize:vertical}.locked-ai{border:1px dashed var(--s-line-3);border-radius:8px;padding:18px;color:var(--s-muted);font-family:var(--font-mono);text-align:center}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 800px){.compare-grid{grid-template-columns:1fr}}.rec-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}@media (max-width: 800px){.rec-stats{grid-template-columns:repeat(2,1fr)}}.rec-stats .s-panel b{font-size:40px;display:block}.rec-stats .s-panel span{color:var(--s-text-2);font-size:14px}.gut-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.gut-cell{width:44px;height:44px;border:1px solid var(--s-line-3);border-radius:4px;display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;line-height:1.1;text-align:center}.gut-cell.hit{background:var(--s-text);color:var(--s-bg);border-color:var(--s-text)}.skill{display:grid;grid-template-columns:1fr 120px 100px;gap:12px;align-items:center;padding:8px 0;font-size:14px}.skill .bar{display:flex;gap:3px}.skill .bar i{flex:1;height:5px;background:var(--s-line-3);border-radius:2px}.skill .bar i.on{background:var(--s-text)}.skill .rank{font-family:var(--font-mono);font-size:12px;text-align:right}.out-tag{font-family:var(--font-mono);font-size:11px;font-weight:600;padding:2px 7px;border-radius:3px;background:var(--s-text);color:var(--s-bg)}.out-tag.missed{background:var(--s-false);color:var(--s-false-ink)}.out-tag.calibrated{background:var(--s-blue)}.out-tag.partial,.out-tag.over_corrected{background:transparent;color:var(--s-text);border:1px solid var(--s-line-3)}.out-tag.voiced{background:transparent;color:var(--s-blue);border:1px solid var(--s-blue)}a.s-btn{color:var(--s-text);text-decoration:none;justify-content:center}a.s-btn.primary{color:var(--s-bg)}.narrator,.overlay{color:var(--s-text);font-size:15px}.overlay h1{color:#fff}.s-grid.two{grid-template-columns:1fr 1fr}@media (max-width: 960px){.s-grid.two{grid-template-columns:1fr}}.s-grid>*,.verify-grid>*{min-width:0}.s-panel,.reader,.catch-row{overflow-wrap:anywhere}.mic-wrap{display:inline-flex;align-items:center;gap:8px;min-width:0}.mic .mic-dot{width:8px;height:8px;border-radius:50%;background:var(--s-muted)}.mic.listening{border-color:var(--s-pause);color:var(--s-pause)}.mic.listening .mic-dot{background:var(--s-pause);animation:mic-pulse 1.2s ease-in-out infinite}.mic-status{font-family:var(--font-mono);font-size:12px;color:var(--s-muted);max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mic-status:empty{display:none}@keyframes mic-pulse{50%{opacity:.3}}@media (prefers-reduced-motion: reduce){.mic.listening .mic-dot{animation:none}}.search-box input,.term-input input{min-width:0}@media (max-width: 480px){.search-box{flex-wrap:wrap}.search-box input{flex-basis:100%}.term-input{flex-wrap:wrap}.term-input input{flex-basis:calc(100% - 80px)}}.narrator .listen{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--s-line-3);border-radius:999px;color:var(--s-text-2);font-family:var(--font-mono);font-size:11px;padding:2px 10px}.narrator .listen:hover{border-color:var(--s-text-2);color:var(--s-text)}.voice-toggle{background:transparent;border:1px solid var(--s-line-3);border-radius:999px;color:var(--s-muted);font-family:var(--font-mono);font-size:12px;padding:3px 10px}.voice-toggle.on{color:var(--s-text);border-color:var(--s-blue)}.voice-toggle:before{content:"◖";margin-right:6px;color:var(--s-muted)}.voice-toggle.on:before{color:var(--s-blue)}.reg-staff{min-height:100vh;background:var(--t-bg);color:var(--t-ink);font-size:15px}.reg-staff a{color:var(--t-blue)}.reg-staff a:hover{color:var(--t-blue-dark)}.t-top{display:flex;align-items:center;gap:18px;padding:12px 28px;background:#fff;border-bottom:1px solid var(--t-line);flex-wrap:wrap}.t-logo{font-family:var(--font-mono);font-weight:600;font-size:17px;color:var(--t-ink);text-decoration:none}.t-logo .cursor{color:var(--t-amber)}.t-role{font-family:var(--font-mono);font-size:12px;color:var(--t-text-2)}.t-nav{display:flex;gap:4px;flex-wrap:wrap}.t-nav a{text-decoration:none;color:var(--t-ink);padding:7px 12px;border-radius:6px;font-size:14px;font-weight:500}.t-nav a.active{background:var(--t-chip)}.t-nav a .dot{color:var(--t-red);margin-right:4px}.t-right{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--t-text-2);flex-wrap:wrap}.t-switch{display:inline-flex;border:1px solid var(--t-line-2);border-radius:6px;overflow:hidden}.t-switch a{padding:5px 10px;font-size:12px;text-decoration:none;color:var(--t-ink)}.t-switch a.active{background:var(--t-ink);color:#fff}.t-main{max-width:1280px;margin:0 auto;padding:24px 28px 48px}.t-kicker{font-family:var(--font-mono);font-size:12px;color:var(--t-text-2)}.t-h1{font-size:30px;font-weight:700;margin:4px 0 18px;letter-spacing:-.4px}.t-h2{font-size:17px;font-weight:600;margin:0 0 12px}.t-card{background:var(--t-card);border:1px solid var(--t-line);border-radius:12px;padding:20px}.t-card+.t-card{margin-top:16px}.t-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}@media (max-width: 960px){.t-grid{grid-template-columns:1fr}}.t-cols-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.t-cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width: 900px){.t-cols-4,.t-cols-3{grid-template-columns:1fr 1fr}}.t-muted{color:var(--t-text-2)}.t-small{font-size:13px}.t-section-label{font-size:14px;font-weight:600;margin:18px 0 8px}.t-section-label:first-child{margin-top:0}.t-section-label span{font-weight:400;color:var(--t-text-2)}.t-btn{border-radius:8px;padding:9px 14px;border:1px solid var(--t-line-2);background:#fff;color:var(--t-ink);font-weight:600;font-size:14px;display:inline-flex;gap:8px;align-items:center;text-decoration:none}.t-btn:hover:not(:disabled){border-color:var(--t-ink)}.t-btn.primary{background:var(--t-blue);color:#fff;border-color:var(--t-blue)}.t-btn.primary:hover:not(:disabled){background:var(--t-blue-dark)}.t-btn.dark{background:var(--t-ink);color:#fff;border-color:var(--t-ink)}.t-btn.danger{background:var(--t-red);color:#fff;border-color:var(--t-red)}.t-btn.small{padding:5px 10px;font-size:13px}.t-btn.block{width:100%;justify-content:center;padding:13px}.t-toggle{border-radius:8px;padding:8px 12px;border:1px solid var(--t-line-2);background:#fff;color:var(--t-ink);font-size:14px;display:inline-flex;gap:8px;align-items:center}.t-toggle[aria-pressed=true]{background:var(--t-ink);color:#fff;border-color:var(--t-ink)}.t-toggle .n{font-family:var(--font-mono);font-size:11px;opacity:.7}.t-check{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid var(--t-line);border-radius:8px;font-size:14px}.t-check input{accent-color:var(--t-blue);width:16px;height:16px}.t-stepper{display:inline-flex;align-items:center;border:1px solid var(--t-line-2);border-radius:8px}.t-stepper button{border:0;background:transparent;width:36px;height:36px;font-size:18px}.t-stepper output{font-family:var(--font-mono);font-weight:600;width:40px;text-align:center}.t-input,.t-select{border:1px solid var(--t-line-2);border-radius:8px;padding:9px 12px;background:#fff;color:var(--t-ink);font-size:14px}.t-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.t-field label{font-size:13px;font-weight:600}.t-warn{background:var(--t-warn-bg);border:1px solid var(--t-warn-line);color:var(--t-warn-ink);border-radius:10px;padding:12px 14px;font-size:14px}.t-warn b{display:block;margin-bottom:2px}.t-info{background:var(--t-blue-bg);border-radius:10px;padding:12px 14px;font-size:14px;color:#10204a}.t-ok{color:#1c6b3a;font-weight:600}.t-legal{font-family:var(--font-mono);font-size:12px;color:#8a4f00;background:#fff4de;border-radius:6px;padding:6px 10px;display:inline-block}.meter{height:8px;background:var(--t-chip);border-radius:4px;overflow:hidden;margin:10px 0 6px}.meter i{display:block;height:100%;background:var(--t-blue)}.meter.over i{background:var(--t-red)}.stackbar{display:flex;height:22px;border-radius:4px;overflow:hidden;background:var(--t-chip);gap:2px}.stackbar i{display:block;height:100%}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;margin-top:10px}.legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;background:var(--c);vertical-align:-1px}.t-table{width:100%;border-collapse:collapse;font-size:14px}.t-table th{text-align:left;font-weight:600;font-size:12px;color:var(--t-text-2);padding:8px 10px;border-bottom:1px solid var(--t-line)}.t-table td{padding:10px;border-bottom:1px solid var(--t-line)}.t-table td.mono,.t-table th.num,.t-table td.num{font-family:var(--font-mono)}.t-table td.num,.t-table th.num{text-align:right}.t-table tr:last-child td{border-bottom:0}.pill{font-family:var(--font-mono);font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;background:var(--t-chip);color:var(--t-ink);white-space:nowrap}.pill.blue{background:var(--t-blue-soft);color:#10204a}.pill.dark{background:var(--t-ink);color:#fff}.pill.red{background:#f9e1dc;color:var(--t-red)}.pill.amber{background:var(--t-amber);color:#1a1100}.pill.vblue{background:var(--t-blue);color:#fff}.pill.green{background:#dff3e6;color:#1c6b3a}.preview-list{list-style:none;padding:0;margin:0}.preview-list li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--t-line);font-size:14px}.preview-list li .t{font-family:var(--font-mono);font-size:11px;color:var(--t-text-2)}.blocks{display:flex;gap:4px;flex-wrap:wrap}.blocks span{font-size:13px;padding:6px 10px;border-radius:6px;border:1px solid var(--t-line)}.blocks span.now{background:var(--t-ink);color:#fff;border-color:var(--t-ink)}.blocks span.done{color:var(--t-text-2)}.student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.st-card{background:#fff;border:1px solid var(--t-line);border-radius:8px;padding:12px;font-size:13px}.st-card.stuck{border:2px solid var(--t-red);padding:11px}.st-card.absent{opacity:.5}.st-card .name{font-family:var(--font-mono);font-weight:600;font-size:14px}.st-card .why{color:var(--t-red);margin-top:6px}.stage-chip{font-family:var(--font-mono);font-size:11px;font-weight:600;padding:2px 7px;border-radius:4px}.stage-BRIEF,.stage-ASK,.stage-WRITE{background:var(--t-chip);color:var(--t-ink)}.stage-PAUSE{background:var(--t-amber);color:#1a1100}.stage-VERIFY{background:var(--t-blue);color:#fff}.stage-CATCH,.stage-COMPARE{background:var(--t-ink);color:#fff}.stage-DONE,.stage-REFLECT{background:var(--t-blue-soft);color:#10204a}.need{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--t-line);font-size:14px}.need:last-of-type{border-bottom:0}.big-num{font-size:44px;font-weight:700;letter-spacing:-1px}.type-row{display:grid;grid-template-columns:170px 1fr 110px;gap:12px;align-items:center;padding:8px 0;font-size:14px}.suggest{background:var(--t-ink);color:#fff;border-radius:12px;padding:20px}.suggest .t-kicker{color:#c9c5ba}.suggest b.hl{background:var(--t-amber);color:#1a1100;padding:0 5px;border-radius:3px}.steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.steps span{display:inline-flex;gap:8px;align-items:center;font-size:14px;color:var(--t-text-2)}.steps span i{font-style:normal;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--t-line-2);font-family:var(--font-mono);font-size:12px}.steps span.done i{background:var(--t-ink);color:#fff;border-color:var(--t-ink)}.steps span.now{color:var(--t-ink);font-weight:600}.steps span.now i{border:2px solid var(--t-blue);color:var(--t-blue)}.steps span+span:before{content:"—";color:var(--t-line-2);margin-right:8px}.choice-card{text-align:left;border:1px solid var(--t-line);border-radius:10px;padding:16px;background:#fff;width:100%;color:var(--t-ink)}.choice-card[aria-pressed=true]{border:2px solid var(--t-blue);padding:15px}.lock-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--t-line);font-size:14px}.lock-row b{font-family:var(--font-mono);font-size:12px}.lock-row b:before{content:"🔒 "}.radio-row{display:flex;gap:8px;flex-wrap:wrap}.request{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--t-line)}.audit-row{display:grid;grid-template-columns:56px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--t-line);font-size:13px}.audit-row span{font-family:var(--font-mono);color:var(--t-text-2)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#15171c73;display:grid;place-items:center;z-index:60;padding:20px}.modal{background:#fff;border-radius:12px;padding:22px;width:min(620px,100%);max-height:85vh;overflow:auto}.code-box{font-family:var(--font-mono);font-size:12px;background:var(--t-bg);border:1px solid var(--t-line);border-radius:8px;padding:10px;max-height:280px;overflow:auto;white-space:pre-wrap}.projector{font-size:18px}.projector .t-h1{font-size:40px}.family{max-width:680px;margin:0 auto;padding:36px 24px 60px;line-height:1.6}.family h1{font-size:30px;line-height:1.2}.family ul{padding-left:20px}.family li{margin:6px 0}a.t-btn{text-decoration:none}a.t-btn.primary,a.t-btn.dark{color:#fff}.t-card{overflow-x:auto}.t-table{min-width:560px}.t-switch a,.t-nav a{display:inline-flex;align-items:center}.t-grid>*,.s-grid>*{min-width:0}.t-card{overflow-wrap:anywhere}.auth-card{max-width:440px;margin:40px auto}.auth-card .t-input{width:100%;box-sizing:border-box}.invite-link{display:flex;gap:8px;align-items:center;margin-top:10px}.invite-link input{flex:1;min-width:0;font-family:var(--font-mono);font-size:12px}
