/* Scene journeys have a full static reading layout before enhancement. */
.story-section-title{padding:2.2rem var(--gutter) 1.4rem;font-size:clamp(1.4rem,2.6vw,2.6rem);letter-spacing:0;line-height:1.45}
.story-cinematic{--night:#17262b;--moon:#f5ead1;--amber:#edbb70;position:relative;display:block;padding:0;border:0;background:var(--night);color:var(--moon);isolation:isolate}
.story-cinematic .story-navigation{position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:76px;padding:.8rem var(--gutter);background:#17262bf5;border-bottom:1px solid #a8b4aa40;color:var(--moon)}
.story-navigation ol{display:flex;gap:clamp(.7rem,1.6vw,2rem);list-style:none;padding:0;margin:0}.story-navigation li{margin:0}.story-navigation a{text-decoration:none}.story-navigation ol a{display:flex;gap:.5rem;align-items:center;font-size:.72rem;opacity:.68;min-height:34px}.story-navigation ol a[aria-current]{opacity:1;color:var(--amber)}.story-navigation ol a[aria-current]>span:first-child{border-color:var(--amber);background:#e6b76f1c}.story-navigation ol a>span:first-child{display:grid;place-items:center;border:1px solid #b8c4b557;border-radius:50%;font-size:.62rem;width:1.85rem;height:1.85rem;font-family:Georgia,serif}.chapter-label{max-width:9em;line-height:1.4}.story-tools{display:flex;gap:1rem;align-items:center;font-size:.65rem;white-space:nowrap}.story-tools button{background:none;color:inherit;border:0;padding:.3rem 0;border-bottom:1px solid #c6d2c063;font-size:inherit}
.story-cinematic .story-beat{position:relative;z-index:3;display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,5vw,5rem);min-height:0;padding:4rem var(--gutter);border:0;scroll-margin-top:var(--story-nav-height,76px);align-items:center}.story-cinematic .chapter h3{font-size:clamp(2.4rem,3.9vw,4.5rem);max-width:10em;line-height:1.3}.story-cinematic .chapter p{font-size:.94rem;color:#dce1d4;max-width:29rem;line-height:2;white-space:pre-line}.story-cinematic .chapter .eyebrow{color:var(--amber);font-weight:400;letter-spacing:.16em}.beat-static{margin:0;min-width:0}.static-scene-frame{position:relative;overflow:hidden;background:#233b3e}.beat-static .beat-background{width:100%;height:100%;object-fit:cover}.beat-static figcaption{font-size:.65rem;color:#bac8c3;margin-top:.8rem;line-height:1.7}.static-actor{position:absolute;width:13%;z-index:2}.static-actor .actor-image{width:100%;height:auto;object-fit:contain}.story-action-panel{padding:1.5rem var(--gutter);position:relative;z-index:6}.story-action{display:inline-flex;align-items:center;gap:.65rem;border:1px solid #e8c98983;border-radius:4rem;padding:.7rem 1.2rem;background:#14272df0;color:var(--moon);font-size:.76rem;min-height:44px}.action-spark{color:var(--amber);font-size:1.15rem}.story-action[aria-pressed="true"]{border-color:var(--amber);box-shadow:0 0 26px #f5c56840}.story-action-status{margin-top:.6rem;max-width:28rem;color:#d8e2d5;font-size:.68rem;line-height:1.7}.journey-ending{position:relative;z-index:4;padding:5rem var(--gutter);background:#17262b;color:var(--moon);text-align:center}.journey-ending>.eyebrow{color:var(--amber)}.journey-result{font:clamp(1.6rem,3vw,2.8rem)/1.65 Georgia,"PMingLiU",serif;max-width:28em;margin:0 auto}.journey-ending>div{display:flex;gap:2rem;justify-content:center;margin-top:2rem;font-size:.8rem}
body[data-story-motion="on"] .story-cinematic .story-navigation{position:sticky;top:0}
body[data-story-motion="on"] .story-stage{position:sticky;top:0;height:100svh;min-height:400px;margin-bottom:-100svh;overflow:hidden;z-index:1;background:#13252d}
body[data-story-motion="on"] .story-cinematic .story-beat{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;min-height:112svh;padding:12vh var(--gutter) 16vh;pointer-events:none}
body[data-story-motion="on"] .story-cinematic .beat-copy{width:min(38vw,440px);padding:1.5rem 1.5rem 2rem;margin-left:0;background:linear-gradient(100deg,#101e29df 0%,#101e29a8 72%,#101e2900 100%);border-left:1px solid #d0b67e65;text-shadow:0 2px 18px #0c171d;pointer-events:auto}
body[data-story-motion="on"] .story-cinematic .beat-static{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body[data-story-motion="on"] .story-cinematic .story-action-panel{position:sticky;top:calc(100svh - 7.3rem);height:0;padding:0 var(--gutter);pointer-events:none}
body[data-story-motion="on"] .story-action-panel button{pointer-events:auto}
body[data-story-motion="on"] .story-action-status{width:fit-content;max-width:25rem;background:#13242ccb;padding:.25rem .7rem;border-radius:.3rem}
.scene-layer,.scene-shade,.scene-effects{position:absolute;inset:0}.scene-layer{opacity:0;overflow:hidden;will-change:clip-path}.scene-layer:first-child{opacity:1}.story-stage .scene-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--image-x,70%) var(--image-y,50%);transform:none!important}.scene-shade{pointer-events:none;background:linear-gradient(90deg,#071c2435,transparent 65%),linear-gradient(0deg,#071c2455,transparent 35%);z-index:9}.stage-actor{position:absolute;z-index:11;width:clamp(100px,13vw,210px);transform-origin:center;pointer-events:none;will-change:transform,left,top}.stage-actor .actor-image{position:relative;z-index:2;height:auto;width:100%;object-fit:contain;filter:drop-shadow(0 7px 8px #091819a6)}.actor-aura{position:absolute;inset:15%;border-radius:50%;opacity:0;background:#f8d17730;box-shadow:0 0 35px 18px #f8b63b42;transition:opacity .45s}.story-stage[data-awake="true"] .actor-aura{opacity:1}.story-stage[data-awake="true"] .actor-image,.story-cinematic[data-awake="true"] .static-actor img{filter:drop-shadow(0 0 9px #f6d680) drop-shadow(0 0 24px #e9a65eaa)}.scene-counter{position:absolute;z-index:12;right:var(--gutter);bottom:2.1rem;color:#f7ecd6;font:1rem Georgia,serif;letter-spacing:.15em}.scene-counter>span{font-size:2.2rem}.journey-line{position:absolute;z-index:12;bottom:0;left:0;width:100%;height:2px;background:#e5eddf28}.journey-line>span{display:block;width:calc(var(--journey-progress,0)*100%);height:100%;background:var(--amber)}
.scene-effects{z-index:2;pointer-events:none}.fx-mist{position:absolute;width:85%;height:100%;top:0;background:radial-gradient(ellipse at 50% 55%,#e5eee39c 0%,#cbded558 34%,transparent 68%);filter:blur(18px);opacity:calc(.9 - var(--effect-progress,0)*.55)}.fx-mist-left{left:-20%;transform:translateX(calc(var(--effect-progress,0)*-65%))}.fx-mist-right{right:-30%;transform:translateX(calc(var(--effect-progress,0)*65%))}.fx-wind{position:absolute;inset:0;overflow:hidden}.fx-wind i{position:absolute;width:32%;height:1px;left:calc(-45% + var(--effect-progress,0)*175%);top:calc(19% + var(--strand)*10%);background:linear-gradient(90deg,transparent,#e1f5ea9c,transparent);transform:translateX(calc(var(--strand)*-9vw)) rotate(-12deg);opacity:.58}.fx-lanterns{position:absolute;inset:0}.fx-lantern{position:absolute;width:clamp(25px,4.5vw,80px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fff1bbaa 0%,#f5b44780 20%,#f3943240 47%,transparent 72%);filter:blur(3px);mix-blend-mode:screen;box-shadow:0 0 45px 14px #e3a24236;opacity:calc(var(--warmth,.2)*var(--effect-progress,0))}.fx-steam{position:absolute;width:clamp(85px,14vw,230px);height:clamp(140px,29vh,340px);transform:translate(-50%,-100%) scaleY(calc(.3 + var(--effect-progress,0)*.7));transform-origin:bottom center;opacity:calc(var(--effect-progress,0)*var(--warmth,.2));filter:blur(2px)}.fx-steam svg{width:100%;height:100%;overflow:visible}.fx-steam path{fill:none;stroke:#fff4d9;stroke-width:3;stroke-linecap:round}.fx-steam path:nth-child(2){stroke-width:5;opacity:.68}.fx-steam path:nth-child(3){opacity:.5}
@media(max-width:1050px){.story-navigation .chapter-label{display:none}.story-navigation ol{gap:1rem}.story-tools{gap:.8rem}body[data-story-motion="on"] .story-cinematic .beat-copy{width:45vw}.story-cinematic .chapter h3{font-size:clamp(2rem,4vw,3.3rem)}}
@media(max-width:650px){.story-cinematic .story-navigation{min-height:72px;gap:.7rem;padding:.7rem 1rem;flex-wrap:wrap}.story-navigation ol{gap:.55rem}.story-tools{gap:.7rem;font-size:.58rem}.story-navigation ol a{min-height:32px}.story-navigation ol a>span:first-child{width:1.7rem;height:1.7rem}.story-cinematic .story-beat{display:flex;flex-direction:column;align-items:stretch;gap:1.7rem;padding:2.5rem 1.4rem;scroll-margin-top:var(--story-nav-height,72px)}.story-cinematic .chapter h3{font-size:2rem;max-width:none}.story-cinematic .chapter p{font-size:.86rem;margin-top:1rem;line-height:1.9}.story-cinematic .chapter .eyebrow{font-size:.6rem;margin-bottom:1rem}.story-action-status{font-size:.61rem}.journey-ending{padding:3rem 1.5rem}.journey-result{font-size:1.65rem}body[data-story-motion="on"] .story-cinematic .story-beat{justify-content:flex-start;align-items:stretch;padding:7.5rem 1.2rem 9rem;min-height:115svh}body[data-story-motion="on"] .story-cinematic .beat-copy{width:min(80vw,27rem);margin:0;padding:1rem 1.1rem 1.3rem;background:linear-gradient(105deg,#10202be8,#10202bc4 75%,#10202b00);border-left:1px solid #d0b67e65}body[data-story-motion="on"] .story-cinematic .beat-copy h3{font-size:clamp(1.65rem,6.7vw,2.2rem)}body[data-story-motion="on"] .story-cinematic .beat-copy p{font-size:.8rem;line-height:1.85}body[data-story-motion="on"] .story-cinematic .story-action-panel{top:calc(100svh - 7.3rem);padding:0 1.2rem}.story-action{font-size:.7rem;padding:.6rem .9rem}.scene-counter{bottom:2.5rem;right:1.2rem;font-size:.7rem}.scene-counter>span{font-size:1.4rem}.static-actor{width:16%}}
body[data-motion="off"] .story-cinematic .story-beat{min-height:0}
body[data-motion="off"] .story-cinematic .actor-aura{transition:none}
.journey-ending>.story-action{margin-bottom:1.5rem}
@media(min-width:651px){body[data-story-motion="on"] .journey-ending{width:min(42vw,520px);margin-left:var(--gutter);padding:2.5rem 1.5rem 5rem;background:linear-gradient(90deg,#17262bf0,#17262bcb 80%,#17262b00);text-align:left}body[data-story-motion="on"] .journey-ending>div{justify-content:flex-start}body[data-story-motion="on"] .journey-result{font-size:clamp(1.5rem,2.3vw,2.4rem)}}
@media(max-width:650px){body[data-story-motion="on"] .story-cinematic .story-beat{flex-direction:column}body[data-story-motion="on"] .journey-ending{margin-top:35svh}}
