@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn .3s ease-out forwards}.animate-slideUp{animation:slideUp .4s ease-out forwards}.animate-bounceIn{animation:bounceIn .6s ease-out forwards}.animate-pulse-soft{animation:pulse 2s ease-in-out infinite}.chat-scrollbar{overflow-x:hidden!important;overflow-y:auto!important;scroll-behavior:smooth;scrollbar-color:#cbd5e1 transparent;scrollbar-width:thin}.chat-scrollbar::-webkit-scrollbar{width:8px}.chat-scrollbar::-webkit-scrollbar-track{background:rgba(241,245,249,.5);border-radius:10px;margin:4px 0}.chat-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border:1px solid #f1f5f9;border-radius:10px;min-height:20px}.chat-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8}.chat-scrollbar::-webkit-scrollbar-thumb:active{background:#64748b}.chat-messages-container{height:100%;max-height:100%;overflow-x:hidden!important;overflow-y:auto!important;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.transition-all{transition:all .2s ease-in-out}.message-bubble:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-1px)}.typing-dot{animation:typing 1.4s ease-in-out infinite}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.glow-effect{box-shadow:0 0 20px rgba(59,130,246,.3)}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient{animation:gradientShift 3s ease infinite;background-size:200% 200%}@media (max-width:640px){.chat-widget{height:calc(100vh - 4rem);max-height:500px;width:calc(100vw - 2rem)}.chat-widget-button{bottom:1rem;right:1rem}}.backdrop-blur-fallback{background:hsla(0,0%,100%,.95)}@supports (backdrop-filter:blur(10px)){.backdrop-blur-fallback{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.8)}}.link-preview-container{transform-origin:center;transition:all .3s ease}.link-preview-container:hover{transform:translateY(-2px) scale(1.01)}@keyframes linkPreviewLoad{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.link-preview-loading{animation:linkPreviewLoad .4s ease-out forwards}.link-preview-skeleton{animation:skeleton-loading 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0,#f8f8f8 50%,#f0f0f0);background-size:200% 100%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.line-clamp-3{-webkit-line-clamp:3}.message-with-preview{max-width:100%}.message-with-preview .link-preview{border-radius:.75rem;margin-top:.5rem;overflow:hidden}.link-preview{overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.link-preview:hover{box-shadow:0 10px 25px rgba(0,0,0,.15);transform:translateY(-2px)}.link-preview-image{background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden;position:relative}.link-preview-image img{transition:transform .5s ease}.link-preview:hover .link-preview-image img{transform:scale(1.05)}.link-preview-placeholder{background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden;position:relative}.link-preview-placeholder:before{animation:shimmer 2s infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.link-preview-content{padding:1rem}.link-preview-title{font-weight:600;line-height:1.3;margin-bottom:.5rem;transition:color .2s ease}.link-preview:hover .link-preview-title{color:#3b82f6}.link-preview-description{color:#6b7280;font-size:.875rem;line-height:1.4}.link-preview-domain{align-items:center;color:#9ca3af;display:flex;font-size:.75rem;gap:.5rem;margin-bottom:.75rem}.link-preview-favicon{border-radius:2px;flex-shrink:0;height:16px;width:16px}.link-preview-indicator{background:linear-gradient(90deg,#3b82f6,#8b5cf6);height:2px;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.link-preview:hover .link-preview-indicator{transform:scaleX(1)}.link-preview-external{backdrop-filter:blur(4px);background:hsla(0,0%,100%,.9);border-radius:50%;opacity:0;padding:.5rem;position:absolute;right:.75rem;top:.75rem;transform:scale(.8);transition:all .3s ease}.link-preview:hover .link-preview-external{opacity:1;transform:scale(1)}.link-preview-loading{overflow:hidden;position:relative}.link-preview-loading:after{animation:loading-shine 1.5s infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes loading-shine{0%{left:-100%}to{left:100%}}.link-preview-error{background:#fef2f2;border:1px dashed #dc2626}.link-preview-error .link-preview-title{color:#dc2626}@media (max-width:640px){.link-preview{max-width:100%}.link-preview-content{padding:.75rem}.link-preview-image{height:120px}}