/* ============================================
   MARTA — Animation Keyframes
   ============================================ */

@keyframes martaBreath {
  0%, 100% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-5px) scaleY(1.02); }
}

@keyframes martaBlink {
  0%, 44%, 48%, 92%, 100% { transform: scaleY(1); }
  46% { transform: scaleY(0.05); }
  95% { transform: scaleY(0.05); }
}

@keyframes tailWagSlow {
  0%, 100% { transform: rotate(-6deg); }
  30% { transform: rotate(10deg); }
  60% { transform: rotate(-4deg); }
  80% { transform: rotate(7deg); }
}

@keyframes tailWagFast {
  0%, 100% { transform: rotate(-20deg); }
  25% { transform: rotate(20deg); }
  50% { transform: rotate(-15deg); }
  75% { transform: rotate(15deg); }
}

@keyframes tailWagHappy {
  0%, 100% { transform: rotate(-15deg) translateX(-2px); }
  25% { transform: rotate(18deg) translateX(3px); }
  50% { transform: rotate(-12deg) translateX(-1px); }
  75% { transform: rotate(15deg) translateX(2px); }
}

@keyframes happyBounce {
  0%, 100% { transform: translateY(0) scale(1); }
  15% { transform: translateY(-24px) scale(1.03); }
  30% { transform: translateY(-2px) scale(0.98); }
  45% { transform: translateY(-18px) scale(1.02); }
  60% { transform: translateY(-1px) scale(0.99); }
  75% { transform: translateY(-10px) scale(1.01); }
  90% { transform: translateY(0) scale(1); }
}

@keyframes floatHeart {
  0% { transform: translateY(0) scale(0); opacity: 0; }
  20% { transform: translateY(-10px) scale(1); opacity: 1; }
  100% { transform: translateY(-80px) scale(0.5); opacity: 0; }
}

@keyframes eatingBob {
  0%, 100% { transform: translateY(0) rotate(0); }
  25% { transform: translateY(8px) rotate(-3deg); }
  50% { transform: translateY(2px) rotate(0); }
  75% { transform: translateY(8px) rotate(3deg); }
}

@keyframes sleepFloat {
  0% { transform: translateY(0) scale(0.5); opacity: 0; }
  50% { opacity: 1; }
  100% { transform: translateY(-50px) scale(1.2); opacity: 0; }
}

@keyframes sleepBreath {
  0%, 100% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(1px) scaleY(0.98); }
}

@keyframes energyGlow {
  0%, 100% { box-shadow: 0 0 20px rgba(255,215,0,0.2); }
  50% { box-shadow: 0 0 40px rgba(255,215,0,0.5); }
}

@keyframes sparkle {
  0%, 100% { transform: scale(0) rotate(0); opacity: 0; }
  50% { transform: scale(1) rotate(180deg); opacity: 1; }
}

@keyframes legFrontWalk {
  0%, 100% { transform: rotate(-15deg); }
  50% { transform: rotate(15deg); }
}

@keyframes legBackWalk {
  0%, 100% { transform: rotate(15deg); }
  50% { transform: rotate(-15deg); }
}

@keyframes bubbleFloat {
  0% { transform: translateY(0) scale(0); opacity: 0; }
  20% { transform: translateY(-10px) scale(1); opacity: 0.7; }
  100% { transform: translateY(-100px) scale(1.5); opacity: 0; }
}

@keyframes splash {
  0% { transform: translateY(0) scale(1); opacity: 1; }
  100% { transform: translateY(-40px) scale(0.3); opacity: 0; }
}

@keyframes shakeDry {
  0%, 100% { transform: rotate(0) translateX(0); }
  10% { transform: rotate(-8deg) translateX(-5px); }
  20% { transform: rotate(8deg) translateX(5px); }
  30% { transform: rotate(-6deg) translateX(-4px); }
  40% { transform: rotate(6deg) translateX(4px); }
  50% { transform: rotate(-4deg) translateX(-2px); }
  60% { transform: rotate(4deg) translateX(2px); }
}

