/* Free companion: only the animal, two controls and temporary bubbles float. */
html{scroll-padding-bottom:170px}main{padding-bottom:170px}
.buddy-float{position:fixed;left:0;bottom:0;width:128px;height:168px;z-index:12;pointer-events:none;isolation:isolate;transition:transform .22s linear;contain:layout style}
.buddy-float button{pointer-events:auto}.buddy-animal{position:absolute;left:0;bottom:44px;width:128px;height:124px;border:0;border-radius:50%;padding:0;background:transparent;filter:none!important;cursor:pointer;-webkit-tap-highlight-color:transparent}.buddy-animal:focus-visible{outline:3px solid #843b1b;outline-offset:0}
.kappi-frame{display:none;width:100%;height:100%;overflow:hidden;filter:drop-shadow(0 3px 1px #24324b16)}.kappi-frame.is-frame{display:block}.buddy-facing-left[data-pose="walk"] .kappi-frame{transform:scaleX(-1)}
.buddy-mini{position:absolute;bottom:0;left:12px;display:flex;gap:6px;pointer-events:none}.buddy-mini button{width:44px;height:44px;min-height:44px;padding:8px;border:1px solid #819485;border-radius:50%;background:#fffdf9eF;box-shadow:0 2px 5px #24324b17;font-size:24px;line-height:1;color:#126b59}.buddy-mini svg{width:23px;height:23px;stroke:currentColor;stroke-width:2;fill:none}.buddy-mini button:hover{background:#e4eee5}
.buddy-bubble{position:absolute;left:6px;bottom:calc(100% - 12px);width:225px;max-width:calc(100vw - 32px);border:1px solid #a4b7a3;border-radius:18px 18px 18px 5px;padding:12px 30px 12px 13px;background:#fffef9;box-shadow:0 3px 12px #24324b16;pointer-events:auto;overflow-wrap:anywhere}
.buddy-bubble::after{content:'';position:absolute;bottom:-9px;left:32px;width:15px;height:15px;background:#fffef9;border-right:1px solid #a4b7a3;border-bottom:1px solid #a4b7a3;transform:rotate(45deg)}.buddy-bubble p{margin:0;font-size:15px;line-height:1.45}.buddy-bubble [data-buddy="bubble-close"]{position:absolute;right:0;top:0;width:32px;height:32px;min-height:32px;padding:0;background:transparent;border:0;border-radius:50%;font-size:23px;font-weight:400}.buddy-bubble .buddy-speech-status{font-size:12px;margin-top:6px;color:#536078;line-height:1.4}.buddy-speech-status:empty{display:none}
.buddy-menu{position:absolute;left:3px;bottom:calc(100% - 7px);width:185px;border:1px solid #a4b7a3;border-radius:16px;background:#fffef9;padding:5px;pointer-events:auto;box-shadow:0 3px 12px #24324b1a}.buddy-menu button{display:flex;width:100%;min-height:44px;justify-content:flex-start;font-size:15px;padding:10px 13px;border-radius:11px;background:transparent}.buddy-menu button:hover{background:#e4eee5}
.buddy-restore{display:none}.buddy-is-hidden{width:44px!important;height:44px!important}.buddy-is-hidden>*{display:none!important}.buddy-is-hidden>.buddy-restore{display:flex!important;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #a4b7a3;border-radius:50%;background:#fffef9;color:#126b59;font-size:24px}
.buddy-suspended{visibility:hidden}.buddy-float [hidden]{display:none!important}.buddy-float:has(.buddy-menu:not([hidden])){z-index:15}
.buddy-compact{width:44px!important;height:44px!important}.buddy-compact .buddy-animal{width:44px!important;height:44px!important;bottom:0;background:#fffef9eF;border:1px solid #a4b7a3}.buddy-compact .buddy-mini{display:none}.buddy-compact .buddy-bubble{display:none}.buddy-menu-shortcuts{display:none}.buddy-float[data-compact-menu="true"] .buddy-menu-shortcuts{display:block;border-bottom:1px solid #cdd7cc}
@media(max-width:640px){.buddy-float{width:112px;height:150px}.buddy-animal{width:112px;height:106px}.buddy-mini{left:8px;gap:5px}.buddy-bubble{width:205px;left:0;padding:10px 28px 10px 12px}.buddy-bubble p{font-size:14px}.buddy-menu{width:175px}.buddy-float{transition:transform .18s linear}}
@media(prefers-reduced-motion:reduce){.buddy-float{transition:none!important}}
@media(forced-colors:active){.buddy-mini button,.buddy-bubble,.buddy-menu{border:2px solid ButtonText}}

.buddy-message-listen{margin-top:8px;min-height:32px;padding:4px 8px;border:1px solid #a4b7a3;border-radius:10px;background:#edf4eb;color:#126b59;font-size:14px;}
