@keyframes floaty {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-16px) rotate(3deg); }
}

@keyframes pulse {
  0%, 100% { transform: scale(1); box-shadow: 0 14px 34px rgba(255, 107, 107, .28); }
  50% { transform: scale(1.035); box-shadow: 0 18px 48px rgba(255, 107, 107, .4); }
}

@keyframes slideUp {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes sparkle {
  0% { transform: translateY(0) rotate(0); opacity: 1; }
  100% { transform: translateY(92vh) rotate(540deg); opacity: 0; }
}

@keyframes badgeSpin {
  0% { transform: rotateY(0); }
  100% { transform: rotateY(360deg); }
}

@keyframes levelPop {
  0% { transform: translate(-50%, -50%) scale(.5); opacity: 0; }
  15%, 80% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1.2); opacity: 0; }
}
