/* ─────────────────────────────────────────────────────
   FILE: animations.css
   Purpose: All @keyframes definitions used across the
            site. No selectors — only keyframes.
   Consumers reference these via animation: name … rules
   defined inside their own component CSS.
   ───────────────────────────────────────────────────── */

/* ── Pulse — kicker dot, status indicators ─────────── */
@keyframes pulse {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 0 0 rgba(15, 111, 255, 0.45);
  }
  50% {
    opacity: 0.5;
    box-shadow: 0 0 0 6px rgba(15, 111, 255, 0);
  }
}

/* ── Blink — terminal cursor ───────────────────────── */
@keyframes blink {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0; }
}

/* ── Fade + slide in — filter card transition ──────── */
@keyframes fadeSlideIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Shimmer — loading skeleton ────────────────────── */
@keyframes shimmer {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

/* ── Slide — loader bar ────────────────────────────── */
@keyframes loaderSlide {
  0%   { left: -40%; }
  100% { left: 100%; }
}
