/* shared backdrop layer — sits behind the rooms (stages are z 1), never takes clicks */
.backdrop { position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; contain:strict; }
.backdrop .bd-layer { position:absolute; inset:0; will-change:transform; transition:transform 3s cubic-bezier(.65,0,.35,1); }
.backdrop .bd-layer svg { position:absolute; left:calc(var(--pad) * -1); top:0; display:block; }
/* the room's own video backdrop is a flat colour: a soft pool of exactly that colour sits under the room, so the
   picture's feathered edge melts into the scene instead of drawing a rectangle */
.backdrop .bd-pool { position:absolute; left:var(--px); top:var(--py); width:var(--pw); height:var(--ph); translate:-50% -50%;
  background:radial-gradient(closest-side, var(--pool) 62%, color-mix(in srgb, var(--pool) 70%, transparent) 78%, transparent 100%); }
:root { --pool:#E5DBD1; }
:root[data-theme="dark"] { --pool:#060D25; }
@media (prefers-reduced-motion: reduce) { .backdrop .bd-layer { transition:none; } .backdrop * { animation:none !important; } }
.bd-tag { position:fixed; z-index:50; bottom:12px; left:50%; translate:-50% 0; background:#fff; color:#111; font:700 13px Rubik, sans-serif;
  padding:8px 14px; border-radius:999px; box-shadow:0 6px 20px rgba(0,0,0,.35); white-space:nowrap; pointer-events:none; }
@media (max-width:760px) { .bd-tag { bottom:auto; top:70px; font-size:12px; } }
