/* The original image keeps its layout and accessible description. Canvas is
   revealed only after the same character texture has rendered successfully. */
.hero-art img.assistant-image,
.hero-art canvas.companion-canvas {
  animation: none !important;
}

.hero-art canvas.companion-canvas {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  user-select: none;
  transition: none !important;
}

.hero-art canvas.companion-canvas.companion-ready {
  visibility: visible;
  opacity: 1;
}

.hero-art img.companion-original.companion-ready {
  opacity: 0 !important;
}

/* A static, fully illustrated poster is preferable to stopping mid-blink when
   the visitor asks the operating system to reduce movement. */
@media (prefers-reduced-motion: reduce) {
  .hero-art canvas.companion-canvas { visibility: hidden !important; }
  .hero-art img.companion-original.companion-ready { opacity: 1 !important; }
}
