/* animations.css — light, friendly motion. All effects are disabled under
   prefers-reduced-motion so the game stays calm and accessible. */

@keyframes pop-in {
  0%   { transform: scale(0.85); opacity: 0; }
  60%  { transform: scale(1.04); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
.pop-in { animation: pop-in 0.32s cubic-bezier(0.34, 1.56, 0.64, 1) both; }

@keyframes chip-pop {
  0% { transform: scale(1); } 50% { transform: scale(1.25); } 100% { transform: scale(1); }
}
.key-chip.pop { animation: chip-pop 0.4s ease; }

@keyframes star-bounce {
  0% { transform: translateY(8px) scale(0.6); opacity: 0; }
  70% { transform: translateY(-4px) scale(1.15); opacity: 1; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}
.cm-star.on { animation: star-bounce 0.5s ease both; }
.cm-star.on:nth-child(2) { animation-delay: 0.12s; }
.cm-star.on:nth-child(3) { animation-delay: 0.24s; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
