/* The lime center stays still; only a fine outer halo breathes. */
.pulse { position: relative; flex: 0 0 7px; }
.pulse::after {
  content: "";
  position: absolute;
  inset: -4px;
  border: 1px solid rgba(216, 255, 82, .85);
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  animation: pulse-halo 4.2s ease-out infinite;
}
@keyframes pulse-halo {
  0%, 8% { opacity: 0; transform: scale(.75); }
  13% { opacity: .75; transform: scale(1); }
  38%, 100% { opacity: 0; transform: scale(2.25); }
}
@media (prefers-reduced-motion: reduce) {
  .pulse::after { animation: none; }
}
