/* Full-viewport WebGL underlay — use with /assets/hero-flow-three.js (same on all site pages) */
.wa-scene-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  /* Soft frosted look + hides lower-res / simpler WebGL pass */
  filter: blur(16px);
  -webkit-filter: blur(16px);
  transform: scale(1.14);
  transform-origin: center center;
}
@media (prefers-reduced-transparency: reduce) {
  .wa-scene-bg {
    filter: blur(6px);
    -webkit-filter: blur(6px);
    transform: scale(1.06);
  }
}
#wa-scene-canvas {
  display: block;
  width: 100%;
  height: 100%;
  vertical-align: top;
  /* Bitmap is often below screen res; this keeps upscaling smooth under blur */
  image-rendering: auto;
}
/*
 * Stack normal page content above the fixed scene.
 * Exclude top-level full-viewport/fixed layers — a two-class .modal-overlay loses to this rule's
 * :not(…) + body + combinator counts, so those roots must be listed here or overlays break.
 */
body
  > *:not(
    .wa-scene-bg,
    script,
    .modal-overlay,
    .builder-overlay,
    .auth-modal,
    .history-panel,
    .schedule-panel
  ) {
  position: relative;
  z-index: 1;
}
