:root{color-scheme:dark;--panel:#151b22;--edge:#394551;--text:#eef2f5;--muted:#9ba8b5;--green:#77d58a;--red:#e67b7b;--shadow:0 18px 50px rgba(0,0,0,.42)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at top,#18222c 0,#0b0f14 42%,#06080b 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{overflow-x:hidden}button,a{font:inherit}button{color:inherit}
.courseShell{width:min(1500px,100%);margin:0 auto;min-height:100vh;padding:14px}.courseTopbar,.moduleRail,.learningStage{border:1px solid var(--edge);background:linear-gradient(180deg,rgba(37,47,57,.97),rgba(18,24,30,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),var(--shadow)}
.courseTopbar{min-height:112px;display:grid;grid-template-columns:minmax(330px,460px) 1fr auto;gap:18px;align-items:center;padding:14px 18px;border-radius:12px}.brandLockup{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;min-width:0}.brandLockup img{display:block;width:230px;max-width:none;height:auto}.brandLockup span{display:grid;gap:2px}.brandLockup b{letter-spacing:.12em}.brandLockup small{font-size:.7rem;letter-spacing:.16em;color:var(--muted)}
.courseIdentity{min-width:0}.courseIdentity strong{display:block;margin-top:5px;font-size:.9rem;color:#dbe4eb;white-space:normal}.eyebrow{font-size:.72rem;letter-spacing:.16em;color:#8da4b7;font-weight:800}.modeControls,.languageSwitch{display:flex;gap:7px;align-items:center}
.modeControls button,.languageSwitch button,.stepNav button,.stageFooter button,.railReset,.examActions button,.messageActions button{border:1px solid #52606d;background:linear-gradient(#323d48,#1c242c);border-radius:8px;padding:9px 12px;font-weight:800;letter-spacing:.035em;cursor:pointer}.modeControls button.active,.languageSwitch button.active,.stepNav button.active{border-color:#8bbce6;background:linear-gradient(#426c91,#253e54);box-shadow:0 0 0 1px rgba(139,188,230,.18) inset}button:disabled{opacity:.4;cursor:not-allowed}
.reviewBanner,.testScoreBanner{margin-top:10px;border-radius:8px;padding:10px 14px;font-size:.75rem;font-weight:900;letter-spacing:.09em;text-align:center}.reviewBanner{background:#21364a;border:1px solid #4d82aa;color:#cfe8fb}.testScoreBanner{background:#4a3b20;border:1px solid #8d6f36;color:#ffe3a6}
.courseLayout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:12px;margin-top:12px;align-items:start}.moduleRail{position:sticky;top:12px;border-radius:12px;padding:14px;min-width:0}.railHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.railHeader span{font-size:.74rem;font-weight:900;letter-spacing:.16em}.railHeader strong{font-size:.7rem;color:var(--muted)}
.progressTrack{height:7px;background:#090d11;border:1px solid #303a43;border-radius:99px;margin:10px 0 13px;overflow:hidden}.progressTrack i{display:block;width:0;height:100%;background:linear-gradient(90deg,#4b87b6,#78c48a);transition:width .25s ease}.moduleList{display:grid;gap:7px}
.moduleButton{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left;border:1px solid #3e4954;background:#121920;border-radius:8px;padding:8px;cursor:pointer}.moduleButton.active{border-color:#7eadcf;background:#1c2c39}.moduleButton.passed{border-color:#456e50}.moduleButton.locked{opacity:.48;cursor:not-allowed}.moduleNumber{display:grid;place-items:center;aspect-ratio:1;border-radius:6px;border:1px solid #4c5965;background:#202a33;font-weight:900}.moduleText{min-width:0}.moduleText b{display:block;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moduleText small{display:block;margin-top:2px;color:var(--muted);font-size:.66rem}.moduleState{font-size:.9rem}.railReset{width:100%;margin-top:12px;font-size:.69rem;color:#c7d0d7}
.learningStage{border-radius:12px;min-width:0;overflow:hidden}.stageHeader{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:22px 24px 14px;border-bottom:1px solid #202a33}.stageHeader h1{margin:5px 0 0;font-size:clamp(1.25rem,2.4vw,2rem);line-height:1.15}.languageSwitch button{min-width:54px}
.stepNav{display:flex;flex-wrap:wrap;gap:7px;padding:12px 18px;border-bottom:1px solid #202a33;background:#11171d}.stepNav button{font-size:.75rem;padding:7px 10px}.stepNav button.locked{opacity:.4}.stageContent{min-height:560px;padding:24px;min-width:0}.lessonPanel,.videoPanel,.checklistPanel,.examPanel{max-width:1050px;margin:0 auto}.lessonPanel h2,.videoPanel h2,.checklistPanel h2,.examPanel h2{font-size:clamp(1.25rem,2vw,1.75rem);margin:0 0 14px}.lessonPanel p{font-size:1rem;line-height:1.7;color:#e4e9ed;margin:0 0 1em}
.sectionBadge{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px;padding:6px 9px;border:1px solid #42505c;border-radius:6px;background:#0f151a;color:#a9bfd0;font-size:.7rem;font-weight:900;letter-spacing:.1em}.examIntro{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.examIntro p{margin:4px 0 0;color:var(--muted)}
.questionCard{border:1px solid #394550;border-radius:10px;background:#11171d;padding:16px;margin:0 0 12px}.questionHead{display:flex;gap:12px;align-items:flex-start}.questionIndex{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border:1px solid #52606d;border-radius:50%;font-weight:900}.questionText{font-weight:800;line-height:1.45;padding-top:5px}.choiceList{display:grid;gap:8px;margin-top:13px}
.choiceButton{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;text-align:left;border:1px solid #35414c;background:#192129;border-radius:8px;padding:10px 12px;cursor:pointer}.choiceButton:hover{border-color:#617282}.choiceButton.selected{border-color:#7ba9ce;background:#203246}.choiceButton.correct{border-color:#5b8f65;background:#1d3824}.choiceButton.incorrect{border-color:#a25c5c;background:#3a2020}.choiceId{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#0e1419;font-size:.72rem;font-weight:900}.choiceMark{font-size:.72rem;font-weight:900}
.questionFeedback{margin-top:10px;padding:10px 12px;border-radius:7px;border-left:3px solid #586979;background:#0d1318;line-height:1.5}.questionFeedback.correct{border-left-color:var(--green)}.questionFeedback.incorrect{border-left-color:var(--red)}.questionFeedback .rationale{display:block;margin-top:6px;color:#cbd5dc}.examActions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:18px}.examResult{margin-top:16px;padding:14px;border:1px solid #45525d;border-radius:9px;background:#10161b}.examResult.pass{border-color:#4e7f59}.examResult.fail{border-color:#8c5555}.messageActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pendingMedia{display:grid;place-items:center;min-height:250px;border:1px dashed #66727d;border-radius:12px;background:repeating-linear-gradient(135deg,#10161b,#10161b 18px,#141b21 18px,#141b21 36px);text-align:center;padding:28px}.pendingMedia strong{font-size:1.25rem;letter-spacing:.08em}.pendingMedia span{display:block;margin-top:8px;color:var(--muted)}
.checklistItems{display:grid;gap:8px;margin-top:16px}.checkItem{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:flex-start;border:1px solid #37434d;background:#12191f;border-radius:8px;padding:11px;line-height:1.45}.checkItem input{width:18px;height:18px;margin:1px 0 0}.lockMessage{max-width:720px;margin:80px auto;padding:22px;border:1px solid #705b34;border-radius:10px;background:#332a1a;text-align:center}.lockMessage h2{margin-top:0}
.stageFooter{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;padding:14px 18px;border-top:1px solid #202a33;background:#10161b}.stageFooter button:first-child{justify-self:start}.stageFooter button:last-child{justify-self:end}.emptyState{color:var(--muted);text-align:center;padding:70px 20px}
@media (max-width:980px){.courseTopbar{grid-template-columns:1fr auto}.courseIdentity{grid-column:1/-1;grid-row:2}.courseLayout{grid-template-columns:1fr}.moduleRail{position:static}.moduleList{grid-template-columns:repeat(5,minmax(0,1fr))}.moduleButton{grid-template-columns:36px minmax(0,1fr)}.moduleState{display:none}}
@media (max-width:680px){.courseShell{padding:7px}.courseTopbar{grid-template-columns:1fr;padding:12px}.modeControls{width:100%}.modeControls button{flex:1}.brandLockup img{width:132px}.courseIdentity{grid-column:auto;grid-row:auto}.moduleList{grid-template-columns:repeat(2,minmax(0,1fr))}.stageHeader{padding:17px 14px;display:grid}.languageSwitch{width:100%}.languageSwitch button{flex:1}.stepNav{padding:10px}.stepNav button{flex:1 1 92px}.stageContent{padding:16px;min-height:480px}.examIntro{display:block}.stageFooter{grid-template-columns:1fr 1fr}.stageFooter button{width:100%}.stageFooter #backToAcademyBtn{display:none}.choiceButton{grid-template-columns:28px minmax(0,1fr)}.choiceMark{grid-column:2}}
@media (max-width:410px){.moduleList{grid-template-columns:1fr}.moduleText b{white-space:normal}.stageFooter{grid-template-columns:1fr}.stageFooter button:first-child,.stageFooter button:last-child{justify-self:stretch}}

.listenPlaceholder{display:inline-flex;align-items:center;gap:8px;margin:2px 0 18px;padding:9px 13px;border:1px solid #52606d;border-radius:8px;background:linear-gradient(#2b3540,#171e25);color:#b9c5ce;font-weight:900;letter-spacing:.04em}
.listenPlaceholder:disabled{opacity:.72;cursor:not-allowed}
