.monster-avatar{display:block;aspect-ratio:1;isolation:isolate;--monster-step-time:.66s}
.monster-avatar .monster-art-svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 2px 1px #364b3520)}
.monster-avatar .monster-art-svg g{transform-box:view-box}
.monster-avatar .monster-core{transform-origin:80px 139px;animation:monster-breathe 3.6s ease-in-out infinite}
.monster-avatar .monster-crest{transform-origin:80px 57px;animation:monster-crest-idle 4.5s ease-in-out infinite}
.monster-avatar .monster-eyes-open{transform-origin:80px 91px;animation:monster-blink 5.3s linear infinite}
.monster-avatar .monster-eyes-closed{opacity:0}
.monster-avatar .monster-hand-left{transform-origin:40px 89px;animation:monster-hand-idle 3.2s ease-in-out infinite}
.monster-avatar .monster-hand-right{transform-origin:121px 89px;animation:monster-hand-idle 3.2s ease-in-out -1.6s infinite}
.monster-avatar .monster-foot-left{transform-origin:60px 131px}
.monster-avatar .monster-foot-right{transform-origin:100px 131px}
.monster-avatar .monster-power-aura,.monster-avatar .monster-power-stars,.monster-avatar .monster-plinth{opacity:0}
.monster-avatar[data-kind=cloud]{--monster-step-time:.9s}
.monster-avatar[data-kind=cloud] .monster-eyes-open{transform-origin:80px 83px}
.monster-avatar[data-kind=starfruit]{--monster-step-time:.55s}
.monster-avatar[data-kind=starfruit] .monster-core{animation:monster-fruit-idle 3.2s ease-in-out infinite}
.monster-avatar[data-state=following] .monster-foot-left{animation:monster-step var(--monster-step-time) ease-in-out infinite}
.monster-avatar[data-state=following] .monster-foot-right{animation:monster-step var(--monster-step-time) ease-in-out calc(var(--monster-step-time) / -2) infinite}
.monster-avatar[data-state=following] .monster-hand-left{animation:monster-arm-step var(--monster-step-time) ease-in-out calc(var(--monster-step-time) / -2) infinite}
.monster-avatar[data-state=following] .monster-hand-right{animation:monster-arm-step var(--monster-step-time) ease-in-out infinite}
.monster-avatar[data-state=following] .monster-core{animation:monster-walk-core var(--monster-step-time) ease-in-out infinite}
.monster-avatar[data-state=powered] .monster-power-aura{opacity:1;transform-origin:80px 145px;animation:monster-aura 1.8s ease-in-out infinite}
.monster-avatar[data-state=powered] .monster-power-stars{opacity:1;animation:monster-stars 2s ease-in-out infinite}
.monster-avatar[data-state=powered][data-kind=starfruit] .monster-plinth{opacity:1}
.monster-avatar[data-state=powered][data-kind=starfruit] .monster-core{animation:monster-powered-fruit 1.8s ease-in-out infinite}
.monster-avatar[data-state=powered] .monster-hand-left{animation:monster-wave 1.2s ease-in-out infinite}
.monster-avatar[data-state=powered] .monster-hand-right{animation:monster-wave 1.2s ease-in-out -.6s infinite}
.monster-avatar[data-state=dead] .monster-art-svg{filter:grayscale(.95);opacity:.45}
.monster-avatar[data-state=dead] .monster-art-svg *{animation:none!important}
.monster-avatar[data-state=dead] .monster-eyes-open{opacity:0}
.monster-avatar[data-state=dead] .monster-eyes-closed{opacity:1}
.monster-avatar[data-state=dead] .monster-power-aura,.monster-avatar[data-state=dead] .monster-power-stars,.monster-avatar[data-state=dead] .monster-plinth{opacity:0}
.taming-projectile{position:absolute;display:block;box-sizing:border-box;width:22px;height:31px;border:2px solid var(--taming-border,#74a47c);border-radius:6px;background:linear-gradient(145deg,#fffdf0,var(--taming-light,#d4e9c0));box-shadow:0 0 0 2px #fff9,0 2px 7px #38523b24;pointer-events:none;isolation:isolate;--taming-color:#79ae71;--taming-light:#d4e9c0;--taming-border:#668d60}
.taming-projectile::before{content:"✦";position:absolute;inset:3px;display:grid;place-items:center;border:1px solid var(--taming-border);border-radius:3px;font-size:16px;font-weight:700;line-height:1;color:var(--taming-color);background:#fff8}
.taming-projectile::after{content:"";position:absolute;z-index:-1;width:44px;height:9px;top:9px;right:calc(100% + 3px);border-radius:100% 3px 3px 100%;background:linear-gradient(90deg,transparent,var(--taming-light),var(--taming-color));opacity:.74;transform-origin:right center;animation:taming-trail .4s ease-in-out infinite}
.taming-projectile[data-tier=low]{--taming-color:#77a96a;--taming-light:#d4e9c0;--taming-border:#668d60}
.taming-projectile[data-tier=medium]{--taming-color:#579ec4;--taming-light:#c4e6f0;--taming-border:#5389a8}
.taming-projectile[data-tier=high]{--taming-color:#9d7bbc;--taming-light:#e9d7f3;--taming-border:#8869a3}
.taming-projectile[data-tier=super]{--taming-color:#cb9d43;--taming-light:#ffecb0;--taming-border:#b88d38;box-shadow:0 0 0 2px #fff8,0 0 13px #efcf7899}
.taming-projectile[data-tier=super]::before{content:"★"}
@keyframes monster-breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.018,1.025)}}
@keyframes monster-crest-idle{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(2.5deg)}}
@keyframes monster-blink{0%,36%,39%,74%,77%,100%{transform:scaleY(1)}37%,75%{transform:scaleY(.07)}}
@keyframes monster-hand-idle{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(6deg)}}
@keyframes monster-fruit-idle{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg) translateY(-1px)}}
@keyframes monster-step{0%,100%{transform:rotate(-13deg) translateY(0)}50%{transform:rotate(13deg) translateY(-5px)}}
@keyframes monster-arm-step{0%,100%{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}
@keyframes monster-walk-core{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-3px) rotate(1deg)}}
@keyframes monster-wave{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(24deg)}}
@keyframes monster-aura{0%,100%{opacity:.5;transform:scale(.93)}50%{opacity:1;transform:scale(1.09)}}
@keyframes monster-stars{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes monster-powered-fruit{0%,100%{transform:translateY(-7px) rotate(-3deg)}50%{transform:translateY(-11px) rotate(3deg)}}
@keyframes taming-trail{0%,100%{transform:scaleX(.78);opacity:.55}50%{transform:scaleX(1);opacity:.9}}
body[data-paused=true] .monster-avatar .monster-art-svg *,body[data-paused=true] .taming-projectile,body[data-paused=true] .taming-projectile::before,body[data-paused=true] .taming-projectile::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
  .monster-avatar .monster-art-svg *,.taming-projectile,.taming-projectile::before,.taming-projectile::after{animation:none!important}
  .monster-avatar[data-state=powered] .monster-power-aura,.monster-avatar[data-state=powered] .monster-power-stars{opacity:.8}
  .monster-avatar[data-state=powered][data-kind=starfruit] .monster-core{transform:translateY(-8px)}
}
