@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--accent: #2563eb;--accent-hover: #1d4ed8;--accent-light: rgba(37, 99, 235, .1);--accent-text: #ffffff;--bg: #f9fafb;--surface: #ffffff;--surface-2: #f3f4f6;--surface-3: #e5e7eb;--text-1: #111827;--text-2: #4b5563;--text-3: #9ca3af;--border: #e5e7eb;--border-focus: #2563eb;--user-bg: #2563eb;--user-text: #ffffff;--bot-bg: #ffffff;--bot-text: #111827;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 12px 40px rgba(0,0,0,.14);--shadow-widget: 0 24px 64px rgba(0,0,0,.16);--widget-w: 380px;--widget-h: 620px;--widget-r: 16px;--header-h: 60px;--footer-h: 64px;--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--r-full: 9999px;--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-xs: 11px;--font-sm: 13px;--font-md: 14px;--font-lg: 16px;--sp-2: 2px;--sp-4: 4px;--sp-6: 6px;--sp-8: 8px;--sp-10: 10px;--sp-12: 12px;--sp-16: 16px;--sp-20: 20px;--sp-24: 24px;--sp-32: 32px;--t-fast: .15s ease;--t: .22s ease;--t-slow: .4s ease;--z-widget: 9998;--z-button: 9999;--glass-bg: rgba(255,255,255,.88);--glass-border: rgba(255,255,255,.5);--blur: blur(20px);--success: #16a34a;--warning: #d97706;--error: #dc2626}[data-theme=dark]{--bg: #0f172a;--surface: #1e293b;--surface-2: #273549;--surface-3: #334155;--text-1: #f1f5f9;--text-2: #94a3b8;--text-3: #64748b;--border: #334155;--border-focus: #3b82f6;--bot-bg: #1e293b;--bot-text: #f1f5f9;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.35);--shadow-lg: 0 12px 40px rgba(0,0,0,.45);--shadow-widget: 0 24px 64px rgba(0,0,0,.5);--glass-bg: rgba(30,41,59,.9);--glass-border: rgba(255,255,255,.07)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow:hidden}.chat-app-wrapper{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}body{font-family:var(--font);font-size:var(--font-md);color:var(--text-1);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}button{font-family:var(--font);cursor:pointer;border:none;background:none;outline:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea{font-family:var(--font);outline:none}a{color:inherit;text-decoration:none}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}.glass{background:var(--glass-bg);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border)}.fade-in{animation:fadeIn var(--t-slow) ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .28s cubic-bezier(.22,.68,0,1.2) both}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{box-shadow:0 0 #2563eb66}50%{box-shadow:0 0 0 10px #2563eb00}}@keyframes bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:999px}.markdown{color:inherit;font-size:var(--font-md);line-height:1.75;word-wrap:break-word;overflow-wrap:anywhere}.markdown>*:first-child{margin-top:0}.markdown>*:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{margin:.9rem 0 .5rem;font-weight:600;line-height:1.3;color:inherit}.markdown h1{font-size:1.5rem}.markdown h2{font-size:1.25rem}.markdown h3{font-size:1.1rem}.markdown h4,.markdown h5,.markdown h6{font-size:1rem}.markdown p{margin:.65rem 0}.markdown a{color:var(--accent);font-weight:500;border-bottom:1px solid rgba(37,99,235,.3);transition:border-color var(--t-fast)}.markdown a:hover{border-color:var(--accent)}.markdown ul,.markdown ol{margin:.6rem 0;padding-left:1.4rem}.markdown ul{list-style:disc}.markdown ol{list-style:decimal}.markdown li{margin:.25rem 0}.markdown blockquote{margin:.8rem 0;padding:.75rem 1rem;border-left:3px solid var(--accent);background:var(--accent-light);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--text-2)}.markdown code{font-family:Fira Code,Consolas,monospace;font-size:.87em;background:var(--surface-2);color:#e11d48;padding:1px 5px;border-radius:var(--r-xs)}.markdown pre{margin:.8rem 0;padding:14px 16px;background:#0f172a;color:#f8fafc;border-radius:var(--r-md);overflow-x:auto;font-size:.85rem;line-height:1.65}.markdown pre code{background:transparent;color:inherit;padding:0;border-radius:0;font-size:inherit}.markdown table{width:100%;border-collapse:collapse;margin:.8rem 0;font-size:var(--font-sm);border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--border);display:block;overflow-x:auto}.markdown th{background:var(--surface-2);color:var(--text-1);font-weight:600;padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}.markdown td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text-2)}.markdown tr:last-child td{border-bottom:none}.markdown tr:nth-child(2n) td{background:var(--surface-2)}.markdown hr{margin:1.2rem 0;border:none;height:1px;background:var(--border)}.markdown strong{font-weight:700}.markdown em{font-style:italic}.markdown .sources-heading{margin-top:1rem;font-size:var(--font-sm);font-weight:600;color:var(--text-2)}[data-theme=dark] .markdown code{background:#ffffff12;color:#7dd3fc}[data-theme=dark] .markdown td{color:var(--text-2)}[data-theme=dark] .markdown tr:nth-child(2n) td{background:var(--surface-3)}.floating-btn{position:fixed;right:24px;bottom:24px;width:56px;height:56px;border-radius:var(--r-full);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);z-index:var(--z-button);transition:transform var(--t),box-shadow var(--t);animation:pulse 2.8s infinite}.floating-btn:hover{transform:translateY(-3px);box-shadow:0 16px 40px #2563eb59;animation:none}.floating-btn:active{transform:scale(.94);animation:none}.floating-btn svg{transition:transform var(--t)}.floating-btn.is-open{animation:none}.floating-btn.is-open svg{transform:rotate(180deg)}@media (max-width: 480px){.floating-btn{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:50px;height:50px}}.chat-widget{position:relative;width:100%;height:100%;max-width:100%;max-height:100%;border-radius:var(--widget-r, 12px);overflow:hidden;display:flex;flex-direction:column;z-index:var(--z-widget);border:1px solid var(--border);background:var(--surface)}@media (max-width: 480px){.chat-widget{border-radius:0}}.chat-header{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-16);border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.header-left{display:flex;align-items:center;gap:var(--sp-10)}.header-avatar{width:34px;height:34px;border-radius:var(--r-full);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-info{display:flex;flex-direction:column}.header-name{font-size:var(--font-md);font-weight:600;color:var(--text-1);line-height:1.2}.header-site{font-size:var(--font-xs);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.header-status{display:flex;align-items:center;gap:5px;font-size:var(--font-xs);color:var(--success)}.status-dot{width:7px;height:7px;border-radius:var(--r-full);background:var(--success)}.header-actions{display:flex;align-items:center;gap:var(--sp-4)}.hdr-btn{width:30px;height:30px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:var(--text-3);transition:background var(--t-fast),color var(--t-fast)}.hdr-btn:hover{background:var(--surface-2);color:var(--text-1)}.hdr-btn.danger:hover{background:#dc26261a;color:var(--error)}.chat-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:var(--sp-16);display:flex;flex-direction:column;gap:var(--sp-4)}.chat-input-area{padding:var(--sp-12) var(--sp-16);border-top:1px solid var(--border);background:var(--surface)}.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-32) var(--sp-24);text-align:center;gap:var(--sp-20);height:100%}.welcome-icon{width:52px;height:52px;border-radius:var(--r-full);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}.welcome-text h2{font-size:1.15rem;font-weight:700;color:var(--text-1);margin-bottom:6px}.welcome-text p{font-size:var(--font-sm);color:var(--text-2);line-height:1.6}.indexer{width:100%;display:flex;flex-direction:column;gap:var(--sp-8)}.indexer-label{font-size:var(--font-xs);font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;text-align:left}.indexer-row{display:flex;gap:var(--sp-6)}.indexer-input{flex:1;padding:9px 12px;font-size:var(--font-sm);color:var(--text-1);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color var(--t-fast),background var(--t-fast)}.indexer-input::placeholder{color:var(--text-3)}.indexer-input:focus{background:var(--surface);border-color:var(--border-focus)}.indexer-btn{padding:9px 14px;font-size:var(--font-sm);font-weight:600;color:#fff;background:var(--accent);border-radius:var(--r-sm);transition:background var(--t-fast);white-space:nowrap;flex-shrink:0}.indexer-btn:hover:not(:disabled){background:var(--accent-hover)}.indexer-btn:disabled{opacity:.55;cursor:not-allowed}.indexing-status{width:100%;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);display:flex;flex-direction:column;gap:6px}.indexing-row{display:flex;align-items:center;justify-content:space-between}.indexing-label{font-size:var(--font-xs);color:var(--text-2);font-weight:500}.indexing-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:var(--r-full);background:var(--accent-light);color:var(--accent)}.indexing-badge.done{background:#16a34a1f;color:var(--success)}.indexing-badge.fail{background:#dc26261f;color:var(--error)}.indexing-bar-bg{width:100%;height:3px;background:var(--surface-3);border-radius:var(--r-full);overflow:hidden}.indexing-bar{height:100%;background:var(--accent);border-radius:var(--r-full);transition:width .4s ease}.indexing-bar.done{background:var(--success)}.quick-questions{width:100%;display:flex;flex-direction:column;gap:var(--sp-6)}.quick-q-label{font-size:var(--font-xs);font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;text-align:left}.quick-q-list{display:flex;flex-direction:column;gap:var(--sp-4)}.quick-q-btn{text-align:left;padding:9px 12px;font-size:var(--font-sm);color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.quick-q-btn:hover{background:var(--accent-light);border-color:#2563eb40;color:var(--accent)}.auto-sync-indicator{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:var(--sp-8);font-size:11px;color:var(--text-3)}.sync-dot{width:6px;height:6px;border-radius:50%;background-color:var(--success);box-shadow:0 0 4px var(--success);animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.msg-row{display:flex;align-items:flex-end;gap:var(--sp-8);animation:fadeIn var(--t) ease both}.msg-row.user{flex-direction:row-reverse}.msg-avatar{width:28px;height:28px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;color:#fff}.msg-avatar.bot{background:var(--accent)}.msg-avatar.user{background:var(--surface-3);color:var(--text-2)}.msg-content{max-width:80%;display:flex;flex-direction:column;gap:4px}.msg-bubble{padding:10px 13px;border-radius:14px;line-height:1.65;font-size:var(--font-md);word-break:break-word}.msg-bubble.bot{background:var(--bot-bg);color:var(--bot-text);border:1px solid var(--border);border-bottom-left-radius:4px}.msg-bubble.user{background:var(--user-bg);color:#fff;border-bottom-right-radius:4px}.msg-bubble.user .markdown{color:#fff}.msg-sources{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.sources-title{font-size:var(--font-xs);font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.source-link{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-xs);color:var(--accent);font-weight:500;border-bottom:1px solid rgba(37,99,235,.25);transition:border-color var(--t-fast);word-break:break-all}.source-link:hover{border-color:var(--accent)}.msg-footer{display:flex;align-items:center;gap:6px;padding-left:2px}.msg-time{font-size:var(--font-xs);color:var(--text-3);flex:1}.msg-action{width:26px;height:26px;border-radius:var(--r-xs);display:flex;align-items:center;justify-content:center;color:var(--text-3);transition:background var(--t-fast),color var(--t-fast)}.msg-action:hover{background:var(--surface-2);color:var(--text-2)}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}.typing-row{display:flex;align-items:flex-end;gap:var(--sp-8);animation:fadeIn var(--t) ease both}.typing-avatar{width:28px;height:28px;border-radius:var(--r-full);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.typing-bubble{padding:12px 14px;background:var(--bot-bg);border:1px solid var(--border);border-radius:14px 14px 14px 4px;display:flex;align-items:center;gap:5px}.typing-dot{width:6px;height:6px;border-radius:var(--r-full);background:var(--text-3);animation:bounce 1.2s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.chat-input-wrap{display:flex;align-items:flex-end;gap:var(--sp-8);padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);transition:border-color var(--t-fast),background var(--t-fast)}.chat-input-wrap:focus-within{border-color:var(--border-focus);background:var(--surface)}.chat-textarea{flex:1;resize:none;border:none;background:transparent;color:var(--text-1);font-size:var(--font-md);line-height:1.5;max-height:120px;overflow-y:auto}.chat-textarea::placeholder{color:var(--text-3)}.send-btn{width:32px;height:32px;border-radius:var(--r-sm);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--t-fast),opacity var(--t-fast)}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-footer{padding:var(--sp-8) var(--sp-16);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:var(--font-xs);color:var(--text-3);background:var(--surface);flex-shrink:0;gap:4px}
