.avatar-container{will-change:transform, top, left, width, height;z-index:45;transition:all .95s cubic-bezier(.22,1,.36,1)}.avatar-pos-hero{z-index:30;width:13rem;height:13rem;position:fixed;top:36%;left:50%;transform:translate(-50%,-50%)}@media (width>=768px){.avatar-pos-hero{width:16rem;height:16rem}}.avatar-pos-floating{z-index:50;width:5.5rem;height:5.5rem;position:fixed;top:calc(100vh - 7.5rem);left:1.5rem}.blob-svg{filter:drop-shadow(0 0 28px #8b5cf68c);animation:6s ease-in-out infinite blob-float}@keyframes blob-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.blob-halo{filter:blur(18px);pointer-events:none;background:radial-gradient(circle,#8b5cf64d 0%,#22d3ee14 55%,#0000 75%);border-radius:9999px;animation:5s ease-in-out infinite halo-pulse;position:absolute;inset:-18%}.avatar-container.is-speaking .blob-halo{animation-duration:1.6s}@keyframes halo-pulse{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.06)}}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 14px #a855f780)}50%{filter:drop-shadow(0 0 26px #22d3eeb3)}}.animate-pulse-glow{animation:5s ease-in-out infinite pulse-glow}@keyframes blink{0%,90%,to{transform:scaleY(1)}93%,97%{transform:scaleY(.08)}}.animate-blink{animation:4.5s infinite blink}.chat-modal-position{bottom:8.5rem;left:1.25rem}@media (width>=640px){.chat-modal-position{left:2.25rem}}.chat-msg{animation:.4s cubic-bezier(.22,1,.36,1) chat-msg-in}@keyframes chat-msg-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-pop-enter-active,.chat-pop-leave-active{transform-origin:0 100%;transition:opacity .35s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1)}.chat-pop-enter-from,.chat-pop-leave-to{opacity:0;transform:translateY(24px)scale(.92)}.typing-dot{opacity:.5;background:currentColor;border-radius:9999px;width:5px;height:5px;animation:1.2s ease-in-out infinite typing-bounce}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.fade-enter-active,.fade-leave-active{transition:opacity .4s}.fade-enter-from,.fade-leave-to{opacity:0}
