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

/* Background Animation */
@keyframes rotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.hero::before {
    animation: rotate 120s linear infinite;
}

/* Floating Characters */
.floating-character {
    position: absolute;
    width: 150px;
    height: 150px;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: -1;
    animation: float 6s ease-in-out infinite;
}

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

.character-1 {
    background-image: url('../assets/characters/character1.png');
    top: 20%;
    right: 10%;
    animation-delay: 0s;
}

.character-2 {
    background-image: url('../assets/characters/character2.png');
    bottom: 15%;
    left: 8%;
    animation-delay: 1s;
}

/* Game Card Entrance Animation */
.game-card {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.game-card.visible {
    opacity: 1;
    transform: translateY(0);
}