:root{--bg:#fafaf9;--bg-elevated:#fff;--bg-subtle:#f5f5f4;--bg-hover:#f0f0ee;--bg-active:#e7e7e4;--border:#e7e7e3;--border-strong:#d4d4d0;--border-subtle:#efeeec;--text:#1c1c1a;--text-secondary:#52524f;--text-muted:#8c8b86;--text-faint:#b4b3ae;--accent:#4f46e5;--accent-hover:#4338ca;--accent-light:#eef2ff;--accent-soft:#f5f3ff;--success:#16a34a;--success-light:#dcfce7;--warning:#d97706;--warning-light:#fef3c7;--danger:#dc2626;--danger-light:#fee2e2;--info:#2563eb;--info-light:#dbeafe;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Fira Code", ui-monospace, monospace;--radius-sm:4px;--radius:6px;--radius-md:8px;--radius-lg:10px;--shadow-sm:0 1px 2px #0000000a;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 8px -2px #0000000f, 0 2px 4px -1px #0000000a;--transition:.15s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-feature-settings:"cv02", "cv03", "cv04", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}button{font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit}input,select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);width:100%;min-height:34px;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);outline:none;padding:7px 10px}textarea{resize:vertical;min-height:112px;line-height:1.55}input:focus,select:focus,textarea:focus,button:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #4f46e51a}label{color:var(--text-secondary);gap:5px;font-size:12px;font-weight:550;display:grid}.app-shell{grid-template:"topbar topbar""tabs deck""tabs workspace"minmax(0,1fr)/220px 1fr;height:100vh;display:grid;overflow:hidden}.topbar{background:var(--bg-elevated);border-bottom:1px solid var(--border);z-index:10;grid-area:topbar;justify-content:space-between;align-items:center;height:52px;padding:0 20px;display:flex;position:relative}.brand{letter-spacing:0;min-width:0;color:var(--text);align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}h1,h2,h3,p{margin:0}h1{letter-spacing:0;font-size:18px;font-weight:650;line-height:1.1}h2{letter-spacing:0;font-size:15px;font-weight:650;line-height:1.25}.brand p{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:min(420px,48vw);font-size:12px;font-weight:450;overflow:hidden}.brand-mark{border-radius:var(--radius-md);color:#fff;width:26px;height:26px;box-shadow:var(--shadow);background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.topbar-actions{align-items:center;gap:6px;display:flex}.tabs{background:var(--bg-elevated);border-right:1px solid var(--border);flex-direction:column;grid-area:tabs;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.tab-button{border-radius:var(--radius);color:var(--text-secondary);transition:background var(--transition), color var(--transition);text-align:left;letter-spacing:0;align-items:center;gap:9px;width:100%;padding:7px 10px;font-size:13px;font-weight:500;display:flex}.tab-button:hover{background:var(--bg-hover);color:var(--text)}.tab-button.active{background:var(--bg-active);color:var(--text);font-weight:550}.tab-button svg{opacity:.7;flex-shrink:0;width:16px;height:16px}.tab-button.active svg{opacity:1}.workspace{background:var(--bg);grid-area:workspace;min-width:0;padding:0 24px 24px;overflow-y:auto}.primary-button{background:var(--accent);color:#fff;border-radius:var(--radius);transition:background var(--transition), transform var(--transition);letter-spacing:0;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.primary-button:hover{background:var(--accent-hover)}.primary-button:active{transform:scale(.98)}.primary-button:disabled{opacity:.4;cursor:not-allowed}.ghost-button{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-secondary);border-radius:var(--radius);transition:background var(--transition), border-color var(--transition), color var(--transition);letter-spacing:0;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;display:inline-flex}.ghost-button:hover{background:var(--bg-hover);border-color:var(--text-faint);color:var(--text)}.ghost-button.compact{padding:5px 10px;font-size:12px}.icon-button{border-radius:var(--radius);width:30px;height:30px;color:var(--text-muted);transition:background var(--transition), color var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--bg-hover);color:var(--text)}.icon-button.danger:hover{background:var(--danger-light);color:var(--danger)}.icon-button svg{width:16px;height:16px}.panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px 18px}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-header h2,.panel-header h3{letter-spacing:0;font-size:14px;font-weight:600}.panel-actions{align-items:center;gap:6px;display:flex}.muted{color:var(--text-muted);font-size:13px;font-weight:400}.form-grid{gap:10px;display:grid}.form-grid label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;font-weight:500;display:flex}.form-grid input,.form-grid textarea,.form-grid select,.small-input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);outline:none;width:100%;padding:7px 10px;font-size:13px}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.small-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f46e51a}.form-grid textarea{resize:vertical;min-height:80px;font-family:var(--font-mono);font-size:12px;line-height:1.6}.small-input{width:160px;font-size:12px}.two-column{grid-template-columns:1fr 1fr;gap:16px;display:grid}.brain-tools{margin-top:14px}.brain-tools summary{color:var(--text-secondary);cursor:pointer;letter-spacing:0;text-transform:uppercase;padding:6px 0;font-size:12px;font-weight:600;list-style:none}.brain-tools summary:before{content:"▾";transition:transform var(--transition);margin-right:6px;font-size:10px;display:inline-block}.brain-tools[open] summary:before{transform:rotate(0)}.brain-tools summary::-webkit-details-marker{display:none}.right-rail{flex-direction:column;gap:16px;display:flex}.preset-grid{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.preset-button{color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border);transition:background var(--transition), color var(--transition);border-radius:20px;padding:5px 10px;font-size:12px;font-weight:450}.preset-button:hover{background:var(--bg-hover);color:var(--text)}.settings-panel{flex-direction:column;gap:14px;display:flex}.security-card{background:var(--warning-light);border-radius:var(--radius);color:#92400e;border:1px solid #fde68a;align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:flex}.security-card.inline{background:var(--bg-subtle);border-color:var(--border);color:var(--text-secondary)}.security-card button{margin-left:auto}.api-surface{flex-direction:column;gap:4px;display:flex}.endpoint-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:52px minmax(132px,.35fr) minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;font-size:13px;display:grid}.endpoint-row:last-child{border-bottom:none}.endpoint-row:before{content:"";display:inline-block}.endpoint-row code{color:var(--accent);font-family:var(--font-mono);font-size:11px;font-weight:700}.endpoint-row strong{color:var(--text);font-family:var(--font-mono);font-size:12px;font-weight:650}.endpoint-row span{color:var(--text-muted);font-size:12px}.endpoint-row button,.endpoint-row [class*=method]{font-family:var(--font-mono);border-radius:var(--radius-sm);flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:600}.command-deck{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);grid-area:deck;margin:20px 24px 16px;padding:16px 18px}.deck-summary{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.deck-title{letter-spacing:0;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.deck-title>span{border-radius:var(--radius-md);background:var(--accent-light);width:30px;height:30px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.deck-title h2{font-size:14px}.deck-title p,.deck-context span,.deck-context p{color:var(--text-muted);font-size:12px}.deck-context{gap:2px;min-width:0;max-width:420px;display:grid}.deck-context strong{color:var(--text);font-size:20px;font-weight:680;line-height:1.1}.deck-context{color:var(--text-muted);font-size:12px}.deck-actions{gap:6px;display:flex}.deck-telemetry{padding-top:10px;position:relative}.deck-scanline{background:linear-gradient(to right, transparent, var(--border-strong), transparent);height:1px;margin-bottom:10px}.deck-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.deck-metric{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);transition:background var(--transition);align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.deck-metric button{text-align:left;width:calc(100% + 20px);height:calc(100% + 16px);margin:-8px -10px;padding:8px 10px}.deck-icon{color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.deck-icon svg{width:14px;height:14px}.deck-metric .metric-label{color:var(--text-muted);font-weight:400}.deck-metric .metric-value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.deck-metric>span:not(.deck-icon){color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:600;line-height:1}.deck-metric>strong{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:680;line-height:1;overflow:hidden}.deck-metric.ok .deck-icon{color:var(--success)}.deck-metric.warn .deck-icon{color:var(--warning)}.tracker-grid{grid-template-columns:1fr 380px;align-items:start;gap:16px;display:grid}.tracker-command{flex-direction:column;gap:14px;display:flex}.data-hub-strip{background:var(--bg-subtle);border-radius:var(--radius);color:var(--text-secondary);flex-wrap:wrap;gap:6px;padding:8px 10px;font-size:12px;display:flex}.data-category-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.data-category{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);text-align:left;transition:background var(--transition), border-color var(--transition);align-items:center;gap:8px;padding:9px 11px;font-size:12px;font-weight:500;display:flex}.data-category:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text)}.tracker-file-grid{flex-wrap:wrap;gap:4px;display:flex}.tracker-file{font-size:12px;font-family:var(--font-mono);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition);background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:5px 10px;display:inline-flex}.tracker-file span,.tracker-file strong{line-height:1}.tracker-file:hover{background:var(--bg-hover);color:var(--text)}.tracker-file.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent);font-weight:500}.quick-write{border-top:1px solid var(--border-subtle);padding-top:10px}.tracker-record-list{flex-direction:column;gap:1px;display:flex}.tracker-record{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:12px;padding:12px 0;font-size:13px;display:grid}.tracker-record strong{color:var(--text);font-size:13px;font-weight:650;line-height:1.25;display:block}.tracker-record p{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.tracker-record span,.tracker-record small{color:var(--text-muted);white-space:nowrap;font-size:11px}.tracker-record:last-child{border-bottom:none}.dashboard-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.dashboard-hero{grid-column:1/-1}.dashboard-metrics{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-top:8px;display:grid}.wide-dashboard{grid-column:1/-1}.category-bars{flex-direction:column;gap:6px;display:flex}.category-bar{align-items:center;gap:10px;font-size:12px;display:flex}.category-bar:before{content:"";background:var(--accent);min-width:20px;height:6px;transition:width var(--transition);border-radius:3px;display:block}.metric{flex-direction:column;gap:2px;display:flex}.metric .metric-label{color:var(--text-muted);letter-spacing:0;font-size:11px;font-weight:500}.metric .metric-value{font-variant-numeric:tabular-nums;letter-spacing:0;font-size:20px;font-weight:600}.metric span{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;font-size:10px;font-weight:650}.metric strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:680;line-height:1.05}.metrics{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:12px;padding:10px 0;display:grid}.status-pill{letter-spacing:0;border-radius:20px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.status-pill.ok,.status-pill.success{background:var(--success-light);color:#166534}.status-pill.warn,.status-pill.warning{background:var(--warning-light);color:#92400e}.status-pill.error,.status-pill.danger{background:var(--danger-light);color:#991b1b}.status-pill.busy,.status-pill.loading{background:var(--info-light);color:#1e40af}.status-pill.neutral,.status-pill.info{background:var(--bg-subtle);color:var(--text-secondary)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.results-panel{margin-top:16px}.result-list{flex-direction:column;gap:1px;display:flex}.result-item{border-bottom:1px solid var(--border-subtle);padding:11px 0;font-size:13px;line-height:1.55}.result-item:last-child{border-bottom:none}.result-meta{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:4px;font-size:11px;display:flex}.tag-row{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.tag{background:var(--bg-subtle);color:var(--text-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);letter-spacing:0;transition:background var(--transition);align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.tag.runtime{border:none;font-weight:500}.tag.runtime.note,.tag.runtime.text,.tag.runtime.doc{color:#1e40af;background:#dbeafe}.tag.runtime.url,.tag.runtime.web,.tag.runtime.link{color:#3730a3;background:#e0e7ff}.tag.runtime.image,.tag.runtime.file{color:#6b21a8;background:#f3e8ff}.tag.runtime.code,.tag.runtime.config{color:#065f46;background:#d1fae5}.action-tag{cursor:pointer}.action-tag:hover{background:var(--bg-hover)}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);letter-spacing:0;text-transform:uppercase;white-space:nowrap;padding:8px 10px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:middle;padding:10px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-subtle)}.source-title-button{color:var(--text);text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-weight:500;overflow:hidden}.source-chip{border-radius:var(--radius-sm);white-space:nowrap;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.source-chip.note,.source-chip.text,.source-chip.doc{color:#1e40af;background:#dbeafe}.source-chip.url,.source-chip.web,.source-chip.link{color:#3730a3;background:#e0e7ff}.source-chip.image,.source-chip.file{color:#6b21a8;background:#f3e8ff}.source-chip.code,.source-chip.config{color:#065f46;background:#d1fae5}.source-status{color:var(--text-muted);font-size:11px;font-weight:500}.source-status.ready,.source-status.ok,.source-status.active{color:var(--success)}.source-status.pending,.source-status.processing{color:var(--warning)}.source-status.failed,.source-status.error{color:var(--danger)}.graph-panel,.graph-panel-inline{flex-direction:column;display:flex}.graph-form{gap:8px;margin-bottom:12px;display:flex}.graph-cloud{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.entity-chip{background:var(--accent-light);color:var(--accent);border-radius:var(--radius);transition:border-color var(--transition);border:1px solid #0000;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.entity-chip:hover{border-color:var(--accent)}.edge-list{flex-direction:column;gap:1px;display:flex}.edge-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:7px 0;font-size:12px;display:flex}.edge-row:last-child{border-bottom:none}.graph-map{width:100%;max-width:420px;margin:8px auto}.graph-ring{fill:none;stroke:var(--border);stroke-width:1px;stroke-dasharray:3 3}.graph-ring.soft{opacity:.6}.graph-link{stroke:var(--border-strong);stroke-width:1px;opacity:.5}.graph-node{fill:var(--accent);transition:r var(--transition)}.graph-node:hover{fill:var(--accent-hover)}.graph-label{fill:var(--text-muted);text-anchor:middle;font-size:8px;font-family:var(--font-sans)}.graph-empty-label{fill:var(--text-faint);text-anchor:middle;font-size:11px}.cockpit-panel{flex-direction:column;gap:14px;display:flex}.runtime-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;display:grid}.runtime-stat{background:var(--bg-subtle);border-radius:var(--radius);flex-direction:column;gap:3px;padding:10px;display:flex}.runtime-stat svg{width:14px;height:14px;color:var(--text-muted)}.goal-grid{flex-wrap:wrap;gap:6px;display:flex}.goal-chip{background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-secondary);border-radius:20px;padding:4px 10px;font-size:12px;font-weight:450;display:inline-flex}.quick-query-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;display:grid}.quick-query{text-align:left;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);transition:all var(--transition);padding:8px 10px;font-size:12px;line-height:1.4}.quick-query:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text)}.recent-list{flex-direction:column;gap:1px;display:flex}.recent-source{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);text-align:left;align-items:center;gap:8px;padding:8px 0;font-size:12px;display:flex}.recent-source:last-child{border-bottom:none}.runtime-dot{background:var(--text-faint);border-radius:50%;flex-shrink:0;width:7px;height:7px}.runtime-dot.note,.runtime-dot.text,.runtime-dot.doc{background:#3b82f6}.runtime-dot.url,.runtime-dot.web,.runtime-dot.link{background:#6366f1}.runtime-dot.image,.runtime-dot.file{background:#a855f7}.runtime-dot.code,.runtime-dot.config{background:#10b981}.json-block{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;padding:12px;font-size:12px;line-height:1.6;overflow-x:auto}.empty-state{text-align:center;color:var(--text-faint);padding:24px;font-size:13px}.empty-state.compact{padding:16px;font-size:12px}@media (width<=900px){.app-shell{grid-template:"topbar""tabs""deck""workspace"1fr/1fr;height:auto;min-height:100vh}.tabs{border-right:none;border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;z-index:9;background:var(--bg-elevated);flex-direction:row;padding:8px;position:sticky;top:52px;overflow:auto hidden}.tab-button{white-space:nowrap;width:auto;padding:6px 12px}.workspace{padding:0 16px 16px}.command-deck{margin:16px}.deck-summary{flex-direction:column;align-items:flex-start;gap:12px}.two-column,.dashboard-grid,.tracker-grid{grid-template-columns:1fr}.wide-dashboard{grid-column:1}.deck-grid,.dashboard-metrics,.runtime-grid,.data-category-grid{grid-template-columns:repeat(2,1fr)}.topbar{padding:0 14px}.brand{font-size:13px}}@media (width<=480px){.brand{min-width:0;font-size:12px}.brand>div{min-width:0}h1{font-size:16px}.brand p{max-width:230px}.brand-mark{width:24px;height:24px;font-size:12px}.tab-button{padding:6px 10px;font-size:12px}.tab-button span{display:inline}.primary-button,.ghost-button{min-height:36px;padding:8px 14px;font-size:13px}.ghost-button.compact{min-height:30px;padding:6px 10px}.icon-button{width:36px;height:36px}.workspace{padding:0 12px 12px}.command-deck{margin:12px}.tracker-record{grid-template-columns:minmax(0,1fr)}.panel{padding:14px}.deck-grid,.dashboard-metrics,.runtime-grid,.data-category-grid,.quick-query-grid{grid-template-columns:1fr}.preset-grid{gap:4px}.preset-button{padding:4px 8px;font-size:11px}.form-grid input,.form-grid textarea,.small-input{min-height:36px;padding:8px 10px;font-size:14px}.topbar-actions .ghost-button.compact{display:none}.topbar-actions .icon-button{width:36px;height:36px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}::selection{background:var(--accent-light);color:var(--accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
