/* J-1001-TYPING-BEHOLDER-IMAGINE (DEV): Imagine beholder, hall 7. Copy of mino-imagine.css rules. */
.monster-rect.beholder-imagine.atk-beholder { animation: none !important; } /* the frames carry the swing */
.monster-rect.beholder-imagine img {
  transform-origin: 61.23% 55.22%; /* body x 605, frame row 460 of the 988x833 frames (death pile drawn lower) */
  animation: beholder-breathe 2.9s ease-in-out infinite;
}
.monster-rect.beholder-imagine.skel-knock img { animation: beholder-breathe 2.9s ease-in-out infinite, beholder-knock .3s ease-out; }
.monster-rect.beholder-imagine.skel-knock-heavy img { animation: beholder-breathe 2.9s ease-in-out infinite, beholder-knock-heavy .36s ease-out; }
.monster-rect.beholder-imagine.skel-dying img { animation: beholder-fade var(--skel-fade-total, 1460ms) linear forwards; }

#monster-rect.beholder-imagine.slash-hit img { animation: slash-hit .3s ease-out, beholder-breathe 2.9s ease-in-out infinite; }
#monster-rect.beholder-imagine.slash-hit.skel-knock img { animation: slash-hit .3s ease-out, beholder-breathe 2.9s ease-in-out infinite, beholder-knock .3s ease-out; }
#monster-rect.beholder-imagine.slash-hit.skel-knock-heavy img { animation: slash-hit .3s ease-out, beholder-breathe 2.9s ease-in-out infinite, beholder-knock-heavy .36s ease-out; }
#monster-rect.beholder-imagine.slash-hit.skel-dying img { animation: slash-hit .3s ease-out, beholder-fade var(--skel-fade-total, 1460ms) linear forwards; }

/* heavy chest rise, hooves stay planted */
@keyframes beholder-breathe {
  0%, 100% { scale: 1 1; }
  50% { scale: 1.006 1.016; }
}
/* pushed away from the hero (right): same canvas px as the skeleton's knock */
@keyframes beholder-knock {
  0% { translate: 0 0; }
  30% { translate: 1.5% 0; }
  100% { translate: 0 0; }
}
@keyframes beholder-knock-heavy {
  0% { translate: 0 0; }
  25% { translate: 3% 0; }
  100% { translate: 0 0; }
}
/* heavy hit -> sink -> kneel, hold, then fade before the next foe steps up */
@keyframes beholder-fade {
  0%, 70% { opacity: 1; }
  100% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .monster-rect.beholder-imagine img,
  .monster-rect.beholder-imagine.skel-knock img,
  .monster-rect.beholder-imagine.skel-knock-heavy img { animation: none; }
}

/* drifts in toward the hero as the beam fires (contact 240 ms), holds, floats back */
.monster-rect.beholder-imagine.atk-beholder img {
  animation: beholder-breathe 2.9s ease-in-out infinite, beholder-float-strike .78s cubic-bezier(.3,.1,.3,1) both;
}
@keyframes beholder-float-strike {
  0%   { translate: 0 0; }
  31%  { translate: -8% -3%; }
  45%  { translate: -8% -3%; }
  100% { translate: 0 0; }
}
@media (prefers-reduced-motion: reduce) { .monster-rect.beholder-imagine.atk-beholder img { animation: none; } }
