@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-vietnamese-400-normal-CvGt0Ybw.woff2) format("woff2"),url(/assets/fraunces-vietnamese-400-normal-B65MOf9T.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:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-ext-400-normal-D8gbi3Gu.woff2) format("woff2"),url(/assets/fraunces-latin-ext-400-normal-UihxqfOe.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:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-normal-6IfK1voy.woff2) format("woff2"),url(/assets/fraunces-latin-400-normal-NUPT2cO8.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.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:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-vietnamese-700-normal-DH94m5DZ.woff2) format("woff2"),url(/assets/fraunces-vietnamese-700-normal-DxawQjq2.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:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-ext-700-normal-CanUGppC.woff2) format("woff2"),url(/assets/fraunces-latin-ext-700-normal-DuBstVeD.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:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-700-normal-CEOla-zY.woff2) format("woff2"),url(/assets/fraunces-latin-700-normal-DTjk5d1Q.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:Fraunces;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/fraunces-vietnamese-900-normal-BwLbQoNo.woff2) format("woff2"),url(/assets/fraunces-vietnamese-900-normal-22-IZO0F.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:Fraunces;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/fraunces-latin-ext-900-normal-B8j5GSzS.woff2) format("woff2"),url(/assets/fraunces-latin-ext-900-normal-B2hmprcz.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:Fraunces;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/fraunces-latin-900-normal-DmBL83SS.woff2) format("woff2"),url(/assets/fraunces-latin-900-normal-D67OkaMf.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:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/schibsted-grotesk-latin-ext-wght-normal-hsMS0n0O.woff2) format("woff2-variations");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:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/schibsted-grotesk-latin-wght-normal-Bb8VGrTG.woff2) format("woff2-variations");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:Overpass Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/overpass-mono-cyrillic-ext-600-normal-Bh_4P40x.woff2) format("woff2"),url(/assets/overpass-mono-cyrillic-ext-600-normal-UFW49wI4.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:Overpass Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/overpass-mono-cyrillic-600-normal-JW4VG2Dr.woff2) format("woff2"),url(/assets/overpass-mono-cyrillic-600-normal-BKbqme25.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Overpass Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/overpass-mono-vietnamese-600-normal-BobdPw6V.woff2) format("woff2"),url(/assets/overpass-mono-vietnamese-600-normal-Bo9tXo9f.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:Overpass Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/overpass-mono-latin-ext-600-normal-rnoLi9UA.woff2) format("woff2"),url(/assets/overpass-mono-latin-ext-600-normal-gyxvOplJ.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:Overpass Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/overpass-mono-latin-600-normal-DBP6720Q.woff2) format("woff2"),url(/assets/overpass-mono-latin-600-normal-gGkmhJLl.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-ext-400-normal-CWV284fw.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-ext-400-normal-DLkyKLvH.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:400;src:url(/assets/source-serif-4-cyrillic-400-normal-C44pakCn.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-400-normal-B8Z6Jvzv.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:400;src:url(/assets/source-serif-4-greek-400-normal-Cw5-AHNN.woff2) format("woff2"),url(/assets/source-serif-4-greek-400-normal-BccYJ-vZ.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:400;src:url(/assets/source-serif-4-vietnamese-400-normal-BbG3LG1A.woff2) format("woff2"),url(/assets/source-serif-4-vietnamese-400-normal-DR1UuFon.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:400;src:url(/assets/source-serif-4-latin-ext-400-normal-Cp7z-ARB.woff2) format("woff2"),url(/assets/source-serif-4-latin-ext-400-normal-CEpydyUl.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:400;src:url(/assets/source-serif-4-latin-400-normal-DJ5YJwmz.woff2) format("woff2"),url(/assets/source-serif-4-latin-400-normal-Dn3IlU-Z.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:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-ext-400-italic-zoDFlEzN.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-ext-400-italic-Dx4A8QUO.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:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-400-italic-BLN19cOa.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-400-italic-Dx8qIUN3.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:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-greek-400-italic-C7D4Dq0H.woff2) format("woff2"),url(/assets/source-serif-4-greek-400-italic-DcuniPAV.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:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-vietnamese-400-italic-CjUPRDIa.woff2) format("woff2"),url(/assets/source-serif-4-vietnamese-400-italic-DyjhI2GX.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:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-ext-400-italic-JynPwBMj.woff2) format("woff2"),url(/assets/source-serif-4-latin-ext-400-italic-G7LDTi7t.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:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-400-italic-0j97Jm6B.woff2) format("woff2"),url(/assets/source-serif-4-latin-400-italic-Dv9jnFA_.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-cyrillic-ext-600-normal-D_E8FDgP.woff2) format("woff2"),url(/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(/assets/source-serif-4-cyrillic-600-normal-BDP5YDHD.woff2) format("woff2"),url(/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(/assets/source-serif-4-greek-600-normal-DdRkKr-1.woff2) format("woff2"),url(/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(/assets/source-serif-4-vietnamese-600-normal-CznyfUKR.woff2) format("woff2"),url(/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(/assets/source-serif-4-latin-ext-600-normal-0sIUyHMO.woff2) format("woff2"),url(/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(/assets/source-serif-4-latin-600-normal-DouSKlru.woff2) format("woff2"),url(/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}:root{--bg: #EAF1FA;--surface: #FFFFFF;--surface-2: #EFEBE2;--ink: #101418;--ink-soft: #5A6472;--border: #E0DBD0;--nav-bg: #101418;--sidebar-bg: #E3EEF9;--sidebar-ink: #1B3A55;--sidebar-active-bg: #FFFFFF;--sidebar-active-ink: #12283B;--sidebar-pill-bg: rgb(255 255 255 / .55);--sidebar-pill-bg-hover: rgb(255 255 255 / .85);--route-green: #0E8A7B;--route-green-ink: #FFFFFF;--caution: #D98E2B;--stop: #C64B3E;--shield-blue: #0E8A7B;--tint-green: #E2F1EE;--tint-amber: #F8EEDD;--tint-red: #F7E6E3;--tint-blue: #E2F1EE;--radius: 8px;--radius-sign: 12px;--shadow-card: 0 1px 2px rgb(16 20 24 / .06), 0 4px 14px rgb(16 20 24 / .06);--shadow-sign: 0 2px 8px rgb(16 20 24 / .12);--shadow-raised: 0 6px 20px rgb(16 20 24 / .14);--road-fill: rgb(16 20 24 / .12);--glow-green: none;--horizon-wash: linear-gradient(180deg, rgb(14 138 123 / .08) 0%, rgb(120 160 200 / .06) 30%, rgb(247 245 240 / 0) 60%);--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-ui: "Schibsted Grotesk Variable", "Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;--font-mono: "Overpass Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--tracking-sign: .06em;--text: var(--ink);--text-muted: var(--ink-soft);--accent: var(--shield-blue);--accent-text: #FFFFFF;--correct-bg: var(--tint-green);--correct-border: var(--route-green);--incorrect-bg: var(--tint-red);--incorrect-border: var(--stop);--urgent: var(--stop)}@media (prefers-color-scheme: dark){:root{--bg: #0C1220;--surface: #18202E;--surface-2: #202A3B;--ink: #EFEDE6;--ink-soft: #A6B0BF;--border: #2A3446;--nav-bg: #0A0F1A;--sidebar-bg: var(--nav-bg);--sidebar-ink: #EFEDE6;--sidebar-active-bg: rgb(255 255 255 / .12);--sidebar-active-ink: #FFFFFF;--sidebar-pill-bg: rgb(255 255 255 / .1);--sidebar-pill-bg-hover: rgb(255 255 255 / .18);--route-green: #2FB5A3;--tint-green: #123029;--caution: #E6A24A;--tint-amber: #33260F;--stop: #E06B5D;--tint-red: #341613;--shield-blue: #2FB5A3;--tint-blue: #123029;--shadow-card: 0 1px 3px rgb(0 0 0 / .5);--shadow-sign: 0 3px 12px rgb(0 0 0 / .5);--shadow-raised: 0 8px 24px rgb(0 0 0 / .5);--road-fill: rgb(239 237 230 / .28);--glow-green: 0 0 18px rgb(47 181 163 / .3);--horizon-wash: linear-gradient(180deg, #142138 0%, var(--bg) 62%);--accent-text: #06120F;--route-green-ink: #06120F}}*,*:before,*:after{box-sizing:border-box}body{margin:0;font:400 16px/1.6 var(--font-ui);color:var(--text);background-color:var(--bg);background-image:var(--horizon-wash);background-repeat:no-repeat;background-size:100% 640px;background-position:top center}@media (prefers-color-scheme: dark){body{background-size:100% 100vh;background-attachment:fixed}}h1,h2{font-family:var(--font-display);font-weight:600;line-height:1.15;letter-spacing:-.01em;color:var(--ink)}h1{font-size:2.4rem;font-weight:700}h2{font-size:1.85rem}h3,h4{font-family:var(--font-ui);font-weight:700;line-height:1.3;letter-spacing:-.005em;color:var(--ink)}h3{font-size:1.2rem}h4{font-size:1.02rem}p{margin:.6em 0}a{color:var(--accent)}article.passage,.lesson-body{font-family:var(--font-serif);font-size:1.05rem;line-height:1.65}article.passage h3,article.passage h4{font-family:var(--font-ui);font-weight:800;letter-spacing:-.01em}.timer-bar,.palette .pal{font-family:var(--font-mono);font-weight:600}.shield-number{font-family:var(--font-mono);font-weight:700}.layout nav.sign-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1.25rem;padding:.85rem 1.5rem;font-family:var(--font-ui);font-weight:600;background:var(--sidebar-bg);border-bottom:none;border-radius:0;box-shadow:var(--shadow-sign)}.layout nav.sign-nav a{text-decoration:none;color:var(--sidebar-ink);font-size:.95rem;position:relative;opacity:.82;transition:opacity .12s ease,background .12s ease,color .12s ease}.layout nav.sign-nav a:hover{opacity:1}.layout nav.sign-nav a.brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3em;font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;font-size:1.05rem;color:var(--sidebar-ink);opacity:1;margin:0 0 1.5rem}.brand-logo{position:relative;display:inline-flex;margin-bottom:.05em}.brand-peak{display:inline-flex;width:2.6em;height:2.6em;flex-shrink:0}.brand-peak img{width:100%;height:100%;object-fit:contain;display:block}.layout nav.sign-nav a:last-child{margin-left:auto;background:var(--sidebar-pill-bg);border-radius:999px;padding:.35em .9em;opacity:1}.layout nav.sign-nav a:last-child:hover{background:var(--sidebar-pill-bg-hover)}.layout nav.sign-nav a.sidebar-link{display:flex;align-items:center;gap:.7em}.sidebar-icon{display:inline-flex;width:1.2em;height:1.2em;flex-shrink:0}.sidebar-icon svg{width:100%;height:100%}.sidebar-avatar{width:1.6em;height:1.6em;border-radius:50%;flex-shrink:0;object-fit:cover}.layout nav.sign-nav a.sidebar-link.active{opacity:1;color:var(--sidebar-active-ink);background:var(--sidebar-active-bg);border-radius:var(--radius);box-shadow:var(--shadow-card)}.layout main,.gate{max-width:760px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.layout main:has(>section.dashboard){max-width:1100px}@media (min-width: 720px){.layout{display:flex;align-items:flex-start}.layout nav.sign-nav{flex-direction:column;align-items:stretch;justify-content:flex-start;flex:0 0 232px;width:232px;height:100vh;position:sticky;top:0;overflow-y:auto;padding:1.75rem 1.1rem;gap:.15rem}.layout nav.sign-nav a.brand{margin:0 0 1.5rem}.layout nav.sign-nav a.sidebar-link{padding:.6em .75em;border-radius:var(--radius)}.layout nav.sign-nav a:last-child{margin-left:0;margin-top:auto;justify-content:flex-start}.layout main{flex:1 1 auto;min-width:0;margin:0 auto}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.gate{display:flex;align-items:center;justify-content:center;min-height:80vh}.gate-card{width:100%;max-width:400px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sign);box-shadow:var(--shadow-card);padding:2.75rem 2.25rem 2.25rem}.gate-card .route-shield{margin:0 auto 1.1rem}.gate-card h1{margin:0 0 .1em;font-size:2rem}.gate-card .gate-brand{font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--route-green);margin:0 0 .6em;letter-spacing:-.01em}.gate-card .gate-tagline{color:var(--ink-soft);margin:0 0 1.75em}.gate-card h2{font-family:var(--font-ui);font-weight:700;font-size:1rem;margin:0 0 .9em}.gate-card form label{text-align:left}.gate-card input{max-width:none}.gate-card button[type=submit]{width:100%;margin-top:.85rem}.onboarding-page{display:flex;align-items:center;justify-content:center;min-height:80vh;position:relative}.onboarding-skip{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;box-shadow:none;padding:0;color:var(--ink-soft);font-weight:600;text-decoration:underline}.onboarding-skip:hover{color:var(--ink);border-color:transparent}.onboarding-card{width:100%;max-width:460px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sign);box-shadow:var(--shadow-card);padding:2.75rem 2.25rem 2.25rem}.onboarding-icon{display:inline-flex;width:2.25rem;height:2.25rem;color:var(--ink-soft);margin-bottom:.75rem}.onboarding-step-label{color:var(--ink-soft);font-weight:600;margin:0 0 .6em}.onboarding-dots{display:flex;justify-content:center;gap:.4rem;margin-bottom:1.5rem}.onboarding-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--border)}.onboarding-dot.filled{background:var(--route-green)}.onboarding-step-body{margin:1.5rem 0 2rem;color:var(--ink-soft)}.onboarding-nav{display:flex;align-items:center;gap:1rem}.onboarding-nav .onboarding-next{flex:1}.onboarding-back{background:none;border:none;box-shadow:none;padding:0;color:var(--ink-soft);font-weight:600}.onboarding-back:hover{color:var(--ink);border-color:transparent}.onboarding-step-body h2{margin:0 0 .3em;font-size:1.5rem}.onboarding-subtitle{color:var(--ink-soft);margin:0 0 1.5em}.onboarding-subquestion{color:var(--ink-soft);font-weight:600;margin:1.25em 0 .6em;font-size:.92rem}.onboarding-goal-readout{font-family:var(--font-display);font-weight:700;font-size:3.2rem;line-height:1;margin:.2em 0 .6em}.onboarding-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;max-width:none;height:8px;border-radius:999px;background:var(--border);border:none;padding:0;margin:0}.onboarding-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--route-green);border:3px solid var(--surface);box-shadow:var(--shadow-sign);cursor:pointer}.onboarding-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--route-green);border:3px solid var(--surface);box-shadow:var(--shadow-sign);cursor:pointer}.onboarding-slider-labels{display:flex;justify-content:space-between;color:var(--ink-soft);font-size:.85rem;margin-top:.4em}.onboarding-date-field{margin:0 0 1rem}.onboarding-date-field input{max-width:none;border-radius:999px;padding:.7em 1.1em;font-size:1rem;text-align:center}.onboarding-section-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin:.5rem 0}.onboarding-section-card{display:flex;align-items:center;gap:.6em;padding:.8em 1em;border:1.5px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);font-weight:600;text-align:left}.onboarding-section-card.checked{border-color:var(--route-green);background:var(--tint-green)}.onboarding-section-check{display:inline-flex;width:1.3rem;height:1.3rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;background:var(--route-green);color:var(--route-green-ink);padding:.2em}.onboarding-section-check svg{width:100%;height:100%}.onboarding-science-toggle{cursor:pointer;font-size:.85rem;font-weight:400;color:var(--ink-soft)}.onboarding-switch{position:relative;flex-shrink:0;width:2.4rem;height:1.4rem;border-radius:999px;background:var(--border);transition:background .15s ease}.onboarding-switch.on{background:var(--route-green)}.onboarding-switch-knob{position:absolute;top:2px;left:2px;width:calc(1.4rem - 4px);height:calc(1.4rem - 4px);border-radius:50%;background:var(--surface);box-shadow:var(--shadow-card);transition:transform .15s ease}.onboarding-switch.on .onboarding-switch-knob{transform:translate(1rem)}.onboarding-pill-group{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.onboarding-pill{border-radius:999px;padding:.5em 1.1em;font-weight:600;border:1.5px solid var(--border);background:var(--surface);color:var(--ink)}.onboarding-pill.selected{background:var(--route-green);border-color:var(--route-green);color:var(--route-green-ink)}.onboarding-pill.selected:hover{color:var(--route-green-ink)}.onboarding-pill-check{margin-right:.3em}.onboarding-confidence-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.onboarding-confidence-row{display:flex;align-items:center;gap:.75rem;padding:.5em 0;border-bottom:1px solid var(--border);text-align:left}.onboarding-confidence-row:last-child{border-bottom:none}.onboarding-confidence-label{flex:0 0 5.5em;font-weight:600}.onboarding-confidence-circles{display:flex;gap:.4rem;flex:1;justify-content:center}.onboarding-confidence-circle{width:1.1rem;height:1.1rem;border-radius:50%;padding:0;border:1.5px solid var(--route-green);background:transparent}.onboarding-confidence-circle.filled{background:var(--route-green)}.onboarding-confidence-count{flex:0 0 2.6em;text-align:right;font-family:var(--font-mono);color:var(--ink-soft);font-size:.9rem}.onboarding-confidence-legend{display:flex;justify-content:space-between;color:var(--ink-soft);font-size:.8rem;margin-top:.5em}.onboarding-score-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem 1.25rem;margin-top:1.25rem;text-align:left}.onboarding-score-field input{max-width:none;text-align:center}.onboarding-day-picker{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.onboarding-day-circle{width:2.4rem;height:2.4rem;border-radius:50%;padding:0;font-weight:600;border:1.5px solid var(--border);background:var(--surface);color:var(--ink)}.onboarding-day-circle.selected{background:var(--route-green);border-color:var(--route-green);color:var(--route-green-ink)}.onboarding-day-circle.selected:hover{color:var(--route-green-ink)}.onboarding-summary-tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem 1.75rem;margin:1rem 0 1.5rem}.onboarding-summary-tile{display:flex;flex-direction:column;gap:.2em}.onboarding-summary-label{font-size:.78rem;color:var(--ink-soft);font-weight:600}.onboarding-summary-value{font-family:var(--font-display);font-weight:700;font-size:1.5rem}.onboarding-summary-value-sm{font-family:var(--font-ui);font-size:1rem}.onboarding-recommend-card{background:var(--tint-green);border:1px solid var(--route-green);border-radius:var(--radius-sign);padding:.85em 1.1em;text-align:left}@media (max-width: 719px){.onboarding-section-grid,.onboarding-score-grid{grid-template-columns:1fr}.onboarding-confidence-label{flex-basis:4.5em}}button{font:inherit;cursor:pointer;padding:.55em 1em;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.submit,button.cta,button[type=submit],a.cta{background:var(--route-green);border-color:var(--route-green);color:var(--route-green-ink);font-weight:600;border-radius:var(--radius-sign);box-shadow:var(--shadow-sign),var(--glow-green)}button.submit:hover,button.cta:hover,button[type=submit]:hover,a.cta:hover{color:var(--route-green-ink);opacity:1;filter:brightness(1.08)}a.cta{display:inline-block;text-decoration:none;padding:.55em 1.1em;margin-top:.4em}label{display:block;margin:.75rem 0;font-size:.95rem;color:var(--text-muted)}select,input{display:block;width:100%;max-width:320px;margin-top:.25rem;padding:.5em .6em;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.choices{list-style:none;margin:1rem 0;padding:0;display:flex;flex-direction:column;gap:.7rem}.choice{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.choice button{width:100%;text-align:left;border:none;border-radius:var(--radius);background:transparent;padding:.85em 1.1em;display:flex;gap:.7em}.choice>button:first-child{flex:1;width:auto}.choice{transition:border-color .12s ease}.choice:hover{border-color:var(--accent)}.choice .label{align-self:flex-start;margin-top:.2em;font-weight:700;color:var(--ink-soft);min-width:1.6em;text-align:center;font-family:var(--font-ui);font-stretch:125%;letter-spacing:.02em;background:var(--surface-2);border:1.5px solid var(--border);border-radius:4px;padding:.15em .35em}.choice.chosen{outline:2px solid var(--accent);outline-offset:-1px}.choice.correct{background:var(--correct-bg);border-color:var(--correct-border);box-shadow:var(--glow-green)}.choice.correct .label{background:var(--route-green);border-color:var(--route-green);color:var(--route-green-ink)}.choice.incorrect{background:var(--incorrect-bg);border-color:var(--incorrect-border)}.choice.incorrect .label{background:var(--stop);border-color:var(--stop);color:#fff}.choice button:disabled{color:var(--ink);opacity:1;cursor:default}.choice .eliminate{flex:0 0 auto;align-self:center;width:28px;height:28px;margin:0 .2em 0 0;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink-soft);font-weight:700;font-size:.8rem;line-height:1;opacity:.55;transition:border-color .12s ease,background .12s ease,color .12s ease,opacity .12s ease}.choice .eliminate:hover,.choice .eliminate:focus-visible{border-color:var(--border);background:var(--surface-2);color:var(--ink);opacity:1}.choice .eliminate[aria-pressed=true]{color:var(--urgent);border-color:var(--urgent);background:var(--tint-red);opacity:1}.choice.eliminated>button:first-child{text-decoration:line-through;opacity:.55}.choice .choice-text{flex:1 1 auto;min-width:0;font-family:var(--font-serif);font-size:1.03rem;line-height:1.5}.reveal-mark{flex:0 0 auto;align-self:center;width:28px;height:28px;margin:0 .2em 0 0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;line-height:1}.reveal-mark.correct-mark{color:var(--route-green)}.reveal-mark.incorrect-mark{color:var(--stop)}.choice button{flex-wrap:wrap}.choice .your-answer-tag{flex:0 0 100%;margin-left:auto;margin-top:.3em;width:fit-content;font-family:var(--font-ui);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:var(--tracking-sign);white-space:nowrap;color:var(--stop);background:var(--surface);border:1px solid var(--stop);border-radius:999px;padding:.2em .65em}.question-card .stem{font-family:var(--font-serif);font-weight:700;font-size:1.08rem;line-height:1.5}.feedback{margin-top:1rem;padding:.75em 1em;border-radius:var(--radius);border:1px solid var(--border);border-left-width:3px}.feedback.right{background:var(--correct-bg);border-color:var(--correct-border)}.feedback.wrong{background:var(--incorrect-bg);border-color:var(--incorrect-border)}.feedback p{font-family:var(--font-serif);font-size:1.02rem;line-height:1.6}.tutor{margin-top:.9rem;padding-top:.8rem;border-top:1px dashed var(--border)}.tutor-heading{margin:0 0 .55rem;font-family:var(--font-ui);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:var(--tracking-sign);color:var(--text-muted)}.tutor-prompts{display:flex;flex-wrap:wrap;gap:.4rem}.tutor-prompt{width:auto;max-width:none;margin:0;flex:0 1 auto;padding:.4em .8em;font-family:var(--font-ui);font-size:.85rem;font-weight:600;color:var(--accent);background:var(--surface);border:1px solid var(--accent);border-radius:999px;cursor:pointer}.tutor-prompt:hover:not(:disabled){background:var(--tint-green)}.tutor-prompt:disabled{opacity:.55;cursor:default}.tutor-thread{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.tutor-turn{display:flex;flex-direction:column;gap:.15rem;padding:.55em .75em;border-radius:var(--radius);font-family:var(--font-serif);font-size:.98rem;line-height:1.55;overflow-wrap:anywhere}.tutor-turn-user{background:var(--surface-2);border:1px solid var(--border)}.tutor-turn-assistant{background:var(--tint-blue);border:1px solid var(--accent)}.tutor-turn-role{font-family:var(--font-ui);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:var(--tracking-sign);color:var(--text-muted)}.tutor-turn-text{color:var(--text);white-space:pre-wrap}.tutor-loading{margin:.6rem 0 0;font-family:var(--font-ui);font-size:.85rem;color:var(--text-muted)}.tutor-error{margin:.6rem 0 0;padding:.5em .7em;border-radius:var(--radius);background:var(--tint-amber);border:1px solid var(--caution);font-family:var(--font-ui);font-size:.85rem;color:var(--text)}.tutor-followup{display:flex;gap:.4rem;margin-top:.7rem;align-items:stretch}.tutor-followup input{flex:1 1 auto;width:auto;max-width:none;margin:0;min-width:0}.tutor-send{width:auto;max-width:none;margin:0;flex:0 0 auto;padding:.5em 1em;font-weight:600;color:var(--route-green-ink);background:var(--route-green);border:1px solid var(--route-green);border-radius:var(--radius);cursor:pointer}.tutor-send:disabled{opacity:.5;cursor:default}.term{display:inline;width:auto;padding:0;margin:0;border:none;border-radius:0;background:transparent;color:var(--accent);font:inherit;text-decoration:underline dotted;text-underline-offset:.2em;cursor:pointer}.term:hover{text-decoration-style:solid}.term-def{display:inline-block;margin:0 .25em;padding:.1em .5em;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:.88em;color:var(--text-muted)}.road{position:relative;margin:1rem 0;padding-left:1.75rem}.road:after{content:"";position:absolute;left:6px;top:.5rem;bottom:.5rem;width:0;border-left:2px dashed var(--road-fill)}.road-art{display:none}@media (min-width: 720px){.road{padding-left:0}.road:after{display:none}}.level-map{list-style:none;margin:0;padding:0;display:flex;flex-direction:column-reverse;gap:.9rem;position:relative}.level-node{display:flex;flex-direction:column;gap:.35em;position:relative;z-index:1;padding:1.1em 1.25em;border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-card);width:100%}.level-node-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.level-node-title{flex:1 1 140px;min-width:0;margin:0;line-height:1.3;font-size:1.05rem}@media (min-width: 720px){.level-map{gap:1.75rem}.level-node{width:calc(50% - 2.5rem)}.level-node:nth-child(odd){margin-right:auto}.level-node:nth-child(2n){margin-left:auto}.layout main:has(>section.path){max-width:1100px}.road-picture{max-width:1000px;margin:1rem auto 2rem}.road-art{display:block}.road-art img{display:block;width:100%;height:auto}.road-art-flip{transform:scaleY(-1)}.road-picture .level-map{position:absolute;top:0;right:0;bottom:0;left:0;gap:0}.road-picture .level-node{position:absolute;left:var(--px);top:var(--py);translate:-50% -50%;width:min(310px,34%);margin:0;padding:.85em 1em}.road-picture .level-node-title{font-size:.95rem}}.mile-plate{display:inline-flex;align-items:center;gap:.45em;flex-shrink:0;background:transparent;border:none;color:var(--ink);padding:0;white-space:nowrap;font-family:var(--font-ui);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:var(--tracking-sign)}.mile-plate .icon{display:inline-flex;width:1.15em;height:1.15em;line-height:1;color:var(--ink)}.mile-plate .icon svg{width:100%;height:100%}.level-node--diagnostic .mile-plate .icon{color:var(--ink-soft)}.level-node--checkpoint .mile-plate,.level-node--checkpoint .mile-plate .icon{color:var(--caution)}.level-node--sim .mile-plate .icon{color:var(--route-green)}.level-node--sim{border:2px solid var(--route-green);box-shadow:var(--shadow-sign)}.level-node.passed{background:var(--route-green);border-color:var(--route-green)}.level-node.passed .level-node-title,.level-node.passed .mile-plate,.level-node.passed .mile-plate .icon,.level-node.passed .level-node-category,.level-node.passed .level-node-best{color:var(--route-green-ink)}.level-node.passed .level-node-cta{color:var(--route-green-ink);border-color:#fff9;background:transparent}.level-node.next-up{box-shadow:0 0 0 2px var(--route-green) inset}.work-zone-badge{display:inline-flex;align-items:center;gap:.3em;font-family:var(--font-ui);text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:var(--tracking-sign);color:#8a5a16;background:var(--tint-amber);border:1px solid var(--caution);border-radius:999px;padding:.15em .6em}@media (prefers-color-scheme: dark){.work-zone-badge{color:var(--caution)}}.level-node.passed .work-zone-badge{color:#8a5a16}.report-flags{color:var(--caution);font-weight:600;margin:0 0 .75rem}.level-node-category{color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.level-node-best{color:var(--text-muted)}.level-node-cta{align-self:stretch;text-align:center;text-decoration:none;margin-top:.5em;border:1.5px solid var(--route-green);border-radius:999px;padding:.5em 1em;font-weight:600;background:var(--route-green);color:var(--route-green-ink)}.level-node-cta:hover{filter:brightness(1.06)}.level-node--diagnostic .level-node-cta{background:var(--surface);color:var(--route-green)}.level-node--checkpoint .level-node-cta{background:var(--caution);border-color:var(--caution);color:#3a2606}@media (prefers-color-scheme: dark){.level-node--checkpoint .level-node-cta{color:#06120f}}.section-tabs{display:flex;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}.section-tabs a{padding:.45em 1.2em;border:1.5px solid var(--border);border-radius:999px;text-decoration:none;color:var(--ink-soft);font-weight:600;background:var(--surface)}.section-tabs a:hover{border-color:var(--route-green);color:var(--route-green)}.section-tabs a.active{background:var(--route-green);border-color:var(--route-green);color:var(--route-green-ink)}.section-tabs button{padding:.45em 1.2em;border:1.5px solid var(--border);border-radius:999px;color:var(--ink-soft);font-weight:600;background:var(--surface)}.section-tabs button.active{background:var(--route-green);border-color:var(--route-green);color:var(--route-green-ink)}.tricks-sub{color:var(--ink-soft);margin:.2rem 0 1.25rem}.trick-grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.trick-card{display:flex;flex-direction:column;gap:.5em;padding:1.1em 1.25em;border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-card);transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.trick-card:hover{border-color:var(--route-green);transform:translateY(-2px);box-shadow:var(--shadow-sign)}.trick-card-icon{display:inline-flex;width:1.75rem;height:1.75rem;color:var(--ink);flex-shrink:0}.trick-card-icon svg{width:100%;height:100%}.trick-card-title{font-family:var(--font-display);font-weight:700;font-size:1.1rem;line-height:1.3}.trick-cue{color:var(--text-muted);margin:0;font-size:.92rem}.trick-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.6em;margin-top:auto;flex-wrap:wrap}.trick-card-section{text-transform:uppercase;font-size:.7rem;font-weight:700;font-family:var(--font-ui);font-stretch:125%;letter-spacing:var(--tracking-sign);color:var(--text-muted);background:var(--surface-2);border-radius:999px;padding:.2em .65em}.trick-card-best{font-family:var(--font-mono);font-weight:700;font-size:.78rem;color:var(--route-green-ink);background:var(--route-green);border-radius:999px;padding:.2em .7em}.trick-card .cta{align-self:flex-start;text-decoration:none;border:1px solid var(--accent);border-radius:var(--radius);padding:.4em .9em;margin-top:.15em}@media (min-width: 960px){.layout main:has(.run-body>article.passage){max-width:1100px}.run-body:has(>article.passage){display:grid;grid-template-columns:55% 1fr;gap:1.5rem;align-items:start}.run-body>article.passage{position:sticky;top:4.5rem;max-height:calc(100vh - 6rem);overflow-y:auto}}.focus-bar{padding:.6rem 1.25rem}.focus-bar .exit-link{text-decoration:none;color:var(--ink-soft);font-weight:600;font-size:.9rem}.focus-bar .exit-link:hover{color:var(--stop)}body:has(.layout.focus-mode){background-image:none}.timer-bar{display:flex;align-items:center;gap:.75rem;font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:600}.timed-run header .timer-bar{flex:1 1 auto;min-width:10rem;max-width:22rem}.timer-bar .track{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.timer-bar .fill{height:100%;background:var(--accent)}.timer-bar.warn{color:var(--caution)}.timer-bar.warn .fill{background:var(--caution)}.timer-bar.urgent{color:var(--urgent)}.timer-bar.urgent .fill{background:var(--urgent)}.palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:.45rem;margin:1rem 0}.palette .pal{width:34px;height:34px;padding:0;display:flex;align-items:center;justify-content:center;font-size:.85rem;background:var(--surface);border-radius:6px}.palette .pal.answered{background:var(--route-green);border-color:var(--route-green);color:var(--route-green-ink)}.palette .pal.flagged{box-shadow:0 0 0 2px var(--caution) inset}.palette .pal.current{outline:2px solid var(--ink);outline-offset:1px}.palette .pal:active{transform:translateY(1px) scale(.94);filter:brightness(.96)}.route-shield{display:block;overflow:visible;flex-shrink:0}.route-shield-sm{width:40px;height:calc(40px * 52 / 48)}.route-shield-lg{width:108px;height:calc(108px * 52 / 48)}.route-shield .shield-outline{fill:var(--surface);stroke:var(--ink);stroke-width:2.5}.route-shield.unknown .shield-outline{stroke-dasharray:4 3}.route-shield .shield-number{fill:var(--ink);text-anchor:middle;font-family:var(--font-display);font-weight:700;font-size:20px}.route-shield .badge-peak{stroke:var(--route-green);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.route-shield.unknown .badge-peak{stroke:var(--ink-soft);opacity:.6}.score-badge{display:flex;align-items:center;gap:.75rem;margin:1rem 0}.score-badge-plate{display:flex;flex-direction:column;gap:.2em;align-items:flex-start}.score-badge .label{font-weight:600;text-transform:capitalize;color:var(--ink)}.score-badge .disclaimer{font-family:var(--font-ui);font-stretch:125%;font-size:.68rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:var(--tracking-sign);font-weight:700;padding:.05em .4em;border:1px solid var(--border);border-radius:4px}.score-badge-lg{gap:1.25rem}.score-badge-lg .label{font-family:var(--font-display);font-weight:400;text-transform:none;font-size:1.4rem;line-height:1.15}.composite-hint{font-size:.85rem;color:var(--ink-soft);max-width:28ch;font-weight:400}.big-pct{font-size:3rem;font-weight:700;margin:.4em 0}article.passage{border:1px solid var(--border);border-radius:var(--radius);padding:1.1em 1.3em;margin:1rem 0;background:var(--surface);line-height:1.7}article.passage h3{margin-top:0}.tested-portion{text-decoration:underline;text-underline-offset:.15em;background:var(--tint-amber);border-radius:3px;padding:0 .05em}figure.data-figure{margin:1rem 0;overflow-x:auto}.lesson-body{border:1px solid var(--border);border-radius:var(--radius-sign);padding:1.1em 1.3em;margin:1rem auto;max-width:68ch;background:var(--surface);box-shadow:var(--shadow-card)}.lesson-body>*:first-child{margin-top:0}.lesson-body>*:last-child{margin-bottom:0}.lesson-body .callout{border-radius:var(--radius);padding:.75em 1em;margin:1.1em 0}.lesson-body .callout h3{margin:0 0 .3em;font-size:1.02rem}.lesson-body .callout p{margin:0}.lesson-body .callout-trap{background:var(--tint-amber);border:1px solid var(--caution);border-left:4px solid var(--caution)}.lesson-body .callout-example{background:var(--surface-2);border:1px solid var(--border)}.callout-icon{margin-right:.35em}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{border:1px solid var(--border);padding:.4em .6em;text-align:left}th{background:var(--bg)}.settings-card{border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-card);padding:1.25em 1.5em;margin:1.25rem 0}.settings-card h3{margin-top:0}.profile-list{list-style:none;margin:.75rem 0 1.25rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.profile-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6em .9em;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.profile-item.active{border-color:var(--route-green)}.profile-item-identity{display:flex;align-items:center;gap:.6em;min-width:0}.profile-item-avatar{width:2em;height:2em;border-radius:50%;flex-shrink:0;background:var(--surface-alt, var(--surface))}.profile-item-name{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-active-badge{font-family:var(--font-ui);font-stretch:125%;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:var(--tracking-sign);color:var(--route-green-ink);background:var(--route-green);border-radius:999px;padding:.2em .65em}.profile-new-form{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.profile-new-form label{flex:1 1 220px;margin:0}.profile-new-form button{margin:0}.backup-actions{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:.5rem}.backup-action{flex:1 1 220px}.settings-help{color:var(--ink-soft);font-size:.85rem;margin:.4em 0 0}.practice-builder>h2{text-align:center}.practice-builder-sub{color:var(--ink-soft);margin:.2rem 0 1.25rem;text-align:center}.builder-card{border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-card);padding:1.5em 1.75em;margin:1.25rem auto;max-width:480px}.builder-card label.builder-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0;padding:.7em 0;border-bottom:1px solid var(--border);font-weight:600;font-size:.95rem;color:var(--ink)}.builder-card label.builder-row:last-of-type{border-bottom:none}.builder-row select{width:auto;min-width:180px;max-width:220px;margin-top:0}.builder-pool{font-family:var(--font-mono);font-size:.85rem;color:var(--ink-soft);margin:1rem 0 0}.builder-start{width:100%;margin-top:.85rem;font-size:1.02rem;padding:.7em 1em}.run-controls,.confirm{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:1rem}.confirm{padding:1.1em 1.25em;border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-sign)}.confirm p{flex-basis:100%;margin:0 0 .2em;font-weight:600}.timed-run header,.practice-run header,.drill header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.fixit header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.run-progress{font-family:var(--font-mono);font-size:.85rem;font-weight:600;color:var(--ink-soft);white-space:nowrap}.run-summary-card .summit-icon{display:inline-flex;width:2rem;height:2rem;margin-bottom:.3em;color:var(--route-green)}.run-summary-card .summit-icon svg{width:100%;height:100%}.run-summary-card.not-yet .summit-icon{color:var(--caution)}.run-summary-card{max-width:420px;text-align:center;margin:1rem 0 1.25rem;border:1px solid var(--border);border-radius:var(--radius-sign);box-shadow:var(--shadow-card);padding:1.4em 1.75em;background:var(--surface)}.run-summary-card .big-pct{margin:0 0 .15em}.run-summary-card p:last-child{margin-bottom:0}.run-summary-card.pass{background:var(--tint-green);border-color:var(--route-green)}.run-summary-card.not-yet{background:var(--tint-amber);border-color:var(--caution)}.start-hero{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap;border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-card);padding:1.75em 2em;margin:1.25rem 0}.start-hero-copy{flex:1 1 260px}.start-hero-scene{width:240px;max-width:100%;height:auto;flex-shrink:0}.start-hero h3{font-family:var(--font-display);font-weight:400;margin:0 0 .35em;font-size:1.4rem}.start-hero p{max-width:46ch}.dash-hero{display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin:1.5rem 0 2rem}.streak-chip{font-family:var(--font-ui);font-weight:700;font-size:.95rem;letter-spacing:0;color:#8a5a16;background:var(--tint-amber);border:1px solid rgb(217 142 43 / .5);border-radius:999px;padding:.45em 1.1em;margin:0}@media (prefers-color-scheme: dark){.streak-chip{color:var(--caution)}}.testdate-chip{font-family:var(--font-ui);font-weight:700;font-size:.95rem;letter-spacing:0;color:var(--accent-text);background:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:.45em 1.1em;margin:0}.goal-callout{font-family:var(--font-ui);font-size:.95rem;color:var(--ink-soft);margin:.3rem 0 0}.road-work-sign{background:var(--tint-amber);border:1px solid var(--caution);border-left:4px solid var(--caution);border-radius:var(--radius);padding:.7em 1em;margin:1rem 0}.road-work-sign a{color:var(--ink);font-weight:600;text-decoration:none}.road-work-sign a:hover{text-decoration:underline}.dash-hero-banner{margin:.25rem 0 1.5rem}.dash-hero-banner h1{margin:0 0 .15em}.dash-subtitle{color:var(--ink-soft);margin:0 0 .75em}.dash-hero-chips{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.dash-hero-chips .goal-callout{margin:0}.dash-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin:0 0 1.5rem}.dash-row-3{display:grid;grid-template-columns:1fr;gap:1.25rem;margin:0 0 2rem}@media (min-width: 860px){.dash-grid{grid-template-columns:2fr 1fr;align-items:start}.dash-row-3{grid-template-columns:repeat(3,1fr);align-items:start}}.ascent-card,.dash-panel{border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-card);padding:1.4em 1.6em}.ascent-card h3,.dash-panel h3{margin-top:0}.ascent-sub{color:var(--ink-soft);margin:.1em 0 1em}.ascent-score-caption{color:var(--ink);font-weight:600;text-align:center;margin:1em 0 0}.ascent-scene{position:relative;container-type:inline-size;border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden;margin-top:.35rem}.ascent-scene-img{display:block;width:100%;height:auto}.ascent-scene-bubble{position:absolute;display:flex;align-items:center;justify-content:center;gap:.55cqw}.ascent-scene-glyph{width:2.4cqw;height:auto;flex-shrink:0}.ascent-scene-text{display:flex;flex-direction:column;min-width:0}.ascent-scene-label{font-weight:700;font-size:1.6cqw;line-height:1.25;color:#33424e;white-space:nowrap}.ascent-scene-sub{font-size:1.3cqw;line-height:1.3;color:#5d6d79;white-space:nowrap}.ascent-scene-legend{display:none}@media (max-width: 560px){.ascent-scene-bubble{display:none}.ascent-scene-legend{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .9rem;list-style:none;margin:0;padding:.7rem .9rem;border-top:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:.8rem}.ascent-scene-legend strong{display:block}}.ascent-svg{width:100%;height:auto;display:block;max-width:100%;overflow:visible;margin-top:2.75rem}.ascent-mountain-back{fill:url(#ascentBackGrad);stroke:var(--border);stroke-width:1.5}.ascent-mountain-front{fill:url(#ascentFrontGrad);stroke:var(--border);stroke-width:1.5}.ascent-mountain-fore{fill:url(#ascentForeGrad);stroke:none}.ascent-grad-back-a{stop-color:var(--tint-blue)}.ascent-grad-back-b,.ascent-grad-front-a{stop-color:var(--surface-2)}.ascent-grad-front-b{stop-color:var(--border)}.ascent-grad-fore-a{stop-color:#c7e4cc}.ascent-grad-fore-b{stop-color:#e6d6ac}@media (prefers-color-scheme: dark){.ascent-grad-fore-a{stop-color:#22402c}.ascent-grad-fore-b{stop-color:#453c24}}.ascent-road-base{fill:none;stroke:var(--road-fill);stroke-width:10;stroke-linecap:round;vector-effect:non-scaling-stroke}.ascent-road-shoulder{fill:none;stroke:var(--border);stroke-width:13;stroke-linecap:round;vector-effect:non-scaling-stroke}.ascent-trail{fill:none;stroke:var(--caution);stroke-width:3;stroke-dasharray:8 7;stroke-linecap:round;vector-effect:non-scaling-stroke}.ascent-arrow{fill:var(--caution);stroke:none}.ascent-summit-label{font-family:var(--font-ui);font-weight:700;font-size:11px;fill:var(--ink);text-transform:uppercase;letter-spacing:.04em}.ascent-summit-card{fill:var(--surface);stroke:var(--border);stroke-width:1;filter:drop-shadow(0 1px 2px rgb(16 20 24 / .16))}.ascent-summit-pole{fill:none;stroke:var(--ink-soft);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}.ascent-summit-pennant{fill:var(--caution);stroke:none}.ascent-pin-dot{fill:var(--caution);stroke:var(--surface);stroke-width:2}.ascent-pin-dot.progress{fill:var(--caution)}.ascent-pin-dot.complete{fill:var(--route-green)}.ascent-pin-stem{stroke:var(--caution);stroke-width:1.5;vector-effect:non-scaling-stroke}.ascent-pin-card{fill:var(--surface);stroke:var(--border);stroke-width:1;filter:drop-shadow(0 1px 2px rgb(16 20 24 / .14))}.ascent-pin-tail{fill:var(--surface);stroke:none}.ascent-pin-label{font-family:var(--font-ui);font-weight:700;font-size:12px;fill:var(--ink)}.ascent-pin-sub{font-family:var(--font-mono);font-size:9px;fill:var(--ink-soft)}.ascent-start-label{font-size:11px}.ascent-hiker{fill:none;stroke:var(--route-green);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ascent-hiker-head{fill:var(--surface);stroke:var(--route-green);stroke-width:2.4;vector-effect:non-scaling-stroke}.ascent-hiker-pack{fill:var(--caution);stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke}.ascent-hiker-pin{fill:var(--caution);stroke:none}.ascent-hiker-pin-hole{fill:var(--surface)}.ascent-tent-canvas{fill:var(--caution);stroke:var(--ink);stroke-width:1;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ascent-tent-door{fill:var(--route-green);stroke:none}.ascent-compass-body{fill:var(--surface-2);stroke:var(--border);stroke-width:1.3;vector-effect:non-scaling-stroke}.ascent-compass-tick{stroke:var(--ink-soft);stroke-width:1;vector-effect:non-scaling-stroke}.ascent-compass-needle-a{fill:var(--caution);stroke:none}.ascent-compass-needle-b{fill:var(--ink-soft);stroke:none}.key-stats{display:flex;flex-direction:column;gap:1rem}.key-stats-heading{margin:0 0 -.4rem}.key-stat-card{border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-card);padding:1.1em 1.25em;text-align:center}.key-stat-label{display:block;font-weight:600;color:var(--ink-soft);font-size:.85rem;margin-bottom:.6em}.key-stat-value{font-family:var(--font-mono);font-weight:700;font-size:1.9rem;color:var(--ink)}.key-stat-value-sm{font-weight:600;color:var(--ink-soft)}.key-stat-cta{display:inline-block;margin:0;font-size:.95rem}.stat-ring{--pct: 0%;--pct-half: 0%;width:88px;height:88px;border-radius:50%;margin:0 auto;position:relative;background:conic-gradient(var(--caution) 0 var(--pct-half),var(--route-green) var(--pct-half) var(--pct),var(--surface-2) 0);display:flex;align-items:center;justify-content:center}.stat-ring:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:50%;background:var(--surface)}.stat-ring-value{position:relative;font-family:var(--font-mono);font-weight:700;font-size:1.05rem;color:var(--ink)}.today-task-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}.today-task-list li{display:flex;align-items:center;gap:.6em}.today-task-list a{text-decoration:none;font-weight:600;color:var(--accent)}.today-task-list a:hover{text-decoration:underline}.task-check{flex:0 0 auto;width:1rem;height:1rem;border-radius:4px;border:1.5px solid var(--border);background:var(--surface)}.empty-state-inline{color:var(--ink-soft);margin:.5rem 0 0}.empty-state-camp{text-align:center}.empty-state-camp-scene{width:100%;max-width:200px;height:auto;margin:0 auto;display:block}.empty-state-camp .empty-state-inline{margin-top:.75rem}.subject-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.5rem}@media (max-width: 420px){.subject-cards{grid-template-columns:1fr}}.subject-card{border:1px solid var(--border);border-radius:var(--radius);padding:.7em .75em;background:var(--bg)}.subject-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.55em;flex-wrap:nowrap}.subject-card-head-text{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;min-width:0}.subject-name{font-weight:700}.subject-icon-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.9rem;height:1.9rem;border-radius:8px;background:var(--tint-green);color:var(--route-green)}.subject-icon-badge svg{width:60%;height:60%}.subject-practice-cta{display:inline-block;font-size:.85rem;padding:.4em .9em;margin:.1em 0 0;white-space:nowrap}a.cta.subject-practice-cta{background:var(--surface);border-color:var(--route-green);color:var(--route-green);box-shadow:none}a.cta.subject-practice-cta:hover{background:var(--tint-green);color:var(--route-green);filter:none}.achievements-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem;color:var(--ink-soft);font-size:.92rem}.dash-scores-summary{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.dash-scores-date{color:var(--ink-soft);font-size:.85rem;margin:0}.dash-scores-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.dash-scores-list li{display:flex;align-items:center;justify-content:space-between;font-size:.92rem}.dash-scores-list li strong{font-family:var(--font-mono)}.dash-scores-composite{font-weight:700;margin:.2rem 0 0}.dash-scores-link{align-self:flex-start;font-size:.85rem;padding:.4em .9em;margin-top:.3em}.mistake-log{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.mistake-log li{display:flex;flex-wrap:wrap;align-items:center;gap:.5em .75em;padding:.55em .85em;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-card)}.mistake-log-section{font-family:var(--font-ui);font-stretch:125%;text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:var(--tracking-sign);padding:.15em .55em;border-radius:999px;color:var(--accent-text);background:var(--accent)}.mistake-log-category,.mistake-log-misses{color:var(--ink-soft)}.mistake-log-due{margin-left:auto;font-family:var(--font-mono);font-size:.85rem;color:var(--ink-soft)}.mistake-log-due.due-now{color:var(--caution);font-weight:600}.empty-state{border:1px dashed var(--border);border-radius:var(--radius-sign);padding:1.5em 1.75em;margin:1rem 0;background:var(--surface-2)}.empty-state-title{font-family:var(--font-display);font-weight:400;font-size:1.25rem;color:var(--ink);margin-top:0}.empty-state .cta{margin-top:.6em}.path-cards,.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem;margin:1rem 0}.path-card{border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);padding:1.4em 1.5em;display:flex;flex-direction:column;gap:.85em;box-shadow:var(--shadow-card)}.path-card-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.path-card h3{font-family:var(--font-display);font-weight:700;text-transform:capitalize;font-size:1.6rem;margin:0;line-height:1}.path-card-score{font-family:var(--font-mono);font-weight:600;font-size:.85rem;color:var(--ink-soft);background:var(--surface-2);border-radius:6px;padding:.2em .6em;line-height:1}.path-progress-track{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.path-progress-fill{height:100%;background:var(--route-green);border-radius:999px;min-width:.5em}.path-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.path-card .path-progress{font-family:var(--font-ui);font-weight:400;font-size:.95rem;color:var(--ink-soft);text-transform:none;letter-spacing:0;margin:0}.path-card .cta{margin:0;border:none;background:var(--route-green);color:var(--route-green-ink);border-radius:var(--radius);padding:.5em 1em;font-weight:600;box-shadow:var(--shadow-card)}.path-card .cta:hover{filter:brightness(1.06)}.path-card .score-badge{margin:.4rem 0}.path-card--optional{opacity:.7;border-style:dashed}.path-card-optional-note{font-size:.82rem;color:var(--ink-soft);margin:0}.dash-focus-tag{display:inline-flex;align-items:center;gap:.3em;font-family:var(--font-ui);text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:var(--tracking-sign);color:var(--accent-text);background:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:.15em .6em}.acc-bars{list-style:none;margin:1rem 0;padding:0;display:flex;flex-direction:column;gap:.6rem}.acc-bars li{display:flex;align-items:center;gap:.75rem}.acc-bars li>span:first-child{min-width:12em;color:var(--text-muted)}.acc-bars li>span:last-child{min-width:6em;text-align:right;font-variant-numeric:tabular-nums}.acc-bars .bar{flex:1;height:10px;background:var(--surface-2);border-radius:5px;overflow:hidden}.acc-bars .bar div{height:100%;background:var(--route-green)}.miles-covered{display:flex;align-items:baseline;flex-wrap:wrap;gap:.15em .6em;margin:.25rem 0 1.25rem}.miles-covered-count{font-family:var(--font-mono);font-weight:700;font-size:1.6rem;color:var(--ink)}.miles-covered-label{font-family:var(--font-ui);font-stretch:125%;text-transform:uppercase;letter-spacing:var(--tracking-sign);font-size:.8rem;font-weight:600;color:var(--ink-soft)}.miles-covered-pct{margin-left:auto;font-family:var(--font-mono);font-weight:700;font-size:1.05rem;color:var(--route-green);background:var(--tint-green);padding:.2em .7em;border-radius:999px}.miles-covered-unanswered{flex-basis:100%;font-size:.85rem;font-weight:600;color:var(--caution)}.review-list{display:grid;grid-template-columns:1fr;gap:1rem;margin:1rem 0 1.5rem}@media (min-width: 720px){.review-list{grid-template-columns:repeat(2,1fr);align-items:start}}.review-card{border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-card);padding:1.1em 1.25em}.review-card .question-card{margin-top:.6em}.review-card-title{margin:0;font-family:var(--font-ui);font-weight:700;font-size:.95rem;color:var(--ink-soft);text-transform:capitalize;letter-spacing:0}.unanswered-tag{display:inline-flex;align-items:center;gap:.35em;width:fit-content;font-size:.78rem;font-weight:700;letter-spacing:.01em;color:var(--caution);background:var(--tint-amber);border:1px solid var(--caution);border-radius:999px;padding:.25em .85em;margin:.75rem 0 .35em}.trend{width:100%;max-width:320px;height:auto;color:var(--route-green)}.trend-axis{stroke:var(--ink-soft);stroke-width:1;opacity:.35}.trend-axis-label{font-family:var(--font-mono);font-size:9px;fill:var(--ink-soft);opacity:.65}.trend .trend-dot-last{stroke:var(--surface);stroke-width:2}.trend-dot-label{font-family:var(--font-mono);font-size:11px;font-weight:700;fill:var(--ink)}.stats-pace{font-family:var(--font-mono);color:var(--ink-soft);font-size:.9rem;margin:.2rem 0 1.5rem}.stats-panel{border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-card);padding:1.25em 1.5em;margin:1.25rem 0}.stats-panel h3{margin-top:0}.acc-bars li>span:first-child{display:flex;align-items:center}.acc-bar-flag{display:inline-flex;width:1em;height:1em;margin-right:.5em;color:var(--caution);flex-shrink:0}.trend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:.25rem}.trend-card{border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-card);padding:1.1em 1.25em}.trend-card h4{margin:0 0 .4em;text-transform:capitalize}.trend-empty{color:var(--ink-soft);font-size:.9rem;margin:.5em 0 0}.recommend-panel{border:1.5px solid var(--route-green);border-radius:var(--radius-sign);background:var(--surface);padding:1.25em 1.5em;margin:.25rem 0 1.75rem;box-shadow:var(--shadow-sign)}.recommend-panel h3{font-family:var(--font-display);font-weight:700;font-size:1.4rem;margin:0 0 .2em}.recommend-panel ul{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.7rem}.recommend{border:1px solid var(--border);border-radius:var(--radius);padding:.65em .85em;background:var(--bg);box-shadow:var(--shadow-card)}.recommend-title{display:flex;align-items:center;gap:.5em;text-transform:capitalize}.struggle-tag{font-family:var(--font-ui);font-stretch:125%;text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:var(--tracking-sign);padding:.1em .5em;border-radius:999px;color:var(--accent-text);background:var(--accent)}.recommend.struggle-high .struggle-tag{background:var(--urgent)}.recommend.struggle-medium .struggle-tag{background:var(--caution);color:#3a2606}@media (prefers-color-scheme: dark){.recommend.struggle-medium .struggle-tag{color:#06120f}}.recommend-links{display:flex;flex-wrap:wrap;gap:.6em 1em;margin-top:.4em}.score-history ul.compact{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.score-history ul.compact li{padding:.5em .75em;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-variant-numeric:tabular-nums;box-shadow:var(--shadow-card)}.score-history .notes{color:var(--text-muted);font-size:.9em;margin-top:.2em}.score-history-fractions{list-style:none;margin:.3em 0 0;padding:0;display:flex;flex-direction:column;gap:.15em;color:var(--text-muted);font-size:.88em}.score-history-section{text-transform:capitalize;font-weight:600;color:var(--ink-soft)}.path-coming-soon{color:var(--text-muted);font-style:italic;margin:.4em 0 0}.score-form fieldset{border:1px solid var(--border);border-radius:var(--radius-sign);margin:1.25rem 0;padding:.5em 1.25em 1.25em;background:var(--surface);box-shadow:var(--shadow-card)}.score-form legend{padding:0 .4em}.score-section-legend{font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--ink)}.score-form textarea{display:block;width:100%;max-width:480px;min-height:4em;margin-top:.25rem;padding:.5em .6em;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.score-rows{display:flex;flex-direction:column;gap:.5em;margin-top:.6em}.score-row{display:flex;align-items:center;flex-wrap:wrap;gap:.4em .5em}.score-row-label{flex:1 1 14em;min-width:0}.score-row-field{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:.15em;font-family:var(--font-ui);font-stretch:125%;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-sign)}.score-row-field input{width:4.5em}.score-row-slash{color:var(--text-muted)}.score-row-pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;min-width:3.5em;text-align:right;color:var(--ink-soft)}:focus-visible{outline:2px solid var(--shield-blue);outline-offset:2px}.choice .eliminate:focus-visible{outline-offset:1px}.palette .pal:focus-visible{outline-offset:2px}.map-toggle{display:none}@media (max-width: 719px){h2{font-size:1.4rem}h3{font-size:1.15rem}.score-badge-lg .route-shield-lg{width:88px;height:calc(88px * 52 / 48)}.builder-card label.builder-row{flex-wrap:wrap}.builder-row select{flex:1 1 100%;max-width:none}.layout nav.sign-nav{position:fixed;inset:auto 0 0 0;z-index:20;border-radius:var(--radius-sign) var(--radius-sign) 0 0;justify-content:center;gap:.1rem;padding:.25rem;flex-wrap:wrap}.layout nav.sign-nav a.brand{display:none}.layout nav.sign-nav a{flex:1 1 auto;min-width:44px;min-height:44px;text-align:center;display:flex;align-items:center;justify-content:center;padding:.25em .4em;font-size:.72rem}.layout nav.sign-nav a.sidebar-link{flex-direction:column;gap:.15em}.sidebar-icon{width:1.3em;height:1.3em}.sidebar-avatar{width:1.6em;height:1.6em}.layout nav.sign-nav a:last-child{margin-left:0}.layout main{padding-bottom:5rem}.map-toggle{display:inline-flex;align-items:center;gap:.35em;margin:.5rem 0;min-height:44px}.palette{display:none}.palette.open{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:15;margin:0;padding:.75rem;max-height:40vh;overflow-y:auto;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -4px 16px #0000002e}.run-controls button,.confirm button,.choice>button:first-child,.map-toggle{min-height:44px}.choice .eliminate{min-width:44px;min-height:40px}.big-pct{font-size:2.5rem}.timed-run header,.practice-run header{flex-wrap:wrap}.timer-bar{width:100%}}@media (prefers-reduced-motion: no-preference){@keyframes node-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.level-node{animation:node-in .3s ease-out backwards;animation-delay:calc((var(--i, 1) - 1) * 40ms)}@keyframes feedback-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.feedback{animation:feedback-in .15s ease-out}@keyframes sign-swing{0%{transform:rotate(-4deg)}to{transform:rotate(0)}}.choice.correct .label{animation:sign-swing .24s ease-out;transform-origin:top center}@keyframes mile-stamp{0%{transform:scale(1.15)}to{transform:scale(1)}}.level-node.passed .mile-plate{animation:mile-stamp .2s ease-out}@keyframes shield-draw{to{stroke-dashoffset:0}}@keyframes shield-number-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.results .route-shield-lg .shield-outline{stroke-dasharray:100;stroke-dashoffset:100;animation:shield-draw .5s ease-out forwards}.results .route-shield-lg .shield-number{opacity:0;animation:shield-number-in .3s ease-out .4s forwards}@keyframes clock-pulse{0%,to{opacity:1}50%{opacity:.5}}.timer-bar.urgent>span:first-child{animation:clock-pulse 1s ease-in-out infinite}@keyframes next-pulse{0%,to{box-shadow:0 0 0 2px var(--route-green) inset}50%{box-shadow:0 0 0 4px var(--route-green) inset}}.level-node.next-up{animation:next-pulse 2s ease-in-out infinite}button.submit,button.cta,button[type=submit],a.cta,.layout nav.sign-nav{transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}button.submit:hover:not(:disabled),button.cta:hover:not(:disabled),button[type=submit]:hover:not(:disabled),a.cta:hover{transform:translateY(-1px)}}.tryit{margin-bottom:1.75rem}.tryit .passage{margin-bottom:.75rem}.passage-reveal{margin:.5rem 0}.passage-reveal summary{cursor:pointer;color:var(--accent);font-size:.9rem;font-weight:600}.results-celebrate-scene{display:block;width:100%;max-width:380px;height:auto;margin:0 auto 1rem}.study-hub{text-align:center}.study-hub-scene{display:block;width:100%;max-width:420px;height:auto;margin:1rem auto 0}.study-hub-sub{color:var(--ink-soft);max-width:42rem;margin:.2rem auto 1.25rem}.study-hub-tabs,.study-hub-chips{justify-content:center}.study-hub-chips button{text-transform:capitalize}.study-hub-panel{text-align:left}.study-guide-section{margin:0 0 1.75rem}.study-guide-section h3{font-family:var(--font-display);font-weight:700;font-size:1.35rem;color:var(--ink);margin:0 0 .5rem}.study-guide-section p{color:var(--ink);line-height:1.6;margin:0 0 .75rem}.study-hub-link-group{margin-bottom:1.5rem}.study-hub-link-group h3{font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--ink);margin:0 0 .5rem}.study-hub-cards{list-style:none;padding:0}.study-hub-card{border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-card);padding:1.1em 1.25em;display:flex;flex-direction:column;gap:.4em;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.study-hub-card:hover{border-color:var(--route-green);transform:translateY(-2px);box-shadow:var(--shadow-sign)}.study-hub-card a{color:var(--ink);text-decoration:none;line-height:1.35}.study-hub-card a:hover strong{color:var(--route-green);text-decoration:underline}.study-hub-card strong{font-weight:700}.study-hub-card small{color:var(--ink-soft);font-size:.82rem}.study-hub-card p{color:var(--ink-soft);font-size:.9rem;line-height:1.45;margin:0}.path-complete{text-align:center;margin:0 0 1rem}.path-complete-scene{width:100%;max-width:320px;height:auto;margin:0 auto;display:block}.path-complete-label{color:var(--ink-soft);font-weight:600;margin-top:.4rem}.practice-builder-scene{display:block;width:100%;max-width:320px;height:auto;margin:0 auto 1rem}.composite-medal-icon{width:1em;height:1em;vertical-align:-.15em;margin-right:.2em}.mistake-log-icon{width:1em;height:1em;vertical-align:-.1em;margin-right:.35em}.passage-reveal[open] summary{margin-bottom:.5rem}.plan{max-width:960px}.plan-banner{border:1px solid var(--border);border-left:4px solid var(--route-green);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-card);padding:1em 1.25em;margin:.75rem 0 1.5rem}.plan-banner.tight{border-left-color:var(--caution);background:var(--tint-amber)}.plan-banner.behind{border-left-color:var(--stop);background:var(--tint-red)}.plan-summary{margin:0;font-weight:700}.plan-message{margin:.5em 0 0;color:var(--ink-soft);font-size:.92rem;line-height:1.5}.plan-week{margin:0 0 1.75rem}.plan-week-label{margin:0 0 .75rem;color:var(--ink-soft);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:var(--tracking-sign)}.plan-week-days{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))}.plan-day{display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-card);padding:.9em 1em}.plan-day.is-today{border-color:var(--route-green);box-shadow:var(--shadow-sign)}.plan-day.is-past{opacity:.6}.plan-day-head{display:flex;align-items:baseline;gap:.5em;margin:0;flex-wrap:wrap}.plan-day-weekday{font-weight:700}.plan-day-date{color:var(--ink-soft);font-size:.85rem}.plan-day-today-tag{margin-left:auto;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-sign);color:var(--route-green-ink);background:var(--route-green);border-radius:999px;padding:.15em .6em}.plan-day-rest{margin:0;color:var(--ink-soft);font-size:.85rem;font-style:italic}.plan-task-list,.plan-backlog ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.plan-task{display:flex;align-items:baseline;gap:.5em;flex-wrap:wrap}.plan-task a{text-decoration:none;font-weight:600;color:var(--accent);min-width:0;word-break:break-word}.plan-task a:hover{text-decoration:underline}.plan-task-mins{margin-left:auto;color:var(--ink-soft);font-family:var(--font-mono);font-size:.8rem;white-space:nowrap}.plan-task-done{color:var(--route-green);font-weight:700;flex:0 0 auto}.plan-empty{border:1px dashed var(--border);border-radius:var(--radius-sign);background:var(--surface);padding:1.5em;text-align:center;margin:0 0 1.5rem}.plan-empty p{margin:0 0 1em;color:var(--ink-soft)}.plan-backlog{margin:0 0 1.5rem}.plan-backlog-label{margin:0 0 .75rem;color:var(--ink-soft);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:var(--tracking-sign)}.plan-backlog ol{border:1px solid var(--border);border-radius:var(--radius-sign);background:var(--surface);box-shadow:var(--shadow-card);padding:1em 1.25em;gap:.6rem}.today-task-mins{margin-left:auto;color:var(--ink-soft);font-family:var(--font-mono);font-size:.8rem;white-space:nowrap}.today-tasks-plan-link{display:inline-block;margin-top:.9rem;font-weight:600;font-size:.9rem;color:var(--accent);text-decoration:none}.today-tasks-plan-link:hover{text-decoration:underline}
