/* Seed Pulse Animation */
@keyframes seed-pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
}

/* Growth Animation */
@keyframes grow {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    50% {
        transform: scale(1.2);
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Sway Animation for Mature Plants */
@keyframes sway {
    0%, 100% {
        transform: rotate(-2deg);
    }
    50% {
        transform: rotate(2deg);
    }
}

/* Planting Animation */
@keyframes plant {
    0% {
        transform: scale(0) translateY(-20px);
        opacity: 0;
    }
    50% {
        transform: scale(1.2) translateY(-10px);
    }
    100% {
        transform: scale(1) translateY(0);
        opacity: 1;
    }
}

/* Watering Animation */
@keyframes water-splash {
    0% {
        transform: scale(0) rotate(0deg);
        opacity: 1;
    }
    100% {
        transform: scale(1.5) rotate(180deg);
        opacity: 0;
    }
}

.watering {
    position: relative;
}

.watering::after {
    content: '💧';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.5rem;
    animation: water-splash 0.6s ease-out;
    pointer-events: none;
}

/* Growth Stage Transition */
.growing {
    animation: grow 1s ease-out;
}

/* Achievement Pop */
@keyframes achievement-pop {
    0% {
        transform: scale(0) rotate(-180deg);
        opacity: 0;
    }
    50% {
        transform: scale(1.3) rotate(10deg);
    }
    100% {
        transform: scale(1) rotate(0deg);
        opacity: 1;
    }
}

.achievement-pop {
    animation: achievement-pop 0.6s ease-out;
}

/* Seed Drop Animation */
@keyframes seed-drop {
    0% {
        transform: translateY(-20px) rotate(0deg);
        opacity: 1;
    }
    100% {
        transform: translateY(0) rotate(360deg);
        opacity: 1;
    }
}

.seed-dropping {
    animation: seed-drop 0.4s ease-out;
}

/* Unlock Reveal Animation */
@keyframes unlock-reveal {
    0% {
        transform: scale(0) rotate(-180deg);
        opacity: 0;
        filter: grayscale(100%) blur(5px);
    }
    100% {
        transform: scale(1) rotate(0deg);
        opacity: 1;
        filter: grayscale(0%) blur(0px);
    }
}

.unlock-reveal {
    animation: unlock-reveal 0.8s ease-out;
}

/* Fade In */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.fade-in {
    animation: fadeIn 0.5s ease-in;
}

/* Bounce */
@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

.bounce {
    animation: bounce 0.6s ease-in-out;
}

