/*
 * Reduced motion: when the device asks for it, or the user turned on
 * "Reduzir animações" in Settings (data-motion on <html>). Animations and
 * transitions finish at once, so everything shows in its resting place, and
 * nothing loops. Pieces whose resting place is hidden say what to show
 * instead (the rain in open_box.css); the carousel and the gift pile stop in
 * JavaScript (motion.js).
 *
 * The band cards' bar keeps its time: it is a timer, not motion. When it
 * ends the next card shows (without turning); cut short, the cards would race.
 */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important; animation-delay: 0s !important;
    transition-duration: .01ms !important; transition-delay: 0s !important; scroll-behavior: auto !important;
  }
  .deck .bar .fill { animation-duration: var(--deck-time) !important; }
}

:root[data-motion="reduced"] *, :root[data-motion="reduced"] *::before, :root[data-motion="reduced"] *::after {
  animation-duration: .01ms !important; animation-iteration-count: 1 !important; animation-delay: 0s !important;
  transition-duration: .01ms !important; transition-delay: 0s !important; scroll-behavior: auto !important;
}
:root[data-motion="reduced"] .deck .bar .fill { animation-duration: var(--deck-time) !important; }
