/* Mascota de BOGI (ver mascota.js). Las medidas de movimiento están en unidades del dibujo (lienzo 1024). */
.bm { display: block; overflow: visible; }
.bm g { transform-box: view-box; }

/* respira: sube y baja apenas */
.bm-arriba { animation: bm-respira 3.2s ease-in-out infinite; }
@keyframes bm-respira { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

/* mano derecha: se mece y, cuando saluda, agita la mano desde la muñeca */
.bm-brazo-der { transform-origin: 826px 432px; animation: bm-mece 2.8s ease-in-out infinite; }
@keyframes bm-mece { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-4deg); } }
.bm-saluda .bm-brazo-der { animation: bm-saludo 1.6s ease-in-out; }
@keyframes bm-saludo { 0% { transform: rotate(0); } 15% { transform: rotate(-16deg); } 30% { transform: rotate(6deg); } 45% { transform: rotate(-16deg); } 60% { transform: rotate(6deg); } 75% { transform: rotate(-12deg); } 100% { transform: rotate(0); } }

/* pulgar arriba: un "¡dale!" cada tanto */
.bm-brazo-izq { transform-origin: 100px 530px; animation: bm-pulgar 4.6s ease-in-out infinite; }
@keyframes bm-pulgar { 0%, 70%, 100% { transform: rotate(0); } 78% { transform: rotate(7deg) translateY(-6px); } 86% { transform: rotate(0); } }

/* parpadeo: se ocultan los ojos abiertos y quedan los cerrados del dibujo */
.bm-parpadea .bm-ojos { opacity: 0; }

/* cejas según el estado */
.bm-cejas { transition: transform .25s ease; }
.bm-contenta .bm-cejas { transform: translateY(-14px); }
.bm-pensando .bm-cejas { transform: translateY(-10px); }
.bm-contenta .bm-arriba { animation: bm-salto .5s ease-out, bm-respira 3.2s ease-in-out .5s infinite; }
@keyframes bm-salto { 0% { transform: translateY(0); } 40% { transform: translateY(-30px); } 100% { transform: translateY(0); } }

@media (prefers-reduced-motion: reduce) {
  .bm-arriba, .bm-brazo-der, .bm-brazo-izq { animation: none !important; }
  .bm-cejas { transition: none; }
}
