/* ============================================================
   MOSWAY — 06. ANIMATIONS (keyframes only)
   ============================================================ */

@keyframes floaty {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}
@keyframes spinbob {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-10px) rotate(180deg); }
  100% { transform: translateY(0) rotate(360deg); }
}
@keyframes blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(255, 59, 59, .7); }
  70% { box-shadow: 0 0 0 12px rgba(255, 59, 59, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 59, 59, 0); }
}
@keyframes wheel {
  0% { transform: translateY(0); opacity: 1; }
  70% { transform: translateY(10px); opacity: 0; }
  100% { transform: translateY(0); opacity: 0; }
}
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes mobBob {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-8px) scale(1.03); }
}
@keyframes hitShake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-10px) rotate(-6deg); }
  40% { transform: translateX(9px) rotate(5deg); }
  60% { transform: translateX(-6px); }
  80% { transform: translateX(5px); }
}
@keyframes mobDie {
  0% { transform: scale(1) rotate(0); opacity: 1; }
  40% { transform: scale(1.25) rotate(8deg); opacity: 1; }
  100% { transform: scale(0) rotate(40deg); opacity: 0; }
}
@keyframes dmgFloat {
  0% { transform: translateY(0) scale(.6); opacity: 0; }
  20% { opacity: 1; transform: translateY(-10px) scale(1.2); }
  100% { transform: translateY(-70px) scale(1); opacity: 0; }
}
@keyframes slime {
  0% { transform: scale(1, 1); }
  30% { transform: scale(1.25, .75); }
  55% { transform: scale(.85, 1.2) translateY(-6px); }
  100% { transform: scale(1, 1); }
}
@keyframes toastIn {
  from { transform: translateY(24px) scale(.95); opacity: 0; }
  to { transform: translateY(0) scale(1); opacity: 1; }
}
@keyframes toastOut {
  to { transform: translateY(24px) scale(.95); opacity: 0; }
}
@keyframes torchGlow {
  0%, 100% { opacity: 1; }
  30% { opacity: .75; }
  55% { opacity: .95; }
  80% { opacity: .7; }
}
@keyframes shakeX {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-6px); }
  75% { transform: translateX(6px); }
}
@keyframes popIn {
  0% { transform: scale(.4); opacity: 0; }
  70% { transform: scale(1.12); }
  100% { transform: scale(1); opacity: 1; }
}
