/* Hotamr Pet Lite | GPLv2+ */
.hbl{position:fixed;left:0;top:0;z-index:var(--z,99999);width:var(--s);height:var(--s);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;opacity:0;visibility:hidden;will-change:transform}
.hbl.on{opacity:1;visibility:visible;transition:opacity .4s}
.hbl-in{width:100%;height:100%}
.hbl-a-bounce .hbl-in{animation:hbl-b 1.6s ease-in-out infinite}
.hbl-a-float .hbl-in{animation:hbl-f 3s ease-in-out infinite}
.hbl-air .hbl-in,.hbl-drag .hbl-in{animation:none!important}
@keyframes hbl-b{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes hbl-f{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}
.hbl-ball{position:relative;width:100%;height:100%;box-sizing:border-box;border-radius:50%;background:var(--c);transform-origin:50% 100%;transition:transform .12s;user-select:none;-webkit-user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;cursor:pointer}
.hbl-gl .hbl-ball{background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.38),transparent 35%),var(--c)}
.hbl-sh .hbl-ball{box-shadow:inset -4px -6px 10px rgba(0,0,0,.18),0 4px 10px rgba(0,0,0,.22)}
.hbl-grab .hbl-ball{cursor:grab}
.hbl-drag .hbl-ball{cursor:grabbing}
.hbl-eyes{position:absolute;left:0;right:0;top:20%;display:flex;justify-content:center;gap:4%}
.hbl-eye{position:relative;width:var(--e);height:var(--e);background:#fff;border-radius:50%;box-shadow:inset 0 -2px 3px rgba(0,0,0,.15);animation:hbl-k 4s infinite}
.hbl-eye b{position:absolute;left:50%;top:50%;width:var(--p);height:var(--p);margin:calc(var(--p)/-2);border-radius:50%;background:#111;transition:transform .08s}
.hbl-eye b:after{content:"";position:absolute;left:18%;top:15%;width:28%;height:28%;border-radius:50%;background:#fff}
@keyframes hbl-k{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
.hbl-mouth{display:none;position:absolute;left:0;right:0;bottom:20%;margin:auto;width:24%;height:13%;border-bottom:3px solid #3a0a0a;border-radius:0 0 50% 50%;transform-origin:50% 0}
.hbl-mo .hbl-mouth{display:block}
.hbl-talk .hbl-mouth{animation:hbl-m .22s infinite alternate}
@keyframes hbl-m{to{transform:scaleY(.45)}}
.hbl-blush .hbl-ball:before,.hbl-blush .hbl-ball:after{content:"";position:absolute;bottom:30%;width:14%;height:9%;border-radius:50%;background:#ff96aa;opacity:.7}
.hbl-blush .hbl-ball:before{left:10%}
.hbl-blush .hbl-ball:after{right:10%}
.hbl-name{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:4px;padding:1px 9px;border-radius:99px;background:#222;color:#fff;font-size:11px;line-height:1.5;white-space:nowrap;pointer-events:none}
.hbl-bub{position:absolute;bottom:62%;right:calc(100% + 8px);max-width:min(240px,55vw);width:max-content;box-sizing:border-box;padding:8px 12px;border:1px solid #e0e0e0;border-radius:14px;background:var(--bb);color:var(--bt);font-size:14px;line-height:1.35;box-shadow:0 3px 12px rgba(0,0,0,.18);opacity:0;transform:scale(.6);transform-origin:100% 100%;pointer-events:none;transition:opacity .2s,transform .25s cubic-bezier(.3,1.6,.5,1)}
.hbl-bub.show{opacity:1;transform:scale(1);pointer-events:auto}
.hbl-bub:after{content:"";position:absolute;bottom:10px;left:100%;border:6px solid transparent;border-left-color:var(--bb)}
.hbl-L .hbl-bub{right:auto;left:calc(100% + 8px);transform-origin:0 100%}
.hbl-L .hbl-bub:after{left:auto;right:100%;border-left-color:transparent;border-right-color:var(--bb)}
.hbl-low .hbl-bub{bottom:auto;top:62%}
.hbl-low .hbl-bub:after{bottom:auto;top:10px}
.hbl.hbl-top .hbl-bub{bottom:calc(100% + 10px);top:auto;right:auto;transform-origin:50% 100%}
.hbl.hbl-top .hbl-bub:after{left:var(--tx,50%);right:auto;bottom:-12px;top:auto;margin-left:-6px;border-color:transparent;border-top-color:var(--bb)}
.hbl.hbl-top.hbl-low .hbl-bub{bottom:auto;top:calc(100% + 30px);transform-origin:50% 0}
.hbl.hbl-top.hbl-low .hbl-bub:after{bottom:auto;top:-12px;border-top-color:transparent;border-bottom-color:var(--bb)}
.hbl-x{position:absolute;top:-8px;right:-8px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:#333;color:#fff;cursor:pointer;opacity:0;pointer-events:none;transform:scale(.5);transition:opacity .2s,transform .2s}
.hbl-x svg{display:block;width:54%;height:54%;pointer-events:none}
.hbl-x:before{content:"";position:absolute;left:-12px;right:-12px;top:-12px;bottom:-12px}
.hbl-xon .hbl-x,.hbl-x:focus-visible{opacity:.9;pointer-events:auto;transform:scale(1)}
@media (pointer:coarse){.hbl-x{width:34px;height:34px;top:-11px;right:-11px;box-shadow:0 2px 8px rgba(0,0,0,.35)}.hbl-xalw .hbl-x{opacity:.92;pointer-events:auto;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.hbl-in,.hbl-eye,.hbl-mouth{animation:none!important}.hbl-bub{transition:none}}
