/* The media query is the no-JavaScript guarantee; the data state mirrors live OS changes. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }

  *, *::before, *::after {
    animation-delay: 0s !important;
    animation-duration: 0.001ms !important;
    animation-fill-mode: both !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-delay: 0s !important;
    transition-duration: 0.001ms !important;
  }

  /* The root entrance stays under reduced motion, seated still with Begin; only a completed
     arrival is removed. */
  [data-arrival].arrival-complete,
  .arrival-complete {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  [data-site-guide][data-guide-motion] { animation: none !important; }
  #vessel-canvas { transition: none !important; }
}

html[data-motion-preference="reduce"] { scroll-behavior: auto !important; }

html[data-motion-preference="reduce"] *,
html[data-motion-preference="reduce"] *::before,
html[data-motion-preference="reduce"] *::after {
  animation-delay: 0s !important;
  animation-duration: 0.001ms !important;
  animation-fill-mode: both !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
  transition-delay: 0s !important;
  transition-duration: 0.001ms !important;
}

html[data-motion-preference="reduce"] [data-arrival].arrival-complete,
html[data-motion-preference="reduce"] .arrival-complete {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html[data-motion-preference="reduce"] [data-site-guide][data-guide-motion] {
  animation: none !important;
}

html[data-motion-preference="reduce"] #vessel-canvas { transition: none !important; }
