:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#eef4f5;--panel:#fff;--panel-soft:#f7faf9;--ink:#0f172a;--muted:#64748b;--line:#dbe5e7;--teal:#0f766e;--teal-dark:#115e59;--blue:#2563eb;--indigo:#4f46e5;--amber:#d97706;--violet:#7c3aed;--red:#dc2626;--green:#15803d;--shadow:0 20px 55px #0f172a14;--shadow-strong:0 28px 70px #0f172a29;background:#eef4f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:radial-gradient(circle at 12% 0%, #0ea5e924, transparent 28%), radial-gradient(circle at 92% 12%, #f59e0b1f, transparent 24%), linear-gradient(#0f766e0b 1px, transparent 1px), linear-gradient(90deg, #2563eb09 1px, transparent 1px), var(--bg);background-size:44px 44px;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.appShell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffdb;flex-direction:column;gap:28px;height:100vh;padding:22px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand img{border-radius:8px;width:42px;height:42px;box-shadow:0 10px 25px #0f766e33}.brand div,.topbar div,.focusCopy,.sectionHeader div{min-width:0}.brand strong{font-size:16px;display:block}.brand span,.sidebarFooter span,.eyebrow,.metricCard span,.metricCard small,.targetItem span,.targetItem small,.focusStats span,.scoreBlock span,.modeCard span,.miniRows span,.laneScore span,.wordList span,.mockHistory span{color:var(--muted);letter-spacing:0;font-size:12px}.navList{gap:8px;display:grid}.navList button,.laneButton,.segmented button,.primaryButton,.secondaryButton,.dangerButton,.iconButton,.textButton,.modeCard,.answerSheet button{border:0;border-radius:8px}.navList button{color:#334155;background:0 0;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;display:flex}.navList button.active,.navList button:hover{color:var(--teal-dark);background:#e4f3f0}.sidebarFooter{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:auto;display:grid}.sidebarFooter div{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;min-width:0;padding:12px}.sidebarFooter strong{margin-top:2px;font-size:20px;display:block}.contentShell{min-width:0;padding:22px}.topbar{justify-content:space-between;align-items:center;gap:14px;width:min(1180px,100%);margin:0 auto 18px;display:flex}.topbar strong{margin-top:3px;display:block}.topbarActions,.syncCluster,.resultActions,.trainerActions,.audioBar,.mockNav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.installedBadge{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;min-height:36px;padding:0 12px;font-size:13px;display:inline-flex}.syncCluster{min-width:0}.syncStatus{border:1px solid var(--line);color:#475569;background:#ffffffc7;border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.syncStatus.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.accountChip{border:1px solid var(--line);background:#ffffffdb;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-width:190px;max-width:260px;min-height:42px;padding:4px 10px 4px 4px;display:grid}.accountChip img,.accountChip>span{border-radius:8px;width:34px;height:34px}.accountChip img{object-fit:cover}.accountChip>span{color:#fff;background:var(--teal);place-items:center;font-weight:900;display:grid}.accountChip strong,.accountChip small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.accountChip strong{font-size:13px}.accountChip small{color:var(--muted);font-size:11px}.mainGrid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:16px;width:min(1180px,100%);margin:0 auto;display:grid}.stack,.mockStart,.mockShell,.onboardingShell{gap:16px;width:min(1180px,100%);margin:0 auto;display:grid}.focusPanel,.panel,.missionShell,.placementHero,.resultHero,.mockTop,.mockQuestion,.answerSheet,.mockNav{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff0;border-radius:8px}.focusPanel{color:#fff;min-height:320px;box-shadow:var(--shadow-strong);background:linear-gradient(135deg,#0f172af5,#14532df0),#0f172a;grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:stretch;gap:18px;padding:28px;display:grid;position:relative;overflow:hidden}.focusPanel:after{content:"";background:linear-gradient(90deg,#22c55e,#38bdf8,#f59e0b);border-radius:999px 999px 0 0;width:45%;height:4px;position:absolute;inset:auto 24px -1px auto}.focusCopy{z-index:1;flex-direction:column;justify-content:center;display:flex;position:relative}.focusPanel .eyebrow,.focusPanel .focusStats span{color:#ffffffc7}.focusPanel h1{letter-spacing:0;max-width:620px;margin:8px 0 18px;font-size:clamp(34px,5vw,58px);line-height:1.02}.focusPanel p{color:#ffffffc7;max-width:680px;margin:16px 0 0;line-height:1.8}.focusStats{flex-wrap:wrap;gap:8px;display:flex}.focusStats span{background:#ffffff1a;border:1px solid #ffffff38;border-radius:8px;align-items:center;min-height:30px;padding:0 10px;display:inline-flex}.heroMedia{z-index:1;align-content:center;gap:14px;display:grid;position:relative}.heroMedia .scenePhoto{border-color:#ffffff2e;min-height:220px;box-shadow:0 20px 50px #02061759}.heroMedia .primaryButton{background:#f59e0b;width:100%;box-shadow:0 16px 30px #f59e0b38}.heroMedia .primaryButton:hover{background:#d97706}.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.metricCard,.targetItem,.laneScore,.reviewItem{border:1px solid var(--line);background:var(--panel);border-radius:8px}.metricCard{min-height:107px;padding:18px;box-shadow:0 14px 36px #0f172a0d}.metricCard strong{margin:10px 0 3px;font-size:32px;display:block}.panel{padding:20px}.wide{grid-column:1/-1}.sectionHeader{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.sectionHeader h2{margin:4px 0 0;font-size:22px}.eyebrow{text-transform:uppercase;font-weight:700;display:inline-flex}.targetStrip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.targetItem{min-height:94px;padding:14px}.targetItem strong{color:var(--teal-dark);margin:6px 0;font-size:28px;display:block}.laneList{gap:10px;display:grid}.laneButton{min-height:48px;color:var(--ink);background:var(--panel-soft);text-align:left;grid-template-columns:20px 1fr 18px;align-items:center;gap:10px;padding:0 12px;display:grid}.laneButton:hover{background:#edf7f5}.scoreBlock{gap:12px;margin-bottom:14px;display:grid}.scoreBlock div{align-items:end;gap:10px;display:flex}.scoreBlock strong{font-size:48px;line-height:1}.scoreBlock p{color:var(--muted);margin:0}.emptyState,.completeState{min-height:138px;color:var(--muted);text-align:center;place-items:center;gap:10px;display:grid}.placementHero{color:#fff;background:linear-gradient(135deg,#0f766ef5,#0f172af0),#0f172a;justify-items:start;gap:16px;padding:28px;display:grid}.placementHero h1{margin:0;font-size:clamp(42px,7vw,78px);line-height:1}.placementHero p{color:#ffffffc7;margin:0;font-size:18px}.placementHero .eyebrow{color:#ffffffc7}.placementHero .resourceList{width:100%}.placementHero .resourceList span{color:#dcfce7;background:#ffffff1a;border-color:#ffffff29}.placementTrainer{width:min(820px,100%);margin:0 auto}.primaryButton,.secondaryButton,.dangerButton,.iconButton,.textButton{justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;display:inline-flex}.primaryButton{color:#fff;background:var(--teal);box-shadow:0 12px 22px #0f766e2e}.primaryButton:hover{background:var(--teal-dark)}.primaryButton.large{align-self:end;min-height:52px;padding:0 20px;font-weight:800}.secondaryButton{color:#164e63;background:#f0f9ff;border:1px solid #bae6fd}.secondaryButton:hover{background:#e0f2fe}.secondaryButton.full{width:100%}.dangerButton{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.iconButton{color:#334155;border:1px solid var(--line);background:var(--panel);width:40px;padding:0}.textButton{min-height:34px;color:var(--teal-dark);background:0 0;padding:0 2px;font-weight:700}.segmented{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.segmented button{color:#334155;background:var(--panel-soft);justify-content:center;align-items:center;gap:8px;min-height:44px;display:inline-flex}.segmented button.active{color:#fff;background:var(--teal)}.trainingLayout{grid-template-columns:minmax(0,1fr) 310px;gap:16px;display:grid}.trainer{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;gap:18px;padding:20px;display:grid}.trainer.compact{min-height:480px;box-shadow:none}.trainerTop{justify-content:space-between;align-items:center;gap:10px;display:flex}.partPill,.focusTag,.status{border-radius:999px;align-items:center;min-height:28px;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.partPill{color:#115e59;background:#ccfbf1}.focusTag{color:#92400e;background:#fef3c7}.masteryRail,.missionProgress{background:#e2e8f0;border-radius:999px;height:8px;position:relative;overflow:hidden}.masteryRail{width:min(180px,45%)}.masteryRail.full{width:100%}.masteryRail span,.missionProgress span{border-radius:inherit;background:var(--teal);height:100%;display:block}.wordHero{background:#f7faf9;border:1px solid #dbe5e7;border-radius:8px;padding:22px}.wordHeroTop{justify-content:space-between;align-items:center;gap:12px;display:flex}.wordHeroTop .iconButton{flex:none}.wordHero span,.wordHeroTop span{color:var(--amber);font-weight:800}.wordHero h3{letter-spacing:0;margin:8px 0 6px;font-size:clamp(38px,7vw,78px);line-height:1}.wordHero p,.listeningScene p,.feedback p,.completeState p,.resultHero p{color:var(--muted);margin:0;line-height:1.6}.choiceGrid{gap:10px;display:grid}.choiceButton{width:100%;min-height:52px;color:var(--ink);border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:9px 12px;display:grid}.choiceButton:hover,.choiceButton.selected{background:#effaf7;border-color:#0f766e}.choiceButton.correct{background:#f0fdf4;border-color:#86efac}.choiceButton.wrong{background:#fef2f2;border-color:#fecaca}.choiceLetter{color:#fff;background:#334155;border-radius:8px;place-items:center;width:30px;height:30px;font-size:13px;font-weight:900;display:inline-grid}.feedback{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:12px;display:grid}.feedback small{color:#0f766e;margin-top:6px;font-weight:800;display:inline-flex}.sidePanel{align-self:start;position:sticky;top:22px}.accuracyDial{background:conic-gradient(var(--teal) var(--score), #e2e8f0 0);border-radius:50%;place-items:center;width:170px;height:170px;margin:8px auto 18px;display:grid}.accuracyDial:before{content:"";position:absolute}.accuracyDial strong,.accuracyDial span{grid-area:1/1}.accuracyDial strong{z-index:1;background:#fff;border-radius:50%;place-items:center;width:122px;height:122px;font-size:30px;display:grid}.accuracyDial span{z-index:1;color:var(--muted);margin-top:62px;font-size:12px}.miniRows{gap:8px;display:grid}.miniRows div,.wordList div,.mockHistory div{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:0 12px;display:flex}.listeningScene{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:center;gap:16px;display:grid}.scenePhoto{color:#fff;aspect-ratio:16/10;background:#0f172a;border:1px solid #bfd8d5;border-radius:8px;min-height:178px;margin:0;display:grid;position:relative;overflow:hidden}.scenePhoto.compact{min-height:180px}.scenePhoto img,.sceneFallback{grid-area:1/1;width:100%;height:100%}.scenePhoto img{object-fit:cover;display:block;transform:scale(1.01)}.scenePhoto:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000 48%,#0f172ac2);grid-area:1/1}.sceneFallback{background:linear-gradient(135deg,#0f766ed6,#f59e0b8a),repeating-linear-gradient(90deg,#ffffff2e 0 2px,#0000 2px 24px),#155e75;align-content:end;gap:8px;padding:16px;display:grid}.sceneFallback strong{font-size:18px}.scenePhoto figcaption{z-index:2;grid-area:1/1;justify-content:space-between;align-self:end;align-items:end;gap:10px;padding:12px;display:flex}.scenePhoto figcaption span,.sceneFallback span{background:#0f172a94;border-radius:8px;max-width:100%;padding:6px 8px;font-size:13px;font-weight:900;display:inline-flex}.scenePhoto figcaption small{color:#dcfce7;background:#166534a8;border-radius:999px;min-width:max-content;padding:5px 7px;font-size:11px;font-weight:900;display:inline-flex}.listeningScene h3,.readingPrompt{letter-spacing:0;margin:0 0 8px;font-size:clamp(20px,3vw,28px);line-height:1.25}.voiceControls{grid-template-columns:minmax(180px,1fr) minmax(220px,.9fr);gap:10px;display:grid}.voiceControls label{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:0 10px;display:flex}.voiceControls select,.voiceControls input{color:#334155;background:0 0;border:0;width:100%;min-width:0}.voiceControls span{color:var(--muted);font-size:12px}.liveDot{background:#cbd5e1;border-radius:999px;width:10px;height:10px}.liveDot.on{background:var(--red);box-shadow:0 0 0 6px #dc26261a}.audioBar.compact .audioMeta{font-size:11px}.audioMeta{font-weight:800}.transcriptPanel{gap:8px;display:grid}.transcript{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:6px;padding:12px;display:grid}.transcript p{margin:0;line-height:1.6}.passage{white-space:pre-wrap;color:#263646;background:#f8fafc;border:1px solid #dbe5e7;border-radius:8px;margin:0;padding:16px;line-height:1.7;overflow-x:auto}.missionShell{gap:16px;padding:20px;display:grid}.missionHeader{justify-content:space-between;align-items:center;gap:14px;display:flex}.missionHeader h2{margin:4px 0 0;font-size:42px;line-height:1}.missionTrainer{min-height:500px}.missionNext{justify-self:end}.completeState h3{color:var(--ink);margin:0;font-size:28px}.mockStart{grid-template-columns:1fr}.modeGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.modeCard{min-height:130px;color:var(--ink);border:1px solid var(--line);background:var(--panel-soft);justify-items:start;gap:8px;padding:18px;display:grid}.modeCard strong{font-size:24px}.modeCard.active{background:#ecfdf5;border-color:#0f766e}.bankPanel{background:linear-gradient(135deg,#fffffff5,#f0fdfaf0),#fff}.versionPill{color:#075985;background:#f0f9ff;border:1px solid #bae6fd;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.bankGrid{grid-template-columns:.95fr 1.25fr 1fr;gap:14px;display:grid}.adaptiveGrid{grid-template-columns:minmax(0,.95fr) minmax(260px,1.05fr);gap:14px;display:grid}.adaptiveScore{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;gap:8px;min-height:160px;padding:16px;display:grid}.adaptiveScore strong{font-size:44px;line-height:1}.adaptiveScore span,.adaptiveScore p,.audioMeta{color:var(--muted);font-size:12px}.adaptiveScore p{margin:0;line-height:1.6}.resourceList{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.resourceList span{border:1px solid var(--line);min-height:48px;color:var(--muted);background:#f8fafc;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:800;display:grid}.resourceList svg{color:#15803d}.bankSummary,.partMatrix,.qualityList{border:1px solid var(--line);background:#ffffffc7;border-radius:8px;min-width:0}.bankSummary{align-content:center;padding:18px;display:grid}.bankSummary strong{color:#0f766e;font-size:46px;line-height:1}.bankSummary span,.bankSummary p,.qualityList span{color:var(--muted);font-size:13px}.bankSummary p{margin:10px 0 0;line-height:1.5}.partMatrix{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px;display:grid}.partMatrix div{background:#f8fafc;border-radius:8px;gap:4px;min-height:66px;padding:10px;display:grid}.partMatrix span{color:var(--muted);font-size:12px;font-weight:800}.partMatrix strong{font-size:25px}.qualityList{align-content:center;gap:8px;padding:14px;display:grid}.qualityList span{grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;display:grid}.qualityList svg{color:#15803d}.mockShell{grid-template-columns:minmax(0,1fr) 260px}.mockTop,.mockQuestion,.mockNav{padding:18px}.mockTop{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;display:grid}.mockTop h2{margin:4px 0 0}.mockTimer{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 12px;font-weight:900;display:inline-flex}.mockQuestion{gap:16px;display:grid}.answerSheet{grid-template-columns:repeat(5,1fr);align-self:start;gap:8px;padding:14px;display:grid}.answerSheet button{color:#334155;border:1px solid var(--line);background:var(--panel-soft);min-height:38px;font-weight:800}.answerSheet button.active{color:#fff;background:var(--blue)}.answerSheet button.answered:not(.active){color:#166534;background:#f0fdf4;border-color:#bbf7d0}.mockNav{grid-column:1/-1;justify-content:space-between}.flip{transform:rotate(180deg)}.resultHero{color:#fff;background:#164e63;justify-items:start;gap:10px;padding:28px;display:grid}.resultHero .eyebrow,.resultHero p{color:#ffffffc7}.resultHero h1{letter-spacing:0;margin:0;font-size:clamp(58px,12vw,128px);line-height:.9}.reviewList{gap:10px;display:grid}.reviewItem{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px;display:grid}.reviewItem strong{margin:6px 0;display:block}.reviewItem p{color:var(--muted);margin:0;line-height:1.5}.status.good{color:#166534;background:#dcfce7}.status.miss{color:#991b1b;background:#fee2e2}.laneScores{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.laneScore{gap:12px;padding:14px;display:grid}.laneScore strong{font-size:34px}.laneScore .masteryRail{width:100%}.wordList,.mockHistory{gap:8px;display:grid}@media (width<=980px){.appShell{grid-template-columns:1fr}.sidebar{z-index:3;border-right:0;border-bottom:1px solid var(--line);height:auto;padding:12px;position:static}.brand{display:none}.navList{grid-template-columns:repeat(4,1fr)}.navList button{justify-content:center}.navList span,.sidebarFooter{display:none}.contentShell{padding:14px}.mainGrid,.trainingLayout,.mockShell{grid-template-columns:1fr}.sidePanel{position:static}.answerSheet{grid-template-columns:repeat(10,1fr)}}@media (width<=720px){.topbar{flex-direction:column;align-items:stretch}.focusPanel{grid-template-columns:1fr;min-height:auto;padding:22px}.focusPanel h1{font-size:42px}.metricGrid,.targetStrip,.modeGrid,.laneScores,.voiceControls,.listeningScene,.segmented,.bankGrid,.adaptiveGrid,.resourceList{grid-template-columns:1fr}.partMatrix{grid-template-columns:repeat(2,minmax(0,1fr))}.scenePhoto{min-height:176px}.mockTop{grid-template-columns:1fr}.answerSheet{grid-template-columns:repeat(5,1fr)}.reviewItem{grid-template-columns:1fr}}@media (width<=430px){.contentShell{padding:10px}.panel,.trainer,.missionShell,.mockTop,.mockQuestion,.answerSheet,.mockNav,.resultHero{padding:14px}.focusPanel h1{font-size:36px}.wordHero h3{font-size:44px}.primaryButton,.secondaryButton,.dangerButton{width:100%}.mockNav{grid-template-columns:1fr;display:grid}}
