@fusioni/client-sdk 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- :root{--fusioni-primary:#2563eb;--fusioni-primary-light:#3b82f6;--fusioni-primary-dark:#1d4ed8;--fusioni-secondary:#64748b;--fusioni-success:#059669;--fusioni-warning:#d97706;--fusioni-error:#dc2626;--fusioni-info:#0284c7;--fusioni-bg-primary:#fff;--fusioni-bg-secondary:#e7e7e7;--fusioni-bg-tertiary:#f1f5f9;--fusioni-bg-accent:#f0f9ff;--fusioni-bg-dark:#0f172a;--fusioni-bg-darker:#020617;--fusioni-text-primary:#0f172a;--fusioni-text-secondary:#475569;--fusioni-text-muted:#94a3b8;--fusioni-text-light:#fff;--fusioni-border:#e2e8f0;--fusioni-border-light:#f1f5f9;--fusioni-border-dark:#334155;--fusioni-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--fusioni-shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--fusioni-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--fusioni-shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--fusioni-shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--fusioni-radius:0.375rem;--fusioni-radius-md:0.5rem;--fusioni-radius-lg:0.75rem;--fusioni-radius-xl:1rem;--fusioni-radius-2xl:1.5rem;--fusioni-transition:all 0.2s cubic-bezier(0.4,0,0.2,1);--fusioni-transition-fast:all 0.15s cubic-bezier(0.4,0,0.2,1)}.fusioni-chat-widget{--fusioni-primary:var(--primary-color,#2563eb);--fusioni-primary-light:var(--primary-color,#3b82f6);--fusioni-primary-dark:var(--primary-color,#1d4ed8)}.fusioni-chat-widget.dark{--fusioni-primary:var(--primary-color,#3b82f6);--fusioni-primary-light:var(--primary-color,#60a5fa);--fusioni-primary-dark:var(--primary-color,#2563eb);--fusioni-secondary:#64748b;--fusioni-success:#10b981;--fusioni-warning:#f59e0b;--fusioni-error:#ef4444;--fusioni-info:#06b6d4;--fusioni-bg-primary:#0f172a;--fusioni-bg-secondary:#1e293b;--fusioni-bg-tertiary:#334155;--fusioni-bg-accent:#1e293b;--fusioni-bg-dark:#020617;--fusioni-bg-darker:#000;--fusioni-text-primary:#f8fafc;--fusioni-text-secondary:#cbd5e1;--fusioni-text-muted:#64748b;--fusioni-text-light:#fff;--fusioni-border:#334155;--fusioni-border-light:#475569;--fusioni-border-dark:#1e293b}.fusioni-chat-widget{background-color:var(--fusioni-bg-primary);color:var(--fusioni-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}.fusioni-floating-button{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,var(--fusioni-primary) 0,var(--fusioni-primary-light) 100%);border:none;border:2px solid hsla(0,0%,100%,.1);border-radius:50%;box-shadow:var(--fusioni-shadow-2xl);cursor:pointer;display:flex;height:64px;justify-content:center;overflow:visible;position:fixed;width:64px;z-index:1000}.fusioni-floating-button:hover{background:linear-gradient(135deg,var(--fusioni-primary-dark) 0,var(--fusioni-primary) 100%);box-shadow:0 25px 50px -12px rgba(37,99,235,.4);transform:translateY(-2px) scale(1.05)}.fusioni-floating-button:active{transform:translateY(0) scale(.98)}.fusioni-floating-button-glass{backdrop-filter:blur(20px);background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.4);box-shadow:0 8px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.4)}@supports not (backdrop-filter:blur(20px)){.fusioni-floating-button-glass{background:hsla(0,0%,100%,.9);border:1px solid rgba(0,0,0,.1)}}.fusioni-floating-button-minimal{background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border);box-shadow:0 4px 12px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.1)}.fusioni-floating-button-solid{background:linear-gradient(135deg,var(--fusioni-primary) 0,var(--fusioni-primary-light) 100%);box-shadow:0 4px 12px rgba(37,99,235,.15),0 1px 3px rgba(37,99,235,.1)}.fusioni-floating-button-content{align-items:center;display:flex;justify-content:center}.fusioni-floating-button-icon{transition:all .3s cubic-bezier(.4,0,.2,1)}.fusioni-floating-button-glass .fusioni-floating-button-icon{color:var(--fusioni-text-primary);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.fusioni-floating-button-minimal .fusioni-floating-button-icon{color:var(--fusioni-text-primary)}.fusioni-floating-button-solid .fusioni-floating-button-icon{color:#fff}.fusioni-floating-button-attention-ring{animation:attentionRingPulse 3s ease-in-out infinite;border:2px solid var(--fusioni-primary);border-radius:50%;bottom:-8px;left:-8px;opacity:0;pointer-events:none;position:absolute;right:-8px;top:-8px}.fusioni-floating-button-attention-ring-2{animation:attentionRingPulse 3s ease-in-out .5s infinite;border:1px solid var(--fusioni-primary-light);border-radius:50%;bottom:-16px;left:-16px;opacity:0;pointer-events:none;position:absolute;right:-16px;top:-16px}.fusioni-floating-button-attention-ring-3{animation:attentionRingPulse 3s ease-in-out 1s infinite;border:1px solid rgba(99,102,241,.3);border-radius:50%;bottom:-24px;left:-24px;opacity:0;pointer-events:none;position:absolute;right:-24px;top:-24px}.fusioni-floating-button-neural-particles{bottom:0;left:0;overflow:visible;pointer-events:none;position:absolute;right:0;top:0}.fusioni-neural-particle{animation:neuralParticleFloat 4s ease-in-out infinite;background:var(--fusioni-primary-light);border-radius:50%;box-shadow:0 0 6px var(--fusioni-primary-light);height:3px;opacity:0;position:absolute;width:3px}.fusioni-neural-particle:first-child{animation-delay:0s;left:15%;top:20%}.fusioni-neural-particle:nth-child(2){animation-delay:.8s;right:20%;top:15%}.fusioni-neural-particle:nth-child(3){animation-delay:1.6s;bottom:25%;left:25%}.fusioni-neural-particle:nth-child(4){animation-delay:2.4s;bottom:20%;right:15%}.fusioni-neural-particle:nth-child(5){animation-delay:3.2s;left:5%;top:50%}.fusioni-neural-particle:nth-child(6){animation-delay:.4s;right:5%;top:50%}.fusioni-floating-button-brain-activity{animation:brainActivityPulse 2.5s ease-in-out infinite;background:linear-gradient(45deg,#10b981,#059669);border-radius:50%;box-shadow:0 0 8px rgba(16,185,129,.6);height:16px;opacity:0;pointer-events:none;position:absolute;right:-2px;top:-2px;width:16px}.fusioni-floating-button-brain-activity:before{animation:brainCorePulse 1s ease-in-out infinite;background:#fff;border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.fusioni-floating-button-attention-sequence{height:100px;left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:100px}.fusioni-attention-wave{animation:attentionWaveExpand 2s ease-out infinite;border:2px solid var(--fusioni-primary);border-radius:50%;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.fusioni-attention-wave:nth-child(2){animation-delay:.3s}.fusioni-attention-wave:nth-child(3){animation-delay:.6s}.fusioni-floating-button-periodic-pulse{animation:periodicAttentionPulse 8s ease-in-out infinite;background:radial-gradient(circle,rgba(99,102,241,.1) 0,transparent 70%);border-radius:50%;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0}.fusioni-floating-button-glow{animation:enhancedGlowPulse 3s ease-in-out infinite;background:radial-gradient(circle,rgba(99,102,241,.3) 0,transparent 70%);border-radius:50%;bottom:-4px;left:-4px;opacity:0;pointer-events:none;position:absolute;right:-4px;top:-4px}.fusioni-floating-button-magnetic-field{animation:magneticFieldRotate 6s linear infinite;border:1px solid rgba(99,102,241,.2);border-radius:50%;bottom:-12px;left:-12px;opacity:0;pointer-events:none;position:absolute;right:-12px;top:-12px}.fusioni-floating-button-magnetic-field:after,.fusioni-floating-button-magnetic-field:before{background:var(--fusioni-primary-light);border-radius:50%;box-shadow:0 0 4px var(--fusioni-primary-light);content:"";height:4px;position:absolute;width:4px}.fusioni-floating-button-magnetic-field:before{left:50%;top:0;transform:translateX(-50%)}.fusioni-floating-button-magnetic-field:after{bottom:0;left:50%;transform:translateX(-50%)}.fusioni-floating-button-bottom-right{bottom:1rem;right:1rem}.fusioni-floating-button-bottom-left{bottom:1rem;left:1rem}.fusioni-floating-button-top-right{right:1rem;top:1rem}.fusioni-floating-button-top-left{left:1rem;top:1rem}.fusioni-chat-panel{backdrop-filter:blur(20px);background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border-light);border-radius:var(--fusioni-radius-2xl);box-shadow:var(--fusioni-shadow-2xl);box-sizing:border-box;display:flex;flex-direction:column;height:640px;max-height:calc(100vh - 2rem);max-width:calc(100vw - 2rem);overflow:hidden;position:fixed;width:480px;z-index:50}.fusioni-chat-widget:not(.dark) .fusioni-chat-panel{background:hsla(0,0%,100%,.95)}.fusioni-chat-widget.dark .fusioni-chat-panel{background:rgba(15,23,42,.95)}.fusioni-chat-panel-content{box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.fusioni-chat-panel-bottom-right{bottom:5rem;right:1rem}.fusioni-chat-panel-bottom-left{bottom:5rem;left:1rem}.fusioni-chat-panel-top-right{right:1rem;top:5rem}.fusioni-chat-panel-top-left{left:1rem;top:5rem}.fusioni-chat-panel-fullscreen{border-radius:0!important;bottom:0!important;height:100vh!important;left:0!important;max-height:none!important;max-width:none!important;position:fixed!important;right:0!important;top:0!important;width:100vw!important;z-index:9999!important}.fusioni-chat-backdrop{background:rgba(0,0,0,.5);bottom:0;left:0;position:fixed;right:0;top:0;z-index:40}.fusioni-chat-container{box-sizing:border-box}.fusioni-chat-container,.fusioni-chat-main{display:flex;height:100%;overflow:hidden;width:100%}.fusioni-chat-main{flex:1;flex-direction:column;min-width:0;position:relative;transition:width var(--fusioni-transition)}.fusioni-conversation-list{backdrop-filter:blur(10px);background:var(--fusioni-bg-secondary);border-right:1px solid var(--fusioni-border-light);bottom:0;box-shadow:var(--fusioni-shadow-lg);display:flex;flex-direction:column;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transform:translateX(-100%) scale(.95);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:10}.fusioni-chat-widget:not(.dark) .fusioni-conversation-list{background:linear-gradient(180deg,var(--fusioni-bg-accent) 0,var(--fusioni-bg-secondary) 100%)}.fusioni-conversation-list.open{opacity:1;transform:translateX(0) scale(1)}.fusioni-conversation-backdrop{backdrop-filter:blur(2px);background:rgba(0,0,0,.3);bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s cubic-bezier(.4,0,.2,1),visibility .3s cubic-bezier(.4,0,.2,1);visibility:hidden;z-index:5}.fusioni-conversation-backdrop.open{opacity:1;visibility:visible}.fusioni-conversation-header{align-items:center;backdrop-filter:blur(10px);background:var(--fusioni-bg-tertiary);border-bottom:1px solid var(--fusioni-border-light);display:flex;justify-content:space-between;padding:1.25rem 1rem}.fusioni-chat-widget:not(.dark) .fusioni-conversation-header{background:hsla(0,0%,100%,.8)}.fusioni-conversation-title{align-items:center;display:flex;gap:.75rem}.fusioni-conversation-logo{align-items:center;border:2px solid hsla(0,0%,100%,.2);border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow-md);color:#fff;display:flex;height:44px;justify-content:center;width:44px}.fusioni-conversation-info h3{color:var(--fusioni-text-primary);font-size:1rem;font-weight:600;margin:0}.fusioni-conversation-info p{color:var(--fusioni-text-secondary);font-size:.75rem;margin:0}.fusioni-conversation-search{padding:1rem}.fusioni-search-input{position:relative}.fusioni-input{border:1px solid var(--fusioni-border-light);border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow);color:var(--fusioni-text-primary);font-size:.875rem;padding:.75rem 2.5rem .75rem 1rem;transition:var(--fusioni-transition);width:100%}.fusioni-input,.fusioni-input:focus{background:var(--fusioni-bg-secondary)}.fusioni-input:focus{border-color:var(--fusioni-primary);box-shadow:0 0 0 3px rgba(59,130,246,.1),var(--fusioni-shadow-md);outline:none}.fusioni-chat-widget:not(.dark) .fusioni-input{background:var(--fusioni-bg-primary)}.fusioni-chat-widget:not(.dark) .fusioni-input:focus{background:var(--fusioni-bg-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1),var(--fusioni-shadow-md)}.fusioni-search-icon{color:var(--fusioni-text-muted);pointer-events:none;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.fusioni-divider{background:var(--fusioni-border);height:1px;margin:0 1rem}.fusioni-conversations{flex:1;overflow-y:auto;padding:.5rem}.fusioni-conversation-item{backdrop-filter:blur(10px);background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border-light);border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow);cursor:pointer;margin-bottom:.5rem;overflow:hidden;padding:1rem .5rem 1rem 1rem;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.fusioni-conversation-item:before{background:linear-gradient(135deg,rgba(37,99,235,.02),rgba(59,130,246,.05) 50%,rgba(37,99,235,.02));bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:1}.fusioni-conversation-item:hover{background:var(--fusioni-bg-secondary);border-color:var(--fusioni-primary);box-shadow:var(--fusioni-shadow-lg);transform:translateY(-2px) scale(1.02)}.fusioni-conversation-item:hover:before{opacity:1}.fusioni-conversation-item.active{background:linear-gradient(135deg,var(--fusioni-primary) 0,var(--fusioni-primary-light) 100%);border-color:var(--fusioni-primary);box-shadow:0 8px 32px rgba(37,99,235,.3);color:#fff;transform:translateY(-1px)}.fusioni-conversation-item.active:before{opacity:0}.fusioni-conversation-neural-bg{bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .4s ease;z-index:0}.fusioni-conversation-item:hover .fusioni-conversation-neural-bg{opacity:.6}.fusioni-conversation-item.active .fusioni-conversation-neural-bg{opacity:.8}.fusioni-neural-node{animation:neuralPulse 3s ease-in-out infinite;background:var(--fusioni-primary);border-radius:50%;box-shadow:0 0 8px var(--fusioni-primary);height:4px;position:absolute;width:4px}.fusioni-neural-node-1{animation-delay:0s;left:15%;top:20%}.fusioni-neural-node-2{animation-delay:1s;right:20%;top:60%}.fusioni-neural-node-3{animation-delay:2s;bottom:25%;left:40%}.fusioni-neural-connection{animation:neuralFlow 4s ease-in-out infinite;background:linear-gradient(90deg,transparent 0,var(--fusioni-primary) 50%,transparent 100%);height:1px;position:absolute}.fusioni-neural-connection-1{animation-delay:.5s;left:15%;top:30%;transform:rotate(15deg);width:60%}.fusioni-neural-connection-2{animation-delay:1.5s;bottom:40%;left:25%;transform:rotate(-20deg);width:45%}.fusioni-ai-pulse-ring{animation:aiPulse 2s ease-in-out infinite;border:2px solid var(--fusioni-primary);border-radius:50%;height:100%;opacity:.6;position:absolute;width:100%}.fusioni-ai-core{align-items:center;animation:aiRotate 4s linear infinite;color:var(--fusioni-primary);display:flex;justify-content:center;position:relative;z-index:1}.fusioni-conversation-item.active .fusioni-ai-core{color:#fff}.fusioni-conversation-item.active .fusioni-ai-pulse-ring{border-color:#fff}.fusioni-conversation-content{display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:2}.fusioni-conversation-main{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.fusioni-conversation-title-section{display:flex;flex:1;flex-direction:column;gap:.5rem;min-width:0}.fusioni-conversation-title-text{align-items:center;color:var(--fusioni-text-primary);display:flex;flex-wrap:wrap;font-size:.95rem;font-weight:600;gap:.5rem;line-height:1.3;margin:0;word-break:break-word}.fusioni-conversation-item.active .fusioni-conversation-title-text{color:#fff}.fusioni-conversation-meta{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-top:.25rem}.fusioni-conversation-status{align-items:center;color:var(--fusioni-text-muted);display:flex;font-size:.75rem;font-weight:500;gap:.375rem}.fusioni-conversation-item.active .fusioni-conversation-status{color:hsla(0,0%,100%,.8)}.fusioni-status-dot{animation:statusPulse 2s ease-in-out infinite;background:var(--fusioni-success);border-radius:50%;box-shadow:0 0 4px var(--fusioni-success);height:6px;width:6px}.fusioni-conversation-temp-indicator{flex-shrink:0}.fusioni-new-badge{align-items:center;animation:newBadgePulse 2s ease-in-out infinite;background:linear-gradient(135deg,var(--fusioni-warning) 0,#f59e0b 100%);border-radius:var(--fusioni-radius);box-shadow:0 2px 8px rgba(217,119,6,.3);color:#fff;display:inline-flex;font-size:.625rem;font-weight:700;letter-spacing:.05em;padding:.25rem .5rem;position:relative;text-transform:uppercase}.fusioni-new-text{position:relative;z-index:2}.fusioni-new-pulse{animation:newPulseRing 2s ease-in-out infinite;background:linear-gradient(135deg,var(--fusioni-warning) 0,#f59e0b 100%);border-radius:var(--fusioni-radius);bottom:0;left:0;opacity:.6;position:absolute;right:0;top:0}.fusioni-conversation-actions{align-items:flex-start;display:flex;gap:.25rem;margin-top:.25rem}.fusioni-delete-btn{opacity:0;transform:scale(.8);transition:all .3s cubic-bezier(.4,0,.2,1)}.fusioni-conversation-item:hover .fusioni-delete-btn{opacity:1;transform:scale(1)}.fusioni-conversation-item.active .fusioni-delete-btn{background:hsla(0,0%,100%,.2);color:#fff;opacity:1;transform:scale(1)}.fusioni-conversation-item.active .fusioni-delete-btn:hover{background:hsla(0,0%,100%,.3);transform:scale(1.1)}.fusioni-conversation-date{color:var(--fusioni-text-muted);font-size:.75rem;font-weight:500;margin:0}.fusioni-conversation-item.active .fusioni-conversation-date{color:hsla(0,0%,100%,.8)}.fusioni-conversation-data-flow{bottom:0;height:2px;left:0;opacity:0;overflow:hidden;position:absolute;right:0;transition:opacity .3s ease}.fusioni-conversation-item.active .fusioni-conversation-data-flow,.fusioni-conversation-item:hover .fusioni-conversation-data-flow{opacity:1}.fusioni-data-stream{animation:dataFlow 3s ease-in-out infinite;background:linear-gradient(90deg,transparent 0,var(--fusioni-primary) 20%,var(--fusioni-primary-light) 50%,var(--fusioni-primary) 80%,transparent 100%);height:100%;left:-100%;position:absolute;top:0;width:100%}.fusioni-conversation-item.active .fusioni-data-stream{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3) 20%,hsla(0,0%,100%,.6) 50%,hsla(0,0%,100%,.3) 80%,transparent)}.fusioni-empty-state{color:var(--fusioni-text-muted);padding:2rem;text-align:center}.fusioni-message-list{background:var(--fusioni-bg-primary);display:flex;flex:1;flex-direction:column;overflow-y:auto;padding:1rem}.fusioni-messages-container{display:flex;flex-direction:column;gap:1rem;height:100%}.fusioni-empty-messages,.fusioni-empty-messages-content{align-items:center;display:flex;height:100%;justify-content:center}.fusioni-empty-messages-content{color:var(--fusioni-text-muted);flex-direction:column;text-align:center}.fusioni-empty-icon{color:var(--fusioni-text-muted);height:64px;margin:0 auto 1rem;width:64px}.fusioni-messages{gap:1rem}.fusioni-message-wrapper,.fusioni-messages{display:flex;flex-direction:column}.fusioni-message{align-items:flex-start;display:flex;gap:5px}.fusioni-message.user{flex-direction:row-reverse}.fusioni-message-avatar{align-items:center;background:var(--fusioni-bg-tertiary);border-radius:8px;color:var(--fusioni-text-secondary);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.fusioni-message.user .fusioni-message-avatar{background:var(--fusioni-primary);color:#fff}.fusioni-message-content{flex:1;min-width:0}.fusioni-message-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.fusioni-message-role{color:var(--fusioni-text-secondary);font-size:.75rem;font-weight:500;margin-left:5px}.fusioni-message-time{color:var(--fusioni-text-muted);font-size:.75rem}.fusioni-message-body{margin-bottom:0}.fusioni-message-bubble{word-wrap:break-word;border-radius:var(--fusioni-radius-lg);max-width:100%;padding:.75rem 1rem;position:relative;transition:var(--fusioni-transition)}.fusioni-message-bubble:hover{box-shadow:var(--fusioni-shadow)}.fusioni-message-user{background:var(--fusioni-primary);border-bottom-right-radius:.25rem;color:#fff}.fusioni-message-assistant{background:var(--fusioni-bg-secondary);border-bottom-left-radius:.25rem;color:var(--fusioni-text-primary)}.fusioni-message-error{background:var(--fusioni-error);color:#fff}.fusioni-message-text{line-height:1.5}.fusioni-message-text h1,.fusioni-message-text h2,.fusioni-message-text h3{line-height:1.25;margin:.5rem 0 .25rem}.fusioni-message-text p{margin:.5rem 0}.fusioni-message-text ol,.fusioni-message-text ul{margin:.5rem 0;padding-left:1.5rem}.fusioni-message-text code{background:var(--fusioni-bg-tertiary);border-radius:.25rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875em;padding:.125rem .25rem}.fusioni-message-text pre{background:var(--fusioni-bg-dark);border-radius:var(--fusioni-radius);color:var(--fusioni-text-light);margin:.5rem 0;overflow-x:auto;padding:.75rem}.fusioni-message-text a{color:var(--fusioni-primary);text-decoration:underline}.fusioni-message-extra,.fusioni-message-image{margin-top:.5rem}.fusioni-image{border-radius:var(--fusioni-radius);box-shadow:var(--fusioni-shadow);height:auto;max-width:100%}.fusioni-message-audio{background:var(--fusioni-bg-tertiary);border-radius:var(--fusioni-radius);margin-top:.5rem;padding:.75rem}.fusioni-audio-header{align-items:center;color:var(--fusioni-text-secondary);display:flex;font-size:.875rem;gap:.5rem;margin-bottom:.5rem}.fusioni-audio-duration{color:var(--fusioni-text-muted);font-size:.75rem}.fusioni-audio-player{height:32px;width:100%}.fusioni-message-map{margin-top:.5rem}.fusioni-map-placeholder{background:var(--fusioni-bg-tertiary);border-radius:var(--fusioni-radius);color:var(--fusioni-text-secondary);padding:1rem;text-align:center}.fusioni-map-container{border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius);box-shadow:var(--fusioni-shadow);margin-top:.5rem;overflow:hidden}.fusioni-map-interactive,.fusioni-map-static{height:auto;position:relative;width:100%}.fusioni-map-image{border-radius:var(--fusioni-radius);display:block;height:auto;width:100%}.fusioni-map-iframe{border:none;border-radius:var(--fusioni-radius);height:400px;width:100%}.fusioni-map-loading{align-items:center;background:var(--fusioni-bg-tertiary);border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius);display:flex;justify-content:center;padding:2rem}.fusioni-map-loading-content{align-items:center;color:var(--fusioni-text-secondary);display:flex;flex-direction:column;gap:.75rem}.fusioni-map-loading-spinner{animation:spin 1s linear infinite;border-top:2px solid var(--fusioni-border);border:2px solid var(--fusioni-border);border-radius:50%;border-top-color:var(--fusioni-primary);height:24px;width:24px}.fusioni-map-error{align-items:center;background:rgba(220,38,38,.05);border:1px solid rgba(220,38,38,.2);border-radius:var(--fusioni-radius);color:var(--fusioni-error);display:flex;justify-content:center;padding:1rem}.fusioni-map-error-content{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.fusioni-chat-widget.dark .fusioni-map-container{border-color:var(--fusioni-border-dark)}.fusioni-chat-widget.dark .fusioni-map-loading{background:var(--fusioni-bg-dark);border-color:var(--fusioni-border-dark)}.fusioni-chat-widget.dark .fusioni-map-error{background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.3)}.fusioni-message-thoughts{color:var(--fusioni-text-muted);font-size:.75rem;margin-top:.5rem}.fusioni-message-thoughts details{cursor:pointer}.fusioni-message-thoughts summary{font-weight:500}.fusioni-message-actions{align-items:center;align-self:center;display:flex;flex-direction:column;gap:.25rem;opacity:0;transition:var(--fusioni-transition)}.fusioni-message:hover .fusioni-message-actions{opacity:1}.fusioni-message-error-indicator{align-items:center;color:var(--fusioni-error);display:flex;font-size:.75rem;gap:.25rem;margin-top:.25rem}.fusioni-stream-message{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.fusioni-stream-message:last-child{margin-bottom:0}.fusioni-stream-indicator{align-items:center;display:flex;justify-content:center}.fusioni-stream-dot{animation:dotPulse 1.5s infinite;background:var(--fusioni-primary);border-radius:50%;box-shadow:0 0 8px rgba(99,102,241,.4);height:6px;width:6px}.fusioni-stream-text{color:var(--fusioni-text-secondary);font-size:.875rem;line-height:1.4}.fusioni-chat-input{background:var(--fusioni-bg-primary);border-top:1px solid var(--fusioni-border);padding:1rem}.fusioni-image-preview{margin-bottom:.75rem}.fusioni-image-preview-content{display:inline-block;position:relative}.fusioni-preview-image{border-radius:var(--fusioni-radius);box-shadow:var(--fusioni-shadow);max-height:200px;max-width:200px}.fusioni-image-preview-content .fusioni-btn{position:absolute;right:.5rem;top:.5rem}.fusioni-audio-preview{background:var(--fusioni-bg-secondary);border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius);margin-bottom:.75rem;padding:.75rem}.fusioni-audio-preview-content{display:flex;flex-direction:column;gap:.5rem}.fusioni-audio-preview-header{align-items:center;color:var(--fusioni-text-secondary);display:flex;font-size:.875rem;justify-content:space-between}.fusioni-audio-preview-player{height:32px;width:100%}.fusioni-audio-preview-text{color:var(--fusioni-text-muted);font-size:.75rem;margin:0;text-align:center}.fusioni-input-container{width:100%}.fusioni-input-wrapper{align-items:flex-end;background:var(--fusioni-bg-secondary);border:2px solid var(--fusioni-border);border-radius:var(--fusioni-radius-xl);display:flex;gap:.5rem;padding:.5rem;transition:var(--fusioni-transition)}.fusioni-input-wrapper:focus-within{border-color:var(--fusioni-primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.fusioni-textarea{background:transparent;border:none;color:var(--fusioni-text-primary);flex:1;font-family:inherit;font-size:.875rem;line-height:1.5;max-height:120px;min-height:20px;outline:none;padding:.5rem;resize:none}.fusioni-textarea::placeholder{color:var(--fusioni-text-muted)}.fusioni-input-actions{align-items:center;display:flex;gap:.25rem}.fusioni-btn{align-items:center;background:transparent;border:none;border-radius:var(--fusioni-radius);color:var(--fusioni-text-secondary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;padding:.5rem;text-decoration:none;transition:var(--fusioni-transition)}.fusioni-btn:hover{background:var(--fusioni-bg-tertiary);color:var(--fusioni-text-primary)}.fusioni-btn:disabled{cursor:not-allowed;opacity:.5}.fusioni-btn-icon-primary{background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border);box-shadow:var(--fusioni-shadow)}.fusioni-btn-icon-primary:hover{background:var(--fusioni-primary-dark);border-color:var(--fusioni-primary-dark);color:#fff}.fusioni-btn-icon{border-radius:50%;height:25px;padding:0;transition:var(--fusioni-transition-fast);width:28px}.fusioni-btn-icon:hover{background:var(--fusioni-primary);border-color:var(--fusioni-primary);color:#fff;transform:scale(1.05)}.fusioni-btn-primary{background:linear-gradient(135deg,var(--fusioni-primary) 0,var(--fusioni-primary-light) 100%);border:none;border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow-md);color:#fff;font-weight:600;padding:.75rem 1.5rem;transition:var(--fusioni-transition)}.fusioni-btn-primary:hover{background:linear-gradient(135deg,var(--fusioni-primary-dark) 0,var(--fusioni-primary) 100%);box-shadow:var(--fusioni-shadow-lg);color:#fff;transform:translateY(-1px)}.fusioni-btn-danger{color:var(--fusioni-error)}.fusioni-btn-danger:hover{background:var(--fusioni-error);color:#fff}.fusioni-btn-text{background:transparent;color:var(--fusioni-primary);padding:.25rem .5rem}.fusioni-btn-text:hover{background:var(--fusioni-bg-tertiary);color:var(--fusioni-primary)}.fusioni-btn-send{background:var(--fusioni-primary);color:#fff}.fusioni-btn-send:hover{background:var(--fusioni-primary-dark);color:#fff}.fusioni-btn-send:disabled{background:var(--fusioni-text-muted);color:var(--fusioni-text-light)}.fusioni-btn-send-audio{background:var(--fusioni-success)}.fusioni-btn-send-audio:hover{background:#059669}.fusioni-btn-recording{animation:recordingPulse 2s ease-in-out infinite;background:var(--fusioni-error);color:#fff}.fusioni-btn-recording:hover{background:#dc2626;color:#fff}.fusioni-confirmation-widget{display:flex;gap:.75rem;padding-top:1.25rem}.fusioni-btn-confirm{background:linear-gradient(135deg,var(--fusioni-primary) 0,var(--fusioni-primary-light) 100%);border:none;border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow-md);color:#fff;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:var(--fusioni-transition)}.fusioni-btn-confirm:hover:not(:disabled){background:linear-gradient(135deg,var(--fusioni-primary-dark) 0,var(--fusioni-primary) 100%);box-shadow:var(--fusioni-shadow-lg);color:#fff;transform:translateY(-1px) scale(1.05)}.fusioni-btn-confirm:active:not(:disabled){transform:translateY(0) scale(1)}.fusioni-btn-confirm:disabled{background:var(--fusioni-primary);cursor:not-allowed;opacity:.5;transform:none}.fusioni-btn-cancel{background:var(--fusioni-secondary);border:none;border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow-md);color:#fff;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:var(--fusioni-transition)}.fusioni-btn-cancel:hover:not(:disabled){background:var(--fusioni-secondary);box-shadow:var(--fusioni-shadow-lg);color:#fff;transform:translateY(-1px) scale(1.05)}.fusioni-btn-cancel:active:not(:disabled){transform:translateY(0) scale(1)}.fusioni-btn-cancel:disabled{cursor:not-allowed;opacity:.5;transform:none}.dark .fusioni-btn-cancel,.dark .fusioni-btn-cancel:hover:not(:disabled),.fusioni-btn-cancel:disabled{background:var(--fusioni-secondary)}.fusioni-audio-recorder{align-items:center;display:flex;gap:.5rem}.fusioni-recording-indicator{align-items:center;display:flex;justify-content:center}.fusioni-recording-dot{animation:recordingPulse 1.5s ease-in-out infinite;background:#fff;border-radius:50%;height:8px;width:8px}.fusioni-recording-timer{color:var(--fusioni-error);font-size:.75rem;font-weight:500;min-width:3rem;text-align:center}.fusioni-audio-error{background:var(--fusioni-error);border-radius:var(--fusioni-radius);bottom:100%;color:#fff;font-size:.75rem;left:0;margin-bottom:.5rem;padding:.5rem;position:absolute;right:0}.fusioni-audio-error p{margin:0 0 .25rem}.fusioni-audio-error button{background:transparent;border:1px solid #fff;border-radius:var(--fusioni-radius);color:#fff;cursor:pointer;font-size:.75rem;padding:.25rem .5rem}.fusioni-chat-loader{padding:1rem;text-align:center}.fusioni-loader-content{align-items:center;display:flex;gap:.75rem;justify-content:center}.fusioni-loader-dots{display:flex;gap:.25rem}.fusioni-loader-dot{animation:dotPulse 1.5s ease-in-out infinite;background:var(--fusioni-primary);border-radius:50%;height:6px;width:6px}.fusioni-loader-dot:nth-child(2){animation-delay:.2s}.fusioni-loader-dot:nth-child(3){animation-delay:.4s}.fusioni-loader-text{color:var(--fusioni-text-secondary);font-size:.875rem}.fusioni-chat-main-header{align-items:center;backdrop-filter:blur(10px);background:var(--fusioni-bg-tertiary);border-bottom:1px solid var(--fusioni-border-light);display:flex;justify-content:space-between;padding:1rem;position:relative;z-index:5}.fusioni-chat-widget:not(.dark) .fusioni-chat-main-header{background:hsla(0,0%,100%,.8)}.fusioni-header-actions{align-items:center;display:flex;gap:.75rem}.fusioni-conversation-toggle{align-items:center;background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius-lg);color:var(--fusioni-text-secondary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem .75rem;transition:var(--fusioni-transition)}.fusioni-conversation-toggle:hover{background:var(--fusioni-primary);border-color:var(--fusioni-primary);color:#fff}.fusioni-conversation-toggle-icon{height:16px;transition:transform var(--fusioni-transition);width:16px}.fusioni-conversation-toggle.open .fusioni-conversation-toggle-icon{transform:rotate(180deg)}.fusioni-connection-indicator,.fusioni-connection-status{align-items:center;display:flex}.fusioni-connection-indicator{border-radius:var(--fusioni-radius);padding:.25rem;transition:var(--fusioni-transition)}.fusioni-connection-dot{border-radius:50%;height:8px;transition:var(--fusioni-transition);width:8px}.fusioni-connection-indicator.connected .fusioni-connection-dot{background:var(--fusioni-success);box-shadow:0 0 0 2px rgba(16,185,129,.2)}.fusioni-connection-indicator.disconnected .fusioni-connection-dot{background:var(--fusioni-text-muted);box-shadow:0 0 0 2px rgba(148,163,184,.2)}.fusioni-language-switcher{display:inline-block;position:relative}.fusioni-language-button{align-items:center;background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius-lg);color:var(--fusioni-text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;min-width:120px;padding:.5rem .75rem;transition:var(--fusioni-transition)}.fusioni-language-button:hover{background:var(--fusioni-bg-secondary);border-color:var(--fusioni-primary)}.fusioni-language-flag{font-size:1rem;line-height:1}.fusioni-language-name{flex:1;font-weight:500;text-align:left}.fusioni-language-arrow{transition:transform var(--fusioni-transition)}.fusioni-language-arrow.open{transform:rotate(180deg)}.fusioni-language-dropdown{background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow-lg);left:0;margin-top:.25rem;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.fusioni-language-option{align-items:center;background:transparent;border:none;color:var(--fusioni-text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem;text-align:left;transition:var(--fusioni-transition);width:100%}.fusioni-language-option:hover{background:var(--fusioni-bg-secondary)}.fusioni-language-option.active{background:var(--fusioni-primary);color:#fff}.fusioni-language-check{margin-left:auto;opacity:.8}.fusioni-chat-welcome{align-items:center;background:var(--fusioni-bg-primary);bottom:0;box-sizing:border-box;display:flex;height:100%;justify-content:center;left:0;overflow:hidden;padding:3rem 2rem;position:absolute;right:0;top:0;width:100%}.fusioni-chat-widget:not(.dark) .fusioni-chat-welcome{background:linear-gradient(135deg,var(--fusioni-bg-accent) 0,var(--fusioni-bg-primary) 100%)}.fusioni-chat-welcome-content{box-sizing:border-box;margin:0 auto;max-width:320px;text-align:center;width:100%}.fusioni-chat-welcome-content h3{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,var(--fusioni-primary) 0,var(--fusioni-primary-light) 100%);-webkit-background-clip:text;background-clip:text;color:var(--fusioni-text-primary);font-size:1.5rem;font-weight:700;margin:0 0 1rem}.fusioni-chat-welcome-content p{color:var(--fusioni-text-secondary);font-size:1rem;line-height:1.6;margin:0 0 2rem}.fusioni-chat-error{background:var(--fusioni-error);border-radius:var(--fusioni-radius);color:#fff;margin:1rem;padding:1rem}.fusioni-chat-error p{margin:0 0 .5rem}.fusioni-chat-error button{background:transparent;border:1px solid #fff;border-radius:var(--fusioni-radius);color:#fff;cursor:pointer;padding:.25rem .5rem}.fusioni-spinner{animation:spin 1s linear infinite;border-top:2px solid var(--fusioni-border);border:2px solid var(--fusioni-border);border-radius:50%;border-top-color:var(--fusioni-primary);height:16px;width:16px}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}@keyframes recordingPulse{0%,to{box-shadow:0 0 5px rgba(239,68,68,.5)}50%{box-shadow:0 0 20px rgba(239,68,68,.8),0 0 30px rgba(239,68,68,.6)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes neuralPulse{0%,to{box-shadow:0 0 8px var(--fusioni-primary);opacity:.6;transform:scale(1)}50%{box-shadow:0 0 16px var(--fusioni-primary);opacity:1;transform:scale(1.5)}}@keyframes neuralFlow{0%{opacity:0;transform:scaleX(0)}50%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(0)}}@keyframes aiPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes aiRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes statusPulse{0%,to{box-shadow:0 0 4px var(--fusioni-success);opacity:1;transform:scale(1)}50%{box-shadow:0 0 8px var(--fusioni-success);opacity:.8;transform:scale(1.2)}}@keyframes newBadgePulse{0%,to{box-shadow:0 2px 8px rgba(217,119,6,.3);transform:scale(1)}50%{box-shadow:0 4px 16px rgba(217,119,6,.5);transform:scale(1.05)}}@keyframes newPulseRing{0%{opacity:.6;transform:scale(1)}50%{opacity:.2;transform:scale(1.3)}to{opacity:0;transform:scale(1.6)}}@keyframes dataFlow{0%{left:-100%;opacity:0}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}@keyframes magneticHover{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.02)}to{transform:translateY(-1px) scale(1.01)}}@keyframes neuralGlow{0%,to{filter:brightness(1) saturate(1)}50%{filter:brightness(1.2) saturate(1.3)}}@media (max-width:768px){.fusioni-chat-panel{height:calc(100vh - 1rem);max-height:none;max-width:none;width:calc(100vw - 1rem)}.fusioni-chat-panel-bottom-left,.fusioni-chat-panel-bottom-right,.fusioni-chat-panel-top-left,.fusioni-chat-panel-top-right{bottom:.5rem;height:calc(100vh - 1rem);top:.5rem}.fusioni-conversation-list{border-bottom:1px solid var(--fusioni-border);border-right:none;width:100%}.fusioni-chat-container{flex-direction:column}.fusioni-message-bubble:hover{transform:scale(1.01)}}.fusioni-conversations::-webkit-scrollbar,.fusioni-message-list::-webkit-scrollbar{width:6px}.fusioni-conversations::-webkit-scrollbar-track,.fusioni-message-list::-webkit-scrollbar-track{background:var(--fusioni-bg-tertiary)}.fusioni-conversations::-webkit-scrollbar-thumb,.fusioni-message-list::-webkit-scrollbar-thumb{background:var(--fusioni-text-muted);border-radius:3px}.fusioni-conversations::-webkit-scrollbar-thumb:hover,.fusioni-message-list::-webkit-scrollbar-thumb:hover{background:var(--fusioni-text-secondary)}.fusioni-url-preview{background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius);box-shadow:var(--fusioni-shadow);margin:.5rem 0;overflow:hidden;transition:var(--fusioni-transition)}.fusioni-url-preview:hover{box-shadow:var(--fusioni-shadow-md);transform:translateY(-1px)}.fusioni-url-preview-compact{margin:.25rem 0}.fusioni-url-preview-loading{align-items:center;color:var(--fusioni-text-secondary);display:flex;font-size:.875rem;gap:.5rem;padding:.75rem}.fusioni-url-preview-spinner{animation:fusioni-spin 1s linear infinite;border-top:2px solid var(--fusioni-border);border:2px solid var(--fusioni-border);border-radius:50%;border-top-color:var(--fusioni-primary);height:16px;width:16px}@keyframes fusioni-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fusioni-url-preview-error{align-items:center;background:rgba(220,38,38,.05);color:var(--fusioni-error);display:flex;font-size:.875rem;justify-content:space-between;padding:.75rem}.fusioni-url-preview-content{position:relative}.fusioni-url-preview-close{align-items:center;background:rgba(0,0,0,.5);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;position:absolute;right:.5rem;top:.5rem;transition:var(--fusioni-transition);width:24px;z-index:10}.fusioni-url-preview-close:hover{background:rgba(0,0,0,.7)}.fusioni-url-preview-link{display:flex;transition:var(--fusioni-transition)}.fusioni-url-preview-link,.fusioni-url-preview-link:hover{color:inherit;text-decoration:none}.fusioni-url-preview-image{flex-shrink:0;height:80px;overflow:hidden;width:120px}.fusioni-url-preview-compact .fusioni-url-preview-image{height:60px;width:80px}.fusioni-url-preview-image img{height:100%;object-fit:cover;transition:var(--fusioni-transition);width:100%}.fusioni-url-preview-link:hover .fusioni-url-preview-image img{transform:scale(1.05)}.fusioni-url-preview-text{display:flex;flex:1;flex-direction:column;justify-content:space-between;min-width:0;padding:.75rem}.fusioni-url-preview-compact .fusioni-url-preview-text{padding:.5rem}.fusioni-url-preview-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--fusioni-text-primary);display:-webkit-box;font-size:.875rem;font-weight:600;line-height:1.25;margin-bottom:.25rem;overflow:hidden}.fusioni-url-preview-compact .fusioni-url-preview-title{-webkit-line-clamp:1;line-clamp:1;font-size:.8125rem}.fusioni-url-preview-description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--fusioni-text-secondary);display:-webkit-box;font-size:.8125rem;line-height:1.4;margin-bottom:.25rem;overflow:hidden}.fusioni-url-preview-compact .fusioni-url-preview-description{-webkit-line-clamp:1;line-clamp:1;font-size:.75rem}.fusioni-url-preview-domain{color:var(--fusioni-text-muted);font-size:.75rem;letter-spacing:.025em;text-transform:uppercase}.fusioni-message-url-previews{margin-top:.5rem}.fusioni-chat-widget.dark .fusioni-url-preview{background:var(--fusioni-bg-dark);border-color:var(--fusioni-border-dark)}.fusioni-chat-widget.dark .fusioni-url-preview-title{color:var(--fusioni-text-light)}.fusioni-chat-widget.dark .fusioni-url-preview-description{color:var(--fusioni-text-secondary)}.fusioni-chat-widget.dark .fusioni-url-preview-error{background:rgba(220,38,38,.1)}.fusioni-stream-messages{display:flex;flex-direction:column;gap:8px;margin-top:8px}.fusioni-stream-message-item{align-items:flex-start;display:flex;gap:8px}.fusioni-stream-message-logo-wrap{flex-shrink:0}.fusioni-stream-message-logo-frame{align-items:center;background:linear-gradient(to bottom right,#f3f4f6,#e5e7eb);border-radius:12px;box-shadow:var(--fusioni-shadow-lg);display:flex;height:32px;justify-content:center;overflow:hidden;width:32px}.fusioni-chat-widget.dark .fusioni-stream-message-logo-frame{background:linear-gradient(to bottom right,#1f2937,#111827)}.fusioni-stream-message-logo-img{animation:fusioni-spin 1s linear infinite;height:32px;margin:0;object-fit:contain;padding:4px;width:32px}.fusioni-stream-message-spotlight{margin-top:4px;min-width:0}.fusioni-spotlight{--mask-x:0%;--mask-y:50%;--text-spotlight-size:100px;display:block}.fusioni-spotlight-title{color:inherit;display:inline-block;position:relative}.fusioni-spotlight-text-base,.fusioni-spotlight-text-overlay,.fusioni-spotlight-title{font-family:inherit;font-size:16px;font-weight:inherit;letter-spacing:inherit;line-height:1.2}.fusioni-spotlight-text-base,.fusioni-spotlight-text-overlay{white-space:nowrap}.fusioni-spotlight-text-base{opacity:.2}.fusioni-spotlight-text-base,.fusioni-spotlight-text-overlay{-webkit-text-fill-color:transparent;background:currentColor;-webkit-background-clip:text;background-clip:text}.fusioni-spotlight-text-overlay{left:0;mask:radial-gradient(circle var(--text-spotlight-size) at var(--mask-x) var(--mask-y),#000 0,transparent 70%);-webkit-mask:radial-gradient(circle var(--text-spotlight-size) at var(--mask-x) var(--mask-y),#000 0,transparent 70%);opacity:1;pointer-events:none;position:absolute;top:0}@keyframes fusioni-dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.fusioni-chat-widget.dark .fusioni-conversation-item{background:var(--fusioni-bg-dark);border-color:var(--fusioni-border-dark)}.fusioni-chat-widget.dark .fusioni-conversation-item:before{background:linear-gradient(135deg,rgba(59,130,246,.05),rgba(37,99,235,.1) 50%,rgba(59,130,246,.05))}.fusioni-chat-widget.dark .fusioni-conversation-item:hover{background:var(--fusioni-bg-secondary);border-color:var(--fusioni-primary-light)}.fusioni-chat-widget.dark .fusioni-neural-node{background:var(--fusioni-primary-light);box-shadow:0 0 8px var(--fusioni-primary-light)}.fusioni-chat-widget.dark .fusioni-neural-connection{background:linear-gradient(90deg,transparent 0,var(--fusioni-primary-light) 50%,transparent 100%)}.fusioni-chat-widget.dark .fusioni-ai-core{color:var(--fusioni-primary-light)}.fusioni-chat-widget.dark .fusioni-ai-pulse-ring{border-color:var(--fusioni-primary-light)}.fusioni-chat-widget.dark .fusioni-data-stream{background:linear-gradient(90deg,transparent 0,var(--fusioni-primary-light) 20%,var(--fusioni-primary) 50%,var(--fusioni-primary-light) 80%,transparent 100%)}.fusioni-chat-widget.dark .fusioni-conversation-title-text{color:var(--fusioni-text-light)}.fusioni-chat-widget.dark .fusioni-conversation-status{color:var(--fusioni-text-secondary)}.fusioni-chat-widget.dark .fusioni-conversation-date{color:var(--fusioni-text-muted)}@media (prefers-reduced-motion:reduce){.fusioni-ai-core,.fusioni-ai-pulse-ring,.fusioni-conversation-item,.fusioni-data-stream,.fusioni-neural-connection,.fusioni-neural-node,.fusioni-new-badge,.fusioni-new-pulse,.fusioni-status-dot{animation:none!important;transition:none!important}.fusioni-conversation-item:hover{transform:none!important}}@media (prefers-contrast:high){.fusioni-conversation-item{border-width:2px}.fusioni-conversation-item.active{border-width:3px}.fusioni-ai-pulse-ring,.fusioni-neural-node,.fusioni-status-dot{border:1px solid;box-shadow:none}}.fusioni-conversation-item:focus-visible{outline:2px solid var(--fusioni-primary);outline-offset:2px}.fusioni-conversation-item.active:focus-visible{outline-color:#fff}.fusioni-conversation-item{contain:layout style paint;will-change:transform,box-shadow}.fusioni-ai-pulse-ring,.fusioni-data-stream,.fusioni-neural-connection,.fusioni-neural-node{contain:layout style paint;will-change:transform,opacity}.fusioni-ai-core,.fusioni-conversation-item,.fusioni-data-stream,.fusioni-neural-node{backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}@keyframes attentionRingPulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes neuralParticleFloat{0%,to{opacity:0;transform:scale(.5) translateY(0)}25%{opacity:.6;transform:scale(1) translateY(-10px)}50%{opacity:1;transform:scale(1.2) translateY(-20px)}75%{opacity:.6;transform:scale(1) translateY(-10px)}}@keyframes brainActivityPulse{0%,to{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes brainCorePulse{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.7;transform:translate(-50%,-50%) scale(1.3)}}@keyframes attentionWaveExpand{0%{opacity:.8;transform:scale(.5)}50%{opacity:.4;transform:scale(1.2)}to{opacity:0;transform:scale(2)}}@keyframes periodicAttentionPulse{0%,90%{opacity:0;transform:scale(1)}95%{opacity:.6;transform:scale(1.3)}to{opacity:0;transform:scale(1.5)}}@keyframes enhancedGlowPulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.4;transform:scale(1.1)}}@keyframes magneticFieldRotate{0%{opacity:.3;transform:rotate(0deg)}50%{opacity:.6}to{opacity:.3;transform:rotate(1turn)}}@keyframes floatingButtonEntrance{0%{transform:scale(1)}20%{transform:scale(6)}40%{transform:scale(1.1)}70%{transform:scale(.8)}to{transform:scale(1)}}@keyframes attentionSequenceTrigger{0%{opacity:0;transform:scale(.8)}20%{opacity:1;transform:scale(1.2)}40%{opacity:.8;transform:scale(1)}60%{opacity:1;transform:scale(1.1)}80%{opacity:.6;transform:scale(.9)}to{opacity:0;transform:scale(1)}}@keyframes floatingButtonHover{0%{transform:translateY(0) scale(1) rotate(0deg)}25%{transform:translateY(-3px) scale(1.05) rotate(1deg)}50%{transform:translateY(-5px) scale(1.08) rotate(0deg)}75%{transform:translateY(-2px) scale(1.03) rotate(-1deg)}to{transform:translateY(0) scale(1) rotate(0deg)}}@keyframes aiProcessingIndicator{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@keyframes neuralConnectionFlow{0%{opacity:0;transform:scaleX(0)}20%{opacity:.8;transform:scaleX(.3)}50%{opacity:1;transform:scaleX(1)}80%{opacity:.8;transform:scaleX(.7)}to{opacity:0;transform:scaleX(0)}}.fusioni-floating-button-attention-active .fusioni-floating-button-attention-ring,.fusioni-floating-button-attention-active .fusioni-floating-button-attention-ring-2,.fusioni-floating-button-attention-active .fusioni-floating-button-attention-ring-3,.fusioni-floating-button-attention-active .fusioni-floating-button-attention-sequence,.fusioni-floating-button-attention-active .fusioni-floating-button-brain-activity,.fusioni-floating-button-attention-active .fusioni-floating-button-glow,.fusioni-floating-button-attention-active .fusioni-floating-button-magnetic-field,.fusioni-floating-button-attention-active .fusioni-floating-button-neural-particles,.fusioni-floating-button-attention-active .fusioni-floating-button-periodic-pulse{opacity:1}.fusioni-floating-button-entering{animation:floatingButtonEntrance 1.2s ease-in-out forwards}@media (prefers-reduced-motion:reduce){.fusioni-attention-wave,.fusioni-floating-button-attention-ring,.fusioni-floating-button-attention-ring-2,.fusioni-floating-button-attention-ring-3,.fusioni-floating-button-brain-activity,.fusioni-floating-button-glow,.fusioni-floating-button-magnetic-field,.fusioni-floating-button-periodic-pulse,.fusioni-floating-button:hover,.fusioni-neural-particle{animation:none!important}}.fusioni-dialog-backdrop{animation:fadeIn .2s ease-out;backdrop-filter:blur(4px);background-color:rgba(0,0,0,.5);z-index:9998}.fusioni-dialog-backdrop,.fusioni-dialog-container{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0}.fusioni-dialog-container{pointer-events:none;z-index:9999}.fusioni-dialog{animation:dialogSlideIn .3s cubic-bezier(.4,0,.2,1);background-color:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow-2xl);max-width:420px;overflow:hidden;pointer-events:auto;width:90%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.fusioni-dialog-header{border-bottom:1px solid var(--fusioni-border);padding:1.5rem 1.5rem 1rem}.fusioni-dialog-title{color:var(--fusioni-text-primary);font-size:1.25rem;font-weight:600;line-height:1.5;margin:0}.fusioni-dialog-body{padding:1.5rem}.fusioni-dialog-message{color:var(--fusioni-text-secondary);font-size:.9375rem;line-height:1.6;margin:0}.fusioni-dialog-footer{border-top:1px solid var(--fusioni-border);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem}.fusioni-dialog-cancel,.fusioni-dialog-confirm{min-width:80px}.fusioni-dialog-confirm-danger{background-color:var(--fusioni-error);border-color:var(--fusioni-error);color:var(--fusioni-text-light)}.fusioni-dialog-confirm-danger:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c;box-shadow:var(--fusioni-shadow-md);transform:translateY(-1px)}.fusioni-dialog-confirm-danger:active:not(:disabled){box-shadow:var(--fusioni-shadow);transform:translateY(0)}.fusioni-dialog-confirm-warning{background-color:var(--fusioni-warning);border-color:var(--fusioni-warning);color:var(--fusioni-text-light)}.fusioni-dialog-confirm-warning:hover:not(:disabled){background-color:#b45309;border-color:#b45309;box-shadow:var(--fusioni-shadow-md);transform:translateY(-1px)}.fusioni-dialog-confirm-info{background-color:var(--fusioni-info);border-color:var(--fusioni-info);color:var(--fusioni-text-light)}.fusioni-dialog-confirm-info:hover:not(:disabled){background-color:#0369a1;border-color:#0369a1;box-shadow:var(--fusioni-shadow-md);transform:translateY(-1px)}.fusioni-chat-widget.dark .fusioni-dialog{background-color:var(--fusioni-bg-secondary);border-color:var(--fusioni-border)}.fusioni-chat-widget.dark .fusioni-dialog-header{border-bottom-color:var(--fusioni-border)}.fusioni-chat-widget.dark .fusioni-dialog-footer{border-top-color:var(--fusioni-border)}.fusioni-image-gallery-overlay{--fusioni-ig-img-offset:8rem;align-items:stretch;animation:fusionImageGalleryFadeIn .2s ease-out;box-sizing:border-box;display:flex;flex-direction:column;inset:0;justify-content:flex-start;overflow:hidden;position:fixed;z-index:100000}.fusioni-image-gallery-overlay.fusioni-image-gallery-has-thumbs{--fusioni-ig-img-offset:14rem}.fusioni-image-gallery-body{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;width:100%}.fusioni-image-gallery-stage{align-items:center;display:flex;flex:1 1 0;justify-content:center;min-height:0;min-width:0;position:relative;width:100%}.fusioni-image-gallery-overlay.fusioni-image-gallery-theme-light{background:linear-gradient(180deg,#374151 0,#9ca3af)}.fusioni-image-gallery-overlay.fusioni-image-gallery-theme-dark{background:linear-gradient(180deg,#111827 0,#1f2937)}@keyframes fusionImageGalleryFadeIn{0%{opacity:0}to{opacity:1}}.fusioni-image-gallery-topbar{align-items:center;background:linear-gradient(180deg,rgba(0,0,0,.7),transparent);display:flex;justify-content:space-between;left:0;padding:.75rem 1rem;pointer-events:none;position:absolute;right:0;top:0;z-index:20}.fusioni-image-gallery-topbar-spacer{width:2.5rem}.fusioni-image-gallery-counter{color:hsla(0,0%,100%,.9);font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:.025em}.fusioni-image-gallery-close{align-items:center;background-color:hsla(0,0%,100%,.1);border:none;border-radius:9999px;color:#fff;cursor:pointer;display:flex;height:2.5rem;justify-content:center;pointer-events:auto;transition:background-color .15s ease;width:2.5rem}.fusioni-image-gallery-close:hover{background-color:hsla(0,0%,100%,.2)}.fusioni-image-gallery-close:focus{outline:none}.fusioni-image-gallery-close:focus-visible{box-shadow:0 0 0 2px hsla(0,0%,100%,.5)}.fusioni-image-gallery-icon{height:1.25rem;width:1.25rem}.fusioni-image-gallery-icon-lg{height:2rem;width:2rem}.fusioni-image-gallery-content{align-items:center;box-sizing:border-box;display:flex;flex:1 1 0;justify-content:center;max-width:100%;min-height:0;min-width:0;padding:4rem 4.5rem;width:100%}.fusioni-image-gallery-img{animation:fusionImageGalleryZoomIn .25s ease-out;border-radius:.5rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);display:block;height:auto;max-height:calc(100vh - var(--fusioni-ig-img-offset, 8rem));max-height:calc(100dvh - var(--fusioni-ig-img-offset, 8rem));max-width:100%;object-fit:contain;width:auto}.fusioni-image-gallery-thumbs-wrap{box-sizing:border-box;flex:0 0 auto;margin:0 auto;max-height:12.5rem;max-width:min(100vw - 2rem,42rem);overflow:hidden;padding:0 1rem .75rem;width:100%}.fusioni-image-gallery-thumbs-wrap .fusioni-gallery-strip--lightbox .fusioni-gallery-strip-grid{gap:.5rem}.fusioni-image-gallery-thumbs-wrap .fusioni-gallery-strip--lightbox .fusioni-gallery-strip-cell{align-items:center;display:flex;justify-content:center;max-height:3.75rem}.fusioni-image-gallery-thumb{background:rgba(0,0,0,.35);border:2px solid transparent;border-radius:var(--fusioni-radius-md);box-sizing:border-box;cursor:pointer;display:block;flex-shrink:0;height:3.5rem;margin:0 auto;max-width:5.5rem;overflow:hidden;padding:0;transition:border-color .15s ease,transform .15s ease;width:100%}.fusioni-image-gallery-thumb:hover{border-color:hsla(0,0%,100%,.45)}.fusioni-image-gallery-thumb:focus{outline:none}.fusioni-image-gallery-thumb:focus-visible{box-shadow:0 0 0 2px hsla(0,0%,100%,.55)}.fusioni-image-gallery-thumb-selected{border-color:hsla(0,0%,100%,.9)}.fusioni-image-gallery-thumb img{display:block;height:100%;object-fit:cover;width:100%}.fusioni-image-gallery-thumbs-wrap .fusioni-gallery-strip-dots{margin-top:.5rem}@keyframes fusionImageGalleryZoomIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.fusioni-image-gallery-nav{align-items:center;background-color:hsla(0,0%,100%,.12);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:3rem;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .15s ease,transform .15s ease;width:3rem;z-index:10}.fusioni-image-gallery-nav:hover{background-color:hsla(0,0%,100%,.22);transform:translateY(-50%) scale(1.05)}.fusioni-image-gallery-nav:active{transform:translateY(-50%) scale(.98)}.fusioni-image-gallery-nav:focus{outline:none}.fusioni-image-gallery-nav:focus-visible{box-shadow:0 0 0 2px hsla(0,0%,100%,.5)}.fusioni-image-gallery-nav-prev{left:1rem}.fusioni-image-gallery-nav-next{right:1rem}@media (min-width:640px){.fusioni-image-gallery-nav{height:3.5rem;width:3.5rem}.fusioni-image-gallery-nav-prev{left:1.5rem}.fusioni-image-gallery-nav-next{right:1.5rem}}.fusioni-image.fusioni-image-clickable{cursor:pointer}.fusioni-image-clickable-wrap{background:none;border:none;border-radius:var(--fusioni-radius);cursor:pointer;display:block;margin:0;padding:0;text-align:left;width:100%}.fusioni-image-clickable-wrap:focus-visible{outline:2px solid var(--fusioni-primary);outline-offset:2px}.fusioni-gallery-strip{width:100%}.fusioni-gallery-strip-viewport{max-width:100%;overflow:hidden;width:100%}.fusioni-gallery-strip-track{display:flex;transition:margin-left .3s ease-in-out;width:100%}.fusioni-gallery-strip-page{box-sizing:border-box;flex:0 0 100%;max-width:100%;min-width:0}.fusioni-gallery-strip-grid{display:grid;gap:.75rem}.fusioni-gallery-strip-cell{min-width:0}.fusioni-gallery-strip-dots{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.fusioni-gallery-strip-dot{border:none;border-radius:9999px;cursor:pointer;height:.625rem;padding:0;transition:background-color .15s ease,transform .15s ease;width:.625rem}.fusioni-gallery-strip--document .fusioni-gallery-strip-dot{background-color:#d1d5db}.fusioni-chat-widget.dark .fusioni-gallery-strip--document .fusioni-gallery-strip-dot{background-color:#475569}.fusioni-gallery-strip--document .fusioni-gallery-strip-dot-active{background-color:var(--fusioni-primary)}.fusioni-chat-widget.dark .fusioni-gallery-strip--document .fusioni-gallery-strip-dot-active{background-color:var(--fusioni-primary-light)}.fusioni-gallery-strip--lightbox .fusioni-gallery-strip-dot{background-color:hsla(0,0%,100%,.35)}.fusioni-gallery-strip--lightbox .fusioni-gallery-strip-dot-active{background-color:hsla(0,0%,100%,.95);transform:scale(1.15)}.fusioni-gallery-strip-dot:focus-visible{outline:2px solid var(--fusioni-primary);outline-offset:2px}.fusioni-gallery-strip--lightbox .fusioni-gallery-strip-dot:focus-visible{outline-color:hsla(0,0%,100%,.85)}.fusioni-document-images{margin-top:.25rem;max-width:100%;min-width:0;position:relative;width:100%}.fusioni-document-images-header{align-items:center;display:flex;justify-content:center;margin-bottom:.75rem;min-height:1.25rem;position:relative}.fusioni-document-images-header:before{background:var(--fusioni-border);content:"";height:1px;left:0;position:absolute;right:0;top:50%;z-index:0}.fusioni-chat-widget.dark .fusioni-document-images-header:before{background:hsla(0,0%,100%,.12)}.fusioni-document-images-header-label{align-items:center;background:var(--fusioni-bg-secondary);color:var(--fusioni-text-secondary);display:inline-flex;font-size:.8125rem;font-weight:600;gap:.375rem;padding:0 .625rem;position:relative;z-index:1}.fusioni-document-images-header-icon{flex-shrink:0;height:1rem;opacity:.9;width:1rem}.fusioni-document-image-btn{background:hsla(0,0%,100%,.4);border:1px solid rgba(0,0,0,.1);border-radius:var(--fusioni-radius-xl);box-shadow:var(--fusioni-shadow);cursor:pointer;display:block;overflow:hidden;padding:0;position:relative;transition:transform .2s ease,box-shadow .2s ease;width:100%}.fusioni-chat-widget.dark .fusioni-document-image-btn{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.1)}.fusioni-document-image-btn:hover{box-shadow:var(--fusioni-shadow-md);transform:translateY(-2px)}.fusioni-document-image-btn:focus{outline:none}.fusioni-document-image-btn:focus-visible{box-shadow:0 0 0 2px rgba(37,99,235,.5)}.fusioni-document-image-aspect{aspect-ratio:4/3;width:100%}.fusioni-document-image-aspect img{display:block;height:100%;object-fit:cover;transition:transform .2s ease;width:100%}.fusioni-document-image-btn:hover .fusioni-document-image-aspect img{transform:scale(1.02)}
1
+ :root{--fusioni-primary:#2563eb;--fusioni-primary-light:#3b82f6;--fusioni-primary-dark:#1d4ed8;--fusioni-secondary:#64748b;--fusioni-success:#059669;--fusioni-warning:#d97706;--fusioni-error:#dc2626;--fusioni-info:#0284c7;--fusioni-bg-primary:#fff;--fusioni-bg-secondary:#e7e7e7;--fusioni-bg-tertiary:#f1f5f9;--fusioni-bg-accent:#f0f9ff;--fusioni-bg-dark:#0f172a;--fusioni-bg-darker:#020617;--fusioni-text-primary:#0f172a;--fusioni-text-secondary:#475569;--fusioni-text-muted:#94a3b8;--fusioni-text-light:#fff;--fusioni-border:#e2e8f0;--fusioni-border-light:#f1f5f9;--fusioni-border-dark:#334155;--fusioni-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--fusioni-shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--fusioni-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--fusioni-shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--fusioni-shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--fusioni-radius:0.375rem;--fusioni-radius-md:0.5rem;--fusioni-radius-lg:0.75rem;--fusioni-radius-xl:1rem;--fusioni-radius-2xl:1.5rem;--fusioni-transition:all 0.2s cubic-bezier(0.4,0,0.2,1);--fusioni-transition-fast:all 0.15s cubic-bezier(0.4,0,0.2,1)}.fusioni-chat-widget{--fusioni-primary:var(--primary-color,#2563eb);--fusioni-primary-light:var(--primary-color,#3b82f6);--fusioni-primary-dark:var(--primary-color,#1d4ed8)}.fusioni-chat-widget.dark{--fusioni-primary:var(--primary-color,#3b82f6);--fusioni-primary-light:var(--primary-color,#60a5fa);--fusioni-primary-dark:var(--primary-color,#2563eb);--fusioni-secondary:#64748b;--fusioni-success:#10b981;--fusioni-warning:#f59e0b;--fusioni-error:#ef4444;--fusioni-info:#06b6d4;--fusioni-bg-primary:#0f172a;--fusioni-bg-secondary:#1e293b;--fusioni-bg-tertiary:#334155;--fusioni-bg-accent:#1e293b;--fusioni-bg-dark:#020617;--fusioni-bg-darker:#000;--fusioni-text-primary:#f8fafc;--fusioni-text-secondary:#cbd5e1;--fusioni-text-muted:#64748b;--fusioni-text-light:#fff;--fusioni-border:#334155;--fusioni-border-light:#475569;--fusioni-border-dark:#1e293b}.fusioni-chat-widget{background-color:var(--fusioni-bg-primary);color:var(--fusioni-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}.fusioni-floating-button{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,var(--fusioni-primary) 0,var(--fusioni-primary-light) 100%);border:none;border:2px solid hsla(0,0%,100%,.1);border-radius:50%;box-shadow:var(--fusioni-shadow-2xl);cursor:pointer;display:flex;height:64px;justify-content:center;overflow:visible;position:fixed;width:64px;z-index:1000}.fusioni-floating-button:hover{background:linear-gradient(135deg,var(--fusioni-primary-dark) 0,var(--fusioni-primary) 100%);box-shadow:0 25px 50px -12px rgba(37,99,235,.4);transform:translateY(-2px) scale(1.05)}.fusioni-floating-button:active{transform:translateY(0) scale(.98)}.fusioni-floating-button-glass{backdrop-filter:blur(20px);background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.4);box-shadow:0 8px 32px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.4)}@supports not (backdrop-filter:blur(20px)){.fusioni-floating-button-glass{background:hsla(0,0%,100%,.9);border:1px solid rgba(0,0,0,.1)}}.fusioni-floating-button-minimal{background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border);box-shadow:0 4px 12px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.1)}.fusioni-floating-button-solid{background:linear-gradient(135deg,var(--fusioni-primary) 0,var(--fusioni-primary-light) 100%);box-shadow:0 4px 12px rgba(37,99,235,.15),0 1px 3px rgba(37,99,235,.1)}.fusioni-floating-button-content{align-items:center;display:flex;justify-content:center}.fusioni-floating-button-icon{transition:all .3s cubic-bezier(.4,0,.2,1)}.fusioni-floating-button-glass .fusioni-floating-button-icon{color:var(--fusioni-text-primary);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.fusioni-floating-button-minimal .fusioni-floating-button-icon{color:var(--fusioni-text-primary)}.fusioni-floating-button-solid .fusioni-floating-button-icon{color:#fff}.fusioni-floating-button-attention-ring{animation:attentionRingPulse 3s ease-in-out infinite;border:2px solid var(--fusioni-primary);border-radius:50%;bottom:-8px;left:-8px;opacity:0;pointer-events:none;position:absolute;right:-8px;top:-8px}.fusioni-floating-button-attention-ring-2{animation:attentionRingPulse 3s ease-in-out .5s infinite;border:1px solid var(--fusioni-primary-light);border-radius:50%;bottom:-16px;left:-16px;opacity:0;pointer-events:none;position:absolute;right:-16px;top:-16px}.fusioni-floating-button-attention-ring-3{animation:attentionRingPulse 3s ease-in-out 1s infinite;border:1px solid rgba(99,102,241,.3);border-radius:50%;bottom:-24px;left:-24px;opacity:0;pointer-events:none;position:absolute;right:-24px;top:-24px}.fusioni-floating-button-neural-particles{bottom:0;left:0;overflow:visible;pointer-events:none;position:absolute;right:0;top:0}.fusioni-neural-particle{animation:neuralParticleFloat 4s ease-in-out infinite;background:var(--fusioni-primary-light);border-radius:50%;box-shadow:0 0 6px var(--fusioni-primary-light);height:3px;opacity:0;position:absolute;width:3px}.fusioni-neural-particle:first-child{animation-delay:0s;left:15%;top:20%}.fusioni-neural-particle:nth-child(2){animation-delay:.8s;right:20%;top:15%}.fusioni-neural-particle:nth-child(3){animation-delay:1.6s;bottom:25%;left:25%}.fusioni-neural-particle:nth-child(4){animation-delay:2.4s;bottom:20%;right:15%}.fusioni-neural-particle:nth-child(5){animation-delay:3.2s;left:5%;top:50%}.fusioni-neural-particle:nth-child(6){animation-delay:.4s;right:5%;top:50%}.fusioni-floating-button-brain-activity{animation:brainActivityPulse 2.5s ease-in-out infinite;background:linear-gradient(45deg,#10b981,#059669);border-radius:50%;box-shadow:0 0 8px rgba(16,185,129,.6);height:16px;opacity:0;pointer-events:none;position:absolute;right:-2px;top:-2px;width:16px}.fusioni-floating-button-brain-activity:before{animation:brainCorePulse 1s ease-in-out infinite;background:#fff;border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.fusioni-floating-button-attention-sequence{height:100px;left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:100px}.fusioni-attention-wave{animation:attentionWaveExpand 2s ease-out infinite;border:2px solid var(--fusioni-primary);border-radius:50%;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.fusioni-attention-wave:nth-child(2){animation-delay:.3s}.fusioni-attention-wave:nth-child(3){animation-delay:.6s}.fusioni-floating-button-periodic-pulse{animation:periodicAttentionPulse 8s ease-in-out infinite;background:radial-gradient(circle,rgba(99,102,241,.1) 0,transparent 70%);border-radius:50%;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0}.fusioni-floating-button-glow{animation:enhancedGlowPulse 3s ease-in-out infinite;background:radial-gradient(circle,rgba(99,102,241,.3) 0,transparent 70%);border-radius:50%;bottom:-4px;left:-4px;opacity:0;pointer-events:none;position:absolute;right:-4px;top:-4px}.fusioni-floating-button-magnetic-field{animation:magneticFieldRotate 6s linear infinite;border:1px solid rgba(99,102,241,.2);border-radius:50%;bottom:-12px;left:-12px;opacity:0;pointer-events:none;position:absolute;right:-12px;top:-12px}.fusioni-floating-button-magnetic-field:after,.fusioni-floating-button-magnetic-field:before{background:var(--fusioni-primary-light);border-radius:50%;box-shadow:0 0 4px var(--fusioni-primary-light);content:"";height:4px;position:absolute;width:4px}.fusioni-floating-button-magnetic-field:before{left:50%;top:0;transform:translateX(-50%)}.fusioni-floating-button-magnetic-field:after{bottom:0;left:50%;transform:translateX(-50%)}.fusioni-floating-button-bottom-right{bottom:1rem;right:1rem}.fusioni-floating-button-bottom-left{bottom:1rem;left:1rem}.fusioni-floating-button-top-right{right:1rem;top:1rem}.fusioni-floating-button-top-left{left:1rem;top:1rem}.fusioni-chat-panel{backdrop-filter:blur(20px);background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border-light);border-radius:var(--fusioni-radius-2xl);box-shadow:var(--fusioni-shadow-2xl);box-sizing:border-box;display:flex;flex-direction:column;height:640px;max-height:calc(100vh - 2rem);max-width:calc(100vw - 2rem);overflow:hidden;position:fixed;width:480px;z-index:50}.fusioni-chat-widget:not(.dark) .fusioni-chat-panel{background:hsla(0,0%,100%,.95)}.fusioni-chat-widget.dark .fusioni-chat-panel{background:rgba(15,23,42,.95)}.fusioni-chat-panel-content{box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.fusioni-chat-panel-bottom-right{bottom:5rem;right:1rem}.fusioni-chat-panel-bottom-left{bottom:5rem;left:1rem}.fusioni-chat-panel-top-right{right:1rem;top:5rem}.fusioni-chat-panel-top-left{left:1rem;top:5rem}.fusioni-chat-panel-fullscreen{border-radius:0!important;bottom:0!important;height:100vh!important;left:0!important;max-height:none!important;max-width:none!important;position:fixed!important;right:0!important;top:0!important;width:100vw!important;z-index:9999!important}.fusioni-chat-backdrop{background:rgba(0,0,0,.5);bottom:0;left:0;position:fixed;right:0;top:0;z-index:40}.fusioni-chat-container{box-sizing:border-box}.fusioni-chat-container,.fusioni-chat-main{display:flex;height:100%;overflow:hidden;width:100%}.fusioni-chat-main{flex:1;flex-direction:column;min-width:0;position:relative;transition:width var(--fusioni-transition)}.fusioni-conversation-list{backdrop-filter:blur(10px);background:var(--fusioni-bg-secondary);border-right:1px solid var(--fusioni-border-light);bottom:0;box-shadow:var(--fusioni-shadow-lg);display:flex;flex-direction:column;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transform:translateX(-100%) scale(.95);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:10}.fusioni-chat-widget:not(.dark) .fusioni-conversation-list{background:linear-gradient(180deg,var(--fusioni-bg-accent) 0,var(--fusioni-bg-secondary) 100%)}.fusioni-conversation-list.open{opacity:1;transform:translateX(0) scale(1)}.fusioni-conversation-backdrop{backdrop-filter:blur(2px);background:rgba(0,0,0,.3);bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s cubic-bezier(.4,0,.2,1),visibility .3s cubic-bezier(.4,0,.2,1);visibility:hidden;z-index:5}.fusioni-conversation-backdrop.open{opacity:1;visibility:visible}.fusioni-conversation-header{align-items:center;backdrop-filter:blur(10px);background:var(--fusioni-bg-tertiary);border-bottom:1px solid var(--fusioni-border-light);display:flex;justify-content:space-between;padding:1.25rem 1rem}.fusioni-chat-widget:not(.dark) .fusioni-conversation-header{background:hsla(0,0%,100%,.8)}.fusioni-conversation-title{align-items:center;display:flex;gap:.75rem}.fusioni-conversation-logo{align-items:center;border:2px solid hsla(0,0%,100%,.2);border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow-md);color:#fff;display:flex;height:44px;justify-content:center;width:44px}.fusioni-conversation-info h3{color:var(--fusioni-text-primary);font-size:1rem;font-weight:600;margin:0}.fusioni-conversation-info p{color:var(--fusioni-text-secondary);font-size:.75rem;margin:0}.fusioni-conversation-search{padding:1rem}.fusioni-search-input{position:relative}.fusioni-input{border:1px solid var(--fusioni-border-light);border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow);color:var(--fusioni-text-primary);font-size:.875rem;padding:.75rem 2.5rem .75rem 1rem;transition:var(--fusioni-transition);width:100%}.fusioni-input,.fusioni-input:focus{background:var(--fusioni-bg-secondary)}.fusioni-input:focus{border-color:var(--fusioni-primary);box-shadow:0 0 0 3px rgba(59,130,246,.1),var(--fusioni-shadow-md);outline:none}.fusioni-chat-widget:not(.dark) .fusioni-input{background:var(--fusioni-bg-primary)}.fusioni-chat-widget:not(.dark) .fusioni-input:focus{background:var(--fusioni-bg-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1),var(--fusioni-shadow-md)}.fusioni-search-icon{color:var(--fusioni-text-muted);pointer-events:none;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.fusioni-divider{background:var(--fusioni-border);height:1px;margin:0 1rem}.fusioni-conversations{flex:1;overflow-y:auto;padding:.5rem}.fusioni-conversation-item{backdrop-filter:blur(10px);background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border-light);border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow);cursor:pointer;margin-bottom:.5rem;overflow:hidden;padding:1rem .5rem 1rem 1rem;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.fusioni-conversation-item:before{background:linear-gradient(135deg,rgba(37,99,235,.02),rgba(59,130,246,.05) 50%,rgba(37,99,235,.02));bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:1}.fusioni-conversation-item:hover{background:var(--fusioni-bg-secondary);border-color:var(--fusioni-primary);box-shadow:var(--fusioni-shadow-lg);transform:translateY(-2px) scale(1.02)}.fusioni-conversation-item:hover:before{opacity:1}.fusioni-conversation-item.active{background:linear-gradient(135deg,var(--fusioni-primary) 0,var(--fusioni-primary-light) 100%);border-color:var(--fusioni-primary);box-shadow:0 8px 32px rgba(37,99,235,.3);color:#fff;transform:translateY(-1px)}.fusioni-conversation-item.active:before{opacity:0}.fusioni-conversation-neural-bg{bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .4s ease;z-index:0}.fusioni-conversation-item:hover .fusioni-conversation-neural-bg{opacity:.6}.fusioni-conversation-item.active .fusioni-conversation-neural-bg{opacity:.8}.fusioni-neural-node{animation:neuralPulse 3s ease-in-out infinite;background:var(--fusioni-primary);border-radius:50%;box-shadow:0 0 8px var(--fusioni-primary);height:4px;position:absolute;width:4px}.fusioni-neural-node-1{animation-delay:0s;left:15%;top:20%}.fusioni-neural-node-2{animation-delay:1s;right:20%;top:60%}.fusioni-neural-node-3{animation-delay:2s;bottom:25%;left:40%}.fusioni-neural-connection{animation:neuralFlow 4s ease-in-out infinite;background:linear-gradient(90deg,transparent 0,var(--fusioni-primary) 50%,transparent 100%);height:1px;position:absolute}.fusioni-neural-connection-1{animation-delay:.5s;left:15%;top:30%;transform:rotate(15deg);width:60%}.fusioni-neural-connection-2{animation-delay:1.5s;bottom:40%;left:25%;transform:rotate(-20deg);width:45%}.fusioni-ai-pulse-ring{animation:aiPulse 2s ease-in-out infinite;border:2px solid var(--fusioni-primary);border-radius:50%;height:100%;opacity:.6;position:absolute;width:100%}.fusioni-ai-core{align-items:center;animation:aiRotate 4s linear infinite;color:var(--fusioni-primary);display:flex;justify-content:center;position:relative;z-index:1}.fusioni-conversation-item.active .fusioni-ai-core{color:#fff}.fusioni-conversation-item.active .fusioni-ai-pulse-ring{border-color:#fff}.fusioni-conversation-content{display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:2}.fusioni-conversation-main{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.fusioni-conversation-title-section{display:flex;flex:1;flex-direction:column;gap:.5rem;min-width:0}.fusioni-conversation-title-text{align-items:center;color:var(--fusioni-text-primary);display:flex;flex-wrap:wrap;font-size:.95rem;font-weight:600;gap:.5rem;line-height:1.3;margin:0;word-break:break-word}.fusioni-conversation-item.active .fusioni-conversation-title-text{color:#fff}.fusioni-conversation-meta{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-top:.25rem}.fusioni-conversation-status{align-items:center;color:var(--fusioni-text-muted);display:flex;font-size:.75rem;font-weight:500;gap:.375rem}.fusioni-conversation-item.active .fusioni-conversation-status{color:hsla(0,0%,100%,.8)}.fusioni-status-dot{animation:statusPulse 2s ease-in-out infinite;background:var(--fusioni-success);border-radius:50%;box-shadow:0 0 4px var(--fusioni-success);height:6px;width:6px}.fusioni-conversation-temp-indicator{flex-shrink:0}.fusioni-new-badge{align-items:center;animation:newBadgePulse 2s ease-in-out infinite;background:linear-gradient(135deg,var(--fusioni-warning) 0,#f59e0b 100%);border-radius:var(--fusioni-radius);box-shadow:0 2px 8px rgba(217,119,6,.3);color:#fff;display:inline-flex;font-size:.625rem;font-weight:700;letter-spacing:.05em;padding:.25rem .5rem;position:relative;text-transform:uppercase}.fusioni-new-text{position:relative;z-index:2}.fusioni-new-pulse{animation:newPulseRing 2s ease-in-out infinite;background:linear-gradient(135deg,var(--fusioni-warning) 0,#f59e0b 100%);border-radius:var(--fusioni-radius);bottom:0;left:0;opacity:.6;position:absolute;right:0;top:0}.fusioni-conversation-actions{align-items:flex-start;display:flex;gap:.25rem;margin-top:.25rem}.fusioni-delete-btn{opacity:0;transform:scale(.8);transition:all .3s cubic-bezier(.4,0,.2,1)}.fusioni-conversation-item:hover .fusioni-delete-btn{opacity:1;transform:scale(1)}.fusioni-conversation-item.active .fusioni-delete-btn{background:hsla(0,0%,100%,.2);color:#fff;opacity:1;transform:scale(1)}.fusioni-conversation-item.active .fusioni-delete-btn:hover{background:hsla(0,0%,100%,.3);transform:scale(1.1)}.fusioni-conversation-date{color:var(--fusioni-text-muted);font-size:.75rem;font-weight:500;margin:0}.fusioni-conversation-item.active .fusioni-conversation-date{color:hsla(0,0%,100%,.8)}.fusioni-conversation-data-flow{bottom:0;height:2px;left:0;opacity:0;overflow:hidden;position:absolute;right:0;transition:opacity .3s ease}.fusioni-conversation-item.active .fusioni-conversation-data-flow,.fusioni-conversation-item:hover .fusioni-conversation-data-flow{opacity:1}.fusioni-data-stream{animation:dataFlow 3s ease-in-out infinite;background:linear-gradient(90deg,transparent 0,var(--fusioni-primary) 20%,var(--fusioni-primary-light) 50%,var(--fusioni-primary) 80%,transparent 100%);height:100%;left:-100%;position:absolute;top:0;width:100%}.fusioni-conversation-item.active .fusioni-data-stream{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3) 20%,hsla(0,0%,100%,.6) 50%,hsla(0,0%,100%,.3) 80%,transparent)}.fusioni-empty-state{color:var(--fusioni-text-muted);padding:2rem;text-align:center}.fusioni-message-list{background:var(--fusioni-bg-primary);display:flex;flex:1;flex-direction:column;overflow-y:auto;padding:1rem}.fusioni-messages-container{display:flex;flex-direction:column;gap:1rem;height:100%}.fusioni-empty-messages,.fusioni-empty-messages-content{align-items:center;display:flex;height:100%;justify-content:center}.fusioni-empty-messages-content{color:var(--fusioni-text-muted);flex-direction:column;text-align:center}.fusioni-empty-icon{color:var(--fusioni-text-muted);height:64px;margin:0 auto 1rem;width:64px}.fusioni-messages{gap:1rem}.fusioni-message-wrapper,.fusioni-messages{display:flex;flex-direction:column}.fusioni-message{align-items:flex-start;display:flex;gap:5px}.fusioni-message.user{flex-direction:row-reverse}.fusioni-message-avatar{align-items:center;background:var(--fusioni-bg-tertiary);border-radius:8px;color:var(--fusioni-text-secondary);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.fusioni-message.user .fusioni-message-avatar{background:var(--fusioni-primary);color:#fff}.fusioni-message-content{flex:1;min-width:0}.fusioni-message-footer,.fusioni-message-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.fusioni-message-role{color:var(--fusioni-text-secondary);font-size:.75rem;font-weight:500;margin-left:5px}.fusioni-message-time{color:var(--fusioni-text-muted);font-size:.75rem}.fusioni-message-body{margin-bottom:0}.fusioni-message-bubble{word-wrap:break-word;border-radius:var(--fusioni-radius-lg);max-width:100%;padding:.75rem 1rem;position:relative;transition:var(--fusioni-transition)}.fusioni-message-bubble:hover{box-shadow:var(--fusioni-shadow)}.fusioni-message-user{background:var(--fusioni-primary);border-bottom-right-radius:.25rem;color:#fff}.fusioni-message-assistant{background:var(--fusioni-bg-secondary);border-bottom-left-radius:.25rem;color:var(--fusioni-text-primary)}.fusioni-message-error{background:var(--fusioni-error);color:#fff}.fusioni-message-text{line-height:1.5}.fusioni-message-text h1,.fusioni-message-text h2,.fusioni-message-text h3{line-height:1.25;margin:.5rem 0 .25rem}.fusioni-message-text p{margin:.5rem 0}.fusioni-message-text ol,.fusioni-message-text ul{list-style-position:outside;margin:.5rem 0;padding-left:1rem}.fusioni-message-text code{background:var(--fusioni-bg-tertiary);border-radius:.25rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875em;padding:.125rem .25rem}.fusioni-message-text pre{background:var(--fusioni-bg-dark);border-radius:var(--fusioni-radius);color:var(--fusioni-text-light);margin:.5rem 0;overflow-x:auto;padding:.75rem}.fusioni-message-text a{color:var(--fusioni-primary);text-decoration:underline}.fusioni-message-extra,.fusioni-message-image{margin-top:.5rem}.fusioni-image{border-radius:var(--fusioni-radius);box-shadow:var(--fusioni-shadow);height:auto;max-width:100%}.fusioni-message-audio{background:var(--fusioni-bg-tertiary);border-radius:var(--fusioni-radius);margin-top:.5rem;padding:.75rem}.fusioni-audio-header{align-items:center;color:var(--fusioni-text-secondary);display:flex;font-size:.875rem;gap:.5rem;margin-bottom:.5rem}.fusioni-audio-duration{color:var(--fusioni-text-muted);font-size:.75rem}.fusioni-audio-player{height:32px;width:100%}.fusioni-message-map{margin-top:.5rem}.fusioni-map-placeholder{background:var(--fusioni-bg-tertiary);border-radius:var(--fusioni-radius);color:var(--fusioni-text-secondary);padding:1rem;text-align:center}.fusioni-map-container{border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius);box-shadow:var(--fusioni-shadow);margin-top:.5rem;overflow:hidden}.fusioni-map-interactive,.fusioni-map-static{height:auto;position:relative;width:100%}.fusioni-map-image{border-radius:var(--fusioni-radius);display:block;height:auto;width:100%}.fusioni-map-iframe{border:none;border-radius:var(--fusioni-radius);height:400px;width:100%}.fusioni-map-loading{align-items:center;background:var(--fusioni-bg-tertiary);border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius);display:flex;justify-content:center;padding:2rem}.fusioni-map-loading-content{align-items:center;color:var(--fusioni-text-secondary);display:flex;flex-direction:column;gap:.75rem}.fusioni-map-loading-spinner{animation:spin 1s linear infinite;border-top:2px solid var(--fusioni-border);border:2px solid var(--fusioni-border);border-radius:50%;border-top-color:var(--fusioni-primary);height:24px;width:24px}.fusioni-map-error{align-items:center;background:rgba(220,38,38,.05);border:1px solid rgba(220,38,38,.2);border-radius:var(--fusioni-radius);color:var(--fusioni-error);display:flex;justify-content:center;padding:1rem}.fusioni-map-error-content{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.fusioni-chat-widget.dark .fusioni-map-container{border-color:var(--fusioni-border-dark)}.fusioni-chat-widget.dark .fusioni-map-loading{background:var(--fusioni-bg-dark);border-color:var(--fusioni-border-dark)}.fusioni-chat-widget.dark .fusioni-map-error{background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.3)}.fusioni-message-thoughts{color:var(--fusioni-text-muted);font-size:.75rem;margin-top:.5rem}.fusioni-message-thoughts details{cursor:pointer}.fusioni-message-thoughts summary{font-weight:500}.fusioni-message-actions{align-items:center;display:flex;flex-direction:row;gap:.1rem;margin-left:auto;opacity:0;transition:var(--fusioni-transition)}.fusioni-message-actions .fusioni-btn:hover{background:transparent}.fusioni-message:hover .fusioni-message-actions{opacity:1}.fusioni-message-error-indicator{align-items:center;color:var(--fusioni-error);display:flex;font-size:.75rem;gap:.25rem;margin-top:.25rem}.fusioni-stream-message{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.fusioni-stream-message:last-child{margin-bottom:0}.fusioni-stream-indicator{align-items:center;display:flex;justify-content:center}.fusioni-stream-dot{animation:dotPulse 1.5s infinite;background:var(--fusioni-primary);border-radius:50%;box-shadow:0 0 8px rgba(99,102,241,.4);height:6px;width:6px}.fusioni-stream-text{color:var(--fusioni-text-secondary);font-size:.875rem;line-height:1.4}.fusioni-chat-input{background:var(--fusioni-bg-primary);border-top:1px solid var(--fusioni-border);padding:1rem}.fusioni-image-preview{margin-bottom:.75rem}.fusioni-image-preview-content{display:inline-block;position:relative}.fusioni-preview-image{border-radius:var(--fusioni-radius);box-shadow:var(--fusioni-shadow);max-height:200px;max-width:200px}.fusioni-image-preview-content .fusioni-btn{position:absolute;right:.5rem;top:.5rem}.fusioni-audio-preview{background:var(--fusioni-bg-secondary);border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius);margin-bottom:.75rem;padding:.75rem}.fusioni-audio-preview-content{display:flex;flex-direction:column;gap:.5rem}.fusioni-audio-preview-header{align-items:center;color:var(--fusioni-text-secondary);display:flex;font-size:.875rem;justify-content:space-between}.fusioni-audio-preview-player{height:32px;width:100%}.fusioni-audio-preview-text{color:var(--fusioni-text-muted);font-size:.75rem;margin:0;text-align:center}.fusioni-input-container{width:100%}.fusioni-input-wrapper{align-items:flex-end;background:var(--fusioni-bg-secondary);border:2px solid var(--fusioni-border);border-radius:var(--fusioni-radius-xl);display:flex;gap:.5rem;padding:.5rem;transition:var(--fusioni-transition)}.fusioni-input-wrapper:focus-within{border-color:var(--fusioni-primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.fusioni-textarea{background:transparent;border:none;color:var(--fusioni-text-primary);flex:1;font-family:inherit;font-size:.875rem;line-height:1.5;max-height:120px;min-height:20px;outline:none;padding:.5rem;resize:none}.fusioni-textarea::placeholder{color:var(--fusioni-text-muted)}.fusioni-input-actions{align-items:center;display:flex;gap:.25rem}.fusioni-btn{align-items:center;background:transparent;border:none;border-radius:var(--fusioni-radius);color:var(--fusioni-text-secondary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;padding:.5rem;text-decoration:none;transition:var(--fusioni-transition)}.fusioni-btn:hover{background:var(--fusioni-bg-tertiary);color:var(--fusioni-text-primary)}.fusioni-btn:disabled{cursor:not-allowed;opacity:.5}.fusioni-btn-icon-primary{background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border);box-shadow:var(--fusioni-shadow)}.fusioni-btn-icon-primary:hover{background:var(--fusioni-primary-dark);border-color:var(--fusioni-primary-dark);color:#fff}.fusioni-btn-icon{border-radius:50%;height:25px;padding:0;transition:var(--fusioni-transition-fast);width:28px}.fusioni-btn-icon:hover{background:var(--fusioni-primary);border-color:var(--fusioni-primary);color:#fff;transform:scale(1.05)}.fusioni-btn-primary{background:linear-gradient(135deg,var(--fusioni-primary) 0,var(--fusioni-primary-light) 100%);border:none;border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow-md);color:#fff;font-weight:600;padding:.75rem 1.5rem;transition:var(--fusioni-transition)}.fusioni-btn-primary:hover{background:linear-gradient(135deg,var(--fusioni-primary-dark) 0,var(--fusioni-primary) 100%);box-shadow:var(--fusioni-shadow-lg);color:#fff;transform:translateY(-1px)}.fusioni-btn-danger{color:var(--fusioni-error)}.fusioni-btn-danger:hover{background:var(--fusioni-error);color:#fff}.fusioni-btn-text{background:transparent;color:var(--fusioni-primary);padding:.25rem .5rem}.fusioni-btn-text:hover{background:var(--fusioni-bg-tertiary);color:var(--fusioni-primary)}.fusioni-btn-send{background:var(--fusioni-primary);color:#fff}.fusioni-btn-send:hover{background:var(--fusioni-primary-dark);color:#fff}.fusioni-btn-send:disabled{background:var(--fusioni-text-muted);color:var(--fusioni-text-light)}.fusioni-btn-send-audio{background:var(--fusioni-success)}.fusioni-btn-send-audio:hover{background:#059669}.fusioni-btn-recording{animation:recordingPulse 2s ease-in-out infinite;background:var(--fusioni-error);color:#fff}.fusioni-btn-recording:hover{background:#dc2626;color:#fff}.fusioni-confirmation-widget{display:flex;gap:.75rem;padding-top:1.25rem}.fusioni-btn-confirm{background:linear-gradient(135deg,var(--fusioni-primary) 0,var(--fusioni-primary-light) 100%);border:none;border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow-md);color:#fff;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:var(--fusioni-transition)}.fusioni-btn-confirm:hover:not(:disabled){background:linear-gradient(135deg,var(--fusioni-primary-dark) 0,var(--fusioni-primary) 100%);box-shadow:var(--fusioni-shadow-lg);color:#fff;transform:translateY(-1px) scale(1.05)}.fusioni-btn-confirm:active:not(:disabled){transform:translateY(0) scale(1)}.fusioni-btn-confirm:disabled{background:var(--fusioni-primary);cursor:not-allowed;opacity:.5;transform:none}.fusioni-btn-cancel{background:var(--fusioni-secondary);border:none;border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow-md);color:#fff;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:var(--fusioni-transition)}.fusioni-btn-cancel:hover:not(:disabled){background:var(--fusioni-secondary);box-shadow:var(--fusioni-shadow-lg);color:#fff;transform:translateY(-1px) scale(1.05)}.fusioni-btn-cancel:active:not(:disabled){transform:translateY(0) scale(1)}.fusioni-btn-cancel:disabled{cursor:not-allowed;opacity:.5;transform:none}.dark .fusioni-btn-cancel,.dark .fusioni-btn-cancel:hover:not(:disabled),.fusioni-btn-cancel:disabled{background:var(--fusioni-secondary)}.fusioni-audio-recorder{align-items:center;display:flex;gap:.5rem}.fusioni-recording-indicator{align-items:center;display:flex;justify-content:center}.fusioni-recording-dot{animation:recordingPulse 1.5s ease-in-out infinite;background:#fff;border-radius:50%;height:8px;width:8px}.fusioni-recording-timer{color:var(--fusioni-error);font-size:.75rem;font-weight:500;min-width:3rem;text-align:center}.fusioni-audio-error{background:var(--fusioni-error);border-radius:var(--fusioni-radius);bottom:100%;color:#fff;font-size:.75rem;left:0;margin-bottom:.5rem;padding:.5rem;position:absolute;right:0}.fusioni-audio-error p{margin:0 0 .25rem}.fusioni-audio-error button{background:transparent;border:1px solid #fff;border-radius:var(--fusioni-radius);color:#fff;cursor:pointer;font-size:.75rem;padding:.25rem .5rem}.fusioni-chat-loader{padding:1rem;text-align:center}.fusioni-loader-content{align-items:center;display:flex;gap:.75rem;justify-content:center}.fusioni-loader-dots{display:flex;gap:.25rem}.fusioni-loader-dot{animation:dotPulse 1.5s ease-in-out infinite;background:var(--fusioni-primary);border-radius:50%;height:6px;width:6px}.fusioni-loader-dot:nth-child(2){animation-delay:.2s}.fusioni-loader-dot:nth-child(3){animation-delay:.4s}.fusioni-loader-text{color:var(--fusioni-text-secondary);font-size:.875rem}.fusioni-chat-main-header{align-items:center;backdrop-filter:blur(10px);background:var(--fusioni-bg-tertiary);border-bottom:1px solid var(--fusioni-border-light);display:flex;justify-content:space-between;padding:1rem;position:relative;z-index:5}.fusioni-chat-widget:not(.dark) .fusioni-chat-main-header{background:hsla(0,0%,100%,.8)}.fusioni-header-actions{align-items:center;display:flex;gap:.75rem}.fusioni-conversation-toggle{align-items:center;background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius-lg);color:var(--fusioni-text-secondary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem .75rem;transition:var(--fusioni-transition)}.fusioni-conversation-toggle:hover{background:var(--fusioni-primary);border-color:var(--fusioni-primary);color:#fff}.fusioni-conversation-toggle-icon{height:16px;transition:transform var(--fusioni-transition);width:16px}.fusioni-conversation-toggle.open .fusioni-conversation-toggle-icon{transform:rotate(180deg)}.fusioni-connection-indicator,.fusioni-connection-status{align-items:center;display:flex}.fusioni-connection-indicator{border-radius:var(--fusioni-radius);padding:.25rem;transition:var(--fusioni-transition)}.fusioni-connection-dot{border-radius:50%;height:8px;transition:var(--fusioni-transition);width:8px}.fusioni-connection-indicator.connected .fusioni-connection-dot{background:var(--fusioni-success);box-shadow:0 0 0 2px rgba(16,185,129,.2)}.fusioni-connection-indicator.disconnected .fusioni-connection-dot{background:var(--fusioni-text-muted);box-shadow:0 0 0 2px rgba(148,163,184,.2)}.fusioni-language-switcher{display:inline-block;position:relative}.fusioni-language-button{align-items:center;background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius-lg);color:var(--fusioni-text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;min-width:120px;padding:.5rem .75rem;transition:var(--fusioni-transition)}.fusioni-language-button:hover{background:var(--fusioni-bg-secondary);border-color:var(--fusioni-primary)}.fusioni-language-flag{font-size:1rem;line-height:1}.fusioni-language-name{flex:1;font-weight:500;text-align:left}.fusioni-language-arrow{transition:transform var(--fusioni-transition)}.fusioni-language-arrow.open{transform:rotate(180deg)}.fusioni-language-dropdown{background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow-lg);left:0;margin-top:.25rem;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.fusioni-language-option{align-items:center;background:transparent;border:none;color:var(--fusioni-text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem;text-align:left;transition:var(--fusioni-transition);width:100%}.fusioni-language-option:hover{background:var(--fusioni-bg-secondary)}.fusioni-language-option.active{background:var(--fusioni-primary);color:#fff}.fusioni-language-check{margin-left:auto;opacity:.8}.fusioni-chat-welcome{align-items:center;background:var(--fusioni-bg-primary);bottom:0;box-sizing:border-box;display:flex;height:100%;justify-content:center;left:0;overflow:hidden;padding:3rem 2rem;position:absolute;right:0;top:0;width:100%}.fusioni-chat-widget:not(.dark) .fusioni-chat-welcome{background:linear-gradient(135deg,var(--fusioni-bg-accent) 0,var(--fusioni-bg-primary) 100%)}.fusioni-chat-welcome-content{box-sizing:border-box;margin:0 auto;max-width:320px;text-align:center;width:100%}.fusioni-chat-welcome-content h3{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,var(--fusioni-primary) 0,var(--fusioni-primary-light) 100%);-webkit-background-clip:text;background-clip:text;color:var(--fusioni-text-primary);font-size:1.5rem;font-weight:700;margin:0 0 1rem}.fusioni-chat-welcome-content p{color:var(--fusioni-text-secondary);font-size:1rem;line-height:1.6;margin:0 0 2rem}.fusioni-chat-error{background:var(--fusioni-error);border-radius:var(--fusioni-radius);color:#fff;margin:1rem;padding:1rem}.fusioni-chat-error p{margin:0 0 .5rem}.fusioni-chat-error button{background:transparent;border:1px solid #fff;border-radius:var(--fusioni-radius);color:#fff;cursor:pointer;padding:.25rem .5rem}.fusioni-spinner{animation:spin 1s linear infinite;border-top:2px solid var(--fusioni-border);border:2px solid var(--fusioni-border);border-radius:50%;border-top-color:var(--fusioni-primary);height:16px;width:16px}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}@keyframes recordingPulse{0%,to{box-shadow:0 0 5px rgba(239,68,68,.5)}50%{box-shadow:0 0 20px rgba(239,68,68,.8),0 0 30px rgba(239,68,68,.6)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes neuralPulse{0%,to{box-shadow:0 0 8px var(--fusioni-primary);opacity:.6;transform:scale(1)}50%{box-shadow:0 0 16px var(--fusioni-primary);opacity:1;transform:scale(1.5)}}@keyframes neuralFlow{0%{opacity:0;transform:scaleX(0)}50%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(0)}}@keyframes aiPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes aiRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes statusPulse{0%,to{box-shadow:0 0 4px var(--fusioni-success);opacity:1;transform:scale(1)}50%{box-shadow:0 0 8px var(--fusioni-success);opacity:.8;transform:scale(1.2)}}@keyframes newBadgePulse{0%,to{box-shadow:0 2px 8px rgba(217,119,6,.3);transform:scale(1)}50%{box-shadow:0 4px 16px rgba(217,119,6,.5);transform:scale(1.05)}}@keyframes newPulseRing{0%{opacity:.6;transform:scale(1)}50%{opacity:.2;transform:scale(1.3)}to{opacity:0;transform:scale(1.6)}}@keyframes dataFlow{0%{left:-100%;opacity:0}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}@keyframes magneticHover{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.02)}to{transform:translateY(-1px) scale(1.01)}}@keyframes neuralGlow{0%,to{filter:brightness(1) saturate(1)}50%{filter:brightness(1.2) saturate(1.3)}}@media (max-width:768px){.fusioni-chat-panel{height:calc(100vh - 1rem);max-height:none;max-width:none;width:calc(100vw - 1rem)}.fusioni-chat-panel-bottom-left,.fusioni-chat-panel-bottom-right,.fusioni-chat-panel-top-left,.fusioni-chat-panel-top-right{bottom:.5rem;height:calc(100vh - 1rem);top:.5rem}.fusioni-conversation-list{border-bottom:1px solid var(--fusioni-border);border-right:none;width:100%}.fusioni-chat-container{flex-direction:column}.fusioni-message-bubble:hover{transform:scale(1.01)}}.fusioni-conversations::-webkit-scrollbar,.fusioni-message-list::-webkit-scrollbar{width:6px}.fusioni-conversations::-webkit-scrollbar-track,.fusioni-message-list::-webkit-scrollbar-track{background:var(--fusioni-bg-tertiary)}.fusioni-conversations::-webkit-scrollbar-thumb,.fusioni-message-list::-webkit-scrollbar-thumb{background:var(--fusioni-text-muted);border-radius:3px}.fusioni-conversations::-webkit-scrollbar-thumb:hover,.fusioni-message-list::-webkit-scrollbar-thumb:hover{background:var(--fusioni-text-secondary)}.fusioni-url-preview{background:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius);box-shadow:var(--fusioni-shadow);margin:.5rem 0;overflow:hidden;transition:var(--fusioni-transition)}.fusioni-url-preview:hover{box-shadow:var(--fusioni-shadow-md);transform:translateY(-1px)}.fusioni-url-preview-compact{margin:.25rem 0}.fusioni-url-preview-loading{align-items:center;color:var(--fusioni-text-secondary);display:flex;font-size:.875rem;gap:.5rem;padding:.75rem}.fusioni-url-preview-spinner{animation:fusioni-spin 1s linear infinite;border-top:2px solid var(--fusioni-border);border:2px solid var(--fusioni-border);border-radius:50%;border-top-color:var(--fusioni-primary);height:16px;width:16px}@keyframes fusioni-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fusioni-url-preview-error{align-items:center;background:rgba(220,38,38,.05);color:var(--fusioni-error);display:flex;font-size:.875rem;justify-content:space-between;padding:.75rem}.fusioni-url-preview-content{position:relative}.fusioni-url-preview-close{align-items:center;background:rgba(0,0,0,.5);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;position:absolute;right:.5rem;top:.5rem;transition:var(--fusioni-transition);width:24px;z-index:10}.fusioni-url-preview-close:hover{background:rgba(0,0,0,.7)}.fusioni-url-preview-link{display:flex;transition:var(--fusioni-transition)}.fusioni-url-preview-link,.fusioni-url-preview-link:hover{color:inherit;text-decoration:none}.fusioni-url-preview-image{flex-shrink:0;height:80px;overflow:hidden;width:120px}.fusioni-url-preview-compact .fusioni-url-preview-image{height:60px;width:80px}.fusioni-url-preview-image img{height:100%;object-fit:cover;transition:var(--fusioni-transition);width:100%}.fusioni-url-preview-link:hover .fusioni-url-preview-image img{transform:scale(1.05)}.fusioni-url-preview-text{display:flex;flex:1;flex-direction:column;justify-content:space-between;min-width:0;padding:.75rem}.fusioni-url-preview-compact .fusioni-url-preview-text{padding:.5rem}.fusioni-url-preview-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--fusioni-text-primary);display:-webkit-box;font-size:.875rem;font-weight:600;line-height:1.25;margin-bottom:.25rem;overflow:hidden}.fusioni-url-preview-compact .fusioni-url-preview-title{-webkit-line-clamp:1;line-clamp:1;font-size:.8125rem}.fusioni-url-preview-description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--fusioni-text-secondary);display:-webkit-box;font-size:.8125rem;line-height:1.4;margin-bottom:.25rem;overflow:hidden}.fusioni-url-preview-compact .fusioni-url-preview-description{-webkit-line-clamp:1;line-clamp:1;font-size:.75rem}.fusioni-url-preview-domain{color:var(--fusioni-text-muted);font-size:.75rem;letter-spacing:.025em;text-transform:uppercase}.fusioni-message-url-previews{margin-top:.5rem}.fusioni-chat-widget.dark .fusioni-url-preview{background:var(--fusioni-bg-dark);border-color:var(--fusioni-border-dark)}.fusioni-chat-widget.dark .fusioni-url-preview-title{color:var(--fusioni-text-light)}.fusioni-chat-widget.dark .fusioni-url-preview-description{color:var(--fusioni-text-secondary)}.fusioni-chat-widget.dark .fusioni-url-preview-error{background:rgba(220,38,38,.1)}.fusioni-stream-messages{display:flex;flex-direction:column;gap:8px;margin-top:8px}.fusioni-stream-message-item{align-items:flex-start;display:flex;gap:8px}.fusioni-stream-message-logo-wrap{flex-shrink:0}.fusioni-stream-message-logo-frame{align-items:center;background:linear-gradient(to bottom right,#f3f4f6,#e5e7eb);border-radius:12px;box-shadow:var(--fusioni-shadow-lg);display:flex;height:32px;justify-content:center;overflow:hidden;width:32px}.fusioni-chat-widget.dark .fusioni-stream-message-logo-frame{background:linear-gradient(to bottom right,#1f2937,#111827)}.fusioni-stream-message-logo-img{animation:fusioni-spin 1s linear infinite;height:32px;margin:0;object-fit:contain;padding:4px;width:32px}.fusioni-stream-message-spotlight{margin-top:4px;min-width:0}.fusioni-spotlight{--mask-x:0%;--mask-y:50%;--text-spotlight-size:100px;display:block}.fusioni-spotlight-title{color:inherit;display:inline-block;position:relative}.fusioni-spotlight-text-base,.fusioni-spotlight-text-overlay,.fusioni-spotlight-title{font-family:inherit;font-size:16px;font-weight:inherit;letter-spacing:inherit;line-height:1.2}.fusioni-spotlight-text-base,.fusioni-spotlight-text-overlay{white-space:nowrap}.fusioni-spotlight-text-base{opacity:.2}.fusioni-spotlight-text-base,.fusioni-spotlight-text-overlay{-webkit-text-fill-color:transparent;background:currentColor;-webkit-background-clip:text;background-clip:text}.fusioni-spotlight-text-overlay{left:0;mask:radial-gradient(circle var(--text-spotlight-size) at var(--mask-x) var(--mask-y),#000 0,transparent 70%);-webkit-mask:radial-gradient(circle var(--text-spotlight-size) at var(--mask-x) var(--mask-y),#000 0,transparent 70%);opacity:1;pointer-events:none;position:absolute;top:0}@keyframes fusioni-dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.fusioni-chat-widget.dark .fusioni-conversation-item{background:var(--fusioni-bg-dark);border-color:var(--fusioni-border-dark)}.fusioni-chat-widget.dark .fusioni-conversation-item:before{background:linear-gradient(135deg,rgba(59,130,246,.05),rgba(37,99,235,.1) 50%,rgba(59,130,246,.05))}.fusioni-chat-widget.dark .fusioni-conversation-item:hover{background:var(--fusioni-bg-secondary);border-color:var(--fusioni-primary-light)}.fusioni-chat-widget.dark .fusioni-neural-node{background:var(--fusioni-primary-light);box-shadow:0 0 8px var(--fusioni-primary-light)}.fusioni-chat-widget.dark .fusioni-neural-connection{background:linear-gradient(90deg,transparent 0,var(--fusioni-primary-light) 50%,transparent 100%)}.fusioni-chat-widget.dark .fusioni-ai-core{color:var(--fusioni-primary-light)}.fusioni-chat-widget.dark .fusioni-ai-pulse-ring{border-color:var(--fusioni-primary-light)}.fusioni-chat-widget.dark .fusioni-data-stream{background:linear-gradient(90deg,transparent 0,var(--fusioni-primary-light) 20%,var(--fusioni-primary) 50%,var(--fusioni-primary-light) 80%,transparent 100%)}.fusioni-chat-widget.dark .fusioni-conversation-title-text{color:var(--fusioni-text-light)}.fusioni-chat-widget.dark .fusioni-conversation-status{color:var(--fusioni-text-secondary)}.fusioni-chat-widget.dark .fusioni-conversation-date{color:var(--fusioni-text-muted)}@media (prefers-reduced-motion:reduce){.fusioni-ai-core,.fusioni-ai-pulse-ring,.fusioni-conversation-item,.fusioni-data-stream,.fusioni-neural-connection,.fusioni-neural-node,.fusioni-new-badge,.fusioni-new-pulse,.fusioni-status-dot{animation:none!important;transition:none!important}.fusioni-conversation-item:hover{transform:none!important}}@media (prefers-contrast:high){.fusioni-conversation-item{border-width:2px}.fusioni-conversation-item.active{border-width:3px}.fusioni-ai-pulse-ring,.fusioni-neural-node,.fusioni-status-dot{border:1px solid;box-shadow:none}}.fusioni-conversation-item:focus-visible{outline:2px solid var(--fusioni-primary);outline-offset:2px}.fusioni-conversation-item.active:focus-visible{outline-color:#fff}.fusioni-conversation-item{contain:layout style paint;will-change:transform,box-shadow}.fusioni-ai-pulse-ring,.fusioni-data-stream,.fusioni-neural-connection,.fusioni-neural-node{contain:layout style paint;will-change:transform,opacity}.fusioni-ai-core,.fusioni-conversation-item,.fusioni-data-stream,.fusioni-neural-node{backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}@keyframes attentionRingPulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes neuralParticleFloat{0%,to{opacity:0;transform:scale(.5) translateY(0)}25%{opacity:.6;transform:scale(1) translateY(-10px)}50%{opacity:1;transform:scale(1.2) translateY(-20px)}75%{opacity:.6;transform:scale(1) translateY(-10px)}}@keyframes brainActivityPulse{0%,to{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes brainCorePulse{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.7;transform:translate(-50%,-50%) scale(1.3)}}@keyframes attentionWaveExpand{0%{opacity:.8;transform:scale(.5)}50%{opacity:.4;transform:scale(1.2)}to{opacity:0;transform:scale(2)}}@keyframes periodicAttentionPulse{0%,90%{opacity:0;transform:scale(1)}95%{opacity:.6;transform:scale(1.3)}to{opacity:0;transform:scale(1.5)}}@keyframes enhancedGlowPulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.4;transform:scale(1.1)}}@keyframes magneticFieldRotate{0%{opacity:.3;transform:rotate(0deg)}50%{opacity:.6}to{opacity:.3;transform:rotate(1turn)}}@keyframes floatingButtonEntrance{0%{transform:scale(1)}20%{transform:scale(6)}40%{transform:scale(1.1)}70%{transform:scale(.8)}to{transform:scale(1)}}@keyframes attentionSequenceTrigger{0%{opacity:0;transform:scale(.8)}20%{opacity:1;transform:scale(1.2)}40%{opacity:.8;transform:scale(1)}60%{opacity:1;transform:scale(1.1)}80%{opacity:.6;transform:scale(.9)}to{opacity:0;transform:scale(1)}}@keyframes floatingButtonHover{0%{transform:translateY(0) scale(1) rotate(0deg)}25%{transform:translateY(-3px) scale(1.05) rotate(1deg)}50%{transform:translateY(-5px) scale(1.08) rotate(0deg)}75%{transform:translateY(-2px) scale(1.03) rotate(-1deg)}to{transform:translateY(0) scale(1) rotate(0deg)}}@keyframes aiProcessingIndicator{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@keyframes neuralConnectionFlow{0%{opacity:0;transform:scaleX(0)}20%{opacity:.8;transform:scaleX(.3)}50%{opacity:1;transform:scaleX(1)}80%{opacity:.8;transform:scaleX(.7)}to{opacity:0;transform:scaleX(0)}}.fusioni-floating-button-attention-active .fusioni-floating-button-attention-ring,.fusioni-floating-button-attention-active .fusioni-floating-button-attention-ring-2,.fusioni-floating-button-attention-active .fusioni-floating-button-attention-ring-3,.fusioni-floating-button-attention-active .fusioni-floating-button-attention-sequence,.fusioni-floating-button-attention-active .fusioni-floating-button-brain-activity,.fusioni-floating-button-attention-active .fusioni-floating-button-glow,.fusioni-floating-button-attention-active .fusioni-floating-button-magnetic-field,.fusioni-floating-button-attention-active .fusioni-floating-button-neural-particles,.fusioni-floating-button-attention-active .fusioni-floating-button-periodic-pulse{opacity:1}.fusioni-floating-button-entering{animation:floatingButtonEntrance 1.2s ease-in-out forwards}@media (prefers-reduced-motion:reduce){.fusioni-attention-wave,.fusioni-floating-button-attention-ring,.fusioni-floating-button-attention-ring-2,.fusioni-floating-button-attention-ring-3,.fusioni-floating-button-brain-activity,.fusioni-floating-button-glow,.fusioni-floating-button-magnetic-field,.fusioni-floating-button-periodic-pulse,.fusioni-floating-button:hover,.fusioni-neural-particle{animation:none!important}}.fusioni-dialog-backdrop{animation:fadeIn .2s ease-out;backdrop-filter:blur(4px);background-color:rgba(0,0,0,.5);z-index:9998}.fusioni-dialog-backdrop,.fusioni-dialog-container{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0}.fusioni-dialog-container{pointer-events:none;z-index:9999}.fusioni-dialog{animation:dialogSlideIn .3s cubic-bezier(.4,0,.2,1);background-color:var(--fusioni-bg-primary);border:1px solid var(--fusioni-border);border-radius:var(--fusioni-radius-lg);box-shadow:var(--fusioni-shadow-2xl);max-width:420px;overflow:hidden;pointer-events:auto;width:90%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.fusioni-dialog-header{border-bottom:1px solid var(--fusioni-border);padding:1.5rem 1.5rem 1rem}.fusioni-dialog-title{color:var(--fusioni-text-primary);font-size:1.25rem;font-weight:600;line-height:1.5;margin:0}.fusioni-dialog-body{padding:1.5rem}.fusioni-dialog-message{color:var(--fusioni-text-secondary);font-size:.9375rem;line-height:1.6;margin:0}.fusioni-dialog-footer{border-top:1px solid var(--fusioni-border);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem}.fusioni-dialog-cancel,.fusioni-dialog-confirm{min-width:80px}.fusioni-dialog-confirm-danger{background-color:var(--fusioni-error);border-color:var(--fusioni-error);color:var(--fusioni-text-light)}.fusioni-dialog-confirm-danger:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c;box-shadow:var(--fusioni-shadow-md);transform:translateY(-1px)}.fusioni-dialog-confirm-danger:active:not(:disabled){box-shadow:var(--fusioni-shadow);transform:translateY(0)}.fusioni-dialog-confirm-warning{background-color:var(--fusioni-warning);border-color:var(--fusioni-warning);color:var(--fusioni-text-light)}.fusioni-dialog-confirm-warning:hover:not(:disabled){background-color:#b45309;border-color:#b45309;box-shadow:var(--fusioni-shadow-md);transform:translateY(-1px)}.fusioni-dialog-confirm-info{background-color:var(--fusioni-info);border-color:var(--fusioni-info);color:var(--fusioni-text-light)}.fusioni-dialog-confirm-info:hover:not(:disabled){background-color:#0369a1;border-color:#0369a1;box-shadow:var(--fusioni-shadow-md);transform:translateY(-1px)}.fusioni-chat-widget.dark .fusioni-dialog{background-color:var(--fusioni-bg-secondary);border-color:var(--fusioni-border)}.fusioni-chat-widget.dark .fusioni-dialog-header{border-bottom-color:var(--fusioni-border)}.fusioni-chat-widget.dark .fusioni-dialog-footer{border-top-color:var(--fusioni-border)}.fusioni-image-gallery-overlay{--fusioni-ig-img-offset:8rem;align-items:stretch;animation:fusionImageGalleryFadeIn .2s ease-out;box-sizing:border-box;display:flex;flex-direction:column;inset:0;justify-content:flex-start;overflow:hidden;position:fixed;z-index:100000}.fusioni-image-gallery-overlay.fusioni-image-gallery-has-thumbs{--fusioni-ig-img-offset:14rem}.fusioni-image-gallery-body{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;width:100%}.fusioni-image-gallery-stage{align-items:center;display:flex;flex:1 1 0;justify-content:center;min-height:0;min-width:0;position:relative;width:100%}.fusioni-image-gallery-overlay.fusioni-image-gallery-theme-light{background:linear-gradient(180deg,#374151 0,#9ca3af)}.fusioni-image-gallery-overlay.fusioni-image-gallery-theme-dark{background:linear-gradient(180deg,#111827 0,#1f2937)}@keyframes fusionImageGalleryFadeIn{0%{opacity:0}to{opacity:1}}.fusioni-image-gallery-topbar{align-items:center;background:linear-gradient(180deg,rgba(0,0,0,.7),transparent);display:flex;justify-content:space-between;left:0;padding:.75rem 1rem;pointer-events:none;position:absolute;right:0;top:0;z-index:20}.fusioni-image-gallery-topbar-spacer{width:2.5rem}.fusioni-image-gallery-counter{color:hsla(0,0%,100%,.9);font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:.025em}.fusioni-image-gallery-close{align-items:center;background-color:hsla(0,0%,100%,.1);border:none;border-radius:9999px;color:#fff;cursor:pointer;display:flex;height:2.5rem;justify-content:center;pointer-events:auto;transition:background-color .15s ease;width:2.5rem}.fusioni-image-gallery-close:hover{background-color:hsla(0,0%,100%,.2)}.fusioni-image-gallery-close:focus{outline:none}.fusioni-image-gallery-close:focus-visible{box-shadow:0 0 0 2px hsla(0,0%,100%,.5)}.fusioni-image-gallery-icon{height:1.25rem;width:1.25rem}.fusioni-image-gallery-icon-lg{height:2rem;width:2rem}.fusioni-image-gallery-content{align-items:center;box-sizing:border-box;display:flex;flex:1 1 0;justify-content:center;max-width:100%;min-height:0;min-width:0;padding:4rem 4.5rem;width:100%}.fusioni-image-gallery-img{animation:fusionImageGalleryZoomIn .25s ease-out;border-radius:.5rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);display:block;height:auto;max-height:calc(100vh - var(--fusioni-ig-img-offset, 8rem));max-height:calc(100dvh - var(--fusioni-ig-img-offset, 8rem));max-width:100%;object-fit:contain;width:auto}.fusioni-image-gallery-thumbs-wrap{box-sizing:border-box;flex:0 0 auto;margin:0 auto;max-height:12.5rem;max-width:min(100vw - 2rem,42rem);overflow:hidden;padding:0 1rem .75rem;width:100%}.fusioni-image-gallery-thumbs-wrap .fusioni-gallery-strip--lightbox .fusioni-gallery-strip-grid{gap:.5rem}.fusioni-image-gallery-thumbs-wrap .fusioni-gallery-strip--lightbox .fusioni-gallery-strip-cell{align-items:center;display:flex;justify-content:center;max-height:3.75rem}.fusioni-image-gallery-thumb{background:rgba(0,0,0,.35);border:2px solid transparent;border-radius:var(--fusioni-radius-md);box-sizing:border-box;cursor:pointer;display:block;flex-shrink:0;height:3.5rem;margin:0 auto;max-width:5.5rem;overflow:hidden;padding:0;transition:border-color .15s ease,transform .15s ease;width:100%}.fusioni-image-gallery-thumb:hover{border-color:hsla(0,0%,100%,.45)}.fusioni-image-gallery-thumb:focus{outline:none}.fusioni-image-gallery-thumb:focus-visible{box-shadow:0 0 0 2px hsla(0,0%,100%,.55)}.fusioni-image-gallery-thumb-selected{border-color:hsla(0,0%,100%,.9)}.fusioni-image-gallery-thumb img{display:block;height:100%;object-fit:cover;width:100%}.fusioni-image-gallery-thumbs-wrap .fusioni-gallery-strip-dots{margin-top:.5rem}@keyframes fusionImageGalleryZoomIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.fusioni-image-gallery-nav{align-items:center;background-color:hsla(0,0%,100%,.12);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:3rem;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .15s ease,transform .15s ease;width:3rem;z-index:10}.fusioni-image-gallery-nav:hover{background-color:hsla(0,0%,100%,.22);transform:translateY(-50%) scale(1.05)}.fusioni-image-gallery-nav:active{transform:translateY(-50%) scale(.98)}.fusioni-image-gallery-nav:focus{outline:none}.fusioni-image-gallery-nav:focus-visible{box-shadow:0 0 0 2px hsla(0,0%,100%,.5)}.fusioni-image-gallery-nav-prev{left:1rem}.fusioni-image-gallery-nav-next{right:1rem}@media (min-width:640px){.fusioni-image-gallery-nav{height:3.5rem;width:3.5rem}.fusioni-image-gallery-nav-prev{left:1.5rem}.fusioni-image-gallery-nav-next{right:1.5rem}}.fusioni-image.fusioni-image-clickable{cursor:pointer}.fusioni-image-clickable-wrap{background:none;border:none;border-radius:var(--fusioni-radius);cursor:pointer;display:block;margin:0;padding:0;text-align:left;width:100%}.fusioni-image-clickable-wrap:focus-visible{outline:2px solid var(--fusioni-primary);outline-offset:2px}.fusioni-gallery-strip{width:100%}.fusioni-gallery-strip-viewport{max-width:100%;overflow:hidden;width:100%}.fusioni-gallery-strip-track{display:flex;transition:margin-left .3s ease-in-out;width:100%}.fusioni-gallery-strip-page{box-sizing:border-box;flex:0 0 100%;max-width:100%;min-width:0}.fusioni-gallery-strip-grid{display:grid;gap:.75rem}.fusioni-gallery-strip-cell{min-width:0}.fusioni-gallery-strip-dots{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.fusioni-gallery-strip-dot{border:none;border-radius:9999px;cursor:pointer;height:.625rem;padding:0;transition:background-color .15s ease,transform .15s ease;width:.625rem}.fusioni-gallery-strip--document .fusioni-gallery-strip-dot{background-color:#d1d5db}.fusioni-chat-widget.dark .fusioni-gallery-strip--document .fusioni-gallery-strip-dot{background-color:#475569}.fusioni-gallery-strip--document .fusioni-gallery-strip-dot-active{background-color:var(--fusioni-primary)}.fusioni-chat-widget.dark .fusioni-gallery-strip--document .fusioni-gallery-strip-dot-active{background-color:var(--fusioni-primary-light)}.fusioni-gallery-strip--lightbox .fusioni-gallery-strip-dot{background-color:hsla(0,0%,100%,.35)}.fusioni-gallery-strip--lightbox .fusioni-gallery-strip-dot-active{background-color:hsla(0,0%,100%,.95);transform:scale(1.15)}.fusioni-gallery-strip-dot:focus-visible{outline:2px solid var(--fusioni-primary);outline-offset:2px}.fusioni-gallery-strip--lightbox .fusioni-gallery-strip-dot:focus-visible{outline-color:hsla(0,0%,100%,.85)}.fusioni-document-images,.fusioni-document-videos{margin-top:.25rem;max-width:100%;min-width:0;position:relative;width:100%}.fusioni-document-videos-header{align-items:center;display:flex;justify-content:center;margin-bottom:.75rem;min-height:1.25rem;position:relative}.fusioni-document-videos-header:before{background:var(--fusioni-border);content:"";height:1px;left:0;position:absolute;right:0;top:50%;z-index:0}.fusioni-chat-widget.dark .fusioni-document-videos-header:before{background:hsla(0,0%,100%,.12)}.fusioni-document-videos-header-label{align-items:center;background:var(--fusioni-bg-secondary);color:var(--fusioni-text-secondary);display:inline-flex;font-size:.8125rem;font-weight:600;gap:.375rem;padding:0 .625rem;position:relative;z-index:1}.fusioni-document-videos-header-icon{flex-shrink:0;height:1rem;opacity:.9;width:1rem}.fusioni-document-video-wrap{background:hsla(0,0%,100%,.4);border:1px solid rgba(0,0,0,.1);border-radius:var(--fusioni-radius-xl);box-shadow:var(--fusioni-shadow);display:block;overflow:hidden;position:relative;width:100%}.fusioni-chat-widget.dark .fusioni-document-video-wrap{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.1)}.fusioni-document-video-aspect{aspect-ratio:4/3;background:rgba(0,0,0,.05);width:100%}.fusioni-chat-widget.dark .fusioni-document-video-aspect{background:hsla(0,0%,100%,.06)}.fusioni-document-video-aspect video{display:block;height:100%;object-fit:cover;width:100%}.fusioni-document-images-header{align-items:center;display:flex;justify-content:center;margin-bottom:.75rem;min-height:1.25rem;position:relative}.fusioni-document-images-header:before{background:var(--fusioni-border);content:"";height:1px;left:0;position:absolute;right:0;top:50%;z-index:0}.fusioni-chat-widget.dark .fusioni-document-images-header:before{background:hsla(0,0%,100%,.12)}.fusioni-document-images-header-label{align-items:center;background:var(--fusioni-bg-secondary);color:var(--fusioni-text-secondary);display:inline-flex;font-size:.8125rem;font-weight:600;gap:.375rem;padding:0 .625rem;position:relative;z-index:1}.fusioni-document-images-header-icon{flex-shrink:0;height:1rem;opacity:.9;width:1rem}.fusioni-document-image-btn{background:hsla(0,0%,100%,.4);border:1px solid rgba(0,0,0,.1);border-radius:var(--fusioni-radius-xl);box-shadow:var(--fusioni-shadow);cursor:pointer;display:block;overflow:hidden;padding:0;position:relative;transition:transform .2s ease,box-shadow .2s ease;width:100%}.fusioni-chat-widget.dark .fusioni-document-image-btn{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.1)}.fusioni-document-image-btn:hover{box-shadow:var(--fusioni-shadow-md);transform:translateY(-2px)}.fusioni-document-image-btn:focus{outline:none}.fusioni-document-image-btn:focus-visible{box-shadow:0 0 0 2px rgba(37,99,235,.5)}.fusioni-document-image-aspect{aspect-ratio:4/3;width:100%}.fusioni-document-image-aspect img{display:block;height:100%;object-fit:cover;transition:transform .2s ease;width:100%}.fusioni-document-image-btn:hover .fusioni-document-image-aspect img{transform:scale(1.02)}
package/dist/index.esm.js CHANGED
@@ -4169,7 +4169,7 @@ class PipelineService {
4169
4169
  throw new Error('agency_id is required for pipeline execution');
4170
4170
  }
4171
4171
  const apiClient = this.getApiClient();
4172
- const response = await apiClient.client.post(`/pipeline/${request.agency_id}/exec`, request);
4172
+ const response = await apiClient.client.post(`/journey/${request.agency_id}/exec`, request);
4173
4173
  console.log('✅ PipelineService.executePipeline - Response received:', {
4174
4174
  answerCount: response.data.answer?.length || 0,
4175
4175
  messagesCount: response.data.messages?.length || 0,
@@ -4335,6 +4335,7 @@ const en = {
4335
4335
  }
4336
4336
  },
4337
4337
  attachedImages: 'Images',
4338
+ attachedVideos: 'Videos',
4338
4339
  messages: {
4339
4340
  loading: 'Working on it...',
4340
4341
  error: 'Oops! Something went wrong. Please try again later.',
@@ -4428,6 +4429,7 @@ const el = {
4428
4429
  }
4429
4430
  },
4430
4431
  attachedImages: 'Εικόνες',
4432
+ attachedVideos: 'Βίντεο',
4431
4433
  messages: {
4432
4434
  loading: 'Εργάζομαι...',
4433
4435
  error: 'Ουπς! Κάτι πήγε στραβά. Παρακαλώ δοκιμάστε ξανά αργότερα.',
@@ -4928,6 +4930,40 @@ const DocumentImageGrid = ({ images, onOpenGallery, attachedImagesLabel, }) => {
4928
4930
  return (jsx("button", { type: "button", className: "fusioni-document-image-btn", "aria-label": `Preview attached image ${gi + 1}`, onClick: () => onOpenGallery({ images: visible, index: gi }), children: jsx("div", { className: "fusioni-document-image-aspect", children: jsx("img", { src: img, alt: "", loading: "lazy", decoding: "async", referrerPolicy: "no-referrer", onError: () => setVisible((v) => v.filter((u) => u !== img)) }) }) }));
4929
4931
  } })] }));
