/* The painted scene: one picture per land (the 9:16 cut on portrait screens), cropped from the bottom-centre so the ground
   always shows. Motion: a slow Ken-Burns drift on the image and a mouse-only parallax on its layer (life.js), transform only. */
#scene{position:absolute;inset:0;pointer-events:none;overflow:hidden}
#scene .scene-pane{position:absolute;inset:0}
#scene .layer{position:absolute;inset:-12px} /* bleed for the 10px parallax */
#scene .scene-art{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 100%;transform-origin:50% 100%;transform:scale(1.04);animation:kenburns var(--t-drift) ease-in-out infinite alternate}
@keyframes kenburns{to{transform:scale(1.08)}}
/* home's windmill stands at the far right of the 16:9 painting: a 4:3 tablet crops from that edge (and zooms from it) so it stays whole */
@media (orientation:landscape){#scene .layer[data-scene="home"] .scene-art{object-position:100% 100%;transform-origin:100% 100%}}
@media (hover:hover) and (pointer:fine){#scene .layer{will-change:transform}} /* parallax only follows a mouse, so only promote there */
#scene::after{content:"";position:absolute;inset:0;background:var(--scene-dim,transparent);pointer-events:none} /* dark mode: the dusk dim */
/* nothing moves behind a question, in calm mode, or while the tab is hidden (saves battery) */
body:is([data-screen="s-game"],[data-screen="s-duel"],[data-calm="1"],.bg-paused) #scene .scene-art{animation-play-state:paused}
/* nor behind an open dialog (the break, the grown-up gate): the scene and the characters hold still while it asks for attention */
body:has(.modal.open) :is(#scene .scene-art,.chr-art){animation-play-state:paused}
/* calm mode stops every endless loop. Play states are lists per animation, so a one-shot sharing the element (an entrance,
   a pop, a shake) still runs and an element is never frozen at its first, invisible frame: balloons float then pop,
   pond items pop in then float. The "you are here" and hint rings stop as a still ring. */
body[data-calm="1"] :is(.chr-art,.chr[data-mood="talk"],.trail-me.walking .chr,.dz-rotate-ico){animation-play-state:paused} /* single endless loops: the breath, the talking bob, the trail walk, the turn-your-phone hint */
body[data-calm="1"] .balloon{animation-play-state:paused,running}
body[data-calm="1"] .pond-item{animation-play-state:running,paused}
body[data-calm="1"] :is(:is(.stop,.land,.level).now,.opt.hint)::after{animation:none}
@media (prefers-reduced-motion:reduce){#scene .scene-art{animation:none}#scene .layer{transform:none !important}}
/* the land postcard on the map (sceneThumb) */
img.thumb{object-fit:cover;object-position:50% 60%;display:block}
