:root{--ink:#152f45;--muted:#526873;--paper:#fff;--wash:#f1f6f5;--line:#cbdad7;--teal:#006e65;--navy:#102a46;color-scheme:light}
[data-theme=dark]{--ink:#e8f1ef;--muted:#bdd0cd;--paper:#102c32;--wash:#173b40;--line:#416169;--teal:#91e3d5;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Satoshi,Arial,sans-serif}a{color:var(--teal);text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #c88b29;outline-offset:4px}.wrap{width:calc(100% - 64px);max-width:1180px;margin:auto}header{border-bottom:1px solid var(--line);background:var(--paper)}.header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:23px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-size:21px;font-weight:700;line-height:1.25}.brand small{display:block;font-size:12px;letter-spacing:.08em;margin-top:5px}.controls{display:flex;gap:8px}.controls button,.secondary{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 16px;min-height:44px}.skip{position:absolute;top:-70px;left:10px;background:var(--paper);padding:12px}.skip:focus{top:5px;z-index:10}main{padding-block:58px}h1,h2,h3{line-height:1.15;letter-spacing:-.03em;margin:0 0 22px}h1{font-size:clamp(2.5rem,5vw,4.25rem);max-width:18ch}h2{font-size:1.8rem}h3{font-size:1.25rem}p{margin:0 0 20px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:16px}.lead{max-width:68ch;color:var(--muted);font-size:19px}.status{display:inline-block;font-size:13px;color:var(--teal);font-weight:700;margin-bottom:18px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.primary{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--teal);background:var(--teal);color:var(--paper);font-weight:700;min-height:48px;padding:12px 22px;text-decoration:none}.secondary{text-decoration:none;color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-block:42px}.card{border-top:2px solid var(--teal);padding-top:22px}.card p,.note{color:var(--muted);font-size:15px}.panel{padding:32px;background:var(--wash);border:1px solid var(--line);margin-block:30px}.future{margin-top:65px;border-top:1px solid var(--line);padding-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:48px}.future h2{font-size:1.55rem}.badge{font-weight:700;font-size:13px;color:var(--teal)}.question{border:0;padding:0;margin:30px 0}.question legend{font-weight:700;margin-bottom:13px}.question label{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;margin:8px 0;background:var(--paper);border:1px solid var(--line);cursor:pointer}.question input{width:18px;height:18px;margin-top:5px;flex-shrink:0;accent-color:var(--teal)}.lesson-layout{display:grid;grid-template-columns:250px 1fr;gap:45px;margin-top:40px}.syllabus{list-style:none;padding:0;margin:0}.syllabus button{width:100%;text-align:left;background:var(--paper);color:var(--ink);border:0;border-bottom:1px solid var(--line);padding:16px 12px;font-size:15px}.syllabus button[aria-current=step]{background:var(--wash);border-left:3px solid var(--teal);font-weight:700}.syllabus small{display:block;color:var(--teal);margin-top:7px}.lesson p{max-width:68ch}.lesson .section-title{margin-top:30px}.progress{height:8px;background:var(--line);margin:15px 0 8px}.progress span{height:100%;display:block;background:var(--teal);transition:width .25s}.feedback{padding:18px;border-left:3px solid var(--teal);background:var(--wash);margin-top:20px}.record{max-width:760px;margin:35px auto;border:1px solid var(--line);padding:42px}.record dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.record dt{font-weight:700}.record dd{margin:0}.record ul{padding-left:20px}.record h1{font-size:2.6rem}.feedback[hidden],.record[hidden],[hidden]{display:none!important}.resource-list li{margin-bottom:12px}footer{border-top:1px solid var(--line);padding-block:28px!important;font-size:13px;color:var(--muted)}footer a{margin-right:20px}.import-label{cursor:pointer;display:inline-flex;align-items:center}#resume-file{max-width:100%;margin-top:15px}#import-status{margin-top:15px}.course-meta{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px;font-size:14px;color:var(--muted)}.reset-confirm{border:1px solid var(--line);padding:20px;margin-top:20px}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.lesson-layout{grid-template-columns:1fr}.syllabus{display:grid;grid-template-columns:1fr 1fr}.syllabus button{height:100%;border:1px solid var(--line)}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.header{gap:10px;padding-block:18px}.brand{font-size:18px;gap:8px}.brand img{width:36px;height:36px}.controls{gap:5px}.controls button{font-size:13px;padding:8px 10px}.brand small{font-size:12px}.grid,.future{grid-template-columns:1fr;gap:28px}main{padding-block:38px}.panel{padding:22px}.lesson-layout{gap:28px}.syllabus{grid-template-columns:1fr}.record{padding:25px}.record h1{font-size:2rem}.record dl{grid-template-columns:1fr}.record dd{margin-bottom:12px}.actions>*{max-width:100%}.future{margin-top:45px}.lead{font-size:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{header,footer,.actions,.syllabus,.future,.note,.reset-confirm,#resume-file{display:none!important}body{background:#fff;color:#172e3e}.wrap{width:100%;max-width:none}main{padding:0}.record{border:0;padding:0;margin:0;max-width:none}.record h1{font-size:28px}.panel{border:0;background:#fff}a{color:inherit}.record p{font-size:12pt}}
