:root{--ink:#17332f;--muted:#61736f;--paper:#f7f8f5;--card:#fff;--teal:#0e756c;--teal2:#e8f4f1;--gold:#c28b2f;--gold2:#fff5df;--line:#dce5e1;--rose:#9d5147;--shadow:0 12px 34px rgba(24,51,47,.07);--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.58}.progress-line{height:4px;position:fixed;top:0;left:0;right:0;z-index:100;background:transparent}.progress-line span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--gold))}.shell{max-width:1180px;margin:auto;padding:0 28px}.topbar{height:72px;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1180px)/2));background:rgba(247,248,245,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink)}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--ink);color:white;font-family:Georgia,serif;font-size:20px}.brand strong,.brand small{display:block}.brand small{font-size:11px;color:var(--muted)}.topnav{display:flex;gap:18px;align-items:center}.topnav a{color:var(--muted);text-decoration:none;font-size:13px;font-weight:700}.topnav a:hover{color:var(--teal)}.hero{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center;min-height:690px;padding-top:70px;padding-bottom:70px}.eyebrow,.section-heading>span,.phase-banner>span{font-size:11px;letter-spacing:.16em;font-weight:900;color:var(--teal)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08}h1{font-size:64px;margin:15px 0 22px;letter-spacing:-.035em}h1 span{color:var(--teal)}h2{font-size:42px;letter-spacing:-.02em;margin:9px 0}h3{font-size:24px;margin:9px 0}.lead{font-size:19px;color:var(--muted);max-width:720px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:12px;border:1px solid transparent;font:inherit;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}.btn.primary{background:var(--teal);color:#fff}.btn.secondary{background:#fff;color:var(--teal);border-color:#bcd7d1}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.small{min-height:34px;padding:7px 10px;font-size:11px}.schedule-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.schedule-strip div{padding:15px 13px;border-right:1px solid var(--line)}.schedule-strip div:last-child{border-right:0}.schedule-strip strong,.schedule-strip span{display:block}.schedule-strip span{font-size:11px;color:var(--muted);margin-top:4px}.hero-visual{display:grid;place-items:center}.mind-map{width:min(100%,500px);background:#fff;padding:28px;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.flow-row{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center}.node{padding:17px;border-radius:16px;background:var(--teal2);border:1px solid #cde2dd;text-align:center;font-weight:900}.node.big{font-family:Georgia,serif;font-size:34px;color:#fff;background:var(--ink)}.node small{display:block;margin-top:7px;font-size:10px;font-weight:600;color:var(--muted)}.arrow{text-align:center;font-size:25px;color:var(--gold);padding:7px}.arrow.side{padding:0}.section{padding-top:80px;padding-bottom:80px}.section.compact{padding-top:30px}.section-heading{max-width:780px;margin-bottom:24px}.section-heading p{color:var(--muted)}.lo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lo-card,.learning-route-card,.segment-card,.assessment-card,.audit-card,.chat-card,.helper-guide,.phase-end-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.lo-card b,.tag{font-size:10px;letter-spacing:.1em;color:var(--teal);font-weight:900}.lo-card p,.segment-card p,.assessment-card p{color:var(--muted)}.split-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:28px}.steps{padding-left:22px}.steps li{margin:12px 0}.note-box,.reflection-prompt{padding:14px 16px;border-radius:14px;background:var(--gold2);border:1px solid #eed7a8}.learning-route-card>span{font-size:10px;letter-spacing:.14em;color:var(--teal);font-weight:900}.route{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.route b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--teal2);color:var(--teal)}.phase-section{scroll-margin-top:80px}.phase-banner{padding:30px;border-radius:24px;background:linear-gradient(135deg,#e9f4f1,#fff);border:1px solid #d7e7e3;margin-bottom:22px}.phase-banner.check{background:linear-gradient(135deg,#fff4dd,#fff);border-color:#efdeb8}.phase-banner p{color:var(--muted);max-width:800px}.segment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.segment-card{position:relative;overflow:hidden}.segment-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--teal)}.segment-card .segment-number{font-size:10px;letter-spacing:.12em;font-weight:900;color:var(--teal)}.concept-list{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.concept-list span{padding:5px 8px;background:#f0f4f2;border-radius:999px;font-size:10px;font-weight:700}.mini-diagram{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfb}.mini-diagram .row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pill{padding:7px 9px;border-radius:10px;background:var(--teal2);font-size:11px;font-weight:800}.muted{color:var(--muted)}.source{font-size:11px;color:var(--muted);margin-top:14px}.segment-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.phase-end-card{margin-top:20px;background:var(--ink);color:#fff}.phase-end-card p{color:#d5e4e0}.assessment-grid,.audit-grid,.helper-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.assessment-card.offline{background:#fffdf8}.assessment-card .btn{margin:6px 6px 0 0}.audit-section{background:linear-gradient(180deg,transparent,#f0f6f4 15%,#f0f6f4 85%,transparent)}.trace{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;margin:10px 0}.trace b{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--teal);color:#fff}blockquote{margin:16px 0;padding:16px;border-left:4px solid var(--gold);background:#fff8e9;border-radius:0 12px 12px 0}.concept-chain{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:15px 0}.concept-chain span{padding:8px 10px;border-radius:10px;background:var(--teal2);font-size:11px;font-weight:800}.concept-chain i{color:var(--gold)}.helper-guide{display:flex;flex-direction:column;gap:9px}.prompt-chip{border:1px solid var(--line);background:#f7faf8;text-align:left;padding:10px 12px;border-radius:12px;cursor:pointer}.chat-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.chat-toolbar select{padding:7px 9px;border:1px solid var(--line);border-radius:9px}.chat-log{height:310px;overflow:auto;border:1px solid var(--line);background:#f8faf9;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:9px}.msg{max-width:86%;padding:10px 12px;border-radius:13px;white-space:pre-wrap}.msg.bot{align-self:flex-start;background:#fff;border:1px solid var(--line)}.msg.user{align-self:flex-end;background:var(--teal);color:#fff}#chatForm{display:grid;gap:8px;margin-top:10px}textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:11px;font:inherit}.helper-status{display:block;margin-top:8px;color:var(--muted)}.progress-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.progress-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;text-align:center}.progress-card.done{background:var(--teal2);border-color:#c3ded7}.progress-card strong{display:block;font-size:24px}.progress-card span{font-size:10px;color:var(--muted)}.progress-actions{margin-top:16px}.references-list{columns:2;column-gap:36px}.references-list p{break-inside:avoid;font-size:13px;color:#4d615d;margin-top:0;margin-bottom:17px}.activity-dialog{width:min(760px,94vw);border:0;border-radius:24px;padding:0;box-shadow:0 30px 90px rgba(10,30,25,.25)}.activity-dialog::backdrop{background:rgba(12,31,27,.55)}#activityBody{padding:30px}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:30px;cursor:pointer}.question{padding:16px 0;border-bottom:1px solid var(--line)}.question label{display:block;padding:7px 0;cursor:pointer}.result-box{margin-top:16px;padding:16px;border-radius:14px;background:var(--teal2)}.result-box strong{font-size:27px}.toast{position:fixed;right:20px;bottom:20px;z-index:99;background:var(--ink);color:#fff;padding:12px 16px;border-radius:12px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}footer{margin-top:80px;padding:34px 0;background:var(--ink);color:#fff}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-grid p{color:#c7d7d3}.footer-grid a{color:#fff}.code-note{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}code{background:#eef2f1;padding:2px 5px;border-radius:5px}@media(max-width:900px){.topnav a{display:none}.hero,.split-panel,.assessment-grid,.audit-grid,.helper-grid{grid-template-columns:1fr}.hero{min-height:auto;padding-top:45px}.hero h1{font-size:46px}.hero-visual{order:-1}.lo-grid,.segment-grid{grid-template-columns:1fr}.schedule-strip{grid-template-columns:1fr}.schedule-strip div{border-right:0;border-bottom:1px solid var(--line)}.progress-grid{grid-template-columns:repeat(3,1fr)}.references-list{columns:1}}@media(max-width:560px){.shell{padding:0 18px}.topbar{padding:0 16px}.hero h1{font-size:37px}.hero-actions{flex-direction:column}.flow-row{grid-template-columns:1fr}.arrow.side{transform:rotate(90deg)}h2{font-size:34px}.progress-grid{grid-template-columns:repeat(2,1fr)}}

/* Full web study-deck transfer */
.mastery-section{padding-bottom:32px}.mastery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.mastery-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.mastery-card>b{flex:0 0 36px;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--teal);color:#fff}.mastery-card strong{font-family:Georgia,"Times New Roman",serif;font-size:20px}.mastery-card p{margin:.35rem 0 0;color:var(--muted)}
.full-lessons{display:grid;gap:16px;margin-top:24px}.full-lesson{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.full-lesson>summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-weight:900;color:var(--ink)}.full-lesson>summary::-webkit-details-marker{display:none}.full-lesson>summary:after{content:"＋";font-size:25px;color:var(--teal)}.full-lesson[open]>summary:after{content:"−"}.full-lesson>summary span{font-family:Georgia,"Times New Roman",serif;font-size:24px}.full-lesson>summary small{display:block;margin-left:auto;color:var(--muted);font-weight:600}.full-lesson-body{border-top:1px solid var(--line)}.lesson-step{padding:24px 26px;border-bottom:1px solid var(--line);position:relative}.lesson-step:last-child{border-bottom:0}.lesson-label{display:inline-block;margin-bottom:9px;font-size:10px;letter-spacing:.14em;font-weight:900;color:var(--teal)}.lesson-step.trigger{background:#fbf5e9}.lesson-step.explore{background:#f3f8f6}.lesson-step.learn{background:#fff}.lesson-step.apply{background:#eef7f4}.lesson-step.check{background:#fff9ec}.lesson-step.reflect{background:#f6f3fa}.lesson-step.references{background:#fafafa}.lesson-step h3{margin:2px 0 12px}.lesson-step h4{font-family:Georgia,"Times New Roman",serif;font-size:21px;margin:4px 0 12px}.pause{font-size:12px;color:var(--muted);font-weight:700;margin-top:13px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.detail-pair{border:1px solid var(--line);border-radius:13px;padding:12px;background:rgba(255,255,255,.8)}.detail-pair strong,.detail-pair span{display:block}.detail-pair strong{font-size:12px;color:var(--teal);margin-bottom:4px}.detail-pair span{font-size:13px;color:#40534f}.learn-stack{display:grid;gap:14px}.learn-block{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}.lesson-note{padding:10px 12px;border-radius:11px;background:var(--teal2);font-size:13px}.lesson-flow{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:12px 0}.lesson-flow span{padding:8px 10px;border:1px solid #cde2dd;background:var(--teal2);border-radius:11px;font-size:11px;font-weight:900}.lesson-flow i{font-style:normal;color:var(--gold);font-weight:900}.hierarchy{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:14px 0}.hierarchy span{padding:10px 12px;border-radius:12px;background:var(--teal2);font-weight:800;text-align:center}.hierarchy em{display:block;font-size:10px;color:var(--muted);font-style:normal;margin-top:3px}.hierarchy i{font-style:normal;color:var(--gold)}.semantic-network{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:18px;margin:10px 0;border:1px dashed #b8d7d0;border-radius:16px;background:#f8fcfb}.semantic-network b{padding:12px 16px;border-radius:50%;background:var(--ink);color:#fff}.semantic-network span{padding:8px 10px;border-radius:12px;background:var(--teal2);font-size:12px}.check-list{padding-left:20px}.check-list li{margin:7px 0}.response-details{margin-top:16px;border:1px solid #e2c987;border-radius:13px;overflow:hidden;background:#fff}.response-details summary{cursor:pointer;padding:12px 14px;font-weight:900;color:#7b5b16;background:#fff6db}.response-details>div,.response-details>ol{padding:6px 18px 14px}.response-details li{margin:8px 0}.segment-refs p{font-size:12px;color:#4d615d;margin:9px 0}.synthesis-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.synthesis-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.synthesis-card.challenge{grid-row:span 2}.synthesis-card.completion{background:var(--ink);color:#fff}.synthesis-card.completion .tag{color:#8ed1c3}.mastery-rating{display:grid;gap:7px;margin:14px 0}.mastery-rating div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.mastery-rating span{white-space:nowrap;color:var(--muted);font-family:ui-monospace,monospace}
@media(max-width:900px){.mastery-grid{grid-template-columns:1fr}.synthesis-grid{grid-template-columns:1fr}.synthesis-card.challenge{grid-row:auto}.detail-grid{grid-template-columns:1fr}.full-lesson>summary{align-items:flex-start;flex-direction:column}.full-lesson>summary small{margin-left:0}}


.practice-points{align-self:center;font-size:11px;color:var(--muted);font-weight:800}
.module-dialog{width:min(980px,96vw);max-height:92vh;border:0;border-radius:24px;padding:0;box-shadow:0 30px 90px rgba(10,30,25,.25);overflow:auto}
.module-dialog::backdrop{background:rgba(12,31,27,.62)}
.module-close{position:sticky;float:right;right:15px;top:10px;z-index:4;border:0;background:#fff;width:40px;height:40px;border-radius:50%;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.12)}
#moduleBody{padding:34px}
.module-hero{padding:30px;border-radius:22px;background:linear-gradient(135deg,#e9f4f1,#fff);border:1px solid #d7e7e3;margin-bottom:18px}
.module-hero h2{margin-top:8px}
.module-hero p{color:var(--muted);max-width:760px}
.module-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.module-meta span{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:11px;font-weight:800;color:var(--muted)}
.module-study-tip{padding:14px 16px;border-radius:14px;background:var(--gold2);border:1px solid #eed7a8;margin-bottom:18px}
.source-slide-stack{display:grid;gap:15px}
.source-slide-note{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.source-slide-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.05em}
.source-slide-note h3{margin:13px 0}
.source-slide-body p{margin:7px 0}
.module-source{font-size:11px;color:var(--muted)!important;border-top:1px solid var(--line);padding-top:10px;margin-top:13px!important}
.module-instruction{padding:10px 12px;border-radius:11px;background:#fff7e7;border-left:3px solid var(--gold);font-weight:700}
.stage-badge{padding:5px 8px;border-radius:999px;background:var(--teal2);color:var(--teal)}
.stage-badge.apply,.stage-badge.check{background:var(--gold2);color:#8a611f}
.stage-badge.reflect{background:#f2eef8;color:#684e81}
.stage-badge.references{background:#f0f2f1;color:#53635f}
.speaker-note{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.speaker-note summary{cursor:pointer;color:var(--teal);font-size:12px;font-weight:800}
.speaker-note div{font-size:12px;color:var(--muted);padding-top:8px}
.module-end-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
@media(max-width:560px){#moduleBody{padding:20px}.module-dialog{width:98vw;max-height:96vh;border-radius:18px}.source-slide-head{align-items:flex-start;flex-direction:column}.module-hero{padding:22px}}

/* Lecturer slide galleries */
.question{border-left:0;border-right:0;border-top:0;margin:0}.question legend{font-weight:800;padding:0}.btn[aria-disabled="true"]{opacity:.55;pointer-events:none}
.lecture-gallery{margin-top:28px;padding-top:24px;border-top:2px solid var(--line)}
.gallery-heading p{color:var(--muted);max-width:760px}
.slide-set{margin:14px 0;border:1px solid var(--line);border-radius:16px;background:#f8faf9;overflow:hidden}
.slide-set>summary{cursor:pointer;padding:14px 16px;font-weight:900;color:var(--ink)}
.slide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 16px 16px}
.slide-grid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.slide-grid a{display:block;background:#e9efed}
.slide-grid img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.slide-grid figure:has(img[alt*="Illustrated"]) img{aspect-ratio:16/9}
.slide-grid figcaption{padding:8px 10px;color:var(--muted);font-size:11px;font-weight:700}
@media(max-width:650px){.slide-grid{grid-template-columns:1fr}}
