.story-screen{background:var(--night-950);color:var(--paper);overflow:clip;color-scheme:dark}
html:has(#screen-shift.is-active){scroll-behavior:auto}
.story-screen [hidden]{display:none!important}
.story-screen .sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.story-screen button{touch-action:manipulation;-webkit-tap-highlight-color:rgba(211,129,37,.22)}
.story-screen h1,.story-screen h2,.story-screen h3{text-wrap:balance}
.story-hero{position:relative;min-height:clamp(560px,70svh,660px);padding:0;display:grid;align-items:start;overflow:hidden;isolation:isolate;background:var(--night-1000)}
.story-hero>.story-hero-media{position:absolute;inset:0;z-index:-3;width:100%;height:100%;display:block;object-fit:cover;object-position:center 48%;filter:saturate(.9) contrast(1.03)}
.story-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,7,8,.48) 0,rgba(4,7,8,.1) 70%),linear-gradient(180deg,rgba(4,7,8,.08) 24%,rgba(4,7,8,.18) 58%,rgba(6,9,10,.96) 100%);pointer-events:none}
.story-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:-1;height:150px;background:linear-gradient(180deg,transparent,var(--night-950));pointer-events:none}
.story-hero-copy{padding:clamp(68px,10svh,100px) 20px 120px}
.story-hero-copy h1{font-size:clamp(4rem,18vw,6.15rem);line-height:.82;margin-bottom:24px;text-transform:uppercase;text-shadow:0 4px 30px rgba(0,0,0,.3)}
.story-hero-copy>p:last-child{max-width:min(56vw,230px);margin:0;color:#dce2e2;font-size:17px;line-height:1.5;text-shadow:0 2px 16px rgba(0,0,0,.5)}
.story-atlas{display:block;background-image:url('media/shift/summer-story-atlas.webp');background-repeat:no-repeat;background-size:200% auto;background-color:#0a0e10}
.story-atlas-storm{background-position:left top}
.story-atlas-heat{background-position:right top}
.story-atlas-event{background-position:left bottom}
.story-atlas-ending{background-position:right bottom}
.story-atlas-field-storm{background-image:url('media/shift/summer-story-atlas-2.webp');background-position:left top}
.story-atlas-field-heat{background-image:url('media/shift/summer-story-atlas-2.webp');background-position:right top}
.story-atlas-field-event{background-image:url('media/shift/summer-story-atlas-2.webp');background-position:left bottom}
.story-atlas-dispatch{background-image:url('media/shift/summer-story-atlas-2.webp');background-position:right bottom}
.story-atlas-ending-safe{background-image:url('media/shift/summer-ending-atlas.webp');background-position:left top}
.story-atlas-ending-caution{background-image:url('media/shift/summer-ending-atlas.webp');background-position:right top}
.story-atlas-ending-critical{background-image:url('media/shift/summer-ending-atlas.webp');background-position:left bottom}
.story-atlas-ending-event{background-image:url('media/shift/summer-ending-atlas.webp');background-position:right bottom}
.story-library{position:relative;z-index:3;margin-top:-54px;padding:0 0 118px;overflow:hidden;border-top:1px solid rgba(211,129,37,.55);border-radius:28px 28px 0 0;background:linear-gradient(180deg,#101719 0,var(--night-950) 190px);box-shadow:0 -24px 60px rgba(0,0,0,.5)}
.story-library:before{content:"";position:absolute;left:50%;top:13px;width:52px;height:3px;border-radius:999px;background:var(--color-action);box-shadow:0 0 18px rgba(211,129,37,.72);transform:translateX(-50%)}
.story-library-meta{min-height:52px;padding:27px 20px 8px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;color:#bfc8ca;font:700 11px/1 var(--font-data);letter-spacing:.06em;text-transform:uppercase}
.story-library-meta i{height:1px;background:linear-gradient(90deg,rgba(211,129,37,.72),rgba(95,111,116,.35))}
.story-library .section-head{padding:14px 20px 12px}
.story-library .section-head h2{max-width:420px;font-size:clamp(2rem,9vw,2.8rem);line-height:.98}
.story-library>.prototype-note{margin:18px 18px 22px;padding:13px 14px;border:1px solid rgba(121,139,144,.25);border-left:3px solid var(--color-action);border-radius:0 var(--radius-1) var(--radius-1) 0;background:rgba(18,27,30,.72);color:#cbd4d5!important;font-size:12px!important;line-height:1.5}
.story-cards{display:grid;gap:12px;padding:0 14px}
.story-card{position:relative;min-height:250px;padding:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-surface);color:var(--paper);text-align:left;cursor:pointer;isolation:isolate}
.story-card-image{position:absolute;inset:0;z-index:-2;transition:transform 700ms var(--ease-out),filter 240ms ease}
.story-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,9,10,.05),rgba(6,9,10,.95) 88%)}
.story-card-copy{min-height:250px;padding:118px 18px 18px;display:flex;flex-direction:column;align-items:flex-start}
.story-card-copy small{font:700 12px/1.2 var(--font-data);color:var(--light-warm);text-transform:uppercase;letter-spacing:.06em}
.story-card-copy b{margin-top:8px;font:700 34px/.94 var(--font-display);letter-spacing:-.035em}
.story-card-copy em{margin-top:8px;color:#d7dddd;font-size:15px;font-style:normal}
.story-card-status{margin-top:9px;padding:5px 8px;border:1px solid currentColor;border-radius:999px;font:700 11px/1.15 var(--font-data);letter-spacing:.035em}
.story-card-status.is-active{color:#ffd193;background:rgba(85,54,22,.72)}
.story-card-status.is-complete{color:#aee3c2;background:rgba(18,62,40,.72)}
.story-card-copy>.story-card-role{width:100%;min-height:44px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700}
.story-card svg,.novel-choice svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.story-card:hover,.story-card:focus-visible{border-color:var(--color-action);box-shadow:0 16px 34px rgba(0,0,0,.3)}
.story-card:hover .story-card-image,.story-card:focus-visible .story-card-image{transform:scale(1.035);filter:brightness(1.06)}
.story-card:active{transform:scale(.99)}
.story-resume{position:relative;z-index:2;display:block;width:calc(100% - 28px);min-height:50px;margin:0 14px 14px;padding:12px 16px;border:1px solid var(--color-action);border-radius:var(--radius-1);background:#2d2118;color:var(--paper);font-weight:700;cursor:pointer;scroll-margin-block:100px}

.incident-dialog{width:min(calc(100% - 24px),456px);max-height:min(86vh,720px);margin:auto;padding:0;border:1px solid #b75b42;border-radius:var(--radius-2);overflow:auto;overscroll-behavior:contain;background:#13191b;color:var(--paper);box-shadow:0 24px 80px rgba(0,0,0,.7)}
.incident-dialog::backdrop{background:rgba(2,5,6,.78);backdrop-filter:blur(5px)}
.incident-dialog[open]{animation:incident-in 240ms var(--ease-out)}
@keyframes incident-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.incident-pulse{height:78px;display:flex;align-items:center;gap:5px;padding:0 20px;background:#251513;overflow:hidden}
.incident-pulse i{width:12%;height:2px;background:#ef7979;box-shadow:0 0 14px rgba(239,121,121,.5)}
.incident-pulse i:nth-child(2){width:24%;transform:skewY(-35deg) scaleY(11)}
.incident-pulse i:nth-child(3){width:52%}
.incident-label{margin:20px 20px 12px;display:flex;align-items:center;gap:9px;color:#ffb3a1;font:700 12px/1 var(--font-data);text-transform:uppercase;letter-spacing:.08em}
.incident-label span{width:9px;height:9px;border-radius:50%;background:#ef7979;box-shadow:0 0 0 7px rgba(239,121,121,.12);animation:incident-blink 1.4s ease-in-out infinite}
@keyframes incident-blink{50%{opacity:.35}}
.incident-meta{margin:0 20px 18px;display:flex;align-items:center;gap:10px;font-family:var(--font-data);font-size:13px;color:var(--color-text-muted)}
.incident-meta b{color:var(--light-warm)}
.incident-dialog h2{margin:0 20px 12px;font-size:36px}
.incident-dialog>p:not(.incident-label){margin-left:20px;margin-right:20px;font-size:16px;line-height:1.55}
.incident-detail{padding:13px 14px;border-left:3px solid #ef7979;background:#221b1a;color:#e6dcda}
.incident-actions{position:sticky;z-index:3;bottom:0;padding:12px 20px max(18px,env(safe-area-inset-bottom));display:grid;gap:8px;border-top:1px solid rgba(239,121,121,.22);background:linear-gradient(180deg,rgba(19,25,27,.9),#13191b 22%);box-shadow:0 -12px 28px rgba(8,12,13,.34)}
.incident-actions .text-action{min-height:44px;color:#ccd3d4}

.novel{min-height:calc(100vh - 74px);padding-bottom:max(24px,env(safe-area-inset-bottom));background:var(--night-1000);overscroll-behavior:contain}
.novel-topbar{position:sticky;top:0;z-index:12;min-height:70px;padding:10px 14px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"exit meta" "progress progress";align-items:center;gap:8px 14px;border-bottom:1px solid var(--color-border);background:rgba(6,9,10,.94);backdrop-filter:blur(10px)}
.novel-exit{grid-area:exit;min-width:78px;min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-1);background:transparent;color:var(--paper);font-size:13px;font-weight:700;cursor:pointer}
.novel-topbar>.novel-meta{grid-area:meta;display:flex;justify-content:space-between;gap:10px;font:700 12px/1.2 var(--font-data);text-transform:uppercase}
.novel-topbar>.novel-meta span{color:var(--color-text-muted)}
.novel-topbar>.novel-progress-rail{grid-area:progress;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%;height:8px;align-items:center}
.novel-progress-rail i{height:3px;border-radius:999px;background:#344044;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);transition:background-color 220ms ease,box-shadow 220ms ease,transform 220ms var(--ease-out)}
.novel-progress-rail i.is-done{background:#9b6228}
.novel-progress-rail i.is-current{background:var(--color-action);box-shadow:0 0 12px rgba(211,129,37,.55);transform:scaleY(1.65)}
.novel-stage{position:relative;aspect-ratio:4/3;margin:0;overflow:hidden;background:#090d0f;isolation:isolate}
.novel-stage>.story-atlas{position:absolute;z-index:0;inset:-2%;transform:scale(1.02);will-change:auto;contain:paint}
.novel-stage.is-entering>.story-atlas{will-change:transform,opacity;animation:novel-camera 6.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes novel-camera{0%{opacity:.2;transform:scale(1.015) translate3d(1.2%,.4%,0)}12%{opacity:1}100%{opacity:1;transform:scale(1.075) translate3d(-1.2%,-.5%,0)}}
.novel-frame-2{filter:saturate(.94) brightness(.94)}
.novel-frame-3{filter:saturate(.88) contrast(1.04)}
.novel-stage:before{content:"";position:absolute;z-index:1;inset:-22%;pointer-events:none;opacity:0;will-change:transform,opacity}
.novel-stage[data-motion="rain"]:before{opacity:.32;background:repeating-linear-gradient(103deg,transparent 0 25px,rgba(215,231,235,.32) 26px,transparent 28px 54px);animation:rain-drift 1.25s linear 4}
@keyframes rain-drift{from{transform:translate3d(-4%,-12%,0)}to{transform:translate3d(4%,12%,0)}}
.novel-stage[data-motion="thermal"]:before{inset:-12%;opacity:.4;background:radial-gradient(circle at 68% 45%,rgba(238,147,52,.42),transparent 15%),radial-gradient(circle at 38% 65%,rgba(211,129,37,.18),transparent 25%);mix-blend-mode:screen;animation:thermal-breathe 2.4s ease-in-out 2 alternate}
@keyframes thermal-breathe{from{opacity:.22;transform:scale(.96)}to{opacity:.48;transform:scale(1.05)}}
.novel-stage[data-motion="event"]:before{opacity:.32;background:linear-gradient(105deg,transparent 38%,rgba(255,218,169,.36) 49%,transparent 60%);animation:event-sweep 3.8s ease-in-out 1}
@keyframes event-sweep{from{transform:translate3d(-34%,0,0)}to{transform:translate3d(34%,0,0)}}
.novel-stage[data-motion="scan"]:before{inset:0;opacity:.2;background:repeating-linear-gradient(180deg,transparent 0 15px,rgba(105,199,222,.24) 16px,transparent 17px 31px);animation:scan-drift 4s linear 1}
@keyframes scan-drift{to{transform:translate3d(0,31px,0)}}
.novel-vignette{position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(4,7,8,.06),rgba(4,7,8,.1) 56%,rgba(4,7,8,.84));pointer-events:none}
.signal-line{position:absolute;z-index:3;left:14px;right:14px;bottom:39px;height:10px;background:linear-gradient(var(--color-action),var(--color-action)) left center/var(--scene-progress,25%) 2px no-repeat,linear-gradient(#526064,#526064) left center/100% 1px no-repeat;filter:drop-shadow(0 0 7px rgba(211,129,37,.55));opacity:.94}
.signal-line:after{content:"";position:absolute;left:clamp(0px,calc(var(--scene-progress,25%) - 5px),calc(100% - 10px));top:0;width:10px;height:10px;border:2px solid #19120a;border-radius:50%;background:var(--color-action);box-shadow:0 0 0 3px rgba(211,129,37,.2),0 0 12px rgba(211,129,37,.8);animation:signal-pulse 1.8s ease-in-out 4}
@keyframes signal-pulse{50%{opacity:.62;transform:scale(.82)}}
.signal-line i{display:none}
.novel-stage figcaption{position:absolute;z-index:4;left:14px;right:14px;bottom:12px;display:flex;justify-content:space-between;gap:10px;color:#fff;font:700 12px/1.2 var(--font-data);text-transform:uppercase;letter-spacing:.06em}
.novel-stage figcaption span{color:var(--light-warm)}

.novel-dialogue,.novel-consequence{padding:24px 18px max(42px,env(safe-area-inset-bottom));background:var(--night-950)}
.novel-speaker{margin-bottom:10px;color:var(--light-warm);font:700 12px/1.2 var(--font-data);text-transform:uppercase;letter-spacing:.07em}
.novel-dialogue h1,.novel-consequence h2{font-size:32px;line-height:1.08;margin-bottom:12px}
.story-screen [tabindex="-1"]:focus{outline:none}
.story-screen [tabindex="-1"]:focus-visible{outline:none;box-shadow:-4px 0 0 var(--color-focus)}
.novel-dialogue>p:not(.novel-speaker),.novel-consequence>p:not(.verdict-chip){color:#d6dcdd;font-size:16px;line-height:1.58}
.novel-choices{display:grid;gap:10px;margin-top:24px}
.novel-choice{position:relative;min-height:72px;padding:14px 46px 14px 56px;border:1px solid var(--color-border-strong);border-left:3px solid #6e7b7e;border-radius:var(--radius-1);background:var(--color-surface);color:var(--paper);text-align:left;cursor:pointer;transition:background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease,transform 180ms var(--ease-out),opacity 180ms ease;animation:choice-in 240ms var(--ease-out) both}
.novel-choice:nth-child(2){animation-delay:35ms}.novel-choice:nth-child(3){animation-delay:70ms}
@keyframes choice-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.novel-choice>span{position:absolute;left:14px;top:14px;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--color-action);color:var(--light-warm);font:700 12px/1 var(--font-data)}
.novel-choice b{font-size:15px;line-height:1.4;font-weight:650}
.novel-choice svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--color-action)}
.novel-choice:hover,.novel-choice:focus-visible{border-color:var(--color-action);border-left-color:var(--color-action);background:var(--color-surface-raised);box-shadow:0 10px 24px rgba(0,0,0,.2)}
.novel-choice:active{transform:scale(.99)}

.novel-consequence{min-height:340px;animation:consequence-in 240ms var(--ease-out)}
@keyframes consequence-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.verdict-chip{width:max-content;max-width:100%;min-height:38px;margin-bottom:20px;padding:8px 11px;display:flex;align-items:center;gap:8px;border:1px solid;border-radius:999px;font:700 12px/1.2 var(--font-data);text-transform:uppercase;letter-spacing:.04em}
.verdict-chip svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2}
.verdict-allowed{color:#aee3c2;background:#12251b;border-color:#366b4b}
.verdict-conditional{color:#f2d098;background:#2b2215;border-color:#75582d}
.verdict-forbidden{color:#ffb3a1;background:#2c1714;border-color:#8f493d}
.novel-consequence .primary-action{margin-top:24px}

.novel-ending{min-height:100vh;background:var(--night-1000);padding-bottom:calc(98px + env(safe-area-inset-bottom))}
.ending-stage{position:relative;aspect-ratio:4/3;margin:0;overflow:hidden;background:#06090a;isolation:isolate}
.ending-stage>.story-atlas{position:absolute;z-index:0;inset:-2%;transform:scale(1.02);will-change:transform,opacity;animation:ending-camera 6.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes ending-camera{0%{opacity:.2;transform:scale(1.015) translate3d(-1%,0,0)}15%{opacity:1}100%{opacity:1;transform:scale(1.08) translate3d(1.4%,-.6%,0)}}
.ending-stage:before{content:"";position:absolute;z-index:1;inset:-20%;background:linear-gradient(105deg,transparent 35%,rgba(255,204,132,.28) 48%,transparent 61%);mix-blend-mode:screen;animation:ending-sweep 3.4s 2 ease-in-out both;pointer-events:none}
@keyframes ending-sweep{from{transform:translate3d(-45%,0,0);opacity:0}35%{opacity:.7}to{transform:translate3d(45%,0,0);opacity:0}}
.ending-stage:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(6,9,10,.04),rgba(6,9,10,.65));pointer-events:none}
.ending-critical .ending-stage:after{animation:critical-flash 1200ms ease-out both;background:rgba(5,7,8,.62)}
@keyframes critical-flash{0%{background:rgba(211,129,37,.05)}12%{background:rgba(239,121,121,.2)}35%,100%{background:rgba(5,7,8,.68)}}
.ending-caution .ending-stage>.story-atlas{filter:saturate(.65) brightness(.75)}
.ending-critical .ending-stage>.story-atlas{filter:saturate(.35) brightness(.42)}
.ending-lights{position:absolute;z-index:3;left:18px;right:18px;bottom:24px;height:18px;display:grid;grid-template-columns:repeat(6,1fr);align-items:center;gap:10px}
.ending-lights:before{content:"";position:absolute;left:0;right:0;top:8px;height:1px;background:rgba(255,255,255,.22)}
.ending-lights i{position:relative;justify-self:center;width:10px;height:10px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#2d373a;box-shadow:0 0 0 3px rgba(6,9,10,.58);animation:light-on 520ms var(--ease-out) both}
.ending-lights i:nth-child(2){animation-delay:150ms}.ending-lights i:nth-child(3){animation-delay:300ms}.ending-lights i:nth-child(4){animation-delay:450ms}.ending-lights i:nth-child(5){animation-delay:600ms}.ending-lights i:nth-child(6){animation-delay:750ms}
@keyframes light-on{from{background:#2d373a;box-shadow:0 0 0 3px rgba(6,9,10,.58);transform:scale(.75)}to{background:#ffc16c;border-color:#ffe0b5;box-shadow:0 0 0 3px rgba(6,9,10,.58),0 0 15px #e28a2e;transform:scale(1)}}
.ending-caution .ending-lights i:nth-child(n+5){background:#e6a64c;animation:light-watch 1.5s ease-in-out 4}
@keyframes light-watch{50%{opacity:.32;transform:scale(.78)}}
.ending-critical .ending-stage:before{display:none}.ending-critical .ending-lights i{border-color:#d77c6a;background:#b95643;animation:light-off 1s ease-out both}
@keyframes light-off{0%{opacity:1;box-shadow:0 0 14px #ef7979}45%,100%{opacity:.32;box-shadow:none;transform:scale(.72)}}
.ending-copy{padding:28px 18px 0}
.ending-verdict{margin-bottom:12px;color:var(--light-warm);font:700 13px/1.2 var(--font-data);text-transform:uppercase;letter-spacing:.06em}
.ending-critical .ending-verdict{color:#ffb3a1}
.ending-copy>h2{font-size:40px;margin-bottom:14px}
.ending-copy>p:not(.eyebrow,.ending-verdict,.result-note){color:#d6dcdd;font-size:17px;line-height:1.55}
.ending-explanation{margin:24px 0;padding:18px;border-left:3px solid var(--color-action);background:var(--color-surface)}
.ending-critical .ending-explanation{border-left-color:#ef7979}
.ending-explanation b{font-family:var(--font-display);font-size:21px}
.ending-explanation p{margin:8px 0 0;color:#d7ddde;font-size:15px;line-height:1.5}
.decision-review{margin-top:30px}
.decision-review h3{font:700 24px/1.1 var(--font-display)}
.review-item{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--color-border)}
.review-item>span{width:30px;height:30px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%}
.review-item svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2}
.review-item small{display:block;margin-bottom:5px;font:700 11px/1.2 var(--font-data);text-transform:uppercase;letter-spacing:.05em}
.review-item b{display:block;font-size:14px;line-height:1.4}
.review-item p{margin:7px 0 0;color:var(--color-text-muted);font-size:13px;line-height:1.45}
.review-allowed>span,.review-allowed small{color:#8fd5aa}.review-conditional>span,.review-conditional small{color:#f0c47e}.review-forbidden>span,.review-forbidden small{color:#ef9987}
.pedestrian-note{margin:26px 0;padding:18px;border:1px solid var(--color-border);background:#121a1d}
.pedestrian-note b{font-size:17px}.pedestrian-note p{margin:8px 0 0;color:#d5dcdd;font-size:14px;line-height:1.5}
.novel-ending .result-note{margin:20px 0;background:var(--color-surface)}
.novel-ending .result-actions{display:grid;grid-template-columns:1fr;gap:9px}
.novel-ending .result-actions button{width:100%;min-height:50px;justify-content:center}
body.story-is-playing .bottom-nav{display:none!important;transform:translateY(110%);pointer-events:none}
body.story-is-playing .story-hero,body.story-is-playing .story-library{display:none!important}

@media(min-width:600px){
  .story-cards{grid-template-columns:1fr 1fr}.story-card:first-child{grid-column:1/-1}
  .novel-stage,.ending-stage{aspect-ratio:16/9}
  .novel-dialogue,.novel-consequence,.ending-copy{padding-left:28px;padding-right:28px}
}
@media(min-width:760px) and (orientation:landscape){
  body.story-is-playing .app-shell{overflow:visible}
  body.story-is-playing .story-screen{overflow:visible}
  .novel{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);grid-template-rows:auto auto;min-height:calc(100vh - 48px);align-items:start}
  .novel-topbar{grid-column:1/-1;top:24px}
  .novel-stage{position:sticky;top:106px;height:calc(100dvh - 140px);aspect-ratio:auto;align-self:start}
  .novel-dialogue,.novel-consequence{max-height:none;overflow:visible;padding:32px 24px 64px}
}
@media(max-width:340px){
  .story-hero{min-height:540px}.story-hero-copy{padding-left:16px;padding-right:16px}.story-hero-copy h1{font-size:3.7rem}.story-card-copy b{font-size:29px}
  .novel-dialogue,.novel-consequence,.ending-copy{padding-left:14px;padding-right:14px}
  .novel-choice{padding-left:52px;padding-right:39px}.incident-dialog h2{font-size:30px}
}
@media(update:slow){
  .novel-stage[data-motion]:before,.ending-stage:before{mix-blend-mode:normal}
}
@media(prefers-reduced-motion:reduce){
  .story-screen *{scroll-behavior:auto!important}
  .story-card-image,.novel-stage>.story-atlas,.novel-stage:before,.signal-line:after,.incident-label span,.incident-dialog[open],.novel-choice,.novel-consequence,.ending-lights i,.ending-stage>.story-atlas,.ending-stage:before,.ending-stage:after{animation:none!important;transition:none!important;transform:none!important}
}
.story-atlas.story-custom-image{background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
.novel-managed-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;background:#05090b}.novel-managed-audio{display:block;width:100%;margin:14px 0 18px;accent-color:var(--orange)}.ending-copy>.novel-managed-audio{margin:18px 0}.ending-stage .novel-managed-video{z-index:2}
