/* Diplope's idle loop (see diplope-rig.mjs). Pivots are in monsterArt's 0 0 400 460 viewBox and sit
   inside each joint's overlap, so antlers, tail, and legs stay attached while they move. */
.diplope-rig{--rig-dur:3.2s}
.diplope-rig .rig-group{transform-box:view-box;animation:var(--rig-dur) ease-in-out infinite;animation-delay:var(--rig-phase,0s)}
.diplope-rig .rig-torso{transform-origin:290.4px 376.1px;animation-name:rig-breathe}
.diplope-rig .rig-front{transform-origin:188.5px 359.1px;animation-name:rig-chest}
.diplope-rig .rig-head{transform-origin:156.7px 291.2px;animation-name:rig-head-bob;animation-delay:calc(var(--rig-phase,0s) - .25s)}
.diplope-rig .rig-antlers{transform-origin:156.7px 195.7px;animation-name:rig-antler-sway;animation-delay:calc(var(--rig-phase,0s) - .6s)}
.diplope-rig .rig-tail{transform-origin:275.5px 274.2px;animation-name:rig-tail-wag;animation-duration:calc(var(--rig-dur) / 2)}
/* The v3 looks (hatched from eggs) are cut from a bigger pose, so their joints sit elsewhere.
   Converted from design/diplope-v3-parts.json by scripts/cut-diplope-parts.mjs's box. */
.diplope-rig[data-rig=v3] .rig-torso{transform-origin:258.8px 314.8px}
.diplope-rig[data-rig=v3] .rig-front{transform-origin:143.1px 283.5px}
.diplope-rig[data-rig=v3] .rig-head{transform-origin:161.9px 266.3px}
.diplope-rig[data-rig=v3] .rig-antlers{transform-origin:161.9px 178.8px}
.diplope-rig[data-rig=v3] .rig-tail{transform-origin:255.6px 221px;animation-name:rig-tail-wag}

/* Closed-eye antlers flash in over the open ones: one blink, then a double blink. */
.diplope-rig [data-part=antlers-blink]{opacity:0;animation:rig-blink 5.2s step-end infinite;animation-delay:var(--rig-phase,0s)}

@keyframes rig-breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.01,1.035)}}
@keyframes rig-chest{0%,100%{transform:scale(1,1)}50%{transform:scale(1.015,1.03)}}
@keyframes rig-head-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4.24px) rotate(-2deg)}}
@keyframes rig-antler-sway{0%,100%{transform:rotate(1.5deg)}50%{transform:rotate(-2deg)}}
@keyframes rig-tail-wag{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(7deg)}}
@keyframes rig-blink{0%{opacity:0}38%{opacity:1}41%{opacity:0}86%{opacity:1}88.5%{opacity:0}91%{opacity:1}93.5%{opacity:0}}

/* Still frames show the plain resting pose with open eyes. */
@media(prefers-reduced-motion:reduce){.diplope-rig .rig-group,.diplope-rig [data-part=antlers-blink]{animation:none!important}}
[data-message-effects=off] .diplope-rig :is(.rig-group,[data-part=antlers-blink]){animation:none!important}
