:root{--lilac:#ded1fa;--violet:#38205d;--acid:#e8fa78;--orange:#ff784c;--cream:#fbf6e9;--black:#20102f;--rule:#9277b3;--nav-h:78px;--ease:cubic-bezier(.2,.8,.2,1);color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;background:#190c29;color:var(--violet);-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--acid);outline-offset:4px}.skip{position:fixed;left:16px;top:-80px;z-index:100;background:var(--cream);padding:10px 14px;color:var(--violet)}.skip:focus{top:12px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.deck-shell{position:relative;width:100%;height:100%;isolation:isolate;overflow:hidden;background:var(--lilac)}#motion-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-3}.grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.13;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}
.topbar{position:absolute;left:0;right:0;top:0;height:78px;padding:0 clamp(22px,4.5vw,76px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;z-index:20;border-bottom:2px solid currentColor}.wordmark{justify-self:start;color:inherit;text-decoration:none;font-size:40px;font-weight:900;letter-spacing:-4px;transform:rotate(-4deg)}.wordmark span{display:inline-block;margin-left:5px;font-size:24px;color:var(--orange);animation:spin 8s linear infinite}.topbar p{font:700 12px/1.2 ui-monospace,"SFMono-Regular",Consolas,monospace;letter-spacing:.15em;text-transform:uppercase;margin:0}.top-action{justify-self:end;border:1.5px solid currentColor;border-radius:999px;background:transparent;padding:9px 15px;font-weight:700;font-size:13px}.top-action:hover{background:var(--acid);transform:rotate(2deg)}
.stage{position:absolute;inset:78px 0 var(--nav-h);overflow:hidden;outline:0}.slide{position:absolute;inset:0;padding:clamp(30px,4vw,72px) clamp(28px,6vw,110px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr;gap:22px;overflow:auto;scrollbar-width:thin}.slide:before{content:"";position:absolute;inset:24px;pointer-events:none;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:42px 9px 42px 9px}.slide-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}.kicker{display:inline-flex;align-items:center;gap:10px;background:var(--acid);border:1.5px solid currentColor;border-radius:999px;padding:7px 14px;font:700 11px/1 ui-monospace,"SFMono-Regular",Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-1.5deg)}.page-mark{font:700 12px ui-monospace,"SFMono-Regular",Consolas,monospace;letter-spacing:.12em}.slide-body{grid-column:1/9;align-self:center;position:relative;z-index:2}.slide-visual{grid-column:9/-1;align-self:stretch;position:relative;min-height:270px}.slide h1{font-size:clamp(54px,6.4vw,112px);line-height:.91;letter-spacing:-.07em;margin:0;font-weight:900;max-width:11ch;text-wrap:balance}.slide h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:-.08em}.slide h2{font-size:clamp(42px,5vw,78px);line-height:.96;letter-spacing:-.055em;margin:0 0 22px;font-weight:900;text-wrap:balance}.lead{font-size:clamp(18px,1.65vw,28px);line-height:1.55;margin:0;max-width:38ch}.lead b,.copy b,.note b{font-weight:900}.lead em,.copy em,.note em{font-family:Georgia,serif;font-style:italic;font-weight:700}.copy{font-size:clamp(17px,1.35vw,23px);line-height:1.65;margin:18px 0 0;max-width:48ch}.note{display:inline-block;margin-top:24px;background:var(--cream);border:1.5px solid currentColor;padding:16px 20px;font-size:clamp(15px,1.2vw,20px);line-height:1.55;box-shadow:8px 8px 0 var(--orange);transform:rotate(-1deg);max-width:52ch}.note strong{font-size:1.08em}.sticker{position:absolute;right:3%;top:9%;width:116px;height:116px;display:grid;place-items:center;text-align:center;background:var(--orange);border:2px solid currentColor;border-radius:50% 12% 50% 12%;font-weight:900;line-height:1.05;transform:rotate(11deg);animation:wobble 2.8s ease-in-out infinite}.burst{position:absolute;width:86px;height:86px;background:var(--acid);clip-path:polygon(50% 0,59% 31%,79% 8%,73% 38%,100% 34%,77% 54%,98% 69%,70% 68%,75% 100%,55% 76%,43% 100%,39% 74%,10% 91%,27% 63%,0 54%,30% 47%,7% 22%,39% 34%)}
.cover .slide-body{grid-column:1/10}.cover h1{font-size:clamp(76px,10vw,172px);max-width:9ch}.cover .lead{margin-top:25px;max-width:28ch}.cover .slide-visual{grid-column:10/-1}.cover .edition{font:700 12px ui-monospace,monospace;letter-spacing:.16em;margin-top:30px}.cover-word{position:absolute;right:-2vw;bottom:-3vh;font-size:clamp(180px,26vw,470px);font-weight:900;letter-spacing:-.11em;color:transparent;-webkit-text-stroke:2px var(--violet);opacity:.17;transform:rotate(-12deg);pointer-events:none}
.toc .slide-body{grid-column:1/-1;align-self:start}.toc h2{max-width:none}.toc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}.toc-card{position:relative;border:1.5px solid currentColor;background:var(--cream);padding:20px;min-height:135px;text-align:left;border-radius:24px 5px 24px 5px;transition:transform .25s var(--ease),background .2s}.toc-card:nth-child(3n+2){background:var(--acid);transform:rotate(1deg)}.toc-card:nth-child(3n){background:var(--orange);transform:rotate(-1deg)}.toc-card:hover{transform:translateY(-7px) rotate(-1deg)}.toc-card b{display:block;font-size:34px;margin-bottom:13px;letter-spacing:-2px}.toc-card span{font-size:17px;font-weight:800}
.chapter .slide-body{grid-column:1/8}.chapter .slide-visual{grid-column:8/-1}.chapter-no{font-size:clamp(150px,20vw,340px);line-height:.72;font-weight:900;letter-spacing:-.1em;color:var(--orange)}.chapter h1{font-size:clamp(62px,7.5vw,126px);max-width:8ch}.chapter .lead{margin-top:25px;font-weight:700}.chapter-label{display:inline-block;margin-top:28px;background:var(--cream);border:2px solid currentColor;padding:10px 18px;font:700 13px ui-monospace,monospace;transform:rotate(-3deg)}
.cards .slide-body,.flow-slide .slide-body,.compare .slide-body,.prompt-slide .slide-body{grid-column:1/-1;align-self:start}.card-grid{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:18px;margin-top:24px}.info-card{position:relative;background:var(--cream);border:1.5px solid currentColor;padding:24px 25px;min-height:170px;border-radius:28px 6px 28px 6px;box-shadow:7px 7px 0 color-mix(in srgb,var(--violet) 22%,transparent)}.info-card:nth-child(2n){background:var(--acid);transform:rotate(1deg)}.info-card:nth-child(3n){background:var(--orange);transform:rotate(-1deg)}.info-card b{display:block;font-size:clamp(22px,2vw,31px);line-height:1.05;margin-bottom:13px}.info-card p{margin:0;font-size:clamp(15px,1.15vw,19px);line-height:1.55}.list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 18px;margin-top:23px}.list-item{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;background:color-mix(in srgb,var(--cream) 87%,transparent);border:1.5px solid currentColor;padding:17px 20px;border-radius:6px 24px 6px 24px}.list-item .index{width:34px;height:34px;display:grid;place-items:center;background:var(--violet);color:var(--cream);border-radius:50%;font:700 12px ui-monospace,monospace}.list-item b{display:block;font-size:19px;margin-bottom:5px}.list-item p{margin:0;font-size:16px;line-height:1.5}
.compare-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:22px;margin-top:26px}.compare-card{position:relative;border:2px solid currentColor;padding:24px 28px;min-height:220px;background:var(--cream);border-radius:9px 34px 9px 34px}.compare-card.bad{transform:rotate(-2deg);opacity:.78}.compare-card.good{background:var(--acid);transform:rotate(1deg);box-shadow:10px 10px 0 var(--orange)}.compare-card .label{display:inline-block;font:900 12px ui-monospace,monospace;letter-spacing:.13em;margin-bottom:22px}.compare-card p{font-size:clamp(18px,1.6vw,26px);line-height:1.48;margin:0;font-weight:800}
.flow{display:flex;align-items:stretch;gap:10px;margin-top:26px}.flow-node{flex:1;position:relative;background:var(--cream);border:1.5px solid currentColor;padding:22px 17px;min-height:176px;border-radius:22px 5px}.flow-node:after{content:"→";position:absolute;right:-18px;top:48%;z-index:3;font-size:26px;font-weight:900}.flow-node:last-child:after{display:none}.flow-node b{display:block;font-size:20px;margin-bottom:10px}.flow-node p{font-size:15px;line-height:1.5;margin:0}.flow-node:nth-child(2n){background:var(--acid)}
.prompt-layout{display:grid;grid-template-columns:minmax(250px,.65fr) 1.35fr;gap:28px;margin-top:20px}.prompt-intro{align-self:start}.prompt-box{position:relative;background:var(--violet);color:var(--cream);border:2px solid var(--violet);border-radius:8px 38px 8px 38px;padding:27px;max-height:45vh;overflow:auto;box-shadow:11px 11px 0 var(--orange);font:500 clamp(14px,1.05vw,18px)/1.65 ui-monospace,"SFMono-Regular",Consolas,monospace;white-space:pre-wrap}.copy-button{display:inline-flex;margin-top:22px;border:1.5px solid currentColor;border-radius:999px;background:var(--acid);padding:11px 17px;font-weight:900}.copy-button:hover{transform:translateY(-3px) rotate(-2deg)}
.final .slide-body{grid-column:1/11}.final h1{font-size:clamp(70px,9vw,150px);max-width:10ch}.final .lead{font-size:clamp(22px,2.1vw,36px);margin-top:28px}.final-mark{position:absolute;right:4%;bottom:8%;font-size:clamp(110px,17vw,290px);line-height:1;color:var(--orange);animation:spin 12s linear infinite}
.bottom-nav{position:absolute;left:0;right:0;bottom:0;height:var(--nav-h);display:grid;grid-template-columns:62px auto minmax(120px,1fr) auto 62px;align-items:center;gap:13px;padding:10px clamp(17px,3.8vw,64px);z-index:30;background:var(--violet);color:var(--cream);border-top:2px solid var(--violet)}.bottom-nav button{border:1px solid color-mix(in srgb,var(--cream) 65%,transparent);background:transparent;color:inherit}.nav-arrow{width:48px;height:48px;border-radius:50%;font-size:24px}.nav-arrow:hover:not(:disabled){background:var(--orange);color:var(--violet);transform:rotate(-8deg)}.nav-arrow:disabled{opacity:.28;cursor:default}.overview-button{height:43px;display:flex;align-items:center;gap:9px;padding:0 16px;border-radius:999px;font-weight:800}.overview-button:hover{background:var(--acid);color:var(--violet)}.overview-icon{font-size:18px}.scrubber-wrap{display:flex;align-items:center;padding:0 5px}.scrubber{width:100%}input[type=range]{width:100%;height:22px;background:transparent;accent-color:var(--acid);cursor:pointer}.counter{font:700 13px ui-monospace,monospace;letter-spacing:.08em;white-space:nowrap}
dialog{width:min(1180px,94vw);height:min(820px,90vh);overflow:auto;border:2px solid var(--violet);border-radius:34px 8px 34px 8px;background:var(--lilac);color:var(--violet);padding:0;box-shadow:20px 20px 0 var(--orange)}dialog::backdrop{background:rgba(19,7,34,.78);backdrop-filter:blur(8px)}.overview-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:24px 28px;background:var(--acid);border-bottom:2px solid var(--violet)}.overview-head span{font:800 11px ui-monospace,monospace;letter-spacing:.16em}.overview-head h2{font-size:35px;letter-spacing:-1.5px;margin:4px 0 0}.overview-head button{width:44px;height:44px;border:1.5px solid var(--violet);border-radius:50%;background:var(--cream);font-size:28px}.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;padding:22px}.overview-item{position:relative;min-height:128px;text-align:left;border:1.5px solid var(--violet);background:var(--cream);border-radius:18px 4px 18px 4px;padding:15px}.overview-item:nth-child(4n+2){background:var(--acid)}.overview-item:nth-child(4n+3){background:var(--orange)}.overview-item:hover{transform:translateY(-4px) rotate(-1deg)}.overview-item[aria-current=true]{box-shadow:inset 0 0 0 4px var(--violet)}.overview-item small{font:700 10px ui-monospace,monospace}.overview-item b{display:block;font-size:17px;line-height:1.2;margin-top:17px}.toast{position:fixed;left:50%;bottom:96px;z-index:100;transform:translate(-50%,20px);background:var(--acid);color:var(--violet);border:2px solid var(--violet);border-radius:999px;padding:11px 18px;font-weight:900;opacity:0;pointer-events:none;transition:.25s}.toast.on{opacity:1;transform:translate(-50%,0)}
.slide.enter .kicker{animation:stamp-in .5s var(--ease) both}.slide.enter h1,.slide.enter h2{animation:title-in .75s var(--ease) .05s both}.slide.enter .lead{animation:rise .6s var(--ease) .18s both}.slide.enter .copy,.slide.enter .note{animation:rise .6s var(--ease) .28s both}.slide.enter .info-card,.slide.enter .list-item,.slide.enter .flow-node,.slide.enter .toc-card,.slide.enter .compare-card{animation:piece-in .65s var(--ease) both}.slide.enter :is(.info-card,.list-item,.flow-node,.toc-card,.compare-card):nth-child(2){animation-delay:.08s}.slide.enter :is(.info-card,.list-item,.flow-node,.toc-card,.compare-card):nth-child(3){animation-delay:.16s}.slide.enter :is(.info-card,.list-item,.flow-node,.toc-card,.compare-card):nth-child(4){animation-delay:.24s}.slide.enter :is(.info-card,.list-item,.flow-node,.toc-card,.compare-card):nth-child(5){animation-delay:.32s}.slide.enter .prompt-box{animation:unfold .8s var(--ease) .15s both}.slide.enter .chapter-no{animation:number-in .85s var(--ease) both}
@keyframes stamp-in{from{opacity:0;transform:scale(1.8) rotate(8deg)}to{opacity:1;transform:scale(1) rotate(-1.5deg)}}@keyframes title-in{from{opacity:0;transform:translateY(48px) skewY(4deg);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}@keyframes rise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes piece-in{from{opacity:0;transform:translateY(35px) rotate(5deg) scale(.92)}to{opacity:1}}@keyframes unfold{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}@keyframes number-in{from{opacity:0;transform:translateX(80px) rotate(20deg) scale(.6)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes wobble{0%,100%{transform:rotate(11deg) translateY(0)}50%{transform:rotate(5deg) translateY(-8px)}}
html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.wordmark span,.final-mark{animation:none!important}}
@media(max-width:900px){.slide{padding:32px 34px}.slide-body{grid-column:1/9}.slide-visual{grid-column:9/-1}.toc-grid{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)!important}.flow{display:grid;grid-template-columns:repeat(2,1fr)}.flow-node:after{display:none}.prompt-layout{grid-template-columns:1fr}.prompt-box{max-height:34vh}.overview-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){:root{--nav-h:68px}.topbar{height:64px;padding:0 18px;grid-template-columns:1fr auto}.wordmark{font-size:32px}.topbar p{display:none}.top-action{font-size:12px;padding:7px 11px}.stage{inset:64px 0 var(--nav-h)}.slide{padding:24px 20px 34px;display:block}.slide:before{inset:9px;border-radius:24px 5px}.slide-head{margin:0 6px 24px}.page-mark{font-size:10px}.slide-body,.slide-visual,.cover .slide-body,.cover .slide-visual,.chapter .slide-body,.chapter .slide-visual,.final .slide-body{display:block}.slide-visual{position:absolute;right:12px;top:55px;min-height:0;width:100px;height:100px}.slide h1{font-size:clamp(48px,15vw,72px)}.slide h2{font-size:clamp(39px,12vw,57px)}.lead{font-size:18px}.copy{font-size:16px}.note{font-size:14px;margin-right:8px}.sticker{width:75px;height:75px;font-size:12px;right:2%;top:3%}.cover h1{font-size:clamp(67px,21vw,98px);margin-top:9vh}.cover-word{font-size:67vw;bottom:7vh}.toc-grid{grid-template-columns:1fr 1fr;gap:9px}.toc-card{min-height:105px;padding:14px}.toc-card b{font-size:26px;margin-bottom:8px}.toc-card span{font-size:14px}.chapter-no{font-size:44vw;margin-top:8vh}.chapter h1{font-size:15vw}.chapter-label{font-size:11px}.card-grid,.list-grid,.compare-grid{grid-template-columns:1fr!important}.info-card{min-height:125px;padding:19px}.list-item{padding:14px}.flow{grid-template-columns:1fr}.flow-node{min-height:120px}.prompt-layout{display:block}.prompt-intro{margin-bottom:16px}.prompt-box{max-height:38vh;font-size:13px;padding:19px}.bottom-nav{grid-template-columns:44px auto 1fr auto 44px;padding:8px 12px;gap:7px}.nav-arrow{width:40px;height:40px}.overview-button{padding:0 10px;height:38px}.overview-button span:last-child{display:none}.counter{font-size:11px}.overview-grid{grid-template-columns:1fr 1fr;padding:13px}.overview-item{min-height:102px;padding:11px}.overview-item b{font-size:14px;margin-top:12px}.overview-head{padding:18px}.overview-head h2{font-size:28px}}

/* Generated motion and content share a deliberate, stable stacking order. */
#motion-canvas{z-index:0}.grain{z-index:1}.stage{z-index:2}

/* V2 layout: content and motion always occupy separate regions. */
.slide-body,.cards .slide-body,.flow-slide .slide-body,.compare .slide-body,.prompt .slide-body,.toc .slide-body{grid-column:1/8;align-self:start}
.slide-visual,.cover .slide-visual,.chapter .slide-visual{grid-column:8/-1;align-self:stretch;position:relative;min-height:100%;overflow:hidden;border:1.5px solid color-mix(in srgb,var(--violet) 38%,transparent);border-radius:42px 9px 42px 9px;background:color-mix(in srgb,var(--cream) 18%,transparent)}
.slide-visual:after{content:"MOTION / LIVE";position:absolute;left:16px;bottom:13px;font:800 9px ui-monospace,monospace;letter-spacing:.16em;opacity:.62}
.cover .slide-body,.final .slide-body{grid-column:1/8}
.cover .slide-visual{grid-column:8/-1}
.toc-grid{grid-template-columns:repeat(3,1fr)}
.card-grid{grid-template-columns:repeat(2,1fr)!important;gap:14px;margin-top:18px}.info-card{min-height:145px;padding:20px 21px}.info-card b{margin-bottom:9px}
.flow{display:grid;grid-template-columns:repeat(3,1fr)}
.flow-node:after{display:none}
.final-mark{right:50%;bottom:50%;transform:translate(50%,50%);font-size:clamp(100px,15vw,250px)}
.page-rail{min-width:0;display:flex;align-items:center;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:4px 2px;scroll-snap-type:x proximity}
.page-rail::-webkit-scrollbar{display:none}.page-number{flex:0 0 32px;width:32px;height:32px;border-radius:50%;font:800 11px ui-monospace,monospace;scroll-snap-align:center;transition:background .18s,color .18s,transform .18s}.page-number:hover{background:var(--orange);color:var(--violet);transform:translateY(-2px)}.page-number[aria-current=page]{background:var(--acid);border-color:var(--acid);color:var(--violet);transform:scale(1.12)}

@media(max-width:900px){
 .slide-body,.cards .slide-body,.flow-slide .slide-body,.compare .slide-body,.prompt .slide-body,.toc .slide-body,.cover .slide-body,.final .slide-body{grid-column:1/8}
 .slide-visual,.cover .slide-visual,.chapter .slide-visual{grid-column:8/-1}
 .prompt-layout{grid-template-columns:1fr}.compare-grid{grid-template-columns:1fr}.toc-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:620px){
 .slide{display:grid;grid-template-columns:1fr;grid-template-rows:auto 112px auto;align-content:start;gap:14px;padding:18px 20px 30px}
 .slide-head{grid-column:1;grid-row:1;margin:0 4px}
 .slide-body,.cards .slide-body,.flow-slide .slide-body,.compare .slide-body,.prompt .slide-body,.toc .slide-body,.cover .slide-body,.chapter .slide-body,.final .slide-body{grid-column:1;grid-row:3;display:block;width:100%;min-width:0}
 .slide-visual,.cover .slide-visual,.chapter .slide-visual{grid-column:1;grid-row:2;display:block;position:relative;inset:auto;width:100%;height:112px;min-height:0;max-height:112px;margin:0;overflow:hidden}
 .chapter-no{display:grid!important;place-items:center;font-size:92px;margin:0;line-height:.85;color:color-mix(in srgb,var(--orange) 60%,transparent)}
 .slide h1,.chapter h1{font-size:clamp(46px,13vw,66px);max-width:100%}.slide h2{font-size:clamp(35px,10vw,49px)}
 .cover h1{font-size:clamp(58px,17vw,82px);margin-top:0}.final h1{font-size:clamp(50px,14vw,74px)}
 .toc-grid{grid-template-columns:1fr 1fr}.card-grid,.list-grid,.compare-grid,.flow{grid-template-columns:1fr!important}
 .prompt-box{max-height:none}.bottom-nav{grid-template-columns:40px auto minmax(0,1fr) auto 40px}.counter{display:none}.page-number{flex-basis:30px;width:30px;height:30px}
}

@media(max-width:620px) and (max-height:650px){
 .slide{grid-template-rows:auto 88px auto;gap:10px;padding:14px 20px 26px}
 .slide-visual,.cover .slide-visual,.chapter .slide-visual{height:88px;max-height:88px}
 .slide-visual:after{display:none}.chapter-no{font-size:74px}
 .slide h1,.chapter h1{font-size:clamp(42px,11.5vw,58px)}.slide h2{font-size:clamp(32px,8.5vw,43px)}
 .lead{font-size:17px}.copy{font-size:15px}
}

@media(min-width:621px){.slide{padding-bottom:clamp(20px,2.2vw,32px)}}

/* The chapter number stays inside its motion window while the canvas animates. */
.slide.enter .chapter-no{animation:none}

/* The shell reserves a real row for navigation, so content can never sit behind it. */
.deck-shell{--top-h:78px;display:grid;grid-template-rows:var(--top-h) minmax(0,1fr) var(--nav-h)}
.topbar{position:relative;inset:auto;grid-row:1;width:100%;height:auto}
.stage{position:relative;inset:auto;grid-row:2;min-width:0;min-height:0;width:100%;height:100%}
.bottom-nav{position:relative;inset:auto;grid-row:3;width:100%;height:auto}
.slide{padding-bottom:calc(32px + env(safe-area-inset-bottom));scroll-padding-bottom:32px}

@media(max-width:620px){
 .deck-shell{--top-h:64px}
 .stage{inset:auto}
 .slide{padding-bottom:calc(var(--nav-h) + 24px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(var(--nav-h) + 24px)}
}
