:root{--text:#a3a3a3;--text-h:#f4f4f5;--text-m:#d4d4d8;--bg:#212121;--bg-secondary:#171717;--bg-tertiary:#2f2f2f;--bg-elevated:#333;--border:#3a3a3a;--border-strong:#4a4a4a;--code-bg:#171717;--accent:#e7e7e7;--accent-bg:#ffffff12;--accent-border:#ffffff38;--user-msg-bg:#2f2f2f;--assistant-msg-bg:#212121;--shadow:0 18px 48px #0000006b;--sidebar-width:276px;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:Arial, Helvetica, sans-serif;font:14px/1.5 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{background:var(--bg);margin:0;padding:0}button,textarea{font:inherit}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}.app{width:100%;min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);border-right:1px solid var(--border);background:#171717;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-header{border-bottom:1px solid var(--border);padding:14px 16px}.graph-rag-logo{color:var(--text-h);align-items:center;gap:10px;display:inline-flex}.graph-rag-logo-mark{width:42px;height:32px;color:var(--text-h);overflow:visible}.graph-rag-logo-bubble,.graph-rag-logo-edge,.graph-rag-logo-node{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.graph-rag-logo-bubble{stroke-width:2px;opacity:.84}.graph-rag-logo-edge{stroke-width:1.7px;opacity:.6}.graph-rag-logo-node{fill:#2f2f2f;stroke-width:1.8px}.graph-rag-logo-node--muted{opacity:.58}.graph-rag-logo-wordmark{color:var(--text-h);letter-spacing:0;font-size:14px;font-weight:700;line-height:1}.sidebar-actions{padding:12px}.new-chat-btn{color:#050505;cursor:pointer;background:#f2f2f2;border:1px solid #f2f2f2;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:13px;font-weight:650;transition:background .15s,border-color .15s,transform .15s;display:flex}.new-chat-btn:hover{background:#dcdcdc;border-color:#dcdcdc;transform:translateY(-1px)}.chat-list{flex:1;padding:4px 8px 12px;overflow-y:auto}.history-status{border-top:1px solid var(--border);color:#787878;font-family:var(--mono);padding:12px 16px 16px;font-size:11px;line-height:1.4}.chat-item{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;min-height:38px;margin-bottom:3px;padding:8px 10px;transition:background .15s,border-color .15s;display:flex}.chat-item:hover{background:var(--bg-tertiary)}.chat-item.active{background:var(--accent-bg);border-color:var(--accent-border)}.chat-item-content{align-items:center;display:flex;overflow:hidden}.chat-title{color:var(--text-m);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.delete-btn{opacity:0;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:5px;transition:opacity .15s,background .15s,border-color .15s,color .15s}.chat-item:hover .delete-btn,.delete-btn:focus-visible{opacity:1}.delete-btn:hover{border-color:var(--border-strong);color:var(--text-h);background:#ffffff14}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-area{background:#212121;flex-direction:column;height:100%;display:flex}.chat-area.empty{justify-content:center;align-items:center}.empty-state{text-align:center;width:min(420px,100vw - 48px);color:var(--text)}.empty-logo,.welcome-logo{margin:0 0 14px;display:inline-flex}.empty-logo .graph-rag-logo-mark,.welcome-logo .graph-rag-logo-mark{width:52px;height:39px}.empty-state h2{color:var(--text-h);letter-spacing:0;margin:0 0 8px;font-size:22px;font-weight:650}.empty-state p{margin:0}.chat-header{border-bottom:1px solid var(--border);background:#212121;justify-content:space-between;align-items:center;min-height:49px;padding:12px 24px;display:flex}.chat-header .chat-title{color:var(--text-h);margin:0;font-size:13px;font-weight:650}.messages-container{flex-direction:column;flex:1;gap:10px;padding:28px 24px;display:flex;overflow-y:auto}.welcome-message{text-align:center;color:var(--text);flex-direction:column;justify-content:center;align-items:center;margin-top:auto;margin-bottom:auto;padding:40px;display:flex}.welcome-message h3{color:var(--text-h);margin:0;font-size:16px;font-weight:650}.message{max-width:min(740px,84%);display:flex}.message.user{margin-left:auto}.message.assistant{margin-right:auto}.message-content{flex:1;min-width:0}.message-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-m);background:#212121;border:1px solid #0000;border-radius:16px;padding:10px 13px;font-size:13px;line-height:1.6}.message.user .message-text{color:var(--text-h);background:#2f2f2f;border-color:#2f2f2f;border-bottom-right-radius:5px}.message.assistant .message-text{color:var(--text-h);background:#2f2f2f;border-color:#2f2f2f;border-bottom-left-radius:5px}.message.error .message-text{color:var(--text-h);background:#ffffff14;border-color:#ffffff5c}.thinking-time{color:#858585;width:fit-content;font-family:var(--mono);margin-top:6px;padding:0 2px;font-size:10px;line-height:1.3}.typing-indicator{gap:4px;padding:4px 0;display:flex}.typing-indicator span{background:var(--text-h);border-radius:50%;width:5px;height:5px;animation:1.4s infinite typing}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.28;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-input-container{border-top:1px solid var(--border);background:#212121;padding:14px 24px 20px}.chat-input-wrapper{border:1px solid var(--border);background:#2f2f2f;border-radius:7px;align-items:flex-end;gap:10px;padding:8px 9px 8px 12px;transition:border-color .15s,background .15s;display:flex}.chat-input-wrapper:focus-within{border-color:var(--border-strong);background:#303030}.chat-input{color:var(--text-h);font-size:13px;font-family:var(--sans);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:200px;line-height:1.5}.chat-input::placeholder{color:#777}.send-btn{cursor:pointer;background:#f2f2f2;border:1px solid #f2f2f2;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s,border-color .15s,transform .15s;display:flex}.send-btn-inner{background:#8a8a8a;border-radius:4px;width:12px;height:12px;display:block}.send-btn:hover:not(:disabled){background:#dcdcdc;border-color:#dcdcdc;transform:translateY(-1px)}.send-btn:disabled{opacity:.45;cursor:not-allowed}.input-hint{font-family:var(--mono);color:#6f6f6f;text-align:center;margin:8px 0 0;font-size:10px}.input-error{color:#f5f5f5;text-align:center;margin:8px 0 0;font-size:12px}@media (width<=768px){:root{--sidebar-width:100%}.app{flex-direction:column}.sidebar{width:100%;height:auto;max-height:38vh;position:relative}.chat-list{max-height:170px}.messages-container{padding:18px 14px}.message{max-width:100%}}.topbar{top:0;left:var(--sidebar-width);border-bottom:1px solid var(--border);z-index:50;background:#212121;justify-content:space-between;align-items:center;height:52px;padding:0 18px;display:flex;position:fixed;right:0}.topbar-logo .graph-rag-logo-mark{width:38px;height:29px}.topbar-logo .graph-rag-logo-wordmark{font-size:13px}.topbar-actions{align-items:center;gap:8px;display:flex}.topbar-btn{cursor:pointer;border:1px solid var(--border);color:var(--text-m);font-size:12px;font-weight:600;font-family:var(--mono);background:#2f2f2f;border-radius:5px;align-items:center;gap:6px;padding:7px 11px;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.topbar-btn:hover{background:var(--accent-bg);border-color:var(--accent-border);color:var(--text-h)}.feat-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#000000ad;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.feat-modal{border:1px solid var(--border-strong);width:min(560px,92vw);box-shadow:var(--shadow);background:#212121;border-radius:8px;padding:22px;animation:.18s slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.feat-modal-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.feat-modal-title{color:var(--text-h);margin:0;font-size:15px;font-weight:700}.feat-close-btn{border:1px solid var(--border);width:30px;height:30px;color:var(--text);cursor:pointer;background:#2f2f2f;border-radius:5px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex}.feat-close-btn:hover{background:var(--accent-bg);border-color:var(--border-strong);color:var(--text-h)}.feat-list{flex-direction:column;gap:14px;display:flex}.feat-item{border-top:1px solid var(--border);align-items:flex-start;gap:13px;padding-top:14px;display:flex}.feat-item:first-child{border-top:0;padding-top:0}.feat-item-icon{border:1px solid var(--border);width:38px;height:34px;font-family:var(--mono);color:var(--text-h);background:#2f2f2f;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.feat-item-title{color:var(--text-h);margin:0 0 4px;font-size:13px;font-weight:700}.feat-item-desc{color:var(--text);margin:0;font-size:12px;line-height:1.55}@media (width<=768px){.topbar{position:relative;left:0}.topbar-btn{padding:7px 9px}}.app{width:100vw;height:100vh;display:flex;overflow:hidden}.main-wrapper{margin-left:var(--sidebar-width);flex-direction:column;flex:1;height:100vh;display:flex;overflow:hidden}.main-content{flex-direction:column;flex:1;margin-top:52px;display:flex;overflow:hidden}@media (width<=768px){.main-wrapper{height:auto;min-height:62vh;margin-left:0}.main-content{min-height:62vh;margin-top:0}}
