:root{--blue:#005af0;--blue-dark:#034ea2;--mint:#c6f2b8;--bg:#f6f8ff;--text:#0b1220;--muted:#4a5568;--card:#fff;--border:rgba(3,78,162,.15);--shadow:0 10px 30px rgba(3,78,162,.10);--radius:22px;--pill:999px;--focus:rgba(0,90,240,.25);--danger:#a92b2b}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px;scrollbar-gutter:stable;overflow-x:hidden}body{margin:0;min-width:0;overflow-x:clip;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:radial-gradient(1200px 800px at 15% 10%,rgba(0,90,240,.10),transparent 60%),radial-gradient(900px 600px at 90% 5%,rgba(198,242,184,.35),transparent 55%),var(--bg);line-height:1.5}button,input,textarea,select{font:inherit}a{color:var(--blue-dark);text-decoration:none}a:hover{text-decoration:underline}.skip{position:fixed;left:12px;top:-70px;z-index:99;background:#0b1220;color:#fff;padding:10px 14px;border-radius:12px}.skip:focus{top:12px}
.topbar{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);background:rgba(246,248,255,.82);border-bottom:1px solid var(--border)}.topInner{max-width:1160px;margin:0 auto;padding:14px 18px 10px;display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px 14px;align-items:center}.brand{display:flex;gap:12px;align-items:center;min-width:260px;color:var(--text)}.brand:hover{text-decoration:none}.brandMark{width:44px;height:44px;padding:9px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.08);overflow:hidden;flex:0 0 auto}.brandMark img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:0;transform:translateY(-4px)}.brandCopy{display:grid;line-height:1.25}.brandCopy strong{font-size:14px;color:var(--blue-dark);letter-spacing:.2px}.brandCopy small{font-size:12px;color:var(--muted);margin-top:2px}.topProgress{grid-column:1/-1;grid-row:2;display:flex;gap:5px;align-items:center}.seg{flex:1;height:10px;border-radius:var(--pill);background:rgba(3,78,162,.10);overflow:hidden;border:1px solid rgba(3,78,162,.12);transition:background .15s ease,box-shadow .15s ease}.seg.on{background:linear-gradient(90deg,var(--blue),var(--blue-dark));box-shadow:0 0 0 2px rgba(0,90,240,.12)}.timePill,.pill{border-radius:var(--pill);padding:8px 12px;border:1px solid var(--border);background:rgba(255,255,255,.78);color:var(--blue-dark);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.timePill:before{content:"⏱️ ";margin-right:5px}
.layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;padding:18px;max-width:1160px;margin:0 auto 40px}.side{position:sticky;top:112px;align-self:start;padding:14px;background:rgba(255,255,255,.58);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.sideStat{display:flex;align-items:center;gap:8px;justify-content:center;width:100%;margin-bottom:12px;padding:8px 12px;border-radius:var(--pill);border:1px solid var(--border);background:rgba(255,255,255,.78);color:var(--blue-dark);font-size:12px;font-weight:700}.sideStat:before{content:"✅"}.eyebrow{margin:0;color:var(--blue-dark);font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}.side h2{margin:3px 0 12px;font-size:14px;color:var(--blue-dark)}.side nav{display:grid;gap:6px}.side nav a{width:100%;padding:9px 11px;border:1px solid transparent;border-radius:16px;color:var(--text);font-size:13px;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.side nav a:hover{background:rgba(0,90,240,.07);border-color:rgba(0,90,240,.10);box-shadow:inset 3px 0 0 var(--blue);text-decoration:none}.side nav a.active{background:rgba(0,90,240,.11);border-color:rgba(0,90,240,.18);box-shadow:inset 3px 0 0 var(--blue-dark);font-weight:700}.sideMeta{margin:14px 0 0;padding:12px;border:1px solid var(--border);background:rgba(255,255,255,.76);border-radius:18px;color:var(--muted);font-size:12px;line-height:1.4}main{min-width:0;display:grid;gap:16px}
.hero,.card{background:rgba(255,255,255,.80);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.hero{padding:24px}.hero .eyebrow{display:inline-flex;padding:7px 12px;border-radius:var(--pill);background:rgba(0,90,240,.10);border:1px solid rgba(0,90,240,.16);font-weight:650}.hero h1{font-size:32px;line-height:1.14;letter-spacing:-.35px;margin:12px 0 9px;max-width:850px}.hero>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:78ch;margin:0 0 14px}.heroTags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.heroTags span,.label{display:inline-flex;align-items:center;padding:7px 12px;border-radius:var(--pill);border:1px solid rgba(3,78,162,.18);background:rgba(255,255,255,.84);font-size:12px;color:var(--blue-dark);font-weight:700}.moduleOutcome{margin-top:16px;padding:15px;border:1px solid rgba(3,78,162,.15);border-radius:18px;background:rgba(246,248,255,.72)}.moduleOutcome h2{margin:0 0 10px;font-size:16px;color:var(--blue-dark)}.outcomeGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.outcomeGrid div{padding:12px;border:1px solid rgba(3,78,162,.13);border-radius:15px;background:rgba(255,255,255,.9)}.outcomeGrid strong,.outcomeGrid span{display:block}.outcomeGrid strong{margin-bottom:4px;color:var(--blue-dark);font-size:13.5px}.outcomeGrid span{color:var(--muted);font-size:12.5px;line-height:1.45}
.conceptPrimer{margin-top:18px;padding:16px;border:1px solid rgba(3,78,162,.15);border-radius:18px;background:rgba(246,248,255,.72)}.conceptPrimer h2{margin:0 0 6px;font-size:19px;color:var(--blue-dark)}.conceptIntro{margin:0 0 12px;color:var(--text);font-size:14px}.conceptGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.conceptCard{padding:13px;border:1px solid rgba(3,78,162,.14);border-radius:16px;background:rgba(255,255,255,.9)}.conceptCard strong{display:block;margin-bottom:5px;color:var(--blue-dark);font-size:14px}.conceptCard p{margin:0;color:var(--text);font-size:13.5px;line-height:1.5}.conceptExample{margin-top:12px;padding:12px 14px;border-left:4px solid #c08a1e;border-radius:14px;background:rgba(214,170,46,.09);font-size:13.5px;line-height:1.55}.conceptExample strong{color:#7a5d10}
.card{padding:0;overflow:visible}.sectionHead{padding:18px 18px 0;display:flex;gap:12px;align-items:flex-start}.num{flex:0 0 auto;min-width:34px;height:30px;padding:0 11px;border-radius:var(--pill);background:rgba(0,90,240,.10);border:1px solid rgba(0,90,240,.16);color:var(--blue-dark);display:grid;place-items:center;font-size:12px;font-weight:800}.sectionHead h2,.card>h2{margin:1px 0 7px;font-size:26px;letter-spacing:-.2px;line-height:1.2}.lead{margin:0 0 14px;color:var(--muted);font-size:14px;max-width:78ch}.card>:not(.sectionHead){margin-left:18px;margin-right:18px}.card>:last-child{margin-bottom:18px}.readBlock{margin-top:14px!important;padding:13px 15px;border-radius:18px;border:1px solid rgba(3,78,162,.14);background:rgba(255,255,255,.86);font-size:14px}.readBlock h3{margin:0 0 8px;color:var(--blue-dark);font-size:15px}.readBlock p{margin:0 0 10px}.readBlock p:last-child{margin-bottom:0}.grid2,.grid3,.grid4{display:grid;gap:12px;margin-top:14px}.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}.mini{border-radius:18px;border:1px solid rgba(3,78,162,.14);background:rgba(255,255,255,.86);padding:14px}.mini h3{font-size:15px;color:var(--blue-dark);margin:7px 0 6px}.mini p{margin:0;color:var(--muted);font-size:14px}.callout{margin-top:14px!important;padding:12px 14px;border-radius:16px;border:1px solid rgba(3,78,162,.16);border-left:4px solid var(--blue);background:rgba(0,90,240,.05);font-size:14px;line-height:1.55}.callout h3{margin:0 0 7px;color:var(--blue-dark);font-size:15px}.callout p{margin:0}.callout.decision{border-left-color:var(--blue-dark)}.callout.control{border-left-color:#1f9d57;background:rgba(31,157,87,.07)}
.deepDive{margin-top:14px!important;border-radius:18px;border:1px solid rgba(3,78,162,.16);background:rgba(255,255,255,.78);overflow:hidden}.deepDive summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;align-items:center;gap:12px;font-weight:760;color:var(--blue-dark)}.deepDive summary::-webkit-details-marker{display:none}.deepDive summary:before{content:"▾";font-size:25px;line-height:1;width:26px;text-align:center;color:var(--blue);transform:rotate(-90deg);transition:transform .18s ease}.deepDive[open] summary:before{transform:rotate(0)}.deepDive>div{padding:0 16px 16px;font-size:14px;line-height:1.55}.deepDive p{margin:0 0 9px}
.patternGlossary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px!important}.patternGlossary .deepDive{margin:0!important;height:max-content}.patternGlossary .deepDive summary{min-height:58px}.patternGlossary .deepDive>div{color:var(--text)}.patternGlossary .deepDive strong{color:var(--blue-dark)}
.activity{margin-top:16px!important;padding:16px;border-radius:18px;border:1px solid rgba(0,90,240,.22);background:linear-gradient(180deg,rgba(0,90,240,.06),rgba(255,255,255,.38));box-shadow:0 8px 22px rgba(3,78,162,.07)}.activity h3{margin:0 0 8px;color:var(--blue-dark);font-size:16px}.activity h3:before{content:"Interactive task";display:table;margin:0 0 9px;padding:4px 11px;border-radius:var(--pill);background:rgba(0,90,240,.12);border:1px solid rgba(0,90,240,.18);font-size:11px;font-weight:800;letter-spacing:.3px;text-transform:uppercase}.activity>p{font-size:14px;color:var(--muted)}.activityDone{display:none;margin-top:10px;color:#15703d;font-size:13px;font-weight:800}.activityDone.show{display:block}.choiceRow,.btnRow{display:flex;gap:10px;flex-wrap:wrap}.choice{appearance:none;border:1px solid rgba(3,78,162,.22);background:rgba(255,255,255,.9);color:var(--blue-dark);padding:10px 14px;border-radius:var(--pill);cursor:pointer;font-weight:650;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.choice:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(3,78,162,.14)}.choice[aria-pressed=true]{background:rgba(0,90,240,.10);border-color:rgba(0,90,240,.38)}.choice:focus-visible,.btn:focus-visible{outline:none;box-shadow:0 0 0 5px var(--focus)}
.caseBrief{margin-top:15px;padding:13px 15px;border:1px solid rgba(3,78,162,.14);border-radius:15px;background:rgba(255,255,255,.8);font-size:13.5px;color:var(--muted)}.caseBrief strong{color:var(--blue-dark)}.caseChoices{display:grid;gap:11px;margin-top:15px}.caseChoices .caseChoice{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr);gap:13px;align-items:start;justify-content:stretch;padding:14px 16px;border-radius:16px;text-align:left;color:var(--text);font-weight:500;line-height:1.5;box-shadow:none}.caseChoices .caseChoice:hover{border-color:rgba(0,90,240,.36);background:#fff;box-shadow:0 8px 18px rgba(3,78,162,.10)}.caseChoices .caseChoice[aria-pressed=true]{border-color:rgba(0,90,240,.45);background:rgba(0,90,240,.075);box-shadow:0 0 0 3px rgba(0,90,240,.08)}.optionMarker{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;border:1px solid rgba(0,90,240,.2);background:rgba(0,90,240,.08);color:var(--blue-dark);font-size:12px;font-weight:850}.caseChoice[aria-pressed=true] .optionMarker{background:var(--blue);border-color:var(--blue);color:#fff}.optionText{display:block;padding-top:1px}
label{display:block;margin:13px 0 6px;color:var(--blue-dark);font-size:14px;font-weight:700}input[type=text],input[type=number],textarea,select{width:100%;padding:11px 13px;border-radius:12px;border:1px solid var(--border);font-size:14px;color:var(--text);background:rgba(255,255,255,.94)}textarea{min-height:84px;resize:vertical}input:focus,textarea:focus,select:focus{outline:none;box-shadow:0 0 0 5px var(--focus);border-color:rgba(0,90,240,.35)}.checkGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex;align-items:flex-start;gap:9px;margin:0;padding:11px 12px;border:1px solid rgba(3,78,162,.14);background:rgba(255,255,255,.86);border-radius:16px;color:var(--text);font-weight:600}.check input{width:auto;margin-top:4px;accent-color:var(--blue)}.btnRow{margin-top:14px}.btn{appearance:none;border:1px solid rgba(0,90,240,.32);background:linear-gradient(90deg,var(--blue),var(--blue-dark));color:#fff;padding:11px 16px;border-radius:var(--pill);cursor:pointer;font-weight:760;box-shadow:0 14px 28px rgba(0,90,240,.18);transition:transform .12s ease,box-shadow .12s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(0,90,240,.22)}.btn.secondary{border-color:rgba(3,78,162,.22);background:rgba(255,255,255,.9);color:var(--blue-dark);box-shadow:none}.btn.danger{background:rgba(192,57,43,.06);color:#a02d22;border-color:rgba(192,57,43,.24);box-shadow:none}.btn:disabled{opacity:.45;cursor:not-allowed}.result{display:none;margin-top:12px;padding:14px;border-radius:16px;border:1px solid rgba(3,78,162,.18);background:rgba(255,255,255,.9);font-size:14px}.result.show{display:block}.result.bad{background:rgba(192,57,43,.06);border-color:rgba(192,57,43,.24);color:#8b281f}.warning{font-size:13px;color:#7a5d10;background:rgba(214,170,46,.10);border:1px solid rgba(214,170,46,.35);border-radius:16px;padding:11px 13px}
.fieldTip{position:relative;display:inline-grid;place-items:center;width:19px;height:19px;margin-right:6px;border:1px solid rgba(0,90,240,.28);border-radius:50%;background:rgba(0,90,240,.08);color:var(--blue-dark);font-size:11px;font-weight:900;line-height:1;cursor:help;vertical-align:1px}.fieldTip:focus{outline:none;box-shadow:0 0 0 4px var(--focus)}.fieldTip:after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 9px);z-index:80;width:min(310px,calc(100vw - 44px));padding:10px 12px;border:1px solid rgba(3,78,162,.2);border-radius:13px;background:#0b1220;color:#fff;font-size:12px;font-weight:500;line-height:1.45;letter-spacing:0;box-shadow:0 12px 28px rgba(11,18,32,.22);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;pointer-events:none}.fieldTip:hover:after,.fieldTip:focus:after{opacity:1;visibility:visible;transform:translateY(0)}
.workflowLegend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px!important}.legendItem{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid rgba(3,78,162,.13);border-radius:14px;background:rgba(255,255,255,.74);font-size:12.5px;line-height:1.4;color:var(--muted)}.legendItem strong{display:block;color:var(--text)}.swatch{flex:0 0 16px;width:16px;height:16px;margin-top:2px;border-radius:5px;border:1px solid rgba(3,78,162,.2);background:#fff}.swatch.ai{background:rgba(0,90,240,.12);border-color:rgba(0,90,240,.3)}.swatch.control{background:rgba(198,242,184,.55);border-color:rgba(31,157,87,.32)}.workflowFlow{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;align-items:stretch;margin-top:14px!important}.step{position:relative;width:100%;min-height:88px;padding:12px 8px;border-radius:16px;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(3,78,162,.18);background:#fff;color:var(--blue-dark);font-size:13px;font-weight:750;line-height:1.3}.step.ai{background:rgba(0,90,240,.12);border-color:rgba(0,90,240,.3)}.step.control{background:rgba(198,242,184,.55);border-color:rgba(31,157,87,.32)}.step:not(:last-child):after{content:"→";position:absolute;right:-13px;top:50%;z-index:3;transform:translateY(-50%);color:var(--blue-dark);font-size:16px}
.tableWrap,.ledgerWrap{overflow:auto;margin-top:14px!important;-webkit-overflow-scrolling:touch}.dataTable,.ledger{width:100%;min-width:680px;border-collapse:separate;border-spacing:0;font-size:13px;background:rgba(255,255,255,.92);border:1px solid rgba(3,78,162,.16);border-radius:14px;overflow:hidden}.dataTable th,.dataTable td,.ledger th,.ledger td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(3,78,162,.12)}.dataTable th,.ledger th{background:rgba(0,90,240,.08);color:var(--blue-dark);font-weight:800}.dataTable tr:last-child td,.ledger tr:last-child td{border-bottom:0}.emptyCell{text-align:center!important;color:var(--muted)}.snapshot,.calcOutput{white-space:pre-wrap;background:rgba(11,18,32,.95);color:#edf4ff;border-radius:16px;border:1px solid rgba(3,78,162,.18);padding:16px;max-height:620px;overflow:auto;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.takeaways{counter-reset:take;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 20px}.takeaway{counter-increment:take;display:flex;gap:12px;align-items:flex-start;margin:0;padding:12px;border:1px solid rgba(3,78,162,.13);border-radius:15px;background:rgba(255,255,255,.78);font-size:14px}.takeaway:before{content:counter(take);flex:0 0 29px;height:29px;border-radius:50%;background:rgba(198,242,184,.75);display:grid;place-items:center;font-weight:900}.summaryCard{padding-top:20px}.summaryCard>.eyebrow{margin-top:0}.summaryCard>h2{margin-top:7px;margin-bottom:16px}.footerNav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px!important;padding-top:18px;border-top:1px solid var(--border);flex-wrap:wrap}.footerNav a{border:1px solid rgba(3,78,162,.22);background:rgba(255,255,255,.92);padding:10px 16px;border-radius:var(--pill);font-weight:700;font-size:14px}.footerNav a.next{background:var(--blue);color:#fff;border-color:var(--blue)}
/* Exam */
.examTop{position:sticky;top:0;z-index:30;background:rgba(246,248,255,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.examTopInner{max-width:900px;margin:auto;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.examWrap{max-width:900px;margin:24px auto 48px;padding:0 18px}.examHero{padding:24px;background:rgba(255,255,255,.82);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.examHero h1{font-size:30px;line-height:1.16;margin:9px 0}.examHero p:last-child{margin:0;color:var(--muted)}.notice{margin:16px 0;padding:13px 15px;border:1px solid rgba(214,170,46,.36);background:rgba(214,170,46,.1);border-radius:16px;font-size:14px}.notice.ok{border-color:rgba(31,157,87,.32);background:rgba(31,157,87,.08)}.quiz{display:grid;gap:14px}.quiz fieldset{margin:0;padding:17px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.86);box-shadow:0 8px 22px rgba(3,78,162,.06)}.quiz legend{padding:0 7px;color:var(--blue-dark);font-weight:800}.quiz .option{display:flex;gap:10px;align-items:flex-start;margin:8px 0;padding:10px 12px;border:1px solid rgba(3,78,162,.12);border-radius:14px;background:rgba(255,255,255,.78);color:var(--text);font-weight:500}.quiz .option input{margin-top:4px;accent-color:var(--blue)}.feedback{display:none;margin-top:9px;padding:10px 12px;border-radius:13px;background:rgba(31,157,87,.08);color:#126535;font-size:13px}.feedback.show{display:block}.feedback.bad{background:rgba(192,57,43,.07);color:#8b281f}.examActions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.examResult{display:none;padding:16px;border-radius:18px;border:1px solid var(--border);background:#fff}.examResult.show{display:block}.examResult.pass{border-color:rgba(31,157,87,.4);background:rgba(31,157,87,.08)}.examResult.fail{border-color:rgba(192,57,43,.3);background:rgba(192,57,43,.06)}.certificate{display:none;margin-top:18px;padding:30px;text-align:center;border:2px solid rgba(0,90,240,.25);border-radius:22px;background:#fff}.certificate.show{display:block}.certificate input{max-width:420px;text-align:center;font-size:19px}.certificate .brandMark{margin:0 auto 12px}.examNav{display:flex;justify-content:space-between;gap:12px;margin-top:20px;flex-wrap:wrap}.examNav a{border:1px solid var(--border);border-radius:var(--pill);background:#fff;padding:10px 15px;font-weight:700}.examNav a.next{background:var(--blue);color:#fff}
@media(max-width:1000px){.layout{grid-template-columns:1fr}.side{position:relative;top:auto}.workflowFlow{grid-template-columns:repeat(4,minmax(0,1fr))}.step:not(:last-child):after{display:none}}
@media(max-width:740px){.topInner{padding:10px 14px}.layout{padding:14px}.grid2,.grid3,.grid4,.checkGrid,.conceptGrid,.workflowLegend,.takeaways,.patternGlossary,.outcomeGrid{grid-template-columns:1fr}.hero{padding:18px}.hero h1,.examHero h1{font-size:26px}.card>:not(.sectionHead){margin-left:14px;margin-right:14px}.sectionHead{padding:16px 14px 0}.sectionHead h2{font-size:23px}.workflowFlow{grid-template-columns:repeat(2,minmax(0,1fr))}.footerNav,.examNav{flex-direction:column;align-items:stretch}.footerNav a,.examNav a{text-align:center}}
@media(max-width:420px){.brandCopy small,.timePill{display:none}.topInner{grid-template-columns:1fr}.topProgress{grid-row:2}.layout{padding:10px}.choice,.btn{width:100%}.caseChoices .caseChoice{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:13px}.optionMarker{width:32px;height:32px}.workflowFlow{grid-template-columns:1fr}.step{min-height:64px}.examTopInner{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media print{.topbar,.side,.activity .btnRow,.footerNav,.examTop,.examActions,.examNav,.notice,.quiz,.examResult{display:none!important}body{background:#fff}.layout{display:block;padding:0}.hero,.card{box-shadow:none;background:#fff;break-inside:avoid}.certificate.show{display:block!important;box-shadow:none}}

/* ---- Start AI shell parity (topbar, reading progress, side reset, moduleNav) ---- */
.topbar .wrap{max-width:1160px;margin:0 auto;padding:14px 18px 10px}
.top{display:flex;gap:14px;align-items:center;justify-content:space-between}
.brand{display:flex;gap:12px;align-items:center;min-width:260px}
.logo{width:44px;height:44px;border-radius:16px;box-shadow:0 8px 22px rgba(0,0,0,.08);background:#fff;padding:6px;display:grid;place-items:center;flex:0 0 auto}
.logo img{display:block;width:100%;height:100%;object-fit:contain}
.brand h1{font-size:14px;margin:0;color:var(--blue-dark);letter-spacing:.2px}
.brand .subtitle{font-size:12px;margin-top:2px;color:var(--muted)}
a.brandHome{color:inherit;text-decoration:none;cursor:pointer}a.brandHome:hover{text-decoration:underline}
.progressRow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0 0}
.progressSegs{flex:1;display:flex;gap:5px;align-items:center}
.progressSeg{flex:1;height:10px;border-radius:999px;background:rgba(3,78,162,.10);overflow:hidden;border:1px solid rgba(3,78,162,.12);position:relative;transition:box-shadow 150ms ease}
.progressSeg .fill{display:block;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--blue-dark));transition:width 200ms ease}
.progressSeg.current{box-shadow:0 0 0 2px rgba(0,90,240,.22)}
.kcResetAll{display:block;width:100%;margin:0 0 12px;padding:8px 12px;border-radius:999px;border:1px dashed rgba(3,78,162,.32);background:transparent;color:var(--blue-dark);font-size:11px;font-weight:700;cursor:pointer;transition:background .12s ease,border-color .12s ease}
.kcResetAll:hover{background:rgba(0,90,240,.06);border-color:rgba(0,90,240,.45)}
#statusPill{cursor:pointer;transition:background .12s ease,box-shadow .12s ease}
#statusPill:hover{background:rgba(255,255,255,.97);box-shadow:0 6px 16px rgba(3,78,162,.12)}
.moduleNav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px!important;padding-top:18px;border-top:1px solid var(--border);flex-wrap:wrap}
.navBtn{appearance:none;text-decoration:none;border:1px solid rgba(3,78,162,.22);background:rgba(255,255,255,.92);color:var(--blue-dark);padding:10px 16px;border-radius:999px;font-weight:700;font-size:14px;transition:transform .12s ease,box-shadow .12s ease}
.navBtn:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(3,78,162,.14);text-decoration:none}
.navBtn.home{background:var(--blue);color:#fff;border-color:var(--blue)}
@media(max-width:740px){.moduleNav{flex-direction:column;align-items:stretch}.navBtn{text-align:center}}
@media print{.moduleNav{display:none!important}}
