.pet-canvas{display:none;width:100%;height:100%;pointer-events:none}
.pet-active .cat-button{left:50%;top:85%;width:180px;height:180px;transform:translate(-50%,-100%) rotate(var(--pet-tilt,0deg));border-radius:28%;touch-action:none;cursor:grab;will-change:left,top;transition:filter .2s;outline-offset:-18px}
.pet-active .cat-button::before{display:none}
.pet-active .cat-image{display:none}
.pet-active .pet-canvas{display:block}
.pet-active .cat-button:hover{filter:drop-shadow(0 7px 8px #1c2c5010)}
.pet-active .cat-button.picked-up{cursor:grabbing;z-index:7;filter:drop-shadow(0 15px 10px #1c2c5015)}
.pet-state{display:none;position:absolute;left:50%;bottom:-3px;transform:translate(-50%,100%);color:#90949f;white-space:nowrap;font-size:12px;font-weight:400;line-height:1.5;pointer-events:none;letter-spacing:.02em}
.pet-active .cat-button:hover .pet-state,.pet-active .cat-button:focus-visible .pet-state{display:block}
.pet-controls{position:absolute;z-index:12;right:9px;top:0;opacity:0;transition:opacity .2s}
.playground:not(.pet-active) .pet-controls{display:none}
.playground:hover .pet-controls,.pet-controls:focus-within{opacity:1}
.pet-menu-toggle{display:grid;place-items:center;width:32px;height:28px;border:1px solid #e8eaf0;border-radius:8px;background:#fbfbfcdd;font-size:18px;font-weight:600;line-height:1;letter-spacing:2px;padding:0 0 6px 2px;color:#9399a8}
.pet-menu-toggle:hover,.pet-menu-toggle[aria-expanded="true"]{border-color:#cbd5fa;color:#2e53eb;background:#edf1ff}
.pet-menu{position:absolute;right:0;top:36px;width:148px;padding:5px;border:1px solid #e4e7ef;background:#fff;border-radius:12px;box-shadow:0 12px 36px #25386914}
.pet-menu[hidden]{display:none}
.pet-menu button{display:block;width:100%;border:0;background:none;padding:9px 10px;border-radius:7px;text-align:left;font-size:14px;line-height:1.5;color:#636a79;white-space:nowrap}
.pet-menu button:hover,.pet-menu button:focus-visible{background:#edf1ff;color:#2e53eb;outline-offset:-2px}
.pet-menu button[aria-checked="true"]::after{content:' ✓';float:right;color:#2e53eb}
.pet-active .stage{cursor:default}
@media(pointer:coarse){.pet-controls{opacity:1}.pet-menu-toggle{width:36px;height:32px}.pet-menu button{padding-top:11px;padding-bottom:11px}}
@media(max-width:760px){.pet-controls{right:0;top:-4px}.pet-state{font-size:12px}.pet-menu{width:145px}}
@media(prefers-reduced-motion:reduce){.pet-active .cat-button{will-change:auto}.pet-controls,.pet-active .cat-button{transition:none}}
