/* For venues, the hero: a room, mapped from its centre (assets/vibe-venues.js).
   The host keeps the old drawing's 640:560, so the hero's layout does not
   move. It holds a still of the settled room, shown without WebGL2, without JS
   and for reduced motion. Where the figure will run, a line of script after
   the host marks it `venue-wait` before the first paint, so the still stays
   hidden and the room is built from darkness; if anything fails, or the GL
   context is lost, both classes go and the still fades back in. */
.venue-scan{position:relative;width:100%;aspect-ratio:640/560}
.venue-scan>img,.venue-scan>canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.venue-scan>img{object-fit:cover;transition:opacity .5s ease}
.venue-scan.venue-wait>img{opacity:0}
.venue-scan>canvas{opacity:0;transition:opacity .6s ease}
.venue-scan.venue-live>canvas{opacity:1}
