/* Global Styles */
body {
    margin: 0;
    padding: 0;
    background-color: #0a0a1a;
    font-family: sans-serif;
    overflow-x: hidden; /* Prevent horizontal scroll */
    /* Removed overflow-hidden to allow vertical scrolling */
}

/* Custom Animations */
@keyframes float {
    0%, 100% { transform: translateY(-10px); }
    50% { transform: translateY(10px); }
}

@keyframes float-badge-1 {
    0%, 100% { transform: translateY(-5px); }
    50% { transform: translateY(5px); }
}

@keyframes float-badge-2 {
    0%, 100% { transform: translateY(5px); }
    50% { transform: translateY(-5px); }
}

@keyframes star-pulse {
    0%, 100% { opacity: 0.3; transform: scale(0.8); }
    50% { opacity: 1; transform: scale(1.2); }
}

@keyframes particle-rise {
    0% { bottom: -20px; opacity: 0; }
    20% { opacity: 1; }
    80% { opacity: 1; }
    100% { bottom: 120%; opacity: 0; }
}

@keyframes flame-flicker {
    0%, 100% { height: 80px; transform: scaleX(1); opacity: 0.8; }
    50% { height: 100px; transform: scaleX(1.1); opacity: 1; }
}

@keyframes flame-flicker-small {
    0%, 100% { height: 70px; }
    50% { height: 90px; }
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes spin-reverse {
    from { transform: rotate(0deg); }
    to { transform: rotate(-360deg); }
}

@keyframes fade-in-up {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes spring-up {
    0% { transform: translateY(100px); opacity: 0; }
    60% { transform: translateY(-10px); opacity: 1; }
    80% { transform: translateY(5px); }
    100% { transform: translateY(0); opacity: 1; }
}

@keyframes scale-x {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

.animate-float { animation: float 4s ease-in-out infinite; }
.animate-float-badge-1 { animation: float-badge-1 3s ease-in-out infinite; }
.animate-float-badge-2 { animation: float-badge-2 3.5s ease-in-out infinite; }
.animate-spin-slow { animation: spin 20s linear infinite; }
.animate-spin-reverse-slow { animation: spin-reverse 15s linear infinite; }

.animate-fade-in-up { 
    opacity: 0; 
    animation: fade-in-up 0.7s ease-out forwards; 
}

.animate-spring-up {
    opacity: 0;
    animation: spring-up 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.animate-scale-x {
    transform: scaleX(0);
    transform-origin: left;
    animation: scale-x 0.8s ease-out forwards;
}

.star-wrapper { position: absolute; transition: transform 0.1s ease-out; }
.star-inner { display: block; }
.particle { position: absolute; background-color: rgba(255, 255, 255, 0.2); border-radius: 50%; }
