/* Kept below navigation, overlays, and dialogs. Only the character and toggle accept input. */
.feiqi-pet { position:fixed; inset:0; z-index:15; pointer-events:none; isolation:isolate; }
.feiqi-pet[hidden], .feiqi-pet [hidden] { display:none !important; }
.feiqi-pet__body { position:absolute; top:0; left:0; width:152px; height:152px; will-change:transform; }
.feiqi-pet__character { position:relative; isolation:isolate; display:block; width:100%; height:100%; padding:0; border:0; background:transparent; cursor:grab; touch-action:none; pointer-events:auto; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent; border-radius:36%; }
.feiqi-pet__body[data-dragging] .feiqi-pet__character { cursor:grabbing; }
.feiqi-pet__image, .feiqi-pet__previous { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:contain; pointer-events:none; mix-blend-mode:plus-lighter; filter:drop-shadow(0 5px 5px #71434b22); transform-origin:50% 0; }
.feiqi-pet__previous { opacity:0; }
.feiqi-pet__controls { position:absolute; bottom:max(12px, env(safe-area-inset-bottom)); right:14px; display:flex; align-items:center; gap:6px; }
.feiqi-pet__toggle, .feiqi-pet__chatter { pointer-events:auto; border:1px solid #dfbfc6; background:#fffaf5f2; color:#68444b; font:500 12px/1.3 system-ui,sans-serif; border-radius:24px; min-height:44px; padding:8px 15px; cursor:pointer; box-shadow:0 3px 14px #5c314518; }
.feiqi-pet__speech { position:absolute; bottom:calc(100% - 4px); left:0; max-width:min(170px,calc(100vw - 28px)); margin:0; padding:9px 12px; border:1px solid #e6c7cd; border-radius:14px 14px 14px 4px; color:#654149; background:#fffaf7f5; font:13px/1.6 system-ui,sans-serif; box-shadow:0 3px 12px #75475412; overflow-wrap:anywhere; }
.feiqi-pet__character:focus-visible, .feiqi-pet__toggle:focus-visible, .feiqi-pet__chatter:focus-visible { outline:3px solid #a84764; outline-offset:3px; }
.feiqi-pet__sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:640px) { .feiqi-pet__body { width:104px; height:104px; } .feiqi-pet__controls { right:10px; gap:4px; } .feiqi-pet__toggle, .feiqi-pet__chatter { font-size:11px; padding:8px 10px; } .feiqi-pet__speech { font-size:12px; max-width:142px; } }
@media(prefers-reduced-motion:reduce) { .feiqi-pet__body { will-change:auto; } }

.feiqi-pet__body[data-bubble-below="true"] .feiqi-pet__speech { bottom:auto; top:100%; }

.feiqi-pet__chatter { color:#805d64; background:#fffaf5e6; }

/* Overscan preserves tail pixels while the pelvis stays centered in both directions. */
.feiqi-pet__rig { position:absolute; left:-10%; top:0; width:120%; height:100%; display:block; pointer-events:none; mix-blend-mode:plus-lighter; filter:drop-shadow(0 5px 5px #71434b22); }
