/* Only canvas hand-off is shared. Every art direction is in its own CSS/files. */
.art-stage {
  position: relative;
  isolation: isolate;
  min-width: 0;
  overflow: hidden;
}
.art-stage [data-art-poster] {
  display: block;
  width: 100%;
  height: 100%;
  transition: opacity 240ms ease, visibility 240ms ease;
}
.art-stage > canvas {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  touch-action: pan-y;
}
.art-stage[data-art-state="live"] > canvas { pointer-events: auto; }
.art-stage[data-art-state="live"] [data-art-poster] {
  opacity: 0;
  visibility: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .art-stage [data-art-poster] { transition: none; }
  .art-stage > canvas { display: none; }
}
