.bo-companion{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:0;z-index:500;width:112px;font-family:inherit;color:#f7f7f3}.bo-companion[hidden],.bo-companion [hidden]{display:none!important}.bo-companion button{font-family:inherit}.bo-companion-trigger{display:block;position:relative;width:112px;height:74px;padding:0;border:0;background:transparent;cursor:pointer;transform:translateY(12px);transition:transform .2s ease}.bo-companion-trigger img{display:block;width:112px;height:auto;pointer-events:none}.bo-companion-trigger:hover,.bo-companion-trigger[aria-expanded=true]{transform:translateY(0)}.bo-companion-trigger:focus-visible{outline:2px solid #b9f65c;outline-offset:4px;border-radius:10px;transform:translateY(0)}.bo-companion-tip{position:absolute;bottom:85px;right:0;width:168px;padding:10px 12px;background:#191e20;border:1px solid #343d42;border-radius:12px;font-size:13px;line-height:1.4;opacity:0;visibility:hidden;transition:opacity .15s}.bo-companion:has(.bo-companion-trigger:hover) .bo-companion-tip,.bo-companion:has(.bo-companion-trigger:focus-visible) .bo-companion-tip{opacity:1;visibility:visible}.bo-companion:has(.bo-companion-trigger[aria-expanded=true]) .bo-companion-tip{display:none}.bo-companion-panel{position:absolute;right:0;bottom:94px;width:292px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 160px);overflow:auto;box-sizing:border-box;background:#191e20;border:1px solid #343d42;border-radius:14px;padding:18px;box-shadow:0 12px 32px #0003}.bo-companion-panel-heading{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:8px}.bo-companion-panel-heading strong{font-size:16px;line-height:1.4}.bo-companion-close{min-height:44px;color:#b9c0c5;background:transparent;border:0;cursor:pointer;font-size:12px;padding:0 4px}.bo-companion nav{display:block}.bo-companion nav a{display:flex;align-items:center;min-height:48px;color:#b9f65c;text-decoration:none;font-size:14px;border-bottom:1px solid #343d42;padding:4px 0}.bo-companion nav a:hover{color:#d0ff8a;text-decoration:underline}.bo-companion a:focus-visible,.bo-companion-panel button:focus-visible{outline:2px solid #b9f65c;outline-offset:3px}.bo-companion-hide{display:block;min-height:44px;margin-top:12px;padding:0;text-align:left;color:#b9c0c5;background:none;border:0;cursor:pointer;font-size:12px}.bo-companion-hide:hover{text-decoration:underline}@media(max-width:600px){.bo-companion{right:max(12px,env(safe-area-inset-right));width:80px}.bo-companion-trigger,.bo-companion-trigger img{width:80px}.bo-companion-trigger{height:56px}.bo-companion-panel{bottom:74px}.bo-companion-tip{bottom:68px}}@media(prefers-reduced-motion:reduce){.bo-companion-trigger,.bo-companion-tip{transition:none}}
.bo-companion{width:180px}.bo-companion-trigger{width:180px;height:120px;transform:translateY(24px)}.bo-companion-trigger img{width:180px}.bo-companion-tip{bottom:130px}.bo-companion-panel{bottom:138px}@media(max-width:600px){.bo-companion{width:80px}.bo-companion-trigger{width:80px;height:56px;transform:translateY(12px)}.bo-companion-trigger img{width:80px}.bo-companion-tip{bottom:68px}.bo-companion-panel{bottom:74px}}

/* A single, gentle greeting; no continuous movement. */
.bo-companion-trigger img{transform-origin:50% 85%;transition:transform .2s ease-out}
@keyframes bo-companion-greeting{
  0%{transform:translateY(0) rotate(0deg)}
  30%{transform:translateY(-6px) rotate(-6deg)}
  60%{transform:translateY(-3px) rotate(3deg)}
  80%{transform:translateY(-2px) rotate(-4deg)}
  100%{transform:translateY(-2px) rotate(-3deg)}
}
@media(hover:hover) and (pointer:fine){
  .bo-companion-trigger[aria-expanded=false]:hover img{transform:translateY(-2px) rotate(-3deg);animation:bo-companion-greeting .7s ease-in-out}
}
.bo-companion-trigger[aria-expanded=false]:focus-visible img{transform:translateY(-2px) rotate(-3deg);animation:bo-companion-greeting .7s ease-in-out}
@media(prefers-reduced-motion:reduce){
  .bo-companion-trigger img,.bo-companion-trigger[aria-expanded=false]:hover img,.bo-companion-trigger[aria-expanded=false]:focus-visible img{animation:none;transition:none;transform:none}
}
