/* idle hint: gentle pulse on the suggested candy */
@keyframes idleHintPulse {
  0%, 100% { filter: brightness(1) drop-shadow(0 0 0 rgba(255,255,255,0)); transform: scale(1); }
  50% { filter: brightness(1.35) drop-shadow(0 0 10px rgba(255,255,255,.85)); transform: scale(1.1); }
}
.candy.idle-hint { animation: idleHintPulse 1.1s ease-in-out infinite; }

/* rare ambient sparkle drifting over the board */
.ambient-sparkle {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: radial-gradient(circle, #fff 0%, rgba(255,255,255,0) 70%);
  pointer-events: none;
  opacity: 0;
  animation: ambientDrift 2.4s ease-out forwards;
  z-index: 50;
}
@keyframes ambientDrift {
  0% { opacity: 0; transform: translateY(0) scale(.4); }
  15% { opacity: .9; }
  100% { opacity: 0; transform: translateY(-40px) scale(1.3); }
}
