/* Modern attention animation: bounce + glow */
.attention {
  animation: input-attention 420ms cubic-bezier(.2,.9,.2,1);
  transform-origin: 50% 50%;
}

@keyframes input-attention {
  0%   { transform: translateY(0) scale(1); box-shadow: 0 0 0 0 rgba(220,53,69,0.0); }
  20%  { transform: translateY(-2px) scale(1.01); box-shadow: 0 0 0 4px rgba(220,53,69,0.18); }
  45%  { transform: translateY(1px) scale(0.995); box-shadow: 0 0 0 6px rgba(220,53,69,0.12); }
  70%  { transform: translateY(0) scale(1); box-shadow: 0 0 0 4px rgba(220,53,69,0.08); }
  100% { transform: translateY(0) scale(1); box-shadow: 0 0 0 0 rgba(220,53,69,0.0); }
}

/* A11y: reduce motion */
@media (prefers-reduced-motion: reduce) {
  .attention { animation: none; }
}