/* Tender scenes (the bridge, lines marked tender): soft cinema bars slide in and the edges of the
   world fall a little quieter. Bars sit over the canvas and under the dialogue box, so the bottom
   bar mostly hides behind the box and the top one frames the couple. scene-framing.js mounts it. */
.scene-frame{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .9s ease}
.scene-frame.on{opacity:1}
.scene-frame::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 78% 72% at 50% 40%,#1a0e1600 52%,#1a0e1630 78%,#140a146b 100%)}
.scene-bar{position:absolute;left:0;right:0;height:clamp(16px,6.5vh,54px);transition:transform 1s cubic-bezier(.22,.7,.2,1)}
.scene-bar.top{top:0;background:linear-gradient(180deg,#0e0a10f0 72%,#0e0a1000);transform:translateY(-100%)}
.scene-bar.bottom{bottom:0;background:linear-gradient(0deg,#0e0a10f0 72%,#0e0a1000);transform:translateY(100%)}
.scene-frame.on .scene-bar{transform:none}
/* The location card would sit on top of the bar; it steps out for the length of the scene. */
#stage.scene-tender #location{opacity:0}
/* Announces a reaction shown as a bubble (Giulia liked that.) without drawing anything. */
.scene-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.scene-frame,.scene-bar{transition:none}}
