/* Custom styles for Paw Hills Hub */

/* Tracie 2026-06-16: 'Blue shield, blue shield, red shield. We could have it,
   we could have it yell at you. She was awful hopped up about her shields.'
   Subtle 2s pulse on the intact + no-vax shields so they catch the eye
   without being annoying after 10 minutes on the floor. */
@keyframes paw-shield-pulse-blue {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.55);
  }
  50% {
    transform: scale(1.08);
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0);
  }
}

@keyframes paw-shield-pulse-red {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.6);
  }
  50% {
    transform: scale(1.08);
    box-shadow: 0 0 0 4px rgba(220, 38, 38, 0);
  }
}

.paw-shield {
  display: inline-flex;
  align-items: center;
}

.paw-shield-blue {
  animation: paw-shield-pulse-blue 2s ease-in-out infinite;
}

.paw-shield-red {
  /* Slightly faster pulse on the no-vax shield — it's the more urgent one */
  animation: paw-shield-pulse-red 1.6s ease-in-out infinite;
}

/* Respect user motion preferences — if they've asked the OS for less motion,
   we hold the shield at its peak state instead of animating. */
@media (prefers-reduced-motion: reduce) {
  .paw-shield-blue,
  .paw-shield-red {
    animation: none;
  }
}
