:root{--bg:#07070f;--surface:#0f0f1c;--surface-2:#14142a;--surface-3:#1a1a30;--border:#1e1e38;--border-mid:#252540;--text:#e2e2f0;--text-muted:#5a5a78;--text-dim:#889;--accent:#6366f1;--accent-hover:#818cf8;--accent-subtle:#6366f11f;--green:#10b981;--green-subtle:#10b9811f;--amber:#f59e0b;--amber-subtle:#f59e0b1f;--red:#ef4444;--red-subtle:#ef44441f;--purple:#8b5cf6;--purple-subtle:#8b5cf61f;--cyan:#06b6d4;--header-h:52px;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace}[data-theme=light]{--bg:#f0f0f7;--surface:#fff;--surface-2:#f5f5fc;--surface-3:#eaeaf5;--border:#d4d4e8;--border-mid:#c4c4dc;--text:#0a0a18;--text-muted:#6b6b88;--text-dim:#9898b0;--accent:#4f46e5;--accent-hover:#6366f1;--accent-subtle:#4f46e514;--green:#059669;--green-subtle:#05966914;--amber:#d97706;--amber-subtle:#d9770614;--red:#dc2626;--red-subtle:#dc262614;--purple:#7c3aed;--purple-subtle:#7c3aed14;--cyan:#0891b2}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.5}h1,h2,h3,h4{margin:0;line-height:1.2}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent}[data-theme=light] ::-webkit-scrollbar-thumb{background:#8e8eb0}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#6e6e96}[data-theme=light] *{scrollbar-color:#8e8eb0 transparent}.app-header{z-index:200;height:var(--header-h);background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:0;padding:0 24px;display:flex;position:sticky;top:0}.app-header__brand{flex-shrink:0;align-items:center;gap:10px;margin-right:32px;display:flex}.app-header__logo{object-fit:contain;width:28px;height:28px;display:block}.app-header__name{letter-spacing:.06em;text-transform:uppercase;color:var(--text);font-size:14px;font-weight:700}.app-header__nav{flex:1;align-items:stretch;gap:0;height:100%;display:flex}.nav-link{color:var(--text-muted);cursor:pointer;letter-spacing:.02em;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;padding:0 16px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:flex}.nav-link:hover{color:var(--text);background:0 0}.nav-link.active{color:var(--accent-hover);border-bottom-color:var(--accent);font-weight:600}.app-header__right{align-items:center;gap:8px;margin-left:auto;display:flex}.workspace-select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);padding:6px 10px;font-size:12px;font-weight:500}.user-pill{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 8px;font-size:11px}.logout-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;padding:6px 12px;font-size:12px;font-weight:500}.logout-btn:hover{color:var(--text)}.app-loading{height:100vh;color:var(--text);place-items:center;display:grid}.login-page{background:var(--bg);place-items:center;min-height:100vh;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);flex-direction:column;gap:16px;width:min(360px,90vw);padding:32px;display:flex}.login-card h1{margin:0;font-size:20px}.login-card label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.login-card input{border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:8px}.login-card button{background:var(--accent);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;border:none;padding:10px;font-weight:600}.admin-page{flex-direction:column;gap:24px;display:flex}.admin-form{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-form input,.admin-form select{border:1px solid var(--border-mid);background:var(--surface-2);min-width:160px;color:var(--text);outline:none;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .12s}.admin-form input:focus,.admin-form select:focus{border-color:var(--accent)}.admin-form label.inline{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:inline-flex}.admin-form label.inline input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.admin-table{border-collapse:collapse;border:1px solid var(--border);width:100%;font-size:13px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 12px}.admin-table th:last-child,.admin-table td:last-child{border-right:none}.admin-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--surface-2);font-size:11px;font-weight:700}.admin-table tr:last-child td{border-bottom:none}.admin-table input,.admin-table select{border:1px solid var(--border-mid);background:var(--surface-2);width:100%;color:var(--text);outline:none;padding:7px 9px;font-family:inherit;font-size:13px;transition:border-color .12s}.admin-table input:focus,.admin-table select:focus{border-color:var(--accent)}.member-list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.member-list li{align-items:center;gap:8px;padding:4px 0;display:flex}.link-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:0;padding:2px 6px;font-size:14px;line-height:1}.link-btn:hover{color:var(--red);background:var(--red-subtle)}.toast--error{background:var(--red-subtle);border-left-color:var(--red);color:var(--red)}.inline{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:inline-flex}.inline input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.theme-toggle{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:color .15s,border-color .15s;display:flex}.theme-toggle:hover{color:var(--text);border-color:var(--border-mid);background:var(--surface-2)}.app-page{min-height:calc(100vh - var(--header-h))}button{border:1px solid var(--border-mid);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:0;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,color .12s}button:hover{background:var(--surface-3);border-color:var(--accent);color:var(--text)}button:disabled{cursor:not-allowed;opacity:.4}button.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}button.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}button.danger,button.btn-danger{background:var(--red-subtle);border-color:var(--red);color:var(--red)}button.danger:hover,button.btn-danger:hover{background:var(--red);color:#fff}.card{background:var(--surface);border:1px solid var(--border);padding:20px}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:12px;font-weight:700}.ingestion-layout{gap:12px;max-width:1200px;margin:0 auto;padding:24px;display:grid}.ingestion-layout h2{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:12px;font-size:13px;font-weight:700}input[type=file]{color:var(--text);font-family:inherit;font-size:13px}input[type=checkbox]{accent-color:var(--accent);cursor:pointer}textarea{border:1px solid var(--border-mid);width:100%;font:inherit;background:var(--surface-2);color:var(--text);resize:vertical;border-radius:0;margin-bottom:8px;padding:10px}textarea:focus{border-color:var(--accent);outline:none}pre{white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border:1px solid var(--border);max-height:280px;font-family:var(--font-mono);color:var(--text);border-radius:0;padding:10px;font-size:11.5px;overflow:auto}.hint{color:var(--text-muted);margin:4px 0 10px;font-size:12px}.ai-usage-panel{background:var(--surface-2);border:1px solid var(--border);margin-top:12px;padding:10px 14px}.ai-usage-panel h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 6px;font-size:11px;font-weight:700}.ai-usage-panel p{margin:2px 0;font-size:12.5px}.error{color:var(--red)}.upload-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.file-count{color:var(--text-muted);font-size:12px}.actions{gap:6px;display:flex}.actions.wrap{flex-wrap:wrap}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:0;margin-bottom:12px;display:flex}.tab{color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:7px 14px;font-size:12px;font-weight:500}.tab:hover{color:var(--text);background:0 0;border-color:#0000}.tab.active{color:var(--accent-hover);border-bottom-color:var(--accent);background:0 0;font-weight:600}.list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.list li{border:1px solid var(--border);background:var(--surface-2);padding:10px 12px}.review-toolbar{gap:10px;margin-bottom:12px;display:grid}.review-meta{color:var(--text-muted);justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.row-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.review-list-scroll{max-height:520px;padding-right:4px;overflow:auto}.pager{justify-content:flex-end;gap:6px;margin-top:10px;display:flex}.review-busy-indicator{color:var(--text-muted);align-items:center;padding:0 4px;font-size:12px;display:inline-flex}.review-complete-msg{color:var(--green);background:var(--green-subtle);border:1px solid var(--green);padding:12px 16px;font-size:13px;font-weight:600}.review-item--decided{opacity:.5}.review-item--decided .row-header{margin-bottom:0}.decision-badge{white-space:nowrap;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.decision--create{background:var(--green-subtle);color:var(--green)}.decision--merge{background:var(--accent-subtle);color:var(--accent-hover)}.decision--reject{background:var(--red-subtle);color:var(--red)}.decided-at{color:var(--text-muted);font-size:11px}.accepted-meta{color:var(--text-muted);margin-bottom:8px;font-size:12px}.candidate-status--created{color:var(--green);font-weight:600}.candidate-status--merged{color:var(--accent-hover);font-weight:600}.job-history-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.job-history-header h2{margin:0}.job-history{gap:4px;display:grid}.job-row{border:1px solid var(--border);background:var(--surface-2);align-items:center;gap:6px;display:flex}.job-row:hover{border-color:var(--border-mid)}.job-row--active{background:var(--accent-subtle);border-color:var(--accent)}.job-row__select{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;flex:1;grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;min-width:0;padding:8px 12px;font-weight:400;display:grid}.job-row--active .job-row__select{font-weight:600}.job-row__select:hover{background:0 0;border:none}.job-row__delete{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 10px;font-size:16px;font-weight:700;line-height:1}.job-row__delete:hover{background:var(--red-subtle);color:var(--red);border:none}.job-row__name{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.job-row__status{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:2px 7px;font-size:10px;font-weight:700}.job-status--completed{background:var(--green-subtle);color:var(--green)}.job-status--running{background:var(--amber-subtle);color:var(--amber)}.job-status--queued{background:var(--accent-subtle);color:var(--accent-hover)}.job-status--failed{background:var(--red-subtle);color:var(--red)}.job-status--awaiting_review{background:var(--purple-subtle);color:var(--purple)}.job-row__counts,.job-row__date{color:var(--text-muted);white-space:nowrap;font-size:11px}.map-wrap{border:1px solid var(--border);background:var(--surface-2);padding:0;overflow:hidden}.graph-canvas{display:block}.map-controls{align-items:center;gap:6px;margin-bottom:8px;display:flex}.map-controls button{min-width:32px;padding:4px 10px;font-size:13px;font-weight:700}.map-zoom-pct{color:var(--text-muted);min-width:42px;font-size:12px}.candidate-map-legend{background:var(--surface-2);border:1px solid var(--border);border-bottom:none;flex-wrap:wrap;gap:8px 20px;padding:8px 12px;font-size:11px;display:flex}.candidate-map-legend__section{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.candidate-map-legend__heading{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-right:1px solid var(--border-mid);white-space:nowrap;margin-right:2px;padding-right:4px;font-size:9px;font-weight:700}.candidate-map-legend__item{color:var(--text-dim);white-space:nowrap;align-items:center;gap:4px;display:flex}.node-dialog{background:var(--surface);border:1px solid var(--border-mid);z-index:10;pointer-events:auto;max-height:480px;padding:12px 14px 14px;position:absolute;overflow-y:auto;box-shadow:0 8px 40px #00000080}.node-dialog__header{-webkit-user-select:none;user-select:none;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.node-kind-badge{white-space:nowrap;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;margin-top:2px;padding:2px 6px;font-size:9px;font-weight:700}.node-kind--node{background:var(--accent-subtle);color:var(--accent-hover)}.node-kind--assembly{background:var(--amber-subtle);color:var(--amber)}.node-kind--blueprint{background:var(--purple-subtle);color:var(--purple)}.node-dialog__label{word-break:break-word;flex:1;font-size:13px;font-weight:700;line-height:1.3}.node-dialog__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:16px;font-weight:700;line-height:1}.node-dialog__close:hover{background:var(--red-subtle);color:var(--red)}.node-dialog__desc{color:var(--text);background:var(--accent-subtle);border-left:2px solid var(--accent);margin:0 0 8px;padding:8px 10px;font-size:12px;line-height:1.5}.node-dialog__meta{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.node-dialog__meta span{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);padding:2px 7px;font-size:11px}.node-dialog__connections{border-top:1px solid var(--border);padding-top:8px}.node-dialog__conn-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px;font-size:10px;font-weight:700}.node-dialog__conn-row{gap:6px;margin-bottom:8px;font-size:12px;display:flex}.node-dialog__conn-dir{color:var(--accent-hover);flex-shrink:0;margin-top:1px;font-weight:700}.node-dialog__conn-body{flex:1;min-width:0}.node-dialog__conn-target{color:var(--accent-hover);font-weight:600;font-size:inherit;cursor:pointer;text-align:left;word-break:break-word;white-space:normal;background:0 0;border:none;padding:0;display:block}.node-dialog__conn-target:hover{background:0 0;text-decoration:underline}.node-dialog__conn-rel{color:var(--text-muted);margin-top:1px;font-size:11px;font-style:italic}.node-dialog__conn-rationale{color:var(--text-dim);margin-top:3px;font-size:11px;line-height:1.4}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.stats-group h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 8px;font-size:10px;font-weight:700}.stats-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.stats-list li{background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:0;font-size:12px;display:flex}.stats-review-open{margin-top:8px;font-size:12px}.state-badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:2px 7px;font-size:10px;font-weight:700}.state--provisional{background:var(--purple-subtle);color:var(--purple)}.state--active{background:var(--green-subtle);color:var(--green)}.state--end_dated{background:var(--surface-3);color:var(--text-muted)}.state--created{background:var(--green-subtle);color:var(--green)}.state--merged{background:var(--accent-subtle);color:var(--accent-hover)}.state--rejected{background:var(--red-subtle);color:var(--red)}.state--blocked{background:var(--amber-subtle);color:var(--amber)}.state--pending{background:var(--surface-3);color:var(--text-muted)}.state--queued_review{background:var(--purple-subtle);color:var(--purple)}.status-dock{background:var(--surface);border:1px solid var(--border-mid);z-index:1000;box-sizing:border-box;gap:10px;width:440px;max-width:calc(100vw - 40px);padding:12px 14px;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 40px #00000080}.status-dock__title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:10px;font-weight:700}.status-dock__job{gap:5px;display:grid}.status-dock__job-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.status-dock__job-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;font-weight:600;font-family:var(--font-mono);flex:1;overflow:hidden}.status-dock__job-status{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:2px 7px;font-size:10px;font-weight:700}.status-dock__job--queued .status-dock__job-status{background:var(--accent-subtle);color:var(--accent-hover)}.status-dock__job--running .status-dock__job-status{background:var(--amber-subtle);color:var(--amber)}.status-dock__job--awaiting_review .status-dock__job-status{background:var(--purple-subtle);color:var(--purple)}.status-dock__bar-wrap{background:var(--surface-3);height:3px;overflow:hidden}.status-dock__bar-fill{background:var(--accent);min-width:4px;height:100%;transition:width .4s}.status-dock__counts{color:var(--text-muted);font-size:11px}@media (width<=760px){.ingestion-layout{padding:12px}.review-meta{flex-direction:column;align-items:flex-start}}.home-layout{height:calc(100vh - var(--header-h));grid-template-columns:240px 1fr 280px;display:grid;overflow:hidden}.home-sidebar{border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.home-sidebar__section{border-bottom:1px solid var(--border);padding:16px}.home-sidebar__section:last-child{border-bottom:none;flex:1;overflow-y:auto}.sidebar-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:10px;font-size:10px;font-weight:700}.memory-layer{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;display:flex}.memory-layer:last-child{border-bottom:none}.memory-layer__dot{flex-shrink:0;width:8px;height:8px}.memory-layer__dot--green{background:var(--green)}.memory-layer__dot--amber{background:var(--amber)}.memory-layer__dot--accent{background:var(--accent)}.memory-layer__dot--muted{background:var(--text-muted)}.memory-layer__info{flex:1;min-width:0}.memory-layer__name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.memory-layer__sub{color:var(--text-muted);font-size:11px}.memory-layer__status{text-transform:uppercase;letter-spacing:.04em;padding:2px 5px;font-size:9px;font-weight:700}.memory-layer__status--online{background:var(--green-subtle);color:var(--green)}.memory-layer__status--idle{background:var(--surface-3);color:var(--text-muted)}.memory-layer__status--pending{background:var(--amber-subtle);color:var(--amber)}.workflow-item{border:1px solid var(--border);cursor:pointer;background:var(--surface-2);align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;transition:border-color .12s;display:flex}.workflow-item:hover{border-color:var(--border-mid)}.workflow-item.active-wf{border-color:var(--accent);background:var(--accent-subtle)}.workflow-item__icon{flex-shrink:0;font-size:14px}.workflow-item__name{color:var(--text);flex:1;font-size:12px;font-weight:500}.workflow-item__badge{text-transform:uppercase;padding:2px 5px;font-size:9px;font-weight:700}.workflow-badge--ready{background:var(--green-subtle);color:var(--green)}.workflow-badge--mock{background:var(--surface-3);color:var(--text-muted)}.workflow-badge--planned{background:var(--amber-subtle);color:var(--amber)}.home-main{border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.home-main__toolbar{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:12px 20px;display:flex}.home-main__toolbar-title{color:var(--text);letter-spacing:.02em;font-size:13px;font-weight:700}.home-main__toolbar-sub{color:var(--text-muted);margin-left:4px;font-size:11px}.home-main__toolbar-actions{gap:6px;margin-left:auto;display:flex}.home-main__toolbar-actions button{padding:5px 10px;font-size:11px}.chat-messages{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.chat-msg{gap:12px;max-width:880px;display:flex}.chat-msg--user{flex-direction:row-reverse;align-self:flex-end}.chat-msg__avatar{letter-spacing:.02em;text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:2px;font-size:10px;font-weight:800;display:flex}.chat-msg--user .chat-msg__avatar{background:var(--accent);color:#fff}.chat-msg--system .chat-msg__avatar{background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border)}.chat-msg--agent .chat-msg__avatar{background:var(--green-subtle);color:var(--green);border:1px solid var(--green)}.chat-msg__body{flex:1;min-width:0}.chat-msg__meta{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:10px;font-weight:600}.chat-msg__bubble{padding:10px 14px;font-size:13px;line-height:1.6}.chat-msg--user .chat-msg__bubble{background:var(--accent);color:#fff}.chat-msg--system .chat-msg__bubble,.chat-msg--agent .chat-msg__bubble{background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.chat-msg__bubble p{margin:0 0 8px}.chat-msg__bubble p:last-child{margin-bottom:0}.chat-trace{border-left:2px solid var(--border-mid);margin:8px 0 4px;padding:0 0 0 12px;list-style:none}.chat-trace li{color:var(--text-muted);align-items:center;gap:6px;padding:2px 0;font-size:11px;display:flex}.chat-trace li.done{color:var(--green)}.chat-trace li.active{color:var(--amber)}.chat-trace li.wait{color:var(--text-muted)}.chat-trace-dot{flex-shrink:0;width:6px;height:6px}.chat-trace li.done .chat-trace-dot{background:var(--green)}.chat-trace li.active .chat-trace-dot{background:var(--amber)}.chat-trace li.wait .chat-trace-dot{background:var(--border-mid)}.chat-output-block{border:1px solid var(--border);background:var(--surface);margin-top:10px}.chat-output-block__header{background:var(--surface-3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.chat-output-block__title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:10px;font-weight:700}.chat-output-block__tag{text-transform:uppercase;background:var(--accent-subtle);color:var(--accent-hover);padding:1px 5px;font-size:9px;font-weight:700}.chat-output-block__body{color:var(--text);padding:10px 12px;font-size:12px;line-height:1.6}.chat-output-block__footer{color:var(--text-muted);border-top:1px solid var(--border);background:var(--surface-0);padding:6px 12px 10px;font-size:11px;line-height:1.5}.chat-output-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:5px 0;font-size:12px;display:flex}.chat-output-row:last-child{border-bottom:none}.chat-output-row__label{color:var(--text-muted)}.chat-output-row__value{color:var(--text);font-weight:600}.chat-msg__modality{letter-spacing:.06em;color:var(--text);background:var(--surface-3);border:1px solid var(--border);border-radius:999px;margin-bottom:8px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.chat-msg__modality--express{color:var(--accent);border-color:var(--accent);background:var(--accent-subtle)}.chat-msg__modality--ask{color:var(--amber);border-color:var(--amber);background:var(--amber-subtle)}.chat-msg__modality--plan{color:var(--purple);border-color:var(--purple);background:var(--purple-subtle)}.chat-msg__modality--act{color:var(--green);border-color:var(--green);background:var(--green-subtle)}.chat-msg__modality--generate{color:var(--pink);border-color:var(--pink);background:var(--pink-subtle)}.chat-msg__modality--clarify{color:var(--text-muted);border-color:var(--border-mid);background:var(--surface-3)}.chat-artifact{background:var(--surface-0);border:1px solid var(--border);border-radius:10px;margin-top:10px;padding:12px;overflow-x:auto}.chat-markdown{line-height:1.6}.chat-markdown p{margin:0 0 10px}.chat-markdown p:last-child{margin-bottom:0}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3,.chat-markdown h4{color:var(--text);margin:14px 0 8px;font-size:14px;font-weight:700}.chat-markdown h1{font-size:15px}.chat-markdown h2{font-size:14px}.chat-markdown h3{font-size:13px}.chat-markdown ul,.chat-markdown ol{margin:0 0 10px 18px;padding:0}.chat-markdown li{margin:3px 0}.chat-markdown code{font-family:var(--font-mono);background:var(--surface-0);color:var(--text);padding:1px 4px;font-size:12px}.chat-markdown pre{background:var(--surface-0);border:1px solid var(--border);margin:0 0 10px;padding:10px;overflow-x:auto}.chat-markdown pre code{background:0 0;padding:0}.chat-markdown blockquote{border-left:3px solid var(--accent);background:var(--surface-0);color:var(--text-muted);margin:0 0 10px;padding:6px 12px}.chat-markdown table{border-collapse:collapse;margin:0 0 10px;font-size:12px}.chat-markdown th,.chat-markdown td{border:1px solid var(--border);text-align:left;padding:5px 8px}.chat-markdown th{background:var(--surface-3);font-weight:700}.chat-output-block--tokens{border-color:var(--green)}.chat-output-block--tokens .chat-output-block__header{background:var(--green-subtle)}.chat-output-block--tokens .chat-output-block__tag{background:var(--green);color:#fff}.chat-artifact pre{white-space:pre-wrap;word-break:break-word;margin:0;font-size:12px}.chat-plan-actions{flex-direction:column;gap:10px;margin-top:12px;display:flex}.chat-plan-actions .chat-send-btn{align-self:flex-start;min-height:32px;padding:6px 14px;font-size:12px}.chat-plan-params{flex-wrap:wrap;gap:8px;display:flex}.chat-plan-param{flex-direction:column;flex:1;gap:4px;min-width:160px;display:flex}.chat-plan-param__name{color:var(--text-muted);text-transform:capitalize;font-size:11px}.chat-plan-param__value{color:var(--text);background:var(--surface-0);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:12px;font-weight:600}.chat-plan-param .chat-input{padding:7px 10px;font-size:12px}.chat-chip{border:1px solid var(--border);background:var(--surface-0);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:background .12s,border-color .12s;display:inline-flex}.chat-chip:hover{background:var(--surface-3);border-color:var(--border-mid)}.chat-input-wrap{border-top:1px solid var(--border);flex-shrink:0;padding:16px 20px}.chat-input-row{align-items:flex-end;gap:8px;display:flex}.chat-input{background:var(--surface-2);border:1px solid var(--border-mid);font:inherit;color:var(--text);resize:none;border-radius:0;flex:1;min-height:44px;max-height:120px;padding:10px 14px;font-size:13px}.chat-input:focus{border-color:var(--accent);outline:none}.chat-input::placeholder{color:var(--text-muted)}.chat-send-btn{background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;white-space:nowrap;padding:10px 16px;font-size:13px;font-weight:600}.chat-send-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-input-hint{color:var(--text-muted);margin-top:6px;font-size:11px}.chat-quick-actions{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chat-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;padding:5px 10px;font-size:11px;font-weight:500}.chat-chip:hover{border-color:var(--accent);color:var(--accent-hover);background:var(--accent-subtle)}.home-panel{flex-direction:column;display:flex;overflow:hidden}.home-panel__section{border-bottom:1px solid var(--border);padding:16px}.home-panel__section:last-child{border-bottom:none;flex:1;overflow-y:auto}.metric-row{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.metric-card{background:var(--surface-2);border:1px solid var(--border);padding:12px}.metric-card__value{color:var(--text);font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:22px;font-weight:800;line-height:1}.metric-card__label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:10px;font-weight:700}.metric-card--accent .metric-card__value{color:var(--accent-hover)}.metric-card--green .metric-card__value{color:var(--green)}.metric-card--amber .metric-card__value{color:var(--amber)}.metric-card--cyan .metric-card__value{color:var(--cyan)}.metric-card--purple .metric-card__value{color:var(--purple)}.sparkline-wrap{margin-top:12px}.sparkline-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px;font-size:10px;font-weight:700}.sparkline-chart{width:100%;height:48px;overflow:visible}.pipeline-stages{gap:4px;margin-top:8px;display:grid}.pipeline-stage{background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.pipeline-stage__icon{flex-shrink:0;font-size:12px}.pipeline-stage__name{color:var(--text);flex:1;font-weight:500}.pipeline-stage__status{text-transform:uppercase;letter-spacing:.04em;padding:2px 5px;font-size:9px;font-weight:700}.page{min-height:calc(100vh - var(--header-h));padding:24px}.page-title{color:var(--text);margin-bottom:20px;font-size:18px;font-weight:700}.panel{background:var(--surface);border:1px solid var(--border);margin-bottom:16px;padding:20px}.panel h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:16px;font-size:12px;font-weight:700}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.toast{background:var(--surface-2);border-left:3px solid var(--accent);color:var(--text);margin-bottom:16px;padding:10px 14px;font-size:13px}.connector-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;gap:16px;display:grid}.connector-form label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);flex-direction:column;gap:6px;font-size:11px;font-weight:700;display:flex}.connector-form input,.connector-form select{background:var(--surface);border:1px solid var(--border-mid);color:var(--text);padding:8px 10px;font-family:inherit;font-size:13px}.connector-card{background:var(--surface);border:1px solid var(--border);margin-bottom:12px}.connector-card__header{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:10px;padding:14px 16px;display:flex}.connector-card__header strong{color:var(--text);font-size:14px}.connector-card__body{padding:16px;font-size:13px}.connector-card__body details{background:var(--surface-2);border:1px solid var(--border);margin-top:10px;padding:10px 12px}.connector-card__body summary{cursor:pointer;color:var(--text);font-weight:600}.connector-card__body ul{margin:8px 0 0 18px}.connector-card__body li{margin-bottom:6px}.btn-xs{margin-left:8px;padding:2px 8px;font-size:11px}.badge{text-transform:uppercase;letter-spacing:.05em;background:var(--surface-3);border:1px solid var(--border-mid);color:var(--text-muted);padding:3px 8px;font-size:10px;font-weight:700}.stage-status--done{background:var(--green-subtle);color:var(--green)}.stage-status--active{background:var(--amber-subtle);color:var(--amber)}.stage-status--pending,.stage-status--mock{background:var(--surface-3);color:var(--text-muted)}.agent-list{gap:6px;margin-top:8px;display:grid}.agent-card{background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:8px;padding:8px 10px;display:flex}.agent-card__dot{flex-shrink:0;width:8px;height:8px}.agent-card__dot--green{background:var(--green)}.agent-card__dot--amber{background:var(--amber)}.agent-card__dot--muted{background:var(--text-muted)}.agent-card__name{color:var(--text);flex:1;font-size:12px;font-weight:500}.agent-card__role{color:var(--text-muted);font-size:10px}.mock-badge{text-transform:uppercase;letter-spacing:.06em;background:var(--amber-subtle);color:var(--amber);border:1px solid var(--amber);align-items:center;gap:4px;margin-left:8px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-flex}.library-page{align-items:flex-start;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.library-sidebar{flex-direction:column;flex-shrink:0;gap:.5rem;width:260px;display:flex}.library-sidebar h3{text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin:0 0 .25rem;font-size:.8rem}.folder-item{cursor:pointer;color:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:.45rem .65rem;font-size:.9rem;display:flex}.folder-item:hover{background:#8080801f}.folder-item.active{background:#6366f129;border-color:#6366f173}.folder-item .count{opacity:.55;font-size:.78rem}.library-main{flex:1;min-width:0}.library-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.library-toolbar .spacer{flex:1}.library-btn{color:inherit;cursor:pointer;background:0 0;border:1px solid #80808059;border-radius:8px;padding:.45rem .9rem;font-size:.85rem}.library-btn:hover{background:#8080801f}.library-btn.primary{color:#fff;background:#6366f1;border-color:#6366f1}.library-btn.primary:hover{background:#575ae0}.library-btn:disabled{opacity:.5;cursor:default}.library-search{color:inherit;background:0 0;border:1px solid #80808059;border-radius:8px;min-width:220px;padding:.45rem .7rem}.doc-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:.85rem;display:grid}.doc-card{cursor:pointer;background:#8080800a;border:1px solid #80808040;border-radius:12px;padding:.85rem 1rem;transition:border-color .15s}.doc-card:hover{border-color:#6366f1}.doc-card h4{word-break:break-word;margin:0 0 .35rem;font-size:.95rem;line-height:1.3}.doc-card .doc-purpose{opacity:.75;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:.35rem 0 0;font-size:.8rem;display:-webkit-box;overflow:hidden}.doc-badges{flex-wrap:wrap;gap:.4rem;display:flex}.badge{opacity:.85;text-transform:lowercase;border:1px solid #80808059;border-radius:999px;padding:.12rem .5rem;font-size:.68rem}.badge.type{color:#818cf8;border-color:#6366f199}.badge.origin-human{color:#34d399;border-color:#10b98199}.badge.origin-llm{color:#fbbf24;border-color:#f59e0b99}.badge.origin-inherited{border-color:#80808080}.badge.origin-mixed{color:#6ee7b7;border-color:#10b98180}.library-empty{opacity:.6;text-align:center;padding:2rem}.library-overlay{z-index:60;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.library-modal{background:var(--panel-bg,#1c1d24);border:1px solid #8080804d;border-radius:14px;width:min(560px,92vw);max-height:85vh;padding:1.4rem;overflow-y:auto}:root[data-theme=light] .library-modal{background:#fff}.library-modal h3{margin-top:0}.library-modal label{opacity:.75;margin:.8rem 0 .25rem;font-size:.8rem;display:block}.library-modal input[type=text],.library-modal textarea{box-sizing:border-box;width:100%;color:inherit;background:0 0;border:1px solid #80808059;border-radius:8px;padding:.5rem .65rem;font-family:inherit;font-size:.88rem}.library-modal textarea{resize:vertical;min-height:80px}.modal-actions{justify-content:flex-end;gap:.6rem;margin-top:1.2rem;display:flex}.doc-drawer{width:min(640px,95vw)}.doc-stats-table{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.8rem}.doc-stats-table th,.doc-stats-table td{text-align:left;border-bottom:1px solid #80808033;padding:.3rem .5rem}.origin-note{opacity:.6;margin-top:.2rem;font-size:.72rem}.proposal-folder{border:1px solid #80808040;border-radius:10px;margin-bottom:.7rem;padding:.7rem .9rem}.proposal-folder h4{margin:0 0 .3rem}.proposal-folder .purpose{opacity:.75;margin:0 0 .5rem;font-size:.8rem}.proposal-assignment{align-items:flex-start;gap:.5rem;padding:.25rem 0;font-size:.82rem;display:flex}.proposal-assignment .rationale{opacity:.6}.library-msg{background:#6366f11f;border:1px solid #6366f159;border-radius:8px;margin-bottom:.9rem;padding:.6rem .9rem;font-size:.85rem}.norms-page{max-width:1100px;margin:0 auto;padding:1.25rem 1.5rem}.norms-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.2rem;display:flex}.norms-header h2{margin:0}.norms-header .sub{opacity:.65;margin-top:.2rem;font-size:.85rem}.norm-btn{color:inherit;cursor:pointer;background:0 0;border:1px solid #80808059;border-radius:8px;padding:.45rem .9rem;font-size:.85rem}.norm-btn:hover{background:#8080801f}.norm-btn.primary{color:#fff;background:#6366f1;border-color:#6366f1}.norm-btn.primary:hover{background:#575ae0}.norm-btn:disabled{opacity:.5;cursor:default}.norm-card{background:#8080800a;border:1px solid #80808040;border-radius:12px;margin-bottom:.9rem;padding:1rem 1.2rem}.norm-card__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.norm-card__title{font-size:1rem;font-weight:600}.norm-card__meta{opacity:.6;margin-top:.2rem;font-size:.75rem}.norm-card__prose{opacity:.85;margin-top:.55rem;font-size:.87rem;line-height:1.5}.norm-badge{text-transform:lowercase;border:1px solid #80808059;border-radius:999px;padding:.12rem .5rem;font-size:.68rem}.norm-badge.state-active{color:#34d399;border-color:#10b98199}.norm-badge.state-draft{color:#fbbf24;border-color:#f59e0b99}.norm-badge.state-retired{opacity:.5}.norm-badge.type{color:#818cf8;border-color:#6366f199}.norm-section-list{margin:.6rem 0 0;padding:0;font-size:.83rem;list-style:none}.norm-section-list li{padding:.18rem 0}.norm-section-list .sec-name{font-weight:600}.norm-actions{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.norms-empty{opacity:.6;text-align:center;padding:2.5rem}.norm-overlay{z-index:60;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.norm-modal{background:var(--panel-bg,#1c1d24);border:1px solid #8080804d;border-radius:14px;width:min(680px,94vw);max-height:88vh;padding:1.4rem;overflow-y:auto}:root[data-theme=light] .norm-modal{background:#fff}.norm-modal h3{margin-top:0}.norm-modal label{opacity:.75;margin:.8rem 0 .25rem;font-size:.8rem;display:block}.norm-modal input[type=text],.norm-modal textarea,.norm-modal select{box-sizing:border-box;width:100%;color:inherit;background:0 0;border:1px solid #80808059;border-radius:8px;padding:.5rem .65rem;font-family:inherit;font-size:.88rem}.norm-modal textarea{resize:vertical;min-height:70px}.norm-modal .hint{opacity:.55;margin-top:.2rem;font-size:.72rem}.norm-modal-actions{justify-content:flex-end;gap:.6rem;margin-top:1.2rem;display:flex}.norm-list-editor{flex-direction:column;gap:.4rem;display:flex}.norm-list-editor .row{align-items:center;gap:.4rem;display:flex}.norm-list-editor .row input{flex:1}.critique-table{border-collapse:collapse;width:100%;margin:.5rem 0 1rem;font-size:.82rem}.critique-table th,.critique-table td{text-align:left;vertical-align:top;border-bottom:1px solid #80808033;padding:.35rem .5rem}.verdict-present,.verdict-meets{color:#34d399}.verdict-partial,.verdict-partially{color:#fbbf24}.verdict-missing,.verdict-does_not_meet{color:#f87171}.graph-page{height:calc(100vh - var(--header-h));background:var(--bg);display:flex;overflow:hidden}.graph-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;width:260px;min-width:260px;transition:width .18s,min-width .18s;display:flex;overflow:hidden}.graph-sidebar.closed{width:36px;min-width:36px}.graph-sidebar__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.graph-sidebar__title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:700}.graph-sidebar__toggle{border:1px solid var(--border);color:var(--text-muted);background:0 0;flex-shrink:0;padding:2px 6px;font-size:10px}.graph-sidebar__body{flex-direction:column;flex:1;gap:12px;padding:10px 12px;display:flex;overflow-y:auto}.graph-apply-btn{width:100%;padding:8px;font-size:12px}.filter-section{flex-direction:column;gap:5px;display:flex}.filter-section__label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.filter-badge{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);letter-spacing:0;padding:0 5px;font-size:9px;font-weight:500}.filter-doc-actions{gap:4px;margin-bottom:2px;display:flex}.filter-doc-actions button{flex:1;padding:2px 8px;font-size:10px}.filter-scroll{flex-direction:column;gap:3px;max-height:160px;display:flex;overflow-y:auto}.filter-empty{color:var(--text-muted);font-size:11px;font-style:italic}.filter-check{cursor:pointer;align-items:center;gap:7px;padding:2px 0;display:flex}.filter-check input[type=checkbox],.filter-check input[type=radio]{width:12px;height:12px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:0}.filter-check__label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.doc-dot,.node-type-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.graph-meta{background:var(--surface-2);border:1px solid var(--border);gap:4px;padding:8px 10px}.graph-meta__row{color:var(--text-muted);justify-content:space-between;font-size:12px;display:flex}.graph-meta__row strong{color:var(--text);font-weight:600}.graph-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.graph-toolbar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:8px 16px;display:flex}.graph-view-toggle{gap:0;display:flex}.graph-view-toggle button{border:1px solid var(--border-mid);background:var(--surface-2);color:var(--text-muted);padding:5px 14px;font-size:12px}.graph-view-toggle button:first-child{border-right:none}.graph-view-toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.graph-canvas-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.graph-canvas-controls button{padding:4px 10px;font-size:11px}.graph-degree-label{color:var(--text-muted);margin-left:4px;font-size:10px}.graph-degree-toggle{gap:0;display:flex}.graph-degree-toggle button{border:1px solid var(--border-mid);background:var(--surface-2);color:var(--text-muted);padding:4px 10px;font-size:11px}.graph-degree-toggle button:not(:last-child){border-right:none}.graph-degree-toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.graph-layout-toggle{gap:0;display:flex}.graph-layout-toggle button{border:1px solid var(--border-mid);background:var(--surface-2);color:var(--text-muted);padding:4px 11px;font-size:11px}.graph-layout-toggle button:first-child{border-right:none}.graph-layout-toggle button.active{background:var(--surface-3);border-color:var(--accent);color:var(--accent-hover)}.graph-loading-bar{background:linear-gradient(90deg, transparent 0%, var(--accent) 50%, transparent 100%);background-size:200% 100%;flex-shrink:0;height:2px;animation:1.2s linear infinite graph-loading-slide}@keyframes graph-loading-slide{0%{background-position:200% 0}to{background-position:-200% 0}}.graph-hint{color:var(--text-muted);margin-left:4px;font-size:10px;font-style:italic}.graph-table-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.graph-table-tabs{gap:0;display:flex}.graph-table-tabs button{border:1px solid var(--border-mid);background:var(--surface-2);color:var(--text-muted);align-items:center;gap:6px;padding:5px 12px;font-size:12px;display:flex}.graph-table-tabs button:not(:last-child){border-right:none}.graph-table-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.tab-count{background:#ffffff26;padding:0 5px;font-size:10px;font-weight:600}.graph-table-tabs button:not(.active) .tab-count{background:var(--surface-3);color:var(--text-muted)}.graph-search-input{background:var(--surface-2);border:1px solid var(--border-mid);height:30px;color:var(--text);width:220px;padding:0 10px;font-family:inherit;font-size:12px}.graph-search-input:focus{border-color:var(--accent);outline:none}.graph-canvas-wrap{flex:1;position:relative;overflow:hidden}.graph-canvas{cursor:grab;background:var(--bg);width:100%;height:100%;display:block}.graph-canvas:active{cursor:grabbing}.graph-error{background:var(--red-subtle);border-bottom:1px solid var(--red);color:var(--red);flex-shrink:0;padding:16px;font-size:13px}.graph-loading{color:var(--text-muted);z-index:10;background:#0000004d;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.graph-empty{color:var(--text-muted);text-align:center;pointer-events:none;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.graph-legend{background:var(--surface);border:1px solid var(--border);z-index:5;flex-direction:column;gap:5px;max-height:280px;padding:8px 12px;display:flex;position:absolute;bottom:16px;right:16px;overflow-y:auto}.legend-item{color:var(--text-muted);white-space:nowrap;align-items:center;gap:7px;font-size:11px;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.graph-node-detail{background:var(--surface);border:1px solid var(--border);z-index:10;flex-direction:column;gap:0;width:240px;display:flex;position:absolute;top:16px;right:16px}.node-detail__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.node-detail__label{color:var(--text);word-break:break-word;flex:1;font-size:12px;font-weight:600;line-height:1.4;overflow:hidden}.node-detail__header button{color:var(--text-muted);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:12px}.node-detail__row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:5px 12px;font-size:11px;display:flex}.node-detail__row span:first-child{color:var(--text-muted)}.node-detail__row span:last-child{color:var(--text);font-weight:500}.node-detail__desc{color:var(--text);opacity:.85;padding:8px 12px;font-size:11px;line-height:1.5}.node-type-badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.state-badge{text-transform:capitalize;padding:1px 6px;font-size:10px;font-weight:500;display:inline-block}.state-active{background:var(--green-subtle,#10b9811f);color:var(--green,#10b981);border:1px solid #10b9814d}.state-provisional{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b4d}.state-end_dated,.state-degraded{background:var(--red-subtle);color:var(--red);border:1px solid var(--red);opacity:.6}.relation-badge{background:var(--surface-2);border:1px solid var(--border-mid);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;padding:1px 6px;font-size:10px;display:inline-block;overflow:hidden}.cross-badge{color:#6366f1;background:#6366f11f;border:1px solid #6366f14d;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.same-badge{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);padding:1px 6px;font-size:10px;display:inline-block}.graph-table-wrap{flex:1;padding:0;overflow:auto}.graph-table{border-collapse:collapse;width:100%;font-size:12px}.graph-table th{background:var(--surface);border-bottom:2px solid var(--border);text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);z-index:1;padding:8px 14px;font-size:10px;font-weight:700;position:sticky;top:0}.graph-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:7px 14px}.graph-table tr:hover td{background:var(--surface-2)}.table-label{text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-weight:500;overflow:hidden}.table-empty{text-align:center;color:var(--text-muted);padding:32px;font-style:italic}.confidence-bar{align-items:center;gap:6px;display:flex}.confidence-track{background:var(--surface-3);flex-shrink:0;width:60px;height:4px}.confidence-fill{background:var(--accent);min-width:2px;height:4px}.confidence-bar>span{color:var(--text-muted);white-space:nowrap;min-width:28px;font-size:10px}.node-detail__edges{border-top:1px solid var(--border);flex-direction:column;gap:3px;max-height:180px;padding:6px 12px;display:flex;overflow-y:auto}.edge-mini{align-items:center;gap:5px;font-size:10px;display:flex}.edge-mini--link{cursor:pointer;border-radius:4px;margin:0 -3px;padding:1px 3px;transition:background .12s}.edge-mini--link:hover{background:#6366f126}.edge-mini--link:hover .edge-mini__target{color:var(--accent);text-decoration:underline}.edge-mini__dir{color:var(--accent);flex-shrink:0;font-weight:700}.edge-mini__rel{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:90px;font-style:italic;overflow:hidden}.edge-mini__target{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.graph-meta__note{color:var(--accent);margin-top:2px;font-size:10px;font-style:italic}.memory-page{max-width:1200px;margin:0 auto;padding:24px}.memory-page__header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.memory-page__title{color:var(--text);font-size:20px;font-weight:700}.memory-page__subtitle{color:var(--text-muted);font-size:13px}.memory-run-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .12s}.memory-run-btn:hover{background:var(--accent-hover)}.memory-run-btn:disabled{opacity:.6;cursor:not-allowed}.memory-grid{grid-template-columns:repeat(auto-fit,minmax(480px,1fr));gap:16px;display:grid}.memory-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.memory-section__header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.memory-section__title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:12px;font-weight:700}.memory-section__tabs{gap:8px;display:flex}.memory-tab{border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600}.memory-tab.active{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent)}.memory-table{border-collapse:collapse;width:100%;font-size:12px}.memory-table th,.memory-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}.memory-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.memory-table tr:last-child td{border-bottom:none}.memory-badge{text-transform:uppercase;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.memory-badge--observation{background:var(--accent-subtle);color:var(--accent)}.memory-badge--execution_outcome{background:var(--green-subtle);color:var(--green)}.memory-badge--correction{background:var(--red-subtle);color:var(--red)}.memory-badge--feedback{background:var(--amber-subtle);color:var(--amber)}.memory-badge--preference{background:var(--purple-subtle);color:var(--purple)}.memory-badge--resolution{background:var(--pink-subtle);color:var(--pink)}.memory-badge--contradiction{background:var(--red-subtle);color:var(--red)}.memory-badge--demand_signal{background:var(--text-muted);color:var(--surface)}.memory-scorebar{background:var(--surface-3);border-radius:3px;width:60px;height:6px;overflow:hidden}.memory-scorebar__fill{background:var(--accent);border-radius:3px;height:100%}.memory-scorebar__fill--high{background:var(--green)}.memory-scorebar__fill--low{background:var(--amber)}.memory-empty{color:var(--text-muted);text-align:center;padding:16px 0;font-size:13px}.memory-result{background:var(--surface-2);border-left:3px solid var(--green);color:var(--text);border-radius:0 8px 8px 0;margin-top:12px;padding:10px 14px;font-size:12px}.memory-result__pass{align-items:center;gap:6px;margin-bottom:6px;margin-right:12px;display:inline-flex}.memory-tags{flex-wrap:wrap;gap:4px;display:flex}.memory-tag{background:var(--surface-3);color:var(--text-muted);border-radius:4px;padding:1px 6px;font-size:10px}.memory-episode-search{box-sizing:border-box;width:100%;max-width:420px;color:inherit;background:0 0;border:1px solid #80808059;border-radius:8px;margin-bottom:1rem;padding:.5rem .75rem}.memory-episode{background:#8080800a;border:1px solid #80808040;border-radius:12px;margin-bottom:.8rem;padding:.9rem 1.1rem}.memory-episode__head{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.memory-episode__title{font-size:.95rem;font-weight:600}.memory-episode__meta{opacity:.6;margin-top:.2rem;font-size:.75rem}.memory-episode__desc{opacity:.85;margin-top:.5rem;font-size:.85rem;line-height:1.45}.memory-episode__docs{flex-wrap:wrap;gap:.4rem;margin-top:.55rem;display:flex}.memory-episode__doc{color:inherit;opacity:.85;border:1px solid #6366f180;border-radius:999px;padding:.15rem .55rem;font-size:.72rem;text-decoration:none}.memory-episode__doc:hover{opacity:1}.memory-episode__detail{border-top:1px solid #80808033;margin-top:.8rem;padding-top:.8rem}.memory-episode__label{text-transform:uppercase;letter-spacing:.06em;opacity:.55;margin:.6rem 0 .25rem;font-size:.72rem}.memory-episode__qa{white-space:pre-wrap;background:#8080800f;border-radius:8px;max-height:240px;padding:.55rem .75rem;font-size:.84rem;line-height:1.45;overflow-y:auto}.memory-episode__annotation{box-sizing:border-box;resize:vertical;width:100%;min-height:70px;color:inherit;background:0 0;border:1px solid #80808059;border-radius:8px;padding:.5rem .7rem;font-family:inherit;font-size:.84rem}
