/* A familiar cutout, floating freely with no panel around her. */
.floating-jiabao{position:fixed;z-index:45;width:100px;height:176px;filter:drop-shadow(0 5px 4px #183c2520);isolation:isolate}
.floating-jiabao[hidden]{display:none}
.floating-person{position:relative;width:100%;height:100%}
.floating-person .mascot-talk{width:100%;height:100%;padding:0;touch-action:none;cursor:grab}
.floating-person .mascot-talk:active{cursor:grabbing}
.buddy-character{width:100%;height:100%;overflow:visible}
.buddy-hide{position:absolute;right:0;bottom:-8px;width:44px;height:44px;border:0;border-radius:50%;background:#fff9e9;color:#386b5e;box-shadow:0 2px 7px #153d2420;font-size:24px;opacity:0;transition:opacity .2s}
.floating-jiabao:hover .buddy-hide,.floating-jiabao:focus-within .buddy-hide{opacity:1}
.floating-bubble{position:absolute;top:0;right:calc(100% + 8px);width:190px;padding:12px 15px;margin:0;background:#fff9e9;border:2px solid #d6b67f;border-radius:20px 20px 4px 20px;color:#305948;font-size:15px;font-weight:750;line-height:1.55;pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity .18s,transform .18s;box-shadow:0 5px 16px #23473016}
.has-message .floating-bubble{opacity:1;transform:translateY(0)}
.bubble-right .floating-bubble{left:calc(100% + 8px);right:auto;border-radius:20px 20px 20px 4px}
.buddy-restore{display:none;width:62px;height:70px;touch-action:none;border:1px solid #cfbc95;border-radius:32px;background:#fff9e9;color:#376653;font-size:12px;font-weight:800;padding:3px;box-shadow:0 3px 8px #153d2418}
.buddy-restore img{display:block;width:34px;height:40px;object-fit:cover;object-position:top;margin:0 auto;border-radius:50%}
.is-collapsed{width:62px;height:70px}.is-collapsed .floating-person,.is-collapsed .floating-bubble{display:none}.is-collapsed .buddy-restore{display:block}
.space-tight:not(.is-collapsed){width:72px;height:128px}
.mascot-talk .pose-rest{transform-origin:160px 470px;animation:jiabao-breathe 5s ease-in-out infinite}
.mascot-talk.speaking svg{animation:none}
.jiabao-wave-arm{transform-origin:98px 166px;animation:jiabao-hand .65s ease-in-out infinite alternate}
.mascot-talk.celebrating .pose-rest{display:none}.mascot-talk.celebrating .pose-cheer{display:inline;animation:jiabao-celebrate .7s ease-out 2;transform-origin:160px 465px}
@keyframes jiabao-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.006)}}
@keyframes jiabao-hand{from{transform:rotate(-7deg)}to{transform:rotate(9deg)}}
@keyframes jiabao-celebrate{0%,100%{transform:translateY(0)}45%{transform:translateY(-5px) rotate(-1deg)}}
@media(hover:none){.buddy-hide{opacity:1}}
@media(max-width:500px){.floating-jiabao:not(.is-collapsed){width:78px;height:138px}.floating-bubble{width:168px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.mascot-talk .pose-rest,.jiabao-wave-arm,.mascot-talk.celebrating .pose-cheer{animation:none}.floating-bubble{transition:none}}

.floating-person .mascot-talk .mascot-bubble{display:none!important}
