/* Desktop Pet Animations and Styles */

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeOut {
    from { opacity: 1; }
    to { opacity: 0; }
}

/* Idle Animations */
@keyframes pet-bounce {
    0%, 100% { transform: translateY(0) scaleY(1); }
    50% { transform: translateY(-20px) scaleY(0.9); }
}

@keyframes pet-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes pet-flying {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-30px) rotate(5deg); }
}

@keyframes pet-stretch {
    0%, 100% { transform: scaleX(1) scaleY(1); }
    50% { transform: scaleX(1.2) scaleY(0.8); }
}

@keyframes pet-wiggle {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-10deg); }
    75% { transform: rotate(10deg); }
}

@keyframes pet-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.15); }
}

@keyframes pet-shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-8px); }
    75% { transform: translateX(8px); }
}

@keyframes pet-dance {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    25% { transform: translateY(-15px) rotate(-10deg); }
    50% { transform: translateY(-10px) rotate(0deg); }
    75% { transform: translateY(-15px) rotate(10deg); }
}

@keyframes pet-jump {
    0%, 100% { transform: translateY(0) scaleY(1); }
    50% { transform: translateY(-25px) scaleY(0.85); }
}

@keyframes pet-flip {
    0% { transform: rotateY(0deg); }
    50% { transform: rotateY(180deg); }
    100% { transform: rotateY(360deg); }
}

@keyframes pet-twirl {
    0% { transform: rotate(0deg) translateX(0); }
    50% { transform: rotate(180deg) translateX(20px); }
    100% { transform: rotate(360deg) translateX(0); }
}

@keyframes pet-bounce-spin {
    0%, 100% { transform: translateY(0) rotate(0deg) scaleY(1); }
    25% { transform: translateY(-15px) rotate(90deg) scaleY(0.9); }
    50% { transform: translateY(-20px) rotate(180deg) scaleY(0.85); }
    75% { transform: translateY(-15px) rotate(270deg) scaleY(0.9); }
}

@keyframes pet-squish-stretch {
    0%, 100% { transform: scaleX(1) scaleY(1); }
    25% { transform: scaleX(1.3) scaleY(0.7); }
    50% { transform: scaleX(0.7) scaleY(1.3); }
    75% { transform: scaleX(1.1) scaleY(0.9); }
}

@keyframes pet-look-around {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-15deg); }
    75% { transform: rotate(15deg); }
}

@keyframes pet-breathing {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

@keyframes pet-blink {
    0%, 90%, 100% { transform: scaleY(1); }
    95% { transform: scaleY(0.1); }
}

@keyframes pet-walking {
    0%, 100% { transform: translateY(0) scaleY(1); }
    50% { transform: translateY(-5px) scaleY(0.95); }
}

@keyframes pet-squish {
    0%, 100% { transform: scaleX(1) scaleY(1); }
    50% { transform: scaleX(1.2) scaleY(0.8); }
}

/* Animation Classes */
.pet-bounce {
    animation: pet-bounce 0.6s ease-in-out infinite;
}

.pet-spin {
    animation: pet-spin 1s linear infinite;
}

.pet-flying {
    animation: pet-flying 2s ease-in-out infinite;
}

.pet-stretch {
    animation: pet-stretch 0.8s ease-in-out;
}

.pet-wiggle {
    animation: pet-wiggle 0.5s ease-in-out infinite;
}

.pet-pulse {
    animation: pet-pulse 1s ease-in-out infinite;
}

.pet-shake {
    animation: pet-shake 0.4s ease-in-out;
}

.pet-dance {
    animation: pet-dance 1.5s ease-in-out;
}

.pet-jump {
    animation: pet-jump 0.8s ease-out;
}

.pet-flip {
    animation: pet-flip 1s ease-in-out;
}

.pet-twirl {
    animation: pet-twirl 2s ease-in-out infinite;
}

.pet-bounce-spin {
    animation: pet-bounce-spin 1.2s ease-in-out infinite;
}

.pet-squish-stretch {
    animation: pet-squish-stretch 1s ease-in-out infinite;
}

.pet-look-around {
    animation: pet-look-around 2s ease-in-out infinite;
}

.pet-breathing {
    animation: pet-breathing 2s ease-in-out infinite;
}

.pet-blink {
    animation: pet-blink 3s ease-in-out infinite;
}

.pet-walking {
    animation: pet-walking 0.5s ease-in-out infinite;
}

.pet-squish {
    animation: pet-squish 0.3s ease-in-out;
}

/* Emotion-based styles */
#desktop-pet[data-emotion="happy"] {
    filter: brightness(1.2) saturate(1.2);
}

#desktop-pet[data-emotion="bored"] {
    filter: brightness(0.8) saturate(0.7);
    opacity: 0.8;
}

#desktop-pet[data-emotion="hungry"] {
    filter: brightness(0.9);
    transform: scale(0.85);
}

#desktop-pet[data-emotion="tired"] {
    filter: brightness(0.85);
    opacity: 0.9;
}

/* Hover effect */
#desktop-pet:hover {
    transform: scale(1.1);
    transition: transform 0.2s ease;
}

#desktop-pet:hover .pet-squish {
    animation: pet-squish 0.3s ease-in-out;
}

