:root,html[data-theme=dark]{color-scheme:dark;--ink-900: #0b0d10;--ink-800: #101318;--ink-700: #171b21;--ink-600: #1f242c;--ink-500: #2a3038;--line: #262c35;--line-strong: #38404b;--paper: #e8e6e1;--paper-dim: #a8adb8;--paper-faint: #6f7683;--ochre: #d99a4e;--ochre-dim: #a97533;--ochre-hover: #e6a758;--on-accent: #14100a;--teal: #4fae9e;--rose: #d4736a;--violet: #8f8bd4;--field-bg: #101318;--note-bg: rgba(217, 154, 78, .07);--danger-line: #4a2f2c;--danger-bg: #2a1a19;--danger-surface: #1d1313;--danger-fg: #e8b7b1;--overlay: rgba(11, 13, 16, .72);--panel-overlay: rgba(16, 19, 24, .92);--panel-overlay-strong: rgba(16, 19, 24, .95);--shadow: 0 18px 40px rgba(0, 0, 0, .45);--kind-decision: #d99a4e;--kind-requirement: #4fae9e;--kind-timeline: #8f8bd4;--kind-contact: #7fa8d4;--kind-risk: #d4736a;--kind-status: #8a929e;--kind-email: #b08fd0;--kind-meeting: #6fb3a8;--kind-transfer: #c99a63;--kind-change: #9aa3b5;--radius: 8px;--radius-sm: 5px;--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;--sidebar-w: 232px}html[data-theme=light]{color-scheme:light;--ink-900: #ffffff;--ink-800: #f7f6f3;--ink-700: #eeece6;--ink-600: #e3e0d8;--ink-500: #d2cec4;--line: #e3dfd7;--line-strong: #c9c3b7;--paper: #14161a;--paper-dim: #4a5058;--paper-faint: #6e7480;--ochre: #9a6410;--ochre-dim: #a9781f;--ochre-hover: #835308;--on-accent: #ffffff;--teal: #14776a;--rose: #b0403a;--violet: #5f5ab8;--field-bg: #ffffff;--note-bg: rgba(154, 100, 16, .07);--danger-line: #e6c6c2;--danger-bg: #fbeeed;--danger-surface: #fdf1f0;--danger-fg: #8f2f2a;--overlay: rgba(20, 22, 26, .35);--panel-overlay: rgba(255, 255, 255, .92);--panel-overlay-strong: rgba(255, 255, 255, .97);--shadow: 0 18px 40px rgba(20, 22, 26, .12);--kind-decision: #9a6410;--kind-requirement: #14776a;--kind-timeline: #5f5ab8;--kind-contact: #2c6ba8;--kind-risk: #b0403a;--kind-status: #5c6472;--kind-email: #7a4fb0;--kind-meeting: #2c7d70;--kind-transfer: #96682c;--kind-change: #616a7c}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ink-900);color:var(--paper);font-family:var(--font-ui);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums}body,.sidebar,.topbar,.card,.row,.btn,.input,.select,.textarea,.composer,.composer textarea{transition:background-color .12s ease,border-color .12s ease,color .12s ease}a{color:var(--ochre);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}code,.mono{font-family:var(--font-mono);font-size:.9em}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--ink-500);border-radius:6px;border:2px solid var(--ink-900)}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100%;overflow:hidden}.sidebar{background:var(--ink-800);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.brand{flex:none;padding:18px 18px 14px;border-bottom:1px solid var(--line)}.brand h1{margin:0;font-family:var(--font-display);font-size:19px;font-weight:650;letter-spacing:-.021em}.brand .tagline{margin:4px 0 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-faint)}.nav{flex:1;overflow-y:auto;padding:10px;min-height:0;overscroll-behavior:contain}.nav-group-label{flex:none;padding:10px 8px 5px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-faint)}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:6px 9px;margin-bottom:1px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--paper-dim);text-align:left;font-size:14px}.nav-item:hover{background:var(--ink-700);color:var(--paper);text-decoration:none}.nav-item.active{background:var(--ink-600);color:var(--paper);box-shadow:inset 2px 0 0 var(--ochre)}.nav-item .count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--paper-faint)}.sidebar-foot{flex:none;border-top:1px solid var(--line);padding:10px 14px;font-size:12px;color:var(--paper-faint)}.main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--ink-900)}.topbar{display:flex;align-items:center;gap:12px;padding:12px 22px;border-bottom:1px solid var(--line);background:var(--ink-800)}.topbar h2{margin:0;font-family:var(--font-display);font-size:16.5px;font-weight:600;letter-spacing:-.017em}.topbar .spacer{flex:1}.content{flex:1;overflow-y:auto;padding:22px;min-height:0}.content.flush{padding:0}.btn{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--ink-700);color:var(--paper);font-size:13.5px;font-weight:500}.btn:hover:not(:disabled){background:var(--ink-600);border-color:var(--paper-faint)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--ochre);border-color:var(--ochre);color:var(--on-accent);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--ochre-hover);border-color:var(--ochre-hover)}.btn.ghost{background:transparent;border-color:transparent;color:var(--paper-dim)}.btn.ghost:hover:not(:disabled){background:var(--ink-700);color:var(--paper)}.btn.icon-btn{padding:6px 8px;line-height:0;color:var(--paper-dim)}.btn.icon-btn:hover:not(:disabled){color:var(--paper)}.btn.danger{color:var(--rose);border-color:var(--danger-line)}.btn.danger:hover:not(:disabled){background:var(--danger-bg)}.input,.select,.textarea{padding:6px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--paper);font-size:13.5px}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--ochre-dim);outline-offset:-1px}.input::placeholder{color:var(--paper-faint)}.field-label{display:block;margin-bottom:5px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-faint)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.tabs{display:flex;gap:2px;margin-bottom:16px;border-bottom:1px solid var(--line)}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:7px 12px;font:inherit;font-size:13px;color:var(--paper-faint);cursor:pointer}.tab:hover{color:var(--paper)}.tab.active{color:var(--paper);border-bottom-color:var(--ochre)}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-800);padding:16px 18px}.card+.card{margin-top:12px}.card h3{margin:0 0 6px;font-size:15px;font-weight:600}.card .muted{color:var(--paper-faint);font-size:13px}.uploader-note{margin-top:8px;padding:6px 10px;border-left:2px solid var(--ochre-dim);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--note-bg);font-size:12.5px;color:var(--paper-dim);max-width:720px}.uploader-note strong{color:var(--ochre);font-weight:600}.upload-headers{display:grid;gap:3px;margin-bottom:14px;font-size:12.5px;color:var(--paper-dim)}.upload-headers .muted{display:inline-block;min-width:84px;color:var(--paper-faint);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;border:1px solid var(--line-strong);background:var(--ink-700);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--paper-dim);white-space:nowrap}.chip.kind{font-family:var(--font-mono);letter-spacing:0;text-transform:none}.dot{width:6px;height:6px;border-radius:50%;flex:0 0 auto}.empty{padding:52px 24px;text-align:center;color:var(--paper-faint)}.empty h3{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.018em;color:var(--paper-dim);margin:0 0 6px}.error-banner{margin-bottom:14px;padding:10px 14px;border:1px solid var(--danger-line);border-radius:var(--radius-sm);background:var(--danger-surface);color:var(--danger-fg);font-size:13.5px}.rows{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.row{display:grid;gap:12px;align-items:baseline;padding:11px 16px;border-bottom:1px solid var(--line);background:var(--ink-800)}.row:last-child{border-bottom:0}.row:hover{background:var(--ink-700)}.row .ref{font-family:var(--font-mono);font-size:12px;color:var(--ochre-dim)}.row .key{color:var(--paper)}.row .meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:3px;font-size:12px;color:var(--paper-faint)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}.status-active{background:var(--teal)}.status-proposed{background:var(--violet)}.status-superseded{background:var(--paper-faint)}.status-expired{background:var(--rose)}.chat{display:flex;flex-direction:column;height:100%;min-height:0}.chat-scroll{flex:1;overflow-y:auto;padding:24px 26px;min-height:0}.turn{max-width:760px;margin:0 auto 24px}.turn.user{text-align:right}.turn.user .bubble{display:inline-block;padding:9px 15px;border-radius:var(--radius);background:var(--ink-700);border:1px solid var(--line-strong);text-align:left;white-space:pre-wrap;overflow-wrap:anywhere}.turn .prose{white-space:pre-wrap}.activity{display:flex;flex-direction:column;align-items:flex-start}.activity-head{display:inline-flex;align-items:center;gap:7px;padding:3px 11px 3px 7px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--paper-faint);font-family:var(--font-mono);font-size:11.5px;cursor:pointer}.activity-head:hover{color:var(--paper-dim);border-color:var(--line-strong)}.activity-head.open,.activity-head.running{color:var(--teal);border-color:var(--teal)}.activity-head .chev{display:inline-block;font-size:13px;line-height:1;transition:transform .14s ease}.activity-head.open .chev{transform:rotate(90deg)}.activity-glyph{color:inherit;font-size:10px;line-height:1}.activity-glyph.running{animation:spin 1.3s linear infinite}.activity-body{margin:7px 0 2px 6px;padding-left:12px;border-left:1px solid var(--line-strong);max-width:700px;animation:activity-in .16s ease-out}.activity-think{max-height:132px;overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12.5px;line-height:1.55;color:var(--paper-faint)}.activity-tool{display:flex;align-items:baseline;gap:8px;margin-top:5px;font-family:var(--font-mono);font-size:11.5px;color:var(--paper-faint)}.activity-name{color:var(--paper-dim)}.activity-detail{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@keyframes spin{to{transform:rotate(360deg)}}@keyframes activity-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.composer{border-top:1px solid var(--line);background:var(--ink-800);padding:14px 22px 18px}.composer-inner{max-width:760px;margin:0 auto;display:flex;gap:10px;align-items:flex-end}.composer textarea{flex:1;min-height:44px;max-height:200px;resize:none;padding:11px 13px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--field-bg);color:var(--paper);font-family:var(--font-ui);font-size:14px}.composer textarea:focus{outline:2px solid var(--ochre-dim);outline-offset:-1px}.composer .hint{max-width:760px;margin:8px auto 0;font-size:11.5px;color:var(--paper-faint)}.composer-attachments{max-width:760px;margin:0 auto 10px;display:flex;flex-wrap:wrap;gap:6px}.turn-attachments{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.attach-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:4px 8px 4px 10px;border:1px solid var(--line-strong);border-radius:999px;background:var(--ink-900);font-size:11.5px}.attach-chip.sent{background:var(--ink-700)}.attach-chip.bad{border-color:var(--danger-line);background:var(--danger-surface)}.attach-ref{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.02em;color:var(--teal)}.attach-name{max-width:260px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--paper);text-decoration:none}a.attach-name:hover{text-decoration:underline}.attach-status{font-size:10.5px;color:var(--paper-faint)}.attach-action{padding:0 2px;border:0;background:none;color:var(--paper-faint);font-size:11px;line-height:1;cursor:pointer}.attach-action:hover:not(:disabled){color:var(--ochre)}.attach-action:disabled{opacity:.5;cursor:default}.composer .btn.attach{align-self:stretch;width:44px;padding:0;justify-content:center;font-size:17px;line-height:1;color:var(--paper-dim)}.composer-tools{max-width:760px;margin:9px auto 0;display:flex;flex-wrap:wrap;gap:6px}.tool-pill{padding:3px 11px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--paper-faint);font-size:11.5px;cursor:pointer}.tool-pill:hover:not(:disabled){color:var(--paper-dim);border-color:var(--paper-faint)}.tool-pill.on{border-color:var(--teal);background:#4fae9e14;color:var(--teal)}.tool-pill:disabled{opacity:.4;cursor:not-allowed}.chat.dragging{outline:2px dashed var(--teal);outline-offset:-6px}.send-split{position:relative;display:inline-flex;align-items:stretch}.send-split .btn{border-radius:0}.send-split .btn:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.send-caret{padding:6px 9px;border-radius:0 var(--radius-sm) var(--radius-sm) 0!important;border-left:1px solid var(--ink-800);font-size:11px;line-height:1}.send-menu{position:absolute;right:0;bottom:calc(100% + 6px);z-index:20;min-width:320px;padding:5px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--ink-800);box-shadow:var(--shadow);text-align:left}.send-menu-item{display:grid;grid-template-columns:1fr auto;gap:2px 10px;width:100%;padding:7px 9px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--paper);font-size:13px;text-align:left;cursor:pointer}.send-menu-item:hover:not(:disabled){background:var(--ink-700)}.send-menu-item:disabled{opacity:.45;cursor:not-allowed}.send-menu-item.default .send-menu-label{color:var(--ochre)}.send-menu-label{font-weight:500}.send-menu-hint{grid-column:1 / -1;color:var(--paper-faint);font-size:11.5px}.send-menu-item.default-toggle{border-top:1px solid var(--line);border-radius:0 0 var(--radius-sm) var(--radius-sm)}kbd{align-self:start;padding:1px 5px;border:1px solid var(--line-strong);border-radius:4px;background:var(--ink-900);color:var(--paper-dim);font-family:var(--font-mono);font-size:10.5px}.queue-line{max-width:760px;margin:0 auto 8px;font-size:11.5px;color:var(--paper-faint)}.rewind-banner{display:flex;align-items:center;gap:10px;max-width:760px;margin:0 auto 10px;padding:8px 11px;border:1px solid var(--danger-line);border-radius:var(--radius-sm);background:var(--danger-surface);color:var(--danger-fg);font-size:12.5px}.rewind-banner span{flex:1}.rewind-banner .btn{padding:3px 9px;font-size:12px}.turn.user .bubble-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.turn-badge{padding:2px 9px;border:1px solid var(--line-strong);border-radius:999px;background:var(--ink-800);color:var(--paper-faint);font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;text-transform:lowercase}.turn-badge.running,.turn-badge.queued{border-color:var(--teal);color:var(--teal)}.turn-badge.queued{border-style:dashed}.turn-badge.steer{border-color:var(--ochre-dim);color:var(--ochre)}.turn-badge.stopped,.turn-badge.failed{border-color:var(--danger-line);color:var(--danger-fg)}.turn.user.pending .bubble{border-style:dashed}.note-row{display:flex;align-items:baseline;gap:8px;max-width:760px;padding:5px 11px;border-left:2px solid var(--ochre-dim);background:var(--note-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:12.5px}.note-label{font-family:var(--font-mono);font-size:10.5px;color:var(--ochre);white-space:nowrap}.note-text{flex:1;color:var(--paper-dim);white-space:pre-wrap;overflow-wrap:anywhere}.note-state{font-size:10.5px;color:var(--paper-faint);white-space:nowrap}.turn-actions{display:flex;justify-content:flex-start;gap:10px;margin-top:4px;opacity:0;transition:opacity .12s ease}.turn.user .turn-actions{justify-content:flex-end}.turn:hover .turn-actions,.turn:focus-within .turn-actions{opacity:1}.turn-actions .attach-action{font-size:11px}.turn-actions .attach-action:disabled{opacity:.4;cursor:not-allowed}.bubble.editing{display:block;text-align:left;padding:7px 9px}.edit-box{display:block;width:min(680px,100%);padding:6px 8px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--paper);font-family:var(--font-ui);font-size:14px;line-height:1.5;resize:vertical}.edit-box:focus{outline:2px solid var(--ochre-dim);outline-offset:-1px}.edit-actions{display:flex;align-items:center;gap:10px;margin-top:6px}.edit-hint{flex:1;font-size:11px;color:var(--paper-faint)}.research-card{padding:12px 14px;border:1px solid var(--line-strong);border-left:2px solid var(--rose);border-radius:var(--radius-sm);background:var(--ink-800)}.research-card.running{border-left-color:var(--teal)}.research-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.research-title{font-family:var(--font-mono);font-size:11.5px;color:var(--rose)}.research-card.running .research-title{color:var(--teal)}.research-meta{font-size:11.5px;color:var(--paper-faint)}.research-question{margin:8px 0 0;font-size:13.5px;color:var(--paper-dim)}.research-plan{display:flex;flex-direction:column;gap:4px;margin:10px 0 0;padding:0;list-style:none}.research-plan li{font-size:12.5px;color:var(--paper-faint)}.research-plan li.done{color:var(--paper-dim)}.research-error{margin:10px 0 0;font-size:12.5px;color:var(--rose)}.graph-wrap{height:100%;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-900);touch-action:none;-webkit-user-select:none;user-select:none}.graph-svg{width:100%;height:100%;display:block;cursor:grab}.graph-svg:active{cursor:grabbing}.graph-toolbar{position:absolute;right:18px;top:18px;display:flex;flex-direction:column;gap:4px;padding:5px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-overlay)}.graph-toolbar button{width:26px;height:26px;padding:0;border:0;border-radius:var(--radius-sm);background:none;color:var(--paper-dim);font-size:13px;line-height:1;cursor:pointer}.graph-toolbar button:hover{background:var(--ink-700);color:var(--paper)}.graph-legend{position:absolute;left:18px;bottom:18px;padding:10px 13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-overlay);font-size:11.5px;color:var(--paper-faint);display:grid;gap:4px}.graph-legend div{display:flex;align-items:center;gap:7px}.graph-count{margin-left:auto;padding-left:10px;font-family:var(--font-mono);font-size:10.5px;color:var(--paper-faint)}.graph-tip{position:absolute;right:18px;top:140px;max-width:260px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel-overlay-strong);box-shadow:var(--shadow);font-size:13px;pointer-events:none}.graph-hint{position:absolute;left:50%;bottom:16px;transform:translate(-50%);margin:0;padding:5px 12px;border-radius:999px;background:var(--panel-overlay);font-size:11px;color:var(--paper-faint);white-space:nowrap;pointer-events:none}.login-wrap{height:100%;display:grid;place-items:center;padding:24px;position:relative}.login-theme{position:absolute;top:18px;right:18px}.login-card{width:100%;max-width:360px}.login-card h1{font-family:var(--font-display);font-size:26px;font-weight:650;letter-spacing:-.025em;margin:0 0 4px}.login-card p{margin:0 0 22px;color:var(--paper-faint);font-size:13.5px}.login-card .field{margin-bottom:14px}.login-card .input{width:100%}.thread-row{display:flex;align-items:center;gap:4px}.thread-row .nav-item{flex:1;min-width:0}.thread-delete{flex:none;padding:4px 7px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--paper-faint);font-size:15px;line-height:1;cursor:pointer}.thread-delete:hover{background:var(--danger-bg);color:var(--danger-fg)}@media(max-width:880px){.shell{grid-template-columns:1fr}.sidebar{display:none}}
