/* Larger text is laid out in explicit sections, never scaled down to fit. */
:root{--bg:#0b1520;--panel:#142332;--line:#41586a;--ink:#f3f7fa;--dim:#c0cdd8;--gold:#edc690;--teal:#8ce2cf;--pink:#ff9ccf;--violet:#cabbff}
body.day{--bg:#f3f6fa;--panel:#fff;--line:#b8cbd6;--ink:#172c3b;--dim:#40596b;--gold:#79551e;--teal:#006b62;--pink:#95255c;--violet:#684898}
html{font-size:100%}body{font-size:1.25rem;line-height:1.6}
#app{min-height:0;background:var(--bg);height:100dvh}
button,.topnav button,.topnav a,.footerbar button{font-size:1rem;min-height:44px;padding:10px 14px;line-height:1.35}
.topbar{padding:10px 28px;gap:20px}.brand{font-size:1.5rem}.brand small{font-size:.8125rem;letter-spacing:0}
.chapter-main{padding:22px 32px 16px;gap:16px;min-height:0}
.heading h1,.mindmap-page .heading h1{font-size:clamp(1.75rem,2.6vw,2.4rem);line-height:1.15;max-width:1120px}
.ey,.heading .ey{font-size:.875rem;letter-spacing:.09em}.counter{font-size:1rem;padding:6px 0}
.section-tabs{display:flex;gap:8px;flex-wrap:wrap;flex:none}.section-tabs button{border-radius:7px;font-size:.9375rem;padding:8px 16px;min-height:40px;background:transparent;color:var(--dim)}
.section-tabs button.active{color:var(--teal);border-color:var(--teal);background:color-mix(in srgb,var(--teal) 9%,var(--panel))}
.lecture-stage{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}
.lecture-section{display:flex;flex-direction:column;gap:24px;min-height:0;flex:1;justify-content:center;width:100%;max-width:1320px;margin:auto}
.lecture-section:focus{outline:none}.lecture-stage.needs-scroll{overflow-y:auto;overscroll-behavior:contain;padding-right:12px}.lecture-stage.needs-scroll .lecture-section{flex:none;min-height:100%}
.takeaway{font-size:clamp(1.375rem,2.15vw,1.875rem);line-height:1.4;max-width:1100px;font-weight:600}
.visual{width:100%;max-width:1150px;margin:0 auto;flex:1;min-height:0;gap:12px}
.figure-button{min-height:0;padding:18px;max-height:100%;border-radius:16px;display:flex;align-items:center;justify-content:center;flex:1}
.figure-button img{max-height:min(46dvh,510px);max-width:100%;width:auto;height:auto;object-fit:contain}
@media(min-width:1001px){body.single-canvas .source-vector{min-height:280px!important}body.single-canvas .source-vector img{width:100%!important;height:100%!important;min-width:260px!important;min-height:260px!important;max-width:100%!important;max-height:min(43dvh,460px)!important;object-fit:contain!important}}
.caption{font-size:.875rem}
.classroom-redraw-wrap{background:linear-gradient(145deg,#f8fbfd,#eef5f8);border:1px solid #9fc3cf;color:#0d2430;text-align:left;overflow:hidden}
.classroom-redraw-wrap:hover{border-color:#58c9d1;box-shadow:0 12px 34px rgba(0,0,0,.18)}
.classroom-redraw{width:100%;height:100%;min-height:280px;display:flex;flex-direction:column;justify-content:center;padding:22px 24px;gap:13px}
.redraw-kicker{font-size:.72rem;letter-spacing:.12em;font-weight:900;color:#0b7e89}
.redraw-title{font-size:clamp(1.15rem,1.45vw,1.55rem);font-weight:850;line-height:1.16;color:#0d2430}
.redraw-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
.redraw-count-3 .redraw-flow{grid-template-columns:repeat(3,minmax(0,1fr))}
.redraw-count-5 .redraw-flow{grid-template-columns:repeat(5,minmax(0,1fr))}
.redraw-node{position:relative;display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:94px;min-width:0;padding:14px 14px 13px 42px;border:1px solid #b9d1da;border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(13,36,48,.06);overflow-wrap:anywhere}
.redraw-node i{position:absolute;left:12px;top:12px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#0b7e89;color:#fff;font-style:normal;font-size:.72rem;font-weight:900}
.redraw-node b{font-size:1.05rem;line-height:1.15;color:#0d2430}
.redraw-node small{font-size:.82rem;line-height:1.3;color:#45606c}
.redraw-open{align-self:flex-end;font-size:.78rem;font-weight:800;color:#0b7e89;border:1px solid #8bc4ca;background:#fff;padding:7px 10px;border-radius:9px;cursor:pointer}
.redraw-source-note{font-size:.78rem;line-height:1.3;color:#58707a;border-top:1px solid #d6e4e8;padding-top:8px}
.concepts{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;align-items:stretch}
.concept{padding:24px;border-radius:16px;display:flex;flex-direction:column;justify-content:center;min-height:150px}
.concept b{font-size:1.75rem;line-height:1.3}.concept span{font-size:1.25rem;line-height:1.5;margin-top:12px}
.concepts.flow .concept+.concept:before{content:none}
.meaning{max-width:1150px;width:100%;padding:32px;margin:auto;border-radius:16px;display:block!important}
.meaning h2{font-size:.9375rem;margin-bottom:22px}.points{font-size:1.5rem;line-height:1.6;gap:20px;padding-left:28px;max-width:1050px}
.table-main,.full-table .table-main{font-size:1.375rem;line-height:1.5;max-width:1150px;width:100%}.table-main td,.table-main th{padding:16px 22px}
.table-main th:first-child{width:29%}.two-approaches{gap:24px}.approach{padding:24px}.approach h3,.approach h2{font-size:1.5rem}.approach p{font-size:1.25rem}.arrow-chain{font-size:1.25rem}
.question{gap:22px;border:0;padding:0}.question-text{font-size:1.5rem;line-height:1.6;max-width:1100px}.question-text b{display:block;font-size:.875rem;margin:0 0 10px}.question .buttons{gap:12px}.source-line{font-size:.875rem;max-width:none;line-height:1.6}.question .actions{gap:24px;align-items:flex-start}
.case-thread{font-size:1.125rem;padding:18px;grid-template-columns:auto 1fr;gap:8px 14px}.case-thread>span{font-size:.875rem}.case-thread>b{font-size:1.125rem}.case-thread>em{grid-column:1/-1;font-size:1.25rem}
.ai-lens{font-size:1.25rem;padding:20px;line-height:1.6}.ai-lens>span{font-size:.875rem;white-space:normal}.ai-tag{font-size:.75rem;padding:5px 9px}
.hero{gap:48px}.hero h2{font-size:clamp(2.4rem,4vw,4rem)}.hero p{font-size:1.5rem}.hero .small{font-size:1rem;line-height:1.6}.hero .ey{font-size:1rem}.hero-hook{font-size:1.25rem!important}.route-tags span{font-size:.875rem}.scope-note{font-size:1rem;line-height:1.5;margin:0}
.map-question{padding:18px 22px;grid-template-columns:1fr}.map-question>span{font-size:.875rem}.map-question h2{font-size:1.75rem}.map-question p{font-size:1.0625rem;text-align:left;max-width:none}
.concept-path{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;flex:none}.map-step{padding:20px 16px;min-height:215px;gap:10px}.map-step strong{font-size:1.375rem;line-height:1.3}.step-verb{font-size:.9375rem;line-height:1.4}.step-detail{font-size:1.0625rem;line-height:1.5}.step-number{font-size:1rem;width:32px;height:32px}.map-step:after{display:none}.mind-link{font-size:1.125rem;line-height:1.5;padding:14px 18px}.mind-link b{font-size:.875rem}
.student-roadmap{gap:20px}.road-stage{padding:24px}.road-stage h3{font-size:1.5rem;line-height:1.4;margin-bottom:18px}.road-stage h3 span{font-size:1rem}.road-stage p{font-size:1.25rem;line-height:1.6;margin:12px 0}.road-stage p b{font-size:1.125rem}.road-stage .road-result{font-size:1.0625rem;line-height:1.6}.map-bottom>p{font-size:1rem;line-height:1.6}.map-bottom button{font-size:1rem;min-height:44px}
.map-connections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.connection-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px}.connection-card h3{font-size:1.375rem;color:var(--teal);margin-bottom:12px}.step-case{font-size:1.125rem;line-height:1.6}.step-case i{font-size:.875rem}.step-lens{font-size:1.125rem;line-height:1.6}
.story-head{padding:20px 24px}.story-head h2{font-size:2rem;line-height:1.3}.story-head>span{font-size:.875rem}.story-head p{font-size:1.0625rem}.story-grid{grid-template-columns:1.3fr 1fr 1fr;gap:20px}.story-grid section{padding:24px}.story-grid h3{font-size:1.125rem;margin-bottom:18px}.story-grid p{font-size:1.25rem;line-height:1.65}.story-lens{font-size:1.375rem;line-height:1.65;padding:24px}.story-lens b{font-size:.875rem}.story-route span{font-size:1rem;line-height:1.4;padding:14px}.story-note{font-size:1.125rem;line-height:1.65}.story-action{margin-top:0}
.end-hero{padding:34px;min-height:0;grid-template-columns:1.25fr .75fr;flex:1}.end-copy>h2{font-size:3.1rem;line-height:1.1}.end-success{font-size:1.5rem;line-height:1.6}.closing-tasks{display:flex;flex-direction:column;gap:18px}.end-required{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.end-required section{padding:20px;grid-template-columns:1fr;gap:12px}.end-required b{font-size:1.25rem}.end-required p{font-size:1.125rem;line-height:1.6}.end-boundary,.end-disclosure{font-size:1rem;line-height:1.6;margin:0}
.footerbar{padding:10px 28px;min-height:66px}.footerbar .arrow{min-width:52px;min-height:44px;font-size:1.75rem;padding:2px 16px}.footerbar .progress,.nav-shortcuts{font-size:.875rem}#topic-location{font-size:.9375rem}.footer-left{gap:16px}
.small,.status{font-size:1rem}.modal-body{font-size:1.25rem;line-height:1.65}.modal-body table{font-size:1.0625rem}.callout,.rule-card p{font-size:1.125rem}.rule-card button{font-size:.9375rem}.tile .tt b{font-size:1.125rem}.tile .tt small{font-size:1rem}.aix-badge,.aix-steps li,.tile-feature .tt em{font-size:.875rem}.field span,.field textarea{font-size:1.125rem}.field textarea{line-height:1.6}.station-steps div{font-size:1.125rem}.station .hint-box{font-size:1rem}.station-fields .field textarea{font-size:1.0625rem}
body.reading #app{height:auto;min-height:100dvh}body.reading .lecture-stage{overflow:visible}body.reading .lecture-section{flex:none;min-height:0;border-bottom:1px solid var(--line);padding:28px 0;scroll-margin-top:20px}body.reading .hero{min-height:400px}body.reading .section-tabs{position:static}body.reading .figure-button img{max-height:600px}
@media(max-height:800px) and (min-width:1001px){.redraw-count-5 .redraw-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.chapter-main{padding:14px 28px;gap:10px}.heading h1,.mindmap-page .heading h1{font-size:1.875rem}.heading .ey{margin-bottom:4px}.lecture-section{gap:18px}.map-step{padding:16px 13px;min-height:190px}.map-step strong{font-size:1.25rem}.map-question{padding:12px 18px}.map-question h2{font-size:1.5rem}.hero h2{font-size:3rem}.hero p{margin:12px 0}.hero img{max-height:290px}.end-copy>h2{font-size:2.6rem}.table-main td,.table-main th{padding:12px 18px}.figure-button img{max-height:42dvh}}
@media(max-width:1000px),(max-height:620px){.classroom-redraw{min-height:240px;padding:18px}.redraw-flow,.redraw-count-3 .redraw-flow,.redraw-count-5 .redraw-flow{grid-template-columns:1fr}.redraw-node{min-height:82px}.redraw-node small{font-size:.9rem}.redraw-open{align-self:stretch;text-align:center}#app{height:auto;min-height:100dvh}.chapter-main{padding:22px 20px;min-height:0}.topbar{padding:14px 20px;flex-direction:row;flex-wrap:wrap}.topnav{gap:8px}.topnav button{font-size:.9375rem;min-height:44px;padding:8px 12px}.lecture-stage{display:block;overflow:visible!important;padding:0!important}.lecture-section{padding:24px 0;gap:22px;border-bottom:1px solid var(--line);scroll-margin-top:15px}.lecture-section:before{content:attr(data-section-label);font-size:.875rem;letter-spacing:.07em;font-weight:750;color:var(--teal);text-transform:uppercase}.section-tabs{gap:6px}.section-tabs button{font-size:.875rem;padding:8px 12px}.hero{grid-template-columns:1fr;gap:24px;flex:none}.hero h2{font-size:2.5rem}.hero p{font-size:1.25rem}.hero img{max-height:260px}.hero .small{font-size:1rem}.points{font-size:1.25rem;line-height:1.7;gap:16px}.meaning{padding:24px}.concepts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.concept{padding:20px;min-height:120px}.concept b{font-size:1.375rem}.concept span{font-size:1.125rem}.visual{flex:none}.figure-button{flex:none;min-height:120px;padding:12px}.figure-button img{width:auto;max-width:100%;max-height:500px}.table-main,.full-table .table-main{font-size:1.0625rem;line-height:1.6;table-layout:fixed}.table-main td,.table-main th{padding:12px;overflow-wrap:anywhere}.takeaway,.question-text{font-size:1.25rem}.case-thread{grid-template-columns:1fr}.case-thread>em{font-size:1.125rem}.ai-lens{grid-template-columns:1fr;font-size:1.125rem}.concept-path{grid-template-columns:1fr 1fr;padding:0;border:0;gap:14px}.map-step{min-height:0;padding:20px}.map-step strong{font-size:1.25rem}.student-roadmap,.story-grid,.map-connections,.story-route,.end-required{grid-template-columns:1fr}.story-head h2{font-size:1.75rem}.story-grid p,.road-stage p{font-size:1.125rem}.story-lens{font-size:1.125rem;padding:20px}.story-route span{font-size:1rem}.story-note{font-size:1.0625rem}.map-bottom{flex-direction:column;align-items:flex-start}.end-hero{grid-template-columns:1fr;padding:24px}.end-copy>h2{font-size:2.25rem}.end-success{font-size:1.25rem}.end-hero>img{order:0;max-height:220px}.end-required p{font-size:1.125rem}.footerbar{padding:10px 16px;position:sticky;bottom:0;z-index:5;gap:10px}.footerbar .progress,.nav-shortcuts{display:none}.footer-left{gap:8px;flex:1}#topic-location{display:none}.footerbar .arrow{min-width:48px}.footerbar button{font-size:.9375rem}.footer-right{gap:6px}.modal-body{font-size:1.125rem}.modal-body table{font-size:1rem}.modal-body th,.modal-body td{overflow-wrap:anywhere;padding:9px}.two-approaches{grid-template-columns:1fr}.tile-feature{flex-wrap:wrap}.tile-feature .go{margin-left:0}.dialog header h2{font-size:1.25rem}}
@media(max-width:480px){.concepts,.concept-path{grid-template-columns:1fr}.chapter-main{padding:18px 16px}.heading h1,.mindmap-page .heading h1{font-size:1.65rem}.counter{font-size:.875rem}.hero h2{font-size:2.2rem}.topbar{padding:12px 16px}.topnav{width:100%;justify-content:space-between;gap:5px}.topnav button{font-size:.875rem;padding:8px 9px}.route-tags{flex-wrap:wrap}.question .buttons{display:grid;width:100%}.question .buttons button{text-align:left}.dialog header{gap:10px}.modal-body{padding:16px}.tiles{grid-template-columns:1fr}.ai-row{grid-template-columns:1fr auto auto}.footerbar .footer-left button{padding:8px 10px}.footerbar #helpBtn{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.lecture-section,.visual,.meaning{min-width:0}.points,.heading h1,.concept b{overflow-wrap:anywhere}
.story-situation{padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.story-situation h3{font-size:1.125rem;color:var(--gold);margin-bottom:18px}.story-situation p{font-size:1.25rem;line-height:1.65;max-width:82ch}.story-page .story-grid{grid-template-columns:1fr 1fr}
@media(max-width:1000px),(max-height:620px){.story-page .story-grid{grid-template-columns:1fr}.story-situation{padding:20px}.story-situation p{font-size:1.125rem}}
.station{overflow-y:auto;padding:0 12px 16px 0;overscroll-behavior:contain}.station>*{flex-shrink:0}.station-steps b{font-size:.875rem}
@media(max-width:1000px),(max-height:620px){.station{overflow:visible;padding:0}}
@media print{.section-tabs{display:none!important}.lecture-stage,.lecture-section,.station{display:block!important;overflow:visible!important;height:auto!important;min-height:0!important}.lecture-section[hidden]{display:block!important}.lecture-section{break-inside:avoid;padding:15px 0}.points,.table-main{font-size:12pt}}


/* iSCARB single-canvas prototype: one slide number = one visual canvas. */
@media (min-width:1001px) and (min-height:621px){
 body.single-canvas .chapter-main{padding:14px 30px 10px;gap:9px}
 body.single-canvas .section-tabs{display:none!important}
 body.single-canvas .heading{align-items:flex-start}
 body.single-canvas .heading h1,
 body.single-canvas .mindmap-page .heading h1{font-size:clamp(1.85rem,2.35vw,2.35rem);line-height:1.12}
 body.single-canvas .heading .ey{font-size:.78rem;margin-bottom:3px}
 body.single-canvas .counter{font-size:.9rem}
 body.single-canvas .takeaway{font-size:clamp(1.35rem,1.75vw,1.65rem);line-height:1.28;margin:0;max-width:1180px}

 body.single-canvas .body-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:20px;align-items:center}
 body.single-canvas .meaning{padding:18px 21px;margin:0;max-width:none}
 body.single-canvas .meaning h2{font-size:.8rem;margin-bottom:10px}
 body.single-canvas .points{font-size:clamp(1.12rem,1.35vw,1.35rem);line-height:1.42;gap:11px;padding-left:24px}
 body.single-canvas .visual{max-width:none;margin:0;gap:7px}
 body.single-canvas .concepts{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:11px}
 body.single-canvas .concept{padding:16px 18px;min-height:0}
 body.single-canvas .concept b{font-size:clamp(1.25rem,1.5vw,1.5rem);line-height:1.2}
 body.single-canvas .concept span{font-size:1rem;line-height:1.35;margin-top:6px}
 body.single-canvas .figure-button{padding:8px}
 body.single-canvas .figure-button img{max-height:min(34dvh,350px)}
 body.single-canvas .classroom-redraw-wrap{padding:0;background:linear-gradient(145deg,#f9fcfd,#edf5f8)}
 body.single-canvas .classroom-redraw{min-height:0;height:100%;padding:15px 16px;gap:9px}
 body.single-canvas .redraw-title{font-size:clamp(1.03rem,1.25vw,1.3rem)}
 body.single-canvas .redraw-flow{gap:7px}
 body.single-canvas .redraw-node{min-height:72px;padding:10px 10px 9px 34px}
 body.single-canvas .redraw-node i{left:9px;top:9px;width:19px;height:19px;font-size:.65rem}
 body.single-canvas .redraw-node b{font-size:.92rem}
 body.single-canvas .redraw-node small{font-size:.72rem;line-height:1.22}
 body.single-canvas .redraw-kicker{font-size:.64rem}
 body.single-canvas .redraw-open{font-size:.68rem}
  body.single-canvas .redraw-source-note{font-size:.68rem;line-height:1.22;padding-top:5px}
 body.single-canvas .caption{font-size:.76rem}
 body.single-canvas .table-main,
 body.single-canvas .full-table .table-main{font-size:clamp(.98rem,1.13vw,1.15rem);line-height:1.32}
 body.single-canvas .table-main th,
 body.single-canvas .table-main td{padding:8px 11px}

 body.single-canvas .case-thread{grid-template-columns:auto auto 1fr;gap:5px 10px;padding:7px 10px;font-size:.9rem;line-height:1.25}
 body.single-canvas .case-thread>span{font-size:.72rem}
 body.single-canvas .case-thread>b{font-size:.92rem}
 body.single-canvas .case-thread>em{grid-column:auto;font-size:.94rem;line-height:1.3}
 body.single-canvas .ai-lens{grid-template-columns:auto 1fr;font-size:.98rem;line-height:1.35;padding:9px 12px}
 body.single-canvas .ai-lens>span{font-size:.72rem}
 body.single-canvas .question{gap:6px;padding-top:7px;border-top:1px solid var(--line)}
 body.single-canvas .question-text{font-size:clamp(1.04rem,1.2vw,1.18rem);line-height:1.34;max-width:none}
 body.single-canvas .question-text b{display:inline;font-size:.72rem;margin-right:8px}
 body.single-canvas .question .actions{gap:10px;align-items:center}
 body.single-canvas .question .buttons{gap:6px}
 body.single-canvas .question button{min-height:36px;padding:7px 11px;font-size:.86rem}
 body.single-canvas .source-line{font-size:.74rem;line-height:1.35;max-width:430px}

 body.single-canvas .story-page{gap:8px}
 body.single-canvas .story-head{padding:11px 16px}
 body.single-canvas .story-head h2{font-size:clamp(1.55rem,2vw,1.95rem);line-height:1.18;margin:3px 0}
 body.single-canvas .story-head>span{font-size:.72rem}
 body.single-canvas .story-head p{font-size:.95rem}
 body.single-canvas .story-grid{grid-template-columns:1.35fr 1fr 1fr;gap:10px}
 body.single-canvas .story-grid section{padding:13px 15px}
 body.single-canvas .story-grid h3{font-size:1rem;margin-bottom:6px}
 body.single-canvas .story-grid p{font-size:clamp(1rem,1.1vw,1.12rem);line-height:1.38}
 body.single-canvas .story-lens{font-size:1rem;line-height:1.4;padding:10px 13px}
 body.single-canvas .story-lens b{font-size:.72rem}
 body.single-canvas .story-route{gap:7px}
 body.single-canvas .story-route span{font-size:.86rem;line-height:1.2;padding:8px}
 body.single-canvas .story-route b{flex-basis:22px;height:22px}
 body.single-canvas .story-note{font-size:.9rem;line-height:1.35;padding:7px 11px}
 body.single-canvas .story-action{margin-top:0}
 body.single-canvas .story-action button{min-height:38px;padding:8px 12px}

 body.single-canvas .mindmap-page{gap:7px}
 body.single-canvas .map-question{padding:9px 13px;grid-template-columns:1fr 1fr;gap:14px}
 body.single-canvas .map-question>span{font-size:.72rem}
 body.single-canvas .map-question h2{font-size:clamp(1.25rem,1.55vw,1.5rem)}
 body.single-canvas .map-question p{font-size:.9rem;line-height:1.3;text-align:right}
 body.single-canvas .concept-path{gap:8px}
 body.single-canvas .map-step{padding:10px 9px;min-height:135px;gap:4px}
 body.single-canvas .map-step strong{font-size:1rem;line-height:1.2}
 body.single-canvas .step-number{width:25px;height:25px;font-size:.78rem}
 body.single-canvas .step-verb{font-size:.72rem;line-height:1.2}
 body.single-canvas .step-detail{font-size:.9rem;line-height:1.3}
 body.single-canvas .step-case{padding-top:4px;font-size:.76rem;line-height:1.22}
 body.single-canvas .step-case i{font-size:.65rem;margin-bottom:2px}
 body.single-canvas .step-lens{font-size:.72rem;line-height:1.2}
 body.single-canvas .mind-link{font-size:.88rem;line-height:1.3;padding:6px 10px}
 body.single-canvas .mind-link b{font-size:.68rem}
 body.single-canvas .student-roadmap{gap:9px}
 body.single-canvas .road-stage{padding:10px 12px}
 body.single-canvas .road-stage h3{font-size:1.02rem;line-height:1.2;margin-bottom:5px}
 body.single-canvas .road-stage h3 span{font-size:.72rem}
 body.single-canvas .road-stage p{font-size:1rem;line-height:1.35;margin:3px 0}
 body.single-canvas .road-stage p b{font-size:.9rem}
 body.single-canvas .road-stage .road-result{font-size:1rem;line-height:1.3;margin-top:4px}
 body.single-canvas .map-bottom>p{font-size:.9rem;line-height:1.35}
 body.single-canvas .map-bottom button{min-height:36px;padding:7px 10px;font-size:.84rem}

 body.single-canvas .end-hero{padding:22px 28px;gap:24px}
 body.single-canvas .end-copy>h2{font-size:2.55rem}
 body.single-canvas .end-success{font-size:1.18rem;line-height:1.35;margin-bottom:10px}
 body.single-canvas .end-required{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
 body.single-canvas .end-required section{padding:10px;grid-template-columns:30px 1fr;gap:8px}
 body.single-canvas .end-required b{font-size:.98rem}
 body.single-canvas .end-required p{font-size:.82rem;line-height:1.3}
 body.single-canvas .end-boundary,
 body.single-canvas .end-disclosure{font-size:.78rem;line-height:1.35;margin:7px 0}
 body.single-canvas .end-hero>img{max-height:250px}
 body.single-canvas .end-hero .actions{margin-top:8px}
}

@media (min-width:1001px) and (min-height:621px) and (max-height:800px){
 body.single-canvas .chapter-main{padding-top:10px;gap:6px}
 body.single-canvas .topbar{padding-top:7px;padding-bottom:7px}
 body.single-canvas .footerbar{min-height:52px;padding-top:6px;padding-bottom:6px}
 body.single-canvas .points{font-size:1.08rem;gap:8px}
 body.single-canvas .meaning{padding:14px 17px}
 body.single-canvas .case-thread{padding:5px 8px}
 body.single-canvas .ai-lens{padding:7px 10px}
 body.single-canvas .question-text{font-size:1rem}
 body.single-canvas .story-grid section{padding:10px 12px}
 body.single-canvas .story-grid p{font-size:.98rem}
 body.single-canvas .story-lens{padding:8px 10px;font-size:.94rem}
 body.single-canvas .story-route span{padding:6px;font-size:.8rem}
 body.single-canvas .story-note{display:none}
 body.single-canvas .map-step{min-height:118px;padding:8px}
 body.single-canvas .student-roadmap .road-result{display:none}
 body.single-canvas .end-hero{padding:16px 22px}
}

/* Shared course profile access, with classroom controls kept compact. */
.lecture-profile{color:var(--teal);font-size:.875rem;white-space:nowrap;text-underline-offset:4px}.hero .small a{color:var(--teal)}
@media(max-width:1000px){.footer-left>.lecture-profile{display:none}}

/* ===== 2026-09-29 layout fixes =====
   1) Grid children may shrink: stops the 4px horizontal scroll at 320px.
   2) Chapter map: rows size to their content, so the REQUIRED bar and buttons stay above the footer at 1280x720 and 1536x864.
   3) SVG figures stay inside their frame instead of covering the headline (Chapter 10, slides 8 and 10).
   4) Slides without a figure or table show each idea once, as a card with its meaning. */
#app{grid-template-columns:minmax(0,1fr)}
#app>*{min-width:0}
@media (min-width:1001px) and (min-height:621px){
html[data-design="showcase-v1"] body.single-canvas #chapter-main.mindmap-page{grid-template-rows:auto minmax(min-content,1fr) auto minmax(min-content,.6fr) auto}
html[data-design="showcase-v1"] body.single-canvas #chapter-main .figure-button{overflow:hidden}
html[data-design="showcase-v1"] body.single-canvas #chapter-main .figure-button img{max-height:100%;min-height:0;height:auto;max-width:100%;width:auto;object-fit:contain}
html[data-design="showcase-v1"] body.single-canvas #chapter-main .body-grid.body-merged{grid-template-columns:minmax(0,1fr)}
html[data-design="showcase-v1"] body.single-canvas #chapter-main .concepts.merged{grid-template-columns:repeat(var(--cards,3),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);align-content:stretch}
html[data-design="showcase-v1"] body.single-canvas #chapter-main .concepts.merged .concept{justify-content:center;gap:12px;padding:22px 24px}
html[data-design="showcase-v1"] body.single-canvas #chapter-main .concepts.merged .concept b{font-size:clamp(1.35rem,1.8vw,1.95rem)}
html[data-design="showcase-v1"] body.single-canvas #chapter-main .concepts.merged .concept span{color:var(--ink);font-size:clamp(1.12rem,1.45vw,1.5rem);line-height:1.42}
}
@media (min-width:1001px) and (min-height:621px) and (max-height:900px){
html[data-design="showcase-v1"] body.single-canvas #chapter-main.mindmap-page{gap:8px 16px}
html[data-design="showcase-v1"] body.single-canvas #chapter-main.mindmap-page>.map-question{padding:10px 18px}
html[data-design="showcase-v1"] body.single-canvas #chapter-main .map-question h2{font-size:clamp(1.3rem,1.6vw,1.7rem);margin:2px 0 4px}
html[data-design="showcase-v1"] body.single-canvas #chapter-main .map-question p{font-size:.98rem}
html[data-design="showcase-v1"] body.single-canvas #chapter-main .map-step{padding:12px 12px 10px}
html[data-design="showcase-v1"] body.single-canvas #chapter-main .concepts.merged .concept{padding:16px 18px;gap:8px}
html[data-design="showcase-v1"] body.single-canvas #chapter-main .concepts.merged .concept b{font-size:clamp(1.35rem,1.8vw,1.75rem)}
html[data-design="showcase-v1"] body.single-canvas #chapter-main .concepts.merged .concept span{font-size:clamp(1.12rem,1.5vw,1.4rem)}
}
.concepts.merged .concept b{display:block}
html[data-design="showcase-v1"] body.single-canvas #chapter-main .concepts:not(.merged){grid-auto-rows:minmax(min-content,1fr)}
ul.concepts.merged{list-style:none;margin:0;padding:0}
