.shared-snow{position:absolute;inset:0;z-index:70;background:var(--ui-paper);overflow:hidden}
.shared-snow[hidden],.snow-transition[hidden],.snow-branch[hidden]{display:none!important}
.shared-snow>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shared-snow h2{position:absolute;left:50%;top:4%;transform:translateX(-50%);margin:0;padding:4px 12px;background:#f7f3ead9;color:var(--ui-text);font:400 clamp(21px,2vw,30px)/1.4 var(--ui-serif);letter-spacing:.15em}
.finale-flakes{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.finale-flakes i{position:absolute;top:-8px;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:white;opacity:.8;animation:finaleSnow var(--duration) var(--delay) linear infinite}
.shared-snow[hidden] .finale-flakes i{animation-play-state:paused}
@keyframes finaleSnow{to{transform:translate(38px,105cqh)}}
.snow-transition{position:absolute;inset:0;z-index:125;display:grid;place-items:center;pointer-events:auto}
.snow-transition:before{content:"";position:absolute;inset:0;background:var(--transition-ink,#1F2932);opacity:0;transition:opacity .85s ease}
.snow-transition.covered:before{opacity:1}
.snow-transition p{position:relative;margin:0;padding:0 20px;color:var(--ui-paper);font:400 clamp(20px,2vw,32px)/1.7 var(--ui-serif);letter-spacing:.15em;opacity:0;transition:opacity .6s ease;text-align:center}
.snow-transition.words p{opacity:1}
.stage.snow-transitioning>:is(.story-mirror,.scene-nav,.restart,.guide,.snow-branch),.stage.snow-transitioning .inspection-hint{visibility:hidden}
.stage.shared-snow-active>.guide{visibility:hidden}
.stage .snow-branch{position:absolute;z-index:85;left:50%;bottom:var(--ui-safe);transform:translateX(-50%);min-height:44px;padding:8px 18px;background:var(--ui-paper);border:1px solid var(--ui-border);border-radius:24px;color:var(--ui-text);font:14px var(--ui-sans)}
.stage:has(.snow-branch:not([hidden])) .quiz-launch{visibility:hidden}
.stage:has(.snow-branch:not([hidden]))>.guide,.stage.shared-snow-active>.quiz-launch{visibility:hidden}
.stage .scene-prev{position:absolute;z-index:85;left:var(--ui-safe);bottom:var(--ui-safe);min-height:44px;min-width:116px;padding:9px 16px;border:1px solid var(--ui-border);border-radius:24px;background:var(--ui-paper);color:var(--ui-text);font:15px/1.5 var(--ui-sans);cursor:pointer}
.stage .scene-prev[hidden],.stage .scene-next[hidden]{display:none!important}
.stage.snow-transitioning>.scene-prev,.stage.cloud-opening>.scene-prev,.stage.quiz-open>.scene-prev{visibility:hidden}
/* Only bottom-anchored hints move above Previous. Top + bottom with auto height
   stretches an absolute hint into a large panel. */
.stage:has(.scene-prev:not([hidden]))[data-view="sequence"]>.guide,
.stage:has(.scene-prev:not([hidden]))[data-view="burial"][data-ui-state="reading"]>.guide,
.stage:has(.scene-prev:not([hidden])) .inspection-hint{bottom:calc(var(--ui-safe) + 60px)}
@media(max-height:500px){.stage .snow-branch{left:50%;transform:translateX(-50%)}}
.chapter-shared-snow{position:absolute;left:5%;bottom:5%;min-height:44px;padding:8px 16px;border:1px solid var(--ui-green);border-radius:24px;background:transparent;color:var(--ui-text);font:14px var(--ui-sans)}
.chapter-shared-snow[data-locked="true"]{border-style:dashed;border-color:var(--ui-border)}
@media(max-height:500px){.chapter-shared-snow{left:16px;bottom:12px;font-size:13px;padding:8px 12px}.stage .snow-branch{left:50%;transform:translateX(-50%);max-width:40%;font-size:14px}}
@media(prefers-reduced-motion:reduce){.finale-flakes{display:none}.snow-transition:before,.snow-transition p{transition:none}}
