.chat-widget-panel{position:fixed;width:380px;min-width:320px;min-height:360px;height:450px;max-height:80vh;background:linear-gradient(165deg,#111115fa,#0c0c10fc,#14121cfa);border-radius:20px;box-shadow:0 15px 40px #00000080,0 0 40px #8b5cf61a;border:1px solid rgba(139,92,246,.3);display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden;resize:both;z-index:9999;cursor:default;animation:chatPanelSlideIn .4s cubic-bezier(.16,1,.3,1)}@keyframes chatPanelSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes borderGlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.chat-widget-toggle{position:fixed;bottom:24px;right:24px;width:64px;height:64px;border-radius:999px;border:2px solid rgba(139,92,246,.5);background:linear-gradient(135deg,#8b5cf6,#a78bfa);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 8px 24px #0006,0 0 20px #8b5cf64d;transition:transform .3s ease,box-shadow .3s ease;z-index:9998}.chat-widget-toggle:hover{transform:scale(1.08);box-shadow:0 12px 32px #00000080}.chat-bot-icon{width:48px;height:48px;border-radius:999px;object-fit:cover;border:3px solid rgba(0,20,40,.9);box-shadow:0 0 10px #0000004d}.chat-widget-header{padding:14px 16px;background:linear-gradient(135deg,#8b5cf626,#111115fa);color:#fff;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:.95rem;border-bottom:1px solid rgba(139,92,246,.2);position:relative;overflow:hidden;z-index:1}.chat-widget-header:before{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:linear-gradient(90deg,transparent,rgba(139,92,246,.1),transparent);animation:headerShine 3s ease-in-out infinite;z-index:-1}@keyframes headerShine{0%{left:-100%}50%,to{left:100%}}.chat-header-left{display:flex;align-items:center;gap:10px;cursor:move}.chat-header-left span{background:linear-gradient(90deg,#fff,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.5px}.chat-header-avatar{width:28px;height:28px;border-radius:999px;object-fit:cover;border:2px solid #8b5cf6;box-shadow:0 0 12px #8b5cf680;animation:avatarGlow 2s ease-in-out infinite alternate}@keyframes avatarGlow{0%{box-shadow:0 0 8px #8b5cf666}to{box-shadow:0 0 16px #8b5cf6b3}}.chat-widget-header button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.85rem;cursor:pointer;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.chat-widget-header button:hover{background:#ff646433;border-color:#ff646466;transform:scale(1.1)}.chat-widget-messages{flex:1;min-height:0;padding:14px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#11111580,#0c0c10cc)}.chat-widget-messages::-webkit-scrollbar{width:6px}.chat-widget-messages::-webkit-scrollbar-track{background:#11111580;border-radius:3px}.chat-widget-messages::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8b5cf6,#a78bfa);border-radius:3px}.chat-widget-messages::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#a78bfa,#8b5cf6)}.chat-message-row{display:flex;align-items:flex-end;margin-bottom:4px}.chat-message-row.from-ai{justify-content:flex-start}.chat-message-row.from-user{justify-content:flex-end}.chat-avatar{width:28px;height:28px;border-radius:999px;background:#022c22;display:flex;align-items:center;justify-content:center;color:#a7f3d0;font-size:.7rem;font-weight:600;margin:0 6px;box-shadow:0 0 8px #0f766e80}.user-avatar{background:#1d4ed8;color:#eff6ff}.chat-bubble-wrapper{display:flex;flex-direction:column;max-width:70%}.chat-bubble{padding:12px 16px;border-radius:18px;font-size:.9rem;line-height:1.5;word-break:break-word;animation:bubble-pop .25s cubic-bezier(.34,1.56,.64,1);position:relative}.chat-ai{background:linear-gradient(135deg,#7c3aed,#8b5cf6,#a78bfa);color:#fff;box-shadow:0 4px 15px #8b5cf64d,0 0 20px #8b5cf626,inset 0 1px #fff3;border:1px solid rgba(255,255,255,.1)}.chat-user{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 15px #6366f14d,0 0 20px #8b5cf626,inset 0 1px #fff3;border:1px solid rgba(255,255,255,.1)}.chat-intro{background:linear-gradient(145deg,#1e1932f2,#281e3ce6,#19142df2)!important;border:2px solid rgba(139,92,246,.4)!important;border-radius:20px!important;padding:18px 20px!important;box-shadow:0 0 0 1px #8b5cf633,0 8px 32px #0006,0 0 40px #8b5cf61a,inset 0 1px #ffffff1a!important;position:relative;overflow:hidden}.chat-intro:before{display:none}@keyframes introGradient{0%{background-position:0% 50%}to{background-position:200% 50%}}.chat-intro-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#a78bfa;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(139,92,246,.2);display:flex;align-items:center;gap:8px}.chat-intro-header:before{display:none}@keyframes starPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes bubble-pop{0%{transform:scale(.8) translateY(10px);opacity:0}50%{transform:scale(1.05) translateY(-2px);opacity:1}to{transform:scale(1) translateY(0)}}.chat-timestamp{margin-top:6px;font-size:.72rem;font-weight:600;letter-spacing:.8px;align-self:flex-end;padding:4px 10px;border-radius:12px;background:linear-gradient(135deg,#1e1932cc,#141223e6);border:1px solid rgba(139,92,246,.25);position:relative;display:flex;align-items:center;gap:5px;box-shadow:0 2px 8px #0003}.chat-timestamp:before{display:none}.chat-timestamp span,.chat-timestamp{color:#c4b5fd;text-shadow:0 0 8px rgba(139,92,246,.3)}@keyframes clockPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.typing-indicator{display:inline-flex;gap:4px;padding:2px 0}.typing-indicator span{width:6px;height:6px;border-radius:999px;background:#e5fffb;opacity:.6;animation:typing-bounce 1s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}.chat-widget-input{padding:12px 14px;border-top:1px solid rgba(139,92,246,.15);background:linear-gradient(180deg,#141223e6,#0f0c19f2);display:flex;gap:8px;align-items:flex-end;position:relative}.chat-widget-input:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.4),transparent)}.chat-widget-input textarea{flex:1;resize:none;min-height:42px;max-height:80px;padding:10px 14px;border-radius:14px;border:1px solid rgba(139,92,246,.3);background:#111115cc;color:#fff;font-size:.9rem;flex-shrink:0;transition:all .2s ease;font-family:inherit}.chat-widget-input textarea:focus{outline:none;border-color:#8b5cf699;box-shadow:0 0 15px #8b5cf633}.chat-widget-input textarea::placeholder{color:#fff6}.chat-widget-input button{padding:0 20px;height:42px;border-radius:14px;border:none;background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff;font-weight:700;cursor:pointer;font-size:.9rem;box-shadow:0 4px 15px #8b5cf666,0 0 20px #a78bfa33;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.chat-widget-input button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf680,0 0 30px #a78bfa4d}.chat-widget-input button:disabled{opacity:.5;cursor:default;transform:none}.chat-launcher-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center}.chat-online-dot{position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:999px;background:#0f8;border:2px solid #000;box-shadow:0 0 10px #0f8c;animation:onlinePulse 2s ease-in-out infinite}@keyframes onlinePulse{0%,to{box-shadow:0 0 8px #0f89;transform:scale(1)}50%{box-shadow:0 0 16px #00ff88e6;transform:scale(1.1)}}.chat-avatar-wrapper{position:relative;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;margin-right:8px;flex-shrink:0}.chat-avatar-wrapper .chat-avatar{width:32px;height:32px;border-radius:999px;object-fit:cover;border:2px solid rgba(139,92,246,.5);box-shadow:0 0 12px #8b5cf64d}.chat-launcher-avatar .chat-online-dot,.chat-avatar-wrapper .chat-online-dot{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:999px;background:#0f8;border:2px solid rgba(0,20,40,.9);box-shadow:0 0 8px #0f8c;animation:onlinePulse 2s ease-in-out infinite}.chat-widget-panel.minimized{min-height:auto!important;overflow:hidden}.chat-widget-panel.drag-over{border-color:#a78bfa!important}.chat-drag-overlay{position:absolute;inset:0;background:#141223f2;border:3px dashed #a78bfa;border-radius:18px;display:flex;align-items:center;justify-content:center;z-index:100}.chat-drag-content{display:flex;flex-direction:column;align-items:center;gap:10px;color:#a78bfa;font-size:1rem;font-weight:600}.chat-drag-icon{font-size:3rem;animation:bounceFile 1s ease infinite}@keyframes bounceFile{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.chat-header-actions{display:flex;align-items:center;gap:4px}.chat-header-btn{background:transparent;border:none;font-size:.9rem;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .2s ease;opacity:.7}.chat-header-btn:hover{background:#ffffff1a;opacity:1}.chat-header-close{background:transparent;border:none;color:#fff;cursor:pointer;padding:4px 8px;opacity:.7;transition:opacity .2s ease}.chat-header-close:hover{opacity:1}.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:#14122380;border-top:1px solid rgba(139,92,246,.1)}.chat-suggestion-btn{background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);color:#a78bfa;padding:6px 12px;border-radius:16px;font-size:.72rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.chat-suggestion-btn:hover{background:#8b5cf633;border-color:#8b5cf680;transform:translateY(-1px)}.chat-file-preview{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#1e1932cc;border-top:1px solid rgba(139,92,246,.2);border-bottom:1px solid rgba(139,92,246,.2)}.chat-file-preview .chat-file-icon{font-size:1.5rem}.chat-file-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.chat-file-name{color:#fff;font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-file-size{color:#ffffff80;font-size:.7rem}.chat-file-remove{background:#ff646433;border:1px solid rgba(255,100,100,.4);color:#ff6464;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.chat-file-remove:hover{background:#ff646466}.chat-file-attachment{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#0000004d;border-radius:8px;margin-bottom:8px;border:1px solid rgba(255,255,255,.1)}.chat-file-attachment .chat-file-icon{font-size:1.2rem}.chat-file-attachment .chat-file-name{font-size:.75rem;max-width:150px}.chat-file-attachment .chat-file-size{font-size:.65rem}.chat-attach-btn{background:#8b5cf626;border:1px solid rgba(139,92,246,.3);color:#a78bfa;width:40px;height:42px;border-radius:10px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;padding:0}.chat-attach-btn:hover{background:#8b5cf640;border-color:#8b5cf680;transform:scale(1.05)}.chat-message-actions{display:flex;align-items:center;gap:8px;margin-top:4px}.chat-copy-btn{background:transparent;border:none;font-size:.75rem;cursor:pointer;padding:2px 6px;border-radius:4px;opacity:.5;transition:all .2s ease}.chat-copy-btn:hover{opacity:1;background:#ffffff1a}@media(max-width:480px){.chat-widget-panel{width:calc(100vw - 20px);min-width:auto;max-width:100%;left:10px!important;right:10px;bottom:80px;height:60vh;max-height:450px}.chat-widget-toggle{bottom:16px;right:16px;width:56px;height:56px}.chat-bot-icon{width:40px;height:40px}.chat-suggestions{overflow-x:auto;flex-wrap:nowrap;padding:8px}.chat-suggestion-btn{flex-shrink:0}}@media(prefers-reduced-motion:reduce){.chat-widget-panel,.chat-bubble,.chat-widget-toggle,.chat-online-dot,.chat-header-avatar,.typing-indicator span{animation:none;transition:none}}:root{--color-primary: #00ffcc;--color-primary-dark: #00d4aa;--color-secondary: #8b5cf6;--color-secondary-dark: #6d28d9;--color-accent: #ff6b9d;--color-success: #00ff88;--color-warning: #ffcc00;--color-danger: #ff4444;--color-info: #00d4ff;--color-background: #000814;--color-background-alt: #0a1628;--color-surface: rgba(0, 20, 40, .5);--color-text: #ffffff;--color-text-secondary: rgba(255, 255, 255, .7);--color-text-muted: rgba(255, 255, 255, .5);--color-border: rgba(255, 255, 255, .1);--color-border-hover: rgba(255, 255, 255, .2);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--spacing-4xl: 40px;--spacing-5xl: 48px;--spacing-6xl: 64px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 14px;--radius-3xl: 16px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .15);--shadow-md: 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .25);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .3);--shadow-glow-primary: 0 0 20px rgba(0, 255, 204, .3);--shadow-glow-secondary: 0 0 20px rgba(139, 92, 246, .3);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "Fira Code", "Consolas", monospace;--ease-default: cubic-bezier(.25, .1, .25, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-overlay: 400;--z-modal: 500;--z-tooltip: 700;--z-toast: 800}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-sans);background:var(--color-background);color:var(--color-text);line-height:1.5}.theme-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);transition:all var(--duration-normal) var(--ease-default)}.theme-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.theme-glass{background:#ffffff08;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl)}.theme-surface{background:var(--color-surface);border:1px solid var(--color-border)}.theme-surface-elevated{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.theme-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.theme-btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#000;box-shadow:0 4px 20px #00ffcc40}.theme-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00ffcc59}.theme-btn-secondary{background:linear-gradient(135deg,var(--color-secondary),var(--color-secondary-dark));color:#fff;box-shadow:0 4px 20px #8b5cf640}.theme-btn-secondary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #8b5cf659}.theme-btn-ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.theme-btn-ghost:hover{background:#ffffff0d;border-color:var(--color-border-hover)}.theme-gradient-text{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.theme-gradient-text-premium{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.theme-input{width:100%;padding:14px 16px;font-size:14px;background:#0006;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);outline:none;transition:all var(--duration-fast) var(--ease-default)}.theme-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #00ffcc26}.theme-input::placeholder{color:var(--color-text-muted)}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{opacity:.5}50%{opacity:1}}.animate-shimmer{animation:shimmer 1.5s infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-fade-in-up{animation:fadeInUp .4s ease-out}.animate-fade-in-down{animation:fadeInDown .4s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff05;border-radius:4px}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) rgba(255,255,255,.02)}::selection{background:#00ffcc4d;color:#fff}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus-visible,[role=button]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px #0fc3}.focus-within-ring:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary);color:#000;padding:8px 16px;z-index:9999;transition:top .3s;font-weight:600;border-radius:0 0 var(--radius-md) 0}.skip-link:focus{top:0}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px){.show-mobile-only{display:none!important}}@media(max-width:1024px){.hide-tablet{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!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}
