.monster-rig{--monster-action-duration:.65s;--monster-action-repeat:1;--monster-glow:#c6e4ae}.monster-rig[data-motion-loop=true]{--monster-action-duration:1.6s;--monster-action-repeat:infinite}.monster-rig:is([data-kind=impling],[data-kind=cerberus],[data-kind=sovereign]){--monster-glow:#ffb360}.monster-pose,.monster-shadow{transform-origin:0 3px}.monster-wing{--wing-direction:1}.monster-wing-far{--wing-direction:-1}.monster-rig[data-motion=idle] :is(.monster-pose,.monster-joint,.monster-shadow){animation-duration:var(--monster-idle-duration);animation-delay:var(--monster-idle-delay);animation-timing-function:ease-in-out;animation-iteration-count:infinite}.monster-rig[data-motion=idle] .monster-pose{animation-name:monster-breathe}.monster-rig[data-motion=idle][data-profile=spirit] .monster-pose{animation-name:monster-hover}.monster-rig[data-motion=idle][data-profile=spirit] .monster-shadow{animation-name:monster-hover-shadow}.monster-rig[data-motion=idle] .monster-head{animation-name:monster-watch}.monster-rig[data-motion=idle] .monster-weapon{animation-name:monster-weapon-rest}.monster-rig[data-motion=idle] .monster-wing{animation-name:monster-wing-rest}.monster-rig[data-motion=idle] :is(.monster-tail,.monster-cloak,.monster-tendrils){animation-name:monster-sway}.monster-rig[data-motion=idle] :is(.monster-aura,.monster-breath){animation-name:monster-ember}.monster-rig:is([data-motion=attack],[data-motion=defend]) :is(.monster-pose,.monster-joint){animation-duration:var(--monster-action-duration);animation-iteration-count:var(--monster-action-repeat);animation-timing-function:ease-in-out;animation-fill-mode:both}.monster-rig[data-motion=attack] .monster-pose{animation-name:monster-lunge}.monster-rig[data-motion=attack][data-profile=heavy] .monster-pose{animation-name:monster-heavy-strike}.monster-rig[data-motion=attack]:is([data-profile=caster],[data-profile=spirit],[data-profile=bow]) .monster-pose{animation-name:monster-cast}.monster-rig[data-motion=attack][data-profile=winged] .monster-pose{animation-name:monster-swoop}.monster-rig[data-motion=attack] .monster-head{animation-name:monster-snap}.monster-rig[data-motion=attack] .monster-weapon{animation-name:monster-swing}.monster-rig[data-motion=attack]:is([data-profile=caster],[data-profile=spirit]) .monster-weapon{animation-name:monster-staff-cast}.monster-rig[data-motion=attack][data-profile=spear] .monster-weapon{animation-name:monster-thrust}.monster-rig[data-motion=attack] .monster-bowstring{animation-name:monster-bow-draw}.monster-rig[data-motion=attack] .monster-arrow{animation-name:monster-arrow-release}.monster-rig[data-motion=attack] .monster-wing{animation-name:monster-wing-strike}.monster-rig[data-motion=attack] .monster-tail{animation-name:monster-tail-strike}.monster-rig[data-motion=attack] :is(.monster-cloak,.monster-tendrils){animation-name:monster-cast-sway}.monster-rig[data-motion=attack] .monster-aura{animation-name:monster-magic-pulse}.monster-rig[data-motion=attack] .monster-breath{animation-name:monster-breathe-fire}.monster-rig[data-kind=sovereign]:not([data-attack-style=magic]) .monster-breath,.monster-spikes{visibility:hidden}.monster-rig[data-kind=sovereign][data-motion=attack][data-attack-style=ranged] .monster-spikes{visibility:visible;animation-name:monster-spike-release}.monster-rig[data-kind=sovereign][data-motion=attack][data-attack-style=ranged] .monster-pose{animation-name:monster-cast}@keyframes monster-spike-release{0%,24%{opacity:0;transform:translate(-5px)scale(.6)}35%{opacity:1;transform:translate(0)scale(1)}70%,to{opacity:0;transform:translate(24px)scale(.8)}}.monster-rig[data-motion=defend] .monster-pose{animation-name:monster-brace}.monster-rig[data-motion=defend] .monster-head{animation-name:monster-head-brace}.monster-rig[data-motion=defend] .monster-weapon{animation-name:monster-parry}.monster-rig[data-motion=defend] .monster-wing{animation-name:monster-wing-guard}.monster-rig[data-motion=defend] :is(.monster-tail,.monster-cloak,.monster-tendrils){animation-name:monster-guard-sway}.monster-rig[data-motion=defend] .monster-aura{animation-name:monster-magic-guard}.monster-rig:is([data-motion=defend],[data-motion=still]) .monster-breath{opacity:0}@keyframes monster-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012,1.025)}}@keyframes monster-hover{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-2.3px)rotate(1deg)}}@keyframes monster-hover-shadow{0%,to{opacity:.3;transform:scaleX(1)}50%{opacity:.2;transform:scaleX(.85)}}@keyframes monster-watch{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1.4deg)}}@keyframes monster-weapon-rest{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}@keyframes monster-wing-rest{0%,to{transform:rotate(calc(var(--wing-direction) * -2deg)) scaleY(1)}50%{transform:rotate(calc(var(--wing-direction) * 5deg)) scaleY(.94)}}@keyframes monster-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}@keyframes monster-ember{0%,to{opacity:.65;transform:scale(.95,.97)}50%{opacity:1;transform:scale(1.03,1.06)}}@keyframes monster-lunge{0%,80%,to{transform:none}20%{transform:translate(-1.5px)rotate(-4deg)}42%{transform:translate(3px)rotate(7deg)}58%{transform:translate(1.5px)rotate(3deg)}}@keyframes monster-heavy-strike{0%,85%,to{transform:none}22%{transform:translate(-1px,1px)rotate(-4deg)scaleY(.97)}45%{transform:translate(2px,1px)rotate(6deg)scaleY(.95)}60%{transform:translateY(1px)rotate(2deg)}}@keyframes monster-cast{0%,85%,to{transform:none}22%{transform:translate(-1px,-1px)rotate(-3deg)}43%{transform:translate(1px,-1.5px)rotate(3deg)}60%{transform:translateY(-.5px)}}@keyframes monster-swoop{0%,85%,to{transform:none}20%{transform:translate(-1px,-2px)rotate(-4deg)}44%{transform:translate(3px,1px)rotate(9deg)}65%{transform:translate(1px,-1px)}}@keyframes monster-snap{0%,80%,to{transform:none}22%{transform:rotate(-4deg)}44%{transform:rotate(9deg)}}@keyframes monster-swing{0%,82%,to{transform:none}22%{transform:rotate(-28deg)}43%{transform:rotate(55deg)}57%{transform:rotate(35deg)}}@keyframes monster-staff-cast{0%,82%,to{transform:none}22%{transform:rotate(-7deg)}43%{transform:rotate(12deg)}}@keyframes monster-thrust{0%,82%,to{transform:none}22%{transform:translate(-1px,1px)rotate(-5deg)}43%{transform:translate(3px,-2px)rotate(6deg)}}@keyframes monster-bow-draw{0%,70%,to{transform:none}25%,32%{transform:scaleX(1.25)}42%{transform:scaleX(.95)}}@keyframes monster-arrow-release{0%,25%{opacity:1;transform:translate(0)}33%{opacity:1;transform:translate(-2px)}55%{opacity:0;transform:translate(22px)}65%{opacity:0;transform:none}85%,to{opacity:1;transform:none}}@keyframes monster-wing-strike{0%,85%,to{transform:none}22%{transform:rotate(calc(var(--wing-direction) * 10deg)) scaleY(1.04)}45%{transform:rotate(calc(var(--wing-direction) * -16deg)) scaleY(.82)}65%{transform:rotate(calc(var(--wing-direction) * 6deg))}}@keyframes monster-tail-strike{0%,85%,to{transform:none}22%{transform:rotate(-8deg)}44%{transform:rotate(18deg)}}@keyframes monster-cast-sway{0%,85%,to{transform:none}22%{transform:rotate(4deg)}45%{transform:rotate(-6deg)}}@keyframes monster-magic-pulse{0%,85%,to{filter:none;transform:none}22%{filter:drop-shadow(0 0 1px var(--monster-glow));transform:scale(.92)}43%,55%{filter:drop-shadow(0 0 3px var(--monster-glow));transform:scale(1.12)}}@keyframes monster-breathe-fire{0%,80%,to{opacity:.5;transform:scale(.75)}20%{opacity:.2;transform:scale(.25)}43%,55%{opacity:1;transform:scale(1.3,1.15)}}@keyframes monster-brace{0%,85%,to{transform:none}20%{transform:translateY(1px)scaleY(.97)}43%{transform:translate(-2.5px,1px)rotate(-6deg)scaleY(.95)}62%{transform:translate(-1px)rotate(-2deg)}}@keyframes monster-head-brace{0%,85%,to{transform:none}30%,50%{transform:rotate(6deg)}}@keyframes monster-parry{0%,85%,to{transform:none}25%,48%{transform:rotate(-22deg)}60%{transform:rotate(-12deg)}}@keyframes monster-wing-guard{0%,85%,to{transform:none}25%,50%{transform:rotate(calc(var(--wing-direction) * -18deg)) scaleX(.85)}}@keyframes monster-guard-sway{0%,85%,to{transform:none}30%,50%{transform:rotate(-7deg)}}@keyframes monster-magic-guard{0%,85%,to{opacity:1;transform:none}32%,50%{opacity:.55;transform:scale(.9)}}.game-camera.is-moving .monster-rig[data-motion=idle] :is(.monster-pose,.monster-joint,.monster-shadow){animation-play-state:paused}@media (prefers-reduced-motion:reduce){.monster-rig :is(.monster-pose,.monster-joint,.monster-shadow){animation:none!important}}
