/* MASTER SPACE — Animations */
@keyframes glow-border { 0%, 100% { box-shadow: 0 0 5px rgba(245,197,24,0.3), 0 0 20px rgba(245,197,24,0.1); } 50% { box-shadow: 0 0 15px rgba(245,197,24,0.5), 0 0 40px rgba(245,197,24,0.2); } }
@keyframes glow-green { 0%, 100% { box-shadow: 0 0 5px rgba(57,167,81,0.3), 0 0 20px rgba(57,167,81,0.1); } 50% { box-shadow: 0 0 15px rgba(57,167,81,0.5), 0 0 40px rgba(57,167,81,0.2); } }
@keyframes pulse-cta { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.03); } }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes slideInRight { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@keyframes slideInUp { from { transform: translateY(30px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes countUp { from { transform: translateY(10px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
@keyframes borderGlow { 0% { border-color: var(--yellow); } 33% { border-color: var(--green); } 66% { border-color: var(--teal); } 100% { border-color: var(--yellow); } }

.animate-glow { animation: glow-border 2s ease-in-out infinite; }
.animate-glow-green { animation: glow-green 2s ease-in-out infinite; }
.animate-pulse { animation: pulse-cta 2s ease-in-out infinite; }
.animate-float { animation: float 3s ease-in-out infinite; will-change: transform; }
.animate-fadeIn { animation: fadeIn 0.5s ease; }
.animate-slideUp { animation: slideInUp 0.5s ease; }
.animate-spin { animation: spin 1s linear infinite; }
.animate-border-glow { animation: borderGlow 4s ease infinite; }

.stagger-1 { animation-delay: 0.1s; }
.stagger-2 { animation-delay: 0.2s; }
.stagger-3 { animation-delay: 0.3s; }
.stagger-4 { animation-delay: 0.4s; }

/* Loading spinner */
.spinner { width: 40px; height: 40px; border: 3px solid var(--border-primary); border-top-color: var(--yellow); border-radius: 50%; animation: spin 0.8s linear infinite; margin: 40px auto; }

/* Skeleton loading */
.skeleton { background: linear-gradient(90deg, var(--bg-card) 25%, var(--bg-card-hover) 50%, var(--bg-card) 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; border-radius: var(--radius-md); }
