:root{--bg: #F8F9FA;--surface: #FFFFFF;--surface2: #F0F2F8;--surface-deep: #101426;--border: #DDE2F0;--accent: #E3A33D;--accent-h: #D28B3A;--accent-glow: rgba(227,163,61,.22);--indigo: #1E2349;--indigo2: #2B3666;--blue: #6D7DC1;--blue2: #3C4690;--green: #16a34a;--red: #dc2626;--yellow: #d97706;--text: #1E2349;--muted: #6D7DC1;--radius: 8px;--font: "IBM Plex Sans", system-ui, sans-serif;--font-display: "Sora", "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", "Fira Code", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;height:100vh;overflow:hidden}.app{display:flex;flex-direction:column;height:100vh}.app-body{display:flex;flex:1;overflow:hidden}.main-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.sidebar{width:260px;min-width:260px;background:#131729;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;overflow:hidden;transition:width .22s cubic-bezier(.4,0,.2,1),min-width .22s cubic-bezier(.4,0,.2,1);flex-shrink:0;position:relative;z-index:40}.sidebar:not(.open){width:0;min-width:0}@media (max-width: 768px){.sidebar{position:fixed;top:48px;left:0;bottom:0;transform:translate(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1);width:260px;min-width:260px;z-index:200}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block!important}}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:190;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-top{padding:12px 10px 8px;flex-shrink:0}.sidebar-new-btn{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;background:#e3a33d1f;border:1px solid rgba(227,163,61,.25);border-radius:var(--radius);color:var(--accent);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.sidebar-new-btn:hover{background:#e3a33d33;border-color:#e3a33d66}.sidebar-nav{padding:4px 10px;display:flex;flex-direction:column;gap:2px;flex-shrink:0}.sidebar-nav-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 12px;background:none;border:none;border-radius:var(--radius);color:#fff9;font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;text-align:left;white-space:nowrap}.sidebar-nav-item:hover{background:#ffffff0f;color:#ffffffe6}.sidebar-nav-item.active{background:#ffffff1a;color:#fff;font-weight:600}.sidebar-divider{height:1px;background:#ffffff12;margin:4px 10px 8px;flex-shrink:0}.sidebar-history{flex:1;overflow-y:auto;padding:0 6px 8px}.sidebar-history::-webkit-scrollbar{width:3px}.sidebar-history::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.sidebar-section-label{font-size:10px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:#ffffff4d;padding:4px 10px 6px}.sidebar-date-label{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:#ffffff40;padding:6px 10px 2px}.sidebar-conv-item{display:flex;align-items:center;gap:7px;width:100%;padding:6px 10px;background:none;border:none;border-radius:6px;color:#ffffff8c;font-family:var(--font);font-size:12px;cursor:pointer;transition:background .12s,color .12s;text-align:left}.sidebar-conv-item:hover{background:#ffffff12;color:#ffffffe6}.sidebar-conv-mode{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.4px;flex-shrink:0}.sidebar-conv-mode.qna{background:#6d7dc14d;color:#a5b4fc}.sidebar-conv-mode.deepdive{background:#6366f14d;color:#c4b5fd}.sidebar-conv-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.sidebar-loading{padding:12px;display:flex;justify-content:center}.sidebar-empty{padding:10px;font-size:12px;color:#ffffff40;text-align:center}.sidebar-footer{padding:8px 10px 12px;border-top:1px solid rgba(255,255,255,.07);flex-shrink:0;display:flex;flex-direction:column;gap:8px}.sidebar-kb-row{display:flex;align-items:center;gap:6px}.sidebar-kb-label{font-size:11px;color:#fff6;white-space:nowrap}.sidebar-kb-select{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fffc;font-size:12px;padding:4px 6px;cursor:pointer;font-family:var(--font);outline:none}.sidebar-kb-select:focus{border-color:var(--accent)}.sidebar-kb-select option{background:#1e2349;color:#fff}.sidebar-user-row{display:flex;align-items:center;gap:6px}.sidebar-username{font-size:12px;color:#fff9;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-role-badge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;background:#e3a33d33;color:var(--accent);text-transform:uppercase;letter-spacing:.4px;flex-shrink:0}.sidebar-logout-btn{background:none;border:none;color:#ffffff59;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:color .15s,background .15s;flex-shrink:0}.sidebar-logout-btn:hover{color:#fff;background:#ffffff14}.header{display:flex;align-items:center;gap:12px;padding:0 16px;height:48px;background:#101426;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;z-index:50}.burger-btn{background:none;border:none;color:#fff9;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s;flex-shrink:0}.burger-btn:hover{color:#fff;background:#ffffff14}.header-logo-img{height:24px;width:auto;flex-shrink:0;filter:brightness(0) invert(1)}.header-brand{display:flex;align-items:center;gap:10px}.header-title{font-size:15px;font-weight:700;letter-spacing:.3px;color:#fff;font-family:var(--font-display)}.header-sub{font-size:10px;color:#ffffff73;letter-spacing:.4px;text-transform:uppercase}.header-right{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto}.client-selector{display:flex;align-items:center;gap:6px}.client-selector-label{font-size:12px;color:#fff9;white-space:nowrap}.client-dropdown{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:13px;padding:4px 8px;cursor:pointer;font-family:var(--font)}.client-dropdown:focus{outline:none;border-color:var(--accent)}.client-dropdown option{background:var(--indigo);color:#fff}.client-db-badge{font-size:10px;font-family:var(--font-mono);padding:2px 7px;border-radius:10px;white-space:nowrap;font-weight:600;letter-spacing:.02em}.btn{padding:7px 14px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;font-family:var(--font);font-size:13px;font-weight:500;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex;align-items:center;gap:6px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-h);border-color:var(--accent-h)}.btn-ghost{background:var(--surface);color:var(--indigo2);border-color:var(--border)}.btn-ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-sm{padding:4px 10px;font-size:12px}.btn-block{width:100%;justify-content:center}.agent-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.agent-view-empty{justify-content:center;align-items:center}@keyframes center-appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.agent-center{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:680px;padding:24px 20px;animation:center-appear .5s cubic-bezier(.16,1,.3,1) both}.agent-center .empty-title{font-size:24px;color:var(--text);font-weight:700;font-family:var(--font-display);letter-spacing:-.3px}.agent-center .empty-desc{font-size:14px;color:var(--muted);max-width:400px;line-height:1.6;text-align:center}.empty-kb-label{font-size:12px;color:var(--muted);text-align:center}.agent-center .chat-input-area{width:100%;margin-top:4px;margin-bottom:4px;border-top:none;background:transparent;padding:0}.chat-messages{flex:1;overflow-y:auto;padding:24px 24px 16px;display:flex;flex-direction:column;gap:16px}.chat-messages::-webkit-scrollbar{width:5px}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.dd-bar{padding:10px 24px;background:var(--surface);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.dd-row{display:flex;align-items:center;gap:10px}.dd-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--accent-h)}.dd-files{display:flex;flex-wrap:wrap;gap:6px}.dd-file{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:5px 10px;font-size:12px;color:var(--indigo2)}.dd-file-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-input-area{padding:12px 24px 14px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.input-row{display:flex;gap:10px;align-items:flex-end;background:#fff;border:1.5px solid var(--border);border-radius:var(--radius);padding:8px 12px;transition:border-color .2s;box-shadow:0 1px 4px #2b366612}.input-row:focus-within{border-color:var(--blue2)}.chat-input{flex:1;background:none;border:none;color:var(--text);font-family:var(--font);font-size:14px;outline:none;resize:none;max-height:120px;min-height:22px;line-height:1.5}.chat-input::placeholder{color:#a0aec0}.send-btn{background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;padding:6px 10px;font-size:16px;line-height:1;transition:background .15s,opacity .15s;flex-shrink:0}.send-btn:hover:not(:disabled){background:var(--accent-h)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.input-footer{display:flex;align-items:center;gap:12px;margin-top:8px;padding:0 2px}.mode-radios{display:flex;gap:5px;align-items:center}.mode-radio-label{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-family:var(--font);font-size:12px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,color .15s,background .15s}.mode-radio-label input[type=radio]{display:none}.mode-radio-label:hover{border-color:var(--blue2);color:var(--indigo2)}.mode-radio-label.active{background:#3c469014;border-color:var(--blue2);color:var(--blue2);font-weight:600}.input-hint{font-size:11px;color:var(--muted)}.kb-badge{margin-left:auto;font-size:11px;font-weight:600;color:var(--accent);background:#e3a33d1f;border:1px solid rgba(227,163,61,.3);border-radius:10px;padding:2px 8px;white-space:nowrap}.msg{display:flex;gap:10px;max-width:820px;align-self:flex-start}.msg-user{align-self:flex-end;flex-direction:row-reverse}.msg-avatar{width:32px;height:32px;border-radius:50%;background:var(--indigo2);border:1px solid var(--indigo2);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0;color:#fff}.msg-avatar-user{background:var(--accent);border-color:var(--accent);color:#fff}.msg-body{display:flex;flex-direction:column;gap:4px}.msg-label{font-size:11px;color:var(--muted);padding:0 4px}.msg-user .msg-label{text-align:right}.msg-bubble{background:#fff;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:10px 14px;line-height:1.65;word-break:break-word;box-shadow:0 1px 3px #2b36660f}.msg-bubble-user{background:linear-gradient(135deg,#d28b3a,#e3a33d);border:1px solid var(--accent-h);border-left:1px solid var(--accent-h);color:#fff;white-space:pre-wrap;box-shadow:0 2px 8px #e3a33d40}.msg-bubble.streaming:after{content:"▍";animation:blink 1s step-start infinite}@keyframes blink{50%{opacity:0}}.msg-bubble p{margin:0 0 8px}.msg-bubble p:last-child{margin-bottom:0}.msg-bubble h1,.msg-bubble h2,.msg-bubble h3{margin:12px 0 6px;font-weight:600;line-height:1.3;color:var(--indigo)}.msg-bubble h1{font-size:16px}.msg-bubble h2{font-size:15px}.msg-bubble h3{font-size:14px}.msg-bubble ul,.msg-bubble ol{padding-left:20px;margin:6px 0}.msg-bubble li{margin:3px 0}.msg-bubble pre{background:#f1f3f9;border:1px solid var(--border);border-radius:6px;padding:10px 12px;overflow-x:auto;margin:8px 0}.msg-bubble pre code{background:none;padding:0;font-family:var(--font-mono);font-size:12px;color:var(--indigo)}.msg-bubble code{background:#eef0f8;padding:1px 5px;border-radius:4px;font-family:var(--font-mono);font-size:12px;color:var(--indigo2)}.msg-bubble blockquote{border-left:3px solid var(--accent);margin:8px 0;padding:4px 12px;color:var(--muted)}.msg-bubble table{border-collapse:collapse;width:100%;margin:8px 0;font-size:12px}.msg-bubble th,.msg-bubble td{border:1px solid var(--border);padding:5px 10px;text-align:left}.msg-bubble th{background:#f1f3f9;font-weight:600;color:var(--indigo)}.msg-bubble a{color:var(--blue2);text-decoration:underline}.msg-bubble hr{border:none;border-top:1px solid var(--border);margin:10px 0}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);text-align:center;padding:40px 20px}.empty-icon{width:56px;height:56px;margin-bottom:4px;background:linear-gradient(135deg,#e3a33d1f,#2b366614);border:1.5px solid rgba(227,163,61,.2);border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--accent)}.empty-state h2{font-size:20px;color:var(--text);font-weight:600}.empty-state p{font-size:14px;max-width:380px;line-height:1.6}.suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}@keyframes suggestion-appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.suggestion{background:#fff;border:1px solid var(--border);border-radius:20px;padding:7px 16px;font-size:12px;font-family:var(--font);color:var(--indigo2);cursor:pointer;transition:border-color .15s,color .15s,box-shadow .15s,transform .15s;box-shadow:0 1px 3px #2b366612;animation:suggestion-appear .4s cubic-bezier(.16,1,.3,1) both}.suggestion:nth-child(1){animation-delay:.05s}.suggestion:nth-child(2){animation-delay:.12s}.suggestion:nth-child(3){animation-delay:.19s}.suggestion:nth-child(4){animation-delay:.26s}.suggestion:hover{border-color:var(--accent);color:var(--accent-h);box-shadow:0 2px 8px #e3a33d33;transform:translateY(-1px)}.kg-view{flex:1;display:flex;overflow:hidden}.kg-mgmt{width:300px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.kg-mgmt-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.kg-mgmt-body{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.sidebar-heading{font-size:10px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--muted)}.kg-stats{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;font-size:12px}.kg-stat strong{color:var(--accent-h)}.kg-db-breakdown{display:flex;flex-direction:column;gap:2px;padding:4px 0}.kg-db-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;padding:2px 0}.kg-db-name{color:var(--muted);font-family:var(--font-mono);font-size:10px}.kg-db-counts{color:var(--text);font-variant-numeric:tabular-nums;font-size:11px}.kg-tabs{display:flex;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:3px;gap:3px}.kg-tab{flex:1;padding:5px;border:none;border-radius:6px;background:transparent;color:var(--muted);font-family:var(--font);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.kg-tab:hover{color:var(--text)}.kg-tab.active{background:var(--indigo2);color:#fff}.kg-ingest{display:flex;flex-direction:column;gap:8px}.kg-steps{display:flex;align-items:center;padding:4px 0}.kg-step{display:flex;align-items:center;gap:5px;flex:1;font-size:10px;color:var(--muted);position:relative}.kg-step:not(:last-child):after{content:"";position:absolute;right:0;top:50%;width:100%;height:1px;background:var(--border);z-index:0}.kg-step-num{width:18px;height:18px;border-radius:50%;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0;z-index:1}.kg-step.active .kg-step-num{background:var(--accent);border-color:var(--accent);color:#fff}.kg-step.done .kg-step-num{background:var(--green);border-color:var(--green);color:#fff}.kg-step-label{font-size:10px;white-space:nowrap;z-index:1;background:var(--surface);padding:0 2px}.kg-step.active .kg-step-label{color:var(--text)}.kg-step.done .kg-step-label{color:var(--green)}.kg-hint{font-size:11px;color:var(--muted);line-height:1.5}.kg-raw-input{min-height:110px}.kg-json-input{min-height:160px;font-family:var(--font-mono);font-size:11px}.kg-ingest-actions{display:flex;gap:8px;align-items:center}.kg-ingest-actions .btn-primary{flex:1;justify-content:center}.kg-commit-result{display:flex;flex-direction:column;gap:8px}.kg-commit-success{display:flex;align-items:center;gap:8px;color:var(--green);font-weight:600;font-size:13px}.kg-commit-stats{display:flex;gap:12px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:12px}.kg-commit-stats strong{color:var(--accent)}.kg-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);padding:8px 10px;font-size:12px;color:var(--red);word-break:break-word}.kg-cypher-panel{display:flex;flex-direction:column;gap:8px}.cypher-input{min-height:90px;font-family:var(--font-mono);font-size:11px}.kg-result{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-size:11px}.kg-result-header{background:var(--surface2);padding:5px 10px;color:var(--muted);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.kg-result-db{font-family:var(--font-mono);font-size:10px;color:var(--blue)}.kg-result-body{padding:8px 10px;max-height:200px;overflow-y:auto;font-family:var(--font-mono);font-size:11px;white-space:pre-wrap;word-break:break-all;color:var(--text)}.context-input{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:12px;padding:8px 10px;resize:vertical;min-height:64px;outline:none;transition:border-color .2s;width:100%}.context-input:focus{border-color:var(--blue2)}.context-input::placeholder{color:#a0aec0}.file-meta{color:var(--muted);font-size:11px;white-space:nowrap}.del-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:2px 4px;border-radius:4px;font-size:14px;line-height:1;transition:color .15s,background .15s}.del-btn:hover{color:var(--red);background:#ef44441a}.kg-explorer{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);min-height:0}.kge-controls{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.kge-search{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:12px;padding:5px 10px;outline:none;width:160px;transition:border-color .2s}.kge-search:focus{border-color:var(--blue2)}.kge-search::placeholder{color:#a0aec0}.kge-filter{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:12px;padding:5px 8px;outline:none;cursor:pointer}.kge-stat-pill{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:3px 10px;font-size:11px;color:var(--muted);white-space:nowrap}.kge-db-pill{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:3px 10px;font-size:10px;font-family:var(--font-mono);white-space:nowrap;display:flex;align-items:center;gap:0}.kge-error{background:#dc262614;border-bottom:1px solid rgba(220,38,38,.2);padding:8px 16px;font-size:12px;color:var(--red);flex-shrink:0}.kge-body{flex:1;display:flex;overflow:hidden;position:relative;min-height:0}.kge-canvas{flex:1;display:block;min-width:0;min-height:0;background-color:#eceef7;background-image:radial-gradient(circle,#B8C0DA 1px,transparent 1px);background-size:24px 24px}.kge-panel{width:220px;border-left:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}.kge-legend{padding:12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.kge-legend-title{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.kge-legend-group-label{font-size:9px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--blue);padding:2px 6px 0}.kge-legend-item{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);background:none;border:none;padding:4px 6px;border-radius:6px;cursor:pointer;font-family:var(--font);transition:background .15s,color .15s;text-align:left}.kge-legend-item:hover{background:var(--bg);color:var(--text)}.kge-legend-item.active{background:var(--bg);color:var(--indigo2);font-weight:500}.kge-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #fffc}.kge-detail{padding:14px 12px;display:flex;flex-direction:column;gap:6px}.kge-detail-title{font-size:14px;font-weight:600;line-height:1.3;color:var(--indigo)}.kge-detail-type{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.kge-detail-id{font-size:10px;color:var(--muted);font-family:monospace}.kge-detail-desc{font-size:12px;color:var(--muted);line-height:1.5;padding:8px;background:var(--bg);border-radius:var(--radius)}.kge-hint-panel{padding:16px 12px;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;line-height:1.5}.kge-compact-tooltip{position:absolute;bottom:8px;left:8px;background:#1e2349e0;color:#fff;font-size:11px;padding:4px 10px;border-radius:6px;pointer-events:none;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.activity-panel{margin:0 16px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden;font-size:13px;transition:all .2s ease}.activity-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface2);border-bottom:1px solid var(--border)}.activity-panel--collapsed .activity-panel-header{border-bottom:none}.activity-panel-status{display:flex;align-items:center;gap:8px;font-weight:500}.activity-panel-meta{display:flex;align-items:center;gap:8px;color:var(--muted)}.activity-step-count,.activity-chevron{font-size:11px}.activity-current{color:var(--text)}.activity-check{color:var(--green);font-size:13px}.activity-spinner{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:activity-pulse 1s ease-in-out infinite;flex-shrink:0}@keyframes activity-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.activity-steps{max-height:260px;overflow-y:auto}.activity-step{display:flex;align-items:center;gap:10px;padding:7px 12px;border-bottom:1px solid var(--border);transition:background .15s}.activity-step:last-child{border-bottom:none}.activity-step--running{background:#fffbf2;border-left:3px solid var(--accent);padding-left:9px}.activity-step--done{background:var(--surface);border-left:3px solid transparent;padding-left:9px;opacity:.8}.activity-step-icon{font-size:15px;flex-shrink:0;width:20px;text-align:center}.activity-step-body{flex:1;min-width:0}.activity-step-label{display:block;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-step-sub{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;font-family:var(--font-mono)}.activity-step-right{flex-shrink:0}.activity-step-time{font-size:11px;color:var(--muted)}.activity-step-spinner{display:inline-block;width:13px;height:13px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.report-card{margin-top:8px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.report-card-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--surface2);border-bottom:1px solid var(--border);font-size:13px;font-weight:500;flex-wrap:wrap;gap:6px}.report-card-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.report-frame{width:100%;height:600px;border:none;background:#fff}.report-change-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border);background:var(--surface2)}.report-change-input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-family:var(--font);background:var(--surface);color:var(--text);outline:none}.report-change-input:focus{border-color:var(--accent)}.report-change-input::placeholder{color:var(--muted)}.spinner{display:inline-block;width:11px;height:11px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:#101426;background-image:radial-gradient(circle at 20% 30%,rgba(43,54,102,.5) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(227,163,61,.08) 0%,transparent 50%),radial-gradient(rgba(109,125,193,.12) 1px,transparent 1px);background-size:auto,auto,28px 28px}@keyframes login-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.login-card{background:#ffffff0a;border:1px solid rgba(227,163,61,.25);border-radius:20px;padding:44px 40px;width:380px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 0 0 1px #ffffff0a,0 24px 60px #00000080,0 0 40px #e3a33d0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:login-fade-up .5s cubic-bezier(.16,1,.3,1) both}.login-logo{height:40px;width:auto;margin-bottom:8px;filter:brightness(0) invert(1)}.login-title{font-size:22px;font-weight:700;color:#fff;text-align:center;font-family:var(--font-display);letter-spacing:.2px}.login-sub{font-size:13px;color:#6d7dc1e6;margin-bottom:10px;letter-spacing:.2px}.login-form{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:4px}.login-input{width:100%;padding:11px 14px;border-radius:var(--radius);border:1.5px solid rgba(109,125,193,.25);background:#ffffff0f;color:#fff;font-size:14px;outline:none;font-family:var(--font);transition:border-color .2s,background .2s}.login-input::placeholder{color:#6d7dc180}.login-input:focus{border-color:var(--accent);background:#ffffff17}.login-error{color:#fca5a5;font-size:13px;text-align:center}.login-btn{margin-top:4px;background:var(--accent);border-color:var(--accent)}.login-btn:hover:not(:disabled){background:var(--accent-h);border-color:var(--accent-h)}.header-user{display:flex;align-items:center;gap:8px;margin-left:8px;padding-left:12px;border-left:1px solid rgba(255,255,255,.15)}.header-username{font-size:13px;color:#ffffffd9;font-weight:500}.header-role-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--accent);color:var(--indigo);padding:2px 6px;border-radius:4px}.header-logout{color:#ffffff8c!important;padding:4px 6px!important}.header-logout:hover{color:#ffffffe6!important}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:999}.toast{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:10px 16px;font-size:13px;max-width:320px;box-shadow:0 4px 20px #2b366626;animation:slide-in .2s ease;color:var(--text)}.toast-success{border-left:3px solid var(--green)}.toast-error{border-left:3px solid var(--red)}.toast-info{border-left:3px solid var(--accent)}@keyframes slide-in{0%{transform:translate(40px);opacity:0}}.attach-btn{background:none;border:none;cursor:pointer;font-size:18px;padding:2px 6px;border-radius:6px;color:var(--muted);flex-shrink:0;line-height:1;transition:color .15s,background .15s;display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none}.attach-btn:hover{color:var(--accent);background:#e3a33d1a}.dd-upload-zone{cursor:pointer}.stop-btn{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:6px 12px;font-size:12px;font-weight:600;line-height:1;transition:background .15s;flex-shrink:0;display:inline-flex;align-items:center;gap:5px}.stop-btn:hover{background:#b91c1c}.input-files{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 2px}.input-file-chip{display:inline-flex;align-items:center;gap:5px;background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:3px 8px 3px 10px;font-size:12px;color:var(--indigo2);max-width:240px}.chip-icon{font-size:13px;flex-shrink:0}.chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500}.chip-meta{color:var(--muted);font-size:11px;flex-shrink:0}.chip-del{background:none;border:none;cursor:pointer;color:var(--muted);padding:0 2px;font-size:14px;line-height:1;border-radius:3px;flex-shrink:0;transition:color .15s}.chip-del:hover{color:var(--red)}.dd-landing-scroll{flex:1;overflow-y:auto;display:flex;justify-content:center;padding:24px 20px}.dd-landing{display:flex;flex-direction:column;gap:16px;width:100%;max-width:580px}.dd-landing-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.dd-landing-icon{font-size:38px;line-height:1}.dd-landing-title{font-size:22px;font-weight:700;color:var(--text)}.dd-landing-desc{font-size:13px;color:var(--muted);line-height:1.6;max-width:440px}.dd-upload-zone{border:1.5px solid var(--border);border-radius:12px;background:var(--surface2);padding:32px 24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative}.dd-upload-zone:before,.dd-upload-zone:after{content:"";position:absolute;width:18px;height:18px;border-color:var(--accent);border-style:solid;transition:border-color .2s}.dd-upload-zone:before{top:-1px;left:-1px;border-width:2px 0 0 2px;border-radius:12px 0 0}.dd-upload-zone:after{bottom:-1px;right:-1px;border-width:0 2px 2px 0;border-radius:0 0 12px}.dd-upload-zone:hover,.dd-upload-zone.dragover{border-color:#e3a33d80;background:#e3a33d0a;box-shadow:0 0 0 3px #e3a33d14}.dd-upload-zone.dragover{border-color:var(--accent)}.dd-upload-icon{font-size:30px;line-height:1}.dd-upload-text{font-size:14px;color:var(--text)}.dd-upload-hint{font-size:12px;color:var(--muted)}.dd-error{display:flex;align-items:flex-start;gap:8px;background:#dc262614;border:1px solid rgba(220,38,38,.25);border-radius:var(--radius);padding:10px 14px;font-size:13px;color:var(--red);line-height:1.5}.dd-file-list{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.dd-file-list-label{background:var(--surface2);border-bottom:1px solid var(--border);padding:7px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.dd-file-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--border)}.dd-file-row:last-child{border-bottom:none}.dd-file-icon{font-size:16px;flex-shrink:0}.dd-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dd-file-name{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dd-file-meta{font-size:11px;color:var(--muted)}.dd-problem{display:flex;flex-direction:column;gap:6px}.dd-problem-label{font-size:13px;font-weight:600;color:var(--text)}.dd-optional{font-size:11px;font-weight:400;color:var(--muted)}.dd-start-btn{height:44px;font-size:14px;font-weight:600;border-radius:10px}.dd-instructions{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.dd-instr-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:10px}.dd-instr-list{padding-left:18px;display:flex;flex-direction:column;gap:6px}.dd-instr-list li{font-size:13px;color:var(--text);line-height:1.5}.dd-instr-list em{color:var(--indigo2);font-style:normal;font-family:monospace;background:var(--bg);padding:1px 5px;border-radius:4px;font-size:12px}.knowledge-view{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.knowledge-subtabs{display:flex;gap:2px;padding:8px 16px 0;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.knowledge-subtab{padding:7px 18px;font-size:13px;font-weight:500;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.knowledge-subtab:hover{color:var(--text)}.knowledge-subtab.active{color:var(--indigo2);border-bottom-color:var(--indigo2)}.knowledge-subtab-body{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.learning-view{flex:1;display:flex;flex-direction:row;overflow:hidden;min-height:0}.learning-main{flex:0 0 40%;display:flex;flex-direction:column;overflow:hidden;border-left:2px solid var(--border);background:var(--bg);min-width:0}.learning-main-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 12px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.learning-title{font-weight:600;font-size:14px;color:var(--indigo2)}.learning-main-body{flex:1;overflow-y:auto;padding:20px;min-height:0}.learning-right{flex:0 0 60%;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);min-width:0}.learning-proposals{flex:0 0 50%;display:flex;flex-direction:column;overflow:hidden;min-height:0}.learning-proposals-header{display:flex;align-items:center;gap:8px;padding:10px 14px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.learning-proposals-scroll{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column}.proposal-status-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);padding:0 12px}.proposal-status-tab{flex:1;padding:8px 6px;font-size:12px;font-weight:500;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;position:relative;transition:color .15s}.proposal-status-tab.active{color:var(--indigo2);border-bottom-color:var(--accent)}.pending-count{display:inline-block;background:var(--accent);color:#fff;border-radius:10px;font-size:10px;font-weight:700;padding:1px 5px;margin-left:4px}.proposal-list{flex:1;overflow-y:auto}.proposal-loading{padding:20px;color:var(--muted);display:flex;align-items:center;gap:8px}.proposal-empty{padding:20px;color:var(--muted);font-size:13px;text-align:center}.proposal-item{width:100%;text-align:left;padding:12px 14px;border:none;border-bottom:1px solid var(--border);background:none;cursor:pointer;transition:background .12s}.proposal-item:hover{background:var(--bg)}.proposal-item.active{background:#eef0fb}.proposal-item-top{display:flex;align-items:center;gap:6px;margin-bottom:4px;flex-wrap:wrap}.proposal-db-badge{font-size:10px;font-family:var(--font-mono);padding:1px 6px;border-radius:8px;font-weight:600;white-space:nowrap}.proposal-source-name{font-weight:500;font-size:13px;color:var(--indigo2);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proposal-counts{font-size:11px;color:var(--muted);white-space:nowrap}.proposal-item-desc{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proposal-item-date{font-size:11px;color:var(--blue);margin-top:3px}.source-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:12px;color:#fff;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}.proposal-detail-empty{color:var(--muted);font-size:14px;text-align:center;padding:60px 20px}.proposal-detail{background:var(--surface);border-radius:var(--radius);padding:20px;box-shadow:0 1px 4px #0000000f}.proposal-detail-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.proposal-detail-name{font-weight:600;font-size:16px;color:var(--indigo2);flex:1}.proposal-status-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:12px;text-transform:uppercase}.status-pending{background:#fef3c7;color:#92400e}.status-approved{background:#d1fae5;color:#065f46}.status-rejected{background:#fee2e2;color:#7f1d1d}.proposal-detail-desc{font-size:13px;color:var(--muted);margin-bottom:4px}.proposal-detail-date{font-size:11px;color:var(--blue);margin-bottom:16px}.proposal-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:16px 0 8px}.proposal-section-header{display:flex;align-items:center;justify-content:space-between;margin:16px 0 8px}.proposal-section-header .proposal-section-title{margin:0}.proposal-select-controls{display:flex;align-items:center;gap:4px}.btn-link{background:none;border:none;padding:0;font-size:11px;color:var(--accent);cursor:pointer;font-weight:600}.btn-link:hover{text-decoration:underline}.select-sep{font-size:11px;color:var(--muted)}.proposal-entity-list{display:flex;flex-direction:column;gap:4px}.proposal-entity-row{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;background:var(--bg);border-radius:5px;transition:opacity .15s}.proposal-rel-row{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--bg);border-radius:5px;font-size:12px;transition:opacity .15s}.item-excluded{opacity:.35}.item-checkbox{flex-shrink:0;margin-top:2px;cursor:pointer;accent-color:var(--accent)}.entity-type-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;background:#eef0fb;color:var(--indigo2);white-space:nowrap;flex-shrink:0}.entity-name{font-weight:500;font-size:13px;color:var(--indigo2)}.entity-desc{font-size:12px;color:var(--muted)}.proposal-rel-list{display:flex;flex-direction:column;gap:4px}.rel-from{color:var(--indigo2);font-weight:500}.rel-arrow{color:var(--accent);font-weight:700;font-size:11px}.rel-to{color:var(--indigo2);font-weight:500}.proposal-notes{margin-top:12px;font-size:12px;color:var(--muted);padding:8px;background:var(--bg);border-radius:5px}.proposal-commit-result{margin-top:8px;font-size:12px;color:var(--green);font-weight:500}.commit-skipped{color:var(--muted);font-weight:400}.proposal-actions{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.btn-approve{background:var(--green);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius);font-weight:600;cursor:pointer;font-size:13px}.btn-approve:hover{background:#15803d}.btn-edit{background:var(--surface);color:var(--indigo2);border:1px solid var(--border);padding:8px 14px;border-radius:var(--radius);font-weight:600;cursor:pointer;font-size:13px}.btn-edit:hover{background:var(--bg)}.btn-reject-toggle{background:var(--surface);color:var(--red);border:1px solid #fca5a5;padding:8px 14px;border-radius:var(--radius);font-weight:600;cursor:pointer;font-size:13px}.btn-reject{background:var(--red);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius);font-weight:600;cursor:pointer;font-size:13px}.reject-panel{margin-top:12px;display:flex;flex-direction:column;gap:8px}.proposal-edit-json{min-height:200px;font-family:monospace;font-size:12px}.proposal-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.ingest-panel{border-bottom:1px solid var(--border)}.ingest-toggle{width:100%;padding:10px 14px;font-size:12px;font-weight:600;color:var(--indigo2);background:none;border:none;cursor:pointer;text-align:left;display:flex;align-items:center;gap:6px}.ingest-toggle:hover{background:var(--bg)}.ingest-body{padding:0 14px 12px}.ingest-tabs{display:flex;gap:4px;margin-bottom:10px}.ingest-tab{padding:5px 10px;font-size:12px;font-weight:500;background:none;border:1px solid var(--border);border-radius:5px;color:var(--muted);cursor:pointer}.ingest-tab.active{background:var(--indigo2);color:#fff;border-color:var(--indigo2)}.ingest-section{display:flex;flex-direction:column;gap:8px}.ingest-hint{font-size:12px;color:var(--muted)}.ingest-file-label{cursor:pointer}.ingest-file-btn{display:inline-block;padding:6px 12px;background:var(--bg);border:1px solid var(--border);border-radius:5px;font-size:12px;color:var(--indigo2);cursor:pointer}.ingest-file-btn:hover{background:#eef0fb}.ingest-input{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;color:var(--text);background:var(--surface)}.ingest-result{margin-top:6px;font-size:12px;color:var(--green);font-weight:500}.webhook-docs{display:flex;flex-direction:column;gap:6px}.webhook-field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:6px}.webhook-code{display:block;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:5px 8px;font-size:11px;font-family:monospace;color:var(--indigo2);word-break:break-all}.webhook-pre{background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:10px;font-size:11px;font-family:monospace;color:var(--indigo2);white-space:pre-wrap;word-break:break-all;overflow-x:auto}.header-kb-badge{font-size:11px;font-weight:600;color:var(--accent);background:#e3a33d26;border:1px solid rgba(227,163,61,.35);border-radius:10px;padding:3px 10px;white-space:nowrap;flex-shrink:0}.mode-radio-label{position:relative}.mode-radio-label[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);background:var(--indigo);color:#ffffffeb;font-size:11px;font-weight:400;padding:4px 9px;border-radius:5px;white-space:nowrap;pointer-events:none;z-index:200;box-shadow:0 2px 8px #0000002e}.mode-radio-label[data-tooltip]:hover:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--indigo);pointer-events:none;z-index:200}.suggestions-collapse{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.suggestions-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:7px 24px;background:none;border:none;cursor:pointer;font-family:var(--font);font-size:12px;font-weight:500;color:var(--muted);text-align:left;transition:color .15s}.suggestions-toggle:hover{color:var(--text)}.suggestions-chevron{font-size:10px}.suggestions-inline{padding:0 24px 10px}.kge-minimap{position:absolute;bottom:12px;right:232px;border-radius:6px;border:1px solid rgba(255,255,255,.12);pointer-events:none;z-index:10}.kge-legend-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.kge-legend-reset{font-size:10px;font-weight:600;color:var(--accent);background:#e3a33d1f;border:1px solid rgba(227,163,61,.3);border-radius:8px;padding:2px 8px;cursor:pointer;font-family:var(--font);transition:background .15s}.kge-legend-reset:hover{background:#e3a33d38}.kge-search-wrap{position:relative;display:flex;align-items:center;gap:6px}.kge-no-results{font-size:11px;color:var(--muted);white-space:nowrap}.proposal-empty-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 24px;text-align:center}.proposal-empty-icon{opacity:.5}.proposal-empty-title{font-size:15px;font-weight:600;color:var(--indigo2)}.proposal-empty-sub{font-size:13px;color:var(--muted);max-width:280px;line-height:1.5}.tab-count{display:inline-block;background:var(--bg);color:var(--muted);border:1px solid var(--border);border-radius:9px;font-size:10px;font-weight:700;padding:0 5px;margin-left:5px;min-width:18px;text-align:center}.tab-count-accent{background:var(--accent);color:#fff;border-color:var(--accent)}.learning-main{flex:0 0 0%;width:0;overflow:hidden;opacity:0;border-left:none;transition:flex-basis .28s ease,opacity .28s ease,border-left 0s .28s;display:flex;flex-direction:column;background:var(--bg);min-width:0}.learning-main.open{flex:0 0 42%;width:auto;opacity:1;border-left:2px solid var(--border);transition:flex-basis .28s ease,opacity .28s ease}.learning-right{flex:0 0 100%;transition:flex-basis .28s ease}.learning-right:not(.expanded){flex:0 0 58%}.knowledge-breadcrumb{margin-left:auto;font-size:12px;color:var(--muted);padding:0 4px 0 12px;align-self:center;white-space:nowrap}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.ws-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:background .3s}.ws-status-dot.ok{background:#22c55e;box-shadow:0 0 5px #22c55e80}.ws-status-dot.reconnecting{background:#f59e0b;animation:pulse-dot 1.2s infinite}.ws-status-dot.error{background:#ef4444}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.history-continue-row{padding:12px 16px 16px;display:flex;justify-content:flex-end;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.history-continue-btn{background:var(--accent);color:#1e2349;border:none;border-radius:6px;font-size:12px;font-weight:600;font-family:var(--font);padding:7px 16px;cursor:pointer;transition:all .15s}.history-continue-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.history-continue-btn:active{transform:translateY(0)}.conn-banner{background:#ef44441f;border-bottom:1px solid rgba(239,68,68,.3);color:#fca5a5;font-size:12px;padding:6px 20px;display:flex;align-items:center;gap:8px;flex-shrink:0}.conn-banner a{color:var(--accent);cursor:pointer;text-decoration:underline}.conn-banner-spinner{width:10px;height:10px;border:2px solid rgba(252,165,165,.3);border-top-color:#fca5a5;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}
