.desktop-pet{position:fixed;right:24px;bottom:132px;width:148px;height:148px;padding:0;border:0;background:transparent;z-index:100;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 5px 4px #0003)}
.desktop-pet.dragging{cursor:grabbing}
.desktop-pet canvas{display:block;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}
.desktop-pet:focus-visible{outline:2px solid #c7b48c;outline-offset:8px;border-radius:4px}
.desktop-pet img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;user-select:none;pointer-events:none}
.pet-hearts{position:absolute;inset:0;pointer-events:none}
.pet-hearts i{position:absolute;left:54%;top:19%;font:normal 18px/1 monospace;color:#d8a0a0;opacity:0;text-shadow:1px 1px #6e4141}
.pet-hearts i:nth-child(2){left:68%;top:27%;font-size:12px}
.pet-hearts i:nth-child(3){left:39%;top:31%;font-size:10px}
.desktop-pet.is-petted{animation:pet-happy 1.9s steps(2,end)}
.desktop-pet.is-petted img{animation:pet-squish 1.9s steps(2,end)}
.desktop-pet.is-petted .pet-hearts i{animation:pet-heart 1.25s steps(4,end) forwards}
.desktop-pet.is-petted .pet-hearts i:nth-child(2){animation-delay:.18s}
.desktop-pet.is-petted .pet-hearts i:nth-child(3){animation-delay:.34s}
@keyframes pet-happy{0%,100%{transform:translateY(0)}20%{transform:translateY(3px) rotate(-1deg)}42%{transform:translateY(0) rotate(1deg)}64%{transform:translateY(3px) rotate(-1deg)}82%{transform:translateY(0)}}
@keyframes pet-squish{0%,100%{transform:scale(1)}20%,64%{transform:scale(1.035,.965)}42%,82%{transform:scale(.985,1.015)}}
@keyframes pet-heart{0%{opacity:0;transform:translate(0,4px) scale(.6)}20%,70%{opacity:1}100%{opacity:0;transform:translate(-8px,-42px) scale(1.15)}}
@media(max-width:600px){.desktop-pet{right:16px;bottom:132px;width:120px;height:120px}}
@media(prefers-reduced-motion:reduce){.desktop-pet.is-petted,.desktop-pet.is-petted img,.desktop-pet.is-petted .pet-hearts i{animation:none}.desktop-pet.is-petted{filter:brightness(1.12)}}