4930
4932
  };
4933
+ const DocumentVideoGrid = ({ videos, attachedVideosLabel, }) => {
4934
+ const cols = useGalleryStripColumns();
4935
+ const [visible, setVisible] = useState(videos);
4936
+ const [page, setPage] = useState(0);
4937
+ const pageSize = cols * GALLERY_STRIP_MAX_ROWS;
4938
+ const pageCount = visible.length > 0 ? Math.ceil(visible.length / pageSize) : 0;
4939
+ const prevPageSizeRef = useRef(pageSize);
4940
+ useEffect(() => setVisible(videos), [videos]);
4941
+ useEffect(() => {
4942
+ const old = prevPageSizeRef.current;
4943
+ if (old !== pageSize && old > 0 && pageSize > 0) {
4944
+ setPage((p) => {
4945
+ const firstGlobal = p * old;
4946
+ const np = Math.floor(firstGlobal / pageSize);
4947
+ const pc = visible.length > 0 ? Math.ceil(visible.length / pageSize) : 0;
4948
+ return pc <= 0 ? 0 : Math.min(Math.max(0, np), pc - 1);
4949
+ });
4950
+ }
4951
+ prevPageSizeRef.current = pageSize;
4952
+ }, [pageSize, visible.length]);
4953
+ useEffect(() => {
4954
+ setPage((p) => {
4955
+ if (pageCount <= 0)
4956
+ return 0;
4957
+ return Math.min(p, pageCount - 1);
4958
+ });
4959
+ }, [pageCount]);
4960
+ if (!visible.length)
4961
+ return null;
4962
+ return (jsxs("div", { className: "fusioni-document-videos", children: [jsx("div", { className: "fusioni-document-videos-header", children: jsxs("span", { className: "fusioni-document-videos-header-label", children: [jsxs("svg", { className: "fusioni-document-videos-header-icon", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", "aria-hidden": "true", children: [jsx("polygon", { points: "23 7 16 12 23 17 23 7" }), jsx("rect", { x: "1", y: "5", width: "15", height: "14", rx: "2", ry: "2" })] }), attachedVideosLabel] }) }), jsx(PaginatedGalleryStrip, { variant: "document", itemCount: visible.length, columns: cols, page: page, onPageChange: setPage, renderCell: (gi) => {
4963
+ const vid = visible[gi];
4964
+ return (jsx("div", { className: "fusioni-document-video-wrap", "aria-label": `Attached video ${gi + 1}`, children: jsx("div", { className: "fusioni-document-video-aspect", children: jsx("video", { src: vid, controls: true, preload: "metadata", playsInline: true, onError: () => setVisible((v) => v.filter((u) => u !== vid)) }) }) }));
4965
+ } })] }));
4966
+ };
4931
4967
  // Module-level Set to track which message IDs have been animated
4932
4968
  // This persists across component unmounts/remounts (e.g., when chat closes and reopens)
4933
4969
  const animatedMessageIds = new Set();
@@ -5022,36 +5058,83 @@ const Message = ({ message, showThoughts = false, fontSize = 'text-sm', onDelete
5022
5058
  }
5023
5059
  // Reset displayed content
5024
5060
  setDisplayedContent('');
5025
- const fullContent = message.content;
5026
- // Parse content into segments: text segments and HTML tag segments
5061
+ // Type the same HTML string that will be rendered (after any transformations),
5062
+ // otherwise we can end up animating an HTML-escaped variant.
5063
+ const fullContent = enhanceMessageContent(message.content);
5064
+ // Parse content into segments: text segments and HTML tag segments.
5065
+ // Important: this parser is quote-aware so it won't break on `>` inside quoted attributes.
5027
5066
  const segments = [];
5067
+ const readTagAt = (html, start) => {
5068
+ if (html[start] !== '<')
5069
+ return null;
5070
+ // Handle comments: <!-- ... -->
5071
+ if (html.startsWith('<!--', start)) {
5072
+ const endIdx = html.indexOf('-->', start + 4);
5073
+ if (endIdx === -1)
5074
+ return { tag: html.slice(start), end: html.length };
5075
+ return { tag: html.slice(start, endIdx + 3), end: endIdx + 3 };
5076
+ }
5077
+ let i = start + 1;
5078
+ let quote = null;
5079
+ while (i < html.length) {
5080
+ const ch = html[i];
5081
+ if (quote) {
5082
+ if (ch === quote)
5083
+ quote = null;
5084
+ i++;
5085
+ continue;
5086
+ }
5087
+ if (ch === '"' || ch === "'") {
5088
+ quote = ch;
5089
+ i++;
5090
+ continue;
5091
+ }
5092
+ if (ch === '>') {
5093
+ return { tag: html.slice(start, i + 1), end: i + 1 };
5094
+ }
5095
+ i++;
5096
+ }
5097
+ // No closing `>` found; treat the remainder as text to avoid exposing partial tags.
5098
+ return null;
5099
+ };
5028
5100
  let currentIndex = 0;
5029
5101
  while (currentIndex < fullContent.length) {
5030
- const remainingContent = fullContent.substring(currentIndex);
5031
- const tagMatch = remainingContent.match(/^<[^>]*>/);
5032
- if (tagMatch) {
5033
- // Found an HTML tag - add it as a complete segment
5034
- segments.push({ type: 'tag', content: tagMatch[0] });
5035
- currentIndex += tagMatch[0].length;
5102
+ const nextLt = fullContent.indexOf('<', currentIndex);
5103
+ if (nextLt === -1) {
5104
+ segments.push({ type: 'text', content: fullContent.slice(currentIndex) });
5105
+ break;
5106
+ }
5107
+ if (nextLt > currentIndex) {
5108
+ segments.push({ type: 'text', content: fullContent.slice(currentIndex, nextLt) });
5109
+ }
5110
+ const maybeTag = readTagAt(fullContent, nextLt);
5111
+ if (maybeTag) {
5112
+ segments.push({ type: 'tag', content: maybeTag.tag });
5113
+ currentIndex = maybeTag.end;
5036
5114
  }
5037
5115
  else {
5038
- // Find the next HTML tag or end of string
5039
- const nextTagIndex = remainingContent.indexOf('<');
5040
- if (nextTagIndex === -1) {
5041
- // No more tags, add remaining text
5042
- segments.push({ type: 'text', content: remainingContent });
5043
- break;
5044
- }
5045
- else {
5046
- // Add text up to the next tag
5047
- segments.push({ type: 'text', content: remainingContent.substring(0, nextTagIndex) });
5048
- currentIndex += nextTagIndex;
5049
- }
5116
+ // Not a valid tag; emit the `<` as text and keep going.
5117
+ segments.push({ type: 'text', content: '<' });
5118
+ currentIndex = nextLt + 1;
5050
5119
  }
5051
5120
  }
5052
5121
  // Now animate through segments
5053
5122
  let segmentIndex = 0;
5054
5123
  let textIndex = 0;
5124
+ const nextTextStep = (text, index) => {
5125
+ if (index >= text.length)
5126
+ return { nextIndex: index, slice: '' };
5127
+ const ch = text[index];
5128
+ // Treat HTML entities as atomic "characters" so we don't type partial `&...;`.
5129
+ if (ch === '&') {
5130
+ const rest = text.slice(index);
5131
+ const entityMatch = rest.match(/^&(#\d+|#x[0-9a-fA-F]+|[a-zA-Z][a-zA-Z0-9]+);/);
5132
+ if (entityMatch) {
5133
+ return { nextIndex: index + entityMatch[0].length, slice: text.slice(0, index + entityMatch[0].length) };
5134
+ }
5135
+ }
5136
+ return { nextIndex: index + 1, slice: text.slice(0, index + 1) };
5137
+ };
5055
5138
  const typeNextChar = () => {
5056
5139
  if (segmentIndex >= segments.length) {
5057
5140
  // Typing complete - mark this message as animated in the persistent Set
@@ -5076,14 +5159,21 @@ const Message = ({ message, showThoughts = false, fontSize = 'text-sm', onDelete
5076
5159
  else {
5077
5160
  // Text segments are typed character by character
5078
5161
  if (textIndex < segment.content.length) {
5079
- // Build content: all previous segments + current segment up to textIndex
5162
+ const step = nextTextStep(segment.content, textIndex);
5163
+ if (!step.slice) {
5164
+ segmentIndex++;
5165
+ textIndex = 0;
5166
+ typingIntervalRef.current = setTimeout(typeNextChar, 0);
5167
+ return;
5168
+ }
5169
+ // Build content: all previous segments + current segment slice
5080
5170
  let content = '';
5081
5171
  for (let i = 0; i < segmentIndex; i++) {
5082
5172
  content += segments[i].content;
5083
5173
  }
5084
- content += segment.content.substring(0, textIndex + 1);
5174
+ content += step.slice;
5085
5175
  setDisplayedContent(content);
5086
- textIndex++;
5176
+ textIndex = step.nextIndex;
5087
5177
  typingIntervalRef.current = setTimeout(typeNextChar, typingSpeed);
5088
5178
  }
5089
5179
  else {
@@ -5113,7 +5203,8 @@ const Message = ({ message, showThoughts = false, fontSize = 'text-sm', onDelete
5113
5203
  __html: enhanceMessageContent(contentToDisplay)
5114
5204
  } })), message.loading && (jsx("div", { className: "fusioni-stream-messages", children: (streamMessages.length > 0 ? streamMessages : [t('chat.messages.loading')]).map((line, index) => (jsxs("div", { className: "fusioni-stream-message-item", children: [jsx("div", { className: "fusioni-stream-message-logo-wrap", children: jsx("div", { className: "fusioni-stream-message-logo-frame", children: jsx("img", { className: "fusioni-stream-message-logo-img", src: FUSIONI_LOGO_BASE64, alt: "", width: 32, height: 32 }) }) }), jsx(Spotlight, { className: "fusioni-stream-message-spotlight", text: line })] }, streamMessages.length > 0 ? `${index}-${line}` : 'loading-placeholder'))) })), !message.loading && extractUrlsFromContent(message.content).length > 0 && message.role !== 'user' && (jsx("div", { className: "fusioni-message-url-previews", children: extractUrlsFromContent(message.content).map((url, index) => (jsx(UrlPreview, { url: url, agencyId: agencyId, showCloseButton: false, compact: true, autoFetch: true, apiBaseUrl: apiBaseUrl, apiKey: apiKey }, `${url}-${index}`))) })), message.extra_data && (jsxs("div", { className: "fusioni-message-extra m2", children: [message.extra_data.document_images &&
5115
5205
  message.extra_data.document_images.length > 0 &&
5116
- onOpenGallery && (jsx(DocumentImageGrid, { images: message.extra_data.document_images, onOpenGallery: onOpenGallery, attachedImagesLabel: t('chat.attachedImages') })), message.extra_data.image && renderImage(message.extra_data.image), message.extra_data.image_ref && renderImage(message.extra_data.image_ref), message.extra_data.audio_ref && renderAudio(message.extra_data.audio_ref, message.extra_data.duration), message.extra_data.coordinates && renderMap(message.extra_data.coordinates), message.extra_data.map && (jsx("div", { className: "fusioni-message-map", children: jsx(Map$1, { lat: message.extra_data.map.lat, lng: message.extra_data.map.lng, zoom: message.extra_data.map.zoom, staticMap: true, width: 600, height: 400, apiBaseUrl: apiBaseUrl, apiKey: apiKey, agencyId: agencyId }) }))] })), message.extra_data?.widget === 'Confirmation' && (jsxs("div", { className: "fusioni-confirmation-widget", children: [jsx("button", { type: "button", disabled: !enableButtons, onClick: () => sendConfirmation('Confirmed', message.extra_data?.key), className: "fusioni-btn fusioni-btn-primary fusioni-btn-confirm", children: t('common.yes') }), jsx("button", { type: "button", disabled: !enableButtons, onClick: () => sendConfirmation('NotConfirmed', message.extra_data?.key), className: "fusioni-btn fusioni-btn-secondary fusioni-btn-cancel", children: t('common.no') })] })), showThoughts && message.thoughts && (jsx("div", { className: "fusioni-message-thoughts", children: jsxs("details", { children: [jsx("summary", { children: "AI Thoughts" }), jsx("p", { children: message.thoughts })] }) })), message.has_error && (jsxs("div", { className: "fusioni-message-error-indicator", children: [jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", children: [jsx("circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "2" }), jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15", stroke: "currentColor", strokeWidth: "2" }), jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15", stroke: "currentColor", strokeWidth: "2" })] }), jsx("span", { children: "Error occurred" })] }))] }));
5206
+ onOpenGallery && (jsx(DocumentImageGrid, { images: message.extra_data.document_images, onOpenGallery: onOpenGallery, attachedImagesLabel: t('chat.attachedImages') })), message.extra_data.document_videos &&
5207
+ message.extra_data.document_videos.length > 0 && (jsx(DocumentVideoGrid, { videos: message.extra_data.document_videos, attachedVideosLabel: t('chat.attachedVideos') })), message.extra_data.image && renderImage(message.extra_data.image), message.extra_data.image_ref && renderImage(message.extra_data.image_ref), message.extra_data.audio_ref && renderAudio(message.extra_data.audio_ref, message.extra_data.duration), message.extra_data.coordinates && renderMap(message.extra_data.coordinates), message.extra_data.map && (jsx("div", { className: "fusioni-message-map", children: jsx(Map$1, { lat: message.extra_data.map.lat, lng: message.extra_data.map.lng, zoom: message.extra_data.map.zoom, staticMap: true, width: 600, height: 400, apiBaseUrl: apiBaseUrl, apiKey: apiKey, agencyId: agencyId }) }))] })), message.extra_data?.widget === 'Confirmation' && (jsxs("div", { className: "fusioni-confirmation-widget", children: [jsx("button", { type: "button", disabled: !enableButtons, onClick: () => sendConfirmation('Confirmed', message.extra_data?.key), className: "fusioni-btn fusioni-btn-primary fusioni-btn-confirm", children: t('common.yes') }), jsx("button", { type: "button", disabled: !enableButtons, onClick: () => sendConfirmation('NotConfirmed', message.extra_data?.key), className: "fusioni-btn fusioni-btn-secondary fusioni-btn-cancel", children: t('common.no') })] })), showThoughts && message.thoughts && (jsx("div", { className: "fusioni-message-thoughts", children: jsxs("details", { children: [jsx("summary", { children: "AI Thoughts" }), jsx("p", { children: message.thoughts })] }) })), message.has_error && (jsxs("div", { className: "fusioni-message-error-indicator", children: [jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", children: [jsx("circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "2" }), jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15", stroke: "currentColor", strokeWidth: "2" }), jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15", stroke: "currentColor", strokeWidth: "2" })] }), jsx("span", { children: "Error occurred" })] }))] }));
5117
5208
  };
