@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes pulse-orange {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 107, 0, 0.4); }
  50% { box-shadow: 0 0 0 15px rgba(255, 107, 0, 0); }
}

@keyframes bounce {
  0%, 100% { transform: translateY(0) translateX(-50%); }
  50% { transform: translateY(-10px) translateX(-50%); }
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

@keyframes popupIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

.animate-float { animation: float 3s ease-in-out infinite; }
.animate-pulse-orange { animation: pulse-orange 2s ease-in-out infinite; }
.animate-bounce { animation: bounce 2s ease-in-out infinite; }
.animate-pulse { animation: pulse 2s cubic-bezier(.4,0,.6,1) infinite; }

.steel-texture {
  background:
    linear-gradient(135deg, rgba(10,14,23,0.95) 0%, rgba(26,32,53,0.9) 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.02) 0px, rgba(255,255,255,0.02) 1px, transparent 1px, transparent 60px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.02) 0px, rgba(255,255,255,0.02) 1px, transparent 1px, transparent 60px);
}

.gold-glow { box-shadow: 0 0 20px rgba(212,160,23,0.3); }
.gold-glow:hover { box-shadow: 0 0 30px rgba(212,160,23,0.5); }
.orange-glow { box-shadow: 0 0 20px rgba(255,107,0,0.4); }
.orange-glow:hover { box-shadow: 0 0 30px rgba(255,107,0,0.6); }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0A0E17; }
::-webkit-scrollbar-thumb { background: #2D3748; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #FF6B00; }