:root{--ground: #0f3a86;--surface: #0b2a63;--surface-2: #082051;--surface-raised: #15438f;--line: rgba(243, 239, 228, .2);--line-strong: rgba(243, 239, 228, .42);--ink: #f3efe4;--ink-2: #a9c3eb;--ink-3: #7f9fd4;--ink-on-action: #0b2a63;--ink-on-progress: #06220f;--progress: #2ba3a0;--progress-text: #43c4c0;--action: #e2a32b;--alert: #e2593f;--ok: #4fb286;--skill-reading: #e2a32b;--skill-listening: #2ba3a0;--skill-writing: #c58de8;--skill-speaking: #6fc4f5;--glaze: #f4f1e6;--glaze-sunk: #e9e2d0;--glaze-raised: #fffdf6;--ink-glaze: #16233f;--ink-glaze-2: #4a5775;--ink-glaze-3: #5f6a87;--line-glaze: rgba(22, 35, 63, .16);--line-glaze-strong: rgba(22, 35, 63, .34);--action-on-glaze: #8a5600;--progress-on-glaze: #11625f;--font-display: "Archivo", system-ui, sans-serif;--font-text: "Archivo", system-ui, sans-serif;--weight-display: 800;--weight-strong: 700;--weight-mid: 600;--step--1: .75rem;--step-0: .875rem;--step-1: 1rem;--step-2: 1.3125rem;--step-3: 1.6875rem;--step-4: 2.125rem;--track-display: -.03em;--track-tight: -.015em;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--radius: 0;--hair: 1px;--gutter: 16px;--lift: 0 6px 18px -6px rgba(3, 14, 38, .55), 0 1px 3px rgba(3, 14, 38, .4);--lift-high: 0 18px 40px -14px rgba(3, 14, 38, .7), 0 2px 6px rgba(3, 14, 38, .45);--ease: cubic-bezier(.16, 1, .3, 1);--fast: .14s;--mid: .26s}:root{--paper: var(--surface);--muted: var(--ink-2);--accent: var(--progress)}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-ext-wght-normal-C4zznr8T.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-wght-normal-E0tuGl4L.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}.dashboard-hero.useful-home{align-items:stretch;gap:24px;padding-bottom:24px}.dashboard-hero.useful-home h1{font-size:clamp(28px,3.5vw,42px);letter-spacing:-1.5px}.useful-home .hero-copy{margin-top:10px;font-size:14px}.next-activity{margin-top:22px;padding:23px;border-radius:18px;background:var(--surface-raised)}.next-activity h2{font-size:21px;letter-spacing:-.6px}.next-activity p{font-size:12px;color:var(--ink)}.first-test-card{display:flex;flex-direction:column;justify-content:center;padding:25px;background:var(--surface);border-radius:18px}.first-test-card h2{margin-top:13px;font-size:23px}.first-test-card p{font-size:12px;line-height:1.6}.home-library{padding-top:24px}.home-exam-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.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)}.home-exam-strip strong{font-size:16px}.home-exam-strip button>span:last-child{font-size:11px;color:var(--muted)}.notebook-list{display:grid;gap:12px}.notebook-card>span:last-child{font-size:12px;color:var(--ink)}.notebook-shortcut{padding:25px 5vw 0}.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}.celebrate{animation:completion-pop .6s ease-out}@keyframes completion-pop{0%{transform:scale(.5) rotate(-15deg);opacity:0}70%{transform:scale(1.12) rotate(5deg)}to{transform:scale(1);opacity:1}}.question-tools{display:flex;gap:12px;align-items:start;margin-bottom:7px;font-size:12px}.question-tools button,.passage-tools button{border:1px solid var(--line);border-radius:7px;padding:7px;background:var(--surface);cursor:pointer}.question-tools button[aria-pressed=true]{background:var(--surface)}.question-tools textarea{display:block;max-width:100%;min-height:70px;margin-top:8px;padding:10px;border:1px solid var(--line)}.question-tools small{display:block;color:var(--muted)}.passage-tools{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:18px;font-size:11px}.passage-tools mark,.material mark{background:var(--surface);color:inherit}.question-map a.flagged{outline:2px solid var(--line);outline-offset:2px}.workspace-status{font-size:11px;color:var(--muted)}.account-panel{max-height:calc(100dvh - 30px);overflow-y:auto}.reminder-settings{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:12px}.reminder-settings h3{margin-bottom:10px;font-size:15px}.reminder-fields{display:grid;grid-template-columns:100px 1fr;gap:9px;margin:13px 0}.reminder-fields label{display:grid;gap:5px;min-width:0}.reminder-fields input{width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:8px}.admin-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}.admin-toolbar select{max-width:100%}.admin-form,.admin-form fieldset{display:grid;gap:15px}.admin-form label{display:grid;gap:6px;font-size:12px;font-weight:600}.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)}.admin-form textarea{resize:vertical}.admin-form fieldset{min-width:0;padding:18px;border:1px solid var(--line);border-radius:12px}.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:12px;background:var(--surface)}.audience-student small,.content-audience{color:var(--muted)}.access-editor{display:grid;gap:16px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.access-editor h3{margin:4px 0;font-size:20px}.access-editor>div:first-child>p:last-child{margin:0;color:var(--muted);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:12px;background:var(--surface);cursor:pointer}.admin-form .access-options>label.selected{border-color:var(--surface-raised);background:var(--surface-raised);box-shadow:var(--lift)}.admin-form .access-options input{width:18px;height:18px;margin:2px 0 0;padding:0;accent-color:var(--surface-2)}.access-options span{display:grid;gap:5px}.access-options strong{font-size:14px}.access-options small{color:var(--muted);font-weight:400;line-height:1.5}.access-editor .audience-student{margin:0}.access-publish-note{margin:0;padding:12px 14px;border-radius:10px;background:var(--surface);font-size:12px;line-height:1.55}.content-preview article,.preview-question{padding:20px;border:1px solid var(--line);border-radius:10px;margin-top:16px}.passage-preview{var(--surface)-space: pre-wrap;line-height:1.8}@media(max-width:800px){.dashboard-hero.useful-home{gap:16px}.dashboard-hero.useful-home h1{font-size:30px}.useful-home .next-activity{margin-top:16px;padding:18px}.first-test-card{padding:18px}.first-test-card h2{margin:0;font-size:19px}.first-test-card>svg{display:none}.first-test-card p{margin:9px 0}.home-exam-strip{grid-template-columns:1fr}.question-tools{flex-wrap:wrap}.access-options{grid-template-columns:1fr}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit;text-decoration:none}button{font:inherit}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;display:flex;flex-direction:column;padding:32px 24px 24px;background:var(--surface-2);color:var(--ink)}.brand{display:flex;align-items:center;gap:10px;font:800 19px/1 var(--font-display);letter-spacing:-.5px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--surface);color:var(--ink);font-size:16px}.sidebar nav{display:grid;gap:6px;margin-top:72px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:var(--ink-2);font-size:14px;font-weight:600}.nav-item:hover,.nav-item.active{color:var(--ink);background:var(--surface-2)}.nav-item.active:after{content:"";width:6px;height:6px;margin-left:auto;border-radius:50%;background:var(--surface)}.sidebar-footer{display:flex;align-items:center;gap:11px;margin-top:auto;padding-top:22px;border-top:1px solid var(--line)}.avatar{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;background:var(--surface-raised);color:var(--ink);object-fit:cover;font-size:12px;font-weight:700}.profile-trigger{min-width:0;display:flex;align-items:center;gap:11px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.profile-trigger .avatar{margin-top:0;color:var(--ink)}.profile-trigger:hover .profile-copy strong{color:var(--ink)}.sidebar-footer strong,.sidebar-footer span{display:block}.sidebar-footer strong{font-size:13px}.sidebar-footer span{margin-top:3px;color:var(--ink);font-size:11px}.logout-button{margin-left:auto;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:17px;transform:rotate(45deg)}.logout-button:hover{color:var(--ink)}.profile-backdrop{position:fixed;z-index:30;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:0 24px 70px #0000003d}.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(--surface-raised);color:var(--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;var(--surface)-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;var(--surface)-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(--surface-raised);box-shadow:var(--lift)}.account-status strong{font-size:12px}.account-status p{margin:4px 0 0;color:var(--muted);font-size:10px;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:9px}.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:11px;font-weight:700}main{grid-column:2;min-width:0}.mobile-header,.bottom-nav{display:none}.content{max-width:1180px;margin:0 auto;padding:64px 5vw 72px}.hero{display:grid;grid-template-columns:1fr 250px;gap:48px;align-items:end;padding-bottom:64px;border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 13px;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}h1,h2,h3{margin:0;font-family:var(--font-display)}h1{max-width:700px;font-size:clamp(40px,5vw,68px);line-height:1.04;letter-spacing:-3.3px}.hero-copy{max-width:540px;margin:22px 0 0;color:var(--muted);font-size:16px;line-height:1.6}.band-card{min-height:210px;padding:25px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:18px;background:var(--surface)}.band-card span{font-size:12px;font-weight:600}.band-card strong{margin:2px 0;font:800 70px/1 var(--font-display);letter-spacing:-5px}.band-card small{color:var(--ink);font-size:11px}.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}.exam-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.exam-card{position:relative;min-height:285px;padding:28px;overflow:hidden;border-radius:18px}.exam-card.violet{background:var(--surface-raised)}.exam-card.green{background:var(--surface)}.exam-card:after{content:"";position:absolute;right:-45px;top:-55px;width:180px;height:180px;border:1px solid var(--line);border-radius:50%;box-shadow:0 0 0 28px #ffffff17,0 0 0 56px #ffffff12}.exam-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:35px;border-radius:12px;background:var(--surface)}.skill{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.exam-card h3{margin:7px 0;font-size:22px;letter-spacing:-.7px}.exam-card p{margin:0;color:var(--ink);font-size:13px}.exam-card button{position:absolute;right:24px;bottom:24px;z-index:1;padding:10px 14px;border:0;border-radius:9px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-size:12px;font-weight:600}.exam-card button:disabled{opacity:.55;cursor:wait}.exam-card button span{padding-left:12px}.progress-card{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:25px 30px;border:1px solid var(--line);border-radius:17px;background:var(--surface-raised)}.progress-pair{display:grid;grid-template-columns:105px 1fr;align-items:center;gap:20px}.score-block span,.score-block small{display:block}.score-block span{color:var(--muted);font-size:12px}.score-block strong{font:800 40px/1.2 var(--font-display);letter-spacing:-2px}.score-block small{color:var(--ink);font-size:10px}.bar-area>div:first-child{display:flex;justify-content:space-between;margin-bottom:10px;font-size:11px}.bar{height:6px;overflow:hidden;border-radius:6px;background:var(--surface-raised)}.bar span{display:block;height:100%;border-radius:inherit;background:var(--progress)}.empty-state{grid-column:1 / -1;padding:40px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);text-align:center}.dashboard-error{margin-top:18px}.runner{min-height:100vh;background:var(--surface)}.runner-header{position:sticky;z-index:5;top:0;height:70px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 30px;border-bottom:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.runner-header button{justify-self:start;border:0;background:transparent;cursor:pointer;color:var(--muted)}.runner-header>div{text-align:center}.runner-header strong,.runner-header span{display:block}.runner-header strong{font-family:var(--font-display);font-size:14px}.runner-header span{margin-top:2px;color:var(--muted);font-size:10px;text-transform:capitalize}.runner-header time{justify-self:end;padding:8px 12px;border-radius:8px;background:var(--surface-2);color:var(--ink);font:700 14px var(--font-display)}.runner-header time.urgent{background:var(--alert)}.runner-body{display:grid;grid-template-columns:220px 1fr;max-width:1300px;margin:0 auto}.runner-body>aside{position:sticky;top:70px;height:calc(100vh - 70px);padding:36px 28px;border-right:1px solid var(--line)}.question-map{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:18px 0}.question-map a{aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted);font-size:11px}.question-map a.answered{border-color:var(--line);background:var(--progress);color:var(--ink)}.runner-body aside small{color:var(--muted);font-size:10px}.exam-content{min-width:0;padding:45px clamp(25px,6vw,85px) 90px}.runner-section{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1fr);gap:55px;padding-bottom:60px}.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;var(--surface)-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-number{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:var(--surface);font-size:11px;font-weight:700}.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:10px;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)}.save-state{display:block;min-height:14px;margin-top:7px;color:var(--ink);font-size:9px}.submit-exam{float:right;min-width:160px;padding:13px 18px;border:0;border-radius:10px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-weight:700}.result-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:var(--surface-raised)}.result-card{width:min(100%,520px);padding:50px;border-radius:20px;background:var(--paper);text-align:center}.result-card h1{margin:8px 0 20px}.result-card p:not(.eyebrow){color:var(--muted)}.result-card .primary-button{width:100%;margin-top:30px}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:13px;color:var(--muted);font-size:14px}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(380px,1.1fr) minmax(420px,.9fr)}.auth-intro{min-height:100vh;padding:42px clamp(35px,7vw,110px);display:flex;flex-direction:column;justify-content:space-between;background:var(--surface-2);color:var(--ink)}.auth-intro .brand{align-self:flex-start}.auth-intro h1{font-size:clamp(48px,6vw,82px)}.auth-intro p:not(.eyebrow){max-width:540px;margin:25px 0 0;color:var(--ink-2);font-size:16px;line-height:1.65}.auth-intro small{color:var(--ink)}.auth-panel{display:grid;place-items:center;padding:40px;background:var(--paper)}.auth-card{width:min(100%,430px)}.auth-card h2{font-size:31px;letter-spacing:-1.4px}.auth-subtitle{margin:9px 0 29px;color:var(--muted);font-size:14px}.auth-card form{display:grid;gap:16px}.auth-card label{display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:700}.auth-card input{width:100%;height:48px;padding:0 14px;border:1px solid var(--line);border-radius:10px;outline:none;background:var(--surface);color:var(--ink);font:inherit}.auth-card input:focus{border-color:var(--surface-raised);box-shadow:var(--lift)}.primary-button,.google-button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;font-weight:700;cursor:pointer}.primary-button{margin-top:4px;border:0;background:var(--surface-2);color:var(--ink)}.primary-button:disabled{opacity:.55;cursor:wait}.form-error{padding:11px 13px;border-radius:9px;background:var(--surface);color:var(--ink);font-size:12px;line-height:1.4}.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--ink-2);font-size:11px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.google-button{border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:13px}.google-button svg{width:19px;height:19px;stroke:none}.google-button svg path:nth-child(1){fill:currentColor}.google-button svg path:nth-child(2){fill:currentColor}.google-button svg path:nth-child(3){fill:currentColor}.google-button svg path:nth-child(4){fill:currentColor}.auth-switch{width:100%;margin-top:20px;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:12px;font-weight:700}@media(max-width:800px){.auth-page{display:block;background:var(--paper)}.auth-intro{min-height:auto;padding:max(23px,env(safe-area-inset-top)) 22px 45px}.auth-intro>div{margin-top:62px}.auth-intro h1{font-size:43px}.auth-intro small{display:none}.auth-panel{padding:38px 22px max(45px,env(safe-area-inset-bottom))}.app-shell{display:block}.sidebar{display:none}main{padding-bottom:76px}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:max(18px,env(safe-area-inset-top)) 20px 14px}.avatar.small{border:0}.avatar.small{padding:0;overflow:hidden;cursor:pointer}.avatar.small img{width:100%;height:100%;object-fit:cover}.content{padding:32px 20px 45px}.hero{grid-template-columns:1fr;gap:30px;padding-bottom:42px}h1{font-size:clamp(39px,12vw,56px);letter-spacing:-2.8px}.band-card{min-height:auto;display:grid;grid-template-columns:1fr auto;align-items:center;padding:20px}.band-card strong{grid-row:1 / 3;grid-column:2;font-size:58px}.exam-grid{grid-template-columns:1fr}.exam-card{min-height:250px}.progress-card{grid-template-columns:90px 1fr;gap:24px 18px;padding:22px}.progress-card{display:block}.progress-pair+.progress-pair{margin-top:25px;padding-top:25px;border-top:1px solid var(--line)}.runner-header{grid-template-columns:auto 1fr auto;gap:15px;padding:0 15px}.runner-body{display:block}.runner-body>aside{position:static;width:auto;height:auto;padding:20px;border-right:0;border-bottom:1px solid var(--line)}.question-map{grid-template-columns:repeat(10,1fr)}.exam-content{padding:30px 18px 80px}.runner-section{display:block}.material{position:static;max-height:none;margin-bottom:35px}.bottom-nav{position:fixed;z-index:10;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:9px 6px max(9px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--ink);font-size:10px}.bottom-nav a.active{color:var(--ink)}.bottom-nav svg{width:20px;height:20px}.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}.exam-card button{left:24px;right:24px;width:calc(100% - 48px)}}button{color:inherit}.brand-button{padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.nav-item{width:100%;border:0;background:transparent;cursor:pointer;text-align:left}.sidebar-help{display:flex;gap:11px;margin-top:auto;margin-bottom:20px;padding:15px;border:1px solid var(--line);border-radius:12px}.sidebar-help-icon{display:grid;place-items:center;width:23px;height:23px;flex:none;border-radius:50%;background:var(--surface);color:var(--ink);font-size:12px;font-weight:800}.sidebar-help strong{font-size:11px}.sidebar-help p{margin:5px 0 0;color:var(--ink);font-size:9px;line-height:1.45}.sidebar-footer{margin-top:0}.profile-copy{min-width:0}.profile-copy strong{max-width:105px;overflow:hidden;text-overflow:ellipsis;var(--surface)-space: nowrap}.student-main{min-height:100vh}.page-content{padding-top:56px}.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}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:54px;align-items:end;padding-bottom:48px;border-bottom:1px solid var(--line)}.dashboard-hero h1{max-width:750px;font-size:clamp(42px,5vw,66px)}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.primary-action,.secondary-action{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 17px;border-radius:10px;cursor:pointer;font-size:12px;font-weight:700}.primary-action{border:1px solid var(--line);background:var(--surface-2);color:var(--ink)}.secondary-action{border:1px solid var(--line);background:transparent;color:var(--ink)}.primary-action:hover{background:var(--surface-2)}.secondary-action:hover{background:var(--surface)}.primary-action:disabled,.secondary-action:disabled{opacity:.55;cursor:wait}.primary-action svg,.secondary-action svg{width:16px;height:16px}.quick-guide{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 0;border-bottom:1px solid var(--line)}.quick-guide>div{display:grid;grid-template-columns:30px 1fr;align-items:center;column-gap:12px;padding:0 24px}.quick-guide>div:first-child{padding-left:0}.quick-guide>div+div{border-left:1px solid var(--line)}.quick-guide>div>span{grid-row:1 / 3;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--surface);color:var(--ink);font-size:11px;font-weight:800}.quick-guide strong{font-size:12px}.quick-guide p{margin:3px 0 0;color:var(--muted);font-size:10px}.resume-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;margin-top:34px;padding:21px 24px;border-radius:15px;background:var(--surface-2);color:var(--ink)}.resume-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--surface);color:var(--ink)}.resume-banner .eyebrow{margin-bottom:4px;color:var(--ink-2)}.resume-banner h2{font-size:18px}.resume-banner p:last-child{margin:4px 0 0;color:var(--ink-2);font-size:11px}.resume-banner>button{display:flex;align-items:center;gap:8px;padding:11px 15px;border:0;border-radius:9px;background:var(--surface);cursor:pointer;font-size:11px;font-weight:700}.resume-banner>button svg{width:15px;height:15px}.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-exam{display:grid;grid-template-columns:170px minmax(0,1fr) auto;align-items:center;gap:28px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface-raised)}.featured-visual{min-height:150px;display:flex;flex-direction:column;justify-content:space-between;padding:22px;border-radius:13px}.featured-visual.reading{background:var(--surface-raised)}.featured-visual.listening{background:var(--surface)}.featured-visual svg{width:31px;height:31px}.featured-visual span{font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.featured-copy h3{font-size:22px;letter-spacing:-.8px}.featured-copy>p:not(.eyebrow){max-width:560px;margin:8px 0 17px;color:var(--muted);font-size:12px;line-height:1.55}.exam-meta{display:flex;flex-wrap:wrap;gap:15px;color:var(--ink);font-size:11px}.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-skill{display:grid;place-items:center;width:42px;height:42px;border-radius:11px}.history-skill.reading,.history-skill.listening{background:var(--surface);color:var(--ink)}.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:10px;text-transform:capitalize}.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:9px;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)}.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:9px}.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}.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:11px;font-weight:700;text-transform:capitalize}.filter-row button.active{border-color:var(--line);background:var(--surface-2);color:var(--ink)}.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-card.tone-1{filter:saturate(.86)}.library-card.tone-2{filter:hue-rotate(-8deg)}.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}.skill-chip{font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.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:9px}.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:11px;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:11px}.metric-card>strong{margin:4px 0;font:800 42px/1 var(--font-display);letter-spacing:-2px}.metric-card small{color:var(--ink);font-size:9px}.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:10px;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:10px}.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:9px}.accuracy-label{display:flex;justify-content:space-between;margin:17px 0 8px;font-size:10px}.skill-no-data{margin-top:50px}.skill-no-data p{color:var(--ink);font-size:11px}.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}.progress-note{margin:20px 0 0;color:var(--muted);font-size:10px;text-align:center}.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}.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}@keyframes pulse{to{opacity:.55}}.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)}.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:9px}.instruction-box{margin-top:18px;padding:15px 17px;border-radius:11px;background:var(--surface)}.instruction-box strong{font-size:11px}.instruction-box p{margin:5px 0 0;color:var(--ink);font-size:11px;line-height:1.5}.readiness-list{display:grid;gap:9px;margin:20px 0;padding:0;list-style:none;color:var(--ink);font-size:11px}.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:9px;text-align:right}.runner-legend{display:grid;gap:6px;margin-top:20px;color:var(--muted);font-size:9px}.runner-legend span{display:flex;align-items:center;gap:7px}.runner-legend i{width:9px;height:9px;border:1px solid var(--line);border-radius:3px;background:var(--surface)}.runner-legend i.answered{border-color:var(--line);background:var(--progress)}.speech-player{display:grid;gap:9px;margin-top:20px;padding:18px;border-radius:12px;background:var(--surface)}.speech-player button{padding:11px;border:0;border-radius:9px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-weight:700}.speech-player span{color:var(--ink);font-size:9px;line-height:1.4}.submit-area{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.submit-area>div strong,.submit-area>div span{display:block}.submit-area>div strong{font-size:12px}.submit-area>div span{margin-top:3px;color:var(--muted);font-size:10px}.submit-exam{float:none}.submit-dialog{width:min(100%,440px);padding:30px;border-radius:18px;background:var(--paper)}.submit-dialog h2{font-size:25px}.submit-dialog>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.55}.submit-dialog>div{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.result-card-wide{width:min(100%,650px)}.result-lead{font-size:15px}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;margin:28px 0;border:1px solid var(--line);border-radius:12px;background:var(--line)}.result-metrics>div{padding:17px 10px;background:var(--surface)}.result-metrics strong,.result-metrics span{display:block}.result-metrics strong{font:800 20px var(--font-display);text-transform:capitalize}.result-metrics span{margin-top:3px;color:var(--muted);font-size:9px}.result-guidance{padding:17px;border-radius:12px;background:var(--surface);text-align:left}.result-guidance strong{font-size:11px}.result-guidance p{margin:5px 0 0!important;font-size:11px;line-height:1.5}.answer-review{margin-top:22px;text-align:left}.answer-review>span{display:block;margin-bottom:9px;color:var(--muted);font-size:10px}.answer-review>div{display:flex;flex-wrap:wrap;gap:6px}.answer-review i{display:grid;place-items:center;width:27px;height:27px;border-radius:7px;font-style:normal;font-size:9px;font-weight:800}.answer-review i.correct,.answer-review i.incorrect{background:var(--surface);color:var(--ink)}.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:11px;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:10px}.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:11px;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:10px}.practice-note button{border:0;background:transparent;cursor:pointer;font-size:11px;font-weight:800}.practice-library-section{margin-top:52px}.practice-library-section>.section-heading{margin-bottom:20px}.practice-assessment-card{width:min(850px,100%);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.practice-assessment-card>span{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--surface)}.practice-assessment-card svg{width:24px;height:24px}.practice-assessment-card strong,.practice-assessment-card small{display:block}.practice-assessment-card strong{margin-bottom:6px;font-size:19px}.practice-assessment-card small{color:var(--muted);line-height:1.5}.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}.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-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-header>button,.back-link{border:0;background:transparent;cursor:pointer;color:var(--muted);font-size:11px;font-weight:700}.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);transition:width .25s ease}.practice-workspace{display:grid;grid-template-columns:minmax(280px,1fr) minmax(330px,1fr);gap:45px;padding-top:35px}.practice-source{max-height:calc(100vh - 190px);overflow:auto;padding:28px;border-radius:17px;background:var(--surface);var(--surface)-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,.listening-source>p:not(.eyebrow){var(--surface)-space: normal;color:var(--ink);font:12px/1.5 var(--font-text)}.listening-source{background:var(--surface);font-family:var(--font-text);var(--surface)-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-question{align-self:start;padding:28px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.question-context{color:var(--ink);font-size:10px;font-weight:700}.practice-question h2{margin:10px 0 22px;font:700 19px/1.45 var(--font-display)}.practice-options label{padding:13px}.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:11px;line-height:1.5}.practice-actions{display:flex;justify-content:flex-end;margin-top:22px}.back-link{margin-bottom:25px;padding:0}.review-summary{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px;padding-bottom:34px;border-bottom:1px solid var(--line)}.review-summary h1{font-size:clamp(40px,5vw,60px)}.review-summary>div:first-child>p:last-child{margin:12px 0 0;color:var(--muted);font-size:13px;text-transform:capitalize}.review-band{min-width:125px;padding:20px;border-radius:15px;background:var(--surface);text-align:right}.review-band strong,.review-band span{display:block}.review-band strong{font:800 44px/1 var(--font-display)}.review-band span{margin-top:4px;font-size:10px}.review-toolbar{display:flex;justify-content:space-between;gap:20px;margin:25px 0 18px}.review-toolbar>div{display:flex;gap:7px}.review-toolbar button{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:transparent;cursor:pointer;color:var(--ink);font-size:10px;font-weight:800}.review-toolbar button.active{border-color:var(--line);background:var(--surface-2);color:var(--ink)}.review-toolbar svg{width:14px;height:14px}.review-questions{display:grid;gap:11px}.review-question{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:22px;border:1px solid var(--line);border-left-width:var(--hair);border-radius:13px;background:var(--surface)}.review-question.correct,.review-question.incorrect{border-left-color:var(--line)}.review-number{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:var(--surface);font-size:11px;font-weight:800}.review-question-top{display:flex;justify-content:space-between;gap:15px;color:var(--ink);font-size:9px;text-transform:uppercase;letter-spacing:.5px}.review-question-top strong{display:flex;align-items:center;gap:5px;color:var(--ink)}.review-question-top svg{width:13px;height:13px}.review-question h2{margin:9px 0 16px;font:700 15px/1.45 var(--font-text)}.answer-comparison{display:grid;grid-template-columns:1fr 1fr;gap:9px}.answer-comparison>div{padding:12px;border-radius:9px;background:var(--surface)}.answer-comparison span,.answer-comparison strong{display:block}.answer-comparison span{color:var(--muted);font-size:9px}.answer-comparison strong{margin-top:4px;font-size:12px}.review-explanation{margin:13px 0 0;color:var(--ink);font-size:11px;line-height:1.55}.review-list{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface-raised)}.review-list>button{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:15px;padding:16px 18px;border:0;background:transparent;cursor:pointer;text-align:left}.review-list>button+button{border-top:1px solid var(--line)}.review-list>button:hover{background:var(--surface-raised)}.review-list-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:11px}.review-list-icon.reading,.review-list-icon.listening{background:var(--surface);color:var(--ink)}.review-list button>span:nth-child(2) strong,.review-list button>span:nth-child(2) small,.review-list-score strong,.review-list-score small{display:block}.review-list button>span:nth-child(2) strong{font-size:13px}.review-list button>span:nth-child(2) small{margin-top:4px;color:var(--muted);font-size:10px;text-transform:capitalize}.review-list-score{text-align:right}.review-list-score strong{font:800 21px var(--font-display)}.review-list-score small{color:var(--muted);font-size:8px}.review-list>button>svg{width:17px;height:17px}.review-list.loading{display:grid;gap:1px;border:0;background:transparent}.review-list.loading i{height:75px;border-radius:12px;background:var(--surface);animation:pulse 1.3s ease-in-out infinite alternate}.all-correct{display:grid;justify-items:center;padding:55px 25px;border:1px dashed var(--line);border-radius:18px;text-align:center}.all-correct>svg{width:40px;height:40px;margin-bottom:15px;color:var(--ink)}.all-correct p{max-width:500px;color:var(--muted);font-size:12px;line-height:1.5}.home-plan-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:20px 35px;margin-top:34px;padding:25px;overflow:hidden;border-radius:17px;background:var(--surface-2);color:var(--ink)}.home-plan-heading{display:flex;align-items:center;gap:17px}.home-plan-icon{width:48px;height:48px;display:grid;place-items:center;flex:none;border-radius:13px;background:var(--surface);color:var(--ink)}.home-plan-heading .eyebrow{margin-bottom:4px;color:var(--ink-2)}.home-plan-heading h2{font-size:20px}.home-plan-heading p:last-child{margin:4px 0 0;color:var(--ink-2);font-size:10px}.home-plan-stats{grid-column:1;display:flex;flex-wrap:wrap;gap:8px}.home-plan-stats span{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;background:var(--surface-2);color:var(--ink-2);font-size:9px}.home-plan-stats svg{width:14px;height:14px;color:var(--ink)}.home-plan-stats strong{color:var(--ink)}.home-plan-card>button{position:relative;z-index:1;grid-row:1 / 3;grid-column:2;align-self:center;display:flex;align-items:center;gap:8px;padding:11px 14px;border:0;border-radius:9px;background:var(--surface);cursor:pointer;font-size:10px;font-weight:800}.home-plan-card>button{color:var(--ink)}.home-plan-card>button svg{width:14px;height:14px}.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:11px;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:9px}.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:10px}.plan-onboarding button{padding:8px 11px;border:0;border-radius:8px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-size:10px;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:10px}.plan-metrics strong{margin:4px 0;font:800 38px/1 var(--font-display);letter-spacing:-1px}.plan-metrics small{color:var(--ink);font-size:9px}.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:9px;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:10px;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:10px;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:10px}.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:9px}.activity-chart span{min-height:12px;color:var(--ink-2);font-size:8px}.activity-key{margin:14px 0 0;color:var(--muted);font-size:9px;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:10px;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:900px){.featured-exam{grid-template-columns:140px 1fr}.featured-exam>.primary-action{grid-column:1 / -1}}@media(max-width:800px){.mobile-title{font-size:11px;font-weight:800}.global-notice{top:67px;margin:0 14px;border-radius:10px}.page-content{padding-top:28px}.dashboard-hero{grid-template-columns:1fr;gap:28px;padding-bottom:34px}.dashboard-hero h1{font-size:clamp(38px,11vw,52px)}.quick-guide{grid-template-columns:1fr;padding:10px 0}.quick-guide>div{padding:13px 0}.quick-guide>div+div{border-left:0;border-top:1px solid var(--line)}.resume-banner{grid-template-columns:auto 1fr}.resume-banner>button{grid-column:1 / -1;justify-content:center}.featured-exam{display:block}.featured-visual{min-height:115px;margin-bottom:20px}.featured-exam>.primary-action{width:100%;margin-top:20px}.exam-library,.skill-grid,.metric-grid,.skeleton-grid{grid-template-columns:1fr}.metric-card{min-height:130px}.history-row{grid-template-columns:42px 1fr auto}.history-row .status-chip{display:none}.page-header{padding-bottom:28px}.page-header h1{font-size:42px}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:transparent;color:var(--ink);font-size:10px}.bottom-nav button.active{color:var(--ink)}.bottom-nav button.active:after{display:none}.bottom-nav svg{width:20px;height:20px}.choice-grid,.practice-workspace{grid-template-columns:1fr}.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-workspace{gap:18px}.practice-source{max-height:none}.review-summary{align-items:center}.review-toolbar{align-items:stretch;flex-direction:column}.home-plan-card{grid-template-columns:1fr}.home-plan-card>button{grid-row:auto;grid-column:auto;justify-self:stretch;justify-content:center}.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}.submit-area{align-items:stretch;flex-direction:column}.submit-exam{width:100%}}@media(max-width:440px){.hero-actions{display:grid}.primary-action,.secondary-action{width:100%}.section-heading button{font-size:0}.section-heading button svg{width:20px;height:20px}.library-card{min-height:315px}.history-row{grid-template-columns:38px minmax(0,1fr) 62px;gap:10px;padding:13px}.history-skill{width:38px;height:38px}.history-main strong{font-size:11px}.history-score strong{font-size:18px}.briefing-actions,.submit-dialog>div{grid-template-columns:1fr}.timer-warning{text-align:center}.result-card{padding:34px 20px}.result-metrics,.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}.practice-question,.practice-source{padding:20px}.review-summary{grid-template-columns:1fr}.review-band{width:100%;text-align:left}.review-toolbar>div{display:grid;grid-template-columns:1fr 1fr}.answer-comparison{grid-template-columns:1fr}.review-list>button{grid-template-columns:auto 1fr auto;gap:10px;padding:13px}.review-list>button>svg{display:none}.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}.explore-heading p,.explore-card>p{color:var(--ink);line-height:1.6}.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}.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}.badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.achievement{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;padding:18px 10px;background:var(--surface);border-radius:18px}.achievement.earned{background:var(--surface)}.achievement small{line-height:1.5}.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}.vocabulary-word{font-size:38px;margin:20px 0;letter-spacing:-.03em}.vocabulary-options{display:grid;gap:10px}.vocabulary-options button{background:var(--surface);text-align:left;padding:16px;border:1px solid var(--line);border-radius:12px;cursor:pointer;color:var(--ink)}.vocabulary-options button.correct{background:var(--surface);border-color:var(--line)}.vocabulary-feedback{margin-top:18px;line-height:1.6}.explore-home-link button{display:flex;align-items:center;gap:18px;width:100%;padding:24px;border:0;border-radius:20px;background:var(--surface);text-align:left;cursor:pointer}.explore-home-link span{flex:1;display:grid;gap:6px}.explore-home-link svg{width:24px;flex-shrink:0}.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))}.explore-card{padding:20px}.explore-card .section-heading{align-items:start;flex-direction:column;gap:8px}}.admin-app{min-height:100dvh;background:var(--paper)}.admin-topbar{padding:20px 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.admin-topbar .brand small{font-size:12px;color:var(--muted)}.admin-topbar>div:last-child{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.admin-topbar .secondary-action{min-height:40px;padding:10px 16px}.admin-login{max-width:460px;margin:9vh auto;padding:28px}.admin-login h1{margin:12px 0;font-size:36px;letter-spacing:-1px}.admin-login p,.admin-login small,.admin-intro p{color:var(--muted);line-height:1.7}.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:12px;font:inherit;background:var(--surface)}.admin-notice{max-width:760px;margin:20px auto;padding:16px;color:var(--ink);background:var(--surface);border-radius:12px}.admin-intro{padding:32px 5vw 0}.admin-intro h1{font-size:30px;margin:12px 0}.admin-nav{position:sticky;top:0;z-index:20;display:flex;gap:5px;padding:10px 5vw;overflow-x:auto;background:var(--surface);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-nav button{border:0;border-radius:9px;padding:10px 15px;var(--surface)-space:nowrap;background:transparent;color:var(--muted);font:600 13px/1 inherit;cursor:pointer}.admin-nav button.active{background:var(--ink);color:var(--ink)}.admin-main{padding-bottom:70px}.admin-page-heading{padding:34px 5vw 12px}.admin-page-heading h1{margin:8px 0;font-size:clamp(30px,4vw,48px);letter-spacing:-1.8px}.admin-page-heading>p:last-child{max-width:740px;color:var(--muted);line-height:1.65}.admin-loading{padding:40px 5vw;color:var(--muted)}.admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;padding:20px 5vw}.admin-kpis article{display:grid;gap:8px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.admin-kpis span,.admin-kpis small{color:var(--muted)}.admin-kpis strong{font-size:32px;letter-spacing:-1px}.admin-chart-card,.admin-health-card{margin:12px 5vw;padding:24px;border:1px solid var(--line);border-radius:18px;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(--muted);font-size:12px}.admin-chart-legend span:before{content:"";display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:3px;background:var(--surface-2)}.admin-chart-legend .attempts:before{background:var(--progress)}.admin-chart-legend .signups:before{background:var(--surface)}.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(--surface-2)}.admin-chart-day i.attempts{background:var(--progress)}.admin-chart-day i.signups{background:var(--surface)}.admin-chart-day small{color:var(--muted);font-size:10px}.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(--muted)}.admin-health-card dd{margin:0;font-size:28px;font-weight:800}.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(--muted)}.student-admin-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px;margin:18px 5vw;align-items:start}.student-roster{position:sticky;top:72px;display:grid;max-height:calc(100dvh - 95px);overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--surface-raised)}.student-roster>label{display:grid;gap:7px;padding:18px 18px 8px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.student-roster input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font:inherit;text-transform:none;letter-spacing:normal}.student-roster>p{margin:0;padding:4px 18px 12px;color:var(--muted);font-size:11px}.student-roster>button{display:flex;justify-content:space-between;gap:12px;padding:15px 18px;border:0;border-top:1px solid var(--line);background:var(--surface-raised);color:var(--ink);text-align:left;cursor:pointer}.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}.student-roster strong,.student-roster small{overflow-wrap:anywhere}.student-roster small{color:var(--muted);font-size:11px}.student-roster-score{justify-items:end;text-align:right;flex:none}.student-roster-score b{font-size:15px}.student-progress-panel{min-width:0;display:grid;gap:14px}.student-profile-head,.student-detail-section{padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface-raised)}.student-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.student-profile-head h2{margin:7px 0;font-size:28px}.student-profile-head p,.student-profile-head span,.student-profile-head>div:last-child strong{color:var(--muted)}.student-profile-head>div:last-child{display:grid;gap:5px;text-align:right}.student-profile-head>div:last-child strong{font-size:12px}.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:14px;background:var(--surface-raised)}.student-score-grid span{color:var(--muted);font-size:11px}.student-score-grid strong{font-size:22px}.student-detail-section h3{margin:0 0 16px}.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:12px;background:var(--paper);text-transform:capitalize}.student-skill-grid strong{font-size:22px}.student-skill-grid small{grid-column:1/-1;color:var(--muted);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(--muted);font-size:11px;text-transform:capitalize}.student-activity-list b{font-size:18px}.student-empty{padding:22px;color:var(--muted);text-align:center}.student-empty p{margin:0}.managed-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;margin:18px 5vw;align-items:start}.managed-list{position:sticky;top:72px;display:grid;gap:8px;max-height:calc(100dvh - 100px);overflow:auto}.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)}.managed-list span,.managed-list small{color:var(--muted);font-size:11px}.managed-editor{min-width:0;padding:25px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.managed-editor-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px}.managed-editor-head h2{margin:8px 0}.danger-link{border:0;background:transparent;color:var(--ink);text-decoration:underline;cursor:pointer}.managed-actions{display:flex;justify-content:flex-end;gap:10px}.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}.content-admin .exam-library{display:block;margin:22px 5vw;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.exam-library>header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.exam-library h2{margin:7px 0;font-size:30px}.exam-library header p:last-child{margin:0;color:var(--muted)}.exam-library-controls{display:grid;grid-template-columns:minmax(220px,1fr) 180px 100px;gap:12px;margin:24px 0 14px}.exam-library-controls label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.exam-library-controls input,.exam-library-controls select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;text-transform:none;letter-spacing:normal}.exam-library-table{width:100%;border:1px solid var(--line);border-radius:12px;overflow:hidden}.exam-library-head,.exam-library-row{display:grid;grid-template-columns:minmax(260px,2fr) 100px 100px minmax(140px,1fr) 80px 90px;gap:12px;align-items:center;padding:13px 15px}.exam-library-head{background:var(--surface);color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.exam-library-row{width:100%;border:0;border-top:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}.exam-library-row:hover{background:var(--surface)}.exam-library-row:focus-visible{position:relative;outline:3px solid var(--line);outline-offset:-3px}.exam-library-row.selected{background:var(--surface)}.exam-library-row>span{color:var(--muted)}.exam-library-action{color:var(--ink)!important;font-weight:800;var(--surface)-space:nowrap}.exam-access{display:grid;gap:5px;justify-items:start}.exam-access small{font-size:10px;color:var(--muted)}.access-badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.06em}.access-badge.public,.access-badge.restricted{background:var(--surface);color:var(--ink)}.exam-skill{text-transform:capitalize}.exam-library-empty{padding:24px;text-align:center;color:var(--muted)}.exam-library-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;color:var(--muted);font-size:13px}.exam-library-pagination p{margin:0}.exam-library-pagination div{display:flex;align-items:center;gap:12px}.exam-library-pagination button{padding:9px 13px}.admin-audio-editor{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.admin-audio-editor>label{display:grid;gap:7px}.admin-audio-editor input[type=file]{padding:10px;border:1px dashed var(--line);border-radius:10px;background:var(--surface)}.admin-audio-preview{display:flex;align-items:center;gap:14px}.admin-audio-preview audio{width:min(100%,560px)}.admin-import-disclosure{margin:18px 5vw;border:1px solid var(--line);border-radius:15px;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(--muted);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:18px;background:var(--surface)}.admin-import-disclosure .admin-import{margin:0;border:0;border-radius:0}.admin-import h2{margin:8px 0;font-size:24px}.admin-import p{color:var(--muted);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:10px;background:var(--paper);font:inherit}.admin-import-controls small{color:var(--muted);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:12px;background:var(--paper)}.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(--muted)}.import-draft-links{display:flex;flex-wrap:wrap;gap:8px}.import-draft-links button{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--surface);cursor:pointer}@media(max-width:900px){.admin-kpis{grid-template-columns:repeat(2,1fr)}.managed-layout{grid-template-columns:1fr}.managed-list{position:static;max-height:320px}.admin-dashboard-grid{grid-template-columns:1fr}.admin-breakdown{grid-column:auto}.exam-library-table{overflow-x:auto}.exam-library-head,.exam-library-row{min-width:850px}.student-admin-layout{grid-template-columns:1fr}.student-roster{position:static;max-height:420px}}@media(max-width:700px){.admin-import{grid-template-columns:1fr;margin:22px 20px}.admin-import-jobs{grid-column:auto}.admin-kpis{grid-template-columns:1fr}.admin-chart-card,.admin-health-card{padding:18px}.managed-layout{margin:16px 20px}.managed-editor{padding:18px}.speaking-turn-admin{grid-template-columns:1fr}.speaking-turn-admin>textarea,.speaking-turn-admin>.admin-columns{grid-column:1}.exam-library{margin:16px 20px;padding:18px}.exam-library>header{display:grid}.exam-library-controls{grid-template-columns:1fr}.exam-library-pagination{align-items:flex-start;flex-direction:column}.admin-import-disclosure,.student-admin-layout{margin:16px 20px}.student-score-grid,.student-skill-grid{grid-template-columns:1fr 1fr}.student-profile-head,.student-activity-list article{display:grid}.student-profile-head>div:last-child,.student-activity-list article>div:last-child{text-align:left;justify-items:start}}.writing-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.writing-heading h1{font-size:clamp(28px,3vw,40px);letter-spacing:-.04em;margin:12px 0}.writing-heading p,.writing-panel p{line-height:1.7}.writing-disclaimer{padding:16px 20px;border-radius:14px;background:var(--surface);color:var(--ink);line-height:1.6;font-size:13px;margin-bottom:24px}.writing-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}.writing-history{display:grid;gap:12px}.writing-history h2{font-size:18px}.writing-history>p,.writing-history small{color:var(--muted);font-size:12px;line-height:1.6}.writing-history button{display:grid;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px;text-align:left;cursor:pointer;overflow-wrap:anywhere}.writing-history button.active{border-color:var(--line);background:var(--surface)}.writing-history button span{font-size:12px;text-transform:capitalize}.writing-workspace{min-width:0}.writing-editor,.writing-submit,.writing-panel,.writing-pending,.writing-task{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:22px;margin-bottom:14px}.writing-editor label{display:grid;gap:8px;margin-bottom:20px;font-weight:600;font-size:14px}.writing-editor textarea,.writing-editor select{min-width:0;width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;font-weight:400;background:var(--surface);color:var(--ink);line-height:1.7}.writing-editor textarea{resize:vertical}.writing-editor .essay-input{font-size:16px;min-height:360px}.writing-word-count{display:flex;justify-content:space-between;gap:12px;font-size:12px}.writing-word-count span{color:var(--muted)}.draft-status{display:inline-block;margin:12px;color:var(--muted);font-size:12px}.writing-consent{display:flex;align-items:start;gap:12px;line-height:1.6;font-size:13px;margin:20px 0}.writing-consent input{flex-shrink:0;width:20px;height:20px;accent-color:var(--surface-2)}.writing-submit>small{display:block;color:var(--muted);margin-top:14px;line-height:1.6}.writing-pending{background:var(--surface);line-height:1.7}.writing-pending h2{margin:12px 0}.writing-task summary{cursor:pointer;font-weight:700}.writing-task p{margin-top:18px;line-height:1.7}.writing-score{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;padding:26px;background:var(--surface);border-radius:22px;margin-bottom:14px}.writing-score strong{font-size:70px;letter-spacing:-.07em}.writing-score strong small{font-size:20px;margin-left:8px;letter-spacing:0}.writing-score p{line-height:1.7;margin:10px 0}.writing-score small{font-size:12px;line-height:1.6}.score-calculation{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised);font-size:12px}.score-calculation b,.score-calculation strong{font-size:13px;letter-spacing:0}.score-calculation small{flex-basis:100%;color:var(--muted)}.writing-alignment{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:22px;padding:22px;margin-bottom:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.writing-alignment.off-topic{border-color:var(--line);background:var(--surface)}.writing-alignment h2{margin:5px 0 8px;font-size:22px}.writing-alignment p{line-height:1.6}.writing-alignment dl{display:grid;gap:10px;margin:0}.writing-alignment dl div{padding:12px;border-radius:12px;background:var(--surface)}.writing-alignment dt{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.writing-alignment dd{margin:5px 0 0;font-weight:700;line-height:1.4}.writing-alignment .alignment-consequence{grid-column:1 / -1;margin:0;padding-top:13px;border-top:1px solid var(--line);font-weight:650}.writing-criteria{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.writing-criteria article{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.writing-criteria article strong{font-size:30px;color:var(--ink)}.writing-criteria h3{font-size:16px;margin:10px 0}.writing-criteria p{font-size:13px;line-height:1.7}.writing-panel h2{margin-bottom:14px;font-size:22px}.writing-panel li{margin:12px 0 12px 20px;line-height:1.7}.writing-panel blockquote{margin:14px 0;padding:16px;border-left:var(--hair) solid var(--line-strong);background:var(--surface);var(--surface)-space: pre-wrap;line-height:1.7}.writing-no-issues{padding:18px;border-radius:14px;background:var(--surface)}.writing-no-issues strong{display:block;margin-bottom:7px}.writing-no-issues h4{margin:14px 0 4px}.writing-evidence{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.essay-text{var(--surface)-space: pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:15px}.essay-text mark{background:var(--surface);color:var(--ink)}#writing-essay-review{max-height:520px;overflow-y:auto;padding:16px;background:var(--surface);border-radius:12px}@media(max-width:700px){#writing-essay-review{max-height:340px}}.writing-issues{display:grid;gap:14px;align-content:start}.writing-issues article{border:1px solid var(--line);border-radius:12px;padding:16px}.writing-issues article.selected{border-color:var(--line);background:var(--surface)}.writing-issues button{display:block;margin:12px 0;padding:0;background:none;border:0;color:var(--ink);text-align:left;text-decoration:underline;cursor:pointer;line-height:1.6;overflow-wrap:anywhere}.writing-issues p{font-size:13px;margin:10px 0}.writing-example{padding:14px;background:var(--surface)!important;border-radius:8px}.writing-delete{border:0;background:none;color:var(--ink);padding:16px 0;cursor:pointer;text-decoration:underline}.writing-notice{margin:16px 0;padding:14px;background:var(--surface);border-radius:10px}.writing-page button:disabled{opacity:.5;cursor:not-allowed}.speaking-page h1{font-size:clamp(30px,4vw,48px)}.speaking-page audio{display:block;width:100%;max-width:600px;margin:18px 0}.speaking-page small{display:block;line-height:1.6;color:var(--muted);margin:8px 0}.speaking-page p{line-height:1.7}.speaking-page select,.speaking-page textarea{display:block;width:100%;padding:12px;margin:12px 0;background:var(--surface);border:1px solid var(--line);border-radius:10px;font:inherit}.speaking-countries{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 12px}.speaking-countries span{padding:8px 13px;border:1px solid var(--line);border-radius:22px;font-size:13px}.speaking-orb{display:grid;place-items:center;width:76px;height:76px;background:var(--surface);border-radius:50%;margin-bottom:18px}.speaking-orb svg,.speaking-avatar svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.6}.speaking-orb.is-recording{background:var(--surface-raised);box-shadow:var(--lift)}.speaking-parts{padding:0;list-style:none;display:grid;gap:12px;margin:24px 0}.speaking-parts li{margin:0;padding:16px;background:var(--surface);border-radius:12px}.speaking-parts span{display:block;font-size:13px;margin-top:6px}.speaking-examiner{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.speaking-voice-stage{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;border:0;background:var(--surface);color:var(--ink);font:inherit;overflow-y:auto}.speaking-voice-stage[open]{display:flex;flex-direction:column}.speaking-voice-stage::backdrop{background:var(--surface)}.voice-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;color:var(--ink);font-size:14px}.voice-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:28px;color:inherit;cursor:pointer}.voice-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;text-align:center;padding:40px 0}.voice-mic{display:grid;place-items:center;width:160px;height:160px;flex-shrink:0;border:0;border-radius:50%;background:var(--surface-raised);color:var(--surface-raised);box-shadow:var(--lift);cursor:pointer;transition:background .3s,box-shadow .3s}.voice-mic svg{width:56px;height:56px}.voice-mic:focus-visible,.voice-close:focus-visible{outline:3px solid var(--line);outline-offset:8px}.voice-mic{position:relative}.voice-mic:before{content:"";position:absolute;inset:-18px;border:1px solid currentColor;border-radius:50%;opacity:.12;pointer-events:none}.voice-examiner .voice-mic{background:var(--surface-raised);box-shadow:var(--lift)}.voice-examiner .voice-mic:before{animation:voice-breathe 2s ease-in-out infinite}.voice-listening .voice-mic:before{animation:voice-breathe 3.5s ease-in-out infinite}.voice-center [role=status]{margin:18px 0 0;font-size:18px;max-width:420px;line-height:1.6}.voice-hint,.voice-footer{color:var(--ink);font-size:13px;line-height:1.6;text-align:center}.voice-cue-card{width:min(100%,520px);border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:22px;text-align:left;line-height:1.6}.voice-cue-card small{text-transform:uppercase;letter-spacing:.1em;color:var(--ink)}.voice-cue-card textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:transparent;resize:vertical}.voice-center .form-error{max-width:480px}.voice-footer{padding-bottom:env(safe-area-inset-bottom,0px)}@keyframes voice-breathe{50%{transform:scale(1.045)}}@media(prefers-reduced-motion:reduce){.voice-mic,.voice-mic:before{animation:none!important;transition:none}}@media(max-width:600px){.speaking-voice-stage{padding:18px}.voice-mic{width:128px;height:128px}.voice-center{gap:20px}}.speaking-examiner span{display:block;margin-top:6px;font-size:13px;line-height:1.6}.speaking-avatar{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;background:var(--surface-raised);border-radius:50%}.speaking-turn-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.speaking-track{display:flex;gap:5px;margin:16px 0 26px}.speaking-track span{flex:1;height:5px;background:var(--surface);border-radius:3px}.speaking-track .done{background:var(--action)}.speaking-track .current{background:var(--progress)}.speaking-track .skipped{background:var(--surface-raised)}.speaking-interview h2{font-size:23px;line-height:1.5}.speaking-recorder,.speaking-prep{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;background:var(--surface);border-radius:18px;padding:26px 18px;margin:24px 0}.speaking-clock,.speaking-prep>strong{font-size:32px;font-variant-numeric:tabular-nums}.speaking-prep textarea{text-align:left}.speaking-page .writing-report,.speaking-page .writing-workspace{min-width:0}@media(max-width:1100px){.speaking-page .writing-workspace{grid-row:1}.speaking-page .writing-history{grid-row:2;margin-top:20px}}@media(max-width:700px){.speaking-turn-heading .eyebrow{font-size:11px;letter-spacing:1px}.speaking-interview h2{font-size:19px}.speaking-countries span{font-size:12px}}@media(max-width:1100px){.writing-layout{grid-template-columns:1fr}.writing-history{grid-template-columns:repeat(3,minmax(0,1fr));max-height:210px;overflow-y:auto}.writing-history h2,.writing-history>small{grid-column:1/-1}}@media(max-width:700px){.writing-heading{align-items:start;flex-direction:column}.writing-score,.writing-evidence,.writing-criteria,.writing-alignment{grid-template-columns:1fr}.writing-alignment .alignment-consequence{grid-column:1}.writing-score{gap:12px;padding:22px}.writing-editor,.writing-submit,.writing-panel,.writing-task{padding:18px}.writing-history{grid-template-columns:repeat(2,minmax(0,1fr))}.writing-panel .filter-row{flex-wrap:wrap}}.full-mock-promo{display:flex;align-items:center;justify-content:space-between;gap:36px;margin:34px 0 52px;padding:36px;border-radius:24px;background:var(--surface);color:var(--ink)}.full-mock-promo.full-mock-only{min-height:340px;margin-bottom:0}.full-mock-promo h2{font-size:clamp(28px,3vw,42px);margin:8px 0 12px}.full-mock-promo p{max-width:760px;line-height:1.65}.full-mock-promo .primary-action{flex-shrink:0}.mock-skill-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.mock-skill-list span{display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:700}.mock-skill-list svg,.assessment-cards svg{width:20px;height:20px}.assessment-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 52px}.assessment-cards button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);text-align:left;cursor:pointer}.assessment-cards button>svg:first-child{width:34px;height:34px}.assessment-cards b,.assessment-cards small{display:block}.assessment-cards b{font-size:20px;margin-bottom:7px}.assessment-cards small{color:var(--muted)}.full-mock-page{min-height:100vh;background:var(--background,var(--surface))}.full-mock-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px clamp(20px,5vw,72px);border-bottom:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.full-mock-bar>div{display:flex;gap:18px}.full-mock-bar>button{border:0;background:none;color:var(--ink);text-decoration:underline;cursor:pointer;var(--surface)-space:nowrap}.full-mock-bar span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:700}.full-mock-bar i{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line);border-radius:50%;font-style:normal}.full-mock-bar .current{color:var(--ink)}.full-mock-bar .current i{background:var(--surface-2);color:var(--ink)}.full-mock-bar .done i{background:var(--surface);color:var(--ink);border-color:var(--line)}.full-mock-hero,.full-mock-ready,.full-mock-break,.full-mock-complete{max-width:1060px;margin:60px auto;padding:clamp(26px,5vw,64px);border:1px solid var(--line);border-radius:28px;background:var(--surface)}.full-mock-hero h1,.full-mock-ready h1,.full-mock-break h1,.full-mock-complete h1{font-size:clamp(38px,6vw,72px);line-height:1;margin:12px 0 22px}.full-mock-hero>p,.full-mock-ready>p,.full-mock-break>p,.full-mock-complete>p{max-width:760px;color:var(--muted);font-size:18px;line-height:1.7}.full-mock-agenda{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:36px 0}.full-mock-agenda span{padding:20px;border-radius:16px;background:var(--surface)}.full-mock-agenda svg{width:28px;height:28px;margin-bottom:18px}.full-mock-agenda b,.full-mock-agenda small{display:block}.full-mock-agenda small{margin-top:6px;color:var(--muted)}.full-mock-ready{text-align:center}.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-break,.full-mock-complete{text-align:center}.full-mock-break>strong{display:block;margin:20px;font-size:72px;font-variant-numeric:tabular-nums}.full-mock-scores{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:34px 0}.full-mock-scores span{padding:22px;border-radius:16px;background:var(--surface)}.full-mock-scores b,.full-mock-scores small{display:block}.full-mock-scores b{font-size:24px}.full-mock-scores small{margin-top:7px;color:var(--muted)}.full-mock-embedded{min-height:100vh;background:var(--background,var(--surface))}.mock-writing-layout{grid-template-columns:1fr}.full-mock-embedded .writing-page{padding-top:42px}@media(max-width:850px){.full-mock-promo{align-items:stretch;flex-direction:column}.assessment-cards,.full-mock-agenda,.full-mock-scores{grid-template-columns:1fr 1fr}.full-mock-bar{align-items:flex-start;flex-direction:column}.full-mock-bar>div{width:100%;justify-content:space-between}.full-mock-bar span{font-size:0}.full-mock-bar span i{font-size:12px}}@media(max-width:560px){.full-mock-promo{padding:24px}.assessment-cards,.full-mock-agenda,.full-mock-scores{grid-template-columns:1fr}.full-mock-hero,.full-mock-ready,.full-mock-break,.full-mock-complete{margin:22px 0;border-radius:20px}.full-mock-bar>strong{display:none}.full-mock-bar{padding:12px 16px}.full-mock-break>strong{font-size:52px}}.writing-source-pages{display:grid;gap:16px;margin:8px 0 20px}.writing-source-pages img{display:block;width:100%;max-height:760px;object-fit:contain;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.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)}.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{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.student-main .mobile-header{gap:12px;padding:max(10px,env(safe-area-inset-top,0px)) 16px 10px}.mobile-header .brand{min-height:44px;font-size:18px;gap:8px}.mobile-header .brand-mark{width:30px;height:30px;border-radius:9px}.mobile-header .mobile-title{display:none}.mobile-header .avatar.small{width:44px;height:44px;flex:none}.student-main .content{padding:16px 16px 24px}.student-main .page-header h1{font-size:clamp(28px,7vw,36px);line-height:1.15;overflow-wrap:anywhere}.student-main .dashboard-hero.useful-home{gap:14px;padding-bottom:18px}.dashboard-hero.useful-home>div{min-width:0}.dashboard-hero.useful-home h1{font-size:clamp(25px,6.5vw,32px);line-height:1.15;letter-spacing:-.8px;overflow-wrap:anywhere}.useful-home>div>.eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:10px}.useful-home .hero-copy{margin-top:8px;font-size:13px;line-height:1.5}.useful-home .next-activity{margin-top:16px;padding:16px;border-radius:16px}.next-activity .eyebrow{display:block;font-size:10px;letter-spacing:1px;margin-bottom:8px;color:var(--ink)}.next-activity h2{font-size:19px;line-height:1.3}.next-activity p{margin:8px 0 14px;font-size:13px}.next-activity .primary-action{width:100%;min-height:46px;padding:12px;justify-content:center;font-size:13px}.useful-home .first-test-card{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.first-test-card h2{font-size:17px;line-height:1.3;margin:0}.first-test-card p{font-size:13px;line-height:1.45;margin:6px 0}.first-test-card .secondary-action{align-self:flex-start;min-height:44px;padding:8px 0;border:0;font-size:13px;color:var(--ink)}.student-main .home-library{padding-top:18px}.home-library .section-heading{gap:8px;margin-bottom:12px}.home-library .section-heading h2{font-size:19px}.home-library .section-heading button{min-height:44px}.home-exam-strip button{min-width:0;padding:14px;gap:6px}.home-exam-strip strong{overflow-wrap:anywhere}.student-main .bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px))}.bottom-nav button.nav-item{min-width:0;min-height:52px;padding:7px 2px;gap:4px;border-radius:12px;font-size:11px;line-height:1.2;color:var(--ink)}.bottom-nav button.nav-item.active{color:var(--ink-on-progress);background:var(--surface-2)}.bottom-nav button:focus-visible{outline:2px solid var(--line-strong);outline-offset:-2px}.student-main .explore-home-link{padding-top:0}.explore-home-link button{padding:16px;border-radius:14px;gap:12px}.telegram-fullscreen .student-main .mobile-header{padding-top:10px}.telegram-fullscreen .student-main{padding-bottom:calc(80px + var(--mini-bottom))}.telegram-fullscreen .student-main .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))}}:root{font-family:var(--font-text);color:var(--ink);background:var(--ground);font-synthesis:none;-webkit-text-size-adjust:100%;font-variant-numeric:tabular-nums}body{background:var(--ground);color:var(--ink);margin:0}*{border-radius:var(--radius)!important}h1,h2,h3,h4,strong,b{font-family:var(--font-display);letter-spacing:var(--track-display);text-wrap:balance}h1{font-size:var(--step-4);font-weight:var(--weight-display);line-height:1.08;margin:0}h2{font-size:var(--step-2);font-weight:var(--weight-display);line-height:1.16;margin:0}h3{font-size:var(--step-1);font-weight:var(--weight-strong);margin:0}p{margin:0;line-height:1.55}small{font-size:var(--step--1)}::selection{background:var(--action);color:var(--ink-on-action)}:root{caret-color:var(--action);accent-color:var(--progress);scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong)}::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:2px solid var(--action);outline-offset:2px}a{color:var(--action);text-underline-offset:3px}.brand,.brand-button{display:flex;align-items:center;gap:var(--s2);background:none;border:0;padding:0;cursor:pointer;color:var(--ink);font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step-2);letter-spacing:var(--track-display)}.brand-mark{position:relative;width:30px;height:30px;flex:none;background:var(--progress);color:transparent;overflow:hidden}.brand-mark:after{content:"";position:absolute;inset:5px;background:var(--surface);transform:rotate(45deg)}.app-shell{display:flex;min-height:100dvh;background:var(--ground)}.student-main{flex:1;min-width:0;display:flex;flex-direction:column}.content,.page-content{padding:var(--s4)}.page-content>section+section{margin-top:var(--s6)}.mobile-header{align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface-2);border-bottom:var(--hair) solid var(--line);position:sticky;top:0;z-index:30}.mobile-title{font-size:var(--step-0);color:var(--ink-2);font-weight:var(--weight-mid)}.avatar{width:32px;height:32px;flex:none;display:grid;place-items:center;background:var(--action);color:var(--ink-on-action);font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step--1);border:0;cursor:pointer;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.sidebar{width:248px;flex:none;flex-direction:column;gap:var(--s5);padding:var(--s5) var(--s4);background:var(--surface-2);border-right:var(--hair) solid var(--line)}.sidebar nav{display:grid;gap:var(--s1)}.nav-item{display:flex;align-items:center;gap:var(--s3);padding:10px var(--s3);background:none;border:0;cursor:pointer;color:var(--ink-2);font:inherit;font-size:var(--step-0);font-weight:var(--weight-mid);text-align:left;width:100%;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.nav-item:hover{background:var(--surface);color:var(--ink)}.nav-item.active{background:var(--progress);color:var(--ink-on-progress)}.nav-item svg{width:17px;height:17px;flex:none}.sidebar-help{display:flex;gap:var(--s3);padding:var(--s3);background:var(--surface);border:var(--hair) solid var(--line);font-size:var(--step--1);color:var(--ink-2);line-height:1.5}.sidebar-help strong{display:block;color:var(--ink);font-size:var(--step-0);margin-bottom:var(--s1)}.sidebar-help-icon{width:22px;height:22px;flex:none;display:grid;place-items:center;background:var(--action);color:var(--ink-on-action);font-weight:var(--weight-display)}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:var(--s2)}.profile-trigger{display:flex;align-items:center;gap:var(--s3);flex:1;background:none;border:0;padding:var(--s2);cursor:pointer;color:var(--ink);text-align:left}.profile-copy strong{display:block;font-size:var(--step-0)}.profile-copy span{font-size:var(--step--1);color:var(--ink-3)}.logout-button{width:32px;height:32px;flex:none;background:var(--surface);border:var(--hair) solid var(--line);color:var(--ink-2);cursor:pointer;font-size:15px}.logout-button:hover{background:var(--surface-raised);color:var(--ink)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;grid-template-columns:repeat(5,1fr);background:var(--surface-2);border-top:var(--hair) solid var(--line)}.bottom-nav .nav-item{flex-direction:column;gap:var(--s1);justify-content:center;padding:9px 2px calc(11px + env(safe-area-inset-bottom,0px));font-size:10px;letter-spacing:.02em;text-align:center}.bottom-nav .nav-item.active{background:var(--progress);color:var(--ink-on-progress)}.bottom-nav .nav-item svg{width:18px;height:18px}.primary-action,.primary-button,.submit-exam,button.primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);padding:13px var(--s4);border:0;cursor:pointer;background:var(--action);color:var(--ink-on-action);font-family:var(--font-display);font-weight:var(--weight-strong);font-size:var(--step-0);letter-spacing:0;transition:filter var(--fast) var(--ease),transform var(--fast) var(--ease)}.primary-action:active,.primary-button:active{transform:translateY(1px)}.primary-action:disabled,.primary-button:disabled,.submit-exam:disabled,button:disabled{opacity:.45;cursor:not-allowed;filter:none}.secondary-action,.tertiary-action{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);padding:11px var(--s4);cursor:pointer;background:transparent;border:var(--hair) solid var(--line-strong);color:var(--ink);font-family:var(--font-display);font-weight:var(--weight-mid);font-size:var(--step-0)}.secondary-action:hover{background:var(--surface-raised);border-color:var(--ink-3)}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{font-size:var(--step--1);color:var(--ink-2);font-weight:var(--weight-mid)}.dashboard-hero{display:grid;gap:var(--s4)}.dashboard-hero h1{font-size:var(--step-4)}.hero-copy{color:var(--ink-2);font-size:var(--step-0);margin-top:var(--s2)}.hero-date{font-size:var(--step--1);color:var(--ink-3);font-weight:var(--weight-mid);margin-top:var(--s2)}.next-activity{margin-top:var(--s5);padding:var(--s4);background:var(--surface);border:var(--hair) solid var(--line)}.next-activity h2{font-size:var(--step-2)}.next-activity p{color:var(--ink-2);font-size:var(--step--1);margin:var(--s2) 0 var(--s4)}.next-activity .primary-action{width:100%}.rosette-block{display:flex;align-items:center;gap:var(--s4);padding:var(--s4);background:var(--surface);border:var(--hair) solid var(--line)}.rosette{position:relative;width:104px;height:104px;flex:none}.rosette-seg{position:absolute;inset:0;clip-path:polygon(50% 50%,38% 16%,50% 0%,62% 16%);background:var(--line);transition:background var(--mid) var(--ease)}.rosette-seg.set{background:var(--progress)}.rosette-core{position:absolute;inset:29px;background:var(--action);transform:rotate(45deg);box-shadow:0 0 0 3px var(--surface)}.rosette-figure{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--step-2);color:var(--ink-on-action);letter-spacing:var(--track-display)}.rosette-read{min-width:0}.rosette-read .label{font-size:var(--step--1);color:var(--ink-2);font-weight:var(--weight-mid)}.rosette-read .set-line{font-family:var(--font-display);font-weight:var(--weight-strong);font-size:var(--step-1);margin:var(--s1) 0 var(--s2)}.rosette-read .weakest{font-size:var(--step--1);color:var(--ink-2);line-height:1.45}.rosette-read .weakest b{color:var(--ink);font-weight:var(--weight-strong)}.first-test-card{padding:var(--s5) var(--s4);background:var(--surface);border:var(--hair) solid var(--line);display:grid;gap:var(--s3);justify-items:start}.first-test-card svg{width:26px;height:26px;color:var(--progress)}.first-test-card p{color:var(--ink-2);font-size:var(--step-0)}.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)}.home-exam-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s2)}.home-exam-strip button{display:grid;gap:var(--s2);padding:var(--s4);text-align:left;cursor:pointer;background:var(--surface);border:var(--hair) solid var(--line);color:var(--ink);font:inherit;transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.home-exam-strip button:hover{border-color:var(--progress);background:var(--surface-raised)}.home-exam-strip strong{font-size:var(--step-1);line-height:1.2}.home-exam-strip .tile-meta{font-size:var(--step--1);color:var(--progress);font-weight:var(--weight-mid);text-transform:uppercase;letter-spacing:.08em}.home-exam-strip button>span:last-child{font-size:var(--step--1);color:var(--ink-2)}.home-plan-card{padding:var(--s4);background:var(--surface);border:var(--hair) solid var(--line);display:grid;gap:var(--s4)}.home-plan-heading{display:flex;gap:var(--s3)}.home-plan-icon{width:38px;height:38px;flex:none;display:grid;place-items:center;background:var(--progress);color:var(--ink-on-progress)}.home-plan-icon svg{width:18px;height:18px}.home-plan-heading p{color:var(--ink-2);font-size:var(--step--1);margin-top:var(--s2)}.home-plan-stats{display:grid;gap:var(--s3)}.plan-meter{display:grid;gap:var(--s2)}.plan-meter .row{display:flex;align-items:baseline;justify-content:space-between;font-size:var(--step--1);color:var(--ink-2)}.plan-meter .row b{font-family:var(--font-display);font-size:var(--step-0);color:var(--ink)}.budget{display:flex;gap:3px}.budget i{flex:1;height:8px;background:var(--line)}.budget i.filled{background:var(--progress)}.budget i.over{background:var(--action)}.home-plan-card>button{justify-self:start}.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-skill{width:18px;height:18px;flex:none;transform:rotate(45deg);background:var(--progress)}.history-skill.reading{background:var(--skill-reading)}.history-skill.listening{background:var(--skill-listening)}.history-skill svg{display:none}.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:10px;color:var(--ink-3)}.status-chip{font-size:10px;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)}.status-chip.in_progress{border-color:var(--action);color:var(--action)}.explore-home-link{padding-top:0}.explore-home-link button{display:flex;align-items:center;gap:var(--s3);width:100%;text-align:left;padding:var(--s4);cursor:pointer;color:var(--ink);font:inherit;background:var(--surface);border:var(--hair) solid var(--line)}.explore-home-link button:hover{border-color:var(--progress)}.explore-home-link svg{width:20px;height:20px;flex:none;color:var(--progress)}.explore-home-link strong{display:block;font-size:var(--step-0)}.explore-home-link small{display:block;color:var(--ink-2);margin-top:2px;line-height:1.4}.explore-home-link button>svg:last-child{margin-left:auto;color:var(--ink-3)}.resume-banner{display:flex;gap:var(--s3);padding:var(--s4);background:var(--surface);border:var(--hair) solid var(--action);align-items:flex-start}.resume-icon{width:34px;height:34px;flex:none;display:grid;place-items:center;background:var(--action);color:var(--ink-on-action)}.resume-banner p{color:var(--ink-2);font-size:var(--step--1);margin-top:var(--s2)}.resume-banner button{margin-left:auto}.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}.list-skeleton{display:grid;gap:var(--s1)}.list-skeleton span{height:56px;background:var(--surface);border:var(--hair) solid var(--line)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.runner{min-height:100dvh;background:var(--ground);display:flex;flex-direction:column}.runner-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface-2);border-bottom:var(--hair) solid var(--line)}.runner-header h1{font-size:var(--step-1);flex:1;min-width:0}.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}.timer-warning{color:var(--ink-on-action);background:var(--action);border-color:var(--action)}.runner-body{flex:1;display:grid;grid-template-columns:240px 1fr;max-width:1300px;margin:0 auto;width:100%}.runner-body>aside{position:sticky;top:64px;align-self:start;padding:var(--s5) var(--s4);border-right:var(--hair) solid var(--line)}.runner-body>section{padding:var(--s5) var(--s5) 140px;min-width:0}.question-map{display:flex;flex-wrap:wrap;gap:var(--s1)}.question-map a,.question-number{width:34px;height:34px;display:grid;place-items:center;background:var(--surface);border:var(--hair) solid var(--line);color:var(--ink-2);font-size:var(--step--1);font-weight:var(--weight-mid);text-decoration:none;cursor:pointer}.question-map a.answered,.question-number.answered{background:var(--progress);border-color:var(--progress);color:var(--ink-on-progress);font-weight:var(--weight-strong)}.question-map a.flagged,.question-number.flagged{outline:2px solid var(--action);outline-offset:-2px}.question-map a:hover{border-color:var(--ink-3)}.map-legend{display:flex;gap:var(--s4);font-size:var(--step--1);color:var(--ink-2);margin-top:var(--s3)}.map-legend span{display:inline-flex;align-items:center;gap:var(--s2)}.map-legend i{width:12px;height:12px;background:var(--progress);display:inline-block}.map-legend i.empty{background:var(--surface);border:var(--hair) solid var(--line-strong)}.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}.submit-area{position:fixed;bottom:0;left:0;right:0;z-index:35;display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4) calc(var(--s3) + env(safe-area-inset-bottom,0px));background:var(--surface-2);border-top:var(--hair) solid var(--line)}.submit-area strong{display:block;font-size:var(--step-0)}.submit-area span{font-size:var(--step--1);color:var(--ink-3)}.submit-area .submit-exam{margin-left:auto}.result-page{min-height:100dvh;display:grid;place-items:center;padding:var(--s5) var(--s4);background:var(--ground)}.result-card{width:100%;max-width:440px;background:var(--surface);border:var(--hair) solid var(--line);padding:var(--s6) var(--s5);display:grid;gap:var(--s4);justify-items:center;text-align:center}.result-card h1{font-size:2.75rem}.result-lead{color:var(--ink-2);font-size:var(--step-0)}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);width:100%;border:var(--hair) solid var(--line)}.result-metrics>div{padding:var(--s3);text-align:center}.result-metrics>div+div{border-left:var(--hair) solid var(--line)}.result-metrics strong{display:block;font-family:var(--font-display);font-size:var(--step-2)}.result-metrics span{font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.result-guidance{width:100%;padding:var(--s4);background:var(--surface-2);text-align:left}.result-guidance p{color:var(--ink-2);font-size:var(--step--1);margin-top:var(--s2)}.result-card .primary-button{width:100%}.writing-page,.speaking-page{padding-bottom:120px}.writing-layout{display:grid;gap:var(--s5)}.writing-panel{background:var(--surface);border:var(--hair) solid var(--line);padding:var(--s4)}.writing-score{display:flex;align-items:center;gap:var(--s4)}.writing-score strong{font-family:var(--font-display);font-size:2.5rem;color:var(--action);line-height:1}.writing-score span{font-size:var(--step--1);color:var(--ink-2)}.writing-report{display:grid;gap:var(--s4)}.writing-criteria{display:grid;gap:var(--s1)}.writing-criteria>div{display:grid;grid-template-columns:1fr auto;gap:var(--s3) var(--s4);padding:var(--s3) 0;border-top:var(--hair) solid var(--line);align-items:baseline}.writing-criteria strong{font-size:var(--step-0)}.writing-criteria b{font-family:var(--font-display);font-size:var(--step-2);color:var(--action)}.writing-criteria p{grid-column:1 / -1;font-size:var(--step--1);color:var(--ink-2)}.writing-issues{display:grid;gap:0}.writing-issues>article{display:grid;grid-template-columns:1fr;gap:var(--s2);padding:var(--s4) 0 var(--s4) var(--s4);border-top:var(--hair) solid var(--line);position:relative}.writing-issues>article:before{content:"";position:absolute;left:0;top:var(--s4);bottom:var(--s4);width:7px;border-left:var(--hair) solid var(--action);border-top:var(--hair) solid var(--action);border-bottom:var(--hair) solid var(--action)}.writing-issues .category{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--action);font-weight:var(--weight-strong)}.writing-evidence{font-size:var(--step-0);line-height:1.6;color:var(--ink);background:color-mix(in srgb,var(--action) 16%,transparent);box-shadow:inset 0 -1px 0 var(--action);padding:2px 0}.writing-issues p{font-size:var(--step--1);color:var(--ink-2)}.writing-example{background:var(--surface-2);border-left:var(--hair) solid var(--progress);padding:var(--s3);font-size:var(--step--1);color:var(--ink)}.writing-history{display:grid;gap:var(--s1)}.writing-history button{display:grid;gap:2px;text-align:left;padding:var(--s3);background:var(--surface);border:var(--hair) solid var(--line);color:var(--ink);cursor:pointer;font:inherit}.writing-history button.active{border-color:var(--action)}.writing-history strong{font-size:var(--step-0)}.writing-history span,.writing-history small{font-size:var(--step--1);color:var(--ink-3)}.essay-input,.essay-text{min-height:240px;line-height:1.7;font-size:var(--step-1)}.writing-word-count,.draft-status,.workspace-status{font-size:var(--step--1);color:var(--ink-3)}.writing-disclaimer,.writing-notice{font-size:var(--step--1);color:var(--ink-2)}.writing-submit,.writing-workspace{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}.speaking-orb{width:108px;height:108px;background:var(--progress);transform:rotate(45deg);margin:0 auto}.speaking-examiner,.speaking-intro{background:var(--surface);border:var(--hair) solid var(--line);padding:var(--s4)}.speaking-track{display:grid;gap:var(--s1)}@media(min-width:801px){.sidebar{display:flex}.mobile-header,.bottom-nav{display:none}.student-main{margin-left:248px}.app-shell{display:block}.content,.page-content{max-width:920px;padding:var(--s6) var(--s5) var(--s7)}}@media(max-width:800px){.sidebar{display:none}.mobile-header{display:flex}.bottom-nav{display:grid}.student-main{margin-left:0;padding-bottom:76px}.dashboard-hero h1{font-size:var(--step-3)}}.rosette-more{margin-top:var(--s3)}@media(max-width:400px){.rosette{width:88px;height:88px}.rosette-core{inset:25px}}@media(max-width:800px){.student-main .bottom-nav{gap:0;padding:0}.bottom-nav button.nav-item{color:var(--ink-2);min-height:56px;font-size:10px}.bottom-nav button.nav-item.active{color:var(--ink-on-progress);background:var(--progress)}.bottom-nav button:focus-visible{outline:2px solid var(--action);outline-offset:-2px}}.home-plan-card>button,.resume-banner button,.first-test-card button{background:transparent;border:var(--hair) solid var(--line-strong);color:var(--ink);padding:11px var(--s4);font-family:var(--font-display);font-weight:var(--weight-mid);font-size:var(--step-0);cursor:pointer;display:inline-flex;align-items:center;gap:var(--s2)}.home-plan-card>button:hover,.resume-banner button:hover{background:var(--surface-raised);border-color:var(--ink-3)}.home-plan-stats span{display:flex;align-items:center;gap:var(--s2);font-size:var(--step--1);color:var(--ink-2);padding:var(--s2) var(--s3);background:var(--surface-2);border:var(--hair) solid var(--line)}.home-plan-stats span svg{width:14px;height:14px;color:var(--progress);flex:none}.home-plan-stats span strong{color:var(--ink);font-size:var(--step-0)}.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){.runner-body{grid-template-columns:1fr}.runner-body>aside{position:static;height:auto;border-right:0;border-bottom:var(--hair) solid var(--line);padding:var(--s4)}.runner-body>section{padding:var(--s4) var(--s4) 150px}.material{max-width:none;font-size:var(--step-0);line-height:1.68;padding:var(--s4)}.runner-header h1,.runner-header strong{font-size:var(--step-0)}.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)}.question-tools textarea{background:var(--surface-2);border:var(--hair) solid var(--line-strong);color:var(--ink)}.runner-legend{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s3);font-size:var(--step--1);color:var(--ink-2)}.runner-legend span{display:inline-flex;align-items:center;gap:var(--s2)}.runner-legend i{width:13px;height:13px;display:inline-block;background:var(--surface);border:var(--hair) solid var(--line-strong)}.runner-legend i.answered{background:var(--progress);border-color:var(--progress)}.question-map a{position:relative}.question-map a svg{position:absolute;top:2px;right:2px;width:10px;height:10px;color:var(--action)}.question-map a.answered svg{color:var(--ink-on-progress)}.workspace-status{color:var(--ink-2)}.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-issues .writing-example,.writing-example{background:var(--surface-2);color:var(--ink);border-left:var(--hair) solid var(--progress);padding:var(--s3)}.writing-evidence,.writing-issues a,.writing-issues q{color:var(--ink);background:color-mix(in srgb,var(--action) 18%,transparent);box-shadow:inset 0 -1px 0 var(--action);text-decoration:none}.writing-score strong,.writing-criteria b{color:var(--action)}.writing-panel{background:var(--surface);border:var(--hair) solid var(--line)}.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)}.writing-issues>article{gap:var(--s2);padding-top:var(--s4);padding-bottom:var(--s4)}.writing-issues>article>*{margin:0}.writing-issues>article p{line-height:1.5}.writing-issues strong{font-size:var(--step-0)}.writing-evidence,.writing-issues q,.writing-issues a{background:color-mix(in srgb,var(--action) 26%,transparent);box-shadow:inset 0 -2px 0 var(--action);padding:1px 3px}.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)}.profile-trigger .avatar,.avatar.small,.avatar{color:var(--ink-on-action);align-items:center;justify-content:center;line-height:1}.writing-score{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--s4)}.writing-score strong{display:flex;align-items:baseline;gap:var(--s1);white-space:nowrap}.writing-score strong small{font-size:var(--step-1);color:var(--ink-2)}@media(max-width:520px){.writing-score{grid-template-columns:1fr;gap:var(--s2)}}.writing-pending-state{font-size:var(--step--1);color:var(--ink-2)}.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%}}.question-map a{gap:3px;padding:0 2px;min-width:34px;width:auto}.question-map a svg{position:static;width:9px;height:9px;flex:none}.runner-legend{align-items:center}.workspace-status{margin-top:var(--s2)}.hero-date,.history-main span,.history-score span,.profile-copy 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)}.writing-task-step{font-size:var(--step--1);color:var(--ink-2);font-weight:var(--weight-mid);margin-top:var(--s2)}@media(max-width:800px){.page-content>section+section{margin-top:var(--s4)}.dashboard-hero{gap:var(--s3)}.dashboard-hero h1{font-size:var(--step-3)}.hero-copy,.hero-date{margin-top:var(--s1)}.next-activity{margin-top:var(--s4);padding:var(--s3) var(--s4)}.next-activity p{margin:var(--s1) 0 var(--s3)}.next-activity .primary-action{padding:12px var(--s4)}.first-test-card{padding:var(--s4);gap:var(--s2)}.first-test-card svg{width:22px;height:22px}.rosette-block{padding:var(--s3);gap:var(--s3)}.home-library{padding-top:0}.section-heading{margin-bottom:var(--s2)}}@media(max-width:800px){.dashboard-hero h1{font-size:var(--step-2);line-height:1.12}.hero-date{display:none}}.material,.question,.result-card,.writing-page,.speaking-page,.writing-panel,.writing-report,.content-preview article,.preview-question,.completion-review article,.answer-review{--surface: var(--glaze);--surface-2: var(--glaze-sunk);--surface-raised: var(--glaze-raised);--ink: var(--ink-glaze);--ink-2: var(--ink-glaze-2);--ink-3: var(--ink-glaze-3);--line: var(--line-glaze);--line-strong: var(--line-glaze-strong);--progress-text: var(--progress-on-glaze);--paper: var(--glaze);--muted: var(--ink-glaze-2);--accent: var(--progress-on-glaze);--action: var(--action-on-glaze);--progress: var(--progress-on-glaze);background:var(--glaze);color:var(--ink-glaze);border-color:var(--line-glaze)}.material .writing-evidence,.writing-panel .writing-evidence,.writing-report .writing-evidence{box-shadow:inset 0 -2px 0 var(--action-on-glaze)}.writing-panel .writing-criteria b,.writing-report .writing-criteria b,.writing-panel .writing-score strong,.writing-panel .category,.writing-report .category{color:var(--action-on-glaze)}.writing-issues>article:before{border-left-color:var(--action-on-glaze);border-top-color:var(--action-on-glaze);border-bottom-color:var(--action-on-glaze)}.writing-example{border-left-color:var(--progress-on-glaze);background:var(--glaze-sunk)}.result-card h1,.result-metrics strong{color:var(--ink-glaze)}.runner,.runner-header,.submit-area,.runner-body>aside{color:var(--ink)}.options label{background:var(--glaze-sunk);border-color:var(--line-glaze);color:var(--ink-glaze)}.options label:hover{border-color:var(--ink-glaze-3)}.question-tools button,.passage-tools button{background:var(--glaze-raised);border-color:var(--line-glaze-strong);color:var(--ink-glaze)}.question-tools button[aria-pressed=true]{background:var(--action);color:var(--ink-on-action);border-color:var(--action)}.question-tools textarea{background:var(--glaze-raised);border-color:var(--line-glaze-strong);color:var(--ink-glaze)}.material mark,.passage-tools mark{background:var(--action);color:var(--ink-on-action)}.material mark,.passage-tools mark,.question-tools button[aria-pressed=true]{background:#e2a32b;color:#0b2a63}.question-map a.answered{background:#2ba3a0;border-color:#2ba3a0;color:#06220f}.writing-evidence,.writing-issues q,.writing-issues a{background:color-mix(in srgb,#e2a32b 24%,transparent)}.writing-page,.speaking-page{background:var(--glaze);color:var(--ink-glaze);min-height:100%}.writing-page .writing-history button,.speaking-page .writing-history button{background:var(--glaze-raised)}.writing-page .writing-history button.active{border-color:var(--action-on-glaze)}.writing-page .primary-action,.speaking-page .primary-action{background:#e2a32b;color:#0b2a63}.writing-page .writing-example,.speaking-page .writing-example{background:var(--glaze-sunk)}.primary-action,.primary-button,.submit-exam,.writing-page .primary-action,.speaking-page .primary-action,.result-card .primary-button{background:#e2a32b;color:#0b2a63}.primary-action:hover,.primary-button:hover,.submit-exam:hover{filter:brightness(1.08)}.student-main{--surface: var(--glaze-raised);--surface-2: var(--glaze-sunk);--surface-raised: #ffffff;--ink: var(--ink-glaze);--ink-2: var(--ink-glaze-2);--ink-3: var(--ink-glaze-3);--line: var(--line-glaze);--line-strong: var(--line-glaze-strong);--paper: var(--glaze);--muted: var(--ink-glaze-2);--accent: var(--progress-on-glaze);--progress-text: var(--progress-on-glaze);background:var(--glaze);color:var(--ink-glaze)}.student-main>.mobile-header,.student-main>.bottom-nav,.bottom-nav{--surface: #0b2a63;--ink: #f3efe4;--ink-2: #a9c3eb;--ink-3: #7f9fd4;--line: rgba(243,239,228,.2);--line-strong: rgba(243,239,228,.42);background:var(--surface-2-fired, #082051);color:#f3efe4}.bottom-nav .nav-item{color:#a9c3eb}.bottom-nav .nav-item.active{color:#06220f;background:#2ba3a0}.mobile-header .brand,.mobile-header .brand-button{color:#f3efe4}.mobile-header .mobile-title{color:#a9c3eb}.brand-mark:after{background:#0b2a63}.student-main .primary-action,.student-main .primary-button,.student-main .submit-exam,.student-main .avatar{background:#e2a32b;color:#0b2a63}.student-main .home-plan-icon,.student-main .sidebar-help-icon{background:#2ba3a0;color:#06220f}.student-main .resume-icon{background:#e2a32b;color:#0b2a63}.student-main .rosette-seg{background:#16233f24}.student-main .rosette-seg.set{background:#2ba3a0}.student-main .rosette-core{background:#e2a32b;box-shadow:0 0 0 3px var(--glaze-raised)}.student-main .rosette-figure{color:#0b2a63}.student-main .history-skill{background:#2ba3a0}.student-main .history-skill.reading{background:#e2a32b}.student-main .history-score strong,.student-main .section-heading button{color:var(--action-on-glaze)}.student-main .explore-home-link svg,.student-main .first-test-card svg{color:var(--progress-on-glaze)}.student-main mark{background:#e2a32b;color:#0b2a63}.student-main .status-chip.scored{border-color:var(--progress-on-glaze);color:var(--progress-on-glaze)}.student-main .status-chip.in_progress{border-color:var(--action-on-glaze);color:var(--action-on-glaze)}.examiner{--level: 0;width:180px;height:180px;margin:0 auto}.examiner-head{fill:var(--surface-2);stroke:var(--line-strong);stroke-width:1.5}.examiner-eye{fill:var(--ink-3);transition:fill var(--mid) var(--ease),opacity var(--mid) var(--ease)}.examiner-mouth{fill:#f3efe4;transform-box:fill-box;transform-origin:center;transform:scaleY(clamp(1,calc(1 + var(--level) * 2.6),3.2));transition:fill var(--mid) var(--ease),opacity var(--fast) var(--ease)}.examiner-ring{fill:none;stroke:var(--progress);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}.examiner--connecting .examiner-eye{animation:examiner-wake 1.1s var(--ease) infinite}.examiner--connecting .examiner-eye--right{animation-delay:.18s}@keyframes examiner-wake{0%,to{opacity:.3}50%{opacity:1}}.examiner--speaking .examiner-head{fill:var(--surface);stroke:var(--action)}.examiner--speaking .examiner-eye{fill:var(--action)}.examiner--listening .examiner-head{stroke:var(--progress)}.examiner--listening .examiner-eye{fill:var(--progress)}.examiner--listening .examiner-mouth rect{fill:var(--line-strong);transform:scaleY(1)}.examiner--listening .examiner-ring{opacity:calc(.25 + var(--level) * .75);transform:scale(calc(1 + var(--level) * .07))}.examiner--thinking .examiner-eye{fill:var(--ink-2);animation:examiner-wake 2.4s var(--ease) infinite}.examiner--thinking .examiner-mouth rect{transform:scaleY(1)}.examiner--paused .examiner-mouth rect{transform:scaleY(1)}@media(prefers-reduced-motion:reduce){.examiner-eye,.examiner-mouth rect,.examiner-ring{animation:none!important;transition:none!important}.examiner-mouth rect{transform:scaleY(2.2)}}.voice-mic{width:104px;height:104px;background:var(--action);color:var(--ink-on-action);border:0;display:grid;place-items:center;cursor:pointer;box-shadow:var(--lift)}.examiner{--level: 0;width:190px;height:196px;margin:0 auto}.examiner svg{width:100%;height:100%;overflow:visible}.examiner svg{fill:none;stroke:none}.examiner-head{fill:#0b2a63;transition:fill var(--mid) var(--ease)}.examiner-eye{fill:#f3efe4;transition:fill var(--mid) var(--ease)}.examiner-glint{fill:#0b2a63;opacity:.55}.examiner-smile{stroke:#f3efe4;stroke-width:5;stroke-linecap:round;fill:none;transition:stroke var(--mid) var(--ease),opacity var(--fast) var(--ease)}.examiner-stalk{stroke:#0b2a63;stroke-width:3;stroke-linecap:round}.examiner-spark{fill:var(--progress);transition:fill var(--mid) var(--ease)}.examiner-ring{fill:none;stroke:var(--progress);stroke-width:2.5;opacity:0;transform-box:fill-box;transform-origin:center}.examiner-mouth rect{fill:#f3efe4;transform-box:fill-box;transform-origin:bottom;transform:scaleY(clamp(1,calc(1 + var(--level) * var(--w) * 5),4.2));transition:fill var(--mid) var(--ease)}.examiner--speaking .examiner-head{fill:#0b2a63}.examiner--speaking .examiner-spark{fill:var(--action)}.examiner--speaking .examiner-eye{fill:#f3efe4}.examiner--speaking .examiner-smile{opacity:0}.examiner--speaking .examiner-mouth{fill:#f3efe4}.examiner--listening .examiner-spark{fill:var(--progress)}.examiner--listening .examiner-ring{opacity:calc(.18 + var(--level) * .6);transform:scale(calc(1 + var(--level) * .06))}.examiner--connecting .examiner-eye,.examiner--thinking .examiner-eye{animation:examiner-blink 2.6s var(--ease) infinite}.examiner--connecting .examiner-spark{animation:examiner-pulse 1.4s var(--ease) infinite}@keyframes examiner-blink{0%,92%,to{transform:none}96%{transform:scaleY(.15)}}@keyframes examiner-pulse{0%,to{opacity:.35}50%{opacity:1}}.examiner-eye{transform-box:fill-box;transform-origin:center}@media(prefers-reduced-motion:reduce){.examiner-eye,.examiner-mouth,.examiner-ring,.examiner-spark{animation:none!important;transition:none!important}}.voice-mic{width:104px;height:104px;border-radius:50%!important;background:var(--action);color:var(--ink-on-action);border:0;display:grid;place-items:center;cursor:pointer;box-shadow:var(--lift);transition:transform var(--fast) var(--ease),filter var(--fast) var(--ease)}.voice-mic:hover{filter:brightness(1.06)}.voice-mic:active{transform:scale(.97)}.voice-mic svg{width:40px;height:40px}.voice-mic:disabled{opacity:.5}.voice-center{gap:var(--s5)}.voice-hint,.voice-footer{color:var(--ink-2)}.voice-cue-card{background:var(--surface);border:var(--hair) solid var(--line);padding:var(--s4);color:var(--ink)}.voice-close{background:transparent;border:var(--hair) solid var(--line-strong);color:var(--ink);width:44px;height:44px;cursor:pointer}
