.rag-widget{--rag-primary: #3b82f6;--rag-primary-dark: #2563eb;--rag-bg: #ffffff;--rag-bg-secondary: #f3f4f6;--rag-text: #1f2937;--rag-text-secondary: #6b7280;--rag-border: #e5e7eb;--rag-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--rag-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--rag-radius: 12px;--rag-radius-lg: 16px;--rag-font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--rag-font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--rag-code-bg: #f1f5f9;font-family:var(--rag-font-primary);font-size:14px;line-height:1.5;color:var(--rag-text);box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rag-widget *,.rag-widget *:before,.rag-widget *:after{box-sizing:border-box}.rag-widget-button{position:fixed;width:60px;height:60px;border-radius:50%;background:var(--rag-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--rag-shadow-lg);transition:all .2s ease;z-index:inherit;color:#fff;gap:0;padding:0}.rag-widget-button.has-text{width:auto;height:auto;border-radius:30px;padding:12px 20px;gap:8px}.rag-widget-button-text{font-size:14px;font-weight:500;white-space:nowrap;color:#fff;font-family:inherit;line-height:1}.rag-widget-button:hover{background:var(--rag-primary-dark);transform:scale(1.05)}.rag-widget-button:active{transform:scale(.95)}.rag-widget-button svg{width:28px;height:28px;fill:#fff;color:#fff}.rag-widget-button.has-text svg{width:22px;height:22px}.rag-widget-button.bottom-right{bottom:var(--rag-offset-bottom, 20px);right:var(--rag-offset-side, 20px)}.rag-widget-button.bottom-left{bottom:var(--rag-offset-bottom, 20px);left:var(--rag-offset-side, 20px)}.rag-widget-window{position:fixed;width:var(--rag-window-width, 380px);height:var(--rag-window-height, 600px);max-height:calc(100vh - 100px);background:var(--rag-bg);border-radius:var(--rag-radius-lg);box-shadow:var(--rag-shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:rag-slide-up .3s ease;z-index:inherit}.rag-widget-window.bottom-right{bottom:var(--rag-window-offset-bottom, 90px);right:var(--rag-offset-side, 20px)}.rag-widget-window.bottom-left{bottom:var(--rag-window-offset-bottom, 90px);left:var(--rag-offset-side, 20px)}@keyframes rag-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rag-widget-header{padding:16px;background:var(--rag-primary);color:#fff;display:flex;align-items:center;justify-content:space-between}.rag-widget-header-info h3{margin:0;font-size:16px;font-weight:600}.rag-widget-header-info p{margin:4px 0 0;font-size:12px;opacity:.9}.rag-widget-header-actions{display:flex;gap:8px}.rag-widget-header-button{background:#fff3;border:none;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.rag-widget-header-button:hover{background:#ffffff4d}.rag-widget-header-button svg{width:18px;height:18px;fill:#fff}.rag-widget-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.rag-widget-messages::-webkit-scrollbar{width:6px}.rag-widget-messages::-webkit-scrollbar-track{background:transparent}.rag-widget-messages::-webkit-scrollbar-thumb{background:var(--rag-border);border-radius:3px}.rag-widget-message-row{display:flex;gap:8px;align-items:flex-start}.rag-widget-message-row.assistant{align-self:flex-start}.rag-widget-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;margin-top:2px;object-fit:contain}.rag-widget-message{max-width:85%;padding:10px 14px;border-radius:var(--rag-radius);word-wrap:break-word}.rag-widget-message-row .rag-widget-message{max-width:100%}.rag-widget-message.user{align-self:flex-end;background:var(--rag-primary);color:#fff}.rag-widget-message.assistant{align-self:flex-start;background:var(--rag-bg-secondary);color:var(--rag-text)}.rag-widget-message p{margin:0}.rag-widget-markdown{font-size:15px;line-height:1.6}.rag-widget-markdown p{margin:0 0 8px}.rag-widget-markdown p:last-child{margin-bottom:0}.rag-widget-markdown h1,.rag-widget-markdown h2,.rag-widget-markdown h3,.rag-widget-markdown h4{margin:12px 0 6px;font-weight:600;line-height:1.3;letter-spacing:-.02em}.rag-widget-markdown h1:first-child,.rag-widget-markdown h2:first-child,.rag-widget-markdown h3:first-child,.rag-widget-markdown h4:first-child{margin-top:0}.rag-widget-h1{font-size:1.25em}.rag-widget-h2{font-size:1.15em}.rag-widget-h3{font-size:1.05em}.rag-widget-h4{font-size:1em}.rag-widget-markdown strong{font-weight:600}.rag-widget-markdown em{font-style:italic}.rag-widget-inline-code{background:var(--rag-code-bg);padding:1px 5px;border-radius:4px;font-family:var(--rag-font-mono);font-size:.875em}.rag-widget-code-block{background:#1e1e1e;color:#d4d4d4;padding:10px 12px;border-radius:8px;overflow-x:auto;margin:8px 0;font-size:.85em;line-height:1.5}.rag-widget-code-block code{font-family:var(--rag-font-mono);white-space:pre}.rag-widget-markdown .rag-widget-list{margin:6px 0;padding-left:20px}.rag-widget-markdown .rag-widget-list li{margin:2px 0}.rag-widget-markdown ol.rag-widget-list{list-style-type:decimal}.rag-widget-markdown ul.rag-widget-list{list-style-type:disc}.rag-widget-markdown a{color:var(--rag-primary);text-decoration:underline}.rag-widget-markdown a:hover{text-decoration:none}.rag-widget-hr{border:none;border-top:1px solid var(--rag-border);margin:10px 0}.rag-widget-typing{display:flex;gap:4px;padding:4px 0}.rag-widget-typing span{width:6px;height:6px;background:var(--rag-text-secondary);border-radius:50%;animation:rag-typing 1.4s infinite ease-in-out}.rag-widget-typing span:nth-child(1){animation-delay:0s}.rag-widget-typing span:nth-child(2){animation-delay:.2s}.rag-widget-typing span:nth-child(3){animation-delay:.4s}@keyframes rag-typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.rag-widget-input-area{padding:12px 16px;border-top:1px solid var(--rag-border)}.rag-widget-input-row{display:flex;gap:8px;align-items:flex-end}.rag-widget-interim-text{font-size:12px;color:var(--rag-text-secondary);font-style:italic;padding:0 4px 6px}.rag-widget-input{flex:1;border:1px solid var(--rag-border);border-radius:20px;padding:10px 16px;font-size:14px;font-family:inherit;resize:none;max-height:120px;outline:none;transition:border-color .2s}.rag-widget-input:focus{border-color:var(--rag-primary)}.rag-widget-input::placeholder{color:var(--rag-text-secondary)}.rag-widget-send-button{width:40px;height:40px;border-radius:50%;background:var(--rag-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.rag-widget-send-button:hover:not(:disabled){background:var(--rag-primary-dark)}.rag-widget-send-button:disabled{opacity:.5;cursor:not-allowed}.rag-widget-send-button svg{width:20px;height:20px;fill:#fff}.rag-widget-voice-button{width:40px;height:40px;border-radius:50%;background:var(--rag-bg-secondary);border:1px solid var(--rag-border);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.rag-widget-voice-button:hover:not(:disabled){background:var(--rag-border)}.rag-widget-voice-button:disabled{opacity:.5;cursor:not-allowed}.rag-widget-voice-button svg{width:20px;height:20px;fill:var(--rag-text-secondary)}.rag-widget-voice-button.listening{background:#fee2e2;border-color:#ef4444;animation:rag-voice-pulse 1.5s infinite}.rag-widget-voice-button.listening svg{fill:#ef4444}.rag-widget-voice-button.processing svg{fill:var(--rag-primary)}@keyframes rag-voice-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}@keyframes rag-widget-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rag-widget-spin{animation:rag-widget-spin 1s linear infinite}.rag-widget-chart{margin:8px 0;padding:12px;background:var(--rag-bg);border:1px solid var(--rag-border);border-radius:8px}.rag-widget-chart-title{font-size:12px;font-weight:600;color:var(--rag-text);text-align:center;margin-bottom:8px}.rag-widget-references{margin-top:8px;border-top:1px solid var(--rag-border);padding-top:6px}.rag-widget-references-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;padding:4px 0;font-size:12px;font-weight:500;color:var(--rag-text-secondary);font-family:inherit;transition:color .15s}.rag-widget-references-toggle:hover{color:var(--rag-primary)}.rag-widget-references-chevron{width:14px;height:14px;transition:transform .2s ease;flex-shrink:0}.rag-widget-references-chevron.open{transform:rotate(180deg)}.rag-widget-references-content{padding-top:4px}.rag-widget-references-content .rag-widget-markdown{font-family:var(--rag-font-mono);font-size:12px;color:var(--rag-text-secondary);background:var(--rag-code-bg);border-radius:6px;padding:8px 10px}.rag-widget-suggested-topics{padding:16px;display:flex;flex-direction:column;gap:8px}.rag-widget-suggested-topics-list{display:flex;flex-wrap:wrap;gap:8px}.rag-widget-suggested-topic-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--rag-bg);border:1px solid var(--rag-border);border-radius:20px;font-size:13px;font-family:inherit;color:var(--rag-text);cursor:pointer;transition:all .2s ease;white-space:nowrap}.rag-widget-suggested-topic-btn:hover{background:var(--rag-bg-secondary);border-color:var(--rag-primary);color:var(--rag-primary)}.rag-widget-suggested-topic-icon{font-size:15px;line-height:1}.rag-widget-suggested-topic-badge{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;flex-shrink:0}.rag-widget-suggested-topic-badge svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.rag-widget-error{background:#fef2f2;color:#dc2626;padding:8px 12px;font-size:12px;text-align:center}.rag-widget-powered{padding:8px;text-align:center;font-size:10px;color:var(--rag-text-secondary);background:var(--rag-bg-secondary)}.rag-widget-powered a{color:var(--rag-primary);text-decoration:none}@media (max-width: 420px){.rag-widget-window{width:calc(100vw - 20px);height:calc(100vh - 100px);bottom:80px;right:10px;left:10px;border-radius:var(--rag-radius)}.rag-widget-button{width:56px;height:56px}.rag-widget-button.bottom-right,.rag-widget-button.bottom-left{bottom:16px;right:16px;left:auto}}
