/* Academy UI: public introduction, profile, lesson, assessment and results. */
.module-card.has-score{grid-template-columns:48px minmax(0,1fr) 96px auto}.module-card.has-score button{grid-column:4}.module-result{grid-column:3;grid-row:1/4;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--accent)}.module-result-value{font-family:var(--font-display);font-size:42px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.module-result-value>span{font-size:24px}.module-result-label{color:var(--muted);font-size:12px;line-height:1.4}
.academy-main{padding-bottom:96px}.academy-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:96px;padding-block:72px 64px;border-bottom:1px solid var(--line)}.academy-hero h1{font-size:clamp(56px,5.8vw,84px);margin:24px 0;line-height:1}.academy-hero h1 em{font-weight:400;color:var(--accent)}.academy-hero>.academy-pathway{align-self:end;border-left:1px solid var(--line);padding-left:40px}.academy-pathway h2{font-size:30px}.pathway{padding:0;list-style:none;counter-reset:path}.pathway li{counter-increment:path;position:relative;padding:12px 0 12px 30px;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);line-height:1.7}.pathway li:before{content:counter(path,decimal-leading-zero);position:absolute;left:0;color:var(--accent);font-size:12px;top:14px}.academy-pathway small{display:block;margin-top:24px;color:var(--muted);font-size:13px;line-height:1.8}.lead{font-size:22px;color:var(--accent);font-family:var(--font-display)}.academy-hero .muted{max-width:57ch;font-size:16px}.pill{border-top:1px solid var(--line);padding-top:14px;font-size:12px;color:var(--accent);line-height:1.7}.academy-hero .actions{gap:24px;margin-top:32px}.status:empty{display:none}.status{padding:16px 20px;background:var(--surface);border-left:2px solid var(--accent);margin-block:24px;font-size:15px}.status.error{border-color:var(--danger);color:var(--danger)}.login-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:40px;margin-block:48px}.login-layout h2{font-size:38px;margin-top:18px}.login-layout p{font-size:15px;line-height:1.8}.login-layout .field{margin-bottom:20px}.login-layout .actions{margin-top:28px}.login-layout button:not(.primary){min-height:52px;padding:12px 20px;border:1px solid var(--input-border);background:transparent;color:var(--ink);font-size:14px}.academy-main .section{padding-block:56px}.section-heading{margin-bottom:32px}.section-heading h2{font-size:42px}.section-heading .muted{font-size:13px}.module-grid{display:grid;grid-template-columns:1fr}.module-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:8px 20px;align-items:center;position:relative;padding:24px 0;border-top:1px solid var(--line);min-width:0}.module-card:last-child{border-bottom:1px solid var(--line)}.module-card .number{grid-row:1/4;align-self:start;color:var(--accent);font-size:13px;padding-top:9px}.module-card h3{grid-column:2;margin:0;font-size:27px;line-height:1.2}.module-card p{grid-column:2;margin:0;color:var(--muted);font-size:14px}.module-card .button,.module-card button{grid-column:3;grid-row:1/4;min-width:140px}.module-card.locked{opacity:.68}.badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.badge{padding:24px 0;border-top:1px solid var(--line);min-width:0}.badge h3{font-size:25px;margin:0 0 12px}.badge p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.badge.earned{border-color:var(--accent)}.badge.earned h3{color:var(--accent)}#candidate-panel{padding-top:48px}#candidate-panel>.panel{margin-bottom:32px}.academy-main .panel{padding:32px}.academy-main .panel.section-heading{display:flex;margin:0 0 32px}.progress-track{height:4px;background:var(--line);overflow:hidden;margin:20px 0}.progress-fill{height:100%;background:var(--accent)}.academy-main .gold-panel{margin-top:40px;border-top:2px solid var(--accent);background:#25231f;padding:32px}.gold-panel h2{font-size:36px}.gold-panel .actions{margin-top:24px}.gold-panel small,.small{font-size:13px;color:var(--muted)}.academy-main details{margin-block:28px}.academy-main details summary{font-size:16px}.academy-main details p{font-size:14px}.lesson{max-width:840px;margin:48px auto}.lesson>.actions{margin-bottom:40px}.lesson h1{font-size:clamp(40px,4.5vw,64px);margin:20px 0 32px;line-height:1.05}.lesson h2{font-size:34px;margin:36px 0 16px}.lesson h3{font-size:27px}.lesson p,.lesson li{color:#c4c5bf;font-size:16px;line-height:1.85}.lesson li{margin-bottom:12px}.lesson .eyebrow{font-size:12px;color:var(--accent)}.lesson .panel{margin-block:32px}.lesson .panel label{display:flex;align-items:flex-start;gap:12px;margin-bottom:24px;font-size:15px;line-height:1.8}.lesson .panel label input{flex:0 0 18px;margin-top:4px}.scenario{padding:28px 32px;margin-block:24px;border-left:2px solid var(--accent);background:var(--surface-soft)}.scenario p{font-size:16px}.scenario h3{margin-top:0}.correct-label{color:var(--success)!important;font-weight:500}.incorrect-label{color:var(--danger)!important;font-weight:500}.source-links{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.source-links a{color:var(--accent);margin-right:16px}.quiz{max-width:840px;margin:48px auto}.quiz-head{display:flex;justify-content:space-between;gap:24px;align-items:center}.quiz-head h2{font-size:34px;margin:0}.timer{font-variant-numeric:tabular-nums;color:var(--accent);font-size:20px;white-space:nowrap}.quiz fieldset{margin:32px 0;padding:0;border:0;min-width:0}.question-heading{font-family:var(--font-display);font-size:30px;line-height:1.2;margin-bottom:24px;width:100%}.answer{display:flex;align-items:flex-start;gap:16px;min-height:64px;padding:18px 20px;margin-bottom:12px;border:1px solid var(--input-border);cursor:pointer;font-size:16px;line-height:1.7;background:var(--bg)}.answer input{flex:0 0 18px;margin:3px 0 0}.answer:has(input:checked){border-color:var(--accent);background:#28251f}.answer:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.quiz .actions{justify-content:space-between;border-top:1px solid var(--line);padding-top:24px}.quiz .actions button{min-height:48px}.quiz .small{margin-top:24px}#save-status{font-size:13px;color:var(--muted)}.score{font:400 92px/1 var(--font-display);color:var(--accent);margin:32px 0}.feedback{padding:20px;border:1px solid var(--line);margin:16px 0;font-size:15px}.feedback p{font-size:15px}.feedback strong{color:var(--ink)}.feedback .incorrect{color:var(--danger)}.academy-main .actions{flex-wrap:wrap}.academy-main button{font-size:14px}.academy-main .button:disabled,.academy-main button:disabled{opacity:.45;cursor:not-allowed}.academy-main .status.success{color:var(--success)}
@media(max-width:1000px){.academy-hero{gap:48px;grid-template-columns:1.1fr .9fr}.academy-hero h1{font-size:64px}.academy-hero>.academy-pathway{padding-left:24px}.login-layout{gap:40px;padding:32px}.module-card h3{font-size:25px}}
@media(max-width:768px){.academy-hero{grid-template-columns:1fr;padding-block:48px;gap:32px}.academy-hero h1{font-size:64px}.academy-hero>.academy-pathway{border-left:0;border-top:1px solid var(--line);padding:32px 0 0}.login-layout{grid-template-columns:1fr;gap:24px}.badge-grid{grid-template-columns:1fr;gap:0}.module-card{grid-template-columns:32px minmax(0,1fr)}.module-card .button,.module-card button{grid-column:2;grid-row:auto;justify-self:start;margin-top:12px}.module-card .number{grid-row:1/5}.module-card h3{font-size:27px}.section-heading{align-items:flex-start;flex-wrap:wrap;gap:16px}.quiz-head{align-items:flex-start}.quiz .actions{gap:12px}.lesson p,.lesson li{font-size:16px}}
@media(max-width:600px){.academy-main{padding-bottom:64px}.academy-hero h1{font-size:52px}.academy-hero .actions{gap:16px}.pill{font-size:10px}.academy-main .panel{padding:24px 20px}.login-layout{margin-inline:-8px;padding:24px 20px;gap:20px}.login-layout h2{font-size:34px}.academy-main .section{padding-block:40px}.section-heading h2{font-size:36px}.module-card{gap:8px 12px;padding-block:20px}.module-card h3{font-size:25px}.lesson,.quiz{margin:32px -8px}.lesson h1{font-size:42px}.lesson h2{font-size:30px}.scenario{padding:24px 20px}.question-heading{font-size:27px}.answer{padding:16px}.quiz-head h2{font-size:28px}.timer{font-size:17px}.score{font-size:80px}.lesson .panel{padding:20px}.gold-panel h2{font-size:31px}}
@media print{.academy-hero,#curriculum,.academy-main>.section,#login-panel,#status,.academy-main .actions{display:none!important}.academy-main{width:100%;padding:0}.panel,.badge{border-color:#aaa!important;background:#fff!important}.badge-grid{grid-template-columns:repeat(3,1fr)}body,p,h1,h2,h3{color:#111!important}#candidate-panel{padding:0}}

.academy-main button:not(.primary){display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid var(--input-border);background:transparent;color:var(--ink);font-size:14px;line-height:1.5}.academy-main button:not(.primary):hover:not(:disabled){border-color:var(--accent);background:var(--surface)}#question-heading{font-family:var(--font-display);font-size:30px;line-height:1.25;margin-bottom:24px;width:100%}.module-card h3,.badge h3{font-family:var(--font-display);font-weight:400}.lesson>#lesson-back{margin-bottom:16px}@media(max-width:600px){#question-heading{font-size:27px}}@media print{.academy-main button{display:none!important}.local-demo-notice{display:none!important}}

@media(max-width:768px){.module-card.has-score{grid-template-columns:32px minmax(0,1fr) auto}.module-card.has-score h3,.module-card.has-score p{grid-column:2/-1}.module-card.has-score .module-result{grid-column:2;grid-row:4;align-items:flex-start;margin-top:12px}.module-card.has-score button{grid-column:3;grid-row:4;align-self:center}.module-result-value{font-size:36px}}

/* Lesson scenarios: think first, then reveal one response at a time. */
.practice-flashcards{margin:24px 0 40px}.lesson .practice-intro{font-size:16px;margin:0 0 24px;color:var(--muted)}.practice-progress{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px;color:var(--muted);font-size:13px}.practice-progress>span:first-child{color:var(--accent)}.practice-card{display:flex;flex-direction:column;gap:24px;min-height:340px;padding:32px;border:1px solid var(--accent);border-radius:14px;background:linear-gradient(135deg,#232421,var(--surface));box-shadow:0 16px 40px #0002}.practice-card-caption{display:flex;justify-content:space-between;align-items:center;color:var(--accent);font-size:13px;letter-spacing:.08em;text-transform:uppercase}.practice-card-caption>span:last-child{font-family:var(--font-display);font-size:28px;letter-spacing:0}.lesson .practice-question{font-family:var(--font-display);font-size:32px;font-weight:400;line-height:1.3;margin:0;overflow-wrap:anywhere}.practice-card[data-revealed="false"] .practice-question{margin-block:auto}.practice-answer{display:grid;gap:16px}.practice-procedure{border-left:2px solid var(--success);padding-left:16px}.practice-procedure>span{font-size:13px;font-weight:500}.lesson .practice-procedure p{font-size:16px;line-height:1.75;margin:6px 0 0;overflow-wrap:anywhere}.practice-avoid{border-color:var(--danger)}.practice-card #practice-reveal{align-self:flex-start;min-height:48px;padding:12px 24px;margin-top:auto}.practice-navigation{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px}.practice-navigation>span{font-size:13px;color:var(--muted);text-align:center}.practice-question:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
@media(max-width:600px){.practice-card{padding:24px 20px;gap:20px;min-height:330px}.lesson .practice-question{font-size:27px}.practice-progress{font-size:12px;gap:8px}.practice-navigation{gap:12px;flex-wrap:wrap}.practice-navigation>span{order:3;flex-basis:100%}.practice-card #practice-reveal{align-self:stretch}}
@media print{.practice-card{box-shadow:none;border-color:#aaa;background:#fff;min-height:0}.practice-progress,.practice-navigation{display:none}}

/* Rich lessons are selected by the enrolled version; legacy lessons keep their layout. */
.glossary-drawer>summary{min-height:48px;display:list-item;padding:12px 0}.glossary-drawer>label{display:block;font-size:16px;margin:16px 0 12px}
.diagram-frame{max-width:100%;overflow-x:auto;border-radius:12px}.diagram-frame:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.lesson .diagram-description{margin:12px 0;font-size:14px}.diagram-description summary{cursor:pointer;color:var(--accent)}.diagram-description p{font-size:16px!important;line-height:1.7!important}@media(max-width:700px){.diagram-frame img{width:700px!important;max-width:none!important;min-width:700px;height:auto}.diagram-description summary{font-size:15px!important}}
.lesson-map{padding:24px;border:1px solid var(--line);background:var(--surface);margin:32px 0 48px}.lesson-map progress{width:100%;height:8px;accent-color:var(--accent)}.lesson-map ol{padding:0;list-style:none;display:grid;gap:12px}.lesson-map li{margin:0;font-size:16px}.lesson-map a{color:var(--ink);text-decoration:none}.lesson-map a:hover{text-decoration:underline}.lesson-map small{display:block;color:var(--muted);line-height:1.7}.learning-section{padding-top:32px;margin-top:40px;border-top:1px solid var(--line);scroll-margin-top:24px}.lesson .learning-objective{padding:16px 20px;border-left:2px solid var(--accent);background:var(--surface);font-size:16px}.learning-objective strong{color:var(--accent);display:block;margin-bottom:4px}.learning-figure{margin:28px 0}.learning-figure img,.question-image img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px;background:#1c1f1e}.learning-figure img[src$=".webp"]{max-height:460px;object-fit:contain}.learning-figure figcaption{font-size:14px;line-height:1.7;color:var(--muted);padding-top:12px}.learning-figure a{color:var(--accent)}.learning-visual{margin:28px 0;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.learning-visual h3,.learning-steps h3,.learning-pair h3,.learning-takeaways h3{font:500 16px/1.4 var(--font-body);margin:0 0 16px;color:var(--ink)}.visual-flow{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:0;counter-reset:step}.lesson .visual-flow li{flex:1 1 120px;min-width:0;counter-increment:step;padding:16px 12px;border-top:2px solid var(--accent);font-size:16px;line-height:1.5;margin:0;background:var(--bg)}.visual-flow li:before{content:counter(step,decimal-leading-zero);display:block;margin-bottom:8px;color:var(--accent);font-size:14px}.visual-comparison{margin:0;padding-left:24px}.learning-steps{margin:28px 0}.learning-example{margin:28px 0;padding:24px;border-left:2px solid var(--success);background:#202825}.lesson .learning-example p{margin:8px 0 0;font-size:16px}.learning-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.learning-pair>div{min-width:0;padding:20px;border-top:1px solid var(--line)}.learning-pair ul,.learning-takeaways ul{padding-left:20px}.lesson .learning-pair li,.lesson .learning-takeaways li{font-size:16px}.learning-warning{border-color:var(--danger)!important;background:#2b2421}.learning-warning h3{color:#edb3a0}.learning-takeaways{padding:20px;border-left:2px solid var(--accent)}.self-check{margin:32px 0;padding:24px;border:1px solid var(--accent);border-radius:12px;background:var(--surface)}.self-check fieldset{border:0;padding:0;min-width:0;margin:16px 0}.self-check legend{font-size:18px;line-height:1.6;margin-bottom:20px;max-width:100%}.self-check .answer{margin-bottom:10px}.self-check [data-check-feedback]{font-size:16px;line-height:1.7;padding:16px;margin:16px 0 0;border-left:2px solid}.check-correct{color:#b4dcca!important;border-color:var(--success)!important}.check-review{color:#f0ceb2!important;border-color:var(--accent)!important}.study-marker{display:flex;gap:12px;align-items:center;font-size:16px;padding:16px 0}.study-marker input,.first-shift input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.first-shift{padding:24px;background:var(--surface);border:1px solid var(--line);margin:40px 0}.first-shift label{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.7;margin:16px 0}.learning-glossary{margin:48px 0}.learning-glossary>label{display:block;margin-bottom:12px;font-size:16px}.learning-glossary input{width:100%;min-height:48px;background:var(--surface);border:1px solid var(--input-border);padding:14px;color:var(--ink);font-size:16px}.lesson .learning-glossary details{margin:0;border-top:1px solid var(--line);padding:16px 0}.lesson .learning-glossary summary{font-size:16px;cursor:pointer}.lesson .term-variation{color:var(--accent);font-size:15px}.question-image{margin:0 0 24px}.learning-section a:focus-visible,.self-check button:focus-visible,.study-marker input:focus-visible,.learning-glossary summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:600px){.lesson-map,.learning-visual,.self-check,.first-shift{padding:20px 16px}.learning-pair{grid-template-columns:1fr;gap:12px}.learning-figure figcaption{font-size:14px}.learning-section{padding-top:24px;margin-top:32px}.learning-example{padding:20px}.visual-flow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lesson .visual-flow li{font-size:15px;padding:12px}.learning-section h2{overflow-wrap:anywhere}}
@media print{.self-check,.study-marker,.lesson-map{display:none}.learning-section{break-inside:auto}.learning-figure{break-inside:avoid}.learning-glossary details{display:block}}
