/* Demolition Block v2.0 — Keyframe animations */
@keyframes bubble-pop {
  0% { transform: translate(-50%, -100%) scale(0.6); opacity: 0; }
  70% { transform: translate(-50%, -100%) scale(1.08); }
  100% { transform: translate(-50%, -100%) scale(1); opacity: 1; }
}
@keyframes fade-in-up {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes modal-pop {
  0% { opacity: 0; transform: scale(0.92) translateY(12px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}
.game-modal-card { animation: modal-pop 0.28s cubic-bezier(.4,1.4,.6,1); }
@keyframes shake {
  0%,100% { transform: translateX(0); }
  20% { transform: translateX(-4px); }
  40% { transform: translateX(4px); }
  60% { transform: translateX(-3px); }
  80% { transform: translateX(3px); }
}
@keyframes money-pulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.15); color: #56a259; }
}
.money-earned { animation: money-pulse 0.55s ease; }
