.agent-pet{position:fixed;width:96px;height:96px;z-index:1600;isolation:isolate;font:inherit;color:var(--text)}
.agent-pet[hidden],.agent-pet [hidden]{display:none!important}.agent-pet button{font:inherit;color:inherit;cursor:pointer}
.agent-pet-body{position:absolute;inset:0;border:0;background:none;padding:0;touch-action:none;user-select:none;border-radius:50%;outline-offset:3px}
.agent-pet-body img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 5px 5px #153d3826);animation:baby-whale-float 6s ease-in-out infinite}
.agent-pet-name{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:650;letter-spacing:.4px;color:var(--primary);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1px 9px;opacity:0;transition:opacity .15s}
.agent-pet:hover .agent-pet-name,.agent-pet:focus-within .agent-pet-name{opacity:1}
.agent-pet-menu-button{position:absolute;right:-3px;bottom:0;width:25px;height:25px;border:1px solid var(--border);border-radius:50%;background:var(--surface);font-weight:700!important;box-shadow:0 2px 5px #153d3814;opacity:0;transition:opacity .15s}
.agent-pet:hover .agent-pet-menu-button,.agent-pet:focus-within .agent-pet-menu-button{opacity:1}
.agent-pet-bubble{position:absolute;right:5px;bottom:100%;width:max-content;max-width:var(--pet-bubble-width,calc(100vw - 28px));box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;text-align:left;line-height:1.5;font-size:11px!important;font-weight:700!important;padding:7px 11px;border:1px solid var(--border);border-radius:12px 12px 3px 12px;background:var(--surface);box-shadow:0 3px 12px #153d3812}
.agent-pet-menu{position:absolute;right:0;bottom:calc(100% + 8px);width:195px;max-width:calc(100vw - 24px);padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-md)}
.agent-pet-menu strong{display:block;font-size:11px;color:var(--muted);padding:5px 9px}.agent-pet-menu button{display:block;border:0;background:none;text-align:left;font-size:12px;width:100%;padding:8px 9px;border-radius:7px}.agent-pet-menu button:hover,.agent-pet-menu button:focus-visible{background:var(--surface-alt)}
.agent-pet.on-left :is(.agent-pet-menu,.agent-pet-bubble){left:0;right:auto}.agent-pet.near-top :is(.agent-pet-menu,.agent-pet-bubble){top:calc(100% + 8px);bottom:auto}
.agent-pet.is-small{width:56px;height:56px}.agent-pet.is-small .agent-pet-body{border:1px solid var(--primary,#143e39);background:var(--primary,#143e39);box-shadow:0 3px 12px #153d3826}.agent-pet.is-small .agent-pet-body img{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);filter:drop-shadow(0 2px 3px #0002)}.agent-pet.is-small .agent-pet-name{display:none}.agent-pet.is-small .agent-pet-menu-button{width:20px;height:20px;right:-7px;bottom:-3px}
.agent-pet.is-dragging img{animation:none;transform:rotate(-8deg)}.agent-pet[data-status=busy] img{animation:baby-whale-think 1.8s ease-in-out infinite}
@keyframes baby-whale-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}
@keyframes baby-whale-think{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-4px) rotate(5deg)}}
@media(hover:none){.agent-pet-menu-button{opacity:1}}
@media(prefers-reduced-motion:reduce){.agent-pet-body img{animation:none!important}.agent-pet-name,.agent-pet-menu-button{transition:none}}
/* Only the brush/flipper moves; the canvas stays fixed. */
.agent-pet.is-painting .agent-pet-body img{animation:none}
.mobi-paint-base,.mobi-paint-arm{position:absolute;inset:0}
.mobi-paint-arm{z-index:1;transform-origin:55.8% 64.7%}
.agent-pet.is-painting .agent-pet-body .mobi-paint-arm{animation:mobi-paint-brush 2.4s ease-in-out infinite;filter:none}
@keyframes mobi-paint-brush{0%,100%{transform:rotate(0deg)}25%{transform:rotate(-3deg)}65%{transform:rotate(2deg)}}
.agent-pet.is-painting.is-dragging .mobi-paint-arm{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.agent-pet.is-painting .agent-pet-body .mobi-paint-arm{animation:none}}
/* One transparent sprite; only transforms animate, with no JS frame loop. */
.agent-pet.is-surfing .agent-pet-body img{animation:mobi-surf 3.2s ease-in-out infinite;transform-origin:50% 50%}
@keyframes mobi-surf{0%,100%{transform:translate(0,0) rotate(-3deg)}35%{transform:translate(2px,-3px) rotate(3deg)}70%{transform:translate(-1px,-1px) rotate(-1deg)}}
.agent-pet.is-surfing.is-dragging img,.agent-pet.is-surfing.is-resting img{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.agent-pet.is-surfing .agent-pet-body img{animation:none}}
