:root{--navy:#112c43;--ink:#183247;--muted:#586e7e;--blue:#087ba9;--pale:#eaf5fa;--line:#dce5ec;--bg:#f5f8fb;--green:#146b53}*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--blue);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a,input,select,summary,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:10px 17px;font-weight:600}button:hover{border-color:var(--blue);background:var(--pale)}button:disabled{cursor:default;opacity:.5}.primary{background:var(--blue);color:white;border-color:var(--blue)}.primary:hover{background:#056489;color:white}.skip{position:absolute;top:-80px;z-index:5;background:white;padding:12px}.skip:focus{top:0}aside{position:fixed;inset:0 auto 0 0;width:254px;background:var(--navy);color:white;padding:34px 23px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:white;font-size:23px;font-weight:700;line-height:1.3}.brand small{display:block;font-size:10px;letter-spacing:1.5px;margin-top:7px;color:#abc4d5}.mark{background:#81c8e7;color:var(--navy);border-radius:10px;padding:10px;font-size:22px}.nav-label{font-size:12px;letter-spacing:1.4px;color:#a6bdcd;margin-top:48px}nav{display:grid;gap:7px}nav a{padding:11px 13px;display:flex;gap:12px;color:#c7d7e3;text-decoration:none;border-radius:8px;font-size:15px}nav a.active,nav a:hover{background:#25465f;color:white}.aside-note{margin-top:auto;padding:22px 9px 0;font-size:14px;color:#c4d7e5}.aside-note p{margin:8px 0 16px}.aside-note small{font-size:12px;color:#94afc1}.shell{margin-left:254px}header{height:77px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 45px;background:white;font-size:12px;letter-spacing:1px}.divider{margin:0 12px;color:#a2b1bc}.badge,.tag{display:inline-block;border-radius:5px;background:var(--pale);color:#176083;padding:4px 9px;font-size:12px;font-weight:600;letter-spacing:.2px}main{max-width:1260px;margin:auto;padding:40px 45px 32px;min-height:78vh}h1{font-size:34px;line-height:1.2;letter-spacing:-1px;margin:5px 0 14px}h2{font-size:22px;line-height:1.35;margin:0 0 16px}h3{font-size:18px;line-height:1.4;margin:8px 0}p{margin:8px 0 18px}.muted{color:var(--muted)}.eyebrow{font-size:12px;color:var(--blue);font-weight:750;letter-spacing:1.6px;margin-bottom:12px}.title-row,.row{display:flex;justify-content:space-between;align-items:center;gap:18px}.title-row{margin-bottom:25px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.two{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.panel,.card{background:white;border:1px solid var(--line);border-radius:13px;padding:24px}.card{display:flex;flex-direction:column;align-items:flex-start}.card p{font-size:14px;color:var(--muted)}.card a{margin-top:auto;font-size:14px;font-weight:650;text-decoration:none}.feature{background:var(--navy);color:white;position:relative;overflow:hidden}.feature p{color:#c9dce9;max-width:470px}.feature .eyebrow{color:#8bd4f0}.feature h2{font-size:28px}.feature button{background:#91d5ef;color:#123148;border:0}.stat{font-size:30px;font-weight:700;letter-spacing:-1px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:23px 0 30px}.stats .panel{padding:18px 23px}.stats small{display:block;color:var(--muted);font-size:13px}section{margin:30px 0}.section-heading{margin:28px 0 16px}.mini{font-size:13px;color:var(--muted)}.bar{background:#e5edf3;height:7px;border-radius:6px;overflow:hidden;margin:9px 0 18px}.bar span{display:block;height:100%;background:#168bb6}.filters{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}input,select,textarea{border:1px solid #bdccd7;border-radius:8px;padding:11px 13px;color:var(--ink);background:white}input[type=search]{flex:1;min-width:180px}label{font-size:14px;font-weight:600}textarea{width:100%;min-height:180px;resize:vertical}.lesson{max-width:820px}.lesson li{margin:12px 0}.callout{border-left:4px solid #2195bd;background:var(--pale);padding:18px 21px;margin:22px 0;border-radius:0 8px 8px 0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.back{display:inline-block;margin-bottom:24px;font-size:14px}.option{display:flex;gap:14px;align-items:center;width:100%;text-align:left;margin:10px 0;font-weight:450;padding:15px}.letter{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;font-size:13px}.option.selected{background:var(--pale);border-color:var(--blue)}.option.correct{background:#e9f5ef;border-color:var(--green)}.option.incorrect{background:#fff0ee;border-color:#b54c3b}.feedback{padding:20px;border-radius:10px;background:#eef5fa;margin-top:23px}.feedback.good{background:#e9f5ef}.feedback h3{margin-top:0}.flash{width:100%;min-height:290px;text-align:center;padding:36px;font-size:25px;font-weight:500}.flash small{display:block;font-size:13px;margin-bottom:22px;color:var(--blue)}.empty{text-align:center;padding:50px 25px}.metric-row{padding:16px 0;border-bottom:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-weight:650}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:14px 8px;border-bottom:1px solid var(--line)}.table-wrap{overflow:auto}footer{padding:22px 45px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.source-item{padding:18px 0;border-bottom:1px solid var(--line)}.source-item p{margin:5px 0;font-size:14px}.pill{font-size:12px;background:#edf1f5;padding:4px 8px;border-radius:4px}.checklist label{display:block;padding:10px 0}.checklist input{margin-right:10px} @media(min-width:1450px){main{padding-top:50px}}@media(max-width:1050px){aside{width:220px;padding:25px 16px}.shell{margin-left:220px}main{padding:30px 25px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}header{padding:0 25px}}@media(max-width:700px){aside{position:static;width:auto;padding:18px}.brand{font-size:21px}.brand small{font-size:10px}.nav-label,.aside-note{display:none}nav{display:flex;overflow:auto;gap:6px;margin-top:18px}nav a{white-space:nowrap;padding:8px;font-size:14px}.shell{margin:0}header{height:50px;padding:0 20px}.badge{display:none}main{padding:26px 20px}.grid{grid-template-columns:1fr}.stats{gap:8px}.stats .panel{padding:14px 10px}.stat{font-size:25px}.stats small{font-size:12px}h1{font-size:29px}.title-row{align-items:flex-start;flex-direction:column}.panel,.card{padding:20px}footer{padding:20px}.flash{font-size:21px}.row{flex-wrap:wrap}}@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,border-color .15s}}
/* Expanded curriculum: readable tables and direct topic navigation. */
.wide-lesson{max-width:960px}.lesson-section{scroll-margin-top:22px}.lesson-section li{margin:14px 0}.lesson-section table{font-size:16px;line-height:1.6}.lesson-section th[scope=row]{width:25%;font-weight:650;vertical-align:top}.lesson-section td{vertical-align:top}.lesson-section th,.lesson-section td{padding:16px 12px}.lesson-section thead{background:#edf4f8}.lesson-section .table-wrap{margin-top:12px}.lesson-jumps{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:18px 0;margin-top:12px}.lesson-jumps b{font-size:14px;margin-right:6px}.lesson-jumps button{padding:7px 10px;font-size:14px;font-weight:500}.topic-tags{display:flex;gap:8px;flex-wrap:wrap;padding:18px 0}.topic-tags span{background:#eaf1f6;border:1px solid #d9e5ed;border-radius:5px;padding:5px 9px;font-size:14px}.topic-details{border-top:1px solid var(--line)}.button-link{display:inline-block;padding:10px 14px;text-decoration:none;font-weight:600}.coverage-group{margin:13px 0;padding:19px 22px}.coverage-group summary{list-style-position:outside;margin-left:18px;font-size:18px}.coverage-group summary small{display:block;color:var(--muted);font-weight:400;font-size:13px;margin-top:6px}.coverage-links{padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.coverage-topics{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;padding-top:12px}.coverage-topics label{display:flex;align-items:flex-start;gap:11px;padding:10px 0;font-weight:400;font-size:15px}.coverage-topics input{margin:5px 0 0;accent-color:var(--blue);width:18px;height:18px;flex-shrink:0}.coverage-intro{display:flex;align-items:center;gap:30px}.coverage-intro>div{flex-shrink:0}.coverage-intro .stat{font-size:32px}.coverage-intro p{margin:0}select{max-width:100%}.filters label{min-width:0}.filters label select{max-width:100%;min-width:160px}aside nav{overflow-y:auto}.mini{font-size:14px}.tag{font-size:12px}.aside-note{padding-top:16px}.aside-note small{font-size:12px}footer{font-size:13px}@media(max-width:800px){.coverage-intro{display:block}.coverage-intro p{margin-top:12px}.coverage-topics{grid-template-columns:1fr}.lesson-section table{min-width:600px;font-size:15px}.lesson-section .table-wrap{margin-right:-8px}.lesson-jumps{gap:6px}.lesson-jumps button{max-width:100%;text-align:left}.filters select{width:100%}.filters label{width:100%}}@media print{aside,header,footer,.actions,.lesson-jumps,.back,.topic-details{display:none!important}.shell{margin:0}main{padding:0;max-width:none}.panel{border:0;padding:10px 0;break-inside:auto}.lesson-section table{min-width:0}body{background:white;color:black}a{color:black}tr{break-inside:avoid}}

.audit-row summary{cursor:pointer;line-height:1.6}.audit-row summary small{display:block;color:var(--muted,#536579);font-size:.875rem}.audit-row p{overflow-wrap:anywhere}.lesson-jumps{max-height:260px;overflow:auto}.lesson-section:target{outline:2px solid #2458c5}tr[id]{scroll-margin-top:100px}

.answer-review li{padding:12px 8px;border-bottom:1px solid #d9e1ec}.answer-review p{margin:5px 0}.answer-correct{border-left:4px solid #19754a;background:#edf8f1}.exam-nav{display:flex;flex-wrap:wrap;gap:8px}.exam-nav button{min-width:52px;min-height:44px}.exam-nav [aria-current]{outline:3px solid #1457a4}.answer-review{padding-left:28px}

.case-steps{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0}.case-steps button{font-size:.875rem}.case-steps button[aria-current]{background:var(--ink,#172d40);color:white}.case-steps button:disabled{opacity:.5;cursor:not-allowed}.case-choice{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;border:1px solid #c9d7df;border-radius:8px;margin:.75rem 0;cursor:pointer}.case-choice input{width:auto;flex-shrink:0;margin-top:.3rem}.case-choice:has(input:checked){background:#edf5fa;border-color:#27628c}.case-choice:focus-within{outline:2px solid #27628c;outline-offset:2px}.case-findings{font-size:1.1rem;line-height:1.7}.case-explanation{padding:.75rem 0;border-bottom:1px solid #c9d7df}#caseDecision fieldset{border:0;padding:0;margin:1rem 0}#caseDecision legend{font-weight:600}#caseBody details{padding:1rem 0;border-top:1px solid #c9d7df}#caseBody summary{cursor:pointer}#caseError{color:#9e263b}
.coverage-evidence{border-left:3px solid #397da5;padding:.5rem 1rem;margin:1rem 0}.coverage-evidence dt{font-weight:700;margin-top:1rem}.coverage-evidence dd{margin:.25rem 0 1rem;line-height:1.6}
.flash-copy{display:block;font-size:1.1rem;line-height:1.65;margin:1.25rem 0;white-space:normal}.filters>div{min-width:0;flex:1}.filters>div select,.filters>div input{width:100%}
.anatomy-thumb{display:block;width:100%;height:240px;object-fit:contain;background:#fff;margin:1rem 0}.anatomy-view{overflow:auto;max-height:75vh;background:white;border:1px solid #cad7e1;margin:1rem 0}.anatomy-view img{display:block;width:100%;max-width:none;height:auto}.anatomy-view:focus{outline:2px solid #286b96}.anatomy-recall{padding:1rem 0;border-top:1px solid #cad7e1}.anatomy-recall summary{cursor:pointer;font-weight:600}

.anatomy-labeled{display:block;width:100%;min-width:1050px;max-width:none;height:auto;background:#fff}.anatomy-label path{fill:none;stroke:#173f5f;stroke-width:2;paint-order:stroke;filter:drop-shadow(0 0 2px white)}.anatomy-label circle{fill:#173f5f;stroke:white;stroke-width:1.5}.anatomy-label text{font:22px Arial,sans-serif;font-weight:600;fill:#173f5f;stroke:white;stroke-width:5;paint-order:stroke;stroke-linejoin:round}

.anatomy-practice-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1rem}.anatomy-bank{align-self:start;position:sticky;top:1rem}.anatomy-bank-list{display:flex;flex-wrap:wrap;gap:.5rem}.anatomy-drag-label{touch-action:none;cursor:grab;text-align:left;width:100%;background:#fff;color:#173f5f;border:1px solid #8ea9bd;padding:.75rem;font-size:1rem}.anatomy-drag-label[aria-pressed="true"]{outline:3px solid #286b96;background:#e7f2fc}.anatomy-drag-label small{display:block;font-size:.875rem}.anatomy-drop{cursor:pointer}.anatomy-drop rect{fill:#f1f7fb;stroke:#286b96;stroke-width:2}.anatomy-drop:focus{outline:none}.anatomy-drop:focus rect{stroke:#122b42;stroke-width:5}.anatomy-drop.is-correct rect{fill:#e3f5e9;stroke:#237747}.anatomy-drop.is-wrong rect{fill:#fff0e6;stroke:#a34720}.anatomy-target-number{font:18px Arial,sans-serif;fill:#173f5f}.anatomy-target-name{font:20px Arial,sans-serif;fill:#173f5f;font-weight:600}.anatomy-drag-ghost{position:fixed;z-index:9999;pointer-events:none;background:#173f5f;color:white;padding:.6rem 1rem;border-radius:6px;max-width:240px;box-shadow:0 4px 16px #0003}.anatomy-practice-canvas{min-width:0}@media(max-width:850px){.anatomy-practice-layout{grid-template-columns:1fr}.anatomy-bank{position:static}.anatomy-drag-label{width:auto}.anatomy-bank-list{max-height:220px;overflow:auto}}

.game-hero{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:2rem;background:linear-gradient(125deg,#102e50,#1b608e);color:#fff;border-radius:18px;padding:2rem;margin:1.5rem 0}.game-hero h2{font-size:1.9rem;line-height:1.2;color:#fff;margin:1rem 0}.game-hero p{color:#e1effc;max-width:52ch}.game-hero button{background:#f4c65e;color:#172c42;border-color:#f4c65e;font-weight:700}.game-pill{display:inline-block;background:#dfedfa;color:#173f5f;border-radius:99px;padding:.45rem .8rem;font-size:.875rem;font-weight:700}.game-xp{align-self:center;display:flex;flex-direction:column;gap:.6rem}.game-xp strong{font-size:3.6rem;line-height:1}.game-xp progress{width:100%;height:12px;accent-color:#f4c65e}.game-xp small{color:#e1effc}.game-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0}.game-stats>div{border-bottom:3px solid #b9d7ee;padding:1rem;font-size:.9rem}.game-stats b{display:block;font-size:1.8rem;color:#173f5f}.game-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-bottom:1.5rem}.game-mission{position:relative;background:#fff;border:1px solid #c7d9e8;border-top:4px solid #3788b8;border-radius:12px;padding:1.5rem;overflow:hidden}.game-stage{position:absolute;right:12px;top:9px;font-size:2rem;font-weight:800;color:#d6e6f2}.game-mission .tag{position:relative;max-width:80%;font-size:.75rem}.game-mission h3{min-height:3rem;margin:1.25rem 0 1rem;font-size:1.15rem;max-width:24ch}.game-mission progress{width:100%;height:10px;accent-color:#287eaf}.game-challenge{border:2px solid #b88a28;background:#fffcf3}.game-badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1rem 0 2rem}.game-badge{padding:1.25rem;border:1px dashed #b9c9d6;border-radius:12px;background:#f3f6f9}.game-badge>span{font-size:2rem;color:#788995}.game-badge h3{font-size:1rem;margin:.5rem 0}.game-badge p,.game-badge b{font-size:.875rem}.game-badge.earned{border:1px solid #c39a42;background:#fff9e9}.game-badge.earned>span{color:#93691c}.game-round-progress{width:100%;height:12px;accent-color:#287eaf;margin:1.2rem 0}.game-question{max-width:900px}.game-question h2{font-size:1.3rem;line-height:1.6}.game-question fieldset{border:0;padding:0;margin:1.2rem 0}.game-question legend{font-weight:700;margin-bottom:.5rem}.game-option{display:flex;align-items:flex-start;gap:.75rem;border:1px solid #bdcfde;border-radius:8px;padding:1rem;margin:.6rem 0;cursor:pointer}.game-option input{width:auto;flex-shrink:0;margin-top:.35rem}.game-option:has(input:checked){background:#e6f2fc;border-color:#2c709d}.game-option:focus-within{outline:2px solid #2c709d;outline-offset:2px}.game-feedback{background:#e5f0fa;padding:1rem;border-left:4px solid #287eaf}#gameNotice:empty{display:none}@media(max-width:650px){.game-hero{grid-template-columns:1fr;padding:1.4rem;gap:1.2rem}.game-hero h2{font-size:1.5rem}.game-xp strong{font-size:2.6rem}.game-stats{grid-template-columns:repeat(2,1fr)}.game-map{grid-template-columns:1fr}.game-badges{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.game-hero *{animation:none!important;transition:none!important}}
.topic-backlinks{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:.75rem 0 1.25rem;font-size:.9rem}.topic-backlinks a{max-width:100%}.topic-next{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-left:5px solid #287cb1}.topic-next h2{margin:.5rem 0}.topic-sequence{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.25rem 0}.topic-sequence a{padding:.6rem .9rem;background:#e8f2fa;border-radius:6px;font-weight:600}.topic-activities{padding-left:1.2rem}.topic-activities li{margin-bottom:1.2rem}.topic-activities small{display:block;margin:.35rem 0;color:#536778}.topic-card h2{font-size:1.2rem}.topic-card>a{display:block;margin-top:.5rem}[id^="hub-"]{scroll-margin-top:1rem}@media(max-width:640px){.topic-next{align-items:flex-start;flex-direction:column}.topic-sequence a{flex:1 1 42%;font-size:.9rem}}
:root{--control-radius:9px;--success-bg:#e9f5ef;--success-ink:#146b53;--focus-ring:#087ba9}
button,.button-link{min-height:44px;border-radius:var(--control-radius)}
.button-link{border:1px solid var(--line);background:white;padding:10px 17px;color:var(--ink)}
.button-link:hover{border-color:var(--blue);background:var(--pale)}
input[type="search"],select,textarea{border:1px solid var(--line);border-radius:var(--control-radius);padding:10px 12px;color:var(--ink);background:white}
input[type="search"],select{min-height:44px}
:is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.actions{gap:.75rem;flex-wrap:wrap}
.back,.topic-backlinks{font-size:.9rem;line-height:1.5}
.answer-review li,.case-explanation{border-bottom:1px solid var(--line);padding:1rem .75rem}
.answer-review li.answer-correct{background:var(--success-bg);border-left:4px solid var(--success-ink)}
.game-feedback,.feedback{border-radius:var(--control-radius);padding:1rem 1.25rem}
.tag{font-weight:600}

.progress-sync{padding:12px 24px;border-bottom:1px solid #cbd6e3;background:#eef5fc;font-size:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.progress-sync button{font:inherit;cursor:pointer;padding:8px 12px}.progress-sync span{flex:1;min-width:200px}
