@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.typing-cursor{vertical-align:text-bottom;background-color:currentColor;width:2px;height:1em;margin-left:2px;animation:1s infinite blink;display:inline-block}@keyframes waitingDots{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}.waiting-dots{color:#6b7280;margin-left:4px;font-weight:700;animation:1.5s infinite waitingDots;display:inline-block}.drag-handle{-webkit-user-select:none;user-select:none;transition:all .2s}.drag-handle:hover{background-color:#22c55e26;transform:scale(1.02)}.drag-handle:active{background-color:#22c55e40;transform:scale(.98);cursor:grabbing!important}.chatbot-dragging{transition:none;transform:rotate(2deg);box-shadow:0 20px 40px #22c55e66,0 10px 20px #0003}@keyframes snapToEdge{0%{transform:translate(0)}to{transform:translateX(var(--snap-distance,0))}}.chatbot-snapping{animation:.3s cubic-bezier(.4,0,.2,1) snapToEdge}.chatbot-message-content{will-change:contents;contain:layout style paint;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;backface-visibility:hidden;transition:opacity 50ms ease-out;transform:translateZ(0)}.chatbot-message-bubble{contain:layout style;will-change:transform;transform:translateZ(0)}.chatbot-button{transition:all .3s cubic-bezier(.4,0,.2,1)}.chatbot-button:hover{transform:scale(1.05);box-shadow:0 10px 25px #22c55e4d}@media (max-width:768px){.chatbot-window-mobile{animation:.4s cubic-bezier(.4,0,.2,1) slideUp}}.chatbot-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:.3s ease-out fadeIn}.chatbot-open-mobile{width:100%;position:fixed;overflow:hidden}.button-dragging{transition:none!important;transform:scale(1.1)rotate(5deg)!important;box-shadow:0 15px 30px #22c55e66,0 8px 16px #0003!important}@keyframes dragHint{0%,to{transform:translate(0)}25%{transform:translate(3px)}75%{transform:translate(-3px)}}.drag-hint{animation:.5s ease-in-out infinite dragHint}.snap-indicator{pointer-events:none;z-index:999;background:#22c55e80;border-radius:50%;width:8px;height:8px;transition:all .2s;position:fixed}.snap-indicator.active{background:#22c55e;transform:scale(1.5)}