5118
5209
 
5119
5210
  /**
@@ -5327,12 +5418,12 @@ const MessageList = ({ messages, streamMessages, showThoughts = false, onDeleteM
5327
5418
  const isLastMessage = index === messages.length - 1;
5328
5419
  const messageKey = message.id ??
5329
5420
  `msg-fallback-${index}-${message.role}-${message.created instanceof Date ? message.created.getTime() : 0}`;
5330
- return (jsx("div", { className: "fusioni-message-wrapper", children: jsxs("div", { className: `fusioni-message ${message.role}`, children: [jsx("div", { className: "fusioni-message-avatar", children: message.role === 'user' ? (jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", children: [jsx("path", { d: "M20 21V19C20 17.9391 19.5786 16.9217 18.8284 16.1716C18.0783 15.4214 17.0609 15 16 15H8C6.93913 15 5.92172 15.4214 5.17157 16.1716C4.42143 16.9217 4 17.9391 4 19V21", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("circle", { cx: "12", cy: "7", r: "4", stroke: "currentColor", strokeWidth: "2" })] })) : (jsx("img", { src: FUSIONI_LOGO_BASE64, alt: "Fusioni Logo", width: "24", height: "24" })) }), jsxs("div", { className: "fusioni-message-content", children: [jsxs("div", { className: "fusioni-message-header", children: [jsx("span", { className: "fusioni-message-role", children: message.role === 'user' ? '' : 'Fusioni' }), jsx("span", { className: "fusioni-message-time", children: formatDate(message.created) })] }), jsx("div", { className: "fusioni-message-body", children: message.role === 'user' && editingMessageId === message.id ? (jsx("div", { ref: editRef, className: "fusioni-message-text", contentEditable: true, suppressContentEditableWarning: true, spellCheck: true, onKeyDown: (event) => {
5421
+ return (jsx("div", { className: "fusioni-message-wrapper", children: jsxs("div", { className: `fusioni-message ${message.role}`, children: [jsx("div", { className: "fusioni-message-avatar", children: message.role === 'user' ? (jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", children: [jsx("path", { d: "M20 21V19C20 17.9391 19.5786 16.9217 18.8284 16.1716C18.0783 15.4214 17.0609 15 16 15H8C6.93913 15 5.92172 15.4214 5.17157 16.1716C4.42143 16.9217 4 17.9391 4 19V21", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("circle", { cx: "12", cy: "7", r: "4", stroke: "currentColor", strokeWidth: "2" })] })) : (jsx("img", { src: FUSIONI_LOGO_BASE64, alt: "Fusioni Logo", width: "24", height: "24" })) }), jsxs("div", { className: "fusioni-message-content", children: [jsx("div", { className: "fusioni-message-body", children: message.role === 'user' && editingMessageId === message.id ? (jsx("div", { ref: editRef, className: "fusioni-message-text", contentEditable: true, suppressContentEditableWarning: true, spellCheck: true, onKeyDown: (event) => {
5331
5422
  if (event.key === 'Escape') {
5332
5423
  event.preventDefault();
5333
5424
  cancelEdit();
5334
5425
  }
5335
- } })) : (jsx(Message, { message: message, showThoughts: showThoughts, onDelete: onDeleteMessage, onConfirmation: onConfirmation, enableButtons: enableButtons && isLastMessage, streamMessages: message.loading ? streamMessages : [], apiBaseUrl: apiBaseUrl, apiKey: apiKey, agencyId: agencyId, currentLanguage: currentLanguage, onOpenGallery: openGallery })) }), showThoughts && message.thoughts && (jsx("div", { className: "fusioni-message-thoughts", children: jsxs("details", { children: [jsx("summary", { children: "Thoughts" }), jsx("p", { children: message.thoughts })] }) }))] }), message.id && (onDeleteMessage || (message.role === 'user' && onEditMessage)) && (jsx("div", { className: "fusioni-message-actions", children: message.role === 'user' && editingMessageId === message.id ? (jsxs(Fragment, { children: [jsx("button", { onClick: confirmEdit, className: "fusioni-btn fusioni-btn-icon", title: "Save edit", children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", children: jsx("polyline", { points: "20 6 9 17 4 12", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), jsx("button", { onClick: cancelEdit, className: "fusioni-btn fusioni-btn-icon", title: "Cancel edit", children: jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", children: [jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }) })] })) : (jsxs(Fragment, { children: [message.role === 'user' && onEditMessage && (jsx("button", { onClick: () => startEdit(message), className: "fusioni-btn fusioni-btn-icon", title: "Edit message", children: jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", children: [jsx("path", { d: "M12 20H21", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M16.5 3.5C16.8978 3.10218 17.4374 2.87868 18 2.87868C18.5626 2.87868 19.1022 3.10218 19.5 3.5C19.8978 3.89782 20.1213 4.43739 20.1213 5C20.1213 5.56261 19.8978 6.10218 19.5 6.5L7 19L3 20L4 16L16.5 3.5Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }) })), onDeleteMessage && (jsx("button", { onClick: () => onDeleteMessage(message.id), className: "fusioni-btn fusioni-btn-icon fusioni-btn-danger", title: "Delete message", children: jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", children: [jsx("path", { d: "M3 6H5H21", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M8 6V4C8 3.46957 8.21071 2.96086 8.58579 2.58579C8.96086 2.21071 9.46957 2 10 2H14C14.5304 2 15.0391 2.21071 15.4142 2.58579C15.7893 2.96086 16 3.46957 16 4V6M19 6V20C19 20.5304 18.7893 21.0391 18.4142 21.4142C18.0391 21.7893 17.5304 22 17 22H7C6.46957 22 5.96086 21.7893 5.58579 21.4142C5.21071 21.0391 5 20.5304 5 20V6H19Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }) }))] })) }))] }) }, messageKey));
5426
+ } })) : (jsx(Message, { message: message, showThoughts: showThoughts, onDelete: onDeleteMessage, onConfirmation: onConfirmation, enableButtons: enableButtons && isLastMessage, streamMessages: message.loading ? streamMessages : [], apiBaseUrl: apiBaseUrl, apiKey: apiKey, agencyId: agencyId, currentLanguage: currentLanguage, onOpenGallery: openGallery })) }), jsxs("div", { className: "fusioni-message-footer", children: [jsx("span", { className: "fusioni-message-time", children: formatDate(message.created) }), message.id && (onDeleteMessage || (message.role === 'user' && onEditMessage)) && (jsx("div", { className: "fusioni-message-actions", children: message.role === 'user' && editingMessageId === message.id ? (jsxs(Fragment, { children: [jsx("button", { onClick: confirmEdit, className: "fusioni-btn fusioni-btn-icon", title: "Save edit", children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", children: jsx("polyline", { points: "20 6 9 17 4 12", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), jsx("button", { onClick: cancelEdit, className: "fusioni-btn fusioni-btn-icon", title: "Cancel edit", children: jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", children: [jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }) })] })) : (jsxs(Fragment, { children: [message.role === 'user' && onEditMessage && (jsx("button", { onClick: () => startEdit(message), className: "fusioni-btn fusioni-btn-icon", title: "Edit message", children: jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", children: [jsx("path", { d: "M12 20H21", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M16.5 3.5C16.8978 3.10218 17.4374 2.87868 18 2.87868C18.5626 2.87868 19.1022 3.10218 19.5 3.5C19.8978 3.89782 20.1213 4.43739 20.1213 5C20.1213 5.56261 19.8978 6.10218 19.5 6.5L7 19L3 20L4 16L16.5 3.5Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }) })), onDeleteMessage && (jsx("button", { onClick: () => onDeleteMessage(message.id), className: "fusioni-btn fusioni-btn-icon", title: "Delete message", children: jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", children: [jsx("path", { d: "M3 6H5H21", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M8 6V4C8 3.46957 8.21071 2.96086 8.58579 2.58579C8.96086 2.21071 9.46957 2 10 2H14C14.5304 2 15.0391 2.21071 15.4142 2.58579C15.7893 2.96086 16 3.46957 16 4V6M19 6V20C19 20.5304 18.7893 21.0391 18.4142 21.4142C18.0391 21.7893 17.5304 22 17 22H7C6.46957 22 5.96086 21.7893 5.58579 21.4142C5.21071 21.0391 5 20.5304 5 20V6H19Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }) }))] })) }))] }), showThoughts && message.thoughts && (jsx("div", { className: "fusioni-message-thoughts", children: jsxs("details", { children: [jsx("summary", { children: "Thoughts" }), jsx("p", { children: message.thoughts })] }) }))] })] }) }, messageKey));
5336
5427
  }) })), jsx("div", { ref: messagesEndRef })] }) }), gallerySession &&
5337
5428
  typeof document !== 'undefined' &&
5338
5429
  createPortal(jsx(ImageGallery, { images: gallerySession.images, initialIndex: gallerySession.index, theme: theme, onClose: () => setGallerySession(null) }, gallerySession.key), document.body)] }));
@@ -5635,7 +5726,7 @@ const ChatPanel = ({ isOpen, onClose, position = 'bottom-right', isFullscreen =
5635
5726
  };
5636
5727
  if (!isOpen)
5637
5728
  return null;
5638
- return (jsxs(Fragment, { children: [jsx("div", { className: "fusioni-chat-backdrop" }), jsx("div", { ref: panelRef, className: `fusioni-chat-panel ${getPositionClasses()} ${isFullscreen ? 'fusioni-chat-panel-fullscreen' : ''}`, children: jsx("div", { className: "fusioni-chat-panel-content", children: children }) })] }));
5729
+ return (jsx(Fragment, { children: jsx("div", { ref: panelRef, className: `fusioni-chat-panel ${getPositionClasses()} ${isFullscreen ? 'fusioni-chat-panel-fullscreen' : ''}`, children: jsx("div", { className: "fusioni-chat-panel-content", children: children }) }) }));
5639
5730
  };
5640
5731
 
5641
5732
  const LanguageSwitcher = ({ currentLanguage, onLanguageChange, className = '' }) => {