﻿/* ═══ La perrovaquita — ESTADOS DE ÁNIMO ═══════════════════════════════════
   Saciada no declara nada: es el dibujo tal cual. Hambrienta y triste salen del
   tiempo sin comer; contenta es del cliente y la gestiona interacciones.js.

   SE CARGAN DESPUÉS de todas las conductas, que es el sitio que ocupaban en el
   archivo original: de ahí que unas orejas hambrientas ganen a las de la caricia
   cuando conviven. Valen para el frente, la echada y la parada, que comparten las
   piezas de la cara.

   LOS TRES ÁNIMOS SE DISTINGUEN A GOLPE DE VISTA, y esa es la razón de los valores
   de aquí. Hambrienta empezó con orejas a 13 grados y una cola algo más lenta:
   correcto en la idea, invisible en pantalla, hasta el punto de que parecía que el
   estado no cambiaba nunca. Ahora hay un escalón claro entre los tres, y triste
   sigue yendo bastante más lejos que hambrienta para que no se confundan.
   ═════════════════════════════════════════════════════════════════════════ */

/* HAMBRIENTA: orejas caídas, cejas hacia dentro, cabeza algo baja y todo más lento.
   No se pone fea, se apaga. Las cejas hacen aquí más que todo lo demás junto. */
.edu-mascota--hambrienta .edu-mascota__oreja--izq {
    transform: rotate(19deg);
}

.edu-mascota--hambrienta .edu-mascota__oreja--der {
    transform: rotate(-19deg);
}

.edu-mascota--hambrienta .edu-mascota__ceja--izq {
    transform: translateY(3px) rotate(15deg);
}

.edu-mascota--hambrienta .edu-mascota__ceja--der {
    transform: translateY(3px) rotate(-15deg);
}

/* La cabeza pesa un poco. Sin pausar el vaivén, al revés que en triste: hambrienta
   sigue viva, solo desanimada. */
.edu-mascota--hambrienta .edu-mascota__cabeza {
    transform: translateY(2px) rotate(2deg);
}

/* Ojos a media asta: el gesto que más dice "llevo horas esperando". Sigue
   parpadeando, porque está despierta y esperando. */
.edu-mascota--hambrienta {
    --pv-parpado-cierre: .75;
}

    .edu-mascota--hambrienta .edu-mascota__cola {
        animation-duration: 3.4s;
    }

    /* La respiración se alarga: es lo que hace que el conjunto se lea decaído y no solo
   con las orejas torcidas. Va en el aliento y no en el SVG, que también lleva el
   alzarse de la parada y lo alargaría. */
    .edu-mascota--hambrienta .edu-mascota__aliento,
    .edu-mascota--hambrienta .edu-mascota__cabeza-aliento {
        animation-duration: 4s;
    }

/* TRISTE: todo cae y nada se mueve en bucle. Quieta es justamente el mensaje. */
.edu-mascota--triste .edu-mascota__oreja--izq {
    transform: rotate(24deg);
}

.edu-mascota--triste .edu-mascota__oreja--der {
    transform: rotate(-24deg);
}

.edu-mascota--triste .edu-mascota__ceja--izq {
    transform: translateY(4px) rotate(18deg);
}

.edu-mascota--triste .edu-mascota__ceja--der {
    transform: translateY(4px) rotate(-18deg);
}

.edu-mascota--triste .edu-mascota__cola {
    animation: none;
    transform: rotate(16deg);
}

/* Echada, la cola ya está en el suelo: girarla la levantaría. Se queda quieta donde
   cae. */
.edu-mascota--triste.edu-mascota--pose-echado .edu-mascota__cola {
    transform: none;
}

.edu-mascota--triste .edu-mascota__cabeza {
    transform: rotate(4deg) translateY(4px);
}

.edu-mascota--triste .edu-mascota__cabeza-ladeo {
    animation-play-state: paused;
}

/* Párpados a media asta y caídos hacia fuera: el borde curvo del párpado hace la
   línea de pestaña, y la inclinación (el lado exterior más bajo) es la que dice
   "triste" y no solo "adormilada". Sin parpadeo: quieta es el mensaje. */
.edu-mascota--triste {
    --pv-parpado-cierre: .5;
}

    .edu-mascota--triste .edu-mascota__parpado--izq {
        rotate: -9deg;
    }

    .edu-mascota--triste .edu-mascota__parpado--der {
        rotate: 9deg;
    }

    .edu-mascota--triste .edu-mascota__parpado-parpadeo {
        animation: none;
    }

    .edu-mascota--triste .edu-mascota__aliento,
    .edu-mascota--triste .edu-mascota__cabeza-aliento {
        animation-duration: 4.8s;
    }

/* CONTENTA: cola disparada, lengua fuera y, si está sentada o de pie, un salto con
   su aplastado al caer. */
.edu-mascota--contenta .edu-mascota__cola {
    animation-duration: .32s;
}

.edu-mascota--contenta .edu-mascota__lengua {
    transform: scaleY(1);
}

.edu-mascota--contenta .edu-mascota__oreja--izq {
    transform: rotate(-10deg);
}

.edu-mascota--contenta .edu-mascota__oreja--der {
    transform: rotate(10deg);
}

/* Solo salta sentada o de pie. Echada, dormida o erguida en dos patas, la alegría
   es la cola y la lengua: saltar tumbada no tiene sentido, y en la parada el salto
   ocuparía el sitio del alzarse, que anima el mismo SVG, y lo repetiría al acabar. */
.edu-mascota--contenta.edu-mascota--pose-sentado .edu-mascota__svg,
.edu-mascota--contenta.edu-mascota--pose-pie .edu-mascota__svg {
    animation: edu-pv-salto .62s ease-in-out infinite;
}

/* El ciclo completo: se agacha, estira al despegar y aplasta al aterrizar. Los tres
   momentos, no solo el desplazamiento. */
@keyframes edu-pv-salto {
    0%, 100% {
        transform: translateY(0) scale(1.06, .94);
    }

    20% {
        transform: translateY(-.15rem) scale(.94, 1.09);
    }

    50% {
        transform: translateY(-.5rem) scale(.97, 1.03);
    }

    80% {
        transform: translateY(0) scale(1.09, .91);
    }
}