.pet-stage{z-index:40;pointer-events:none;width:320px;height:128px;position:fixed;bottom:0;right:1rem}.pet-stage>:not(.pet-dog){pointer-events:auto}.pet-dog{width:128px;height:128px;transition:transform linear;position:absolute;bottom:0;left:0}.pet-body{cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:12px;width:100%;height:100%;padding:0;display:block;position:relative}.pet-body:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.pet-sprite{background-repeat:no-repeat;background-size:512px 1664px;background-position:0 calc(var(--pet-row) * -128px);width:100%;height:100%;image-rendering:pixelated;animation:pet-frames var(--pet-cycle) steps(4) infinite;display:block}.pet-dog[data-facing=left] .pet-sprite{transform:scaleX(-1)}@keyframes pet-frames{to{background-position-x:-512px}}.pet-dog[data-pose=shake] .pet-body{animation:.18s steps(2,end) infinite pet-shiver}.pet-dog[data-pose=pet] .pet-body{animation:.7s ease-in-out infinite alternate pet-nuzzle}@keyframes pet-nuzzle{0%{translate:-3px 1px;rotate:-3deg}to{translate:3px 1px;rotate:3deg}}@keyframes pet-shiver{0%,to{translate:-2px}50%{translate:2px}}@keyframes pet-drift{0%{opacity:0;translate:0}25%{opacity:1}to{opacity:0;translate:9px -30px}}@keyframes pet-pop{0%{opacity:0;scale:.7}to{opacity:1;scale:1}}.pet-bubble{pointer-events:auto;border:1px solid var(--border);border-radius:calc(var(--radius) * 2);background:var(--card);width:max-content;max-width:230px;color:var(--card-foreground);transform-origin:bottom;padding:.45rem .75rem;text-decoration:none;animation:.3s cubic-bezier(.2,1.4,.4,1) both pet-pop;position:absolute;bottom:calc(100% + 2px);left:50%;translate:-50%;box-shadow:0 8px 24px -10px oklch(0% 0 0/.35)}.pet-bubble:before,.pet-bubble:after{content:"";border:7px solid #0000;border-top-color:var(--border);margin-left:-7px;position:absolute;top:100%;left:50%}.pet-bubble:after{border-top-color:var(--card);margin-top:-1.5px}.pet-bubble:hover{border-color:var(--ring)}.pet-bubble[data-edge=right]{transform-origin:100% 100%;left:auto;right:0;translate:0}.pet-bubble[data-edge=right]:before,.pet-bubble[data-edge=right]:after{margin-left:0;left:auto;right:24px}.pet-bubble[data-edge=left]{transform-origin:0 100%;left:0;translate:0}.pet-bubble[data-edge=left]:before,.pet-bubble[data-edge=left]:after{margin-left:0;left:24px}.pet-float{font-family:var(--font-display);color:var(--muted-foreground);pointer-events:none;font-size:13px;font-weight:600;line-height:1;animation:2.6s ease-out infinite pet-drift;position:absolute;bottom:52%}.pet-float+.pet-float{animation-delay:.85s}.pet-float+.pet-float+.pet-float{animation-delay:1.7s}.pet-dog[data-facing=left] .pet-float{left:14%}.pet-dog[data-facing=right] .pet-float{right:14%}.pet-heart{color:oklch(68% .19 15);font-size:15px;bottom:78%}@media (prefers-reduced-motion:reduce){.pet-dog,.pet-dog *{transition:none!important;animation:none!important}}
