.scroll-world .story-shell { position:relative; }
.scroll-world .story-main { height:calc(100svh - 142px); min-height:620px; max-height:1100px; }
.scroll-world .story-copy { top:12%; width:32%; max-width:460px; }
.scroll-world .story-copy h1 { font-size:clamp(38px,4.8vw,72px); margin:15px 0 21px; line-height:1.04; }
.moment-copy { color:#36573f; font-size:clamp(16px,1.3vw,19px); line-height:1.65; max-width:430px; }
.moment-goals { display:flex; flex-wrap:wrap; gap:7px; margin-top:17px; pointer-events:auto; }
.moment-goals button { min-height:37px; min-width:40px; border:1px solid #526e453b; border-radius:9px; background:#f4fff0d9; color:#325035; font-size:13px; padding:8px 10px; }
.moment-action { margin-top:15px; pointer-events:auto; display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.moment-action a,.moment-action button { min-height:44px; display:inline-flex; align-items:center; gap:8px; color:#285237; font-size:14px; font-weight:650; text-decoration:underline; text-underline-offset:5px; background:none; border:0; }
.moment-action .provider-entry { width:100%; padding-top:5px; border-top:1px solid currentColor; }
.moment-action .provider-entry a { max-width:100%; line-height:1.5; overflow-wrap:anywhere; }
.moment-action .provider-entry small { display:block; margin-top:4px; font-size:12px; line-height:1.5; }
.moment-action a:focus-visible { outline:2px solid currentColor; outline-offset:4px; border-radius:3px; }
.intro-goals { display:grid; grid-template-columns:repeat(9,1fr); gap:6px; max-width:416px; margin-top:20px; pointer-events:auto; }
.intro-goals button { aspect-ratio:1; min-height:40px; border:0; border-radius:10px; color:var(--goal-ink,#fff); background:var(--goal); font-size:15px; font-weight:650; box-shadow:inset 0 0 0 1px #00000012; }
.intro-goals button:hover { transform:translateY(-3px); }
.scroll-world .story-copy .story-transcript { display:none; }
.scroll-world .story-actions { margin-top:20px; }
.scroll-world .story-actions .text-link { display:none; }
.scroll-world .story-actions .button { min-height:46px; font-size:14px; padding:12px 20px; }
.scroll-world .story-transport { margin-top:12px; gap:12px; font-size:13px; }
.scroll-world .story-transport #voice-toggle,.scroll-world .story-transport #replay-chapter { display:none; }
.scroll-world .tour-progress { display:none; }
.scroll-world .cinema-coordinate { top:25px; }
.scroll-world .story-stage-top { top:72px; }
.scroll-world .story-stage-top>span { display:none; }
.scroll-world .story-stage-top button { font-size:12px; padding:10px; }
.scroll-world .cinema-subtitles { bottom:117px; left:43%; right:4%; padding:16px 22px; min-height:88px; }
.scroll-world .cinema-subtitles>p { font-size:17px; }
.scroll-world .scene-caption { bottom:86px; }
.scroll-world .scene-caption>span:last-child { display:none; }
.scroll-world .story-camera { bottom:228px; }
.scroll-world .cinema-dock { position:absolute; bottom:0; left:0; right:0; padding:13px 4.5%; height:70px; background:#f4fcf2e6; backdrop-filter:blur(18px); z-index:5; }
.scroll-cue { position:absolute; bottom:82px; left:4.5%; display:flex; align-items:center; gap:16px; color:#3a6042; z-index:4; font-size:13px; }
.scroll-cue>span:first-child { font-variant-numeric:tabular-nums; letter-spacing:2px; }
.scroll-cue a { color:#3a6042; font-size:12px; }
.scroll-world .story-extras { position:absolute; top:20px; right:4%; z-index:8; max-width:min(760px,91vw); color:#365f42; }
.story-extras>summary { margin-left:auto; width:max-content; cursor:pointer; font-size:13px; padding:11px 16px; border:1px solid #ffffffa0; background:#f7fff5cf; border-radius:99px; }
.story-extras[open] { top:18px; bottom:85px; overflow:auto; padding:13px; border:1px solid #a8bc9a; background:#f4fcf0f5; backdrop-filter:blur(18px); border-radius:20px; box-shadow:0 15px 65px #38523925; }
.story-extras[open]>summary { position:sticky; top:0; z-index:2; background:#dfedcf; }
.scroll-world .story-extras .story-interaction { display:block; padding:0 18px; }
.scroll-world .story-extras .story-detail { border:0; padding-top:10px; }
.scroll-world .story-extras .chapter-nav { grid-template-columns:repeat(3,1fr); padding:15px; }
.scroll-world .cinema-entry { position:absolute; top:auto; bottom:0; left:0; transform:translateY(100%); z-index:7; background:#f9fff5f5; border:1px solid #adc49c; padding:14px 18px; border-radius:16px; box-shadow:0 12px 50px #355a3520; width:max-content; max-width:min(400px,86vw); }
.scroll-world .story-shell[data-entered=true] .cinema-entry:not([hidden]) { display:block; }
.scroll-world .cinema-entry>p { margin:0 0 10px; font-size:14px; }
.scroll-world .cinema-entry>span { display:none; }
.scroll-world .cinema-entry .button { min-height:40px; padding:10px 16px; font-size:14px; }
.scroll-world .cinema-entry .text-link { font-size:13px; }
.scroll-world .provider-shortcut { display:none!important; }
#goals-dialog.goals-experience { width:min(1120px,94vw); max-width:1120px; max-height:92svh; padding:30px; border:1px solid #d8e7ce; border-radius:28px; background:#f6fbf1; color:#254c34; }
.goals-experience::backdrop { background:#163b32a6; backdrop-filter:blur(10px); }
.goal-experience-heading { display:flex; align-items:center; gap:20px; padding-right:45px; }
.goal-experience-heading>span { display:grid; place-items:center; width:74px; height:74px; flex:0 0 auto; border-radius:18px; background:var(--goal-color,#e5243b); color:var(--goal-ink,white); font-size:35px; font-weight:650; }
.goals-experience .eyebrow { font-size:12px; margin:0 0 7px; color:#5b7850; }
.goals-experience h2 { font-size:clamp(25px,3.6vw,42px); line-height:1.1; margin:0; }
#goals-dialog #goals-grid { display:grid; grid-template-columns:repeat(17,1fr); gap:5px; margin:25px 0; }
.goal-selector button { min-height:39px; border:2px solid transparent; background:var(--goal); color:var(--goal-ink,white); border-radius:8px; font-size:14px; font-weight:600; }
.goal-selector button[aria-pressed=true] { outline:2px solid #21462c; outline-offset:2px; border-color:white; }
.goal-experience-layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:30px; align-items:start; }
.goal-visual { position:relative; min-height:335px; border-radius:22px; overflow:hidden; background:radial-gradient(ellipse at center,#f9fff1,#cbeadd); }
.goal-visual canvas { width:100%; height:290px; display:block; touch-action:none; }
.goal-visual>span { display:block; padding:0 20px 14px; color:#52734e; font-size:13px; text-align:center; }
.goal-visual .button { margin:0 20px 20px; width:calc(100% - 40px); border-radius:99px; font-size:14px; }
.goal-explanation { max-height:52svh; overflow:auto; padding-right:10px; }
.goal-explanation h3 { font-size:17px; margin:0 0 10px; color:#2a5035; }
.goal-explanation>p,.goal-explanation li,.goal-scenario p { font-size:16px; line-height:1.65; color:#4d654a; margin-bottom:17px; }
.goal-explanation ul { margin:0 0 25px; padding-left:20px; }
.goal-explanation li { margin-bottom:10px; }
.goal-scenario { background:#e6f1d8; border-radius:16px; padding:20px; margin:20px 0; }
.goal-scenario p { margin-bottom:0; }
.goal-explanation .goal-evidence { font-size:14px; }
.goal-explanation .goal-disclaimer { font-size:12px; margin-top:18px; }
.goal-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.goal-actions .button { font-size:14px; border-radius:99px; }
.goal-actions .text-link { font-size:14px; }
#goal-scene-fallback { padding:35px; font-size:24px; }
@media(max-width:900px) and (min-width:800px){.scroll-world .story-copy{width:38%}.scroll-world .intro-goals{grid-template-columns:repeat(6,1fr)}.scroll-world .story-copy h1{font-size:43px}.scroll-world .moment-copy{font-size:16px}.scroll-cue{gap:9px}}
@media(max-width:799px){
 .scroll-world .header{height:62px}.scroll-world .experience-switch{height:50px;padding:4px 20px}.scroll-world .experience-switch>span{display:none}
 .scroll-world .story-main,.scroll-world .story-shell[data-entered=false] .story-main{height:calc(100svh - 112px);min-height:760px;display:block}
 .scroll-world .story-copy{position:absolute;top:60px;left:22px;right:22px;width:auto;max-width:none;padding:0;min-height:0;pointer-events:none}
 .scroll-world .story-copy>.eyebrow{font-size:11px;max-width:none;letter-spacing:1.4px}.scroll-world .story-copy h1{font-size:36px;max-width:620px;margin:9px 0 12px;letter-spacing:-.8px}
 .scroll-world .moment-copy{font-size:15px;line-height:1.55;max-width:620px}.scroll-world .moment-goals{gap:5px;margin-top:10px}.scroll-world .moment-goals button{font-size:12px;min-height:32px;padding:6px 8px}.moment-action{margin-top:7px}.moment-action a,.moment-action button{font-size:13px;min-height:36px}
 .scroll-world .intro-goals{grid-template-columns:repeat(9,1fr);margin-top:12px;max-width:430px;gap:5px}.scroll-world .intro-goals button{min-height:32px;font-size:13px;aspect-ratio:auto;padding:8px 0}
 .scroll-world .story-actions{position:absolute;top:570px;left:0;margin:0}.scroll-world .story-transport{position:absolute;top:580px;left:160px;margin:0}.scroll-world .story-transport #story-position{display:none}
 .scroll-world .story-world{position:absolute;inset:300px 0 70px;min-height:0;height:auto;overflow:visible}.scroll-world .story-world:after{background:linear-gradient(0deg,#e8f6ed,transparent 30%,transparent 80%,#e8f6ed)}
 .scroll-world .cinema-coordinate{left:22px;right:22px;top:17px}.scroll-world .cinema-coordinate>span:last-child{display:none}
 .scroll-world .story-stage-top{top:5px;left:10px;right:10px}.scroll-world .story-stage-top>div{padding:2px}.scroll-world .story-stage-top button{font-size:11px;padding:7px;min-height:32px}
 .scroll-world .story-camera{right:10px;bottom:117px}.scroll-world .story-camera button{width:35px;height:35px;font-size:16px}
 .scroll-world .cinema-subtitles{left:12px;right:12px;bottom:60px;min-height:65px;padding:10px 14px;border-radius:14px}.scroll-world .cinema-subtitles>span{font-size:10px;margin-bottom:4px}.scroll-world .cinema-subtitles>p{font-size:14px;line-height:1.4}
 .scroll-world .scene-caption{display:none}.scroll-world .actor-labels{display:none}.scroll-world .story-extras{top:9px;right:17px}.story-extras>summary{font-size:12px;padding:9px 13px}.story-extras[open]{bottom:85px;max-width:calc(100vw - 34px)}
 .scroll-world .cinema-dock{height:65px;gap:7px;padding:9px 20px;flex-wrap:nowrap}.scroll-world .cinema-playback{flex-basis:auto;min-width:0;gap:8px}.scroll-world #cinema-duration{display:none}.scroll-world .cinema-sound-controls{width:auto;gap:6px}.scroll-world .cinema-sound-controls>button,.scroll-world .cinema-sound-controls summary{font-size:11px;min-height:35px;padding:8px}.scroll-world .cinema-playback>span{font-size:11px}.scroll-world #cinema-play{width:34px;height:34px;flex:0 0 auto}.cinema-progress-track{min-width:25px}
 .scroll-cue{left:22px;bottom:79px;font-size:11px;gap:10px}.scroll-cue a{font-size:11px}.scroll-world .cinema-entry{position:fixed;top:auto;bottom:80px;left:20px;transform:none;pointer-events:auto}
 .goals-experience{padding:20px;width:94vw;border-radius:22px}.goal-experience-heading{gap:12px}.goal-experience-heading>span{width:53px;height:59px;font-size:27px;border-radius:12px}.goals-experience h2{font-size:24px}#goals-dialog #goals-grid{grid-template-columns:repeat(9,1fr);gap:6px;margin:20px 0}.goal-selector button{min-height:33px;font-size:13px}.goal-experience-layout{grid-template-columns:1fr;gap:21px}.goal-visual{min-height:235px}.goal-visual canvas{height:210px}.goal-explanation{max-height:none;overflow:visible;padding:0}.goal-visual .button{margin-bottom:15px}
}
@media(min-width:800px) and (max-height:810px){.scroll-world .story-copy{top:10%}.scroll-world .story-copy h1{font-size:clamp(34px,4.5vw,57px);margin:11px 0 16px}.moment-copy{font-size:16px}.intro-goals{margin-top:11px;gap:5px}.intro-goals button{min-height:32px}.scroll-world .story-actions{margin-top:14px}.scroll-world .story-transport{margin-top:7px}}
@media(prefers-reduced-motion:reduce){.intro-goals button:hover{transform:none}}

.scroll-world .chapter-goals button{border:1px solid #9aaa89;border-radius:9px;min-height:40px;padding:9px 12px;color:#284933;background:#eef7e2;text-align:left;font-size:14px}.scroll-world .moment-goals button{font-size:14px;min-height:40px}.scroll-world .story-stage-top button{font-size:14px}.scroll-world .cinema-sound-controls>button,.scroll-world .cinema-sound-controls summary{font-size:14px}

/* Narrow screens keep the reading area in normal flow. Swipe the scene to advance. */
@media(max-width:799px){
 .scroll-world .story-main,.scroll-world .story-shell[data-entered=false] .story-main{height:auto;min-height:0;max-height:none;overflow:visible}
 .scroll-world .cinema-dock{position:relative;inset:auto;height:auto;min-height:65px;padding:9px 12px;flex-wrap:wrap;justify-content:center}
 .scroll-world .cinema-playback{max-width:none;flex:1 1 100px}.scroll-world .cinema-sound-controls{flex:0 1 auto}
 .scroll-world .cinema-sound-controls summary{font-size:12px}.scroll-world .cinema-sound-controls>button{font-size:13px}
 .scroll-world .story-copy{position:relative;inset:auto;width:auto;padding:90px 22px 25px}
 .scroll-world .story-actions{position:static;margin-top:20px}.scroll-world .story-transport{position:static;margin-top:12px;min-height:40px}
 .scroll-world .story-world{position:relative;inset:auto;height:470px;min-height:0;overflow:hidden}
 .scroll-world .story-simple-scene{min-height:0;height:100%;padding:85px 25px 95px}
 .scroll-world .cinema-subtitles{bottom:20px}.scroll-world .story-camera{bottom:130px}
 .scroll-world .scroll-cue{top:124px;bottom:auto;left:22px;right:22px;flex-wrap:wrap;font-size:12px;gap:8px}
 .scroll-world .scroll-cue a{font-size:12px;min-height:30px;display:inline-flex;align-items:center}
 .scroll-world .story-extras{top:78px}.scroll-world .story-extras[open]{bottom:auto;max-height:70svh}
 .scroll-world .cinema-entry{bottom:20px}
 #goals-dialog.goals-experience{padding:20px;width:94vw;border-radius:22px;overflow-y:auto}
 #goals-dialog #goals-grid{grid-template-columns:repeat(9,minmax(0,1fr))}
 .goal-selector button{padding:7px 0;min-width:0;font-size:13px}
}
@media(max-width:360px){.scroll-world .cinema-dock{min-height:104px}.scroll-world .cinema-playback{flex-basis:100%}.scroll-world .cinema-sound-controls{width:100%;justify-content:space-between}.scroll-world .story-extras{top:117px}.scroll-world .scroll-cue{top:163px}.scroll-world .story-stage-top button{font-size:12px}}
