.mori-pet{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:45;width:116px;color:#352d24;font-family:"Microsoft YaHei","PingFang SC",sans-serif;line-height:1.5;user-select:none;-webkit-user-select:none}
.mori-pet[hidden],.mori-pet [hidden]{display:none!important}
body.dialog-open .mori-pet,body.nav-open .mori-pet,body:has(dialog[open]) .mori-pet{visibility:hidden;pointer-events:none}
.mori-pet button{font:inherit;-webkit-tap-highlight-color:transparent}
.mori-pet button:focus-visible{outline:2px solid #d75e30;outline-offset:4px}
.mori-pet-stage{position:relative}
.mori-pet-body{display:block;width:100%;padding:0;border:0;background:none;cursor:grab;touch-action:none}
.mori-pet-body:active,.mori-pet.is-dragging .mori-pet-body{cursor:grabbing}
.mori-pet-body img{display:block;width:100%;height:auto;object-fit:contain;pointer-events:none;-webkit-user-drag:none;filter:drop-shadow(0 6px 5px rgba(77,49,24,.12));transform-origin:50% 88%;animation:mori-breathe 4.6s ease-in-out infinite}
.mori-pet-body img.is-happy{animation:mori-hello .75s ease-in-out}
.mori-pet.is-dragging img{animation:none;transform:rotate(-4deg)}
.mori-pet-fold{position:absolute;right:-5px;top:0;z-index:2;width:30px;height:30px;padding:0;border:1px solid #d9cdbd;border-radius:50%;background:#fffaf2;color:#655b4c;cursor:pointer;font-size:18px!important;box-shadow:0 2px 6px #50371b0d;opacity:0;transition:opacity .2s}
.mori-pet:hover .mori-pet-fold,.mori-pet:focus-within .mori-pet-fold{opacity:1}
.mori-pet-label{display:block;width:max-content;max-width:100%;margin:2px auto 0;padding:3px 9px;border:1px solid #e1d7c8;border-radius:20px;background:#fffcf4ed;font-size:11px;box-shadow:0 2px 7px #4d31180a}
.mori-pet-label span{color:#8b7e6d;font-size:10px}
.mori-pet.is-folded{width:76px}
.mori-pet-restore{width:76px;min-height:38px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #d9cdbd;border-radius:22px;background:#fffaf2;color:#65513d;cursor:pointer;font-size:12px!important;box-shadow:0 3px 12px #50371b12}
.mori-pet-restore span{color:#d76a3e}
.mori-pet-bubble{position:fixed;box-sizing:border-box;width:232px;max-width:calc(100vw - 24px);padding:15px 16px;border:1px solid #e0d4c2;border-radius:15px 15px 5px 15px;background:#fffdf7;box-shadow:0 8px 28px #4e38211a;cursor:default;user-select:text;-webkit-user-select:text}
.mori-pet-bubble.is-tour{width:252px;border-color:#e8c4b0;box-shadow:0 8px 28px #4e38211a,inset 0 0 0 1px #f3ddd0}
.mori-pet-bubble.is-tour::before{content:"";display:block;height:2px;margin:-4px 0 10px;border-radius:2px;background:linear-gradient(90deg,#d75e30,#f0a57a 70%,transparent)}
.mori-pet-kicker{margin:0 0 7px!important;font-size:10px!important;font-weight:700;letter-spacing:.08em;color:#a46c43}
.mori-pet-message{margin:0!important;font-size:13px!important;line-height:1.8!important;color:#514334}
.mori-pet-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:12px}
.mori-pet-actions button{min-height:32px;border:0;padding:4px 0;background:none;cursor:pointer;font-size:12px}
.mori-pet-catalog{color:#b95128;border-bottom:1px solid #d9a68b!important}
.mori-pet-tour-primary{color:#b95128;border-bottom:1px solid #d9a68b!important;font-weight:600}
.mori-pet-tour-skip,.mori-pet-tour-restart{color:#8a7e70}
.mori-pet-dismiss{color:#8a7e70}
.mori-pet-nap{color:#8a6d4d}
.mori-pet-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes mori-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.015)}}
@keyframes mori-hello{0%,100%{transform:rotate(0) translateY(0)}25%{transform:rotate(-5deg) translateY(-5px)}60%{transform:rotate(4deg) translateY(-2px)}}
@keyframes mori-tour-ring{0%{box-shadow:0 0 0 0 rgba(215,94,48,.0)}30%{box-shadow:0 0 0 4px rgba(215,94,48,.28)}100%{box-shadow:0 0 0 0 rgba(215,94,48,.0)}}
.mori-tour-highlight{outline:2px solid rgba(215,94,48,.55);outline-offset:6px;border-radius:12px;animation:mori-tour-ring 1.2s ease-out}
@media(max-width:760px){.mori-pet{width:84px;right:12px;bottom:max(14px,env(safe-area-inset-bottom))}.mori-pet-fold{opacity:1;width:28px;height:28px;right:-3px;top:-5px}.mori-pet-label{font-size:10px;padding:2px 8px}.mori-pet-label span{display:none}.mori-pet-bubble{width:216px}.mori-pet-bubble.is-tour{width:236px}}
@media(prefers-reduced-motion:reduce){.mori-pet-body img,.mori-pet-body img.is-happy{animation:none!important}.mori-pet-fold{transition:none}.mori-tour-highlight{animation:none}}

/* Eight chronological frames per action, same fixed canvas and anchor. */
.mori-pet-body.is-animated > img{display:none}
.mori-pet-frames{display:block;width:100%;height:auto;pointer-events:none;filter:drop-shadow(0 5px 4px #4d31181a);transform-origin:50% 88%}
.mori-pet[data-motion="idle"] .mori-pet-frames{animation:mori-breathe 4.6s ease-in-out infinite}
.mori-pet[data-motion="sleeping"] .mori-pet-frames{animation:mori-breathe 3.2s ease-in-out infinite}
.mori-pet.is-dragging .mori-pet-frames{animation:none;transform:rotate(-4deg)}
@media(prefers-reduced-motion:reduce){.mori-pet-frames{animation:none!important}}