@keyframes foodFly {
  0% { transform: translate(0, 0) scale(1); opacity: 1; }
  50% { transform: translate(var(--fly-x, 0), -80px) scale(0.8); }
  100% { transform: translate(var(--fly-end-x, 0), var(--fly-end-y, 0)) scale(0.5); opacity: 0; }
}

@keyframes zzzFloat {
  0% { transform: translateX(0) translateY(0) scale(0.6); opacity: 0; }
  20% { opacity: 0.8; }
  100% { transform: translateX(20px) translateY(-60px) scale(1.2); opacity: 0; }
}

@keyframes starTwinkle {
  0%, 100% { opacity: 0.3; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.2); }
}

@keyframes cloudDrift {
  0% { transform: translateX(100%); }
  100% { transform: translateX(-200%); }
}

@keyframes seagullFly {
  0% { transform: translateX(110vw) translateY(0); }
  25% { transform: translateX(75vw) translateY(-15px); }
  50% { transform: translateX(50vw) translateY(5px); }
  75% { transform: translateX(25vw) translateY(-10px); }
  100% { transform: translateX(-10vw) translateY(0); }
}

@keyframes waveMotion {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes leafFall {
  0% { transform: translateY(-20px) translateX(0) rotate(0); opacity: 0; }
  10% { opacity: 1; }
  100% { transform: translateY(100vh) translateX(80px) rotate(360deg); opacity: 0; }
}

@keyframes bounceIn {
  0% { transform: scale(0); opacity: 0; }
  60% { transform: scale(1.15); opacity: 1; }
  80% { transform: scale(0.95); }
  100% { transform: scale(1); }
}

@keyframes slideUp {
  0% { transform: translateY(30px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}

@keyframes pulseRing {
  0% { transform: scale(1); opacity: 0.5; }
  100% { transform: scale(1.8); opacity: 0; }
}

@keyframes yawn {
  0%, 100% { transform: scaleY(1) scaleX(1); }
  30% { transform: scaleY(1.3) scaleX(0.9); }
  60% { transform: scaleY(1.5) scaleX(0.85); }
}

@keyframes stretch {
  0%, 100% { transform: scaleX(1) translateY(0); }
  50% { transform: scaleX(1.15) translateY(-5px); }
}

@keyframes dreamBubble {
  0% { transform: scale(0); opacity: 0; }
  20% { transform: scale(1.1); opacity: 1; }
  80% { transform: scale(1); opacity: 1; }
  100% { transform: scale(0.8); opacity: 0; }
}

@keyframes glitter {
  0%, 100% { transform: scale(0) rotate(0); opacity: 0; }
  50% { transform: scale(1) rotate(180deg); opacity: 1; filter: hue-rotate(90deg); }
}

@keyframes ballBounce {
  0% { transform: translateY(0); }
  20% { transform: translateY(-120px); }
  40% { transform: translateY(0); }
  55% { transform: translateY(-50px); }
  70% { transform: translateY(0); }
  82% { transform: translateY(-20px); }
  90% { transform: translateY(0); }
  95% { transform: translateY(-5px); }
  100% { transform: translateY(0); }
}

@keyframes simonFlash {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.6); box-shadow: 0 0 30px currentColor; }
}

@keyframes gridSettle {
  0% { transform: scale(1.05); }
  50% { transform: scale(0.97); }
  100% { transform: scale(1); }
}

@keyframes croquetaFall {
  0% { transform: translateY(-20px) rotate(0); }
  100% { transform: translateY(100vh) rotate(360deg); }
}

@keyframes nightFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes earWiggle {
  0%, 100% { transform: rotate(0deg); }
  20% { transform: rotate(-5deg); }
  40% { transform: rotate(3deg); }
  60% { transform: rotate(-3deg); }
  80% { transform: rotate(2deg); }
}

@keyframes tongueWag {
  0%, 100% { transform: scaleX(1); }
  50% { transform: scaleX(1.05); }
}

@keyframes sparkleFloat {
  0% { transform: translateY(0) scale(0); opacity: 0; }
  20% { transform: translateY(-8px) scale(1); opacity: 1; }
  100% { transform: translateY(-40px) scale(0.3); opacity: 0; }
}

@keyframes gentleSway {
  0%, 100% { transform: rotate(-2deg); }
  50% { transform: rotate(2deg); }
}
