.scene-card{isolation:isolate;background:var(--surface);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);--world-tint:var(--accent);--panel:var(--surface);padding:.85rem 1rem;position:relative;overflow:hidden}.scene-card+.scene-card{margin-top:.5rem}.scene-card[data-mood=calm]{--world-tint:var(--calm-ink)}.scene-card[data-mood=curious]{--world-tint:var(--curious-ink)}.scene-card[data-mood=ominous]{--world-tint:var(--ominous-ink)}.scene-card[data-mood=chaotic]{--world-tint:var(--chaotic-ink)}.scene-text{z-index:1;position:relative}.scene-text>:is(p,h2,h3):not(.options,.buttons){width:fit-content;max-width:100%}.atmosphere{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.scene-card[data-level="1"] .scene-text{background:color-mix(in srgb, var(--panel) 80%, transparent);box-shadow:0 0 0 .5rem color-mix(in srgb, var(--panel) 80%, transparent);border-radius:var(--radius-sm)}.scene-card:is([data-level="2"],[data-level="3"]) .scene-text>:is(p,h2,h3):not(.options,.buttons){background:var(--panel-veil);box-shadow:0 0 0 .35rem var(--panel-veil);border-radius:.3rem}.scene-card[data-level="2"]{--panel-veil:color-mix(in srgb, var(--panel) 84%, transparent)}.scene-card[data-level="3"]{--panel-veil:color-mix(in srgb, var(--panel) 76%, transparent)}.scene-card:not([data-level="0"]) .scene-text button:not(.primary){background:color-mix(in srgb, var(--panel) 88%, var(--world-tint));border-color:color-mix(in srgb, var(--world-tint) 70%, var(--line));transition:background 1.2s,border-color 1.2s}.scene-card:not([data-level="0"]) .scene-text button[data-stance]{border-color:var(--line)}.scene-card[data-level="3"] .scene-text button:not(.primary){background:color-mix(in srgb, color-mix(in srgb, var(--panel) 90%, var(--world-tint)) 74%, transparent);box-shadow:inset 0 0 0 1px var(--world-tint)}.scene-card{color:var(--text)}.scene-card:is([data-level="2"],[data-level="3"])[data-mood]:not([data-mood=none]){--surface:var(--mood-panel);--panel:var(--mood-panel);--sunk:color-mix(in srgb, var(--mood-panel) 85%, var(--mood-text));--text:var(--mood-text);--muted:var(--mood-muted);--line:var(--mood-line);--world-tint:var(--mood-tint);transition:background 1.2s,color 1.2s}.scene-card[data-mood=calm]{--mood-panel:#e6f4ea;--mood-text:#10301b;--mood-muted:#2d5a3c;--mood-line:#a9d3b5;--mood-tint:#1f6a35}.scene-card[data-mood=curious]{--mood-panel:#fff3c9;--mood-text:#2a2205;--mood-muted:#5a4a14;--mood-line:#e0c875;--mood-tint:#8a6400}.scene-card[data-mood=chaotic]{--mood-panel:#ffe0f1;--mood-text:#3b0a2a;--mood-muted:#6e2a55;--mood-line:#ee9fcf;--mood-tint:#a4106f}.scene-card[data-mood=ominous]{--mood-panel:#1f1830;--mood-text:#f0eaff;--mood-muted:#cdc3ef;--mood-line:#4d3f75;--mood-tint:#c9b8ff}@media (prefers-color-scheme:dark){.scene-card[data-mood=calm]{--mood-panel:#11261a;--mood-text:#def5e6;--mood-muted:#a8d4b6;--mood-line:#2b5139;--mood-tint:#8fd9a4}.scene-card[data-mood=curious]{--mood-panel:#2d2610;--mood-text:#fff2c4;--mood-muted:#e0cd8a;--mood-line:#5c4d1c;--mood-tint:#f2d36b}.scene-card[data-mood=chaotic]{--mood-panel:#3a1530;--mood-text:#ffe6f5;--mood-muted:#f0bfdc;--mood-line:#6a2a52;--mood-tint:#f5a0d2}.scene-card[data-mood=ominous]{--mood-panel:#150f24}}.scene-card:is([data-level="2"],[data-level="3"])[data-mood]:not([data-mood=none]) a:not(.button){color:var(--mood-tint)}.scene-card:is([data-level="2"],[data-level="3"])[data-mood=ominous]{--ink-1:#6fd6d6;--ink-2:#ffab70;--ink-3:#c3a6ff;--ink-4:#8fd9a4;--ink-5:#ff9ccf;--ink-6:#9db5ff}body{isolation:isolate}.backdrop{z-index:-1;pointer-events:none;position:fixed;inset:0}body:not(:has(main[data-mode]))>.backdrop[data-world]{-webkit-mask-image:linear-gradient(#000 55%,#0000 85%);mask-image:linear-gradient(#000 55%,#0000 85%)}.backdrop .atmosphere{position:absolute;inset:0}.backdrop .living{opacity:0;width:100%;height:100%;transition:opacity 1.6s;position:absolute;inset:0}.backdrop .living[data-living=moving]{opacity:1}.stage-layer{pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.stage-layer.back{z-index:-1}.stage-layer.front{z-index:100}.backdrop[data-world]:after{content:"";background:color-mix(in srgb, var(--bg) calc(var(--veil,74%) - var(--page-depth,0) * 6%), transparent);transition:background .4s linear;position:absolute;inset:0}.backdrop :is(.world,.living){transition:filter 1.2s}.backdrop[data-after=darker] :is(.world,.living){filter:brightness(.75)saturate(.9)}.backdrop[data-after=warmer] :is(.world,.living){filter:brightness(1.12)saturate(1.15)}.backdrop[data-after=settled] :is(.world,.living){filter:brightness(1.05)saturate(.95)}@media (prefers-color-scheme:light){.backdrop:where(:has(>.living[data-living=moving])){--veil:82%}.backdrop:is([data-world=space],[data-world=cave][data-level="2"],[data-world=stage][data-level="2"]){--veil:86%}}:is(body,.lab-preview):has(>.backdrop[data-world]){--muted:#4a4741}@media (prefers-color-scheme:dark){:where(:root:not(:has(nav[data-kid]))) .backdrop :is(.world,.living){filter:brightness(.45)}:where(:root:not(:has(nav[data-kid]))) .backdrop[data-after=darker] :is(.world,.living){filter:brightness(.34)saturate(.9)}:where(:root:not(:has(nav[data-kid]))) .backdrop[data-after=warmer] :is(.world,.living){filter:brightness(.56)saturate(1.15)}:where(:root:not(:has(nav[data-kid]))) .backdrop[data-after=settled] :is(.world,.living){filter:brightness(.5)saturate(.95)}:where(:root:not(:has(nav[data-kid]))) .backdrop[data-world]{--veil:66%}:where(:root:not(:has(nav[data-kid]))) :is(body,.lab-preview):has(>.backdrop[data-world]){--muted:#b8b5ae}}@media (prefers-reduced-motion:no-preference){.backdrop .atmosphere[data-still] .world{animation:1.6s world-in!important}}.world{opacity:1;--world-tint:var(--accent);transition:opacity 1.6s;animation:1.6s world-in;position:absolute;inset:0}.world.leaving{opacity:0}@keyframes world-in{0%{opacity:0}}.world[data-mood=calm]{--world-tint:var(--calm-ink)}.world[data-mood=curious]{--world-tint:var(--curious-ink)}.world[data-mood=ominous]{--world-tint:var(--ominous-ink)}.world[data-mood=chaotic]{--world-tint:var(--chaotic-ink)}.world>*,.world svg{width:100%;height:100%;position:absolute;inset:0}.world:not([data-progression=none]) canvas.painted{scale:1.08}.world[data-progression=rising] canvas.painted{animation:rise calc(40s / var(--stir-rate,1)) ease-in-out infinite alternate}.world[data-progression=spreading] canvas.painted{animation:spread calc(50s / var(--stir-rate,1)) ease-in-out infinite alternate}.world[data-progression=unstable] canvas.painted{animation:world-wobble calc(2.4s / var(--stir-rate,1)) ease-in-out infinite alternate}@keyframes rise{to{transform:translateY(-8%)}}@keyframes spread{to{transform:scale(1.12)}}@keyframes world-wobble{0%{transform:rotate(-.6deg)}to{transform:rotate(.6deg)}}.action{pointer-events:none;animation-iteration-count:1;animation-fill-mode:forwards;position:absolute;inset:0}.action.discovery{background:radial-gradient(circle at 72% 30%,#fffffff2,#0000 0);animation:1.8s ease-out forwards a-discovery}.action.threshold{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--world-tint) 40%, transparent), transparent);animation:1.6s ease-in-out forwards a-threshold}.atmosphere[data-moment=threshold] .world{animation:1.6s ease-in-out forwards a-shift}.action.choice{border:3px solid var(--world-tint);border-radius:50%;width:2.2rem;height:2.2rem;animation:1.2s ease-out forwards a-choice;inset:auto 1rem .8rem auto}.atmosphere[data-moment=setback] .world{animation:1.2s ease-in-out a-shudder}.action.setback{background:#00000040;animation:1.6s ease-out forwards a-dim}.action.windfall{background:radial-gradient(circle at 50% 60%, color-mix(in srgb, var(--world-tint) 60%, #fff) 0, transparent 60%);animation:1.8s ease-out forwards a-bloom}.action.callback{border:2px solid var(--world-tint);opacity:0;border-radius:50%;animation:1.6s ease-out 2 a-echo;inset:20% 35%}.action.impact{background:radial-gradient(circle at 50% 48%, color-mix(in srgb, var(--world-tint) 85%, #fff), color-mix(in srgb, var(--world-tint) 45%, transparent) 42%, transparent 74%);opacity:.22;animation:1.4s ease-out forwards a-impact;transform:scale(1.5)}.action.reveal{background:linear-gradient(90deg, color-mix(in srgb, var(--world-tint) 70%, #000) 50%, transparent 50%);background-size:200% 100%;animation:1.4s ease-in-out forwards a-reveal}.action.ending{background:radial-gradient(#0000 45%,#00000059);animation:2s ease-out forwards a-dim}.atmosphere[data-moment=ending] .world *{animation-play-state:paused}@keyframes a-discovery{0%{opacity:0;transform:scale(.2)}40%{opacity:1}to{opacity:.55;background:radial-gradient(circle at 72% 30%,#ffffffe6,#0000 12%);transform:scale(1)}}@keyframes a-threshold{0%{opacity:0;transform:translate(-100%)}50%{opacity:1}to{opacity:0;transform:translate(100%)}}@keyframes a-shift{0%{transform:scale(1)}to{transform:scale(1.06)translateY(-2%)}}@keyframes a-choice{0%{opacity:0;transform:scale(.3)}to{opacity:.9;transform:scale(1)}}@keyframes a-shudder{0%,to{transform:translate(0)}25%{transform:translate(-1.5%)}50%{transform:translate(1.2%)}75%{transform:translate(-.8%)}}@keyframes a-dim{0%{opacity:0}30%{opacity:1}to{opacity:.6}}@keyframes a-bloom{0%{opacity:0;transform:scale(.4)}45%{opacity:1}to{opacity:.35;transform:scale(1.3)}}@keyframes a-echo{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(1.4)}}@keyframes a-impact{0%{opacity:0;transform:scale(.15)}22%{opacity:1}to{opacity:.22;transform:scale(1.5)}}@keyframes a-reveal{0%{background-position:100% 0}to{background-position:0 0}}.atmosphere[data-still] *,.atmosphere[data-still] :before{animation:none!important}@media (prefers-reduced-motion:reduce){.atmosphere *{animation:none!important}}.storybook :is(.narration,.body){font-family:ui-serif,Iowan Old Style,Georgia,serif}.mark:is(.shout,.sound){display:inline-block}.mark.shout{font-size:1.12em;font-weight:800}.mark.sound{letter-spacing:.03em;color:var(--world-tint,var(--accent));font-family:ui-rounded,SF Pro Rounded,Arial Rounded MT Bold,system-ui,sans-serif;font-size:1.3em;font-weight:800}.scene-card .mark:is(.sound,.voice){background:var(--panel);border-radius:.3rem}.mark.voice{color:var(--ink,inherit);font-weight:600}.cast{flex-wrap:wrap;gap:.15rem .35rem;margin:.25rem 0;display:flex}.cast-member{color:var(--ink,inherit);font-weight:600}.life-layer{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.card-glass{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}
.world canvas.painted{width:100%;height:100%;position:absolute;inset:0}.world[data-mood=ominous] canvas.painted{filter:brightness(.62)saturate(.8)}.world[data-mood=chaotic] canvas.painted{filter:saturate(1.5)contrast(1.1)}.world svg.strip{height:22%;inset:auto 0 0}.world svg.strip.top{inset:0 0 auto}
:root{--stir-rate:1;--stir-wash:0}:root[data-stir="1"]{--stir-rate:1.15;--stir-wash:.1}:root[data-stir="2"]{--stir-rate:1.3;--stir-wash:.18}:root[data-stir="3"]{--stir-rate:1.45;--stir-wash:.26}:is(.scene-card.live,.backdrop)>.atmosphere:after{content:"";pointer-events:none;background:radial-gradient(130% 95% at 50% 100%, color-mix(in srgb, var(--world-tint,var(--accent)) 55%, transparent), transparent 72%);opacity:var(--stir-wash);transition:opacity 1.4s;position:absolute;inset:0}.scene-card[data-mood=calm]>.atmosphere:after{content:none}@media (prefers-reduced-motion:reduce){:root{--stir-rate:1;--stir-wash:0}}
