/* ---------- reduce motion (Settings → Reduce motion, or the OS setting) ---------- */
/* theme.js rewrites this media rule to force it on or off. Durations go to almost
   nothing rather than `none`, so code waiting for animationend/transitionend still
   runs. Busy spinners and the presenting hint keep moving: they cost next to nothing
   and say something. Background blur is the costly part on slow graphics. */

@media (prefers-reduced-motion: reduce) {
  *:not(#caption .spinner, .slot .slot-state, .win-busy, .signin-code .dot, #browser-url, .present-hint),
  *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0s !important;
    scroll-behavior: auto !important;
  }
  * {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}
