@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:.3s ease-out forwards fadeIn}.animate-slideUp{animation:.4s ease-out forwards slideUp}.animate-bounceIn{animation:.6s ease-out forwards bounceIn}.animate-pulse-soft{animation:2s ease-in-out infinite pulse}.chat-scrollbar{scroll-behavior:smooth;scrollbar-color:#cbd5e1 transparent;scrollbar-width:thin;overflow:hidden auto!important}.chat-scrollbar::-webkit-scrollbar{width:8px}.chat-scrollbar::-webkit-scrollbar-track{background:#f1f5f980;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{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;height:100%;max-height:100%;overflow:hidden auto!important}.transition-all{transition:all .2s ease-in-out}.message-bubble:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.typing-dot{animation:1.4s ease-in-out infinite typing}.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 #3b82f64d}@keyframes gradientShift{0%{background-position:0}50%{background-position:100%}to{background-position:0}}.animate-gradient{background-size:200% 200%;animation:3s infinite gradientShift}@media (max-width:640px){.chat-widget{width:calc(100vw - 2rem);height:calc(100vh - 4rem);max-height:500px}.chat-widget-button{bottom:1rem;right:1rem}}.backdrop-blur-fallback{background:#fffffff2}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.backdrop-blur-fallback{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc}}.link-preview-container{transform-origin:50%;transition:all .3s}.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:.4s ease-out forwards linkPreviewLoad}.link-preview-skeleton{background:linear-gradient(90deg,#f0f0f0,#f8f8f8 50%,#f0f0f0) 0 0/200% 100%;animation:1.5s ease-in-out infinite skeleton-loading}@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{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.link-preview:hover{transform:translateY(-2px);box-shadow:0 10px 25px #00000026}.link-preview-image{background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.link-preview-image img{transition:transform .5s}.link-preview:hover .link-preview-image img{transform:scale(1.05)}.link-preview-placeholder{background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.link-preview-placeholder:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;animation:2s infinite shimmer;position:absolute;top:0;left:-100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.link-preview-content{padding:1rem}.link-preview-title{margin-bottom:.5rem;font-weight:600;line-height:1.3;transition:color .2s}.link-preview:hover .link-preview-title{color:#3b82f6}.link-preview-description{color:#6b7280;font-size:.875rem;line-height:1.4}.link-preview-domain{color:#9ca3af;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.75rem;display:flex}.link-preview-favicon{border-radius:2px;flex-shrink:0;width:16px;height:16px}.link-preview-indicator{transform-origin:0;background:linear-gradient(90deg,#3b82f6,#8b5cf6);height:2px;transition:transform .3s;transform:scaleX(0)}.link-preview:hover .link-preview-indicator{transform:scaleX(1)}.link-preview-external{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#ffffffe6;border-radius:50%;padding:.5rem;transition:all .3s;position:absolute;top:.75rem;right:.75rem;transform:scale(.8)}.link-preview:hover .link-preview-external{opacity:1;transform:scale(1)}.link-preview-loading{position:relative;overflow:hidden}.link-preview-loading:after{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:100%;height:100%;animation:1.5s infinite loading-shine;position:absolute;top:0;left:-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}}
