/* MINETEMU アニメーション定義 */

@keyframes pulseGlow {
  0% {
    box-shadow: 0 0 0 0 rgba(251, 87, 0, 0.6);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(251, 87, 0, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(251, 87, 0, 0);
  }
}

.pulse-glow {
  animation: pulseGlow 1.8s infinite;
}

@keyframes cartBounce {
  0%, 100% { transform: scale(1); }
  25% { transform: scale(1.3) rotate(-8deg); }
  50% { transform: scale(0.9) rotate(8deg); }
  75% { transform: scale(1.15) rotate(-4deg); }
}

.cart-bounce {
  animation: cartBounce 0.6s ease-in-out;
}

@keyframes popIn {
  0% { transform: scale(0.7); opacity: 0; }
  80% { transform: scale(1.05); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

.animate-pop {
  animation: popIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes flameFlicker {
  0%, 100% { transform: scale(1) translateY(0); }
  50% { transform: scale(1.12) translateY(-2px); }
}

.flame-icon {
  display: inline-block;
  animation: flameFlicker 1.2s infinite ease-in-out;
  color: #ff9800;
}

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

.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee 22s linear infinite;
}

.marquee-track:hover {
  animation-play-state: paused;
}

@keyframes liveToastSlide {
  0% { transform: translateY(100px); opacity: 0; }
  10% { transform: translateY(0); opacity: 1; }
  90% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(100px); opacity: 0; }
}
