/* A larger curious companion; movement belongs to the button, reactions to the figure. */
.room-screen #room .pet.quirky-cat{position:absolute;left:74%;top:auto;bottom:10%;width:clamp(88px,14dvh,120px);height:clamp(100px,16dvh,140px);padding:0;background:none;box-shadow:none;border:0;animation:none;transform:translateX(-50%);transition:left 2.6s linear,bottom 2.6s linear;overflow:visible;touch-action:manipulation;z-index:4}
.cat-figure{display:block;position:relative;width:100%;height:100%;transform-origin:50% 85%;pointer-events:none;animation:cat-breathe 4.5s ease-in-out infinite}
.room-screen #room .pet .cat-pose{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:0;filter:drop-shadow(0 4px 2px #633f2829);pointer-events:none}
.room-screen #room .pet .cat-idle{opacity:1}.room-screen #room .pet:is(.cat-walking,.cat-stretching,.cat-sleeping) .cat-idle{opacity:0}
.room-screen #room .pet.cat-walking .cat-walk,.room-screen #room .pet.cat-stretching .cat-stretch,.room-screen #room .pet.cat-sleeping .cat-sleep{opacity:1}
.cat-left .cat-walk{transform:scaleX(-1)}.cat-walking .cat-figure{animation:cat-step .34s ease-in-out infinite}.cat-stretching .cat-figure{animation:cat-stretch-settle 3s ease-in-out 1}.cat-sleeping .cat-figure{animation:cat-breathe 5s ease-in-out infinite}
.cat-zzz{position:absolute;right:10%;top:20%;color:#7f9c9b;font-size:15px;opacity:0;letter-spacing:4px}.cat-sleeping .cat-zzz{animation:cat-dream 2s ease-in-out infinite}
.cat-petted .cat-figure{animation:hamster-happy-bounce .65s ease-in-out 1}
.cat-figure .hamster-heart{top:0;z-index:6}.hamster-pet .cat-figure .heart-1{top:-6%}
/* One bounce for either pet; heart choreography is shared exactly. */
.hamster-pet .hamster-animal{animation:hamster-happy-bounce .65s ease-in-out 1}
@keyframes cat-breathe{50%{transform:scale(1.015)}}@keyframes cat-step{50%{transform:translateY(-2px) rotate(1deg)}}@keyframes cat-stretch-settle{0%,100%{transform:scale(1)}35%,70%{transform:scale(1.035,.98)}}@keyframes cat-dream{50%{opacity:.85;transform:translateY(-8px)}}
@media(max-height:650px){.room-screen #room .pet.quirky-cat{width:88px;height:100px}}
@media(prefers-reduced-motion:reduce){.room-screen #room .pet.quirky-cat{transition:none}.cat-figure,.cat-zzz{animation:none!important}.cat-petted .hamster-heart{opacity:1}}
