@font-face{font-family:Big Shoulders Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-display-vietnamese-wght-normal-B-JM5mJH.woff2) format("woff2-variations");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:Big Shoulders Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-display-latin-ext-wght-normal-EP2r9iG4.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:Big Shoulders Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-display-latin-wght-normal-Bn_gnr7w.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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-math-wght-normal-Bl4ZGkZl.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-symbols-wght-normal-DxQzqQfC.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-vietnamese-wght-normal-BBxOatbv.woff2) format("woff2-variations");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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-DHTKMUil.woff2) format("woff2-variations");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 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-B1g8a0vD.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-BpXpdlRW.woff2) format("woff2-variations");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 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-BsaNuasd.woff2) format("woff2-variations");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 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-BVZ5su8S.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-DMe4EKeb.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}:root{--font-display: "Big Shoulders Display Variable", "Arial Narrow", sans-serif;--font-ui: "Onest Variable", system-ui, sans-serif;--font-read: "Source Serif 4 Variable", Georgia, serif;--font-text: var(--font-ui);--weight-display: 800;--weight-strong: 650;--weight-mid: 550;--step--1: .8125rem;--step-0: .9375rem;--step-1: 1.0625rem;--step-2: 1.5rem;--step-3: 2rem;--step-4: 2.5rem;--step-5: 4.125rem;--step-6: 6.125rem;--track-display: -.005em;--track-tight: -.01em;--ground: #f0efec;--ground-2: #fafaf8;--surface: #ffffff;--surface-2: #e7e5e1;--surface-raised: var(--surface);--line: #dcd9d4;--line-strong: #c9c5bf;--text: #15161a;--text-2: #474a52;--text-3: #63666e;--ink: var(--text);--ink-2: var(--text-2);--ink-3: var(--text-3);--accent: #cc321d;--accent-hover: #b52a17;--accent-hi: #ff4d3d;--accent-ink: #ffffff;--accent-tint: #fbe4df;--accent-shadow: rgb(204 50 29 / .75);--action: var(--accent);--action-hover: var(--accent-hover);--ink-on-action: var(--accent-ink);--progress: var(--text);--progress-text: var(--text);--ink-on-progress: #ffffff;--alert: #b3261e;--ok: #13795b;--ok-tint: #dcf1e8;--warn: #8a4b05;--streak: #d9480f;--star: #b7791f;--listening: #2f5bff;--listening-deep: #0b1650;--listening-ink: #ffffff;--reading: #f2a93b;--reading-hi: #ffd27d;--reading-lo: #d9822a;--reading-deep: #6b3606;--reading-ink: #1d1203;--writing: #19b394;--writing-mid: #0b6f5c;--writing-deep: #03322b;--writing-ink: #ffffff;--writing-margin: rgb(255 140 140 / .6);--speaking: #b394ff;--speaking-hi: #d8c6ff;--speaking-lo: #8a63f0;--speaking-deep: #2b1466;--speaking-ink: #14082f;--full-deep: #111111;--full-ink: #ffffff;--skill-listening: var(--listening);--skill-reading: var(--reading-deep);--skill-writing: var(--writing-mid);--skill-speaking: var(--speaking-lo);--art-light: rgb(255 255 255 / .16);--art-light-2: rgb(255 255 255 / .85);--art-dark: rgb(0 0 0 / .3);--art-accent: var(--accent-hi);--art-wrong: var(--accent);--chrome: #f7f6f4;--chrome-glass: rgb(240 239 236 / .9);--chrome-ink: var(--text);--chrome-ink-2: var(--text-2);--chrome-ink-3: var(--text-3);--chrome-line: var(--line);--chrome-line-strong: var(--line-strong);--nav-active: var(--surface);--nav-active-ink: var(--text);--avatar: var(--writing-deep);--avatar-ink: #ffffff;--scrim: rgb(21 22 26 / .45);--glaze: var(--ground-2);--glaze-sunk: #f3f2ef;--glaze-raised: var(--surface);--ink-glaze: var(--text);--ink-glaze-2: var(--text-2);--ink-glaze-3: var(--text-3);--line-glaze: var(--line);--line-glaze-strong: var(--line-strong);--action-on-glaze: var(--accent);--progress-on-glaze: var(--text);--examiner-head: var(--speaking-deep);--examiner-face: #ffffff;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--gutter: 16px;--sidebar: 248px;--tabbar-h: 66px;--r-tile: 10px;--r-ctl: 12px;--r-card: 14px;--r-hero: 20px;--radius: var(--r-card);--radius-sm: 8px;--radius-pill: 999px;--hair: 1px;--shadow-card: 0 1px 0 rgb(40 30 20 / .04), 0 18px 40px -26px rgb(40 30 20 / .35);--shadow-tile: 0 14px 28px -14px rgb(40 30 20 / .38), 0 3px 8px -3px rgb(40 30 20 / .16);--shadow-lift: 0 26px 44px -18px rgb(40 30 20 / .42), 0 8px 16px -8px rgb(40 30 20 / .18);--lift: var(--shadow-card);--lift-high: var(--shadow-lift);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-quint: cubic-bezier(.22, 1, .36, 1);--ease-settle: cubic-bezier(.25, 1.08, .4, 1);--ease-inout: cubic-bezier(.65, 0, .35, 1);--dur-micro: .14s;--dur-short: .22s;--dur-long: .6s;--ease: var(--ease-out);--fast: var(--dur-micro);--mid: var(--dur-short);color-scheme:light;accent-color:var(--accent);caret-color:var(--accent)}:root{--paper: var(--surface);--muted: var(--text-2)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin}body{margin:0;min-width:320px;min-height:100dvh;background:var(--ground);color:var(--text);font:400 var(--step-0)/1.5 var(--font-ui);font-synthesis:none;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}::selection{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--text)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}a{color:inherit;text-decoration:none;text-underline-offset:3px;text-decoration-thickness:1px}button{font:inherit;color:inherit}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--track-display);line-height:1;text-wrap:balance}h1{font-size:var(--step-4)}h2{font-size:var(--step-2);font-weight:750}h3{font-family:var(--font-ui);font-size:var(--step-1);font-weight:var(--weight-strong);line-height:1.25;letter-spacing:0}p{margin:0;line-height:1.55}small{font-size:var(--step--1)}.display{font-family:var(--font-display);font-weight:var(--weight-display);text-transform:uppercase;line-height:.88;letter-spacing:-.01em}.read{font-family:var(--font-read);font-size:1.0625rem;line-height:1.7}.num{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.btn,.primary-action,.primary-button,.submit-exam,button.primary,.secondary-action,.tertiary-action,.google-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:48px;padding:0 20px;border:0;border-radius:var(--r-ctl);font:var(--weight-strong) var(--step-0)/1.2 var(--font-ui);letter-spacing:.005em;text-decoration:none;cursor:pointer;transition:transform var(--dur-micro) var(--ease-out),background-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.btn svg,.primary-action svg,.secondary-action svg,.primary-button svg{width:18px;height:18px}.btn-primary,.primary-action,.primary-button,.submit-exam,button.primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 12px 22px -12px var(--accent-shadow)}.btn-primary:hover,.primary-action:hover,.primary-button:hover,.submit-exam:hover,button.primary:hover{background:var(--accent-hover)}.btn-ghost,.secondary-action,.tertiary-action,.google-button{background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.btn-ghost:hover,.secondary-action:hover,.tertiary-action:hover,.google-button:hover{box-shadow:inset 0 0 0 1px var(--line-strong),var(--shadow-tile)}.btn:active,.primary-action:active,.primary-button:active,.submit-exam:active,.secondary-action:active,.tertiary-action:active,.google-button:active{transform:scale(.97);transition-duration:80ms}.btn:disabled,.primary-action:disabled,.primary-button:disabled,.submit-exam:disabled,.secondary-action:disabled,.tertiary-action:disabled,button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}@media(hover:hover){.btn-primary:not(:disabled):hover,.primary-action:not(:disabled):hover,.primary-button:not(:disabled):hover,.submit-exam:not(:disabled):hover{transform:translateY(-1.5px);box-shadow:0 16px 26px -12px var(--accent-shadow)}.btn-ghost:not(:disabled):hover,.secondary-action:not(:disabled):hover,.tertiary-action:not(:disabled):hover{transform:translateY(-1.5px)}}input,textarea,select{width:100%;padding:11px var(--s3);font:inherit;font-size:var(--step-0);background:var(--surface);color:var(--text);border:var(--hair) solid var(--line);border-radius:var(--r-ctl);transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}input[type=checkbox],input[type=radio],input[type=range]{width:auto;padding:0}input::placeholder,textarea::placeholder{color:var(--text-3)}input:focus,textarea:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-tint)}label{font-size:var(--step--1);color:var(--text-2);font-weight:var(--weight-mid)}.chip{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 10px;border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-card);font-weight:var(--weight-strong);font-size:14px;color:var(--text)}.chip svg{width:17px;height:17px}.play .rise{animation:m-rise var(--dur, .9s) var(--ease-quint) var(--d, 0ms) both}.play .blurin{animation:m-blurin var(--dur, .9s) var(--ease-out) var(--d, 0ms) both}.play .wipe{animation:m-wipe var(--dur, 1.3s) var(--ease-out) var(--d, 0ms) both}.play .grow{transform-origin:left;animation:m-grow var(--dur, 1.2s) var(--ease-quint) var(--d, 0ms) both}.play .land{animation:m-land var(--dur, 1s) var(--ease-settle) var(--d, 0ms) both}.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.04em .02em .08em;margin:-.04em -.02em -.08em;white-space:nowrap}.ch{display:inline-block}.play .ch{animation:m-ch var(--ch-dur, .95s) var(--ease-out) both;animation-delay:calc(var(--base, 0ms) + var(--i) * var(--ch-step, 32ms))}@keyframes m-rise{0%{opacity:0;transform:translateY(22px);filter:blur(6px)}}@keyframes m-blurin{0%{opacity:0;filter:blur(10px)}}@keyframes m-wipe{0%{clip-path:inset(0 100% 0 0 round var(--r-hero))}to{clip-path:inset(0 0 0 0 round var(--r-hero))}}@keyframes m-grow{0%{transform:scaleX(0)}}@keyframes m-land{0%{opacity:0;transform:translateY(-14px) scale(.6);filter:blur(4px)}}@keyframes m-ch{0%{transform:translateY(108%) rotate(6deg);filter:blur(6px);opacity:.2}}.wait *,.wait *:before,.wait *:after{animation-play-state:paused!important}::view-transition-old(root){animation:vt-out .2s var(--ease-inout) both}::view-transition-new(root){animation:vt-in .42s var(--ease-out) both}@keyframes vt-out{to{opacity:0;transform:scale(.99)}}@keyframes vt-in{0%{opacity:0;transform:scale(1.006);filter:blur(4px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0ms!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.wordmark{font:var(--weight-display) 30px/1 var(--font-display);letter-spacing:.01em;color:var(--text);white-space:nowrap}.wordmark b{color:var(--accent);font-weight:inherit}.brand{display:inline-flex;align-items:center;gap:var(--s2);font:var(--weight-display) 26px/1 var(--font-display);color:var(--text);text-decoration:none}.app-shell{min-height:100dvh}.brand-button{padding:0;border:0;background:none;cursor:pointer;border-radius:6px}.student-main{min-width:0;min-height:100dvh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + var(--s5))}.content{width:100%;max-width:1280px;margin:0 auto;padding:var(--s4) var(--s4) var(--s6)}.mobile-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top,0px)) var(--s4) 10px;background:var(--chrome-glass);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);view-transition-name:topbar}.mobile-header .brand-button{margin-right:auto;min-height:44px}.mobile-title{display:none}.star-chip{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 12px;border:0;border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-card);font-weight:var(--weight-strong);font-size:14px;font-variant-numeric:tabular-nums;color:var(--text);cursor:pointer;transition:transform var(--dur-micro) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.star-chip svg{width:17px;height:17px;color:var(--star)}.star-chip:active{transform:scale(.95)}.avatar{display:grid;place-items:center;flex:none;overflow:hidden;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:var(--avatar);color:var(--avatar-ink);font-weight:700;font-size:13px;object-fit:cover;cursor:pointer}.avatar.small{width:44px;height:44px}.avatar img{width:100%;height:100%;object-fit:cover}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:var(--chrome-glass);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border-top:var(--hair) solid var(--line);view-transition-name:tabbar}.nav-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;cursor:pointer;text-align:left;color:var(--text-2);font:var(--weight-mid) var(--step-0)/1.2 var(--font-ui);transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.nav-item svg{width:22px;height:22px;transition:transform var(--dur-micro) var(--ease-out)}.nav-item:active svg{transform:scale(.86)}.nav-item.active{color:var(--text)}.nav-item.active svg{color:var(--accent)}.bottom-nav .nav-item{flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:52px;padding:6px 2px 4px;border-radius:var(--r-ctl);font-size:11.5px;color:var(--text-3);text-align:center}.bottom-nav .nav-item.active{color:var(--text);background:var(--surface);box-shadow:var(--shadow-card)}.bottom-nav .nav-item.active:before{content:"";position:absolute;top:-7px;left:50%;width:28px;height:2px;margin-left:-14px;border-radius:2px;background:var(--accent-hi);animation:tab-ind var(--dur-short) var(--ease-out)}@keyframes tab-ind{0%{transform:scaleX(0)}}.bottom-nav .nav-item:focus-visible{outline-offset:-2px}.sidebar{display:none}.nav-count{margin-left:auto;font-size:12.5px;font-weight:var(--weight-mid);color:var(--text-3);font-variant-numeric:tabular-nums}@media(min-width:1024px){.bottom-nav{display:none}.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);align-items:start;background:linear-gradient(90deg,var(--chrome) calc(var(--sidebar) - var(--hair)),var(--chrome-line) 0 var(--sidebar),transparent 0)}.student-main{grid-column:2;grid-row:1;padding-bottom:var(--s7)}.content{padding:var(--s4) 40px var(--s7)}.mobile-header{justify-content:flex-end;padding:22px 40px 10px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;position:static}.mobile-header .brand-button,.mobile-header .avatar{display:none}.mobile-header:not(:has(.star-chip)){display:none}.sidebar{position:sticky;top:0;z-index:20;grid-column:1;grid-row:1;height:100vh;height:100dvh;display:flex;flex-direction:column;gap:4px;width:var(--sidebar);padding:26px 14px 18px;overflow-y:auto;background:var(--chrome);border-right:var(--hair) solid var(--chrome-line);view-transition-name:sidebar}.sidebar>.brand-button{align-self:flex-start;padding:0 12px 26px}.sidebar nav{display:grid;gap:4px}.sidebar .nav-item{height:44px;padding:0 12px;border-radius:10px}.sidebar .nav-item>span{flex:1;display:flex;align-items:center}.sidebar .nav-item:hover{background:var(--surface);color:var(--text);transform:translate(2px)}.sidebar .nav-item:active{transform:scale(.98)}.sidebar .nav-item.active{background:var(--nav-active);color:var(--nav-active-ink);box-shadow:var(--shadow-card)}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:4px;padding:14px 0 0;border-top:var(--hair) solid var(--chrome-line)}.profile-trigger{flex:1;min-width:0;display:grid;grid-template-columns:38px 1fr;gap:2px 12px;align-items:center;padding:6px 8px 6px 12px;border:0;border-radius:10px;background:none;color:inherit;text-align:left;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out)}.profile-trigger:hover{background:var(--surface)}.profile-trigger .avatar{grid-row:span 2;cursor:inherit}.profile-copy{display:contents}.profile-copy strong{font-size:14.5px;font-weight:var(--weight-strong);line-height:1.2;overflow-wrap:anywhere}.profile-copy span{font-size:12.5px;color:var(--text-2);line-height:1.25}.logout-button{display:grid;place-items:center;flex:none;width:34px;height:34px;border:0;border-radius:10px;background:none;color:var(--text-3);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.logout-button:hover{background:var(--surface);color:var(--text)}.logout-button svg{width:18px;height:18px}}.telegram-fullscreen .mobile-header{padding-top:10px}@media(max-width:1023px){.telegram-fullscreen .student-main{padding-bottom:calc(var(--tabbar-h) + var(--mini-bottom) + var(--s5))}}.telegram-fullscreen .bottom-nav{padding-bottom:calc(6px + var(--mini-bottom));padding-left:calc(8px + var(--mini-device-left, 0px) + var(--mini-content-left, 0px));padding-right:calc(8px + var(--mini-device-right, 0px) + var(--mini-content-right, 0px))}.profile-backdrop{background:var(--scrim)!important}.modal-backdrop{background:var(--scrim)!important;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.home-exam-strip button,.notebook-card{display:grid;gap:10px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--paper);text-align:left;cursor:pointer}.home-exam-strip button:hover,.notebook-card:hover{border-color:var(--line);transform:translateY(-2px)}.celebrate{animation:completion-pop .6s ease-out}.question-tools button,.passage-tools button{border:1px solid var(--line);border-radius:7px;padding:7px;background:var(--surface);cursor:pointer}.passage-tools mark,.material mark{background:var(--surface);color:inherit}.account-panel{max-height:calc(100dvh - 30px);overflow-y:auto}.admin-form input,.admin-form textarea,.admin-form select,.admin-toolbar select,.filter-row select{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--surface)}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.profile-backdrop{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:22px;background:var(--surface-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.account-panel{position:relative;width:min(100%,430px);padding:31px;border-radius:20px;background:var(--paper);box-shadow:var(--shadow-lift)}.account-close{position:absolute;top:17px;right:18px;width:32px;height:32px;border:0;border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer;font-size:21px;line-height:1}.account-identity{display:flex;align-items:center;gap:16px;padding-right:35px}.account-avatar{width:64px;height:64px;flex:none;display:grid;place-items:center;border-radius:19px;background:var(--avatar);color:var(--avatar-ink);object-fit:cover;font:800 19px var(--font-display)}.account-identity .eyebrow{margin-bottom:4px}.account-identity h2{max-width:255px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:23px;letter-spacing:-.8px}.account-identity>div>span{display:block;margin-top:4px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.account-status{display:flex;gap:11px;margin:24px 0 17px;padding:14px;border-radius:12px;background:var(--surface)}.status-dot{width:8px;height:8px;flex:none;margin-top:4px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-tint)}.account-status strong{font-size:12px}.account-status p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.account-links{display:grid;gap:8px}.account-links>button{display:grid;grid-template-columns:39px 1fr auto;align-items:center;gap:12px;width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;text-align:left}.account-links>button:hover{border-color:var(--line);background:var(--surface)}.account-links>button>span{display:grid;place-items:center;width:39px;height:39px;border-radius:10px;background:var(--surface);color:var(--ink)}.account-links strong,.account-links small{display:block}.account-links strong{font-size:12px}.account-links small{margin-top:3px;color:var(--muted);font-size:12px}.account-links>button>svg{width:16px;color:var(--ink)}.account-signout{width:100%;margin-top:18px;padding:10px;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:12px;font-weight:700}.eyebrow{margin:0 0 13px;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}.section{padding-top:56px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px}.section-heading h2{font-size:27px;letter-spacing:-1.2px}.section-heading a{padding-bottom:3px;color:var(--ink);font-size:13px;font-weight:600}.section-heading a span{margin-left:5px}.skill{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.empty-state{grid-column:1 / -1;padding:40px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);text-align:center}.material{position:sticky;top:110px;align-self:start;max-height:calc(100vh - 140px);overflow:auto;padding-right:10px}.material h2{margin-bottom:12px}.material>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.5}.material article{margin-top:24px;white-space:pre-wrap;font-family:var(--font-text);font-size:16px;line-height:1.8}.material audio{width:100%;margin-top:20px}.source-pages{display:grid;gap:14px;margin-top:20px}.source-pages img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.questions{display:grid;gap:14px}.question{display:grid;grid-template-columns:32px 1fr;gap:13px;padding:21px;scroll-margin-top:90px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.question h3{margin:3px 0 15px;font:600 14px/1.5 var(--font-text);letter-spacing:0}.options{display:grid;gap:7px}.options label{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-size:13px}.options label.selected{border-color:var(--line);background:var(--surface)}.options label span{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--surface);font-size:12px;font-weight:700}.options input{position:absolute;opacity:0}.answer-input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;outline:none;font:inherit}.answer-input:focus{border-color:var(--line)}.result-card p:not(.eyebrow){color:var(--muted)}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:13px;color:var(--muted);font-size:14px}.form-error{padding:11px 13px;border-radius:var(--radius);border-left:1px solid var(--action);background:var(--surface);color:var(--ink);font-size:12px;line-height:1.4}@media(max-width:800px){.material{position:static;max-height:none;margin-bottom:35px}.profile-backdrop{align-items:end;padding:12px}.account-panel{padding:27px 22px max(24px,env(safe-area-inset-bottom));border-radius:20px}}@media(max-width:440px){.section-heading a{font-size:0}.section-heading a span{font-size:18px}}.global-notice{position:sticky;z-index:8;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px max(24px,5vw);font-size:12px}.global-notice.error{background:var(--surface);color:var(--ink)}.global-notice button{display:flex;align-items:center;gap:7px;border:0;background:transparent;cursor:pointer;color:inherit;font-weight:700}.global-notice svg{width:16px;height:16px}.compact-section{padding-top:46px}.section-heading button{display:flex;align-items:center;gap:5px;padding:5px 0;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:12px;font-weight:700}.section-heading button svg{width:16px;height:16px}.featured-visual.reading{background:var(--surface-raised)}.featured-visual.listening{background:var(--surface)}.featured-copy>p:not(.eyebrow){max-width:560px;margin:8px 0 17px;color:var(--muted);font-size:12px;line-height:1.55}.status-chip{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:20px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:800;text-transform:uppercase}.status-chip.active,.status-chip.in_progress,.status-chip.scored,.status-chip.expired{background:var(--surface);color:var(--ink)}.page-header{max-width:780px;padding-bottom:38px}.page-header h1{font-size:clamp(44px,5vw,66px)}.page-header>p:last-child{max-width:650px;margin:17px 0 0;color:var(--muted);font-size:14px;line-height:1.65}.filter-row{display:flex;gap:8px;margin-bottom:23px}.filter-row button{padding:9px 14px;border:1px solid var(--line);border-radius:20px;background:transparent;cursor:pointer;color:var(--ink);font-size:12px;font-weight:700;text-transform:capitalize}.filter-row button.active{border-color:var(--line);background:var(--surface-2);color:var(--ink)}.skill-chip{font-size:12px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.skill-card{min-height:290px;padding:25px;border-radius:17px}.skill-card.reading{background:var(--surface-raised)}.skill-card.listening{background:var(--surface)}.skill-card-heading{display:flex;align-items:center;gap:11px}.skill-card-heading>div{display:grid;place-items:center;width:37px;height:37px;border-radius:10px;background:var(--surface)}.skill-card-heading span{font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.skill-band{margin:28px 0 23px}.skill-band strong,.skill-band span{display:block}.skill-band strong{font:800 54px/1 var(--font-display);letter-spacing:-3px}.skill-band span{margin-top:5px;color:var(--ink);font-size:12px}.skill-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.skill-stats strong,.skill-stats span{display:block}.skill-stats strong{font:800 17px var(--font-display)}.skill-stats span{color:var(--ink);font-size:12px}.skill-no-data{margin-top:50px}.skill-no-data p{color:var(--ink);font-size:12px}.progress-empty{display:grid;justify-items:center;padding:65px 25px;border:1px dashed var(--line);border-radius:18px;text-align:center}.empty-illustration{display:grid;place-items:center;width:65px;height:65px;margin-bottom:20px;border-radius:20px;background:var(--surface-raised);color:var(--ink)}.empty-illustration svg{width:28px;height:28px}.progress-empty h2{font-size:25px}.progress-empty p{max-width:480px;margin:10px 0 23px;color:var(--muted);font-size:13px;line-height:1.55}.empty-state{display:grid;justify-items:center;padding:48px}.empty-state>svg{width:28px;height:28px;margin-bottom:15px}.empty-state h2{font-size:20px}.empty-state p{max-width:440px;margin:8px 0 0;font-size:12px;line-height:1.5}.empty-state button{margin-top:18px;border:0;background:transparent;color:var(--ink);cursor:pointer;font-weight:700}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;overflow-y:auto;background:var(--surface-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.instruction-box{margin-top:18px;padding:15px 17px;border-radius:11px;background:var(--surface)}.instruction-box strong{font-size:12px}.instruction-box p{margin:5px 0 0;color:var(--ink);font-size:12px;line-height:1.5}.submit-dialog>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.55}.complete-mark{width:66px;height:66px;display:grid;place-items:center;margin:0 auto 25px;border-radius:20px;background:var(--surface);color:var(--ink)}.complete-mark svg{width:30px;height:30px}.practice-header>button,.back-link{border:0;background:transparent;cursor:pointer;color:var(--muted);font-size:12px;font-weight:700}.practice-workspace{display:grid;grid-template-columns:minmax(280px,1fr) minmax(330px,1fr);gap:45px;padding-top:35px}.practice-question{align-self:start;padding:28px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.question-context{color:var(--ink);font-size:12px;font-weight:700}.practice-question h2{margin:10px 0 22px;font:700 19px/1.45 var(--font-display)}.practice-feedback{margin-top:18px;padding:16px;border-radius:11px}.practice-feedback.correct,.practice-feedback.incorrect{background:var(--surface);color:var(--ink)}.practice-feedback strong{font-size:13px}.practice-feedback p{margin:5px 0 0;font-size:12px;line-height:1.5}.practice-part>:first-child{position:sticky;top:90px;align-self:start}.practice-part-list{margin:18px 0 0;padding:0;list-style:none}.practice-part-list li{padding:22px 0}.practice-part-list li+li{border-top:1px solid var(--line)}.practice-part-list li.note{padding:5px 0}.practice-part-list li.note+li.note{border-top:0}.note-title{margin:14px 0 12px;text-align:center;font:700 19px/1.3 var(--font-display)}.note-heading{margin:16px 0 6px;font:700 14px/1.4 var(--font-text)}.note-context,.note-line{margin:0;font:400 14px/1.6 var(--font-text)}.note-context{padding-bottom:10px}.note-line{line-height:2.2}.note-gap{white-space:nowrap}.note .practice-feedback{margin:4px 0 10px;padding:10px 14px}.note-line b{margin:0 6px 0 2px}.gap-input{width:150px;max-width:100%;margin:0 4px;padding:5px 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:inherit;font:inherit;line-height:1.3}.gap-input:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.practice-part-list h2{display:flex;gap:10px;margin:0 0 12px;font-size:16px}.practice-part-number{flex:none;min-width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:var(--ink);color:var(--surface);font:700 12px/1 var(--font-body, inherit)}.practice-part .practice-actions{align-items:center;justify-content:space-between;gap:14px}.practice-part .practice-actions button{flex:none}.practice-part .practice-actions small{color:var(--muted);font-size:12px;line-height:1.45}@media(max-width:900px){.featured-exam>.primary-action{grid-column:1 / -1}}@media(max-width:800px){.global-notice{top:67px;margin:0 14px;border-radius:10px}.featured-exam>.primary-action{width:100%;margin-top:20px}.exam-library,.skill-grid,.metric-grid,.skeleton-grid{grid-template-columns:1fr}.page-header{padding-bottom:28px}.page-header h1{font-size:42px}.choice-grid,.practice-workspace{grid-template-columns:1fr}.practice-workspace{gap:18px}.practice-part>:first-child{position:static}}@media(max-width:440px){.primary-action,.secondary-action{width:100%}.section-heading button{font-size:0}.section-heading button svg{width:20px;height:20px}.briefing-actions,.submit-dialog>div{grid-template-columns:1fr}.practice-question,.practice-source{padding:20px}}.explore-heading p,.explore-card>p{color:var(--ink);line-height:1.6}.explore-caption{display:block;color:var(--ink);font-size:13px;line-height:1.6;margin:14px 0}.explore-card{margin:28px 0;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.explore-card h2{margin:0 0 12px}.achievement{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;padding:18px 10px;background:var(--surface);border-radius:18px}.achievement small{line-height:1.5}@media(max-width:700px){.explore-card{padding:20px}.explore-card .section-heading{align-items:start;flex-direction:column;gap:8px}}.admin-loading{padding:40px 5vw;color:var(--muted)}.student-roster>button:hover,.student-roster>button.active{background:var(--surface-raised)}.student-roster>button.active{box-shadow:var(--lift);gap:5px;min-width:0}.managed-list>button:not(.primary-action){display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:12px;text-align:left;background:var(--surface);color:var(--ink);cursor:pointer}.managed-list>button.active{border-color:var(--line);background:var(--surface)}.content-admin .exam-library{display:block;margin:22px 5vw;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.exam-library-row.selected{background:var(--surface)}.full-mock-skill-icon,.full-mock-break>svg,.complete-mark{display:grid;place-items:center;width:82px;height:82px;margin:0 auto 24px;border-radius:50%;background:var(--surface)}.full-mock-skill-icon svg,.full-mock-break>svg,.complete-mark svg{width:36px;height:36px}.full-mock-embedded .writing-page{padding-top:42px}.managed-editor .source-pages figure{margin:0;display:grid;gap:8px}.managed-editor .source-pages img{max-height:420px;object-fit:contain;background:var(--surface)}.centres-admin{padding-bottom:70px}.centre{padding:20px 22px;background:var(--surface);border:1px solid var(--line);display:grid;gap:16px}.centre.disabled{border-color:var(--line-strong)}.centre-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.centre-head h2{margin:0;font-size:20px;letter-spacing:-.4px}.centre-head p{margin:6px 0 0;color:var(--ink-2);font-size:13px}.centre-invite{display:flex;align-items:end;gap:10px}.centre-invite label{flex:1;display:grid;gap:7px;color:var(--ink-2);font-size:12px;font-weight:var(--weight-strong)}.centre-invite input{width:100%;height:44px;padding:0 12px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font:13px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.centre-invite input:focus{outline:2px solid var(--action);outline-offset:-2px}@media(max-width:700px){.centre-invite{flex-direction:column;align-items:stretch}}.centre-note{margin:0;padding:var(--s3) var(--s4);border-left:1px solid var(--action);background:var(--surface-2);color:var(--ink-2);font-size:13px;line-height:1.6}.admin-listing{margin:var(--s4) 5vw var(--s7)}.telegram-fullscreen{--mini-top: calc(max(env(safe-area-inset-top, 0px), var(--mini-device-top, 0px)) + var(--mini-content-top, 0px));--mini-bottom: calc(max(env(safe-area-inset-bottom, 0px), var(--mini-device-bottom, 0px)) + var(--mini-content-bottom, 0px))}.telegram-fullscreen #root{padding-top:var(--mini-top);padding-left:calc(max(env(safe-area-inset-left,0px),var(--mini-device-left, 0px)) + var(--mini-content-left, 0px));padding-right:calc(max(env(safe-area-inset-right,0px),var(--mini-device-right, 0px)) + var(--mini-content-right, 0px));padding-bottom:var(--mini-bottom)}@media(max-width:800px){.student-main .page-header h1{font-size:clamp(28px,7vw,36px);line-height:1.15;overflow-wrap:anywhere}.account-panel{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}.telegram-fullscreen .account-panel{padding-bottom:calc(18px + var(--mini-bottom))}.account-signout{min-height:48px;font-size:13px}}.page-content>section+section{margin-top:var(--s6)}input,textarea,select{width:100%;padding:11px var(--s3);font:inherit;font-size:var(--step-0);background:var(--surface-2);color:var(--ink);border:var(--hair) solid var(--line-strong)}input::placeholder,textarea::placeholder{color:var(--ink-3)}input:focus,textarea:focus,select:focus{border-color:var(--action);outline:none}label,.rosette-read .label{font-size:var(--step--1);color:var(--ink-2);font-weight:var(--weight-mid)}.section-heading,.page-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3)}.section-heading h2,.page-header h1{min-width:0}.section-heading button{background:none;border:0;color:var(--action);font:inherit;font-size:var(--step--1);font-weight:var(--weight-mid);cursor:pointer;display:inline-flex;align-items:center;gap:var(--s1)}.section-heading button svg{width:13px;height:13px}.page-header p{color:var(--ink-2);font-size:var(--step-0);margin-top:var(--s2)}.status-chip{font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:3px var(--s2);border:var(--hair) solid var(--line-strong);color:var(--ink-2);font-weight:var(--weight-mid)}.status-chip.scored{border-color:var(--progress);color:var(--progress)}.global-notice{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface);border-left:var(--hair) solid var(--alert);color:var(--ink);font-size:var(--step-0)}.global-notice.error{border-color:var(--alert)}.global-notice button{background:none;border:var(--hair) solid var(--line-strong);color:var(--ink);padding:7px var(--s3);cursor:pointer;font:inherit;font-size:var(--step--1);margin-left:auto}.loading-screen{min-height:100dvh;display:grid;place-items:center;gap:var(--s3);background:var(--ground);color:var(--ink)}.empty-state,.empty-list{padding:var(--s5) var(--s4);background:var(--surface);border:var(--hair) dashed var(--line-strong);color:var(--ink-2);font-size:var(--step-0);text-align:center}.exam-timer,.timer,.speaking-clock{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step-2);letter-spacing:var(--track-tight);padding:var(--s1) var(--s3);background:var(--surface);border:var(--hair) solid var(--line-strong);font-variant-numeric:tabular-nums}.material,.passage-preview{background:var(--surface);border:var(--hair) solid var(--line);padding:var(--s5) var(--s4);font-size:var(--step-1);line-height:1.72;color:var(--ink);max-width:68ch}.material p+p{margin-top:var(--s4)}.material mark,mark{background:var(--action);color:var(--ink-on-action)}.question{background:var(--surface);border:var(--hair) solid var(--line);padding:var(--s4);display:grid;gap:var(--s3)}.question legend,.question>strong{font-size:var(--step-1)}.options{display:grid;gap:var(--s2)}.options label{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3);background:var(--surface-2);border:var(--hair) solid var(--line);cursor:pointer;color:var(--ink);font-size:var(--step-0);font-weight:400}.options label:hover{border-color:var(--ink-3)}.options input{width:16px;height:16px;flex:none;margin-top:2px}.writing-word-count,.draft-status,.workspace-status{font-size:var(--step--1);color:var(--ink-3)}.student-main>.content.explore-home-link{padding:0 var(--s4);margin-top:var(--s2)}.student-main>.content.explore-home-link:first-of-type{margin-top:var(--s5)}.student-main>.content.explore-home-link:last-child{padding-bottom:var(--s6)}@media(min-width:801px){.student-main>.content.explore-home-link{max-width:920px;padding:0 var(--s5)}.student-main>.content.explore-home-link:last-child{padding-bottom:var(--s7)}}@media(max-width:800px){.material{max-width:none;font-size:var(--step-0);line-height:1.68;padding:var(--s4)}.exam-timer,.timer{font-size:var(--step-1)}}.question-tools button,.passage-tools button{background:var(--surface-2);border:var(--hair) solid var(--line-strong);color:var(--ink);padding:7px var(--s3);cursor:pointer;font:inherit;font-size:var(--step--1)}.status-chip.active,.status-chip.in_progress,.challenge-card.complete,.achievement.earned,.leaderboard li.is-me,.vocabulary-options button.correct,.review-band,.question-tools button[aria-pressed=true]{color:var(--ink-on-action)}.challenge-card.complete *,.achievement.earned *,.leaderboard li.is-me *,.review-band *{color:inherit}mark,.material mark,.passage-tools mark{background:var(--action);color:var(--ink-on-action)}.writing-type-pills button,.filter-row button{background:var(--surface-2);border:var(--hair) solid var(--line-strong);color:var(--ink-2);padding:7px var(--s3);cursor:pointer;font:inherit;font-size:var(--step--1)}.writing-type-pills button[aria-pressed=true],.filter-row button[aria-pressed=true]{background:var(--progress);color:var(--ink-on-progress);border-color:var(--progress)}.alignment-consequence,.writing-report .topic-chip,.content-audience{background:var(--surface-2);color:var(--ink);border:var(--hair) solid var(--line);padding:var(--s3);font-size:var(--step-0)}.student-main>.content.explore-home-link{width:100%;box-sizing:border-box}@media(min-width:801px){.student-main>.content.explore-home-link{max-width:920px;margin-left:0;margin-right:0}.student-main>.content.explore-home-link button{width:100%}}.hero-date,.history-main span,.history-score span,.explore-home-link small,.workspace-status,.writing-history span,.writing-history small,.draft-status,.writing-word-count{color:var(--ink-2)}.question-tools button:disabled,.passage-tools button:disabled{opacity:1;color:var(--ink-2);border-color:var(--line);background:var(--surface-2)}.home-exam-strip .tile-meta,.section-heading button,.explore-home-link svg{color:var(--progress-text)}@media(max-width:800px){.page-content>section+section{margin-top:var(--s4)}.section-heading{margin-bottom:var(--s2)}}.options label{background:var(--surface);border-color:var(--line);color:var(--text)}.options label:hover{border-color:var(--text-3)}.question-tools button,.passage-tools button{background:var(--surface);border-color:var(--line-strong);color:var(--text)}.material mark,.passage-tools mark,.question-tools button[aria-pressed=true]{background:var(--accent-tint);color:var(--text)}.student-main .section-heading button{color:var(--accent)}.plan-metrics article,.metric-card,.card,.exam-card,.practice-card,.history-row,.home-card{box-shadow:var(--lift)}.page-header h1,.dashboard-hero h1,.dashboard-hero.useful-home h1,.review-summary h1,.explore-heading h1,.admin-page-heading h1,.speaking-page h1,.writing-heading h1,.plan-hero h1{font-size:clamp(26px,2.6vw,34px);letter-spacing:-.02em;line-height:1.15}.page-header{align-items:flex-start}@media(max-width:760px){.page-header h1,.dashboard-hero h1,.review-summary h1,.explore-heading h1,.plan-hero h1{font-size:26px}}.options label{background:var(--surface);border:var(--hair) solid var(--line-strong);color:var(--text);transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.options label:hover{border-color:var(--progress);background:color-mix(in srgb,var(--nav-active) 50%,var(--surface))}.options label.selected,.options label:has(input:checked){border-color:var(--action);background:var(--nav-active);box-shadow:inset 0 0 0 1px var(--action)}.options label.selected>span:first-of-type,.options label:has(input:checked)>span:first-of-type{background:var(--action);color:var(--ink-on-action)}.options label:has(input:focus-visible){outline:2px solid var(--action);outline-offset:2px}.runner input[type=text],.runner input:not([type]),.runner textarea,.answer-input,.gap-input{background:var(--surface);border:var(--hair) solid var(--line-strong);color:var(--text)}@media(min-width:801px){.student-main>.content.home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);margin-top:0;padding-top:0}}@media(min-width:801px)and (max-width:1100px){.student-main>.content.home-shortcuts{grid-template-columns:1fr}}@media(min-width:801px){.student-main>.content.explore-home-link.home-shortcuts{max-width:1200px;margin-left:auto;margin-right:auto;padding:0 var(--s6) var(--s7)}}.page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:var(--s5);max-width:none;padding-bottom:var(--s5)}.page-header>h1,.page-header>p,.page-header>div:not(:has(button)){grid-column:1}.page-header>button{grid-column:2;grid-row:1;align-self:center}@media(max-width:800px){.page-header>button{grid-column:1;grid-row:auto;justify-self:start;margin-top:var(--s3)}}.page-header>p{max-width:68ch;margin-top:var(--s2)}.library-card,.skill-card,.home-exam-strip button{border-top-width:4px!important}.library-card.reading,.skill-card.reading,.home-exam-strip .skill-reading{border-top-color:var(--skill-reading)!important}.library-card.listening,.skill-card.listening,.home-exam-strip .skill-listening{border-top-color:var(--skill-listening)!important}.library-card.writing,.skill-card.writing,.home-exam-strip .skill-writing{border-top-color:var(--skill-writing)!important}.library-card.speaking,.skill-card.speaking,.home-exam-strip .skill-speaking{border-top-color:var(--skill-speaking)!important}.library-card.reading .library-icon,.review-list-icon.reading,.briefing-icon.reading{background:color-mix(in srgb,var(--skill-reading) 12%,var(--surface));color:var(--skill-reading)}.library-card.listening .library-icon,.review-list-icon.listening,.briefing-icon.listening{background:color-mix(in srgb,var(--skill-listening) 12%,var(--surface));color:var(--skill-listening)}@keyframes completion-pop{0%{transform:scale(.5) rotate(-15deg);opacity:0}70%{transform:scale(1.12) rotate(5deg)}to{transform:scale(1);opacity:1}}@keyframes pulse{to{opacity:.55}}.poster{position:relative;overflow:hidden;isolation:isolate;display:block;width:100%;aspect-ratio:2 / 3;text-align:left;border-radius:var(--r-tile);color:var(--ink);background:var(--deep);box-shadow:var(--shadow-tile);font-size:var(--p-size, 30px);transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}.poster:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--art)}.poster-sm{--p-size: 18px;border-radius:8px}.poster-md{--p-size: 25px}.poster-lg{--p-size: 32px}.poster-hero{--p-size: var(--step-5);aspect-ratio:auto;height:100%;min-height:214px;border-radius:var(--r-hero)}@media(min-width:1024px){.poster-hero{--p-size: var(--step-6)}}.p-title{position:absolute;left:.34em;right:.34em;bottom:.34em;font-family:var(--font-display);font-weight:var(--weight-display);text-transform:uppercase;font-size:1em;line-height:.86;letter-spacing:var(--track-display);overflow-wrap:anywhere;-webkit-hyphens:manual;hyphens:manual}.poster-sm .p-title{left:6px;right:4px;bottom:7px}.p-tag{position:absolute;left:10px;top:10px;padding:3px 7px;border-radius:5px;background:var(--art-dark);color:var(--full-ink);font:var(--weight-strong) 11px/1.3 var(--font-ui);letter-spacing:.02em}.p-band{position:absolute;right:8px;top:8px;display:grid;place-items:center;min-width:38px;height:26px;padding:0 7px;border-radius:6px;background:var(--surface);color:var(--text);box-shadow:0 2px 6px var(--art-dark);font:var(--weight-display) 17px/1 var(--font-display);letter-spacing:.02em;font-variant-numeric:tabular-nums}.poster-sm .p-band{right:5px;top:5px;min-width:30px;height:20px;font-size:14px}@media(hover:hover){:is(a,button,[role=option]):hover>.poster{transform:translateY(-4px);box-shadow:var(--shadow-lift)}}:is(a,button,[role=option]):focus-visible>.poster{transform:translateY(-4px);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent),var(--shadow-lift)}:is(a,button,[role=option]):active>.poster{transform:scale(.98);transition-duration:80ms}.p-listening{--ink: var(--listening-ink);--deep: var(--listening-deep);--art: repeating-radial-gradient(circle at 18% 112%, transparent 0 13px, var(--art-light) 13px 15px), radial-gradient(circle at 18% 112%, var(--listening) 0 60%, var(--listening-deep) 100%)}.p-reading{--ink: var(--reading-ink);--deep: var(--reading);--art: linear-gradient(90deg, transparent 0 48%, var(--reading) 48% 52%, transparent 52%), repeating-linear-gradient(180deg, color-mix(in srgb, var(--reading-ink) 20%, transparent) 0 3px, transparent 3px 11px) 0 14px / 100% 62% no-repeat, linear-gradient(170deg, var(--reading-hi) 0%, var(--reading) 55%, var(--reading-lo) 100%)}.p-writing{--ink: var(--writing-ink);--deep: var(--writing-deep);--art: linear-gradient(90deg, transparent 0 14%, var(--writing-margin) 14% calc(14% + 1.5px) , transparent 0), repeating-linear-gradient(180deg, transparent 0 17px, var(--art-light) 17px 18px), linear-gradient(160deg, var(--writing) 0%, var(--writing-mid) 55%, var(--writing-deep) 100%)}.p-speaking{--ink: var(--speaking-ink);--deep: var(--speaking);--art: radial-gradient(ellipse 70% 22% at 50% 42%, color-mix(in srgb, var(--speaking-ink) 30%, transparent), transparent 70%), linear-gradient(165deg, var(--speaking-hi) 0%, var(--speaking) 50%, var(--speaking-lo) 100%)}.p-wave{position:absolute;left:0;right:0;top:28%;height:28%;z-index:-1;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--speaking-ink) 55%,transparent) 0 3px,transparent 3px 7px);-webkit-mask:radial-gradient(ellipse 50% 50% at 50% 50%,#000 30%,transparent 72%);mask:radial-gradient(ellipse 50% 50% at 50% 50%,#000 30%,transparent 72%)}.p-full{--ink: var(--full-ink);--deep: var(--full-deep);--art: linear-gradient(180deg, var(--listening) 0 25%, var(--reading) 25% 50%, var(--writing) 50% 75%, var(--speaking) 75% 100%)}.p-full .p-title{text-shadow:0 2px 14px var(--art-dark)}svg.p-pen{position:absolute;z-index:-1;right:-6%;top:-16%;width:74%;height:auto;overflow:visible}.p-pen path{fill:none;stroke:var(--art-light-2);stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:900}.play .p-pen path{animation:p-pen 2.3s var(--d-pen, .56s) both}@keyframes p-pen{0%{stroke-dashoffset:900;animation-timing-function:cubic-bezier(.5,0,.3,1)}24%{stroke-dashoffset:680;animation-timing-function:linear}30%{stroke-dashoffset:672;animation-timing-function:cubic-bezier(.45,0,.25,1)}58%{stroke-dashoffset:360;animation-timing-function:linear}63%{stroke-dashoffset:354;animation-timing-function:cubic-bezier(.4,0,.15,1)}to{stroke-dashoffset:0}}.play .poster.p-enter{animation:m-wipe var(--dur, 1.3s) var(--ease-out) var(--d, 0ms) both}.play .poster.p-enter:before{animation:p-push 1.9s var(--ease-out) var(--d, 0ms) both}@keyframes p-push{0%{transform:scale(1.22) translate(3%);filter:blur(12px) brightness(.75)}}.completion-review{max-width:760px;margin:30px auto}.completion-review article{margin-top:12px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.completion-review h3{margin:10px 0;font-size:16px}.completion-review p{font-size:13px;line-height:1.6}.completion-review .correct,.completion-review .incorrect{color:var(--ink)}.practice-complete>div:last-child{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.bar{height:6px;overflow:hidden;border-radius:6px;background:var(--surface-raised)}.bar span{display:block;height:100%;border-radius:inherit;background:var(--progress)}.exam-meta{display:flex;flex-wrap:wrap;gap:15px;color:var(--ink);font-size:12px}.exam-meta span{display:flex;align-items:center;gap:6px}.exam-meta svg{width:15px;height:15px}.history-list{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface-raised)}.history-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto 80px;align-items:center;gap:15px;padding:15px 18px}.history-row+.history-row{border-top:1px solid var(--line)}.history-main strong,.history-main span{display:block}.history-main strong{font:700 13px var(--font-display)}.history-main span{margin-top:4px;color:var(--muted);font-size:12px;text-transform:capitalize}.history-score{text-align:right}.history-score strong,.history-score span{display:block}.history-score strong{font:800 22px var(--font-display)}.history-score span{color:var(--muted);font-size:12px}.empty-list{display:flex;align-items:center;gap:12px;padding:25px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}.empty-list p{margin:0;font-size:12px}.exam-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.library-card{min-height:330px;display:flex;flex-direction:column;padding:25px;border-radius:18px}.library-card.reading{background:var(--surface-raised)}.library-card.listening,.library-card.writing,.library-card.speaking{background:var(--surface)}.library-icon{display:grid;place-items:center;width:43px;height:43px;margin-bottom:28px;border-radius:11px;background:var(--surface)}.library-card-top{display:flex;justify-content:space-between;align-items:center}.library-card h2{margin-top:8px;font-size:22px;letter-spacing:-.8px}.library-card>p{margin:9px 0 17px;color:var(--ink);font-size:12px;line-height:1.5}.library-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:auto;padding-top:20px}.library-footer small{color:var(--ink);font-size:12px}.library-footer button{display:flex;align-items:center;gap:8px;padding:10px 13px;border:0;border-radius:9px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-size:12px;font-weight:700}.library-footer button:disabled{opacity:.55}.library-footer svg{width:14px;height:14px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.metric-card{display:flex;min-height:170px;flex-direction:column;justify-content:flex-end;padding:23px;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised)}.metric-card>span{color:var(--muted);font-size:12px}.metric-card>strong{margin:4px 0;font:800 42px/1 var(--font-display);letter-spacing:-2px}.metric-card small{color:var(--ink);font-size:12px}.accuracy-label{display:flex;justify-content:space-between;margin:17px 0 8px;font-size:12px}.progress-note{margin:20px 0 0;color:var(--muted);font-size:12px;text-align:center}.skeleton-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.skeleton-card{min-height:230px;padding:25px;border-radius:17px;background:var(--surface);animation:pulse 1.3s ease-in-out infinite alternate}.skeleton-card i{display:block;height:12px;margin-top:15px;border-radius:8px;background:var(--surface-raised)}.skeleton-card i:first-child{width:45px;height:45px;margin:0 0 35px}.skeleton-card i:last-child{width:55%}.list-skeleton{display:grid;gap:1px;overflow:hidden;border-radius:14px}.list-skeleton i{height:72px;background:var(--surface);animation:pulse 1.3s ease-in-out infinite alternate}.exam-briefing{position:relative;width:min(100%,620px);max-height:calc(100vh - 40px);overflow-y:auto;padding:36px;border-radius:21px;background:var(--paper);box-shadow:0 28px 80px #00000047}.modal-close{position:absolute;top:18px;right:18px;width:34px;height:34px;border:0;border-radius:50%;background:var(--surface);cursor:pointer;color:var(--ink);font-size:21px}.briefing-icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:25px;border-radius:15px}.briefing-icon.reading{background:var(--surface-raised);color:var(--ink)}.briefing-icon.listening{background:var(--surface);color:var(--ink)}.exam-briefing h2{font-size:31px;letter-spacing:-1.3px}.briefing-description{margin:9px 0 23px;color:var(--muted);font-size:13px;line-height:1.55}.briefing-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.briefing-stats>div{display:grid;grid-template-columns:28px 1fr;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px}.briefing-stats svg{grid-row:1 / 3;width:19px;height:19px}.briefing-stats strong,.briefing-stats span{display:block}.briefing-stats strong{font-size:12px}.briefing-stats span{color:var(--muted);font-size:12px}.readiness-list{display:grid;gap:9px;margin:20px 0;padding:0;list-style:none;color:var(--ink);font-size:12px}.readiness-list li{display:flex;align-items:center;gap:8px}.readiness-list svg{width:15px;height:15px;color:var(--ink)}.briefing-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px}.timer-warning{display:block;margin-top:10px;color:var(--ink);font-size:12px;text-align:right}.practice-setup{max-width:850px;display:grid;gap:28px;padding:30px;border:1px solid var(--line);border-radius:18px;background:var(--surface-raised)}.setup-block{display:grid;gap:13px}.setup-label{color:var(--ink);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.choice-grid button{display:grid;grid-template-columns:38px 1fr;gap:2px 12px;padding:17px;border:1px solid var(--line);border-radius:13px;background:var(--surface);cursor:pointer;text-align:left}.choice-grid button.selected{border-color:var(--surface-raised);box-shadow:var(--lift);background:var(--surface-raised)}.choice-grid svg{grid-row:1 / 3;align-self:center}.choice-grid strong{font-size:13px}.choice-grid span{color:var(--muted);font-size:12px}.practice-pills{display:flex;flex-wrap:wrap;gap:8px}.practice-pills button{padding:9px 13px;border:1px solid var(--line);border-radius:20px;background:var(--surface);cursor:pointer;color:var(--ink);font-size:12px;font-weight:700}.practice-pills button.selected{border-color:var(--line);background:var(--surface-2);color:var(--ink)}.practice-start{justify-self:start}.practice-note{max-width:850px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:17px;margin-top:18px;padding:18px 21px;border-radius:14px;background:var(--surface)}.practice-note>svg{width:27px;height:27px}.practice-note strong{font-size:12px}.practice-note p{margin:4px 0 0;color:var(--ink);font-size:12px}.practice-note button{border:0;background:transparent;cursor:pointer;font-size:12px;font-weight:800}.practice-library-section{margin-top:52px}.practice-library-section>.section-heading{margin-bottom:20px}.empty-actions{display:flex;gap:10px}.practice-complete{max-width:680px;margin:5vh auto 0;padding:52px;border:1px solid var(--line);border-radius:22px;background:var(--surface);text-align:center}.practice-complete h1{margin:5px auto 12px;font-size:48px}.practice-complete>p:not(.eyebrow){max-width:500px;margin:0 auto 27px;color:var(--muted);font-size:13px;line-height:1.55}.practice-complete>div:last-child{display:flex;justify-content:center;gap:9px}.practice-header{display:grid;grid-template-columns:1fr minmax(150px,320px) auto;align-items:center;gap:25px;padding-bottom:26px;border-bottom:1px solid var(--line)}.practice-header h1{font-size:34px;letter-spacing:-1.5px}.practice-progress{height:7px;overflow:hidden;border-radius:8px;background:var(--surface-raised)}.practice-progress span{display:block;height:100%;border-radius:inherit;background:var(--progress);transform:scaleX(var(--p, 0));transform-origin:left;transition:transform .25s ease}.practice-source{max-height:calc(100vh - 190px);overflow:auto;padding:28px;border-radius:17px;background:var(--surface);white-space:pre-wrap;font:16px/1.8 var(--font-text)}.practice-source h2{margin-bottom:9px;font:800 23px var(--font-display)}.practice-source .source-instructions{white-space:normal}.listening-source>p:not(.eyebrow){white-space:pre-line;margin:0 0 12px}.practice-source .source-instructions,.listening-source>p:not(.eyebrow){color:var(--ink);font:12px/1.5 var(--font-text)}.listening-source{background:var(--surface);font-family:var(--font-text);white-space:normal}.listening-source>svg{width:34px;height:34px;margin-bottom:25px}.listening-source button{width:100%;margin-top:20px;padding:12px;border:0;border-radius:9px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-weight:800}.practice-options label{padding:13px}.practice-actions{display:flex;justify-content:flex-end;margin-top:22px}.plan-hero{display:grid;grid-template-columns:1fr 190px;align-items:center;gap:55px;padding-bottom:45px;border-bottom:1px solid var(--line)}.plan-hero>div:first-child>p:not(.eyebrow){max-width:670px;margin:17px 0;color:var(--muted);font-size:14px;line-height:1.6}.plan-hero>div:first-child>button{padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:12px;font-weight:800}.goal-ring{--progress: 0deg;width:170px;height:170px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--progress) var(--progress),var(--surface-raised) 0)}.goal-ring:before{content:"";grid-area:1 / 1;width:133px;height:133px;border-radius:50%;background:var(--paper)}.goal-ring>div{position:relative;grid-area:1 / 1;text-align:center}.goal-ring strong,.goal-ring span{display:block}.goal-ring strong{font:800 31px var(--font-display)}.goal-ring span{color:var(--muted);font-size:12px}.plan-onboarding{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;margin-top:25px;padding:18px 20px;border-radius:13px;background:var(--surface)}.plan-onboarding>svg{width:25px;height:25px}.plan-onboarding strong{font-size:12px}.plan-onboarding p{margin:3px 0 0;color:var(--ink);font-size:12px}.plan-onboarding button{padding:8px 11px;border:0;border-radius:8px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-size:12px;font-weight:800}.plan-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:25px}.plan-metrics article{position:relative;min-height:160px;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;border:1px solid var(--line);border-radius:15px;background:var(--surface-raised)}.plan-metrics article>div{position:absolute;top:18px;right:18px;width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:var(--surface);color:var(--ink)}.plan-metrics article>div svg{width:18px;height:18px}.plan-metrics span{color:var(--muted);font-size:12px}.plan-metrics strong{margin:4px 0;font:800 38px/1 var(--font-display);letter-spacing:-1px}.plan-metrics small{color:var(--ink);font-size:12px}.daily-tasks{display:grid;gap:10px}.task-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:17px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised)}.task-card.done{background:var(--surface)}.task-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:var(--surface);color:var(--ink)}.task-card.done .task-icon{background:var(--surface);color:var(--ink)}.task-card>div:nth-child(2)>span{color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.task-card h3{margin:3px 0;font-size:15px}.task-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.task-card>button{display:flex;align-items:center;gap:7px;padding:9px 11px;border:0;border-radius:8px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-size:12px;font-weight:800}.task-card>button svg{width:13px;height:13px}.plan-activity{padding:27px;margin-top:42px;border:1px solid var(--line);border-radius:17px;background:var(--surface-raised)}.plan-activity .section-heading{align-items:center}.plan-activity .section-heading>span{color:var(--muted);font-size:12px}.activity-chart{height:170px;display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:12px;padding-top:15px}.activity-chart>div{height:100%;display:grid;grid-template-rows:1fr auto auto;justify-items:center;gap:5px}.activity-bar{width:min(48px,65%);height:100%;display:flex;align-items:end;overflow:hidden;border-radius:8px;background:var(--surface)}.activity-bar i{width:100%;min-height:3px;border-radius:8px;background:var(--progress)}.activity-chart strong{color:var(--ink);font-size:12px}.activity-chart span{min-height:12px;color:var(--ink-2);font-size:var(--step--1);font-variant-numeric:tabular-nums}.activity-key{margin:14px 0 0;color:var(--muted);font-size:12px;text-align:center}.activity-key i{display:inline-block;width:7px;height:7px;margin:0 5px 0 12px;border-radius:2px;background:var(--progress)}.plan-loading{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plan-loading i{height:170px;border-radius:15px;background:var(--surface);animation:pulse 1.3s ease-in-out infinite alternate}.profile-dialog{position:relative;width:min(100%,560px);max-height:calc(100vh - 40px);overflow-y:auto;padding:34px;border-radius:19px;background:var(--paper)}.profile-dialog h2{font-size:28px}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.profile-fields label{display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:800}.profile-fields input,.profile-fields select{width:100%;height:45px;padding:0 12px;border:1px solid var(--line);border-radius:9px;outline:none;background:var(--surface);color:var(--ink);font:12px var(--font-text)}.profile-fields input:focus,.profile-fields select:focus{border-color:var(--line)}.profile-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:9px}@media(max-width:800px){.metric-card{min-height:130px}.history-row{grid-template-columns:42px 1fr auto}.history-row .status-chip{display:none}.practice-setup{padding:21px}.practice-note{grid-template-columns:auto 1fr}.practice-note button{grid-column:1 / -1;text-align:left}.practice-header{grid-template-columns:1fr auto}.practice-header .practice-progress{grid-row:2;grid-column:1 / -1}.practice-source{max-height:none}.plan-hero{grid-template-columns:1fr auto;gap:25px}.goal-ring{width:135px;height:135px}.goal-ring:before{width:104px;height:104px}.plan-metrics{grid-template-columns:1fr}.exam-briefing{padding:28px 22px}.briefing-stats{grid-template-columns:1fr}}@media(max-width:440px){.library-card{min-height:315px}.history-row{grid-template-columns:38px minmax(0,1fr) 62px;gap:10px;padding:13px}.history-main strong{font-size:12px}.history-score strong{font-size:18px}.timer-warning{text-align:center}.choice-grid{grid-template-columns:1fr}.practice-complete{padding:35px 20px}.practice-complete h1{font-size:37px}.practice-complete>div:last-child{flex-direction:column}.plan-hero{grid-template-columns:1fr}.goal-ring{justify-self:center}.plan-onboarding{grid-template-columns:auto 1fr}.plan-onboarding button{grid-column:1 / -1}.task-card{grid-template-columns:auto 1fr}.task-card>button{grid-column:1 / -1;justify-content:center}.plan-activity{padding:20px 13px}.activity-chart{gap:5px}.profile-dialog{padding:30px 20px}.profile-fields,.profile-actions{grid-template-columns:1fr}}.explore-heading h1{font-size:clamp(32px,5vw,52px);letter-spacing:-.045em;margin:10px 0}.explore-heading{margin-bottom:28px}.challenge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.challenge-card{background:var(--surface);padding:24px;border-radius:24px;display:flex;flex-direction:column;gap:12px}.challenge-card:nth-child(2){background:var(--surface)}.challenge-card:nth-child(3){background:var(--surface)}.challenge-card.complete{background:var(--surface)}.challenge-card h2{margin:0;font-size:23px}.challenge-card p{flex:1;margin:0;line-height:1.5}.challenge-card progress{width:100%;height:8px;accent-color:var(--surface-2)}.challenge-card button{padding:12px 0;background:none;border:0;text-align:left;font-weight:700;cursor:pointer}.badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.achievement.earned{background:var(--surface)}.achievement-symbol{border:2px solid var(--line);border-radius:50%;width:46px;height:46px;display:grid;place-items:center;font-weight:800}.achievement.earned .achievement-symbol{background:var(--surface);border-color:var(--line)}.community-settings{display:flex;flex-wrap:wrap;align-items:end;gap:18px;margin-top:24px}.community-settings label{display:flex;flex-direction:column;gap:8px;font-size:14px}.community-settings input:not([type=checkbox]){border:1px solid var(--line);border-radius:12px;padding:12px;max-width:100%;background:var(--surface);color:var(--ink)}.community-settings .community-checkbox{flex-direction:row;align-items:center;max-width:280px;line-height:1.5}.community-checkbox input{width:20px;height:20px;flex-shrink:0;accent-color:var(--surface-2)}.leaderboard{list-style:none;margin:20px 0;padding:0}.leaderboard li{display:flex;gap:14px;align-items:center;padding:16px 12px;border-bottom:1px solid var(--line);border-radius:10px}.leaderboard li strong{flex:1;overflow-wrap:anywhere}.leaderboard li.is-me{background:var(--surface)}.rank{min-width:32px;font-size:22px;font-weight:700;color:var(--ink)}.leaderboard-empty{padding:20px;background:var(--surface);border-radius:18px}.explore-page button:focus-visible{outline:3px solid var(--line);outline-offset:3px}@media(max-width:700px){.challenge-grid{grid-template-columns:1fr}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.content-admin .exam-library>header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.content-admin .exam-library h2{margin:7px 0;font-size:30px}.content-admin .exam-library header p:last-child{margin:0;color:var(--muted)}@media(max-width:700px){.content-admin .exam-library{margin:16px 20px;padding:18px}.content-admin .exam-library>header{display:grid}}@media(max-width:800px){.practice-pills button{min-height:44px;padding:10px 14px;font-size:12px}.library-footer button{min-height:44px}}.history-list{display:grid;gap:var(--s1)}.history-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface);border:var(--hair) solid var(--line)}.history-main{flex:1;min-width:0}.history-main strong{display:block;font-size:var(--step-0);line-height:1.25}.history-main span{font-size:var(--step--1);color:var(--ink-3)}.history-score{text-align:right;flex:none}.history-score strong{display:block;font-family:var(--font-display);font-size:var(--step-2);color:var(--action)}.history-score span{font-size:12px;color:var(--ink-3)}.status-chip.in_progress{border-color:var(--action);color:var(--action)}.list-skeleton{display:grid;gap:var(--s1)}.list-skeleton span{height:56px;background:var(--surface);border:var(--hair) solid var(--line)}.timer-warning{color:var(--ink-on-action);background:var(--action);border-color:var(--action)}.student-main .history-score strong{color:var(--action-on-glaze)}.plan-metrics article,.metric-card{min-height:0;justify-content:flex-start;gap:var(--s1);padding:var(--s5)}.plan-metrics article>div{position:static;margin-bottom:var(--s3);background:var(--surface-2);color:var(--action)}.plan-metrics span,.metric-card>span{font-size:var(--step--1);color:var(--ink-2);font-weight:var(--weight-mid)}.plan-metrics strong,.metric-card>strong{font-size:2rem;letter-spacing:var(--track-display);font-weight:var(--weight-display)}.plan-metrics small,.metric-card small{font-size:var(--step--1);color:var(--ink-3)}.practice-complete h1{font-size:36px}small.timer-warning{background:none;border:0;color:var(--ink-3);text-align:center;font-size:var(--step--1)}.goal-ring{background:conic-gradient(var(--action) var(--progress),var(--line-glaze) 0)!important}.goal-ring:before{background:var(--glaze)!important}@media(max-width:760px){.plan-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}.plan-metrics article{padding:var(--s3)}.plan-metrics article>div{display:none}.plan-metrics strong{font-size:1.5rem}.plan-metrics span,.plan-metrics small{font-size:12px}.goal-ring{width:120px!important;height:120px!important}.goal-ring:before{width:94px!important;height:94px!important}}@media(min-width:801px){.practice-setup{max-width:none}.practice-setup .choice-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.explore-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--s5);align-items:center}.library-card.reading .library-card-top{color:var(--skill-reading)}.library-card.listening .library-card-top{color:var(--skill-listening)}.library-card.writing .library-card-top{color:var(--skill-writing)}.library-card.speaking .library-card-top{color:var(--skill-speaking)}.library-card.writing .library-icon{background:color-mix(in srgb,var(--skill-writing) 12%,white);color:var(--skill-writing)}.library-card.speaking .library-icon{background:color-mix(in srgb,var(--skill-speaking) 12%,white);color:var(--skill-speaking)}.choice-grid button{--pick: var(--action);position:relative;grid-template-columns:56px minmax(0,1fr);gap:2px 16px;border:2px solid var(--line);padding:16px;transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}.choice-grid button:hover{border-color:color-mix(in srgb,var(--pick) 45%,white)}.choice-grid button.selected,.choice-grid button[aria-pressed=true]{border-color:var(--pick);background:color-mix(in srgb,var(--pick) 8%,white);box-shadow:0 8px 20px -12px color-mix(in srgb,var(--pick) 70%,transparent)}.choice-grid button.selected strong,.choice-grid button[aria-pressed=true] strong{color:var(--pick)}.choice-grid strong{font-size:var(--step-0)}.choice-grid span{font-size:var(--step--1)}.practice-pills button{border:2px solid var(--line)}.practice-pills button.selected,.practice-pills button[aria-pressed=true]{border-color:var(--action);background:var(--nav-active);color:var(--nav-active-ink);font-weight:var(--weight-strong)}.home{padding-top:var(--s3)}.home-greet{margin:0 var(--s1) var(--s4)}.home-greet p{color:var(--text-3);font-size:var(--step--1);font-weight:var(--weight-mid);letter-spacing:.04em;text-transform:uppercase}.home-greet h1{margin-top:var(--s1);font-size:var(--step-3);line-height:1}.home-grid{display:grid;gap:var(--s6)}.home-grid>*{min-width:0}.home-hero{padding:10px;border-radius:var(--r-hero);background:var(--surface);box-shadow:var(--shadow-card)}.home-hero>.poster{height:214px}.home-hero-body{padding:var(--s4) 6px 6px}.home-hero-body h2{font-family:var(--font-ui);font-size:var(--step-1);font-weight:var(--weight-strong);letter-spacing:0;line-height:1.25}.home-count{margin-top:var(--s2)}.home-count .chip{background:var(--surface-2);box-shadow:none}.home-why{margin-top:var(--s1);max-width:46ch;color:var(--text-2);font-size:var(--step-0)}.home-first{margin:var(--s4) 0}.home-first h3{font-size:var(--step-1)}.home-first p{margin:var(--s1) 0 var(--s3);color:var(--text-2)}.home-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}.home-cta .btn-primary{flex:1 0 auto;min-height:52px;font-size:var(--step-1);white-space:nowrap}.home-cta p{min-width:0;color:var(--text-2);font-size:var(--step--1);line-height:1.35}.home-cta p b{display:block;color:var(--text);font-size:var(--step-0);font-weight:var(--weight-strong)}.band-rail{position:relative;height:66px;margin:var(--s5) 0 var(--s4)}.band-rail-line{position:absolute;left:0;right:0;top:27px;height:2px;border-radius:2px;background:var(--line)}.band-rail-gap{position:absolute;top:26px;height:4px;border-radius:4px;background:var(--accent-hi)}.band-rail-target{position:absolute;top:-6px;height:52px;padding-left:6px;border-left:1.5px dashed var(--text-2);color:var(--text);font-size:var(--step--1);font-weight:var(--weight-strong);line-height:1;white-space:nowrap}.band-dot{position:absolute;top:15px;width:26px;height:26px;margin-left:-13px;border-radius:50%;display:grid;place-items:center;font-size:var(--step--1);font-weight:var(--weight-display);box-shadow:0 0 0 2.5px var(--surface),var(--shadow-tile)}.band-dot.listening{background:var(--listening);color:var(--listening-ink)}.band-dot.reading{background:var(--reading);color:var(--reading-ink)}.band-dot.writing{background:var(--writing-mid);color:var(--writing-ink)}.band-dot.speaking{background:var(--speaking);color:var(--speaking-ink)}.band-dot.is-low{z-index:1;box-shadow:0 0 0 2.5px var(--surface),0 0 0 4.5px var(--accent-hi),var(--shadow-tile)}.band-dot.is-low:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--accent-hi);opacity:0}.play .band-dot.is-low:after{animation:home-ring 1.1s var(--ease-out) calc(var(--d, 0ms) + .9s) both}@keyframes home-ring{0%{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(2.1)}}.band-rail-tick{position:absolute;top:48px;transform:translate(-50%);color:var(--text-3);font-size:var(--step--1);line-height:1.2;white-space:nowrap}.band-rail-tick.is-start{left:0;transform:none}.band-rail-tick.is-end{right:0;transform:none}.band-rail-tick.is-overall{color:var(--text);font-weight:var(--weight-strong)}.home-link{display:inline-flex;align-items:center;gap:2px;min-height:44px;padding:0;border:0;background:none;color:var(--text-2);font:inherit;font-size:var(--step--1);font-weight:var(--weight-mid);cursor:pointer;transition:color var(--dur-short) var(--ease-out)}.home-link:hover{color:var(--text)}.home-link svg{width:14px;height:14px}.home-side{display:grid;gap:var(--s5);align-content:start}.home-today>p{display:flex;justify-content:space-between;gap:var(--s3);color:var(--text-2);font-size:var(--step--1)}.home-today b{color:var(--text);font-weight:var(--weight-strong)}.home-goal{height:4px;margin-top:var(--s2);border-radius:4px;background:var(--surface-2);overflow:hidden}.home-goal i{display:block;height:100%;border-radius:4px;background:var(--progress)}.home-today-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin-top:var(--s3)}.home-today-foot .chip svg{color:var(--streak)}.home-today-foot .home-link{margin-left:auto}.home-row-h{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.home-row-h h2{font-family:var(--font-display);font-size:var(--step-2);font-weight:750;letter-spacing:var(--track-display);line-height:1}.home-continue{display:grid;grid-template-columns:58px minmax(0,1fr);gap:var(--s3);align-items:center;padding:10px 14px 10px 10px;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card)}.home-continue h2{font-family:var(--font-ui);font-size:var(--step-1);font-weight:var(--weight-strong);letter-spacing:0;line-height:1.25}.home-continue p{margin-top:2px;color:var(--text-2);font-size:var(--step--1)}.home-continue .btn{margin-top:var(--s2)}.home-reel,.home-shelf-row{display:flex;gap:10px;margin:0 calc(-1 * var(--s4));padding:var(--s3) var(--s4) var(--s4);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:var(--s4);scrollbar-width:none;list-style:none}.home-reel::-webkit-scrollbar,.home-shelf-row::-webkit-scrollbar{display:none}.home-reel li{flex:none;width:104px;scroll-snap-align:start}.home-reel p{margin-top:7px;color:var(--text-2);font-size:var(--step--1);line-height:1.3}.home-reel b{display:-webkit-box;overflow:hidden;color:var(--text);font-weight:var(--weight-mid);-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.home-tile{flex:none;width:112px;padding:0;border:0;border-radius:var(--r-tile);background:none;color:inherit;text-align:left;cursor:pointer;scroll-snap-align:start;transform-origin:left center;transition:transform .7s var(--ease-settle),opacity var(--dur-long) var(--ease-out),filter var(--dur-long) var(--ease-out)}.home-tile .poster{outline:2px solid transparent;outline-offset:2px;transition:outline-color var(--dur-short) var(--ease-out),box-shadow .3s var(--ease-out),transform .3s var(--ease-out)}.home-shelf-row:has(.home-tile+.home-tile) .home-tile:not(.is-focus){opacity:.55;filter:saturate(.3)}.home-tile.is-focus{z-index:1;transform:scale(1.06)}.home-tile.is-focus~.home-tile{transform:translate(8px)}.home-tile.is-focus .poster{outline-color:var(--accent);box-shadow:var(--shadow-lift)}.home-tile:disabled{cursor:progress}.home-detail h3{font-size:var(--step-1)}.home-facts{display:flex;flex-wrap:wrap;gap:6px;margin:var(--s2) 0}.home-detail p{max-width:44ch;color:var(--text-2)}@media(min-width:1024px){.home{padding-top:var(--s2)}.home-greet{margin:0 0 var(--s5)}.home-greet h1{font-size:var(--step-4)}.home-grid{grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"hero side" "shelf shelf";gap:var(--s6) var(--s6);align-items:start}.home-hero{grid-area:hero;display:grid;grid-template-columns:300px minmax(0,1fr);gap:var(--s6);min-height:470px;padding:14px}.home-hero>.poster{--p-size: var(--step-5);height:auto}.home-hero-body{align-self:center;padding:12px 18px 12px 0}.home-hero-body h2{font-size:var(--step-2)}.home-why{font-size:var(--step-1)}.band-rail{margin-top:var(--s6)}.home-side{grid-area:side;gap:var(--s6)}.home-reel{margin:0;padding:6px 0 var(--s2)}.home-shelf{grid-area:shelf}.home-shelf-body{display:grid;grid-template-columns:minmax(0,auto) minmax(280px,1fr);align-items:center;column-gap:var(--s7)}.home-shelf-row{margin:0;padding:18px 24px 18px 4px}.home-tile{width:150px}.home-tile .poster{--p-size: 32px}.home-detail h3{font-family:var(--font-display);font-size:var(--step-4);font-weight:var(--weight-display);line-height:.95;text-transform:uppercase}.home-detail p{font-size:var(--step-1)}}.progress-hero{display:grid;gap:var(--s3);margin-bottom:var(--s6);padding:var(--s5);border-radius:var(--r-hero);background:var(--surface);box-shadow:var(--shadow-card)}.progress-overall>span,.progress-overall>small{display:block;color:var(--text-2);font-size:var(--step--1)}:is(.plan-page,.progress-page) strong>.num{display:inline;margin:0;color:inherit;font:inherit;letter-spacing:inherit}.progress-overall strong{display:block;font-size:var(--step-5);line-height:.9;margin:var(--s1) 0}.progress-hero .band-rail{margin:var(--s2) 0}.progress-hero .metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}.progress-hero .metric-card{min-height:0;padding:var(--s3);border:0;border-radius:var(--r-card);background:var(--ground);box-shadow:none}.progress-hero .metric-card>strong{font-size:var(--step-3)}.skill-card-heading .poster{width:36px;flex:none}.history-skill{width:40px}@media(min-width:1024px){.progress-hero{grid-template-columns:220px minmax(0,1fr);column-gap:var(--s7);align-items:center;padding:var(--s6)}.progress-overall strong{font-size:var(--step-6)}.progress-hero .metric-grid{grid-column:1 / -1;gap:var(--s3)}}@media(max-width:800px){.progress-hero .metric-card>strong{font-size:var(--step-2)}.progress-hero .metric-card small{display:none}}.explore-wall{display:flex;gap:6px;margin-bottom:var(--s3)}.explore-wall .poster{width:44px}@media(min-width:1024px){.explore-heading>.explore-wall{grid-column:2;grid-row:1 / span 2;margin:0}.explore-wall .poster{width:64px}}@media(max-width:1023px){.explore-heading{display:block}}.challenge-card.complete,.achievement.earned,.leaderboard li.is-me{color:var(--text)}.challenge-card.complete{box-shadow:inset 0 0 0 2px var(--ok),var(--shadow-card)}.achievement.earned .achievement-symbol{border-color:var(--ok);background:var(--ok-tint)}.leaderboard li.is-me{background:var(--accent-tint)}.choice-grid button:has(>.poster){grid-template-columns:44px minmax(0,1fr);align-items:center}.choice-grid button>.poster{grid-row:1 / 3;width:44px}.choice-grid button>strong{align-self:end}.choice-grid button>span{align-self:start}@media(max-width:800px){.practice-page .exam-library{grid-template-columns:minmax(0,1fr)}}.library-icon{width:52px;height:auto;margin-bottom:var(--s4);background:none}.library-icon .poster{width:52px}.task-icon .poster{width:30px}.play .bar-up{transform-origin:bottom;animation:home-up var(--dur, .9s) var(--ease-quint) var(--d, 0ms) both}@keyframes home-up{0%{transform:scaleY(0)}}.runner,.result-page{--own-accent: var(--accent);--own-progress: var(--progress);--own-surface: var(--surface);--own-surface-2: var(--surface-2);--own-line: var(--line);--own-line-strong: var(--line-strong)}.runner :is(.material,.question),.result-page :is(.result-card,.answer-review){--accent: var(--own-accent);--action: var(--own-accent);--progress: var(--own-progress);--surface: var(--own-surface);--surface-2: var(--own-surface-2);--line: var(--own-line);--line-strong: var(--own-line-strong)}.runner{--cell: 36px;--gap: 4px;min-height:100dvh;background:var(--ground);color:var(--text)}.runner-top{position:sticky;top:0;z-index:20;padding-top:var(--mini-top, env(safe-area-inset-top, 0px));background:var(--chrome-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:var(--hair) solid var(--line)}.runner-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3) var(--s1)}.runner-exit,.runner-flag,.map-step{display:inline-grid;grid-auto-flow:column;place-items:center;gap:6px;min-width:44px;height:44px;padding:0 10px;border:0;border-radius:var(--r-ctl);background:transparent;color:var(--text-2);font:var(--weight-mid) var(--step--1) var(--font-ui);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.runner-exit svg,.runner-flag svg,.map-step svg{width:20px;height:20px}.runner-exit:hover,.runner-flag:hover:not(:disabled),.map-step:hover:not(:disabled){background:var(--surface);color:var(--text)}.runner-exit:active,.runner-flag:active,.map-step:active{transform:scale(.92)}.runner-flag[aria-pressed=true]{color:var(--accent)}.runner-flag[aria-pressed=true] svg path{fill:currentColor}.runner-flag:disabled,.map-step:disabled{opacity:.4;cursor:default}.runner-where{min-width:0;line-height:1.25}.runner-where strong,.runner-where span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.runner-where strong{font-size:var(--step-0);font-weight:var(--weight-strong)}.runner-where span{margin-top:2px;color:var(--text-2);font-size:var(--step--1)}.runner-where span:first-letter{text-transform:uppercase}.runner-clock{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border-radius:var(--r-ctl);background:var(--surface);box-shadow:var(--shadow-card);font:var(--weight-display) 22px/1 var(--font-display);letter-spacing:.03em}.runner-clock svg{width:16px;height:16px;color:var(--text-2)}.runner-clock.urgent{color:var(--alert);background:color-mix(in srgb,var(--alert) 10%,var(--surface))}.runner-clock.urgent svg{color:currentColor}.runner-map{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:start;column-gap:var(--s1);padding:var(--s1) var(--s3) var(--s2)}.map-step{height:var(--cell);padding:0}.map-step:first-child svg{transform:scaleX(-1)}.map-strip{position:relative;overflow-x:auto;padding:0 0 14px;scrollbar-width:none;scroll-behavior:smooth}.map-strip::-webkit-scrollbar{display:none}.runner .question-map{display:flex;gap:var(--gap);width:max-content;margin:0}.runner .question-map a{position:relative;display:grid;place-items:center;flex:none;width:var(--cell);height:var(--cell);border-radius:7px;overflow:hidden;background:var(--surface);color:var(--text-2);box-shadow:inset 0 0 0 var(--hair) var(--line);font:600 var(--step--1)/1 var(--font-ui);font-variant-numeric:tabular-nums;text-decoration:none;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.runner .question-map a[hidden],.map-track[hidden]{display:none}.runner .question-map a:active{transform:scale(.9)}.runner .question-map a.answered{background:var(--progress);color:var(--ink-on-progress);box-shadow:none}.runner .question-map a.flagged:after{content:"";position:absolute;top:0;right:0;border:6px solid transparent;border-top-color:var(--accent-hi);border-right-color:var(--accent-hi)}.runner .question-map a[aria-current]{box-shadow:inset 0 0 0 2px var(--accent);color:var(--text);background:var(--surface)}.runner .question-map a.answered[aria-current]{box-shadow:inset 0 0 0 2px var(--accent),inset 0 0 0 4px var(--surface);background:var(--progress);color:var(--ink-on-progress)}@media(hover:hover){.runner .question-map a:hover{box-shadow:inset 0 0 0 var(--hair) var(--text-3)}}.map-track{position:absolute;left:0;bottom:4px;height:3px;border-radius:3px;background:var(--surface-2);width:calc(var(--n) * (var(--cell) + var(--gap)) - var(--gap))}.map-fill{position:absolute;inset:0;border-radius:3px;background:var(--accent-hi);clip-path:inset(0 calc(100% - (var(--at) + .5) * (var(--cell) + var(--gap))) 0 0);transition:clip-path var(--dur-short) var(--ease-out)}.map-head{position:absolute;top:-4.5px;left:calc((var(--at) + .5) * (var(--cell) + var(--gap)) - 6px);width:12px;height:12px;border-radius:50%;background:var(--text);box-shadow:0 0 0 3px var(--ground);transition:left var(--dur-short) var(--ease-out)}.map-meta{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s3);color:var(--text-2);font-size:var(--step--1)}.map-meta select{width:auto;height:36px;padding:0 28px 0 10px;border-radius:var(--r-ctl);font-size:var(--step--1)}.map-meta small{font-size:var(--step--1)}.runner-legend{display:flex;gap:var(--s3)}.runner-legend span{display:inline-flex;align-items:center;gap:6px}.runner-legend i{width:12px;height:12px;border-radius:3px;background:var(--surface);box-shadow:inset 0 0 0 var(--hair) var(--line-strong)}.runner-legend i.answered{background:var(--progress);box-shadow:none}.runner .workspace-status{margin:0 0 0 auto;color:var(--text-3);font-size:var(--step--1)}@media(max-width:800px){.runner-legend{display:none}}.runner .runner-section{display:block}.runner .material{position:static;max-width:none;max-height:none;margin:0;overflow:visible;padding:var(--s5) 20px var(--s6);border:0;background:var(--ground-2);color:var(--text);font:400 17px/1.62 var(--font-read)}.runner .material h2{margin:0 0 6px;font:650 23px/1.2 var(--font-read);letter-spacing:-.01em}.runner .material .material-instructions{margin:0 0 var(--s3);color:var(--text-3);font:var(--step--1)/1.5 var(--font-ui)}.runner .material article{max-width:65ch;margin-top:var(--s4);white-space:pre-wrap;font:inherit;text-wrap:pretty}.runner .material mark{background:var(--accent-tint);color:var(--text);border-radius:2px}.runner .material audio{width:100%;margin-top:var(--s4)}.runner .material-poster{width:120px;margin-bottom:var(--s4)}.runner .passage-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);color:var(--text-3);font:var(--step--1) var(--font-ui)}.runner .passage-tools button,.runner .question-tools button{min-height:36px;padding:0 var(--s3);border:0;border-radius:var(--radius-pill);background:var(--surface);color:var(--text-2);box-shadow:inset 0 0 0 var(--hair) var(--line);font:var(--weight-mid) var(--step--1) var(--font-ui);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.runner .passage-tools button:disabled{opacity:.5;cursor:default}.runner .passage-tools button:active:not(:disabled),.runner .question-tools button:active{transform:scale(.97)}.runner .source-pages img{border-radius:var(--r-tile);border-color:var(--line)}.runner .speech-player{display:grid;gap:var(--s2);margin-top:var(--s4);font:var(--step--1)/1.5 var(--font-ui);color:var(--text-2)}.runner .speech-player .btn{justify-self:start}.runner .questions{display:block;padding:var(--s2) var(--s4);background:var(--surface)}.question-block{padding:var(--s5) 0 var(--s4);border-bottom:var(--hair) solid var(--line)}.question-block:last-child{border-bottom:0}.runner .question{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s3);align-items:start;padding:0;border:0;border-radius:0;background:transparent;scroll-margin-top:180px;outline:none}.runner .question:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:6px}.runner .question-number{min-width:1.1em;color:var(--text-3);font:var(--weight-display) 40px/.85 var(--font-display);font-variant-numeric:tabular-nums;transition:color var(--dur-short) var(--ease-out)}.runner .question.is-current .question-number{color:var(--accent)}.runner .question h3{margin:2px 0 var(--s3);font:500 16.5px/1.4 var(--font-ui);color:var(--text)}.runner .options{display:grid;gap:6px}.runner .options label{position:relative;display:flex;align-items:center;gap:var(--s3);min-height:46px;padding:8px 14px;border:0;border-radius:var(--r-ctl);background:var(--ground);box-shadow:none;color:var(--text);font:var(--weight-mid) var(--step-0)/1.35 var(--font-ui);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.runner .options label:hover{background:var(--surface-2)}.runner .options label:active{transform:scale(.985)}.runner .options label>span{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 1.5px var(--text-3);color:var(--text-2);font-size:12px;font-weight:700;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.runner .options label:is(.selected,:has(input:checked)){background:var(--accent-tint);box-shadow:inset 0 0 0 1.5px var(--accent)}.runner .options label:is(.selected,:has(input:checked))>span{background:var(--accent);color:var(--accent-ink);box-shadow:none}.runner .options label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.runner .answer-input{width:100%;height:46px;padding:0 14px;border:var(--hair) solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:16px var(--font-ui)}.runner .note-title{margin:0 0 var(--s3);text-align:left}.runner .note-line{font:500 16.5px/2.4 var(--font-ui);color:var(--text)}.runner .note-context{font:400 15px/1.5 var(--font-ui);color:var(--text-2)}.runner .gap-input{font-size:16px}.runner .save-state{display:block;min-height:18px;margin-top:6px;color:var(--text-3);font-size:var(--step--1)}.runner .question-tools{display:flex;flex-wrap:wrap;align-items:start;gap:var(--s2) var(--s3);margin:var(--s2) 0 0}.runner .question-tools button[aria-pressed=true]{background:var(--accent-tint);color:var(--accent);box-shadow:inset 0 0 0 var(--hair) var(--accent)}.runner .question-tools details{flex:1;min-width:180px}.runner .question-tools summary{display:inline-flex;align-items:center;min-height:36px;color:var(--text-2);font-size:var(--step--1);font-weight:var(--weight-mid);cursor:pointer}.runner .question-tools textarea{display:block;width:100%;min-height:72px;margin-top:var(--s1);padding:10px 12px;border:var(--hair) solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:var(--step--1)/1.5 var(--font-ui)}.runner .question-tools small{display:block;margin-top:4px;color:var(--text-3);font-size:var(--step--1)}.runner .form-error{margin:var(--s4)}.runner .submit-area{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin:var(--s4) var(--s4) calc(var(--s5) + env(safe-area-inset-bottom,0px));padding:var(--s4);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card)}.runner .submit-area strong{display:block;font-size:var(--step-0);font-weight:var(--weight-strong)}.runner .submit-area span{display:block;margin-top:2px;color:var(--text-2);font-size:var(--step--1)}.runner .submit-area .submit-exam{flex:none}.submit-dialog{width:min(100%,440px);padding:var(--s5);border-radius:var(--r-hero);background:var(--surface);box-shadow:var(--shadow-lift)}.submit-dialog h2{margin:0;font:var(--weight-display) var(--step-3)/1 var(--font-display);letter-spacing:var(--track-display)}.submit-dialog p{margin:var(--s3) 0 0;color:var(--text-2);line-height:1.5}.submit-dialog>div{display:flex;gap:var(--s2);margin-top:var(--s5)}.submit-dialog>div button{flex:1}@media(min-width:1024px){.runner{--cell: 40px;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.runner-top{flex:none}.runner-header{padding:var(--s3) var(--s5) var(--s1)}.runner-where strong{font-size:var(--step-1)}.runner-map{grid-template-columns:44px minmax(0,max-content) 44px minmax(260px,1fr);padding:var(--s1) var(--s5) var(--s2)}.map-meta{grid-column:auto;justify-content:flex-end;min-height:var(--cell);padding-left:var(--s4)}.runner .exam-content{flex:1;min-height:0;overflow-y:auto;container-type:size}.runner .runner-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,520px);align-items:start}.runner .material{position:sticky;top:0;min-height:100cqh;max-height:100cqh;overflow-y:auto;overscroll-behavior:contain;padding:var(--s7) max(56px,calc((100% - 68ch)/2)) 64px;font-size:19px;line-height:1.72}.runner .material h2{font-size:36px;margin-bottom:var(--s2)}.runner .material .material-instructions{font-size:var(--step-0);margin-bottom:var(--s5)}.runner .material-poster{width:200px}.runner .questions{min-height:100cqh;padding:var(--s3) var(--s6) var(--s5);border-left:var(--hair) solid var(--line)}.runner .question{scroll-margin-top:var(--s4)}.runner .question-number{font-size:48px}.runner .question h3{font-size:18px}.runner .submit-area{width:min(100%,520px);margin:0 0 0 auto;border-radius:0;box-shadow:none;border-left:var(--hair) solid var(--line);border-top:var(--hair) solid var(--line);padding:var(--s5) var(--s6) var(--s6)}}.result-page{min-height:100dvh;display:grid;place-items:center;padding:calc(var(--s5) + var(--mini-top, env(safe-area-inset-top, 0px))) var(--s4) calc(var(--s5) + env(safe-area-inset-bottom,0px));background:var(--ground)}.result-page .result-card{display:grid;gap:var(--s5);width:min(100%,960px);padding:var(--s5);border:0;border-radius:var(--r-hero);background:var(--surface);box-shadow:var(--shadow-card);color:var(--text);text-align:left}.result-page .result-card>.poster{width:150px}.result-body{display:grid;gap:var(--s4);align-content:start;min-width:0}.result-page .result-kicker{margin:0;color:var(--text-3);font-size:var(--step--1);font-weight:var(--weight-strong);text-transform:uppercase;letter-spacing:.06em}.result-page h1{margin:0;font:var(--weight-display) var(--step-4)/.9 var(--font-display);letter-spacing:var(--track-display)}.result-page .result-lead{margin:0;color:var(--text-2);font-size:var(--step-1);line-height:1.5}.result-page .result-lead strong{color:var(--text)}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--hair);overflow:hidden;border-radius:var(--r-ctl);background:var(--line)}.result-metrics>div{padding:var(--s3);background:var(--surface)}.result-metrics strong{display:block;font:var(--weight-display) var(--step-2)/1 var(--font-display)}.result-metrics div:nth-child(2) strong{text-transform:capitalize}.result-metrics span{display:block;margin-top:4px;color:var(--text-3);font-size:var(--step--1)}.result-guidance{padding:var(--s4);border-radius:var(--r-ctl);background:var(--ground)}.result-guidance strong{font-size:var(--step-0)}.result-page .result-guidance p{margin:4px 0 0;color:var(--text-2);font-size:var(--step--1);line-height:1.5}.result-page .answer-review{display:grid;gap:var(--s2);padding:0;border:0;background:transparent}.answer-review>span{color:var(--text-3);font-size:var(--step--1);font-weight:var(--weight-strong)}.answer-review>div{display:flex;flex-wrap:wrap;gap:6px}.answer-review i{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;font:normal 700 var(--step--1)/1 var(--font-ui);font-variant-numeric:tabular-nums}.answer-review i.correct{background:var(--ok-tint);color:var(--ok)}.answer-review i.incorrect{background:color-mix(in srgb,var(--alert) 12%,var(--surface));color:var(--alert)}.result-body .btn{justify-self:stretch}@media(min-width:801px){.result-page .result-card{grid-template-columns:280px minmax(0,1fr);gap:var(--s6);padding:var(--s6)}.result-page .result-card>.poster{width:100%;align-self:start}.result-page h1{font-size:var(--step-5)}.result-body .btn{justify-self:start}}.full-mock-page,.full-mock-embedded{min-height:100dvh;background:var(--ground)}.full-mock-bar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s2) var(--s4);padding:calc(var(--s2) + var(--mini-top, env(safe-area-inset-top, 0px))) var(--s4) var(--s2);background:var(--chrome-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:var(--hair) solid var(--line)}.full-mock-bar>strong{font-size:var(--step-0);font-weight:var(--weight-strong);white-space:nowrap}.full-mock-bar ol{display:flex;justify-content:center;gap:var(--s1);margin:0;padding:0;list-style:none}.full-mock-bar li{display:flex;align-items:center;gap:var(--s2);padding:4px 12px 4px 4px;border-radius:var(--radius-pill);color:var(--text-3);font-size:var(--step--1);font-weight:var(--weight-mid)}.full-mock-bar li i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line-strong);font:normal 700 12px/1 var(--font-ui)}.full-mock-bar li i svg{width:14px;height:14px;stroke-width:2.4}.full-mock-bar li.done{color:var(--text-2)}.full-mock-bar li.done i{background:var(--progress);color:var(--ink-on-progress);box-shadow:none}.full-mock-bar li.current{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card)}.full-mock-bar li.current i{background:var(--accent);color:var(--accent-ink);box-shadow:none}.full-mock-bar .btn{min-height:40px}@media(max-width:800px){.full-mock-bar{grid-template-columns:minmax(0,1fr) auto}.full-mock-bar ol{grid-column:1 / -1;grid-row:2;justify-content:space-between}.full-mock-bar li{padding-right:10px}.full-mock-bar li:not(.current){padding-right:4px;font-size:0;gap:0}}.full-mock-page .page-content{max-width:1180px;padding-bottom:calc(var(--s7) + env(safe-area-inset-bottom,0px))}.fm-stage{display:grid;gap:var(--s5);padding-top:var(--s4)}.fm-art{height:300px}.fm-copy{display:grid;align-content:start;justify-items:start;min-width:0}.fm-kicker{margin:0 0 var(--s2);color:var(--text-3);font-size:var(--step--1);font-weight:var(--weight-strong);letter-spacing:.06em;text-transform:uppercase}.fm-stage h1,.full-mock-complete h1{margin:0;font:var(--weight-display) var(--step-4)/.92 var(--font-display);letter-spacing:var(--track-display);text-transform:uppercase}.fm-lead{max-width:56ch;margin:var(--s4) 0 0;color:var(--text-2);font-size:var(--step-1);line-height:1.55}.full-mock-agenda{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);width:100%;margin:var(--s5) 0 0;padding:0;list-style:none}.full-mock-agenda li{display:flex;align-items:center;gap:var(--s3);padding:var(--s2);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card)}.full-mock-agenda .poster{flex:none;width:40px}.full-mock-agenda b{display:block;font-size:var(--step-0);font-weight:var(--weight-strong)}.full-mock-agenda small{display:block;margin-top:2px;color:var(--text-2);font-size:var(--step--1);line-height:1.35}.fm-stage .instruction-box{width:100%;margin-top:var(--s4);padding:var(--s3) var(--s4);border:var(--hair) solid var(--line);border-radius:var(--r-card);background:var(--ground-2)}.fm-stage .instruction-box strong{font-size:var(--step--1)}.fm-stage .instruction-box p{color:var(--text-2);font-size:var(--step--1);line-height:1.5}.fm-copy>.btn,.full-mock-complete>.btn{margin-top:var(--s5)}.fm-copy .form-error{margin-top:var(--s4)}.fm-clock{display:block;margin:var(--s4) 0 0;font:var(--weight-display) var(--step-5)/.85 var(--font-display);letter-spacing:var(--track-display)}@media(max-width:800px){.fm-copy>.btn,.full-mock-complete>.btn{width:100%}}@media(min-width:1024px){.fm-stage{grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:var(--s7);align-items:center;padding-top:var(--s6)}.fm-art{height:min(620px,calc(100dvh - 180px));min-height:420px}.fm-stage h1,.full-mock-complete h1{font-size:var(--step-5)}.full-mock-agenda{grid-template-columns:repeat(4,minmax(0,1fr))}.full-mock-agenda li{flex-direction:column;align-items:start}.full-mock-agenda .poster{width:56px}.fm-clock{font-size:var(--step-6)}}.full-mock-complete{display:grid;justify-items:start;padding-top:var(--s5)}.full-mock-scores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);width:100%;margin:var(--s5) 0}.full-mock-scores>span{display:grid;gap:4px}.full-mock-scores .poster{margin-bottom:var(--s2)}.full-mock-scores b{font:var(--weight-display) var(--step-3)/1 var(--font-display)}.full-mock-scores small{color:var(--text-2);font-size:var(--step--1)}.full-mock-complete>div:has(>*){width:100%}@media(min-width:1024px){.full-mock-scores{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5)}}.review-page .back-link{display:inline-flex;align-items:center;min-height:44px;padding:0;color:var(--text-2);font-size:var(--step--1);font-weight:var(--weight-strong)}.review-list{display:grid;gap:var(--s3)}.review-list>button{display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;align-items:center;gap:var(--s4);width:100%;padding:var(--s3) var(--s4) var(--s3) var(--s3);border:0;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);color:var(--text);text-align:left;cursor:pointer;transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.review-list>button:active{transform:scale(.98);transition-duration:80ms}.review-list>button:disabled{opacity:.6;cursor:progress}@media(hover:hover){.review-list>button:hover:not(:disabled){transform:translateY(-1.5px);box-shadow:var(--shadow-tile)}}.review-list strong,.review-list small{display:block}.review-list>button>span:nth-of-type(1) strong{font-size:var(--step-0);font-weight:var(--weight-strong)}.review-list>button>span:nth-of-type(1) small{margin-top:4px;color:var(--text-2);font-size:var(--step--1)}.review-list-score{text-align:right}.review-list-score strong{font:var(--weight-display) var(--step-3)/.9 var(--font-display)}.review-list-score small{margin-top:2px;color:var(--text-3);font-size:12px}.review-list>button>svg{width:18px;height:18px;color:var(--text-3)}.review-list.loading i{height:108px;border-radius:var(--r-card);background:var(--surface-2);animation:pulse 1.3s ease-in-out infinite alternate}@media(min-width:1024px){.review-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.review-summary{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:var(--s4);margin:var(--s2) 0 var(--s4);padding-bottom:var(--s5);border-bottom:var(--hair) solid var(--line)}.review-summary h1{margin:0}.review-summary p{margin:6px 0 0;color:var(--text-2);font-size:var(--step-0)}.review-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s4)}.review-toolbar>div{display:inline-flex;padding:4px;border-radius:var(--radius-pill);background:var(--surface-2)}.review-toolbar button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 var(--s4);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-2);font:var(--weight-strong) var(--step--1) var(--font-ui);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.review-toolbar button:active{transform:scale(.97)}.review-toolbar>div button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card)}.review-toolbar>button{background:var(--surface);box-shadow:inset 0 0 0 var(--hair) var(--line);color:var(--text)}.review-toolbar svg{width:16px;height:16px}.review-questions{display:grid;gap:var(--s3)}.review-detail .review-question{display:grid;grid-template-columns:34px minmax(0,1fr);gap:var(--s3);padding:var(--s4);border:0;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card)}.review-detail .review-question.correct{box-shadow:inset 4px 0 0 var(--ok),var(--shadow-card)}.review-detail .review-question.incorrect{box-shadow:inset 4px 0 0 var(--alert),var(--shadow-card)}.review-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font:700 var(--step--1)/1 var(--font-ui);font-variant-numeric:tabular-nums}.correct>.review-number{background:var(--ok-tint);color:var(--ok)}.incorrect>.review-number{background:color-mix(in srgb,var(--alert) 12%,var(--surface));color:var(--alert)}.review-question-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s1) var(--s3)}.review-question-top span{color:var(--text-3);font-size:var(--step--1)}.review-question-top strong{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.review-question-top strong svg{width:14px;height:14px;stroke-width:2.4}.correct .review-question-top strong{color:var(--ok)}.incorrect .review-question-top strong{color:var(--alert)}.review-detail .review-question h2{margin:6px 0 var(--s3);font:var(--weight-strong) var(--step-1)/1.4 var(--font-ui);letter-spacing:0}.answer-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}.answer-comparison>div{padding:10px var(--s3);border-radius:var(--r-ctl);background:var(--ground)}.answer-comparison span{display:block;color:var(--text-3);font-size:12px}.answer-comparison strong{display:block;margin-top:2px;font-size:var(--step-0);font-weight:var(--weight-strong);overflow-wrap:anywhere}.incorrect .answer-comparison>div:first-child{background:color-mix(in srgb,var(--alert) 8%,var(--surface))}.incorrect .answer-comparison>div:first-child strong{color:var(--alert)}.answer-comparison>div:last-child{background:var(--ok-tint)}.answer-comparison>div:last-child strong{color:var(--ok)}.review-explanation{margin:var(--s3) 0 0;color:var(--text-2);font-size:var(--step--1);line-height:1.55}.all-correct{display:grid;justify-items:center;gap:var(--s2);padding:var(--s7) var(--s5);border-radius:var(--r-hero);background:var(--surface);box-shadow:var(--shadow-card);text-align:center}.all-correct>svg{width:40px;height:40px;color:var(--ok)}.all-correct h2{margin:0}.all-correct p{max-width:480px;margin:0 0 var(--s3);color:var(--text-2);line-height:1.5}@media(max-width:800px){.answer-comparison{grid-template-columns:1fr}}@media(min-width:1024px){.review-summary{grid-template-columns:88px minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.map-strip{scroll-behavior:auto}.map-fill,.map-head{transition:none}}.exams-hero{display:grid;gap:var(--s5);padding-top:var(--s2)}.exams-art{height:260px}.exams-copy{display:grid;align-content:start;min-width:0}.exams-page .page-header{padding-bottom:0}.exams-page .page-header h1{margin:0;font:var(--weight-display) var(--step-4)/.92 var(--font-display);letter-spacing:var(--track-display);text-transform:uppercase}.exams-page .page-header p{max-width:56ch;margin:var(--s3) 0 0;color:var(--text-2);font-size:var(--step-1);line-height:1.5}.exams-promo{margin-top:var(--s5)}.exams-promo h2{margin:0;font-size:var(--step-2)}.exams-promo p{max-width:60ch;margin:var(--s2) 0 0;color:var(--text-2);line-height:1.55}.exams-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);margin:var(--s5) 0 0;padding:0;list-style:none}.exams-skills li{display:grid;align-content:start;gap:2px}.exams-skills .poster{margin-bottom:var(--s2)}.exams-skills b{font-size:var(--step-0);font-weight:var(--weight-strong)}.exams-skills small{color:var(--text-2);font-size:var(--step--1);line-height:1.35}.exams-action{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);margin-top:var(--s5)}.exams-cost{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:var(--step--1)}.exams-cost svg{width:16px;height:16px;fill:var(--star);stroke:var(--star)}@media(max-width:800px){.exams-action{flex-direction:column;align-items:stretch;text-align:center}.exams-action .btn{width:100%}.exams-cost{justify-content:center}}@media(min-width:1024px){.exams-hero{grid-template-columns:minmax(300px,400px) minmax(0,1fr);gap:var(--s7);align-items:start;padding-top:var(--s5)}.exams-art{position:sticky;top:var(--s5);height:min(600px,calc(100dvh - 140px));min-height:420px}.exams-page .page-header h1{font-size:var(--step-5)}.exams-skills{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:800px){.exams-skills{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2)}.exams-skills .poster{--p-size: 15px}.exams-skills .p-tag{left:5px;top:5px;padding:2px 4px;font-size:10px}.exams-skills b{font-size:var(--step--1)}.exams-skills small{font-size:12px}}.rp{display:grid;gap:var(--s4);align-content:start}.rp h2{font-size:var(--step-2);font-weight:750;line-height:1.05}.rp h3{font-family:var(--font-ui);font-size:var(--step-0);font-weight:var(--weight-strong);letter-spacing:0}.rp p{margin:0}.rp .eyebrow{display:block;margin:0;color:var(--text-2);font:var(--weight-strong) var(--step--1)/1.3 var(--font-ui);letter-spacing:.04em;text-transform:uppercase}.rp-small,.rp small{display:block;color:var(--text-2);font-size:var(--step--1);line-height:1.5}.rp-disclaimer{color:var(--text-2);font-size:var(--step--1);line-height:1.5}.rp-notice{padding:var(--s3) var(--s4);border-radius:var(--r-ctl);background:var(--surface);box-shadow:var(--shadow-card);font-size:var(--step-0)}.rp-panel{display:grid;gap:var(--s3);padding:var(--s4);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);min-width:0}.rp-panel h2{font-size:22px}.rp-panel ol,.rp-panel ul,.rp-next ol{margin:0;padding-left:20px;display:grid;gap:var(--s2);line-height:1.5}.rp-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}.rp .btn-primary{min-height:48px}.rp-delete,.link-button{justify-self:start;min-height:44px;padding:0;border:0;background:none;color:var(--text-2);font:inherit;font-size:var(--step--1);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.link-button{min-height:0;color:var(--accent);font-weight:var(--weight-strong)}.rp-delete:hover{color:var(--accent)}.rp button:disabled{cursor:not-allowed}.rp-head{display:grid;grid-template-columns:76px minmax(0,1fr);gap:var(--s4);align-items:center}.rp-head-art{width:76px}.rp-head h1{margin:var(--s1) 0;font-size:var(--step-4);line-height:.95}.rp-head p:not(.eyebrow){color:var(--text-2);line-height:1.5}.rp-head>.btn{grid-column:1 / -1;justify-self:start}@media(min-width:801px){.rp-head{grid-template-columns:96px minmax(0,1fr) auto}.rp-head-art{width:96px}.rp-head>.btn{grid-column:auto}}.rp-work{display:grid;gap:var(--s4);min-width:0}.rp-workspace{display:grid;gap:var(--s4);align-content:start;min-width:0}@media(min-width:1024px){.rp-work:not(.is-mock){grid-template-columns:minmax(0,1fr) 300px;align-items:start}.rp-work:not(.is-mock)>.rp-history{grid-column:2;grid-row:1;position:sticky;top:var(--s5)}.rp-work.is-mock .rp-workspace{max-width:860px}}.rp-history{display:grid;gap:var(--s3);min-width:0}.rp-history-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3)}.rp-history-head h2{font-size:22px}.rp-history-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,70%);gap:var(--s3);overflow-x:auto;padding:2px 2px var(--s3);scroll-snap-type:x mandatory}.rp-history-list>p{color:var(--text-2);font-size:var(--step--1)}.rp-history-list button{display:grid;gap:var(--s1);align-content:start;min-height:96px;padding:var(--s3) var(--s4);border:var(--hair) solid transparent;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);color:var(--text);font:inherit;text-align:left;cursor:pointer;scroll-snap-align:start;transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.rp-history-list button strong{font-size:var(--step--1);font-weight:var(--weight-strong);line-height:1.35;overflow-wrap:anywhere}.rp-history-list button span{color:var(--text-2);font-size:var(--step--1);text-transform:capitalize}.rp-history-list button.active{border-color:var(--accent)}.rp-history-list button:active{transform:scale(.97);transition-duration:80ms}@media(hover:hover){.rp-history-list button:not(:disabled):hover{transform:translateY(-1.5px);box-shadow:var(--shadow-lift)}}@media(min-width:1024px){.rp-work .rp-history-list{grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;padding:0}.rp-history.is-strip .rp-history-list{grid-auto-columns:260px}}.rp-editor label,.rp-lost label{display:grid;gap:var(--s2);font-weight:var(--weight-strong);font-size:var(--step--1)}.rp-editor textarea,.rp-editor select,.rp-lost select{width:100%;min-width:0}.rp-editor textarea{font-weight:400;background:var(--surface)}.rp-prompt-input{font-family:var(--font-read);font-style:italic;font-size:var(--step-1);line-height:1.5;resize:vertical}.rp-prompt-input[readonly]{background:var(--surface-2)}.rp-essay-input{min-height:360px;font-size:17px;line-height:1.7;resize:vertical}.rp-sources{display:grid;gap:var(--s3)}.rp-sources img{width:100%;border-radius:var(--r-ctl);border:var(--hair) solid var(--line)}.rp-count{display:grid;grid-template-columns:auto 1fr;gap:var(--s1) var(--s3);align-items:baseline;font-size:var(--step--1);color:var(--text-2)}.rp-count strong{color:var(--text);font-weight:var(--weight-strong)}.rp-count span:nth-child(2){justify-self:end;text-align:right}.rp-count-bar{grid-column:1 / -1;height:4px;border-radius:4px;background:var(--surface-2);overflow:hidden}.rp-count-bar i{display:block;height:100%;background:var(--progress);transform:scaleX(var(--v, 0));transform-origin:left;transition:transform var(--dur-short) var(--ease-out)}.rp-submit>[role=alert]{display:grid;gap:var(--s2);padding:var(--s3);box-shadow:inset 0 0 0 1px var(--alert);background:var(--surface-2);border-radius:var(--radius-sm)}.rp-consent{display:grid;grid-template-columns:22px 1fr;gap:var(--s3);align-items:start;font-size:var(--step--1);line-height:1.5;color:var(--text-2);cursor:pointer}.rp-consent input{width:20px;height:20px;margin:1px 0 0}.credit-cost{padding:var(--s2) var(--s3);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);font-size:var(--step--1);line-height:1.5}.credit-cost strong{color:var(--text)}.rp-submit .btn-primary{width:100%}@media(min-width:801px){.rp-submit .btn-primary{width:auto;justify-self:start;min-width:240px}}.rp-task summary{cursor:pointer;font-weight:var(--weight-strong);min-height:32px}.rp-task[open]{gap:var(--s3)}.rp-task .rp-essay{box-shadow:none;padding:0;white-space:pre-wrap}.rp-state{box-shadow:inset 0 0 0 1px var(--line)}.rp-wait{display:block;height:3px;border-radius:3px;background:var(--surface-2);overflow:hidden}.rp-wait:after{content:"";display:block;width:30%;height:100%;background:var(--accent-hi);animation:rp-wait 1.8s var(--ease-inout) infinite}@keyframes rp-wait{0%{transform:translate(-100%)}to{transform:translate(340%)}}.rp-card{position:relative;overflow:hidden;height:260px;border-radius:var(--r-hero);box-shadow:var(--shadow-tile)}.rp-card.k-writing{--card-ink: var(--writing-ink)}.rp-card.k-speaking{--card-ink: var(--speaking-ink)}.rp-card .rp-card-art{position:absolute;inset:0;height:100%;min-height:0;border-radius:inherit;box-shadow:none}.rp-card .p-pen{right:4%;top:2%;width:82%}.rp-card-title{position:absolute;left:18px;right:18px;bottom:16px;margin:0;color:var(--card-ink);font-family:var(--font-display);font-weight:var(--weight-display);text-transform:uppercase;line-height:.86;letter-spacing:var(--track-display)}.rp-card-title .l1{display:block;font-size:30px;opacity:.88}.rp-card-title .l2{display:block;font-size:58px;overflow-wrap:anywhere}.rp-lb{position:absolute;left:0;right:0;height:50.5%;background:var(--ground);z-index:3;pointer-events:none;transform:scaleY(0)}.rp-lb.t{top:0;transform-origin:top}.rp-lb.b{bottom:0;transform-origin:bottom}.rp-back{position:absolute;left:12px;top:12px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--art-dark);color:var(--card-ink);cursor:pointer;transition:transform var(--dur-micro) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.rp-back svg{transform:scaleX(-1)}.rp-back:active{transform:scale(.92)}.k-speaking .rp-back{background:var(--art-light)}.rp-meta{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4);color:var(--text-2);font-size:var(--step--1)}.rp-meta span{display:inline-flex;align-items:center;gap:6px}.rp-meta svg{width:16px;height:16px}@media(min-width:1024px){.rp-card{height:290px}.rp-card .p-pen{left:58%;right:auto;top:6%;width:38%}.rp-card-title{left:40px;bottom:30px}.rp-card-title .l1{font-size:44px}.rp-card-title .l2{font-size:104px}.rp-back{left:20px;top:20px}}.rp-grid{display:flex;flex-direction:column;gap:var(--s5);min-width:0}.rp-side,.rp-zone,.rp-stick{display:contents}.rp-main{order:2;display:grid;gap:var(--s5);align-content:start;min-width:0}.rp-next{order:3}@media(min-width:1024px){.rp-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;column-gap:48px;align-items:stretch}.rp-main{grid-column:1;grid-row:1}.rp-side{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:var(--s5)}.rp-zone{display:block;flex:1}.rp-stick{display:grid;gap:var(--s5);position:sticky;top:var(--s5)}}.rp-band{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s3) var(--s4);align-items:center}.rp-band>div:not(.rp-band-box){display:grid;gap:var(--s1)}.rp-band h2{font-size:var(--step-1);font-family:var(--font-ui);font-weight:var(--weight-strong);letter-spacing:0;line-height:1.25}.rp-band p{color:var(--text-2);font-size:var(--step--1);line-height:1.5}.rp-lead{color:var(--text)!important;font-weight:var(--weight-mid)}.rp-band-box{display:grid;justify-items:center;gap:2px;min-width:128px;padding:8px 14px 10px;border-radius:var(--r-ctl);background:var(--surface);box-shadow:inset 0 0 0 2px var(--text),var(--shadow-card)}.rp-band-box .eyebrow{font-size:11px;text-align:center}.rp-band-box strong{display:flex;align-items:baseline;gap:4px;font:var(--weight-display) 64px/.86 var(--font-display);font-variant-numeric:tabular-nums;color:var(--text)}.rp-band-box strong small{display:inline;font:var(--weight-strong) var(--step--1) var(--font-ui);color:var(--text-2)}.rp-band>.rp-calc,.rp-band>.rp-small{grid-column:1 / -1}.rp-calc{display:block;padding:var(--s2) var(--s3);border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--step--1);line-height:1.6;color:var(--text-2)}.rp-calc>*{margin-right:6px}.rp-calc strong,.rp-calc b{color:var(--text);font-variant-numeric:tabular-nums}.rp-calc small{display:block}.rp-prompt{font:italic 400 var(--step-1)/1.5 var(--font-read);color:var(--text-2)}.rp-crit-sec{display:grid;gap:var(--s3)}.rp-crit{display:grid;gap:var(--s4)}.rp-crit article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px var(--s3);align-items:baseline}.rp-crit h3{font-weight:var(--weight-mid)}.rp-v{font:var(--weight-display) 24px/1 var(--font-display);font-variant-numeric:tabular-nums;color:var(--text)}.rp-bar{grid-column:1 / -1;position:relative;height:6px;border-radius:6px;background:var(--surface-2);overflow:hidden}.rp-bar i{position:absolute;inset:0;border-radius:6px;background:var(--progress);transform-origin:left;transform:scaleX(var(--v))}.rp-crit .low .rp-v{color:var(--accent)}.rp-crit .low .rp-bar i{background:var(--accent)}.rp-crit-body{grid-column:1 / -1;display:grid;gap:var(--s1);color:var(--text-2);font-size:var(--step--1);line-height:1.5}.rp-crit-body b{color:var(--text);font-weight:var(--weight-strong)}.rp-next{display:grid;gap:var(--s3);padding:var(--s4);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card)}.rp-next h2{font-size:22px}.rp-next .btn-primary{width:100%}.rp-lost{display:grid;gap:var(--s3);min-width:0}.rp-lost>p{color:var(--text-2);font-size:var(--step--1)}.rp-filter{display:flex;gap:var(--s2);overflow-x:auto;padding-bottom:2px}.rp-filter button{flex:none;min-height:36px;padding:0 14px;border:var(--hair) solid var(--line-strong);border-radius:var(--radius-pill);background:transparent;color:var(--text-2);font:inherit;font-size:var(--step--1);text-transform:capitalize;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.rp-filter button[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--ink-on-progress)}.rp-essay{padding:var(--s4);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);display:grid;gap:var(--s3);min-width:0}.rp-essay.read{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font-size:16.5px;line-height:1.75;color:var(--text);max-height:70vh;overflow-y:auto}.rp-essay h3{font-family:var(--font-read);font-style:italic;font-weight:400;font-size:var(--step-1);line-height:1.45}.rp-essay audio{width:100%}.rp-essay blockquote{margin:0;white-space:pre-wrap;font-size:16.5px;line-height:1.75}.rp-mk{padding:0 1px;border-radius:2px 2px 0 0;color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(var(--accent),var(--accent)) no-repeat left bottom / 100% 2px;transition:background-color var(--dur-short) var(--ease-out)}.rp-mk:after{content:attr(data-n);margin-left:2px;vertical-align:super;font:700 10px/1 var(--font-ui);color:var(--accent)}.rp .rp-mk.on{background-color:var(--accent-tint);color:var(--text)}.rp-issues{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}.rp-issue{display:grid;grid-template-columns:26px minmax(0,1fr);gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);transition:box-shadow var(--dur-short) var(--ease-out)}.rp-issue.selected{box-shadow:inset 0 0 0 1.5px var(--accent),var(--shadow-card)}.rp-issue>div{display:grid;gap:6px;min-width:0;font-size:var(--step--1);line-height:1.5;color:var(--text-2)}.rp-issue h4{margin:4px 0 0;font-family:var(--font-ui);font-size:var(--step--1);font-weight:var(--weight-strong);color:var(--text)}.rp-issue .eyebrow{color:var(--accent);text-transform:uppercase}.rp-no{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font:var(--weight-display) 15px/1 var(--font-display)}.rp-q{padding:0;border:0;background:none;text-align:left;color:var(--text);font:400 var(--step-0)/1.45 var(--font-read);cursor:pointer;overflow-wrap:anywhere;min-height:32px}.rp-q:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.rp-example,.rp-rewrite .is-better{padding:var(--s2) var(--s3);border-radius:var(--radius-sm);background:var(--ok-tint);color:var(--text)}.rp-empty{display:grid;gap:var(--s2);padding:var(--s4);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);font-size:var(--step--1);color:var(--text-2)}.rp-empty strong,.rp-empty h4{color:var(--text);font-family:var(--font-ui);font-size:var(--step-0);margin:0}.rp-sub{margin-top:var(--s2)}.rp-checks{list-style:none;padding:0!important}.rp-checks li{display:grid;grid-template-columns:20px 1fr;gap:var(--s2);align-items:start}.rp-checks svg{width:18px;height:18px;margin-top:2px;color:var(--ok)}.rp-rewrite blockquote{margin:0;padding:var(--s2) var(--s3);border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--step-0);line-height:1.6}.rp-align dl{display:grid;gap:var(--s2);margin:0}.rp-align dl div{padding:var(--s2) var(--s3);border-radius:var(--radius-sm);background:var(--surface-2)}.rp-align dt{font-size:11px;font-weight:var(--weight-strong);text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}.rp-align dd{margin:2px 0 0;font-weight:var(--weight-strong)}.rp-align.off-topic{box-shadow:inset 3px 0 0 var(--alert),var(--shadow-card)}.rp-report>.rp-history{margin-top:var(--s4)}@media(min-width:1024px){.rp-essay.read{padding:28px 32px;font-size:19px;line-height:1.72;max-height:none}.rp-essay blockquote{font-size:18px}.rp-align{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.rp-align .alignment-consequence{grid-column:1 / -1}}.play .rp-lb{animation:rp-lb 1s var(--ease-quint) .1s both}.play .rp-card .p-pen path{--d-pen: 1.3s}.play .rp-crit .low .rp-v{animation:rp-turn .5s var(--ease-out) 3.25s both}.play .rp-crit .low .rp-bar i{animation:m-grow 1.1s var(--ease-quint) var(--d, 0ms) both,rp-turn-bg .5s var(--ease-out) 3.25s both}.play .rp-mk{animation:rp-ul .7s var(--ease-out) calc(2.9s + var(--k, 0) * .12s) backwards}.play .rp-mk:after{animation:rp-pop .5s var(--ease-settle) calc(3.22s + var(--k, 0) * .12s) backwards}@keyframes rp-lb{0%{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes rp-turn{0%{color:var(--text)}}@keyframes rp-turn-bg{0%{background:var(--progress)}}@keyframes rp-ul{0%{background-size:0% 2px}}@keyframes rp-pop{0%{opacity:0}}.rp .rp-parts{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}.rp-parts li{display:grid;grid-template-columns:36px 1fr;gap:2px var(--s3);align-items:center;padding:var(--s3);border-radius:var(--r-ctl);background:var(--surface-2)}.rp-parts b{grid-row:span 2;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--speaking);color:var(--speaking-ink);font:var(--weight-display) 20px/1 var(--font-display)}.rp-parts strong{font-size:var(--step-0)}.rp-parts span{color:var(--text-2);font-size:var(--step--1)}.rp-intro>.btn-primary{width:100%}@media(min-width:801px){.rp-parts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.rp-intro>.btn-primary{width:auto;justify-self:start;min-width:260px}}.rp-examiner{display:flex;align-items:center;gap:var(--s3)}.rp-examiner-art{width:44px}.rp-examiner div{display:grid}.rp-examiner span{color:var(--text-2);font-size:var(--step--1)}.rp-turn audio{width:100%}.rp-turn h2{font:400 var(--step-1)/1.45 var(--font-read);font-style:italic;letter-spacing:0}.rp-turn-head{display:flex;justify-content:space-between;gap:var(--s3);align-items:baseline;font-size:var(--step--1);color:var(--text-2)}.rp-track{display:flex;gap:4px}.rp-track span{flex:1;height:4px;border-radius:4px;background:var(--surface-2)}.rp-track .done{background:var(--progress)}.rp-track .skipped{background:var(--line-strong)}.rp-track .current{background:var(--accent-hi)}.rp-prep{display:grid;gap:var(--s2);padding:var(--s3);border-radius:var(--r-ctl);background:var(--surface-2)}.rp-prep textarea{width:100%}.rp-recorder{display:grid;justify-items:center;gap:var(--s3);padding:var(--s4) 0;text-align:center}.rp-recorder audio{max-width:420px}.rp-orb{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:var(--speaking);color:var(--speaking-ink);transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.rp-orb svg{width:32px;height:32px}.rp-orb.is-recording{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 6px var(--accent-tint)}.speaking-voice-stage{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:max(var(--s4),env(safe-area-inset-top)) var(--s4) max(var(--s4),env(safe-area-inset-bottom));border:0;background:var(--ground);color:var(--text);font:inherit;overflow-y:auto}.speaking-voice-stage[open]{display:flex;flex-direction:column}.speaking-voice-stage::backdrop{background:var(--ground)}.voice-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:44px;font:var(--weight-display) var(--step-2)/1 var(--font-display);text-transform:uppercase}.voice-close{display:grid;place-items:center;width:44px;height:44px;border:var(--hair) solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--text);font-size:22px;line-height:1;cursor:pointer}.voice-center{flex:1;display:grid;justify-items:center;align-content:center;gap:var(--s4);width:100%;max-width:560px;margin:0 auto;text-align:center}.voice-center>[role=status]{font-weight:var(--weight-strong)}.voice-mic{display:grid;place-items:center;width:88px;height:88px;border:0;border-radius:50%;background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-tile);cursor:pointer;transition:transform var(--dur-micro) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.voice-mic:hover{background:var(--accent-hover)}.voice-mic:active{transform:scale(.95)}.voice-mic:disabled{opacity:.5}.voice-mic svg{width:34px;height:34px}.voice-hint,.voice-footer{color:var(--text-2);font-size:var(--step--1)}.voice-footer{text-align:center;padding-top:var(--s3)}.voice-cue-card{width:100%;display:grid;gap:var(--s2);padding:var(--s4);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);text-align:left}.voice-cue-card p{font:400 var(--step-1)/1.45 var(--font-read)}.voice-cue-card textarea{width:100%}.speaking-voice-stage .examiner,.examiner{--level: 0;--examiner-head: #312e81;--examiner-spark: #4f46e5;width:150px;height:auto;margin:0 auto}.examiner-face{display:block;width:100%;height:auto;fill:none;stroke:none;overflow:visible}.examiner-ring{fill:none;stroke:var(--examiner-spark);stroke-width:2.5;opacity:0;transform-box:fill-box;transform-origin:center}.examiner--listening .examiner-ring{opacity:calc(.18 + var(--level) * .6);transform:scale(calc(1 + var(--level) * .06))}.examiner-head{fill:var(--examiner-head)}.examiner-eye,.examiner-mouth{fill:#fff}.examiner-glint{fill:var(--examiner-head);opacity:.55}.examiner-stalk{stroke:var(--examiner-head);stroke-width:3;stroke-linecap:round}.examiner-spark{fill:var(--examiner-spark);transition:fill var(--dur-short) var(--ease-out)}.examiner-smile{stroke:#fff;stroke-width:5;stroke-linecap:round;transition:opacity var(--dur-short) var(--ease-out)}.examiner-mouth{opacity:0;transform-box:fill-box;transform-origin:center;transform:scaleY(clamp(1,calc(1 + var(--level) * 2.6),3.2));transition:opacity var(--dur-short) var(--ease-out)}.examiner--speaking .examiner-smile{opacity:0}.examiner--speaking .examiner-mouth{opacity:1}.examiner--speaking .examiner-spark{fill:#4338ca}.examiner-eye{transform-box:fill-box;transform-origin:center}.examiner--connecting .examiner-eye,.examiner--thinking .examiner-eye{animation:examiner-blink 2.6s var(--ease-inout) infinite}.examiner--connecting .examiner-spark{animation:examiner-pulse 1.4s var(--ease-inout) infinite}@keyframes examiner-blink{0%,92%,to{transform:none}96%{transform:scaleY(.15)}}@keyframes examiner-pulse{0%,to{opacity:.35}50%{opacity:1}}@media(min-width:801px){.speaking-voice-stage .examiner,.examiner{width:190px}.voice-mic{width:104px;height:104px}}@media(max-height:700px){.speaking-voice-stage .examiner,.examiner{width:120px}}@media(prefers-reduced-motion:reduce){.examiner-ring,.examiner-face *,.rp-wait:after{animation:none!important;transition:none!important}}.rp-mockscore strong{font:var(--weight-display) var(--step-4)/1 var(--font-display)}.rp-mockscore p{color:var(--text-2);font-size:var(--step--1)}.notebook-page .filter-row{flex-wrap:wrap;align-items:center}.notebook-page .filter-row select{width:auto;min-height:36px}.notebook-list{display:grid;gap:var(--s3)}.notebook-page .notebook-card{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:var(--s4);row-gap:var(--s1);align-items:start;padding:var(--s4);border:0;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);color:var(--text);text-align:left;transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.notebook-card .poster{grid-row:1 / -1}.notebook-card .eyebrow{margin:0;color:var(--text-3);font-size:var(--step--1);letter-spacing:.06em}.notebook-card strong{font-size:var(--step-0);font-weight:var(--weight-strong);line-height:1.4}.notebook-card>span:last-child{font-size:var(--step--1);font-weight:var(--weight-mid);color:var(--accent)}@media(hover:hover){.notebook-page .notebook-card:hover{transform:translateY(-1.5px);box-shadow:var(--shadow-lift)}}.notebook-page .notebook-card:active{transform:scale(.97);transition-duration:80ms}.notebook-page .notebook-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(min-width:1100px){.notebook-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}}.passage-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin-top:var(--s4);font-size:var(--step--1);color:var(--text-2)}.reminder-settings{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);font-size:var(--step--1);color:var(--text-2)}.reminder-settings h3{margin-bottom:var(--s3);font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step-2);text-transform:uppercase;line-height:.95;color:var(--text)}.reminder-settings>label{display:flex;align-items:center;gap:var(--s2);min-height:44px;color:var(--text);font-size:var(--step-0)}.reminder-fields{display:grid;grid-template-columns:110px minmax(0,1fr);gap:var(--s3);margin:var(--s3) 0}.reminder-fields label{display:grid;gap:var(--s1);min-width:0}.reminder-fields input{width:100%;min-width:0;min-height:44px;padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:inherit;font-size:var(--step-0)}.vocabulary-word{margin:var(--s4) 0;font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step-5);line-height:.86;text-transform:uppercase;letter-spacing:var(--track-display);color:var(--text)}.vocabulary-options{display:grid;gap:var(--s2)}.vocabulary-options button{min-height:48px;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.vocabulary-options button:hover:not(:disabled){border-color:var(--line-strong)}.vocabulary-options button:active:not(:disabled){transform:scale(.97)}.vocabulary-options button.correct{border-color:var(--ok);background:var(--ok-tint);color:var(--text)}.vocabulary-feedback{margin-top:var(--s4);line-height:1.6}.auth-page{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);background:var(--ground);color:var(--text)}.auth-intro{padding:var(--s6) clamp(32px,6vw,96px);display:flex;flex-direction:column;justify-content:space-between;gap:var(--s6)}.auth-intro .brand{align-self:flex-start;min-height:44px}.auth-intro h1{font-size:clamp(56px,6vw,96px);line-height:.86;text-transform:uppercase}.auth-intro p{max-width:34em;margin-top:var(--s5);color:var(--text-2);font-size:var(--step-1);line-height:1.55}.auth-posters{display:grid;grid-template-columns:repeat(4,minmax(0,120px));gap:var(--s3)}.auth-panel{display:grid;place-items:center;padding:var(--s7) var(--s6)}.auth-card{width:min(100%,430px);padding:var(--s6);border-radius:var(--r-hero);background:var(--surface);box-shadow:var(--shadow-card)}.auth-card h2{font-size:var(--step-3);text-transform:uppercase;line-height:.95}.auth-subtitle{margin:var(--s2) 0 var(--s5);color:var(--text-2);font-size:var(--step-0);line-height:1.5}.auth-card .form-error{margin-bottom:var(--s3)}.auth-card .btn{width:100%;min-height:52px;text-decoration:none}.telegram-button svg,.google-button svg{width:20px;height:20px}.auth-steps{margin:var(--s4) 0 0;padding-left:1.3em;display:grid;gap:var(--s1);color:var(--text-2);font-size:var(--step--1);line-height:1.5}.auth-steps strong{color:var(--text);font-weight:var(--weight-strong)}.auth-divider{display:flex;align-items:center;gap:var(--s3);margin:var(--s5) 0;color:var(--text-3);font-size:var(--step--1)}.auth-divider span{text-transform:uppercase;letter-spacing:.08em}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.join-form{display:grid;gap:var(--s4)}.join-form label{display:grid;gap:var(--s2);color:var(--text-2);font-size:var(--step--1);font-weight:var(--weight-strong)}.join-form input{width:100%;min-height:52px;padding:0 var(--s4);border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:inherit;font-size:var(--step-0);font-weight:400}.join-form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.join-form .join-code{font-size:var(--step-2);font-weight:var(--weight-strong);letter-spacing:.18em;text-align:center;font-variant-numeric:tabular-nums}.join-form .join-code::placeholder{color:var(--text-3);font-weight:400}.join-form .auth-steps{margin:0}.join-who,.join-note{margin-top:var(--s4);color:var(--text-2);font-size:var(--step--1);line-height:1.5}.join-who strong{color:var(--text);font-weight:var(--weight-strong)}.join-link{display:inline-block;min-height:44px;margin-top:var(--s2);padding:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:var(--step--1);line-height:44px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.join-who .join-link{margin-top:0}.join-link:disabled{color:var(--text-3);cursor:default}.join-clock{display:block;margin-bottom:var(--s4);font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step-5);line-height:1}.claim-results{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--line);text-align:left}.claim-results h3{font-size:var(--step-0);font-weight:var(--weight-strong)}.claim-results p{margin-top:var(--s1);color:var(--text-2);font-size:var(--step--1);line-height:1.5}.claim-results strong{color:var(--text);font-weight:var(--weight-strong)}.claim-qr{flex:none;width:132px;height:132px;border-radius:var(--r-ctl);background:#fff;fill:#000;stroke:none}.full-mock-complete .claim-results{max-width:520px}.pc-qr{display:grid;place-items:center;min-height:240px;color:var(--text-2);font-size:var(--step--1)}.pc-qr .claim-qr{width:240px;height:240px}.pc-code{display:block;margin-top:var(--s4);font-size:var(--step-3);font-weight:var(--weight-strong);letter-spacing:.18em;text-align:center}.google-button svg{stroke:none}.google-button svg path{fill:currentColor}@media(max-width:800px){.auth-page{display:block}.auth-intro{padding:max(var(--s5),env(safe-area-inset-top)) var(--s5) var(--s5);gap:var(--s5)}.auth-intro h1{font-size:var(--step-5)}.auth-intro p{font-size:var(--step-0);margin-top:var(--s3)}.auth-posters{grid-template-columns:repeat(4,minmax(0,1fr))}.auth-panel{padding:0 var(--s4) max(var(--s6),env(safe-area-inset-bottom))}.auth-card{padding:var(--s5)}}.landing{background:var(--ground);color:var(--text);font-size:var(--step-1);overflow-x:clip}.lp-wrap{max-width:1312px;margin:0 auto;padding:0 var(--s7)}.landing-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:28px;height:84px;padding:0 max(var(--s7),calc((100% - 1312px) / 2 + var(--s7)));transition:background var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.landing-header.is-solid{background:var(--ground);box-shadow:0 1px 0 var(--line)}.landing-header .brand{margin-right:auto;min-height:44px}.landing-header .wordmark{font-size:32px}.landing-header nav{display:flex;align-items:center;gap:28px}.landing-header nav a,.lp-link{padding:0;border:0;background:none;cursor:pointer;font:inherit;font-size:var(--step-0);font-weight:var(--weight-mid);color:var(--text-2);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;transition:color var(--dur-short) var(--ease-out)}.landing-header nav a:hover,.lp-link:hover{color:var(--text)}.landing-header .btn{min-height:44px;text-decoration:none}.landing a.btn{text-decoration:none}.landing-hero{position:relative;max-width:1312px;margin:0 auto;padding:0 var(--s7);min-height:max(640px,calc(100dvh - 84px))}.landing-hero-copy{position:relative;z-index:3;width:560px;padding:72px 0 var(--s7)}.landing-hero h1{font-size:clamp(58px,7.2vw,104px);line-height:.86;letter-spacing:var(--track-display);text-transform:uppercase}.landing-hero h1>span{display:block}.landing-hero .lp-accent{color:var(--accent)}.lp-lede{margin-top:28px;max-width:30em;color:var(--text-2);font-size:19px;line-height:1.55}.lp-lede b{color:var(--text);font-weight:var(--weight-strong)}.landing-cta{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:34px}.landing-hero .landing-cta .btn{min-height:56px;padding:0 26px;font-size:var(--step-1)}.lp-star-note{display:flex;align-items:flex-start;gap:var(--s2);max-width:32em;margin-top:18px;color:var(--text-2);font-size:var(--step-0);line-height:1.45}.lp-star-note svg{flex:none;width:18px;height:18px;margin-top:1px;color:var(--star)}.lp-centre-link{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--s2);color:var(--text);font-size:var(--step-0);font-weight:var(--weight-strong);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px}.lp-centre-link:hover{text-decoration-color:var(--accent)}.lp-wall-frame{position:absolute;z-index:1;top:-84px;right:0;width:720px;height:900px;perspective:1600px;overflow:hidden;pointer-events:none;-webkit-mask:linear-gradient(90deg,transparent 0,#000 22%,#000 92%,transparent),linear-gradient(180deg,transparent 0,transparent 7%,#000 19%,#000 88%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.lp-wall{position:absolute;left:-40px;top:40px;display:grid;gap:18px;transform-origin:30% 50%;transform:rotateY(calc(-16deg + var(--ry, 0deg))) rotateX(calc(7deg + var(--rx, 0deg))) rotate(-2deg);transition:transform 1.4s var(--ease-out)}.lp-row{display:flex;gap:16px}.lp-row:nth-child(1){--from: 380px;--to: -36px;--rd: .2s}.lp-row:nth-child(2){--from: -460px;--to: 36px;--rd: .32s;margin-left:-84px}.lp-row:nth-child(3){--from: 340px;--to: -36px;--rd: .44s;margin-left:-30px}.lp-cell{position:relative;flex:none;width:156px;opacity:.4;filter:saturate(.2)}.lp-cell .poster{--p-size: 31px;outline:3px solid transparent;outline-offset:3px}.lp-cell.hit{z-index:2;opacity:1;filter:none;transform:scale(1.22)}.lp-cell.hit .poster{outline-color:var(--accent);box-shadow:var(--shadow-lift)}.lp-cell.hit~.lp-cell{transform:translate(34px)}.lp-flyout{position:absolute;z-index:4;left:calc(100% - 320px);top:398px;width:300px;padding:18px 20px;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-lift)}.lp-flyout h2{font-size:30px;line-height:.95;text-transform:uppercase}.lp-flyout p{margin-top:var(--s2);color:var(--text-2);font-size:var(--step-0);line-height:1.45}.lp-bars{display:flex;gap:6px;margin-top:var(--s3)}.lp-bars i{flex:1;height:5px;border-radius:3px}.lp-bar-listening{background:var(--listening)}.lp-bar-reading{background:var(--reading)}.lp-bar-writing{background:var(--writing)}.lp-bar-speaking{background:var(--speaking)}.landing-hero h1{--ch-dur: 1s}.play .lp-row{animation:lp-slide 1.7s var(--ease-quint) var(--rd) both,lp-stream 30s var(--ease-inout) 4.3s infinite alternate}.play .lp-cell{animation:lp-focus .9s var(--ease-settle) 2.5s both}.play .lp-cell .poster{animation:lp-sharpen .9s var(--ease-out) var(--sd) both}.play .lp-cell.hit .poster{animation:lp-sharpen .9s var(--ease-out) var(--sd) both,lp-ring .5s var(--ease-out) 2.5s both}.play .lp-flyout{animation:lp-fly .9s var(--ease-out) 2.8s both}@keyframes lp-slide{0%{transform:translate(var(--from));opacity:0}35%{opacity:1}}@keyframes lp-stream{to{transform:translate(var(--to))}}@keyframes lp-sharpen{0%{filter:blur(10px) saturate(.4);scale:.94}}@keyframes lp-focus{0%{opacity:1;filter:none;transform:none}}@keyframes lp-ring{0%{outline-color:transparent;box-shadow:var(--shadow-tile)}}@keyframes lp-fly{0%{opacity:0;clip-path:inset(0 100% 0 0 round var(--r-card));transform:translate(-12px)}to{opacity:1;clip-path:inset(-40px -40px -60px -40px round var(--r-card));transform:none}}.lp-hold:not(.on) .lp-in{opacity:0}.lp-hold.on .lp-in{animation:m-rise .9s var(--ease-quint) var(--d, 0ms) both}.lp-hold.lp-now .lp-in{animation:none}.lp-band{padding:120px 0}.lp-split{display:grid;grid-template-columns:420px minmax(0,1fr);gap:80px;align-items:start}.lp-split-head{position:sticky;top:108px}.lp-band h2,.lp-tg h2{font-size:72px;line-height:.9;text-transform:uppercase}.lp-split-head p,.lp-section-head p{margin-top:20px;max-width:26em;color:var(--text-2);line-height:1.55}.landing-skills{list-style:none;margin:0;padding:0}.lp-ep{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--s6);align-items:center;padding:22px 0;border-top:1px solid var(--line)}.lp-ep:last-child{border-bottom:1px solid var(--line)}.lp-ep .poster{aspect-ratio:16 / 9;--p-size: 40px}.lp-ep h3{font-size:22px;font-weight:var(--weight-strong)}.lp-ep p{margin-top:var(--s2);max-width:34em;color:var(--text-2);line-height:1.55}.lp-mark{display:inline-block;margin-top:var(--s3);padding:3px var(--s2);border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--text-2);font-size:var(--step--1);font-weight:var(--weight-mid);text-transform:uppercase;letter-spacing:.06em}.lp-fixes .lp-split{align-items:center}.lp-sheet{padding:36px 40px;border-radius:var(--r-hero);background:var(--surface);box-shadow:var(--shadow-card)}.lp-sheet-text{max-width:36em;font:400 21px/1.65 var(--font-read);color:var(--text)}.lp-sheet del{text-decoration:line-through 2px var(--accent);color:var(--text-3)}.lp-sheet ins{padding:0 3px;border-radius:3px;background:var(--ok-tint);color:var(--ok);text-decoration:none}.lp-why{display:flex;align-items:baseline;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);color:var(--text-2);font-size:var(--step-0)}.lp-why b{color:var(--accent);font-weight:var(--weight-strong);white-space:nowrap}.lp-sheet-label{margin-top:var(--s4);color:var(--text-3);font-size:var(--step--1)}.landing-caveat{margin-top:var(--s7);color:var(--text-3);font-size:var(--step--1);line-height:1.6}.lp-section-head{margin-bottom:var(--s7)}.lp-centre-points{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4);margin:0;padding:0;list-style:none}.lp-centre-points li{padding:var(--s5);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card)}.lp-centre-points h3{font-size:var(--step-1)}.lp-centre-points p{margin-top:var(--s2);color:var(--text-2);font-size:var(--step-0);line-height:1.6}.lp-centre-contact{margin-top:var(--s6);color:var(--text-2);font-size:var(--step-0)}.lp-centre-contact strong{color:var(--text)}.lp-tg{padding:var(--s7) 0 120px}.lp-tg-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s7);align-items:end;padding-top:56px;border-top:1px solid var(--line)}.lp-tg h2{font-size:88px;max-width:9em}.lp-tg p{margin-top:20px;max-width:34em;color:var(--text-2);line-height:1.55}.lp-tg .landing-cta{margin-top:0}.lp-tg .btn{min-height:52px}.landing-footer{display:flex;justify-content:space-between;gap:var(--s4);max-width:1312px;margin:0 auto;padding:28px var(--s7) 40px;border-top:1px solid var(--line);color:var(--text-3);font-size:var(--step--1)}.landing-footer p{margin:0;max-width:60ch;text-align:right}@media(max-width:1100px){.lp-wall-frame{width:58vw}.lp-flyout{display:none}.landing-hero-copy{width:min(560px,52vw)}.lp-split{grid-template-columns:1fr;gap:var(--s6)}.lp-split-head{position:static}.lp-centre-points{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.landing{font-size:var(--step-0)}.lp-wrap{padding:0 20px}.landing-header{height:64px;gap:var(--s4);padding:0 20px;padding-top:env(safe-area-inset-top)}.landing-header .wordmark{font-size:27px}.landing-header nav a,.lp-header-tg{display:none}.landing-hero{display:flex;flex-direction:column;min-height:0;padding:0 20px}.lp-wall-frame{position:relative;order:-1;top:0;right:auto;width:calc(100% + 40px);height:216px;margin:0 -20px;-webkit-mask:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent),linear-gradient(180deg,#000 70%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.lp-wall{left:-60px;top:-150px;transform:scale(.58) rotateY(-14deg) rotateX(6deg) rotate(-2deg);transform-origin:0 0}.landing-hero-copy{width:auto;padding:4px 0 var(--s6)}.landing-hero h1{font-size:58px}.lp-lede{margin-top:var(--s4);font-size:var(--step-1);line-height:1.5}.landing-cta{flex-direction:column;gap:10px;margin-top:22px}.landing-cta .btn,.landing-hero .landing-cta .btn{width:100%;min-height:52px}.lp-star-note{font-size:var(--step--1)}.lp-band{padding:72px 0 var(--s5)}.lp-band h2{font-size:48px}.lp-ep{grid-template-columns:120px minmax(0,1fr);gap:var(--s4);padding:var(--s4) 0}.lp-ep .poster{--p-size: 24px}.lp-ep h3{font-size:var(--step-1)}.lp-ep p{font-size:var(--step-0);margin-top:var(--s1)}.lp-sheet{padding:22px 20px}.lp-sheet-text{font-size:17.5px}.lp-why{flex-direction:column;gap:var(--s1)}.lp-centre-points{grid-template-columns:1fr}.lp-tg{padding:var(--s5) 0 72px}.lp-tg-in{grid-template-columns:1fr;gap:28px;padding-top:40px}.lp-tg h2{font-size:56px}.landing-footer{flex-direction:column;gap:6px;padding:24px 20px max(32px,env(safe-area-inset-bottom))}.landing-footer p{text-align:left}}.centre-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4);margin:0;padding-top:var(--s4);border-top:1px solid var(--line)}.centre-facts div{display:grid;gap:var(--s1)}.centre-facts dt{color:var(--text-3);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.07em}.centre-facts dd{margin:0;color:var(--text);font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step-2);font-variant-numeric:tabular-nums}@media(max-width:700px){.centre-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.stars-notice{display:flex;align-items:flex-start;gap:var(--s3);margin-bottom:var(--s4);padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.stars-notice>svg{flex:none;width:22px;height:22px;color:var(--star)}.stars-notice strong{display:block;color:var(--text)}.stars-notice span{color:var(--text-2);font-size:var(--step-0)}.stars-notice.ok{border-color:var(--ok);background:var(--ok-tint)}.stars-notice.ok>svg{color:var(--ok)}.stars-notice.warn{border-color:var(--accent);background:var(--accent-tint)}.stars-notice.warn>svg{color:var(--accent)}.stars-balance{display:grid;grid-template-columns:88px auto minmax(0,1fr) auto;align-items:center;gap:var(--s5);padding:var(--s5);border-radius:var(--r-hero);background:var(--surface);box-shadow:var(--shadow-card)}.stars-balance-figure{display:flex;align-items:center;gap:var(--s2)}.stars-balance-figure svg{width:40px;height:40px;color:var(--star);fill:currentColor}.stars-balance-figure strong{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step-5);line-height:.86;font-variant-numeric:tabular-nums}.stars-balance-copy h2{font-size:var(--step-2)}.stars-balance-copy p{margin-top:var(--s1);color:var(--text-2)}.practice-balances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);margin-top:var(--s3)}.practice-balance{display:flex;align-items:center;gap:var(--s4);padding:var(--s4);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card)}.practice-balance .balance-art{flex:none;width:40px}.practice-balance strong{display:block;font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step-3);line-height:1;font-variant-numeric:tabular-nums}.practice-balance span{color:var(--text-2);font-size:var(--step--1)}.stars-page .section-heading{display:block}.stars-page .section-heading p{margin-top:var(--s1);color:var(--text-2)}.stars-packages{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s4)}.stars-package{position:relative;display:flex;flex-direction:column;gap:var(--s2);padding:var(--s5);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card)}.stars-package.highlight{box-shadow:inset 0 0 0 2px var(--accent),var(--shadow-card)}.stars-package-tag{position:absolute;top:var(--s4);right:var(--s4);padding:2px var(--s2);border-radius:var(--radius-pill);background:var(--accent-tint);color:var(--accent);font-size:var(--step--1);font-weight:var(--weight-strong)}.stars-package-count{display:flex;align-items:center;gap:var(--s2)}.stars-package-count svg{width:28px;height:28px;color:var(--star);fill:currentColor}.stars-package-count .package-art{flex:none;width:28px}.stars-package-count strong{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step-3);line-height:1;font-variant-numeric:tabular-nums}.stars-package h3{font-size:var(--step-1)}.stars-package p{color:var(--text-2);font-size:var(--step-0)}.stars-package-price{margin-top:auto;padding-top:var(--s2);font-size:var(--step-1);font-weight:var(--weight-strong);font-variant-numeric:tabular-nums}.stars-package button{width:100%}.stars-rules{display:grid;gap:var(--s3);margin:0;padding:var(--s5);list-style:none;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card)}.stars-rules li{display:flex;gap:var(--s3);align-items:flex-start;color:var(--text-2);line-height:1.5}.stars-rules svg{flex:none;width:18px;height:18px;margin-top:3px;color:var(--ok)}.stars-rules strong{color:var(--text)}.star-dialog{width:min(100%,440px);padding:var(--s6);border-radius:var(--r-hero);background:var(--surface);box-shadow:var(--shadow-lift);text-align:center}.star-dialog-art{width:88px;margin:0 auto var(--s4)}.star-dialog h2{font-size:var(--step-2)}.star-dialog p{margin-top:var(--s2);color:var(--text-2)}.star-dialog p strong{color:var(--text)}.star-dialog-note{font-size:var(--step--1)}.star-dialog .form-error{margin-top:var(--s3);text-align:left}.star-dialog-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--s3);margin-top:var(--s5)}.star-dialog-actions button{justify-content:center}.star-dialog-actions button:only-child{grid-column:1 / -1}@media(max-width:800px){.stars-balance{grid-template-columns:64px minmax(0,1fr);gap:var(--s3) var(--s4);padding:var(--s4)}.stars-balance-poster{grid-row:span 2}.stars-balance-copy{grid-column:1 / -1}.stars-balance>button{grid-column:1 / -1;width:100%}.practice-balances{grid-template-columns:1fr}.star-dialog{padding:var(--s5)}.star-dialog-actions{grid-template-columns:1fr}}.telegram-results{display:grid;gap:var(--s3);margin-top:var(--s4);padding:var(--s4);border-radius:var(--r-card);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:var(--step--1)}.telegram-results-head{display:flex;gap:var(--s3);align-items:flex-start}.telegram-results-head h3{margin:0 0 3px;font:var(--weight-strong) var(--step-0)/1.3 var(--font-ui);color:var(--text)}.telegram-results-head p{margin:0;color:var(--text-2);line-height:1.45}.telegram-results-icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text)}.telegram-results .telegram-connect{justify-self:start}.telegram-results-toggle{display:flex;gap:var(--s2);align-items:flex-start;cursor:pointer}.telegram-results-toggle input{flex:none;width:18px;height:18px;margin-top:2px;accent-color:var(--accent)}.telegram-results-toggle span{display:grid;gap:3px;font-weight:var(--weight-strong);color:var(--text)}.telegram-results-toggle small{font-weight:400;color:var(--text-2);line-height:1.4}.telegram-results-wait,.telegram-results p[role=status]{margin:0;color:var(--text-2)}.admin-form,.admin-form fieldset{display:grid;gap:15px}.admin-form label{display:grid;gap:6px;font-size:12px;font-weight:600}.admin-form textarea{resize:vertical}.admin-form fieldset{min-width:0;padding:18px;border:1px solid var(--line);border-radius:var(--r-ctl)}.admin-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.audience-student{display:grid;gap:7px;margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface)}.audience-student small,.content-audience{color:var(--ink-2)}.access-editor{display:grid;gap:16px;padding:20px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.access-editor h3{margin:4px 0;font-size:20px}.access-editor>div:first-child>p:last-child{margin:0;color:var(--ink-2);font-size:12px}.access-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-form .access-options>label{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);cursor:pointer;transition:border-color var(--mid) var(--ease)}.admin-form .access-options>label.selected{border-color:var(--ink);box-shadow:var(--lift)}.admin-form .access-options input{width:18px;height:18px;margin:2px 0 0;padding:0;accent-color:var(--action)}.access-options span{display:grid;gap:5px}.access-options strong{font-size:14px}.access-options small{color:var(--ink-2);font-weight:400;line-height:1.5}.access-editor .audience-student{margin:0}.access-publish-note{margin:0;padding:12px 14px;border-radius:var(--radius-sm);background:var(--ground-2);font-size:12px;line-height:1.55}.content-preview article,.preview-question{padding:20px;border:1px solid var(--line);border-radius:var(--r-tile);margin-top:16px}.passage-preview{font-family:var(--font-read);white-space:pre-wrap;line-height:1.8}@media(max-width:800px){.access-options{grid-template-columns:1fr}}.admin-app{min-height:100dvh;background:var(--ground)}.admin-topbar{padding:16px 5vw;display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--chrome);border-bottom:var(--hair) solid var(--chrome-line)}.admin-topbar .brand{align-items:baseline}.admin-topbar .brand small{font:var(--weight-strong) 12px/1 var(--font-ui);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.admin-topbar>div:last-child{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:flex-end;font-size:var(--step--1)}.admin-topbar .secondary-action{width:auto;min-height:40px;padding:10px 16px}.admin-login{max-width:460px;margin:9vh auto;padding:28px}.admin-login h1{margin:12px 0}.admin-login p,.admin-login small{color:var(--ink-2);line-height:1.7}.admin-login small button{border:0;padding:0;background:transparent;color:var(--ink);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.admin-login form{display:grid;gap:20px;margin:28px 0}.admin-login label{display:grid;gap:8px;font-size:14px;font-weight:600}.admin-login input{width:100%;padding:14px;border:1px solid var(--line);border-radius:var(--r-ctl);font:inherit;background:var(--surface)}.admin-login .google-button{width:100%}.admin-login>.google-button{margin-top:12px}.admin-notice{max-width:760px;margin:20px auto;padding:16px;color:var(--ink);background:var(--surface);border-left:var(--hair) solid var(--alert);border-radius:var(--r-ctl)}.admin-nav{position:sticky;top:0;z-index:20;display:flex;gap:4px;padding:8px 5vw;overflow-x:auto;background:var(--chrome-glass);border-bottom:var(--hair) solid var(--chrome-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-nav button{border:0;border-radius:var(--r-ctl);padding:10px 14px;white-space:nowrap;background:transparent;color:var(--chrome-ink-2);font:var(--weight-mid) 13px/1 var(--font-ui);cursor:pointer;transition:background-color var(--mid) var(--ease),color var(--mid) var(--ease)}.admin-nav button:hover{color:var(--chrome-ink)}.admin-nav button.active{background:var(--nav-active);color:var(--nav-active-ink);box-shadow:var(--lift)}.admin-main{padding-bottom:70px}.admin-page-heading{padding:34px 5vw 12px}.admin-page-heading h1{margin:8px 0;font-size:clamp(var(--step-4),4vw,56px)}.admin-page-heading>p:last-child{max-width:740px;color:var(--ink-2);line-height:1.65}.admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;padding:20px 5vw}.admin-kpis article{display:grid;gap:6px;padding:20px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.admin-kpis span,.admin-kpis small{color:var(--ink-2)}.admin-kpis strong,.admin-health-card dd{font:var(--weight-display) 44px/1 var(--font-display);font-variant-numeric:tabular-nums}.admin-chart-card,.admin-health-card{margin:12px 5vw;padding:24px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.admin-chart-card>div:first-child{display:flex;justify-content:space-between;gap:20px}.admin-chart-card h2,.admin-health-card h2{margin:7px 0 18px}.admin-chart-legend{display:flex;gap:18px;justify-content:flex-end;color:var(--ink-2);font-size:12px}.admin-chart-legend span:before{content:"";display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:3px;background:var(--line-strong)}.admin-chart-legend .attempts:before{background:var(--progress)}.admin-chart-legend .signups:before{background:var(--action)}.admin-chart{height:220px;display:flex;align-items:stretch;gap:10px;padding-top:22px;overflow-x:auto}.admin-chart-day{flex:1 0 42px;display:grid;grid-template-rows:1fr auto;gap:9px;min-width:42px;text-align:center}.admin-chart-day>div{display:flex;align-items:flex-end;justify-content:center;gap:3px;border-bottom:1px solid var(--line)}.admin-chart-day i{width:7px;min-height:2px;border-radius:4px 4px 0 0;background:var(--line-strong)}.admin-chart-day i.attempts{background:var(--progress)}.admin-chart-day i.signups{background:var(--action)}.admin-chart-day small{color:var(--ink-3);font-size:12px}.admin-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 5vw}.admin-dashboard-grid .admin-health-card{margin:0}.admin-breakdown{grid-column:1/-1}.admin-health-card dl{display:flex;gap:35px;margin:0}.admin-health-card dl div{display:grid;gap:6px}.admin-health-card dt{color:var(--ink-2)}.admin-health-card dd{margin:0}.admin-breakdown>div{display:grid;grid-template-columns:1fr auto 90px;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);text-transform:capitalize}.admin-breakdown small{color:var(--ink-2)}.student-detail-section{padding:22px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.student-detail-section h3{margin:0 0 16px}.student-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.student-score-grid article{display:grid;gap:7px;padding:16px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.student-score-grid span{color:var(--ink-2);font-size:12px}.student-score-grid strong,.student-skill-grid strong{font:var(--weight-display) 30px/1 var(--font-display);font-variant-numeric:tabular-nums}.student-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-skill-grid article{display:grid;grid-template-columns:1fr auto;gap:7px;padding:15px;border-radius:var(--r-ctl);background:var(--ground-2);text-transform:capitalize}.student-skill-grid small{grid-column:1/-1;color:var(--ink-2);text-transform:none}.student-activity-list{display:grid}.student-activity-list article{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid var(--line)}.student-activity-list article:first-child{border-top:0}.student-activity-list article>div{display:grid;gap:5px;min-width:0}.student-activity-list article>div:last-child{text-align:right;justify-items:end;flex:none}.student-activity-list strong{overflow-wrap:anywhere}.student-activity-list small{color:var(--ink-2);font-size:12px;text-transform:capitalize}.student-activity-list b{font-size:18px;font-variant-numeric:tabular-nums}.student-empty{padding:22px;color:var(--ink-2);text-align:center}.student-empty p{margin:0}.danger-link{border:0;background:transparent;color:var(--alert);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.speaking-turn-admin{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:15px 0;border-top:1px solid var(--line)}.speaking-turn-admin>textarea,.speaking-turn-admin>.admin-columns{grid-column:2}.exam-access{display:grid;gap:5px;justify-items:start}.exam-access small{font-size:12px;color:var(--ink-2)}.access-badge{display:inline-flex;padding:4px 8px;border-radius:var(--radius-pill);font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.06em}.exam-skill{text-transform:capitalize}.admin-audio-editor,.admin-pages-editor{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface)}.admin-audio-editor>label,.admin-pages-editor>label{display:grid;gap:7px}.admin-audio-editor input[type=file],.admin-pages-editor input[type=file]{padding:10px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--ground-2)}.admin-audio-preview{display:flex;align-items:center;gap:14px}.admin-audio-preview audio{width:min(100%,560px)}.admin-page-thumbs{display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none}.admin-page-thumbs li{display:grid;gap:6px;justify-items:center;width:132px}.admin-page-thumbs img{width:132px;height:176px;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}.admin-import-disclosure{margin:18px 5vw;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);overflow:hidden}.admin-import-disclosure>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;cursor:pointer;list-style:none}.admin-import-disclosure>summary::-webkit-details-marker{display:none}.admin-import-disclosure>summary span:first-child{display:grid;gap:4px}.admin-import-disclosure>summary small,.admin-import-disclosure>summary span:last-child{color:var(--ink-2);font-size:12px}.admin-import-disclosure[open]>summary{border-bottom:1px solid var(--line)}.admin-import{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);gap:28px;margin:28px 5vw 34px;padding:26px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.admin-import-disclosure .admin-import{margin:0;border:0;border-radius:0}.admin-import h2{margin:8px 0}.admin-import p{color:var(--ink-2);line-height:1.6}.admin-import-controls{display:grid;gap:14px}.admin-import-controls>label:not(.admin-rights){display:grid;gap:7px;font-size:13px;font-weight:700}.admin-import-controls input[type=file],.admin-import-controls select{width:100%;padding:11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ground-2);font:inherit}.admin-import-controls small{color:var(--ink-2);font-weight:400}.admin-rights{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5}.admin-rights input{margin-top:3px}.admin-import-jobs{grid-column:1/-1;display:grid;gap:10px}.admin-import-jobs article{display:grid;gap:7px;padding:15px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--ground-2)}.admin-import-jobs article>div:first-child{display:flex;justify-content:space-between;gap:12px}.admin-import-jobs p{margin:0;font-size:13px}.admin-import-jobs small{color:var(--ink-2)}.import-draft-links{display:flex;flex-wrap:wrap;gap:8px}.import-draft-links button{border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;background:var(--surface);color:var(--ink);cursor:pointer}.import-draft-links button:hover{border-color:var(--line-strong)}@media(max-width:900px){.admin-kpis{grid-template-columns:repeat(2,1fr)}.admin-dashboard-grid{grid-template-columns:1fr}.admin-breakdown{grid-column:auto}}@media(max-width:700px){.admin-topbar{padding:12px 16px}.admin-topbar>div:last-child{gap:8px 12px}.admin-topbar .secondary-action{min-height:36px;padding:8px 12px}.admin-nav{padding:8px 12px}.admin-page-heading{padding:24px 16px 8px}.admin-kpis{padding:16px;gap:10px}.admin-kpis article{padding:16px}.admin-kpis strong,.admin-health-card dd{font-size:36px}.admin-chart-card,.admin-health-card{margin:12px 16px;padding:18px}.admin-dashboard-grid{margin:12px 16px}.admin-import{grid-template-columns:1fr;margin:22px 16px}.admin-import-jobs{grid-column:auto}.admin-import-disclosure{margin:16px}.speaking-turn-admin{grid-template-columns:1fr}.speaking-turn-admin>textarea,.speaking-turn-admin>.admin-columns{grid-column:1}.student-score-grid,.student-skill-grid{grid-template-columns:1fr 1fr}.student-activity-list article{display:grid}.student-activity-list article>div:last-child{text-align:left;justify-items:start}}.centre-new{margin:0 5vw 34px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.centre-new h2{margin:0 0 16px;font-size:18px}.centre-new form{display:grid;gap:16px;justify-items:start}.centre-new .admin-columns,.centre-new .centre-toggle{justify-self:stretch}.exam-days{display:grid;gap:var(--s4)}.centre-invite .exam-day-code{font-size:var(--step-1);font-weight:var(--weight-strong);letter-spacing:.18em}.centre-new .exam-day-pcs{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.exam-day-pick{justify-self:stretch;display:flex;flex-wrap:wrap;gap:4px 20px;margin:0;padding:0;border:0}.exam-day-pick legend{padding:0;margin-bottom:6px;color:var(--ink-2);font-size:12px;font-weight:var(--weight-mid)}.exam-day-pick label{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);font-size:14px;cursor:pointer}.exam-day-pick input{width:18px;height:18px;accent-color:var(--action);flex:none}.centre-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:14px}.centre-toggle{display:flex;align-items:start;gap:10px;color:var(--ink);font-size:13px;font-weight:var(--weight-mid);cursor:pointer}.centre-toggle input{width:18px;height:18px;margin-top:1px;accent-color:var(--action);flex:none}.centre-toggle small{display:block;margin-top:4px;color:var(--ink-2);font-weight:400;line-height:1.5}.admin-scope{display:block;color:var(--ink-2);font-size:12px;font-weight:var(--weight-mid)}@media(max-width:700px){.centre-controls{flex-direction:column;align-items:flex-start}}.centre-admins-toggle{border:0;background:transparent;color:var(--ink-2);font:var(--weight-strong) 12px/1 inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px;justify-self:start}.centre-admins-toggle:hover{color:var(--ink)}.centre-admins{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:16px}.centre-admins-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.centre-admins-head h3{margin:0;font-size:14px;letter-spacing:0}.centre-admin-list{margin:0;padding:0;list-style:none;display:grid;gap:16px}.centre-admin-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.centre-admin-list strong{display:block;font-size:14px}.centre-admin-list span{color:var(--ink-2);font-size:12px}.centre-admin-actions{display:flex;align-items:center;gap:12px}.centre-admin-actions .secondary-action{min-height:34px;padding:0 12px;font-size:12px}.centre-admin-empty{color:var(--ink-2);font-size:13px}.centre-admin-new{display:grid;gap:12px;justify-items:start;border-top:1px solid var(--line);padding-top:14px}.centre-admin-new .admin-columns{justify-self:stretch}.centre-credential{display:grid;gap:12px;justify-items:start;padding:16px;background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--action);border-radius:var(--radius-sm)}.centre-credential p{margin:0;color:var(--ink);font-size:13px;line-height:1.5}.centre-credential .centre-invite{justify-self:stretch}.marking-admin{padding-bottom:70px}.marking-empty{margin:0 5vw;color:var(--ink-2);font-size:14px}.marking-work{margin:0 5vw var(--s6);padding:var(--s5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.marking-work h2{margin:0 0 var(--s4);font-size:16px}.marking-essay p{margin:0;max-width:70ch;color:var(--ink);font-family:var(--font-read);font-size:15px;line-height:1.8;white-space:pre-wrap}.marking-turns{margin:0;padding-left:1.2em;display:grid;gap:var(--s5)}.marking-turns li{display:grid;gap:var(--s3)}.marking-turns strong{display:block;color:var(--ink-3);font-size:12px;text-transform:uppercase;letter-spacing:.07em}.marking-turns span{display:block;margin-top:3px;color:var(--ink);font-size:14px;line-height:1.5}.marking-turns audio{width:100%;max-width:480px}.marking-transcript{margin:0;padding:var(--s3);background:var(--surface-2);color:var(--ink-2);font-size:13px;line-height:1.6}.marking-form{margin:0 5vw;display:grid;gap:var(--s4);max-width:900px}.marking-form fieldset{margin:0;padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-ctl);display:grid;gap:var(--s3)}.marking-form legend{padding:0 var(--s2);color:var(--ink);font-size:13px;font-weight:var(--weight-strong)}.marking-overall{display:grid;gap:6px;justify-items:start;padding:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);color:var(--ink);font-size:13px;font-weight:var(--weight-strong)}.marking-overall select{min-width:110px}.marking-overall small{color:var(--ink-2);font-weight:400}.marking-actions{display:flex;gap:var(--s3);justify-content:flex-end}@media(max-width:700px){.marking-actions{flex-direction:column-reverse}}.admin-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s5);flex-wrap:wrap}.admin-heading-row>div:first-child{min-width:0}.admin-heading-row h1{margin:8px 0}.admin-heading-row p{max-width:740px;margin:0;color:var(--ink-2);line-height:1.65}.admin-heading-action{flex:none;padding-bottom:6px}.admin-filters{display:flex;flex-wrap:wrap;align-items:end;gap:var(--s3);margin-bottom:var(--s4)}.admin-filters>label{display:grid;gap:6px;min-width:150px;color:var(--ink-2);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.admin-filters>label:first-child{flex:1 1 260px}.admin-filters input,.admin-filters select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);font:inherit;font-size:13px;text-transform:none;letter-spacing:normal}.admin-filters input:focus-visible,.admin-filters select:focus-visible{outline:2px solid var(--action);outline-offset:-2px}.admin-filter-count{margin:0 0 11px auto;color:var(--ink-3);font-size:12px}.admin-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.admin-table-head,.admin-table-row{display:grid;gap:var(--s3);align-items:center;padding:12px 15px}.admin-table-head{background:var(--surface-2);color:var(--ink-3);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.admin-table-row{width:100%;border:0;border-top:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}.admin-table-row:hover{background:var(--ground-2)}.admin-table-row.selected{background:var(--ground-2);box-shadow:inset 3px 0 0 var(--action)}.admin-table-row:focus-visible{position:relative;outline:2px solid var(--action);outline-offset:-2px}.admin-table-row>span{min-width:0;overflow-wrap:anywhere;color:var(--ink-2)}.admin-table-row>span:first-child{color:var(--ink)}.admin-table-row strong{display:block}.admin-table-row b{font-size:15px}.admin-table-row .access-badge{font-size:12px}.access-badge.public{background:var(--surface-2);color:var(--ink-2)}.access-badge.restricted{background:var(--accent-tint);color:var(--accent)}.admin-table-open{color:var(--action)!important;font-weight:800;white-space:nowrap;text-align:right}.admin-cell-note{display:block;margin-top:3px;color:var(--ink-3);font-size:12px}.admin-table-empty{padding:var(--s6) var(--s4);color:var(--ink-2);text-align:center}.admin-table-pagination{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s4);margin-top:var(--s3);color:var(--ink-2);font-size:13px}.admin-table-pagination p{margin:0}.admin-table-pagination>div{display:flex;align-items:center;gap:var(--s3)}.admin-table-pagination label{display:flex;align-items:center;gap:7px;color:var(--ink-3);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.admin-table-pagination select{padding:7px 9px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);font:inherit;font-size:12px}.admin-table-pagination button{padding:9px 13px}.status-chip.status-published{background:var(--progress);color:var(--ink-on-progress)}.status-chip.status-draft{background:var(--surface-2);color:var(--ink-2)}.status-chip.status-archived{background:var(--surface-2);color:var(--ink-3)}.admin-sheet-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:stretch;justify-content:flex-end;padding:0;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:admin-sheet-in var(--fast) var(--ease)}.admin-sheet{display:flex;flex-direction:column;width:min(680px,100%);max-height:100dvh;background:var(--ground);border-left:1px solid var(--line-strong);box-shadow:var(--lift-high)}.admin-sheet.wide{width:min(1080px,100%)}.admin-sheet:focus{outline:none}.admin-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);padding:var(--s5) var(--s5) var(--s4);border-bottom:1px solid var(--line)}.admin-sheet-head h2{margin:0;font-size:var(--step-3);letter-spacing:var(--track-display);overflow-wrap:anywhere}.admin-sheet-head p{margin:6px 0 0;color:var(--ink-2);font-size:13px;text-transform:capitalize}.admin-sheet-close{flex:none;width:38px;height:38px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:20px;line-height:1;cursor:pointer}.admin-sheet-close:hover{background:var(--ground-2)}.admin-sheet-body{flex:1;min-height:0;overflow-y:auto;padding:var(--s5);display:grid;gap:var(--s4);align-content:start}.admin-sheet-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-top:1px solid var(--line);background:var(--surface-2)}.admin-sheet-spacer{flex:1}.admin-sheet .centre-new,.admin-sheet .centre-admins{margin:0;padding:0;border:0;background:transparent}.admin-sheet .admin-page-heading{padding:0}.admin-sheet .student-score-grid,.admin-sheet .student-detail-section{margin:0}.admin-sheet .instruction-box{margin-top:0}@media(max-width:860px){.admin-heading-action{width:100%;padding-bottom:0}.admin-heading-action button{width:100%}.admin-table-head{display:none}.admin-table-row{grid-template-columns:1fr!important;gap:5px;padding:var(--s4) var(--s4)}.admin-table-open{text-align:left}.admin-sheet-backdrop{padding:0}.admin-sheet,.admin-sheet.wide{width:100%;border-left:0}.admin-sheet-body,.admin-sheet-head,.admin-sheet-foot{padding-left:var(--s4);padding-right:var(--s4)}}.centre-stars{margin-top:var(--s4)}.centre-stars-balance{display:flex;align-items:center;gap:6px;flex:none}.centre-stars-balance svg{width:28px;height:28px;fill:var(--star);stroke:var(--star)}.centre-stars-balance strong{font-size:2rem;line-height:1;font-variant-numeric:tabular-nums}.centre-stars-grant{display:grid;grid-template-columns:190px 120px minmax(0,1fr) auto;align-items:end;gap:var(--s3)}.centre-stars-grant label{display:grid;gap:6px;font-size:var(--step--1);font-weight:var(--weight-mid);color:var(--ink-2)}.centre-stars-grant label small{font-weight:400;color:var(--ink-3)}.centre-stars-grant input{width:100%}.centre-stars-saved{grid-column:1 / -1;color:var(--ok);font-size:var(--step--1);font-weight:var(--weight-mid)}.centre-stars-activity{margin:0;padding:0;list-style:none;border-top:var(--hair) solid var(--line)}.centre-stars-activity li{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:var(--s3);padding:var(--s3) 0;border-bottom:var(--hair) solid var(--line)}.centre-stars-activity .delta{font-weight:var(--weight-strong);font-variant-numeric:tabular-nums}.centre-stars-activity .delta.plus{color:var(--ok)}.centre-stars-activity .delta.minus{color:var(--ink-2)}.centre-stars-activity .what{font-size:var(--step-0)}.centre-stars-activity .what small{display:block;color:var(--ink-3);font-size:var(--step--1)}.centre-stars-activity time{color:var(--ink-3);font-size:var(--step--1);white-space:nowrap}.centre-stars-total{display:grid;gap:2px;align-self:end;padding-bottom:6px}.centre-stars-total span{color:var(--ink-3);font-size:var(--step--1)}.centre-stars-total strong{font-size:var(--step-1);font-variant-numeric:tabular-nums}.purchase-notice.paid{border-left-color:var(--ok)}.purchase-notice.failed{border-left-color:var(--alert)}.stars-price-input{display:flex;align-items:center;gap:var(--s2)}.stars-price-input input{width:180px;font-size:var(--step-1);font-variant-numeric:tabular-nums}.stars-price-input span{color:var(--ink-2)}.stars-sales{flex:none;padding:4px 12px;font-size:var(--step--1);font-weight:var(--weight-strong)}.stars-sales.on{background:var(--ok-tint);color:var(--ok)}.stars-sales.off{background:var(--surface-2);color:var(--ink-2)}.stars-purchases li{grid-template-columns:84px minmax(0,1fr) auto}.purchase-status{justify-self:start;padding:2px 10px;font-size:12px;font-weight:var(--weight-strong);background:var(--surface-2);color:var(--ink-2)}.purchase-status.paid{background:var(--ok-tint);color:var(--ok)}.purchase-status.failed{background:var(--accent-tint);color:var(--alert)}.centre-balances{display:flex;flex-wrap:wrap;gap:var(--s2)}.centre-balances span{padding:6px 12px;background:var(--surface-2);color:var(--ink-2);font-size:var(--step--1)}.centre-balances b{color:var(--ink);font-variant-numeric:tabular-nums}.centre-stars-grant select{width:100%;height:40px}.stars-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:var(--s4)}.stars-price-grid label{display:grid;gap:6px}.stars-price-grid .price-label{display:grid;font-size:var(--step-0);font-weight:var(--weight-mid);color:var(--ink)}.stars-price-grid .price-label small,.stars-price-grid .price-preview{color:var(--ink-3);font-size:12px;font-weight:400}.stars-price-grid .stars-price-input input{width:140px}@media(max-width:900px){.stars-price-grid,.centre-stars-grant{grid-template-columns:1fr}}@keyframes admin-sheet-in{0%{opacity:0}to{opacity:1}}
