/* Continuous course: the selected blue/orange visual system, one reading page. */
html{scroll-behavior:smooth;scroll-padding-top:0}
.topbar{position:sticky;top:0;z-index:60;display:flex;height:84px;max-width:none;border-bottom:1px solid #eef0f5;padding:0 36px;background:#fff}
.topbar .brand{font-size:21px;gap:13px}.topbar .brand-mark{height:44px;width:44px}.topbar .course-format{margin-left:18px;color:#84889d;font-size:13px;letter-spacing:.025em}.topbar .top-actions{display:flex;gap:10px;margin-left:auto}
#toc-toggle,#toc-close{display:none}
.shell.course-layout{max-width:1670px;margin:auto;display:grid;grid-template-columns:224px minmax(0,1fr);gap:42px;padding:0 36px}
.course-layout #main{width:100%;max-width:none;min-width:0;margin:0;padding:0 0 56px;outline:none}
.course-toc{position:sticky;top:110px;align-self:start;height:calc(100vh - 134px);overflow-y:auto;padding-right:7px;scrollbar-width:thin;scrollbar-color:#e2e4f0 transparent}
.toc-heading{margin-bottom:22px;display:flex;align-items:center;justify-content:space-between}.toc-kicker{font-size:10px;letter-spacing:.14em;color:#979bb1}.toc-heading h2{font-size:23px;letter-spacing:-.02em;margin:7px 0 0;font-weight:750}
.toc-links{display:flex;flex-direction:column;gap:5px}.toc-link{display:flex;align-items:center;gap:14px;text-decoration:none;padding:12px 13px;border:1px solid transparent;border-radius:10px;color:#686d80;transition:background .15s,color .15s}.toc-link:hover{background:#f7f8fc;color:#303bce}.toc-number{font-size:12px;letter-spacing:.05em;color:#a1a6bd}.toc-link strong{display:block;font-size:14px;line-height:1.5;font-weight:600}.toc-link small{display:block;margin-top:3px;font-size:10px;color:#999eb2;line-height:1.4;letter-spacing:.04em}.toc-link[aria-current]{background:#f0f2ff;border-color:#e4e8ff;color:var(--blue)}.toc-link[aria-current] .toc-number{color:var(--blue);font-weight:750}.toc-link[aria-current] strong{font-weight:750}
.toc-case-list{margin:0 0 9px 44px;color:#9195aa}.toc-case-list summary{font-size:10px;cursor:pointer;padding:6px 0}.toc-case-list a{display:flex;gap:9px;text-decoration:none;font-size:11px;color:#858aa0;line-height:1.6;padding:6px 2px}.toc-case-list a span{color:#b6bacb;font-size:10px}.toc-case-list a:hover{color:var(--blue)}
.toc-reading{margin:26px 13px 20px;border-top:1px solid #eceef6;padding-top:19px}.toc-reading small{font-size:10px;color:#a3a8bc;display:block;letter-spacing:.05em}.toc-reading strong{font-size:12px;display:block;color:#414963;margin:5px 0}.toc-reading p{font-size:10px;color:#a3a8bc;line-height:1.8;margin:8px 0 0}.toc-guide{display:flex;align-items:center;gap:8px;text-decoration:none;color:#767b90;font-size:11px;margin:0 13px}.toc-guide .ui-icon{width:14px;height:14px}.toc-local{font-size:9px;color:#a5aabc;margin:15px 13px}.toc-progress{font-size:10px;margin:20px 13px 0;display:flex;justify-content:space-between;color:#9b9fb2}.toc-progress strong{color:var(--blue);font-weight:650}
.course-section{scroll-margin-top:110px}.course-section:not(#overview){padding-top:60px;margin-top:70px;border-top:1px solid #e8ebf4}.chapter-marker{display:flex;align-items:center;gap:11px;color:var(--blue);font-size:12px;letter-spacing:.035em;margin-bottom:23px;font-weight:650}.chapter-marker>span{font-weight:750;font-size:13px;letter-spacing:.08em}
.course-layout .hero{height:auto;min-height:535px;grid-template-columns:49% 51%;padding:18px 0}.course-layout .hero-copy{padding-top:0}.course-layout .hero .hero-title{font-size:clamp(42px,4vw,64px);line-height:1.37;letter-spacing:-.03em}.course-layout .hero-eyebrow{gap:10px;margin-bottom:22px;white-space:normal}.course-layout .hero-eyebrow>span{font-size:12px;padding:5px 11px}.course-layout .hero .hero-eyebrow p{font-size:12px;line-height:1.7}.course-layout .hero p.hero-description{font-size:14px;line-height:1.9;margin-top:27px;max-width:450px}.course-layout .hero-actions{margin-top:28px;gap:22px;flex-wrap:wrap}.course-layout .hero-actions>.button{min-width:0;font-size:18px;padding:14px 21px;gap:21px;min-height:57px;white-space:nowrap}.course-layout .hero-actions .ui-icon{width:25px;height:25px}.course-layout .hero-link{font-size:16px;gap:10px;white-space:nowrap}.course-layout .hero-link .ui-icon{width:19px;height:19px}.course-layout .hero-illustration{height:auto;overflow:visible;min-width:0;margin-right:0;position:relative}.course-layout .hero-illustration>img{position:static;left:auto;top:auto;width:110%;max-width:none;height:auto;margin-left:-4%;object-fit:contain}
.course-layout .journey{margin:0;padding:27px;border-radius:18px}.course-layout .journey-heading h2{font-size:25px;line-height:1.5}.course-layout .journey-heading>p{font-size:12px;margin:0}.course-layout .journey-stages{grid-template-columns:1.2fr repeat(6,1fr);gap:14px;margin-top:32px}.course-layout .journey-step{padding-left:0;display:block}.course-layout .journey-number,.course-layout .journey-step.is-current .journey-number{width:36px;height:36px;font-size:16px;margin-bottom:12px}.course-layout .journey-step.is-current .journey-step-copy{margin:0}.course-layout .journey-step-copy time,.course-layout .journey-step.is-current time{font-size:10px}.course-layout .journey-step-copy h3{font-size:15px;line-height:1.5;margin:4px 0 6px}.course-layout .journey-step-copy p{font-size:10px;line-height:1.8;max-width:none}.course-layout .journey-bottom,.course-layout .journey[data-current-stage="0"] .journey-bottom{margin-top:22px;position:static}.course-layout .journey-current,.course-layout .journey[data-current-stage="0"] .journey-current{width:auto;max-width:320px;min-width:245px;padding:11px 13px}.course-layout .journey-current small,.course-layout .journey-current strong{font-size:10px}.course-layout .journey-bottom .local-label{transform:none!important;font-size:9px}.course-layout .overview-details{margin-top:35px;gap:32px}.course-layout .overview-details h3{font-size:22px}.course-layout .overview-details .plain-block{padding-top:10px}.course-layout .overview-details p,.course-layout .overview-details ol{font-size:14px;line-height:1.9}
.course-layout .page-head{max-width:900px}.course-layout .page-head h2{font-size:35px;line-height:1.5;font-weight:750;color:#151823;margin:0 0 14px;letter-spacing:-.025em}.course-layout .page-head>p{font-size:15px;line-height:1.9}.course-layout .phase-strip{margin-bottom:30px}.course-layout .eyebrow{font-size:10px;letter-spacing:.09em}
.map-node{text-decoration:none;color:inherit}.node-analysis .node-detail{scroll-margin-top:112px;border-top:1px solid #eef0f7;padding:32px 0;margin-top:28px}.node-analysis .node-detail:first-child{border:0;margin-top:0}.node-analysis .detail-two{margin-top:20px;gap:35px}.node-analysis .detail-two h3{font-size:23px;line-height:1.6}.node-analysis .detail-two p{font-size:14px;line-height:1.95}.node-analysis .node-quote{font-size:18px;line-height:1.9}.node-analysis .detail-label{font-size:10px;letter-spacing:.05em}
.case-jump-list{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 30px}.case-jump-list a{text-decoration:none;display:flex;align-items:center;gap:8px;background:#f6f7fd;border:1px solid #e9ecf8;border-radius:8px;padding:9px 13px;font-size:12px;color:#5c6582}.case-jump-list a span{font-size:10px;color:#9ca5c5}.case-jump-list a:hover{border-color:#a5b0ff;color:var(--blue)}.case-stream{display:grid;gap:28px}.course-layout .case-article{scroll-margin-top:110px;background:white;border:1px solid #e7ebf6;box-shadow:0 6px 26px #4a55a504;border-radius:17px;padding:30px;min-width:0}.case-number{font-size:10px;letter-spacing:.13em;color:#a1a8be;margin-bottom:15px}.course-layout .case-article>h3{font-size:28px;line-height:1.5;font-weight:750;letter-spacing:-.02em;margin:14px 0}.course-layout .case-article .lead{font-size:14px}.course-layout .case-article .user-quote{font-size:19px;line-height:1.9}.course-layout .case-article .case-shot{margin:22px 0;max-width:740px}.case-article .case-shot img{max-height:460px;object-fit:contain;width:100%;background:#f9fafc}.case-article .case-shot figcaption{font-size:10px;line-height:1.8}.case-article .step-log{margin:20px 0 0}.case-article .step-log p{font-size:14px;line-height:1.9}.case-article .step-log b{font-size:12px}.case-article .tech-rail{font-size:13px;line-height:1.9}.case-article .disclosure{margin-top:16px}.case-article .disclosure[open]>summary{color:#313b76}.case-article .mini-heading{font-size:14px}.case-article .prompt-box{font-size:14px;line-height:1.9}
.course-layout .lesson-footer{margin-top:55px;line-height:1.9;font-size:10px}.course-layout .field textarea{resize:vertical}.course-layout .form-grid{min-width:0}.course-layout .button-row{flex-wrap:wrap}.course-layout .lab-layout{grid-template-columns:minmax(0,1fr) 350px;gap:28px}.course-layout .preview-panel{position:sticky;top:106px;align-self:start}.course-layout .phone{max-width:320px;width:100%;margin:auto}.course-layout .note-paper{padding:29px}.course-layout .glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-layout .stack-diagram div{padding:22px;font-size:17px}
#toc-backdrop{position:fixed;inset:72px 0 0;z-index:69;border:0;border-radius:0;background:#202b5460;width:100%;height:calc(100vh - 72px)}#toc-backdrop[hidden]{display:none}
@media(min-width:1100px) and (max-width:1330px){.shell.course-layout{grid-template-columns:205px minmax(0,1fr);gap:30px;padding:0 27px}.course-layout .hero{min-height:495px}.course-layout .hero .hero-title{font-size:3.8vw}.course-layout .hero .hero-eyebrow p{font-size:11px}.course-layout .hero-actions{gap:15px}.course-layout .hero-actions>.button{font-size:16px;gap:13px;padding:13px 17px}.course-layout .hero-link{font-size:14px}.course-layout .lab-layout{grid-template-columns:minmax(0,1fr) 320px;gap:22px}.course-layout .preview-panel{padding:22px 12px}.course-layout .journey-heading h2{font-size:22px}.course-layout .journey-heading>p{display:none}.course-layout .journey-stages{gap:10px}}
@media(max-width:1099px){.topbar{height:72px;padding:0 26px;gap:14px}.topbar .brand{font-size:19px}.topbar .brand-mark{height:39px;width:39px}.topbar .course-format{font-size:11px;margin-left:6px}#toc-toggle,#toc-close{display:inline-flex}.topbar #teacher-toggle{min-width:90px}.shell.course-layout{display:block;padding:0 30px;max-width:1050px}.course-toc{position:fixed;top:72px;left:0;bottom:0;z-index:70;width:285px;max-width:85vw;height:calc(100dvh - 72px);padding:28px 22px;background:white;transform:translateX(-100%);visibility:hidden;transition:transform .2s,visibility .2s;box-shadow:12px 0 30px #142a4e12}.toc-open .course-toc{transform:translateX(0);visibility:visible}.toc-open{overflow:hidden}.toc-heading{margin-bottom:18px}.toc-heading h2{font-size:22px}.course-layout .hero{min-height:500px}.course-layout .hero .hero-title{font-size:5vw}.course-layout .journey-heading h2{font-size:25px}.course-layout .lab-layout{grid-template-columns:minmax(0,1fr) 340px}.course-layout .preview-panel{padding:22px 12px}.course-section:not(#overview){margin-top:55px;padding-top:45px}.course-section,.node-analysis .node-detail,.course-layout .case-article{scroll-margin-top:96px}.course-layout .page-head h2{font-size:32px}}
@media(max-width:800px){.topbar .course-format{display:none}.topbar{padding:0 22px}.shell.course-layout{padding:0 24px}.course-layout .hero{grid-template-columns:1fr;min-height:0;padding:38px 0 12px;gap:16px}.course-layout .hero .hero-title{font-size:clamp(36px,7.8vw,60px)}.course-layout .hero p.hero-description{font-size:15px;max-width:560px;margin-top:20px}.course-layout .hero-illustration{max-width:530px;margin:auto}.course-layout .hero-illustration>img{width:100%;margin:0;max-height:none}.course-layout .hero-actions{margin-top:25px}.course-layout .journey-stages{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px 18px}.course-layout .journey-heading>p{display:none}.course-layout .journey-number,.course-layout .journey-step.is-current .journey-number{width:34px;height:34px}.course-layout .journey-line{display:none}.course-layout .journey-heading h2{font-size:24px}.course-layout .journey{padding:25px}.course-layout .journey-current{min-width:0}.course-layout .journey-bottom{gap:16px}.course-layout .lab-layout{grid-template-columns:1fr}.course-layout .preview-panel{position:static;order:0;padding:25px}.course-layout .phone{max-width:320px}.node-analysis .detail-two{grid-template-columns:1fr;gap:20px}.course-layout .map-branches{grid-template-columns:repeat(2,minmax(0,1fr))}.course-layout .case-article{padding:24px}.course-layout .case-article>h3{font-size:25px}.course-layout .page-head h2{font-size:29px}.course-layout .note-paper{padding:25px}}
@media(max-width:480px){.topbar{height:68px;min-height:68px;padding:0 17px;gap:8px}.topbar .brand{font-size:15px;gap:8px;letter-spacing:-.035em}.topbar .brand-mark{width:31px;height:31px}.topbar .top-actions{gap:6px}#toc-toggle{font-size:11px;padding:8px 10px;min-height:36px}#teacher-toggle{font-size:10px!important;padding:8px 9px!important;min-width:70px!important;min-height:36px;border-radius:10px}.course-toc{top:68px;height:calc(100dvh - 68px)}#toc-backdrop{top:68px;height:calc(100vh - 68px)}.shell.course-layout{padding:0 20px}.course-layout .hero{padding-top:32px;gap:18px}.course-layout .hero .hero-title{font-size:8.6vw;line-height:1.5;letter-spacing:-.045em}.course-layout .hero .hero-eyebrow p{font-size:10px}.course-layout .hero-eyebrow>span{font-size:10px;padding:4px 8px}.course-layout .hero-eyebrow{gap:8px;margin-bottom:18px}.course-layout .hero p.hero-description{font-size:13px;line-height:1.95;margin-top:17px}.course-layout .hero-actions{gap:16px;margin-top:22px}.course-layout .hero-actions>.button{font-size:14px;gap:15px;padding:12px 16px;min-height:50px}.course-layout .hero-actions .ui-icon{width:21px;height:21px}.course-layout .hero-link{font-size:12px;gap:7px}.course-layout .hero-link .ui-icon{width:16px;height:16px}.course-layout .journey{padding:23px 20px}.course-layout .journey-heading h2{font-size:20px;line-height:1.7;max-width:none}.course-layout .journey-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}.course-layout .journey-step{display:grid;grid-template-columns:33px 1fr;gap:10px}.course-layout .journey-step-copy h3{font-size:14px;margin:1px 0 6px}.course-layout .journey-step-copy p{font-size:10px}.course-layout .journey-bottom{display:block}.course-layout .journey-current{max-width:none;width:100%}.course-layout .journey-bottom .local-label{display:block;text-align:right}.course-layout .overview-details{grid-template-columns:1fr;gap:20px}.course-layout .overview-details h3{font-size:21px}.course-layout .overview-details p,.course-layout .overview-details ol{font-size:13px}.course-section:not(#overview){margin-top:42px;padding-top:35px}.chapter-marker{margin-bottom:16px;font-size:10px}.course-layout .page-head h2{font-size:26px;line-height:1.6}.course-layout .page-head>p{font-size:13px}.course-layout .phase-strip{margin-bottom:24px}.node-analysis .detail-two h3{font-size:21px}.node-analysis .detail-two p{font-size:13px}.node-analysis .node-quote{font-size:16px}.node-analysis .node-detail{padding-top:27px;margin-top:22px}.course-layout .case-article{padding:20px 17px;border-radius:13px}.course-layout .case-article>h3{font-size:23px;line-height:1.65}.course-layout .case-article .user-quote{font-size:16px;line-height:1.95;padding:16px}.course-layout .case-article .lead{font-size:13px}.case-jump-list{gap:7px}.case-jump-list a{padding:8px 10px;font-size:11px}.case-article .step-log p{font-size:12px}.case-article .step-log b{font-size:11px}.case-article .tech-rail,.case-article .mini-heading,.case-article .prompt-box{font-size:12px}.case-article .case-shot{padding:8px}.case-article .case-shot figcaption{font-size:9px}.course-layout .glossary-grid{grid-template-columns:1fr}.course-layout .stack-diagram div{font-size:14px;padding:18px}.course-layout .note-paper{padding:20px 17px}.course-layout .preview-panel{padding:20px 14px}.course-layout .lesson-footer{display:block}.course-layout .lesson-footer span{display:block;margin-top:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.course-toc,.toc-link{transition:none}}
@media print{html{scroll-behavior:auto}.topbar,.course-toc,#toc-backdrop,.class-clock,.chapter-marker,.lesson-footer{display:none!important}.shell.course-layout{display:block;padding:0;max-width:none}.course-layout #main{padding:0}.course-section:not(#notes){display:none!important}.course-layout #notes{border:0;margin:0;padding:0}.course-layout .note-paper{border:0;padding:0}.course-layout #notes .page-head{display:none}.course-layout .phase-strip,.course-layout .teacher-note{display:none!important}}
@media(max-width:360px){.topbar{padding:0 14px;gap:6px}.topbar .brand{font-size:13px;gap:7px}.topbar .brand-mark{width:28px;height:28px}.topbar #teacher-toggle{min-width:61px!important;padding:8px 7px!important}#toc-toggle{padding:8px 9px;font-size:10px}}
/* Step images stay close to the corresponding explanation. */
.step-visuals{margin:34px 0 30px;min-width:0}.visuals-heading{margin-bottom:16px}.visuals-heading>span{font-size:10px;letter-spacing:.1em;color:#9aa2ba}.visuals-heading h3{font-size:20px;line-height:1.6;margin:6px 0 0;color:#29304b;font-weight:650}.step-visual-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}.step-visual-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.step-figure{margin:0;min-width:0;border:1px solid #e6eaf5;border-radius:13px;overflow:hidden;background:white}.step-image-open{display:block;position:relative;background:#f8f9fe;border:0;border-bottom:1px solid #edf0f7;padding:15px;width:100%;cursor:zoom-in;overflow:hidden;border-radius:0;color:#858da8}.step-image-open:hover{background:#f1f4ff}.step-image-open>img{display:block;width:100%;height:auto;max-height:510px;object-fit:contain}.step-visual-grid.two .step-image-open>img{max-height:405px}.step-image-hint{display:flex;align-items:center;justify-content:flex-end;gap:7px;font-size:9px;padding-top:12px;line-height:1.5;color:#9ba5bc}.step-image-hint .ui-icon{width:13px;height:13px;opacity:.55}.step-figure figcaption{padding:16px 19px 18px}.visual-kind{display:block;font-size:9px;color:#93a0c7;letter-spacing:.05em;margin-bottom:6px}.step-figure figcaption strong{font-size:13px;line-height:1.8;display:block;font-weight:650;color:#394565}.step-figure figcaption p{font-size:11px;line-height:1.9;margin:5px 0 0;color:#929bb1}.node-detail>.step-figure{margin-top:26px}.node-detail>.step-figure .step-image-open>img{max-height:425px}.node-detail>.step-figure figcaption{display:none}.node-detail>.step-figure .step-image-hint{padding-top:8px}.course-layout .case-article .case-shot{max-width:none;margin:27px 0}.course-layout .case-article .case-shot img{max-height:460px;object-fit:contain}.note-paper .step-visuals{margin:28px 0}.note-paper .step-figure figcaption{padding:14px 17px}.note-paper .step-image-open>img{max-height:420px}.course-layout #image-dialog{max-width:min(1450px,95vw);max-height:92vh;overflow:auto}.course-layout #image-dialog img{max-height:none;width:100%;height:auto;object-fit:contain}.course-layout #image-dialog .dialog-close{position:sticky;top:0;z-index:1;background:white}
#image-dialog{max-width:min(1450px,95vw);max-height:92vh;overflow:auto}#image-dialog>img{max-height:none;width:auto;max-width:100%;height:auto}#image-dialog .dialog-close{position:sticky;top:0;z-index:1;background:#fff}
@media(max-width:800px){.step-visual-grid.two{grid-template-columns:minmax(0,1fr)}.step-image-open>img,.step-visual-grid.two .step-image-open>img{max-height:490px}.step-visuals{margin:28px 0}.node-detail>.step-figure .step-image-open>img{max-height:none}}
@media(max-width:480px){.visuals-heading h3{font-size:18px}.step-figure{border-radius:11px}.step-image-open{padding:9px}.step-image-open>img,.step-visual-grid.two .step-image-open>img{max-height:440px}.step-image-hint{font-size:8px;padding-top:8px}.step-figure figcaption{padding:13px 14px 15px}.step-figure figcaption strong{font-size:12px}.step-figure figcaption p{font-size:10px}.visual-kind{font-size:8px}.node-detail>.step-figure{margin-top:20px}.step-visual-grid{gap:17px}#image-dialog{padding:14px;max-width:96vw}#image-dialog>img{width:100%;max-width:none}}
@media print{.step-visuals,.step-figure{display:none!important}}
#image-dialog{width:min(1450px,95vw)}.image-dialog-actions{position:sticky;top:-25px;z-index:2;display:flex;align-items:center;gap:12px;background:#fff;padding:0 0 16px}.image-dialog-actions>span{font-size:10px;color:#9aa2b8;margin-left:auto}.image-dialog-actions .dialog-close{position:static!important}.image-viewer{overflow:auto;max-height:72vh;overscroll-behavior:contain;background:#f7f9fe;border:1px solid #edf0f6}.image-viewer>img{display:block;width:100%;max-width:100%;height:auto;max-height:none}.image-zoomed .image-viewer>img{width:200%;max-width:none;min-width:1100px}#image-zoom[aria-pressed=true]{color:#4058ed;border-color:#a8b2fa;background:#f2f4ff}#image-dialog>p{font-size:12px;line-height:1.9;color:#818aa4;margin:14px 0 0}
@media(max-width:480px){.image-dialog-actions{top:-14px;gap:8px;padding-bottom:12px}.image-dialog-actions>span{display:none}.image-dialog-actions .button{font-size:11px;padding:10px 12px}.image-viewer{max-height:68vh}#image-dialog>p{font-size:10px}}
/* Keep instructional text readable; pair only the before/after phone views. */
.step-visual-grid.two:not(.comparison){grid-template-columns:minmax(0,1fr)}.step-image-open>img,.step-visual-grid.two:not(.comparison) .step-image-open>img{max-height:620px}.step-visual-grid.comparison .step-image-open>img{max-height:530px}.node-detail>.step-figure .step-image-open>img{max-height:560px}.note-paper .step-image-open>img{max-height:580px}
@media(max-width:800px){.step-visual-grid.comparison{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.step-image-open>img,.step-visual-grid.two:not(.comparison) .step-image-open>img,.step-visual-grid.comparison .step-image-open>img,.note-paper .step-image-open>img{max-height:440px}.node-detail>.step-figure .step-image-open>img{max-height:none}}
