/* Teaser page styles. The design system tokens/components carry the look;
   this file holds only what is specific to this page. */

html { background: var(--bc-paper); }

/* Several elements carry an inline display:flex and are toggled with [hidden].
   An inline declaration outranks the UA stylesheet's [hidden]{display:none},
   so hidden has to win explicitly or those elements never hide. */
[hidden] { display: none !important; }

/* The assembly envelope. Sizing (width/height/background-size) is set from JS
   because the cell size is computed from the viewport. */
#box {
  position: relative;
  background: #FFFFFF;
  border: 1px solid #161613;
  box-sizing: content-box;
  background-image:
    linear-gradient(rgba(22, 22, 19, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22, 22, 19, .05) 1px, transparent 1px);
}

#stage { position: relative; max-width: 100%; }

.bc-pod { position: absolute; box-sizing: border-box; display: flex; align-items: center; justify-content: center; user-select: none; touch-action: none; }

/* Mechanical snap only — no motion for readers who ask for none. */
@media (prefers-reduced-motion: reduce) {
  :root { --dur-tap: 0ms; --dur-quick: 0ms; --dur-move: 0ms; --dur-reveal: 0ms; --stagger: 0ms; }
  .bc-pod { transition: none !important; transition-delay: 0ms !important; }
}
