/* Accessibility shared rules. Loaded on every page.
   - Respect prefers-reduced-motion across all animations + transitions site-wide.
     Per-game animations that are GAMEPLAY (not decorative) should set their own
     behaviour rather than rely on CSS animations — those are unaffected.
   - Keyboard-focus safety net: every interactive element gets a visible outline
     when reached via keyboard. Mouse users still see the page's bespoke focus
     styles (or none) because :focus-visible doesn't trigger on pointer focus. */

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

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid #7C5CFF !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.6), 0 0 0 6px rgba(0, 0, 0, 0.35) !important;
}
