@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@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-slideInRight{animation:.4s ease-out forwards slideInRight}.animate-scaleIn{animation:.3s ease-out forwards scaleIn}.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:#10b981 transparent;scrollbar-width:thin;overflow:hidden auto!important}.chat-scrollbar::-webkit-scrollbar{width:8px}.chat-scrollbar::-webkit-scrollbar-track{background:#f0fdfa66;border-radius:10px;margin:4px 0}.chat-scrollbar::-webkit-scrollbar-thumb{background:linear-gradient(#10b981,#059669);border:2px solid #f0f9ff;border-radius:10px;min-height:20px;transition:all .3s}.chat-scrollbar::-webkit-scrollbar-thumb:hover{background:linear-gradient(#059669,#047857)}.chat-scrollbar::-webkit-scrollbar-thumb:active{background:#047857}.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{transition:all .3s cubic-bezier(.4,0,.2,1)}.message-bubble:hover{transform:translateY(-2px);box-shadow:0 8px 20px #10b98126}.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 25px #10b98166,0 0 50px #10b98133}.button-glow{box-shadow:0 4px 15px #10b9814d}.button-glow:hover{box-shadow:0 6px 25px #10b98166}@keyframes gradientShift{0%{background-position:0}50%{background-position:100%}to{background-position:0}}.animate-gradient{background-size:200% 200%;animation:3s infinite gradientShift}.chat-widget-container{transition:all .3s cubic-bezier(.4,0,.2,1)}.chat-widget-container:hover{box-shadow:0 25px 50px -12px #10b98140}@media (max-width:640px){.chat-widget{width:calc(100vw - 2rem);height:calc(100vh - 4rem);max-height:500px}.chat-widget-button{bottom:1rem;right:1rem}.chat-messages-container{max-height:calc(100vh - 250px)}}.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}.chat-input-wrapper{transition:all .3s cubic-bezier(.4,0,.2,1)}.chat-input-wrapper:focus-within{border-color:#10b981;box-shadow:0 4px 20px #10b98126}.chat-input-wrapper textarea{transition:all .2s}.chat-input-wrapper textarea:focus{outline:none}.send-button{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.send-button:hover:not(:disabled){transform:translateY(-2px)}.send-button:active:not(:disabled){transform:translateY(1px)}@media (max-width:640px){.link-preview{max-width:100%}.link-preview-content{padding:.75rem}.link-preview-image{height:120px}}
