.sheep-guest{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:168px;height:178px;z-index:80;pointer-events:none;animation:sheep-arrive 420ms cubic-bezier(.2,.7,.3,1)}
.sheep-pet{position:absolute;bottom:0;right:0;width:148px;height:130px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer;pointer-events:auto;line-height:0;box-shadow:none}
.sheep-pet:hover{background:transparent}.sheep-pet img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 6px 8px #0006)}
.sheep-speech{position:absolute;top:8px;left:0;min-width:92px;padding:10px 17px;border:1px solid #e1cda4;border-radius:18px;background:#fff9ec;color:#54402d;box-shadow:0 5px 18px #0003;text-align:center;font:700 18px/1.3 CardHuninn,'Noto Sans TC',sans-serif;white-space:nowrap}
.sheep-speech:after{content:'';position:absolute;bottom:-7px;left:36px;width:12px;height:12px;background:#fff9ec;border-right:1px solid #e1cda4;border-bottom:1px solid #e1cda4;transform:rotate(45deg)}
.sheep-close{position:absolute;right:-9px;top:0;display:grid;place-items:center;width:44px;height:44px;min-height:0;padding:0;border:0;background:transparent;border-radius:50%;color:#e9e0cd;font:23px/1 system-ui;cursor:pointer;pointer-events:auto;text-shadow:0 1px 4px #000}
.sheep-close:hover{background:#09122199}.sheep-pet:focus-visible,.sheep-close:focus-visible{outline:2px solid #e1cda4;outline-offset:2px}
.sheep-guest.is-leaving{animation:sheep-leave 220ms ease-in forwards}
@keyframes sheep-arrive{from{opacity:0;transform:translateY(80px) rotate(5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes sheep-leave{to{opacity:0;transform:translateY(60px)}}
@media(max-width:600px){.sheep-guest{right:10px;bottom:max(12px,env(safe-area-inset-bottom));width:142px;height:154px}.sheep-pet{width:128px;height:111px}.sheep-speech{font-size:16px;padding:8px 13px;min-width:80px}.sheep-close{right:-7px;top:-4px}}
@media(prefers-reduced-motion:reduce){.sheep-guest{animation:none!important}}
body[data-motion=reduced] .sheep-guest{display:none}
@media print{.sheep-guest{display:none!important}}
