/*
 * GWE-233 — unhashed / unminified motion layer, rebased onto launch (GWE-284).
 *
 * Served as /gw-motion.css (public/, not Tailwind / Lightning / @layer).
 * Deploy-preview-85 proved the production pipeline can report
 * animation-play-state:running + a ticking WAAPI currentTime while pixels
 * stay frozen:
 *
 *   1. Parent mask-image on .gw-bubble-field flattened descendant paint.
 *   2. Lightning rewrote pathLength dasharray/dashoffset to % or px, so the
 *      traveling tick painted as a solid stroke.
 *
 * PR #87 as-of aae6d86 also shipped stale bubble / aquarium / pulse apply
 * rules. A squash of that branch onto launch rewrites those hosts wholesale
 * and silently discards launch's work in app/globals.css (24 commits),
 * tests/gwe225-motion-invariants.spec.ts (25 commits), INVARIANTS.md, and
 * app/diagnostics/manta-graph/manta-graph.module.css — git merge-tree can
 * report no conflict (§18g.1). Those four files stay launch. #113 owns
 * the ocean hosts; this file does not touch them.
 *
 * Pulse stays launch's @property --gw-manta-dash (qa-motion fails if
 * gw-manta-flow-pulse sets stroke-dashoffset). Radar sweep is mirrored
 * here at launch's values so Lightning cannot drop the hashed copy.
 */

@keyframes gw-radar-sweep {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

.gw-radar-sweep {
  animation-name: gw-radar-sweep;
  animation-duration: 14s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-play-state: running;
}

@media (prefers-reduced-motion: reduce) {
  .gw-radar-sweep {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
