@import './brand-tokens.css';
@import './brand-theme.css';
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/source-sans-3-400.woff') format('woff')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('./fonts/source-sans-3-600.woff') format('woff')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url('./fonts/source-sans-3-700.woff') format('woff')}
:root{color-scheme:light;--font-display:Georgia,'Palatino Linotype',serif;--font-body:'Source Sans 3',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:var(--type-body)/1.65 var(--font-body)}.shell{max-width:1280px;margin:auto;padding:0 44px}.header{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:13px;font:var(--type-lead) var(--font-display);letter-spacing:-.02em;text-decoration:none}.brand svg{flex-shrink:0}.learning-page-nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap;font-size:var(--type-small)}.learning-page-nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.learning-page-nav a:hover{text-decoration:underline}a{color:inherit;text-underline-offset:4px}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.2;margin:0 0 16px}h1{font-size:var(--page-title-size);letter-spacing:-.025em}h2{font-size:var(--type-heading)}h3{font-size:var(--type-lead)}p{margin:0 0 16px;max-width:76ch}.eyebrow{font-size:var(--type-small);font-weight:600;letter-spacing:.14em;color:var(--cosmic-muted)}.muted{color:var(--cosmic-muted)}.small{font-size:var(--type-small)}.course-intro{padding:40px 0 20px;max-width:850px}.lead{font-size:var(--type-lead);line-height:1.6}.progress-row{display:flex;align-items:center;gap:20px;font-size:var(--type-small);padding:0 0 24px;border-bottom:1px solid var(--border)}progress{width:180px;height:8px;accent-color:var(--cosmic-teal)}.layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:32px;margin-top:32px}.lesson-nav button{display:flex;gap:12px;align-items:center;width:100%;text-align:left;margin-bottom:10px;background:#fff;min-height:60px}.lesson-number{font-family:var(--font-display);font-size:var(--type-lead)}.lesson-nav>p{padding:10px 12px}.lesson-nav button[aria-current=step]{background:var(--cosmic-selected);border-color:var(--cosmic-teal);box-shadow:inset 3px 0 var(--cosmic-teal)}button,.button{font:600 var(--type-body)/1.5 var(--font-body);border:1px solid var(--cosmic-control-edge);border-radius:var(--corner);background:#fff;color:var(--ink);padding:11px 17px;min-height:44px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}button:hover,.button:hover{background:var(--cosmic-hover)}button:disabled{opacity:.45;cursor:default}.primary{background:var(--cosmic-button-fill);border-color:var(--cosmic-teal);color:white}.primary:hover{background:var(--cosmic-teal)}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--cosmic-teal);outline-offset:4px}#lesson-title{scroll-margin-top:24px}.panel{border:1px solid var(--border);border-radius:var(--corner);padding:32px;min-width:0}.lesson-goal{color:var(--cosmic-muted);margin-bottom:26px}.lesson-opening.with-card{display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:28px;align-items:start}.lesson-opening figure{margin:0;text-align:center}.lesson-opening img{width:100%;height:auto;border-radius:var(--corner);box-shadow:0 4px 14px #2b414d15}.lesson-opening figcaption{font-size:var(--type-small);margin:8px 0 20px}.example,.feedback{border-left:3px solid var(--cosmic-teal);background:var(--cosmic-panel);padding:20px 24px;border-radius:0 var(--corner) var(--corner) 0;margin:24px 0}.example p,.feedback p,.vocabulary p{margin-bottom:0}.vocabulary{padding:20px 24px;border:1px solid var(--border);border-radius:var(--corner);background:var(--cosmic-subtle);margin:24px 0}.vocabulary h3,.example h3,.feedback h3{margin-bottom:10px}fieldset{border:0;padding:0;margin:28px 0 18px;min-width:0}legend{font-size:var(--type-lead);font-weight:600;margin-bottom:12px;max-width:100%}.option{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--border);padding:14px 16px;margin:10px 0;border-radius:var(--corner);cursor:pointer}.option:hover{background:var(--cosmic-hover)}.option:has(:checked){background:var(--cosmic-selected);border-color:var(--cosmic-teal)}input{accent-color:var(--cosmic-teal);margin-top:6px;flex-shrink:0}.notes{margin:22px 0}textarea{display:block;width:100%;min-height:90px;padding:12px;background:#fff;color:var(--ink);border:1px solid var(--cosmic-control-edge);border-radius:var(--corner);font:inherit;margin:10px 0;resize:vertical}.notes label{display:block;margin-top:14px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.takeaway{margin:28px 0 0;font-family:var(--font-display);font-size:var(--type-lead)}.complete{border-top:1px solid var(--border);padding-top:24px;margin-top:28px}.complete .button{margin-right:10px;margin-bottom:10px}.utility{margin:40px 0;padding:28px 32px;background:var(--cosmic-panel);border:1px solid var(--border);border-radius:var(--corner)}.utility h2{font-size:var(--type-subheading)}details{margin-top:18px}summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}details>p:first-of-type{margin-top:14px}.footer-band{background:var(--cosmic-footer);padding:38px 0;margin-top:64px}.footer-columns{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}.footer-columns nav{display:flex;flex-direction:column;gap:9px;font-size:var(--type-small)}.footer-columns h2{font:600 var(--type-small) var(--font-body);margin-bottom:5px}.footer-brand{font:var(--type-lead) var(--font-display);text-decoration:none}.footer-bottom{border-top:1px solid var(--border);margin-top:30px;padding-top:20px;font-size:var(--type-small);color:var(--cosmic-muted)}.footer-bottom>a{margin-right:20px}@media(max-width:850px){.layout{grid-template-columns:1fr}.lesson-nav{display:flex;flex-wrap:wrap;gap:8px}.lesson-nav button{width:auto;flex:1 1 170px;margin:0;justify-content:flex-start}.lesson-nav>p{display:none}.header{flex-wrap:wrap;padding:16px 0}.footer-columns{grid-template-columns:1fr 1fr}}@media(max-width:600px){.shell{padding:0 20px}.header{gap:8px}.learning-page-nav{gap:0 14px}.learning-page-nav a{min-height:36px}.course-intro{padding-top:28px}.panel{padding:22px 18px}.lesson-opening.with-card{grid-template-columns:1fr;gap:8px}.lesson-opening figure{grid-row:1;max-width:145px;justify-self:center}.lesson-nav button{font-size:var(--type-small);padding:10px}.progress-row{gap:10px;justify-content:space-between}progress{width:95px}.vocabulary,.example,.feedback{padding:18px}.utility{padding:24px 20px}.footer-columns{gap:26px}.footer-columns>div{grid-column:1/-1}.actions>button{flex:1 1 auto}}@media print{.header,.lesson-nav,.actions,.utility,.footer-band,button{display:none}.layout{display:block}.panel{border:0}.shell{padding:0}.notes{display:block}}

.lesson-opening p,.example p,.vocabulary p,.feedback p{font-size:18px;line-height:1.65}@media(max-width:420px){.lesson-opening p,.example p,.vocabulary p,.feedback p{font-size:17px}}

/* Compact lesson navigation: one consistent rhythm at every screen size. */
.lesson-nav{align-self:start}
.lesson-nav button{gap:10px;justify-content:flex-start;min-height:58px;padding:12px 14px;font-size:15px;line-height:1.4;font-weight:600;box-shadow:none;border-color:#d9d3e4;background:#fff}

.lesson-number{display:inline-block;width:20px;height:auto;flex:0 0 20px;border-radius:0;background:transparent;color:#62717b;font:400 20px/1 var(--font-display);text-align:left}
.lesson-nav button[aria-current=step]{border-color:#328c88;background:#f6fbfa;box-shadow:none}

.lesson-nav button[aria-current=step] .lesson-number{color:#166e6b;font-weight:700}
.lesson-nav button:hover{background:#f3f7f7}
@media(min-width:601px) and (max-width:850px){.lesson-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.lesson-nav button{width:100%;min-width:0;min-height:64px;margin:0;flex-direction:row;align-items:center;gap:8px;padding:10px;font-size:14px}.lesson-nav>p{display:none}}
@media(max-width:600px){.lesson-nav{display:grid;grid-template-columns:1fr;gap:8px}.lesson-nav button{width:100%;min-height:48px;margin:0;flex:none;padding:10px 14px;font-size:14px}}
@media(forced-colors:active){.lesson-nav button[aria-current=step]{outline:2px solid Highlight;outline-offset:2px}}

.course-updates{margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}

/* Quiet coursework controls: let the question and feedback lead. */
button,.button,.option{box-shadow:none;border-radius:8px}
.option{background:#fff;border:1px solid #cbd7dc;padding:12px 14px;gap:12px;min-height:48px;line-height:1.5}
.option:hover{background:#f5f8f9}
.option:has(:checked){background:#eef6f6;border-color:#38737b;box-shadow:none;outline:none}
.option:has(:focus-visible){outline:2px solid #38737b;outline-offset:3px}
.option.is-correct:has(:checked){background:#edf7ef;border-color:#39804c}
.option.is-correct input{accent-color:#28703c}
.feedback{background:#f4f7f8;border:1px solid #d3dfe2;border-left:3px solid #718994;border-radius:8px;padding:14px 16px;margin:16px 0}
.feedback.is-correct{background:#edf7ef;border-color:#b7d7bd;border-left-color:#39804c}
.feedback h3{font:700 16px/1.4 var(--font-body);margin-bottom:6px;color:#3f5965}
.feedback.is-correct h3{color:#256638}
.feedback p{font-size:17px;line-height:1.5}
.takeaway{font:400 18px/1.55 var(--font-body)}
@media(max-width:600px){legend{font-size:18px;line-height:1.5}.option{margin:8px 0}.feedback{padding:12px 14px}.takeaway{font-size:17px}}
@media(forced-colors:active){.option:has(:checked){border-color:Highlight;outline:1px solid Highlight}.feedback.is-correct{border-color:CanvasText}}
