:root{--bg-0: #0a0a0b;--bg-1: #111114;--bg-2: #16171b;--bg-3: #1d1f24;--border: #2a2d33;--text-0: #e7e9ee;--text-1: #b3b7c0;--text-2: #6e7280;--accent: #f5b942;--accent-soft: rgba(245, 185, 66, .12);--good: #4ec07a;--warn: #f5b942;--bad: #ef5b5b;--radius: 8px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace;--sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg-0);color:var(--text-0);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit;font-size:inherit;border:1px solid var(--border);background:var(--bg-2);color:var(--text-0);border-radius:var(--radius);padding:6px 12px;cursor:pointer;transition:background .12s ease,border-color .12s ease}button:hover:not(:disabled){background:var(--bg-3);border-color:var(--text-2)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent);color:var(--bg-0);border-color:var(--accent);font-weight:600}button.primary:hover:not(:disabled){background:#ffc452;border-color:#ffc452}button.danger{background:transparent;border-color:var(--bad);color:var(--bad)}input,textarea{font-family:inherit;font-size:inherit;background:var(--bg-2);border:1px solid var(--border);color:var(--text-0);border-radius:var(--radius);padding:10px 12px;outline:none}input:focus,textarea:focus{border-color:var(--accent)}.app{display:grid;grid-template-columns:260px 1fr;height:100vh}.sidebar{background:var(--bg-1);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px;overflow-y:auto}.sidebar h1{font-size:16px;font-weight:700;letter-spacing:.04em;margin:0 0 16px;color:var(--text-0)}.sidebar .new-session-btn{margin-bottom:16px;width:100%}.sidebar .session-item{padding:8px 10px;border-radius:var(--radius);cursor:pointer;color:var(--text-1);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar .session-item:hover{background:var(--bg-2)}.sidebar .session-item.active{background:var(--bg-3);color:var(--text-0)}.main{display:flex;flex-direction:column;height:100vh}.thread{flex:1;overflow-y:auto;padding:24px 32px;display:flex;flex-direction:column;gap:24px}.thread .empty{margin:auto;color:var(--text-2);text-align:center;max-width:360px}.thread .empty h2{color:var(--text-0);font-weight:600;margin:0 0 8px}.message{display:flex;flex-direction:column;gap:8px;max-width:760px}.message .role{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-2)}.message.user .role{color:var(--text-1)}.message.assistant .role{color:var(--accent)}.message .body{white-space:pre-wrap;color:var(--text-0)}.message.user .body{color:var(--text-1)}.context-panel{font-size:12px;color:var(--text-2);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;background:var(--bg-1)}.context-panel summary{cursor:pointer;-webkit-user-select:none;user-select:none}.context-panel pre{margin:8px 0 0;font-family:var(--mono);font-size:11px;color:var(--text-1);white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto}.action-card{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:12px 14px;background:var(--bg-1);display:flex;flex-direction:column;gap:10px}.action-card.notify{border-left-color:var(--text-2)}.action-card.autonomous{border-left-color:var(--good);background:#4ec07a0a}.action-card .header{display:flex;justify-content:space-between;gap:12px;align-items:center}.action-card .action-type{font-family:var(--mono);font-size:11px;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em}.action-card .trust-class{font-size:11px;text-transform:uppercase;letter-spacing:.06em;background:var(--accent-soft);color:var(--accent);padding:2px 8px;border-radius:4px}.action-card .description{font-weight:600;color:var(--text-0)}.action-card .rationale{color:var(--text-1);font-size:13px}.action-card .buttons{display:flex;gap:8px}.composer{border-top:1px solid var(--border);background:var(--bg-1);padding:16px 32px}.composer .row{display:flex;gap:12px}.composer textarea{flex:1;resize:none;min-height:56px;max-height:240px}.composer .send-btn{align-self:flex-end}.status-line{font-size:11px;color:var(--text-2);margin-top:8px;font-family:var(--mono)}
