.ss-buddy{width:100%;height:100%;display:block}
.ss-buddy-body{transform-origin:50px 80px;animation:ss-buddy-sway 3.1s ease-in-out infinite;animation-delay:var(--buddy-delay)}
.ss-buddy-eyes{transform-origin:50px 54px;animation:ss-buddy-blink 4.6s infinite;animation-delay:var(--buddy-delay)}
@keyframes ss-buddy-sway{0%,100%{transform:rotate(-4deg) translateY(1px)}50%{transform:rotate(4deg) translateY(-3px)}}
@keyframes ss-buddy-blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.1)}}
.avatar-opt:not(.selected):not(:hover) .ss-buddy-body,.avatar-opt:not(.selected):not(:hover) .ss-buddy-eyes,.avatar-choice:not(.active):not(:hover) .ss-buddy-body,.avatar-choice:not(.active):not(:hover) .ss-buddy-eyes{animation-play-state:paused}
.avatar-grid{max-height:340px;overflow-y:auto;padding:12px 6px;scrollbar-width:thin}
.avatar-opt:focus-visible,.avatar-choice:focus-visible{outline:3px solid #9368dc;outline-offset:3px}
.qa-floating-guest .qa-avatar>img,.dp-float-avatar img{animation:ss-human-wave 4s ease-in-out infinite;animation-delay:var(--d,0s);transform-origin:50% 80%}
@keyframes ss-human-wave{0%,100%{transform:rotate(-3deg) scale(1.04)}50%{transform:rotate(3deg) scale(1.08)}}
.ss-arrival{position:fixed;z-index:80;right:4vw;bottom:5vh;display:flex;align-items:center;gap:16px;padding:14px 24px;border:2px solid #fff9;border-radius:24px;max-width:min(540px,88vw);background:linear-gradient(125deg,#723eccee,#e052a6f5);color:white;box-shadow:0 18px 70px #160d3a66;font:900 clamp(18px,2.2vw,32px)/1.25 system-ui;pointer-events:none;animation:ss-arrival-pop .5s cubic-bezier(.16,1.3,.5,1) both}
.ss-arrival .ss-arrival-avatar{width:78px;height:78px;flex-shrink:0;border-radius:50%;overflow:hidden;border:3px solid #fff8;background:#fff2}
.ss-arrival-avatar>span,.ss-arrival-avatar img,.ss-arrival-avatar svg{width:100%!important;height:100%!important;display:block;object-fit:cover}
.ss-arrival strong{display:block;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-arrival small{display:block;font-size:.55em;color:#ffeaa3;margin-top:6px}
@keyframes ss-arrival-pop{from{opacity:0;transform:translateY(30px) scale(.75) rotate(-5deg)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ss-buddy-body,.ss-buddy-eyes,.qa-floating-guest,.dp-float-guest,.qa-floating-guest .qa-avatar>img,.dp-float-avatar img,.ss-arrival{animation:none!important}}
.avatar-opt{padding:0;flex-shrink:0;background:transparent}
.dp-float-avatar>span{display:block;width:100%;height:100%}
