:root{--ink: #23334d;--muted: #5c6678;--canvas: #ffffff;--paper: #ffffff;--surface: #f7f8fa;--primary: #bc453d;--primary-hover: #a73730;--on-primary: #ffffff;--primary-soft: #ffe5de;--primary-container: #fff1eb;--on-primary-soft: #7f2c27;--navy: #23334d;--navy-soft: #e8edf7;--on-navy: #ffffff;--navy-muted: #c0cddf;--navy-hover: #30435e;--navy-success: #bce3c6;--success: #2e6c48;--success-soft: #edf7ef;--error: #9e343f;--error-soft: #fbe9e9;--warning: #805c1f;--warning-soft: #fff3db;--line: #e4e7ec;--outline: #9199a6;--shadow: 0 6px 24px rgba(35, 51, 77, .05);color:var(--ink);background:var(--canvas);font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--canvas)}button,input,select{font:inherit;letter-spacing:0;color:var(--ink)}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}svg{flex:0 0 auto}.page{max-width:1280px;margin:auto;padding:46px 40px 70px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:13px 18px;color:var(--on-primary);background:var(--primary);box-shadow:none;font-weight:650}.primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.topbar{position:sticky;z-index:20;top:0;display:flex;align-items:center;gap:34px;height:78px;padding:0 max(28px,calc(50vw - 640px));border-bottom:1px solid var(--line);background:var(--paper);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;padding:0;color:var(--ink);border:0;background:transparent}.brand>span{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;color:var(--on-primary);background:var(--primary);font:700 24px serif;transform:rotate(-4deg)}.brand b{font-size:18px;white-space:nowrap}.brand small{padding:4px 7px;border-radius:6px;color:var(--primary);background:var(--primary-soft);font-weight:600}.topbar nav{display:flex;flex:1;gap:6px}.topbar nav button{display:flex;align-items:center;gap:7px;padding:10px 12px;color:var(--muted);border:0;border-radius:12px;background:transparent;font-weight:650}.topbar nav button:hover{color:var(--primary);background:var(--primary-container)}.topbar nav button.active{color:var(--on-primary-soft);background:var(--primary-soft)}.profile{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}.profile>span:not(.avatar){display:flex;flex-direction:column;white-space:nowrap}.profile small{font-size:11px}.logoutButton{display:grid;width:34px;height:34px;place-items:center;padding:0;color:var(--muted);border:1px solid var(--line);border-radius:12px;background:var(--paper)}.logoutButton:hover{color:var(--primary);background:var(--primary-container)}.avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;color:var(--on-primary-soft);background:var(--primary-soft);font-weight:700}.hero{position:relative;display:grid;min-height:calc(100vh - 78px);grid-template-columns:1.03fr .97fr;align-items:center;gap:30px;padding-bottom:52px}.eyebrow{margin:0;color:var(--primary);letter-spacing:.2em;text-transform:uppercase;font-size:13px;font-weight:700}.hero h1{margin:16px 0 24px;font-size:clamp(48px,5.3vw,76px);font-weight:700;line-height:1.08}.hero h1 em{color:var(--primary);font-style:normal}.lead{max-width:650px;color:var(--muted);font-size:18px;line-height:1.8}.loginCard{display:grid;max-width:670px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow)}.loginCard label{font-size:13px;font-weight:600}.authTabs{display:flex;grid-column:1 / -1;gap:8px;padding-bottom:4px}.authTabs button{display:flex;align-items:center;gap:7px;padding:9px 12px;color:var(--muted);border:1px solid var(--line);border-radius:12px;background:var(--paper);font-weight:600}.authTabs button.active{color:var(--primary);border-color:var(--primary);background:var(--primary-container)}.loginCard label span,.error{color:var(--error)}.loginCard label small{color:var(--muted);font-weight:500}input{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid var(--outline);border-radius:12px;background:var(--paper);outline:none}input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.loginCard .primary,.privacy,.loginCard .error,.loginCard .wideField,.loginCard .successMessage,.loginCard .debugResetLink,.loginCard .forgotButton{grid-column:1 / -1}.successMessage{margin:0;color:var(--success);font-size:12px}.debugResetLink{color:var(--primary);font-size:13px;font-weight:600}.forgotButton{width:max-content;padding:0;color:var(--primary);border:0;background:transparent;font-weight:600}.privacy{margin:0;color:var(--muted);font-size:11px}.error{margin:0;font-size:12px}.welcome{display:flex;align-items:center;gap:22px;margin-top:30px}.welcome div{display:flex;flex-direction:column}.welcome strong{font-size:22px}.heroVisual{position:relative;display:grid;height:520px;place-items:center}.heroVisual:before{position:absolute;width:390px;height:390px;border:2px dashed var(--primary-soft);border-radius:50%;content:""}.centerCard{position:relative;display:flex;width:230px;height:260px;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow);transform:rotate(3deg)}.centerCard>span{color:var(--navy);font:700 112px/1 serif}.centerCard b{color:var(--navy);font-size:14px}.orbit{position:absolute;display:flex;width:104px;height:104px;flex-direction:column;align-items:center;justify-content:center;border:5px solid var(--canvas);border-radius:12px;box-shadow:var(--shadow);font:600 43px serif}.orbit small{font:700 12px sans-serif}.orbitPrompt{position:absolute;z-index:8;bottom:-56px;width:max-content;max-width:230px;padding:9px 12px;border:1px solid currentColor;border-radius:999px;background:var(--paper);box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(-5px);transition:opacity .16s ease,transform .16s ease;font:600 12px/1.4 sans-serif;text-align:center}.orbit:hover,.orbit:focus-visible{z-index:10}.orbit:hover .orbitPrompt,.orbit:focus-visible .orbitPrompt{opacity:1;transform:translateY(0)}.one{top:12%;left:8%;color:var(--on-primary-soft);background:var(--primary-soft);transform:rotate(-8deg)}.two{top:18%;right:7%;color:var(--on-navy);background:var(--navy);transform:rotate(8deg)}.three{bottom:12%;left:6%;color:var(--navy);background:var(--navy-soft);transform:rotate(5deg)}.four{right:9%;bottom:9%;color:var(--on-primary);background:var(--primary);transform:rotate(-7deg)}.two .orbitPrompt{color:var(--navy)}.four .orbitPrompt{color:var(--primary)}.curriculumPicker{grid-column:1 / -1;width:100%}.levelTabs{display:flex;width:fit-content;gap:4px;margin:0 auto 12px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.levelTabs button{min-width:104px;padding:9px 14px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-weight:600}.levelTabs button:hover{color:var(--primary);background:var(--primary-container)}.levelTabs button.active{color:var(--on-primary);background:var(--primary)}.unitStrip button:disabled,.unitCards button:disabled{cursor:not-allowed;opacity:.58}.unitStrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.unitGroups{display:grid;gap:18px}.unitGroup{padding:16px;border:1px solid var(--line);border-left:6px solid var(--primary);border-radius:12px;background:var(--paper)}.unitGroupHead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.unitGroupHead h3{margin:0;font-size:22px}.unitGroupHead small{color:var(--muted)}.unitStrip button,.unitCards button{display:grid;grid-template-columns:auto 1fr auto;gap:3px 10px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 6px 16px #1e253c0d;transition:transform .15s ease,box-shadow .15s ease}.unitStrip button:hover,.unitCards button:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.unitStrip button:before,.unitCards button:before{width:8px;grid-row:1 / 4;border-radius:4px;background:var(--primary);content:""}.unitStrip span,.unitCards span{color:var(--primary);font-size:11px;font-weight:700}.unitStrip b{font-size:16px}.unitStrip small{grid-column:2;color:var(--muted)}.unitStrip i{grid-area:1 / 3 / 3;align-self:center;color:var(--muted);font-style:normal}.sectionHead{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.teacherPreviewBanner{display:flex;max-width:850px;align-items:center;gap:10px;margin:0 auto 20px;padding:12px 16px;border:1px solid var(--warning);border-radius:12px;color:var(--warning);background:var(--warning-soft)}.teacherPreviewBanner span{font-size:14px}.workspace>.teacherPreviewBanner{max-width:none}.workspace>.sectionHead{padding-bottom:20px;border-bottom:2px solid var(--primary)}.sectionHead h2,.quizStart h2{margin:6px 0;font-size:36px}.sectionHead>p,.sectionHead div>p:last-child{margin-bottom:0;color:var(--muted)}.sectionHead select,.sectionHead>button{display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.chapterSelectors{display:flex;align-items:end;gap:10px}.chapterSelectors label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:600}.chapterSelectors select{min-width:125px}.learnGrid{display:grid;grid-template-columns:300px 1fr;gap:24px}.mobileLearningControls,.mobileChapterTitle{display:none}.wordList{height:690px;padding:10px;overflow:auto;border:0;border-radius:16px;background:var(--navy);scrollbar-color:var(--navy-muted) var(--navy)}.wordList button{display:grid;width:100%;grid-template-columns:34px 1fr auto;align-items:center;padding:11px;text-align:left;border:0;border-radius:12px;color:var(--on-navy);background:transparent}.wordList button:hover{background:var(--navy-hover)}.wordList button.active{color:var(--on-primary-soft);background:var(--primary-soft)}.wordList span{color:var(--navy-muted);font-size:11px}.wordList small{color:var(--navy-success)}.wordList button.active span{color:var(--on-primary-soft)}.wordList button.active small{color:var(--success)}.flashcard{min-height:690px;padding:26px 48px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.cardTop{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.cardTop button{display:flex;align-items:center;gap:7px;padding:9px 12px;color:var(--on-primary-soft);border:0;border-radius:12px;background:var(--primary-soft)}.speechStatus{min-height:18px;margin:4px 0;text-align:right;color:var(--on-primary-soft);font-size:12px}.pictureCue{display:flex;width:108px;height:108px;flex-direction:column;align-items:center;justify-content:center;margin:4px auto 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.pictureCue span{font-size:52px;line-height:1}.pictureCue small{margin-top:7px;color:var(--primary);font-weight:600}.wordShape{display:flex;justify-content:center;gap:12px;margin:20px 0 8px}.wordShape span{display:grid;width:95px;height:95px;place-items:center;border:2px solid var(--line);border-radius:12px;background:linear-gradient(45deg,transparent 49%,var(--primary-container) 50%,transparent 51%),linear-gradient(-45deg,transparent 49%,var(--primary-container) 50%,transparent 51%);color:var(--ink);font:600 58px serif}.pinyin{margin:10px 0 25px;text-align:center;color:var(--primary);font-size:22px}.pillRow,.meaning{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.pillRow span,.meaning>span{display:grid;width:34px;height:34px;place-items:center;border-radius:12px;color:var(--navy);background:var(--navy-soft);font:600 18px serif}.pillRow p{margin:0;color:var(--muted)}.reveal{display:flex;width:100%;align-items:center;justify-content:center;gap:7px;padding:12px;color:var(--primary);border:1px solid var(--primary);border-radius:12px;background:var(--primary-container);font-weight:600}.revealBody{animation:appear .18s ease-out}@keyframes appear{0%{opacity:0;transform:translateY(-4px)}}.meaning strong{font-size:18px}.english{display:block;margin-top:5px;color:var(--muted);font-size:14px;font-weight:650}.memory,.context,.example{margin-top:13px;padding:14px 16px;border-radius:12px}.memory{background:var(--navy-soft)}.context,.example{background:var(--surface)}.memory p,.context p,.example p{margin:5px 0 0;color:var(--muted)}.cardActions{display:flex;justify-content:space-between;margin-top:20px}.cardActions button{display:flex;align-items:center;gap:7px;padding:12px 16px;border:0;border-radius:12px;font-weight:600}.quizStart{padding-top:70px;text-align:center}.generationFilters{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.generationFilters select,.generationFilters button{min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.generationList{display:grid;gap:10px;margin-bottom:28px}.generationList button{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--paper);text-align:left;cursor:pointer}.generationList small{color:var(--muted)}.archiveQuestions{display:grid;gap:14px;margin:16px 0 28px}.archiveQuestion{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.archiveQuestion>small{color:var(--muted);font-weight:700}.archiveQuestion>p:nth-of-type(1){font-size:1.1rem;font-weight:600}.archiveQuestion ol{display:grid;gap:6px;padding-left:28px}.archiveQuestion li{padding:5px 8px}.archiveQuestion li.correct{border-radius:5px;background:var(--success-soft);color:var(--success);font-weight:600}.quizStart .levelTabs{margin-top:28px}.unitCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.quizUnitGroups{margin-top:42px;text-align:left}.unitCards button{position:relative;min-height:200px;grid-template-columns:12px 1fr}.unitCards button:before{grid-row:1 / 5}.unitCards b{font-size:28px}.unitCards strong,.unitCards small{grid-column:2}.unitCards small{color:var(--muted)}.unitArrow{position:absolute;right:15px;bottom:15px;color:var(--primary)}.quizBar{display:flex;max-width:850px;align-items:center;gap:18px;margin:10px auto 24px}.quizBar>div{flex:1;height:8px;overflow:hidden;border-radius:12px;background:var(--navy-soft)}.quizBar i{display:block;height:100%;background:var(--primary);transition:width .2s ease}.quizBar strong{display:flex;align-items:center;gap:4px;color:var(--primary)}.quizExit{max-width:850px;margin:-14px auto 20px;text-align:right}.quizExit button{border:1px solid var(--outline);border-radius:12px;padding:9px 15px;color:var(--muted);background:var(--paper);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.quizExit button:hover,.quizExit button:focus-visible{border-color:var(--muted);background:var(--navy-soft)}.quizExit button:disabled{opacity:.5;cursor:default}.practiceWaitScreen{min-height:100dvh;display:grid;place-items:center;padding:28px;text-align:center}.practiceWaitCard{width:min(100%,460px);padding:42px 30px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.practiceWaitCard h2{margin:16px 0 10px}.practiceWaitCard p:not(.eyebrow){line-height:1.6;color:var(--muted)}.practiceWaitCard button{margin-top:12px;padding:10px 18px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font-weight:600}.practiceWaitSpinner{display:block;width:42px;height:42px;margin:auto;border:4px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;animation:practiceWaitSpin 1s linear infinite}@keyframes practiceWaitSpin{to{transform:rotate(360deg)}}.questionCard{max-width:850px;margin:auto;padding:38px 50px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow)}.questionCard>p{color:var(--primary);font-weight:700}.questionCard h2{font-size:24px}.questionCard blockquote{margin:20px 0;padding:24px;border-radius:12px;color:var(--ink);background:var(--surface);font-size:24px;font-weight:600}.questionCard blockquote small{display:block;margin-top:9px;color:var(--muted);font:650 14px/1.5 sans-serif}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.options button{display:flex;align-items:center;gap:12px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.options button>span{display:grid;width:30px;height:30px;place-items:center;border-radius:6px;background:var(--navy-soft);font-weight:600}.options button svg{margin-left:auto}.options button.correct{border-color:var(--success);background:var(--success-soft)}.options button.wrong{border-color:var(--error);background:var(--error-soft)}.options button:disabled{opacity:1;cursor:default}.options button.muted{color:var(--muted)}.feedback{margin-top:18px;padding:16px;border-radius:12px}.feedback.good{color:var(--success);background:var(--success-soft)}.feedback.retry{color:var(--error);background:var(--error-soft)}.feedback p{color:var(--muted)}.quizNavigation{display:grid;min-height:46px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10px;margin-top:14px}.quizNavigation>div:last-child{justify-self:end}.quizNavigation button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.quizNavigation .isBlank{visibility:hidden;pointer-events:none}.quizBack{padding:12px 16px;border:1px solid var(--line);border-radius:12px;color:var(--primary);background:var(--paper);font-weight:600}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stats>div{display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.stats>div:nth-child(4){background:var(--paper)}.stats span{color:var(--muted);font-size:13px}.stats strong{margin-top:8px;font-size:35px}.stats small{color:var(--muted);font-size:15px}.progressPanel,.reviewPanel,.leaderTable,.teacherGate{margin-top:20px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.progressRow{display:grid;grid-template-columns:220px 1fr 60px;align-items:center;gap:16px;margin:18px 0}.progressRow b{display:flex;flex-direction:column}.progressRow small{color:var(--muted);font-weight:500}.progressRow>div{height:10px;overflow:hidden;border-radius:12px;background:var(--line)}.progressRow i{display:block;height:100%;border-radius:12px;background:var(--primary)}.reviewPanel>div:first-child{display:flex;justify-content:space-between;gap:20px}.reviewPanel h3,.reviewPanel p{margin:0}.reviewPanel p{color:var(--muted)}.reviewWords{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.reviewWords button{padding:9px 12px;color:var(--primary);border:1px solid var(--line);border-radius:12px;background:var(--primary-container)}.reviewWords span{margin-left:8px;font-size:11px}.emptyState{width:100%;padding:24px 0;text-align:center}.teacherGate{max-width:460px;margin:70px auto;padding:38px;text-align:center}.teacherGate>span{display:grid;width:70px;height:70px;place-items:center;margin:auto;border-radius:12px;color:var(--primary);background:var(--primary-soft)}.teacherGate input{margin:12px 0}.teacherGate p+input{margin-top:20px}.teacherGate .primary{width:100%}.teacherGate .error{margin-top:12px}.tableHead,.tableRow{display:grid;min-width:980px;grid-template-columns:1.2fr .8fr 1fr 1fr .65fr .65fr .65fr .65fr;align-items:center;gap:10px;padding:12px}.tableHead{color:var(--muted);border-bottom:1px solid var(--line);font-size:11px;font-weight:700}.tableRow{border-bottom:1px solid var(--line)}.leaderTable{overflow-x:auto}.rank{display:grid;width:32px;height:32px;place-items:center;border-radius:12px;background:var(--navy-soft);font-weight:700}.r1{color:var(--warning);background:var(--warning-soft)}.teacherNote{padding:14px;border-radius:12px;color:var(--ink);background:var(--navy-soft)}@media(max-width:900px){.topbar{-webkit-backdrop-filter:none;backdrop-filter:none}.topbar nav{position:fixed;right:0;bottom:0;left:0;z-index:50;display:flex;justify-content:space-around;gap:2px;padding:7px max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--paper);box-shadow:0 -4px 18px #0001}.topbar nav button{flex:1;justify-content:center;padding:10px 4px;font-size:12px}.profile{margin-left:auto}.page{padding:28px 18px 100px}.hero{display:block;padding-bottom:55px}.heroVisual{height:380px}.curriculumPicker{margin-top:12px}.unitStrip{grid-template-columns:1fr 1fr}.learnGrid{grid-template-columns:1fr}.workspace .sectionHead{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:18px}.mobileChapterTitle{display:block;margin:4px 0 0;font-size:20px}.workspace .eyebrow{margin:0;font-size:12px}.mobileLearningControls{display:flex;gap:10px}.mobileLearningControls button{display:flex;flex:1;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font-size:13px}.workspace .chapterSelectors{display:none;width:100%}.workspace .chapterSelectors.isOpen{display:flex;flex-wrap:wrap}.workspace .wordList{display:none;height:auto;max-height:250px}.workspace .wordList.isOpen{display:block}.workspace .flashcard{min-height:0}.workspace .cardTop{flex-wrap:wrap;gap:10px}.workspace .cardTop>span{flex:1;min-width:140px}.workspace .speechStatus:empty{display:none}.flashcard{padding:24px 18px}.unitCards,.stats{grid-template-columns:1fr 1fr}.options{grid-template-columns:1fr}.progressRow{grid-template-columns:130px 1fr 48px}.loginCard{grid-template-columns:1fr}.loginCard .primary,.privacy{grid-column:1}.hero h1{font-size:48px}}.progressIntro,.progressScope,.progressFootnote{color:var(--muted);font-size:13px;line-height:1.7}.progressIntro{margin:8px 0 0}.priorityReview{margin-top:0}.priorityReview h3{margin:0 0 4px}.priorityReview>div:first-child{align-items:center}.priorityReview>div:first-child p{margin:0}.priorityReview .primary{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 16px;border:0;border-radius:9px;font-weight:600}.stats.progressStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:22px;padding:18px 0;border-block:1px solid var(--line)}.progressStats>div{min-width:0;padding:0 20px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent}.progressStats>div:first-child{padding-left:0}.progressStats>div:last-child{border:0}.progressStats strong small{display:block;margin:6px 0 0;font-size:12px;line-height:1.6}.priorityReview .emptyState{padding:12px 0}.progressScope{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.chapterProgress{padding:0}.progressPanelHeading{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;gap:14px}.progressPanelHeading h3{margin:0}.progressPanelHeading label{display:grid;gap:6px;color:var(--muted);font-size:12px}.progressPanelHeading select{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font-size:14px}.progressUnit{border-top:1px solid var(--line)}.progressUnit>summary{display:flex;align-items:center;gap:14px;padding:18px 24px;cursor:pointer;list-style:none}.progressUnit>summary::-webkit-details-marker{display:none}.progressUnit>summary>span{color:var(--muted);font-size:12px}.progressUnit>summary>svg{margin-left:auto;color:var(--muted);flex-shrink:0}.progressUnit[open]>summary>svg{transform:rotate(180deg)}.progressUnit>div{padding:0 24px 8px}.progressFootnote{border-top:1px solid var(--line);padding:14px 24px;margin:0}@media(max-width:600px){.progressStats>div{padding-inline:10px}.progressStats strong{font-size:22px}.progressStats span{font-size:12px}.progressStats strong small{font-size:11px}.progressPanelHeading{padding:16px;flex-wrap:wrap}.progressUnit>summary{padding:16px;gap:10px}.progressUnit>div{padding-inline:16px}.progressFootnote{padding:12px 16px}.priorityReview>div:first-child{align-items:start;gap:12px}.progressRow{grid-template-columns:minmax(0,1fr) 70px 42px}.workspace .wordShape{flex-wrap:wrap}.workspace .wordShape span{width:56px;height:60px;font-size:36px}.workspace .cardTop>span{font-size:11px}}@media(max-width:560px){.topbar{gap:12px;height:68px;padding:0 14px}.brand b{font-size:16px}.brand small{display:none}.profile .avatar{width:32px;height:32px}.profile>span:not(.avatar){max-width:88px;overflow:hidden;text-overflow:ellipsis}.hero{min-height:calc(100vh - 68px);padding-bottom:45px}.hero h1{font-size:42px}.lead{font-size:16px}.heroVisual{height:360px;margin:-20px;transform:scale(.82)}.curriculumPicker{margin-top:4px}.levelTabs{width:100%}.levelTabs button{min-width:0;flex:1;padding-inline:7px}.unitStrip button{min-height:82px;padding:10px}.unitStrip i{display:none}.sectionHead{flex-direction:column;align-items:start;gap:10px}.sectionHead h2{font-size:28px}.chapterSelectors{width:100%;flex-wrap:wrap}.chapterSelectors label{flex:1 1 120px}.chapterSelectors select{width:100%;min-width:0;max-width:none}.wordShape{gap:6px}.wordShape span{width:64px;height:64px;font-size:40px}.unitCards,.stats{grid-template-columns:1fr}.questionCard{padding:24px 18px}.progressRow{grid-template-columns:105px 1fr 38px;gap:10px;font-size:13px}.reviewPanel>div:first-child{flex-direction:column}}.submissionBackRow{display:flex;justify-content:space-between;align-items:start;gap:14px;flex-wrap:wrap}.submissionReview h1{margin:5px 0 9px;color:var(--ink);font-size:28px}.submissionReview .eyebrow{margin:0;color:var(--primary);font-size:12px}.submissionBadge{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:4px 9px;font-size:12px;line-height:1.5}.submissionBadge.good,.submissionAnswers .good{color:var(--success);background:var(--success-soft)}.submissionBadge.wrong,.submissionAnswers .wrong{color:var(--error);background:var(--error-soft)}.submissionMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:20px 0;margin:24px 0;border-block:1px solid var(--line)}.submissionMetrics>div{min-width:0;padding:0 24px;border-right:1px solid var(--line)}.submissionMetrics>div:first-child{padding-left:0}.submissionMetrics>div:last-child{border:0}.submissionMetrics span{display:block;color:var(--muted);font-size:12px}.submissionMetrics strong{display:block;margin-top:8px;font-size:30px;font-variant-numeric:tabular-nums}.submissionMetrics small{color:var(--muted);font-size:13px;font-weight:400;margin-left:6px}.submissionToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.submissionToolbar>span{color:var(--muted);font-size:12px}.submissionToggle{display:flex;gap:4px;padding:4px;background:var(--surface);border-radius:10px}.submissionToggle button{border:0;border-radius:7px;padding:9px 12px;background:transparent;color:var(--muted);font-size:13px}.submissionToggle button[aria-pressed=true]{background:var(--navy);color:var(--on-navy)}.submissionQuestion{border-bottom:1px solid var(--line)}.submissionQuestion:last-child{border:0}.submissionQuestion summary{display:flex;gap:13px;align-items:start;padding:20px;list-style:none;cursor:pointer}.submissionQuestion summary::-webkit-details-marker{display:none}.submissionQuestion summary>svg{flex-shrink:0;margin-top:7px;color:var(--muted)}.submissionQuestion[open] summary>svg{transform:rotate(90deg)}.submissionQuestionCopy{flex:1;min-width:0;line-height:1.8;overflow-wrap:anywhere}.submissionQuestionCopy .submissionBadge{display:flex;width:fit-content;margin-top:7px}.submissionQuestionBody{padding:0 20px 20px 64px}.submissionAnswers{display:grid;grid-template-columns:1fr 1fr;gap:12px}.submissionAnswers>div{padding:13px 15px;border-radius:9px}.submissionAnswers small{display:block;margin-bottom:6px;font-size:12px}.submissionAnswers strong{display:flex;align-items:center;gap:5px;font-size:15px}.submissionQuestionBody>p{color:var(--muted);font-size:14px;line-height:1.8}.submissionOptions{display:flex;flex-wrap:wrap;gap:6px 28px;margin:16px 0;padding-left:20px;color:var(--muted);font-size:13px}@media(max-width:600px){.submissionMetrics>div{padding:0 12px}.submissionMetrics strong{font-size:26px}.submissionMetrics small{display:block;margin:3px 0 0;font-size:12px}.submissionReview h1{font-size:24px}.submissionQuestion summary{padding:16px 12px;gap:9px}.submissionQuestionBody{padding:0 14px 18px}.submissionAnswers{grid-template-columns:1fr}}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.teacherPortal{padding-top:28px}.teacherHero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;border-radius:18px;color:var(--on-navy);background:var(--navy)}.teacherHero .eyebrow{color:var(--primary-soft);font-size:12px}.teacherHero h1{margin:7px 0;font-size:30px;font-weight:650}.teacherHero p:last-child{margin:0;color:var(--navy-muted);font-size:14px;line-height:1.6}.teacherHero>svg{color:var(--primary-soft)}.teacherTabs{display:flex;gap:24px;margin:20px 0 28px;border-bottom:1px solid var(--line)}.teacherTabs>button{display:flex;align-items:center;gap:8px;min-height:56px;padding:13px 4px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:600}.teacherTabs>button[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}.teacherTabs>button>span{padding:2px 8px;border-radius:20px;background:var(--navy-soft);color:var(--navy);font-size:12px}.teacherSectionHead{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.teacherSectionHead h2{margin:0 0 7px;font-size:26px;font-weight:650;overflow-wrap:anywhere}.teacherSectionHead p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.teacherButton,.teacherTextButton,.teacherBack{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-weight:600;font-size:13px}.teacherButton:hover{border-color:var(--outline);background:var(--primary-container)}.teacherTextButton{padding:8px 0;color:var(--primary);background:transparent;border:0;white-space:nowrap}.teacherTextButton:hover{color:var(--primary-hover);text-decoration:underline}.teacherBack{margin-bottom:20px;padding-left:0;border:0;background:transparent;color:var(--muted)}.teacherPanel{border:1px solid var(--line);border-radius:16px;background:var(--paper)}.teacherStudentFilters,.teacherLibraryFilters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;padding:20px}.teacherLibraryFilters{grid-template-columns:repeat(4,minmax(0,1fr))}.teacherStudentFilters>label,.teacherLibraryFilters>label{display:grid;min-width:0;gap:7px;color:var(--muted);font-size:12px;font-weight:500}.teacherStudentFilters select,.teacherLibraryFilters select{width:100%;min-width:0;min-height:42px;padding:9px 12px;border:1px solid var(--outline);border-radius:9px;background:var(--paper);color:var(--ink);font-size:14px;text-overflow:ellipsis}.teacherStudentFilters .teacherSearch{position:relative;display:flex;align-items:center;grid-column:1 / -1;gap:10px}.teacherSearch>svg{position:absolute;left:13px;color:var(--muted);pointer-events:none}.teacherSearch input{margin:0;min-height:42px;padding:10px 12px 10px 40px;border-radius:9px;font-size:14px;font-weight:400}.teacherFilterSummary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;min-height:44px;padding:0 20px 16px}.teacherResultCount{color:var(--muted);font-size:12px;white-space:nowrap}.teacherFilterChips{display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0}.teacherFilterChip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:12px;text-align:left;overflow-wrap:anywhere}.teacherFilterChip:hover{border-color:var(--outline)}.teacherClearFilters{margin-left:auto}.teacherCompactHeader h1{margin:5px 0 8px;font-size:28px}.teacherCompactHeader .eyebrow{margin:0;font-size:12px}.teacherCompactHeader>p:last-child{margin:0;color:var(--muted);font-size:14px}.teacherScope{margin:0 20px 14px;color:var(--muted);font-size:12px}.teacherStatsHelp{margin-top:16px;color:var(--muted);font-size:13px;line-height:1.8}.teacherStatsHelp summary{cursor:pointer}.teacherStatsHelp p{padding:16px;border-radius:10px;background:var(--surface)}.teacherTable{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.teacherTable th{padding:13px 20px;border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.teacherTable td{padding:15px 20px;border-bottom:1px solid var(--line);vertical-align:middle;line-height:1.6;overflow-wrap:anywhere}.teacherTable tbody tr:last-child td{border-bottom:0}.teacherTable tbody tr:hover{background:var(--surface)}.teacherTable td strong{font-weight:650}.teacherTable td small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.teacherTable td:last-child{text-align:right}.teacherJobsTable td:nth-child(2){max-width:260px}.teacherVisitDetails{margin-top:3px;font-size:12px;color:var(--muted)}.teacherVisitDetails summary{width:fit-content;cursor:pointer}.teacherVisitDetails p{margin:6px 0;max-width:210px}.teacherStatus{display:inline-flex;align-items:center;gap:5px;width:fit-content;padding:5px 9px;border-radius:20px;background:var(--navy-soft);color:var(--navy);font-size:12px;white-space:nowrap}.teacherStatus i{width:6px;height:6px;border-radius:50%;background:currentColor}.teacherStatus.succeeded{color:var(--success);background:var(--success-soft)}.teacherStatus.failed{color:var(--error);background:var(--error-soft)}.teacherStatus.running{color:var(--on-primary-soft);background:var(--primary-soft)}.teacherPagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;border-top:1px solid var(--line)}.teacherPagination>p{margin:0;color:var(--muted);font-size:12px}.teacherPageControls,.teacherPageControls>label,.teacherPageControls nav{display:flex;align-items:center;gap:6px}.teacherPageControls{flex-wrap:wrap;gap:14px}.teacherPageControls>label{gap:6px;color:var(--muted);font-size:12px}.teacherPageControls select{min-height:36px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--paper);font-size:12px}.teacherPageControls nav button{display:grid;place-items:center;min-width:34px;min-height:36px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--muted);font-size:12px}.teacherPageControls nav button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.teacherPageControls nav button[aria-current=page]{background:var(--navy);color:var(--on-navy);border-color:var(--navy)}.teacherPageGap{color:var(--muted);font-size:12px}.teacherEmpty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:54px 24px;text-align:center;color:var(--muted)}.teacherEmpty h3{margin:5px 0 0;font-size:17px;color:var(--ink)}.teacherEmpty p{margin:0;font-size:14px;line-height:1.7}.teacherEmpty>svg{color:var(--primary)}.teacherError{margin:16px 20px;padding:13px 16px;border-radius:10px;color:var(--error);background:var(--error-soft);font-size:14px;overflow-wrap:anywhere}.teacherError button{margin-left:8px;padding:4px;border:0;background:transparent;color:inherit;text-decoration:underline}.teacherDetailMeta{display:flex;flex-wrap:wrap;gap:14px 32px;margin:0 0 22px;color:var(--muted);font-size:12px}.teacherDetailMeta b{margin-left:8px;color:var(--ink);font-weight:500}.teacherDetailActions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.teacherPanelTitle{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:20px;border-bottom:1px solid var(--line)}.teacherPanelTitle h3{margin:0;font-size:17px;font-weight:650}.teacherPanelTitle span{color:var(--muted);font-size:12px}.teacherPortal .archiveQuestions{margin:0;padding:16px 20px;gap:12px}.teacherPortal .archiveQuestion{padding:0;border-radius:12px;background:var(--paper)}.teacherPortal .archiveQuestion>summary{display:flex;align-items:start;gap:13px;padding:17px;cursor:pointer;list-style:none}.teacherPortal .archiveQuestion>summary::-webkit-details-marker{display:none}.teacherPortal .archiveQuestion>summary>span:nth-child(2){flex:1;min-width:0;font-size:16px;line-height:1.7;overflow-wrap:anywhere}.teacherPortal .archiveQuestion>summary small{display:block;margin-top:3px;font-size:11px;font-weight:500;color:var(--muted)}.teacherPortal .archiveQuestion>summary>svg{margin-top:6px;color:var(--muted)}.teacherPortal .archiveQuestion[open]>summary>svg{transform:rotate(90deg)}.teacherQuestionNumber{display:grid;place-items:center;flex:0 0 31px;min-height:31px;border-radius:9px;font-size:12px;font-weight:600;color:var(--navy);background:var(--navy-soft)}.teacherQuestionBody{padding:0 20px 20px 61px}.teacherPortal .teacherQuestionBody ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style-position:inside}.teacherPortal .teacherQuestionBody li{padding:10px 12px;border-radius:9px;background:var(--surface);font-size:14px;overflow-wrap:anywhere}.teacherPortal .teacherQuestionBody li.correct{color:var(--success);background:var(--success-soft);font-weight:600}.teacherQuestionBody li svg{float:right;margin-top:4px}.teacherQuestionBody .teacherAnswer{margin:17px 0 8px;font-size:14px}.teacherQuestionBody .teacherExplanation{margin:0;color:var(--muted);font-size:14px;line-height:1.8}.teacherAudit{margin-top:18px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.teacherAudit>summary{padding:18px 20px;cursor:pointer;font-weight:600;font-size:14px}.teacherAudit>summary>span{margin-left:12px;color:var(--muted);font-weight:400;font-size:12px}.teacherAuditUsage,.teacherJobId{margin:0 20px 12px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.teacherAudit .teacherTable{table-layout:fixed}@media(max-width:1050px){.teacherTable th,.teacherTable td{padding-inline:13px}.teacherJobsTable td:nth-child(2){max-width:190px}}@media(max-width:760px){.teacherHero{padding:24px}.teacherHero h1{font-size:26px}.teacherHero>svg{display:none}.teacherSectionHead{align-items:start}.teacherSectionHead h2{font-size:22px}.teacherSectionHead .teacherButton{flex-shrink:0}.teacherSectionHead p{font-size:13px}.teacherStudentFilters,.teacherLibraryFilters{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:12px}.teacherFilterSummary{padding:0 16px 16px}.teacherFilterChips{flex-basis:100%;order:1}.teacherTable,.teacherTable tbody{display:block}.teacherTable thead{display:none}.teacherTable tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;padding:20px;border-bottom:1px solid var(--line)}.teacherTable tbody tr:last-child{border:0}.teacherTable td{display:block;min-width:0;padding:0;border:0;font-size:14px}.teacherTable td:before{content:attr(data-label);display:block;margin-bottom:4px;font-size:11px;font-weight:400;color:var(--muted)}.teacherTable td:first-child{grid-column:1 / -1}.teacherTable td:first-child:before,.teacherTable td:last-child:before{display:none}.teacherStudentsTable td:first-child strong,.teacherJobsTable td:first-child strong{font-size:17px}.teacherJobsTable td:nth-child(2){max-width:none;grid-column:1 / -1}.teacherTable td:last-child{grid-column:1 / -1;text-align:left}.teacherTable td small{display:inline;margin-left:5px}.teacherTable td:first-child small{display:block;margin-left:0}.teacherJobsTable td:nth-child(4) small{display:block;margin-left:0}.teacherPagination{padding:16px;gap:12px}.teacherPageControls{width:100%;justify-content:space-between;gap:12px}.teacherPageControls nav{flex-wrap:wrap;gap:4px}.teacherPageControls nav button{min-width:36px;min-height:40px}.teacherPanelTitle{padding:16px}.teacherPortal .archiveQuestions{padding:12px}.teacherPortal .archiveQuestion>summary{padding:14px 12px;gap:9px}.teacherPortal .archiveQuestion>summary>span:nth-child(2){font-size:15px}.teacherQuestionBody{padding:0 14px 18px}.teacherPortal .teacherQuestionBody ol{grid-template-columns:1fr;gap:8px}.teacherAudit>summary{padding:17px 16px}.teacherAudit>summary>span{display:inline-block}.teacherDetailMeta{gap:10px 20px}.teacherAudit .teacherTable td:last-child:before{display:block}.teacherAudit .teacherTable td:first-child:before{display:block}}@media(max-width:390px){.teacherSectionHead{flex-direction:column}.teacherTabs{gap:18px}.teacherTabs>button{font-size:14px}.teacherPageControls{justify-content:start}.teacherPageControls>label{width:100%}.teacherAudit>summary>span{margin-left:0;display:block}}
