:root{--primary-color: #0D47A1;--primary-light: #1976D2;--primary-dark: #0A3D91;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--success-color: #10B981;--warning-color: #F59E0B;--error-color: #EF4444;--info-color: #3B82F6;--bg-primary: #FFFFFF;--bg-secondary: var(--gray-50);--bg-tertiary: var(--gray-100);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-tertiary: var(--gray-400);--border-color: var(--gray-200);--border-light: rgba(0, 0, 0, .06);--border-medium: rgba(0, 0, 0, .12);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, 1, 1)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:1.5}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.chatbox-app{width:100%;height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-4)}.loading-spinner{width:32px;height:32px;border:3px solid var(--gray-200);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:var(--text-secondary);font-size:var(--font-size-sm)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-container{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-5);border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--bg-primary) 0%,rgba(255,255,255,.95) 100%);backdrop-filter:blur(10px);flex-shrink:0;position:relative;z-index:10}.header-content{display:flex;align-items:center;gap:var(--space-3)}.avatar-container{position:relative}.avatar{width:40px;height:40px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));display:flex;align-items:center;justify-content:center;color:#fff}.avatar.small{width:32px;height:32px}.avatar-icon{width:20px;height:20px;fill:currentColor}.status-indicator{position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:var(--radius-full);border:2px solid var(--bg-primary)}.status-indicator.online{background:var(--success-color)}.status-indicator.offline{background:var(--gray-400)}.header-info{flex:1}.assistant-name{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0}.status-text{font-size:var(--font-size-xs);color:var(--text-secondary)}.header-actions{display:flex;gap:var(--space-2)}.action-btn{width:32px;height:32px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.action-btn svg{width:16px;height:16px;fill:currentColor}.messages-container{flex:1;overflow-y:auto;padding:var(--space-4) 0;scroll-behavior:smooth}.messages{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-5);min-height:100%}.message{display:flex;gap:var(--space-3);max-width:100%;animation:messageSlideIn .3s var(--ease-out)}.message.user-message{flex-direction:row-reverse}.message-avatar{flex-shrink:0;align-self:flex-end}.user-message .message-avatar{display:none}.message-content{flex:1;min-width:0}.message-text{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);color:var(--text-primary);line-height:1.5;word-wrap:break-word;position:relative}.user-message .message-text{background:var(--primary-color);color:#fff;margin-left:var(--space-8)}.bot-message .message-text{margin-right:var(--space-8)}.message-text p{margin:0}.message-text p+p{margin-top:var(--space-2)}.message-time{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:var(--space-1);padding:0 var(--space-4)}.user-message .message-time{text-align:right}.typing-indicator{display:flex;gap:var(--space-3);padding:0 var(--space-5);margin-bottom:var(--space-4)}.typing-dots{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);display:flex;gap:var(--space-1);align-items:center}.typing-dots span{width:6px;height:6px;border-radius:var(--radius-full);background:var(--text-tertiary);animation:typingDot 1.4s infinite ease-in-out}@keyframes typingDot{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.input-container{border-top:1px solid var(--border-color);background:var(--bg-primary);padding:var(--space-4) var(--space-5);flex-shrink:0}.message-form{display:flex;flex-direction:column;gap:var(--space-2)}.input-wrapper{display:flex;align-items:flex-end;gap:var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-2);border:1px solid var(--border-color);transition:border-color var(--transition-fast)}.input-wrapper:focus-within{border-color:var(--primary-color)}.file-input{display:none}.attach-btn{width:36px;height:36px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.attach-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.attach-btn svg{width:20px;height:20px;fill:currentColor}.message-input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:var(--font-size-base);line-height:1.5;resize:none;outline:none;min-height:20px;max-height:120px;padding:var(--space-2) 0;font-family:inherit}.message-input::-moz-placeholder{color:var(--text-tertiary)}.message-input::placeholder{color:var(--text-tertiary)}.send-btn{width:36px;height:36px;border:none;border-radius:var(--radius-md);background:var(--primary-color);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.send-btn:hover:not(:disabled){background:var(--primary-dark);transform:scale(1.05)}.send-btn:disabled{background:var(--gray-300);cursor:not-allowed;transform:none}.send-btn svg{width:18px;height:18px;fill:currentColor}.file-preview{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) 0}.file-item{display:flex;align-items:center;gap:var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--text-secondary)}.file-item .remove-file{width:16px;height:16px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.file-item .remove-file:hover{background:var(--error-color);color:#fff}.input-footer{display:flex;justify-content:space-between;align-items:center}.char-count{font-size:var(--font-size-xs);color:var(--text-tertiary)}.char-count.warning{color:var(--warning-color)}.char-count.error{color:var(--error-color)}.error-container{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--space-8)}.error-content{text-align:center;max-width:300px}.error-icon{width:48px;height:48px;margin:0 auto var(--space-4);color:var(--error-color)}.error-icon svg{width:100%;height:100%;fill:currentColor}.error-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2)}.error-message{color:var(--text-secondary);margin-bottom:var(--space-6);line-height:1.5}.retry-btn{background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-3) var(--space-6);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.retry-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}@media (max-width: 480px){.chat-header{padding:var(--space-3) var(--space-4)}.messages{padding:0 var(--space-4)}.input-container{padding:var(--space-3) var(--space-4)}.message-text{padding:var(--space-2) var(--space-3)}.bot-message .message-text{margin-right:var(--space-4)}.user-message .message-text{margin-left:var(--space-4)}}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}.messages-container::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.action-btn:focus-visible,.attach-btn:focus-visible,.send-btn:focus-visible,.retry-btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.message-input:focus{outline:none}.quick-replies{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-color);background:var(--bg-secondary);animation:quickRepliesSlideIn .3s var(--ease-out)}.quick-reply-btn{background:white;border:1px solid var(--border-color);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;transition:all .2s var(--ease-out);white-space:nowrap;position:relative;overflow:hidden}.quick-reply-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s ease}.quick-reply-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.quick-reply-btn:hover:before{left:100%}.quick-reply-btn:active{transform:translateY(0);transition:transform .1s ease}@keyframes quickRepliesSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-actions{display:flex;gap:var(--space-1);margin-top:var(--space-2);opacity:0;transition:opacity .2s ease}.message:hover .message-actions{opacity:1}.feedback-btn{width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.feedback-btn:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.feedback-btn.active{color:var(--primary-color)}.feedback-btn svg{width:14px;height:14px;fill:currentColor}::-moz-selection{background:var(--primary-color);color:#fff}::selection{background:var(--primary-color);color:#fff}:root,[data-theme=light]{--primary-color: #0D47A1;--primary-light: #1976D2;--primary-dark: #0A3D91;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--bg-primary: #FFFFFF;--bg-secondary: var(--gray-50);--bg-tertiary: var(--gray-100);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-tertiary: var(--gray-400);--border-color: var(--gray-200);--border-light: rgba(0, 0, 0, .06);--border-medium: rgba(0, 0, 0, .12);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1)}[data-theme=dark]{--primary-color: #1976D2;--primary-light: #42A5F5;--primary-dark: #0D47A1;--gray-50: #1A1D23;--gray-100: #1F2329;--gray-200: #2A2F38;--gray-300: #3A4048;--gray-400: #5A6169;--gray-500: #7A8189;--gray-600: #9AA1A9;--gray-700: #BAC1C9;--gray-800: #DAE1E9;--gray-900: #F0F4F8;--bg-primary: #0B0F14;--bg-secondary: var(--gray-50);--bg-tertiary: var(--gray-100);--text-primary: #E5E7EB;--text-secondary: #9CA3AF;--text-tertiary: #6B7280;--border-color: var(--gray-200);--border-light: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .12);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5)}*{transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}[data-theme=dark] .loading-spinner{border-color:var(--gray-200);border-top-color:var(--primary-color)}[data-theme=dark] .avatar{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark))}[data-theme=dark] .status-indicator.online{background:var(--success-color)}[data-theme=dark] .message-text{background:var(--bg-secondary);color:var(--text-primary)}[data-theme=dark] .user-message .message-text{background:var(--primary-color);color:#fff}[data-theme=dark] .typing-dots{background:var(--bg-secondary)}[data-theme=dark] .typing-dots span{background:var(--text-tertiary)}[data-theme=dark] .input-wrapper{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .input-wrapper:focus-within{border-color:var(--primary-color)}[data-theme=dark] .message-input{color:var(--text-primary)}[data-theme=dark] .message-input::-moz-placeholder{color:var(--text-tertiary)}[data-theme=dark] .message-input::placeholder{color:var(--text-tertiary)}[data-theme=dark] .send-btn{background:var(--primary-color)}[data-theme=dark] .send-btn:hover:not(:disabled){background:var(--primary-light)}[data-theme=dark] .send-btn:disabled{background:var(--gray-300)}[data-theme=dark] .file-item{background:var(--bg-tertiary);color:var(--text-secondary)}[data-theme=dark] .file-item .remove-file{color:var(--text-tertiary)}[data-theme=dark] .file-item .remove-file:hover{background:var(--error-color);color:#fff}[data-theme=dark] .action-btn:hover,[data-theme=dark] .attach-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .retry-btn{background:var(--primary-color)}[data-theme=dark] .retry-btn:hover{background:var(--primary-light)}[data-theme=dark] .messages-container::-webkit-scrollbar-thumb{background:var(--gray-300)}[data-theme=dark] .messages-container::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}[data-theme=dark] ::-moz-selection{background:var(--primary-color);color:#fff}[data-theme=dark] ::selection{background:var(--primary-color);color:#fff}[data-theme=dark] .action-btn:focus-visible,[data-theme=dark] .attach-btn:focus-visible,[data-theme=dark] .send-btn:focus-visible,[data-theme=dark] .retry-btn:focus-visible{outline-color:var(--primary-color)}[data-primary-color]{--primary-color: var(--custom-primary, #0D47A1);--primary-light: var(--custom-primary-light, #1976D2);--primary-dark: var(--custom-primary-dark, #0A3D91)}.primary-gradient{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark))}@media (prefers-contrast: high){:root{--border-color: var(--gray-400);--text-secondary: var(--gray-700)}[data-theme=dark]{--border-color: var(--gray-600);--text-secondary: var(--gray-300)}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}.loading-spinner{animation:none;border-top-color:var(--primary-color)}.typing-dots span{animation:none;opacity:.7}.message{animation:none}}@media (prefers-color-scheme: dark){:root:not([data-theme]){--primary-color: #1976D2;--primary-light: #42A5F5;--primary-dark: #0D47A1;--gray-50: #1A1D23;--gray-100: #1F2329;--gray-200: #2A2F38;--gray-300: #3A4048;--gray-400: #5A6169;--gray-500: #7A8189;--gray-600: #9AA1A9;--gray-700: #BAC1C9;--gray-800: #DAE1E9;--gray-900: #F0F4F8;--bg-primary: #0B0F14;--bg-secondary: var(--gray-50);--bg-tertiary: var(--gray-100);--text-primary: #E5E7EB;--text-secondary: #9CA3AF;--text-tertiary: #6B7280;--border-color: var(--gray-200);--border-light: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .12)}}:root{--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out-circ: cubic-bezier(.85, 0, .15, 1);--ease-spring: cubic-bezier(.68, -.55, .265, 1.55);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--duration-slower: .5s}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes messageShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}@keyframes quickReplySlideIn{0%{opacity:0;transform:translateY(20px) scale(.9)}50%{opacity:.8;transform:translateY(-2px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes quickReplySlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.95)}}@keyframes buttonFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes buttonPress{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes typingDot{0%,60%,to{transform:translateY(0) scale(.8);opacity:.5}30%{transform:translateY(-8px) scale(1);opacity:1}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out-quart)}.animate-fade-out{animation:fadeOut var(--duration-normal) var(--ease-out-quart)}.animate-slide-in-up{animation:slideInUp var(--duration-normal) var(--ease-out-quart)}.animate-slide-out-down{animation:slideOutDown var(--duration-normal) var(--ease-out-quart)}.animate-bounce-in{animation:bounceIn var(--duration-slow) var(--ease-out-back)}.animate-pulse{animation:pulse 2s infinite}.animate-breathe{animation:breathe 3s ease-in-out infinite}.animate-spin{animation:rotate 1s linear infinite}.animate-shake{animation:messageShake .5s ease-in-out}.message{animation:messageSlideIn var(--duration-normal) var(--ease-out-quart)}.message.error{animation:messageSlideIn var(--duration-normal) var(--ease-out-quart),messageShake .5s ease-in-out .3s}.send-btn:active,.action-btn:active,.attach-btn:active{animation:buttonPress var(--duration-fast) ease-out}.loading-spinner{animation:rotate 1s linear infinite}.typing-dots span{animation:typingDot 1.4s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}.typing-dots span:nth-child(3){animation-delay:0s}.status-indicator.online{animation:pulse 2s infinite}.chatbox-unread-badge{transition:transform var(--duration-normal) var(--ease-out-back)}.chatbox-unread-badge.show{animation:bounceIn var(--duration-slow) var(--ease-out-back)}.file-item{animation:slideInUp var(--duration-normal) var(--ease-out-quart)}.error-container{animation:fadeIn var(--duration-slow) var(--ease-out-quart)}.error-icon{animation:bounceIn var(--duration-slow) var(--ease-out-back) .2s}.chat-container{animation:fadeIn var(--duration-normal) var(--ease-out-quart)}.chat-header{animation:slideInUp var(--duration-normal) var(--ease-out-quart) .1s both}.input-container{animation:slideInUp var(--duration-normal) var(--ease-out-quart) .2s both}.action-btn,.attach-btn{transition:all var(--duration-fast) var(--ease-out-quart)}.action-btn:hover,.attach-btn:hover{transform:scale(1.05)}.send-btn{transition:all var(--duration-fast) var(--ease-out-quart)}.send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px rgba(var(--primary-color),.3)}.retry-btn{transition:all var(--duration-fast) var(--ease-out-quart)}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--primary-color),.3)}.message-input,.input-wrapper{transition:all var(--duration-fast) ease}.input-wrapper:focus-within{transform:scale(1.01);box-shadow:0 0 0 3px rgba(var(--primary-color),.1)}.message-text{transition:all var(--duration-fast) ease}.message:hover .message-text{transform:translateY(-1px);box-shadow:var(--shadow-md)}.avatar{transition:all var(--duration-fast) var(--ease-out-quart)}.message:hover .avatar{transform:scale(1.05)}.file-item .remove-file{transition:all var(--duration-fast) var(--ease-out-quart)}.file-item .remove-file:hover{transform:scale(1.1)}.char-count{transition:color var(--duration-fast) ease}.messages-container{scroll-behavior:smooth}*{transition:background-color var(--duration-normal) ease,border-color var(--duration-normal) ease,color var(--duration-normal) ease,box-shadow var(--duration-normal) ease}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple-effect:active:before{width:300px;height:300px}@keyframes progressBar{0%{width:0%}to{width:100%}}.progress-bar{animation:progressBar 2s ease-out}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-fade-in,.chat-container,.error-container{animation:fadeIn .12s ease!important}.animate-bounce-in,.animate-shake,.message,.typing-dots span,.status-indicator.online{animation:none!important}.action-btn:hover,.attach-btn:hover,.send-btn:hover:not(:disabled),.retry-btn:hover{transform:none!important}}.message,.typing-indicator,.loading-spinner,.send-btn,.action-btn,.attach-btn{will-change:transform,opacity}.animate-slide-in-up,.animate-slide-out-down,.animate-bounce-in,.message{transform:translateZ(0);backface-visibility:hidden}@media (prefers-reduced-motion: no-preference){.smooth-transitions{transition:all var(--duration-normal) var(--ease-out-quart)}}.ease-spring{transition-timing-function:var(--ease-spring)}.ease-expo{transition-timing-function:var(--ease-out-expo)}.ease-back{transition-timing-function:var(--ease-out-back)}
