/* Forest Background Animation */
@keyframes forestMovement {
    0% {
        background-position: 0% 0%, 0% 0%, 0% 0%;
    }
    100% {
        background-position: 100% 100%, 100% 100%, 100% 100%;
    }
}

/* Floating Leaves Animation */
.floating-leaves {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: 1;
}

.leaf {
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.7;
    animation-name: floating;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

.leaf-1 {
    background-image: url('../img/forest/leaf1.png');
    width: 30px;
    height: 30px;
    top: 10%;
    left: 10%;
    animation-duration: 15s;
    animation-delay: 0s;
}

.leaf-2 {
    background-image: url('../img/forest/leaf2.png');
    width: 25px;
    height: 25px;
    top: 20%;
    left: 80%;
    animation-duration: 12s;
    animation-delay: 2s;
}

.leaf-3 {
    background-image: url('../img/forest/leaf3.png');
    width: 20px;
    height: 20px;
    top: 70%;
    left: 15%;
    animation-duration: 18s;
    animation-delay: 4s;
}

@keyframes floating {
    0% {
        transform: translateY(0) rotate(0deg);
    }
    50% {
        transform: translateY(-100px) rotate(180deg);
    }
    100% {
        transform: translateY(0) rotate(360deg);
    }
}

/* Weather Effects */
.weather-effect {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 1;
}

.sunny .weather-effect {
    background: radial-gradient(circle at 20% 20%, rgba(255,255,255,0.8) 0%, transparent 50%);
}

.rainy .weather-effect::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url('../img/forest/rain.png');
    animation: rain 0.5s linear infinite;
    opacity: 0.3;
}

@keyframes rain {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: -100px 100px;
    }
}

.snowy .weather-effect::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url('../img/forest/snow.png');
    animation: snow 10s linear infinite;
    opacity: 0.5;
}

@keyframes snow {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: -100px 1000px;
    }
}

/* Mood Tree Animation */
.mood-tree {
    position: relative;
}

.mood-tree::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url('../img/forest/mood-tree.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    animation: pulse 5s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% {
        transform