/**
 * Bondgenoot — global-reduced-motion.css
 * =================================================================
 * /assets/css/global-reduced-motion.css (cluster A pakket A6 fase F030)
 *
 * Globale prefers-reduced-motion override — overschrijft ALLE
 * animaties en transities zodra de gebruiker reduced-motion
 * heeft aangezet (OS-niveau setting).
 *
 * !important is hier bewust — we willen niet dat een component-CSS
 * met een hogere specificiteit per ongeluk doorzet. Dit is een
 * accessibility-overlay die kan worden ge-toggled.
 *
 * Edge cases:
 *   - scroll-behavior: auto voorkomt smooth-scroll
 *   - 0.01ms i.p.v. 0 — sommige libs (Three.js OrbitControls bv) zien
 *     `duration: 0` als trigger om frame-callbacks te stoppen. 0.01ms
 *     is dichterbij `instant` zonder die bug-trigger.
 *
 * Test:
 *   - macOS: Settings → Accessibility → Display → Reduce motion
 *   - Windows: Settings → Ease of Access → Display → Show animations
 *   - Browser DevTools: Rendering panel → "Emulate CSS media feature
 *     prefers-reduced-motion"
 */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    animation-delay: 0ms !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
    scroll-behavior: auto !important;
  }

  /* Speciale gevallen — animaties die structureel betekenis hebben
     blijven, maar dan instant (geen knipperend wachten) */
  .skeleton {
    animation: none !important;
  }
}
