/* ==========================================================================
   ANIMATIONS — keyframes shared by more than one component, plus the global
   reduced-motion escape hatch. Animations used by only a single component
   live next to that component instead (e.g. planeIdle in flight-sim.css).
   ========================================================================== */

@keyframes blink { 50% { opacity: 0; } }

@keyframes pulseDot {
    0% { box-shadow: 0 0 0 0 rgba(74,222,128,.55); }
    70% { box-shadow: 0 0 0 8px rgba(74,222,128,0); }
    100% { box-shadow: 0 0 0 0 rgba(74,222,128,0); }
}

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