.home-pet,.house-pet,.grotto-pet,.crater-pet,.village-pet,.world-pet,.pet-walk-trial{touch-action:none;will-change:translate;overflow:visible}
.home-pet[data-pet-positioned],.house-pet[data-pet-positioned],.grotto-pet[data-pet-positioned],.crater-pet[data-pet-positioned]{z-index:12}
#grotto-room .grotto-floor{inset:9% 2% 5%;pointer-events:none}
#grotto-room .grotto-pet{pointer-events:auto}
.crater-pet{position:absolute;width:clamp(72px,8vw,125px);aspect-ratio:1;z-index:6;border:0;padding:0;background:none;cursor:grab}
.crater-pet .cinder-sprite{display:block;width:100%;height:100%}
.world-pet{position:absolute;left:50%;bottom:7%;width:clamp(56px,7.5%,125px);aspect-ratio:1;z-index:12;border:0;padding:0;background:none;cursor:grab}
.world-pet[hidden]{display:none!important}
.world-pet:focus-visible{outline:3px solid #fff0a8;outline-offset:3px;border-radius:40%}
.world-pet img,.world-pet .cinder-sprite,.world-pet svg[data-pet-frame]{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;pointer-events:none}
.world-pet .cinder-sprite{filter:drop-shadow(0 6px 4px rgba(46,28,24,.25))}
#village-scene .world-pet{bottom:11%}
.village-pet[data-pet-positioned]{transition:none}
[data-scene-movable]{touch-action:none!important;user-select:none;-webkit-user-select:none;cursor:grab;will-change:translate}
[data-scene-movable] img{-webkit-user-drag:none;user-select:none}
/* The button is the stable anchor. The canvas inside it provides the walk. */
.village-player[data-scene-movable],.sky-player[data-scene-movable],.cinder-player[data-scene-movable],.forest-player[data-scene-movable],.house-player[data-scene-movable],.peblet-stack[data-scene-movable]{animation:none!important;transition:none!important}
[data-scene-selected="true"]{filter:drop-shadow(0 0 7px rgba(255,236,151,.9))}
#village-scene [data-scene-movable],#sky-scene [data-scene-movable],#cinder-scene [data-scene-movable]{z-index:21;pointer-events:auto}
[data-scene-movable].is-walking,[data-scene-movable][data-pet-walking="true"]{cursor:grabbing}
.home-pet img,.house-pet img,.village-pet img{transform-origin:50% 88%}
.home-pet:not(.is-sleeping):not([data-pet-walking]) img{animation:petContentBreath 3.5s ease-in-out infinite}
.home-pet.is-patted img{animation:petHappyHop .55s ease-in-out 2}
.home-pet.is-fetching img{animation:petPlayHop .55s ease-in-out 3}
.home-pet.is-eating img{animation:petNibble .38s ease-in-out 5}
.home-pet.is-sleeping img{animation:petSleepBreath 2.8s ease-in-out infinite!important}
.home-pet.is-sleeping:after{content:'z Z';position:absolute;right:9%;top:14%;font-weight:bold;color:#fff5da;text-shadow:0 2px 3px #634027;animation:petDream 2.8s ease-in-out infinite}
.pet-walk-canvas{position:absolute;z-index:1;inset:0;width:100%;height:100%;pointer-events:none;object-fit:contain}
[data-pet-rig-ready=true]>img{visibility:hidden}
@keyframes petContentBreath{50%{transform:translateY(-1px) scale(1.008,1.013)}}
@keyframes petHappyHop{50%{transform:translateY(-9px) rotate(-3deg) scale(1.02,.98)}}
@keyframes petPlayHop{35%{transform:translateY(-18px) rotate(5deg)}75%{transform:translateY(-2px) rotate(-5deg) scale(1.06,.94)}}
@keyframes petNibble{50%{transform:translateY(3px) rotate(2deg) scale(1.02,.98)}}
@keyframes petSleepBreath{0%,100%{transform:translateY(5px) scale(1.07,.83) rotate(-3deg)}50%{transform:translateY(3px) scale(1.08,.85) rotate(-3deg)}}
@keyframes petDream{50%{transform:translateY(-10px);opacity:.5}}
@media(prefers-reduced-motion:reduce){.home-pet img,.home-pet:after{animation:none!important}}
[data-pet-rig-ready=true]>.cinder-sprite,[data-pet-rig-ready=true]>.grotto-pet-visual{visibility:hidden}
.home-pet[data-pet-pose="play"],.home-pet[data-pet-pose="sleep"],.house-pet[data-pet-pose="play"]{animation:none!important}
[data-pet-pose="play"] img,[data-pet-pose="sleep"] img,[data-pet-walking="true"] img{animation:none!important;transform:none!important}
.home-pet[data-pet-pose="sleep"]:after,.pet-walk-trial[data-pet-pose="sleep"]:after{content:'z Z';position:absolute;right:12%;top:18%;color:#fff5da;text-shadow:0 2px 3px #634027;font-weight:bold}
.room:has(.home-pet[data-pet-pose="play"]) #pet-scene-ball{visibility:hidden}
.home-pet img,.house-pet img,.pet-walk-trial img{object-position:center bottom}
