/* V87 – painted cut-out puppets: real raster pencil art, independent moving layers. */
.zw85 .zw87-puppet{
 position:relative;display:block;width:100%;height:100%;overflow:visible!important;
 pointer-events:none;isolation:isolate;transform-origin:50% 82%;
}
.zw85 .zw87-puppet .zw87-part{
 position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;
 user-select:none;-webkit-user-drag:none;max-width:none;max-height:none;opacity:1;
 transform:translate3d(0,0,0);
}
.zw85 .zw87-puppet .zw87-head-group{
 position:absolute;inset:0;transform-origin:50% 44%;will-change:transform;
 animation:zw87-idle-head 5s ease-in-out infinite;
}
.zw85 .zw87-puppet .zw87-ear0,.zw85 .zw87-puppet .zw87-ear2{
 transform-origin:33% 34%;animation:zw87-ear-left 4.8s ease-in-out infinite;
}
.zw85 .zw87-puppet .zw87-ear1,.zw85 .zw87-puppet .zw87-ear3{
 transform-origin:69% 34%;animation:zw87-ear-right 4.4s ease-in-out infinite;
}
.zw85 .zw87-puppet .zw87-arm0{transform-origin:27% 63%;animation:zw87-idle-paw 5.5s ease-in-out infinite}
.zw85 .zw87-puppet .zw87-arm1{transform-origin:74% 63%;animation:zw87-idle-paw 5.5s ease-in-out -2.2s infinite}
.zw85 .zw87-puppet .zw87-tail{transform-origin:76% 67%;animation:zw87-tail 2.3s ease-in-out infinite}
.zw85 .zw87-puppet .zw87-mouth{opacity:0;transform-origin:50% 59%;transform:scaleY(.15)}
.zw85 .zw87-puppet .zw87-blink{opacity:0;animation:zw87-blink 5.5s ease-in-out infinite}
.zw85 .zw87-puppet[data-baby="turtle"] .zw87-head-group{animation-duration:6s}
.zw85 .zw87-puppet[data-baby="dog"] .zw87-tail{animation-duration:1.1s}
.zw85 .zw87-puppet[data-baby="fox"] .zw87-tail{animation-duration:1.65s}
.zw85 .zw87-puppet[data-baby="cat"] .zw87-tail{animation-duration:3s}
.zw85 .zw87-puppet[data-baby="duck"] .zw87-arm0,
.zw85 .zw87-puppet[data-baby="chick"] .zw87-arm0{transform-origin:34% 62%}
.zw85 .zw87-puppet[data-baby="duck"] .zw87-arm1,
.zw85 .zw87-puppet[data-baby="chick"] .zw87-arm1{transform-origin:70% 62%}
/* The actual hand-painted head/ears/paws are transformed, never vector paths. */
.zw85 .zw87-puppet:is([data-phase="notice"],[data-phase="no"]) .zw87-head-group{
 animation:zw87-look .42s ease-out both!important;
}
.zw85 .zw87-puppet:is([data-phase="reach"],[data-phase="open"]) .zw87-head-group{
 animation:zw87-lean .42s ease-out both!important;
}
.zw85 .zw87-puppet:is([data-phase="bite"],[data-phase="chew"]) .zw87-head-group{
 animation:zw87-chew-head .38s ease-in-out infinite alternate!important;
}
.zw85 .zw87-puppet:is([data-phase="sip"],[data-phase="drink"]) .zw87-head-group{
 animation:zw87-drink-head .58s ease-in-out infinite alternate!important;
}
.zw85 .zw87-puppet[data-phase="swallow"] .zw87-head-group{
 animation:zw87-swallow .32s ease-out both!important;
}
.zw85 .zw87-puppet:is([data-phase="open"],[data-phase="bite"],[data-phase="chew"],[data-phase="sip"],[data-phase="drink"]) .zw87-mouth{
 opacity:1!important;animation:zw87-mouth-open .25s ease-out both!important;
}
.zw85 .zw87-puppet[data-phase="chew"] .zw87-mouth{animation:zw87-mouth-chew .32s ease-in-out infinite!important}
.zw85 .zw87-puppet[data-phase="drink"] .zw87-mouth{animation:zw87-mouth-drink .7s ease-in-out infinite!important}
.zw85 .zw87-puppet[data-phase="swallow"] .zw87-mouth{animation:zw87-mouth-close .24s ease-out both!important}
.zw85 .zw87-puppet:is([data-phase="reach"],[data-phase="open"],[data-phase="bite"]) .zw87-arm0{
 animation:zw87-reach-left .55s cubic-bezier(.25,.8,.23,1) both!important;
}
.zw85 .zw87-puppet:is([data-phase="reach"],[data-phase="open"],[data-phase="bite"]) .zw87-arm1{
 animation:zw87-reach-right .6s cubic-bezier(.25,.8,.23,1) both!important;
}
.zw85 .zw87-puppet:is([data-phase="chew"],[data-phase="drink"]) .zw87-arm0{
 animation:zw87-hold-left .55s ease-in-out infinite!important;
}
.zw85 .zw87-puppet:is([data-phase="chew"],[data-phase="drink"]) .zw87-arm1{
 animation:zw87-hold-right .6s ease-in-out infinite!important;
}
.zw85 .zw87-puppet[data-baby="rabbit"]:is([data-phase="open"],[data-phase="chew"],[data-phase="celebrate"]) .zw87-ear0{
 animation:zw87-rabbit-ear-a .62s ease-in-out infinite!important;
}
.zw85 .zw87-puppet[data-baby="rabbit"]:is([data-phase="open"],[data-phase="chew"],[data-phase="celebrate"]) .zw87-ear1{
 animation:zw87-rabbit-ear-b .78s ease-in-out infinite!important;
}
.zw85 .zw87-puppet[data-baby="dog"]:is([data-phase="notice"],[data-phase="chew"],[data-phase="celebrate"]) .zw87-tail{
 animation:zw87-dog-tail .27s ease-in-out infinite!important;
}
.zw85 .zw87-puppet[data-baby="fox"]:is([data-phase="notice"],[data-phase="chew"],[data-phase="celebrate"]) .zw87-tail{
 animation:zw87-fox-tail .71s ease-in-out infinite!important;
}
.zw85 .zw87-puppet[data-baby="cat"]:is([data-phase="notice"],[data-phase="chew"],[data-phase="celebrate"]) .zw87-tail{
 animation:zw87-cat-tail 1.35s ease-in-out infinite!important;
}
.zw85 .zw87-puppet[data-baby="duck"]:is([data-phase="chew"],[data-phase="celebrate"]) .zw87-arm0,
.zw85 .zw87-puppet[data-baby="chick"]:is([data-phase="chew"],[data-phase="celebrate"]) .zw87-arm0{
 animation:zw87-flap-a .32s ease-in-out infinite!important;
}
.zw85 .zw87-puppet[data-baby="duck"]:is([data-phase="chew"],[data-phase="celebrate"]) .zw87-arm1,
.zw85 .zw87-puppet[data-baby="chick"]:is([data-phase="chew"],[data-phase="celebrate"]) .zw87-arm1{
 animation:zw87-flap-b .38s ease-in-out infinite!important;
}
.zw85 .zw87-puppet[data-baby="turtle"]:is([data-phase="reach"],[data-phase="chew"],[data-phase="celebrate"]) .zw87-head-group{
 animation:zw87-turtle-nod 1.15s ease-in-out infinite!important;
}
.zw85 .zw87-puppet[data-baby="spider"]:is([data-phase="reach"],[data-phase="chew"],[data-phase="celebrate"]) .zw87-arm0{
 animation:zw87-spider-leg .45s ease-in-out infinite!important;
}
.zw85 .zw87-puppet[data-baby="spider"]:is([data-phase="reach"],[data-phase="chew"],[data-phase="celebrate"]) .zw87-arm1{
 animation:zw87-spider-leg .49s ease-in-out infinite reverse!important;
}
.zw85 .zw87-puppet[data-phase="celebrate"] .zw87-head-group{
 animation:zw87-happy-head .8s ease-in-out infinite!important;
}
.zw85 .zw87-puppet[data-phase="celebrate"] .zw87-arm0{
 animation:zw87-cheer-left .68s ease-in-out infinite!important;
}
.zw85 .zw87-puppet[data-phase="celebrate"] .zw87-arm1{
 animation:zw87-cheer-right .74s ease-in-out infinite!important;
}
.zw85 .zw87-puppet[data-phase="celebrate"] .zw87-blink{
 opacity:1;animation:zw87-happy-eyes 1.25s ease-in-out infinite!important;
}
.zw85 .zw87-puppet[data-phase="no"] .zw87-head-group{animation:zw87-no .43s ease-in-out 2!important}
@keyframes zw87-idle-head{0%,37%,100%{transform:rotate(0)}48%{transform:rotate(2.1deg)}76%{transform:rotate(-1.7deg)}}
@keyframes zw87-idle-paw{0%,71%,100%{transform:rotate(0)}79%{transform:rotate(-3deg)}91%{transform:rotate(1.5deg)}}
@keyframes zw87-ear-left{0%,62%,100%{transform:rotate(0)}74%{transform:rotate(-6deg)}85%{transform:rotate(3deg)}}
@keyframes zw87-ear-right{0%,72%,100%{transform:rotate(0)}81%{transform:rotate(7deg)}91%{transform:rotate(-3deg)}}
@keyframes zw87-tail{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(11deg)}}
@keyframes zw87-blink{0%,5%,7%,52%,55%,100%{opacity:0}5.6%,53%{opacity:1}}
@keyframes zw87-look{to{transform:translateY(-2px) rotate(4deg)}}
@keyframes zw87-lean{to{transform:translate3d(4px,-4px,0) rotate(7deg)}}
@keyframes zw87-chew-head{from{transform:translateY(2px) rotate(-2deg)}to{transform:translateY(-4px) rotate(3deg)}}
@keyframes zw87-drink-head{from{transform:translateY(2px) rotate(-6deg)}to{transform:translateY(-2px) rotate(-11deg)}}
@keyframes zw87-swallow{0%{transform:translateY(4px)}65%{transform:translateY(-5px)}100%{transform:translateY(0)}}
@keyframes zw87-mouth-open{from{opacity:0;transform:scaleY(.1)}to{opacity:1;transform:scaleY(1)}}
@keyframes zw87-mouth-chew{0%,100%{transform:scaleY(.42)}42%{transform:scaleY(1)}75%{transform:scaleY(.58)}}
@keyframes zw87-mouth-drink{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(.85)}}
@keyframes zw87-mouth-close{from{opacity:1;transform:scaleY(.7)}to{opacity:0;transform:scaleY(.05)}}
@keyframes zw87-reach-left{to{transform:translateY(-5px) rotate(-15deg)}}
@keyframes zw87-reach-right{to{transform:translateY(-5px) rotate(17deg)}}
@keyframes zw87-hold-left{0%,100%{transform:rotate(-13deg)}50%{transform:rotate(-6deg)}}
@keyframes zw87-hold-right{0%,100%{transform:rotate(13deg)}50%{transform:rotate(6deg)}}
@keyframes zw87-rabbit-ear-a{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(11deg)}}
@keyframes zw87-rabbit-ear-b{0%,100%{transform:rotate(3deg)}50%{transform:rotate(-10deg)}}
@keyframes zw87-dog-tail{0%,100%{transform:rotate(-19deg)}50%{transform:rotate(24deg)}}
@keyframes zw87-fox-tail{0%,100%{transform:rotate(-15deg)}50%{transform:rotate(18deg)}}
@keyframes zw87-cat-tail{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(14deg)}}
@keyframes zw87-flap-a{0%,100%{transform:rotate(9deg)}50%{transform:rotate(-23deg)}}
@keyframes zw87-flap-b{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(26deg)}}
@keyframes zw87-turtle-nod{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes zw87-spider-leg{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(16deg)}}
@keyframes zw87-happy-head{0%,100%{transform:rotate(-5deg)}33%{transform:translateY(-8px) rotate(8deg)}66%{transform:rotate(-6deg)}}
@keyframes zw87-cheer-left{0%,100%{transform:rotate(0)}40%{transform:rotate(-27deg)}73%{transform:rotate(12deg)}}
@keyframes zw87-cheer-right{0%,100%{transform:rotate(0)}40%{transform:rotate(29deg)}73%{transform:rotate(-11deg)}}
@keyframes zw87-happy-eyes{0%,100%{opacity:0}12%,48%{opacity:1}65%{opacity:0}}
@keyframes zw87-no{0%,100%{transform:rotate(0)}25%,75%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@media(prefers-reduced-motion:reduce){
 /* Respect quiet idle mode, but retain a small, legible response to every child action. */
 .zw85 .zw87-puppet[data-phase="idle"] .zw87-head-group,
 .zw85 .zw87-puppet[data-phase="idle"] .zw87-part{animation:none!important}
 .zw85 .zw87-puppet[data-phase="celebrate"] .zw87-head-group{animation:zw87-gentle-joy .88s ease-in-out 2!important}
 .zw85 .zw87-puppet[data-phase="celebrate"] .zw87-arm0{animation:zw87-cheer-left .88s ease-in-out 2!important}
 .zw85 .zw87-puppet[data-phase="celebrate"] .zw87-arm1{animation:zw87-cheer-right .88s ease-in-out 2!important}
}
@keyframes zw87-gentle-joy{0%,100%{transform:rotate(0)}50%{transform:translateY(-3px) rotate(3deg)}}
/* Previous SVG animation styles cannot override the new image layers. */
.zw85 .zw87-puppet.zw85-animal{width:100%;height:100%;display:block}
