@evandu/super-pi 0.1.105 → 0.1.106

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/.super-pi-check-inputs.json +2 -2
  2. package/dist/client/.super-pi-client-sources.json +8 -7
  3. package/dist/client/assets/index-DBR_t9lF.js +79 -0
  4. package/dist/client/assets/index-mo5Dvh_v.css +1 -0
  5. package/dist/client/index.html +2 -2
  6. package/dist/server/application/provider-service.d.ts +14 -0
  7. package/dist/server/application/provider-service.js +29 -0
  8. package/dist/server/application/run-service.d.ts +19 -0
  9. package/dist/server/application/run-service.js +78 -0
  10. package/dist/server/command-handler.js +6 -0
  11. package/dist/server/content-search.d.ts +32 -0
  12. package/dist/server/content-search.js +155 -0
  13. package/dist/server/file-changes.d.ts +119 -0
  14. package/dist/server/file-changes.js +278 -0
  15. package/dist/server/file-diff.d.ts +38 -0
  16. package/dist/server/file-diff.js +97 -0
  17. package/dist/server/file-index.d.ts +56 -0
  18. package/dist/server/file-index.js +150 -0
  19. package/dist/server/files.d.ts +8 -0
  20. package/dist/server/files.js +3 -1
  21. package/dist/server/git.d.ts +17 -0
  22. package/dist/server/git.js +39 -0
  23. package/dist/server/http-server.js +121 -1
  24. package/dist/server/index.js +15 -0
  25. package/dist/server/pi-session-events.d.ts +9 -0
  26. package/dist/server/pi-session-events.js +12 -0
  27. package/dist/server/runtime.d.ts +22 -0
  28. package/dist/server/runtime.js +16 -1
  29. package/dist/server/server-context.d.ts +12 -0
  30. package/dist/server/types.d.ts +71 -0
  31. package/package.json +11 -1
  32. package/dist/client/assets/index-UiqTcZca.css +0 -1
  33. package/dist/client/assets/index-tBfBUY_8.js +0 -74
@@ -115,6 +115,28 @@ export interface AnswerInput {
115
115
  * on a card but by its working directory on a call block would be worse than having neither.
116
116
  */
117
117
  onToolCall?(call: ToolCallNotice): void;
118
+ /**
119
+ * Called when a tool that WRITES A FILE is announced, with the path it is about to write.
120
+ *
121
+ * WHY A SEPARATE CALLBACK RATHER THAN A FIELD ON `onToolCall`. Two reasons, and the second is the
122
+ * load-bearing one.
123
+ *
124
+ * The first: this is a fact about the FILESYSTEM, not about the transcript. The transcript's row for
125
+ * an `edit` is a card; this is the server learning that a file on disk is about to change, and the
126
+ * listener for it has to act BEFORE the change - which is the only moment the old content is still on
127
+ * the disk. A card that arrives after the fact is too late to be a baseline.
128
+ *
129
+ * The second: the listener's job is to capture the file's previous content, which means reading the
130
+ * disk, and that must not happen on the path that draws a card. `onToolCall` is called synchronously
131
+ * in the drain loop, between yields, and a disk read there would put an I/O stall in the middle of
132
+ * the stream - the latency the streaming lane exists to avoid. So this callback is fired and FORGOTTEN:
133
+ * the listener does its work on its own time and the drain loop moves on.
134
+ *
135
+ * The path is the tool's own spelling, resolved against the workspace by the listener - the runtime
136
+ * does not know which workspace a call belongs to, and a path it cannot check is a path it does not
137
+ * vouch for.
138
+ */
139
+ onFileWrite?(path: string, toolName: string, toolCallId?: string): void;
118
140
  /**
119
141
  * Called on `tool_execution_end` for the same `id`, carrying how the call ended.
120
142
  *
@@ -22,6 +22,7 @@ import { TASK_CONVERSATION_ENV, TASK_DEPTH_ENV, TASK_ENDPOINT_ENV, TASK_EXEC_END
22
22
  import { BLOCKING_UI_METHODS, EXTENSION_UI_METHODS, } from "./types.js";
23
23
  import { loadConversationImages } from "./upload.js";
24
24
  import { describeToolCall, describeToolCallArgs, describeToolCallInProgress, extractPartialResultText, extractToolResultText, readQuestionCall } from "./tool-calls.js";
25
+ import { toolTargetPath } from "./file-changes.js";
25
26
  const traceLatency = (conversationId, phase, startedAt, extra = "") => {
26
27
  if (process.env.SUPER_PI_TRACE_LATENCY !== "1")
27
28
  return;
@@ -730,6 +731,7 @@ export class PiRpcRuntime {
730
731
  const queue = new TurnQueue();
731
732
  const handlers = {
732
733
  onToolCall: input.onToolCall,
734
+ onFileWrite: input.onFileWrite,
733
735
  onToolUpdate: input.onToolUpdate,
734
736
  onToolPreparing: input.onToolPreparing,
735
737
  onToolEnd: input.onToolEnd,
@@ -1063,7 +1065,7 @@ export class PiRpcRuntime {
1063
1065
  * Still used for the memory review, the knowledge reranker, and as the fallback when Pi's SDK is not
1064
1066
  * installed. The main conversation path does NOT come here - see `answer`.
1065
1067
  */
1066
- async *answerOneShot({ conversation, prompt, signal, cwd, host, onPiQueue, onSteerDelivered, onUserEntry, onSessionFile, onToolCall, onToolUpdate, onToolPreparing, onToolEnd, onThinking, onThinkingEnd, images, memoryReview, memorySourceConversationId, knowledgeRerank }) {
1068
+ async *answerOneShot({ conversation, prompt, signal, cwd, host, onPiQueue, onSteerDelivered, onUserEntry, onSessionFile, onToolCall, onFileWrite, onToolUpdate, onToolPreparing, onToolEnd, onThinking, onThinkingEnd, images, memoryReview, memorySourceConversationId, knowledgeRerank }) {
1067
1069
  const latencyStartedAt = performance.now();
1068
1070
  traceLatency(conversation.id, "answer.begin", latencyStartedAt);
1069
1071
  await mkdir(this.sessionDir, { recursive: true });
@@ -1390,6 +1392,19 @@ export class PiRpcRuntime {
1390
1392
  catch (error) {
1391
1393
  console.warn(`PiRpcRuntime: the tool call handler threw: ${error instanceof Error ? error.message : "unknown error"}`);
1392
1394
  }
1395
+ // THE FILE-WRITING CALL, announced before it runs. This is the ONLY moment the old content
1396
+ // is still on the disk, so this is where a baseline has to be taken - and it is taken by a
1397
+ // listener that does its own I/O, off the drain loop's path, because a disk read between
1398
+ // yields would stall the stream.
1399
+ const writePath = toolTargetPath(name, record.args);
1400
+ if (writePath) {
1401
+ try {
1402
+ onFileWrite?.(writePath, name, record.toolCallId ?? undefined);
1403
+ }
1404
+ catch (error) {
1405
+ console.warn(`PiRpcRuntime: the file-write handler threw: ${error instanceof Error ? error.message : "unknown error"}`);
1406
+ }
1407
+ }
1393
1408
  continue;
1394
1409
  }
1395
1410
  if (record.type === "tool_execution_end") {
@@ -55,6 +55,18 @@ export interface ServerContext {
55
55
  execService: ExecService;
56
56
  toolRegistry: ToolRegistry;
57
57
  toolRunner: ToolRunner;
58
+ /**
59
+ * WHAT THE AGENT CHANGED, and what each file looked like before.
60
+ *
61
+ * The tracker is here because TWO layers need it: the run service writes to it (a write tool is
62
+ * announced, so the "before" is captured) and the HTTP layer reads from it (a diff request asks for
63
+ * the "before" of one file). Putting it in the context rather than inside either service is what
64
+ * keeps it ONE tracker - two trackers would be two answers to "what did the agent change", and only
65
+ * one of them would have the baselines.
66
+ */
67
+ fileChanges?: import("./file-changes.js").FileChangeTracker;
68
+ /** Shared file indexes: the HTTP layer starts them lazily and write paths refresh known entries. */
69
+ fileIndexes?: Map<string, import("./file-index.js").FileIndex>;
58
70
  /** Absent only if construction failed; a runtime with no Pi reports itself through `available`. */
59
71
  toolLlm?: import("./tool-llm.js").ToolLlmService;
60
72
  /**
@@ -930,6 +930,17 @@ export type ClientCommandBody =
930
930
  type: "providers.remove";
931
931
  providerId: string;
932
932
  }
933
+ /**
934
+ * Removes ONE model from a provider, leaving the provider and its other models alone.
935
+ *
936
+ * Separate from `providers.remove` because a provider is a GROUP of models sharing one address
937
+ * and one key: taking one model out must not cost the others their credential.
938
+ */
939
+ | {
940
+ type: "providers.removeModel";
941
+ providerId: string;
942
+ modelId: string;
943
+ }
933
944
  /** Asks for the providers Super Pi manages. The answer carries no key. */
934
945
  | {
935
946
  type: "providers.fetch";
@@ -1270,9 +1281,69 @@ export type MountedToolSummary = {
1270
1281
  description?: string;
1271
1282
  enabled: boolean;
1272
1283
  };
1284
+ /**
1285
+ * A file the agent changed, as the Files panel learns about it.
1286
+ *
1287
+ * `path` is workspace-relative and `/`-separated, the same spelling every other file path uses on the
1288
+ * wire. `baseline` is the content BEFORE the agent's write, or `null` when there was none - which is
1289
+ * how a NEW file is told from an EDITED one, and the two are different things to a reader.
1290
+ *
1291
+ * `baselineUnknown` says the "before" could not be read, as opposed to not existing. A diff view that
1292
+ * shows an empty "before" for a file that existed is a lie, and this flag is what keeps it from being
1293
+ * one.
1294
+ */
1295
+ export type ChangedFile = {
1296
+ path: string;
1297
+ /** The content before the agent wrote it, or `null` when the file did not exist then. */
1298
+ baseline: string | null;
1299
+ /** True when the baseline is missing because it could not be read, not because the file was new. */
1300
+ baselineUnknown?: boolean;
1301
+ /** The conversation the change belongs to, so a workspace's changes can be attributed to a session. */
1302
+ conversationId?: string;
1303
+ /** When it happened, so the panel can order a turn's changes the way they happened. */
1304
+ at: number;
1305
+ };
1273
1306
  export type ServerEvent = {
1274
1307
  type: "tools.updated";
1275
1308
  tools: MountedToolSummary[];
1309
+ }
1310
+ /**
1311
+ * THE AGENT CHANGED THESE FILES.
1312
+ *
1313
+ * WHY THIS EXISTS. The Files panel could browse the workspace but could not show a CHANGE, and a panel
1314
+ * that cannot show a change is a browser rather than a workbench: the user asked for the opposite - being
1315
+ * able to see the files is what makes the agent's edits reviewable. The server already knew which files
1316
+ * the agent wrote (the tool call names the path) and the knowledge went no further than one line on a
1317
+ * card, so a file the agent had rewritten looked exactly like a file it had never touched.
1318
+ *
1319
+ * A SNAPSHOT rather than a delta, like every other state-bearing event here: the client replaces its
1320
+ * list with this one, so a browser that missed an event rebuilds the list from the next one rather than
1321
+ * accumulating a partial truth.
1322
+ *
1323
+ * `dropped` says how many baselines were evicted because the per-workspace cap was reached. It is
1324
+ * reported rather than hidden, because a list that is shorter than the agent's actual work - with no
1325
+ * explanation - reads as "the agent only changed these" and is wrong.
1326
+ */
1327
+ | {
1328
+ type: "files.changed";
1329
+ workspaceId: string;
1330
+ changes: ChangedFile[];
1331
+ dropped: number;
1332
+ } | {
1333
+ type: "files.index";
1334
+ workspaceId: string;
1335
+ version: number;
1336
+ changed: {
1337
+ path: string;
1338
+ kind: "file" | "directory";
1339
+ size: number | null;
1340
+ mtimeMs: number | null;
1341
+ etag: string | null;
1342
+ text: boolean | null;
1343
+ }[];
1344
+ removed: string[];
1345
+ complete: boolean;
1346
+ skipped: string[];
1276
1347
  } | {
1277
1348
  type: "operation.result";
1278
1349
  requestId: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evandu/super-pi",
3
- "version": "0.1.105",
3
+ "version": "0.1.106",
4
4
  "description": "Web control plane and companion for Pi",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -87,6 +87,10 @@
87
87
  "scripts/tool-calls.test.mjs",
88
88
  "scripts/files-api.test.mjs",
89
89
  "scripts/files-missing-path.test.mjs",
90
+ "scripts/file-changes.test.mjs",
91
+ "scripts/file-index.test.mjs",
92
+ "scripts/file-content-search.test.mjs",
93
+ "scripts/file-diff-client.test.mjs",
90
94
  "scripts/task-tool.test.mjs",
91
95
  "scripts/fork-server.test.mjs",
92
96
  "scripts/styles-no-dangling.test.mjs",
@@ -130,6 +134,9 @@
130
134
  "scripts/session-context-menu-browser.test.mjs",
131
135
  "scripts/tool-call-blocks-browser.test.mjs",
132
136
  "scripts/files-tab-browser.test.mjs",
137
+ "scripts/file-quickopen-browser.test.mjs",
138
+ "scripts/file-content-search-browser.test.mjs",
139
+ "scripts/file-changes-browser.test.mjs",
133
140
  "scripts/msg-tabs-browser.test.mjs",
134
141
  "scripts/tabs-on-top-browser.test.mjs",
135
142
  "scripts/subagent-source.test.mjs",
@@ -154,8 +161,11 @@
154
161
  ],
155
162
  "dependencies": {
156
163
  "@earendil-works/pi-coding-agent": "^0.86.1",
164
+ "@types/diff": "^5.2.3",
157
165
  "@xterm/addon-fit": "^0.11.0",
158
166
  "@xterm/xterm": "^6.0.0",
167
+ "diff": "^5.2.2",
168
+ "fuse.js": "^7.5.0",
159
169
  "node-pty": "^1.2.0-beta.15",
160
170
  "ws": "latest"
161
171
  },
@@ -1 +0,0 @@
1
- @import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}:root{--picker-drop:0px;--picker-nudge:0px;--sidebar-width:270px;--composer-height:148px;--bg-app:#060709;--bg-panel:#11151c;--bg-elevated:#222935;--bg-raised:#1e242f;--bg-hover:#2c3646;--bg-input:#0c0e13;--bg-inset:#040507;--text-primary:#f4f5f6;--text-secondary:#caced3;--text-muted:#b5b9c0;--border-subtle:#1d2026;--border-default:#626b7a;--border-strong:#a0a7b0;--accent:#62d6da;--accent-hover:#84e8eb;--accent-contrast:#022021;--selected:#b7bcc2;--selected-bg:#364254;--selected-border:#6a7fa0;--tab-active-bg:#334157;--danger:#f3afb4;--danger-bg:#220c0d;--danger-border:#68272b;--danger-contrast:#220c0d;--warning:#eead58;--warning-bg:#2a1e0f;--warning-border:#684c27;--success:#86dfa1;--info:#96b6ee;--overlay:#060709cc;--shadow:#000000a8;--shadow-faint:#0005;--focus-ring:#80ecef;--focus-ring-glow:#62d6da33;--scrollbar-thumb:#8b929c;--scrollbar-track:#040507;--scrollbar-thumb-active:#b8bcc1}[data-theme=dracula],[data-preview=dracula]{--bg-app:#20212b;--bg-panel:#21222c;--bg-elevated:#303040;--bg-raised:#333547;--bg-hover:#393b50;--bg-input:#1e1f29;--bg-inset:#1e1f29;--text-primary:#f8f8f2;--text-secondary:#c8c8d0;--text-muted:#b1b1c1;--border-subtle:#3b3b50;--border-default:#6272a4;--border-strong:#b0b0d0;--accent:#bd93f9;--accent-hover:#d8b3fc;--accent-contrast:#1e1f29;--selected:#f8f8f2;--selected-bg:#565a72;--selected-border:#bd93f9;--tab-active-bg:#44475a;--danger:#f77;--danger-bg:#3b1f1f;--danger-border:#f55;--danger-contrast:#21222c;--warning:#ffb86c;--warning-bg:#3b2f1f;--warning-border:#ffb86c;--success:#50fa7b;--info:#8be9fd;--overlay:#282a36cc;--shadow:#000000b3;--shadow-faint:#0005;--focus-ring:#bd93f9;--focus-ring-glow:#bd93f933;--scrollbar-thumb:#a0accf;--scrollbar-track:#1e1f29;--scrollbar-thumb-active:#f8f8f2}[data-theme=monokai],[data-preview=monokai]{--bg-app:#242424;--bg-panel:#282828;--bg-elevated:#2b2b2b;--bg-raised:#383838;--bg-hover:#414141;--bg-input:#1e1e1e;--bg-inset:#1e1e1e;--text-primary:#f8f8f2;--text-secondary:#c8c8c8;--text-muted:#b1b1b1;--border-subtle:#3a3a3a;--border-default:#b0a476;--border-strong:#d0d0d0;--accent:#ff6188;--accent-hover:#ff89a0;--accent-contrast:#1e1e1e;--selected:#f8f8f2;--selected-bg:#606060;--selected-border:#ff6188;--tab-active-bg:#4a4a4a;--danger:#ff5c52;--danger-bg:#3b1f1f;--danger-border:#ff5c52;--danger-contrast:#1e1e1e;--warning:#ffb86c;--warning-bg:#3b2f1f;--warning-border:#ffb86c;--success:#a6e22e;--info:#78dce8;--overlay:#2d2d2dcc;--shadow:#000000b3;--shadow-faint:#0005;--focus-ring:#ff6188;--focus-ring-glow:#ff618833;--scrollbar-thumb:#8a8a8a;--scrollbar-track:#1e1e1e;--scrollbar-thumb-active:#ff6188}[data-theme=solarized-light],[data-preview=solarized-light]{--bg-app:#fdf6e3;--bg-panel:#eee8d5;--bg-elevated:#f5f0e0;--bg-raised:#fffffe;--bg-hover:#e8e0cc;--bg-input:#eee8d5;--bg-inset:#d9d3c0;--text-primary:#40565e;--text-secondary:#465b62;--text-muted:#495d62;--border-subtle:#d4ceb8;--border-default:#93a1a1;--border-strong:#586e75;--accent:#176da8;--accent-hover:#1a6aa0;--accent-contrast:#fdf6e3;--selected:#002b36;--selected-bg:#93a1a1;--selected-border:#268bd2;--tab-active-bg:#fffffe;--danger:#b52826;--danger-bg:#fce4e4;--danger-border:#dc322f;--danger-contrast:#fdf6e3;--warning:#806000;--warning-bg:#f8ecb8;--warning-border:#b58900;--success:#5d7000;--info:#176da8;--overlay:#fdf6e3cc;--shadow:#93a1a133;--shadow-faint:#93a1a119;--focus-ring:#268bd2;--focus-ring-glow:#268bd222;--scrollbar-thumb:#748585;--scrollbar-track:#d9d3c0;--scrollbar-thumb-active:#586e75}[data-theme=github-light],[data-preview=github-light]{--bg-app:#fff;--bg-panel:#f6f8fa;--bg-elevated:#fff;--bg-raised:#fff;--bg-hover:#eaeef2;--bg-input:#f6f8fa;--bg-inset:#d9dde3;--text-primary:#24292e;--text-secondary:#57606a;--text-muted:#555f69;--border-subtle:#d0d7de;--border-default:#8c959f;--border-strong:#373e47;--accent:#0969da;--accent-hover:#0550ae;--accent-contrast:#fff;--selected:#24292e;--selected-bg:#b9c5d3;--selected-border:#0969da;--tab-active-bg:#fff;--danger:#c51e2a;--danger-bg:#ffe4e4;--danger-border:#cf222e;--danger-contrast:#fff;--warning:#8f6400;--warning-bg:#fff3c4;--warning-border:#bf8700;--success:#1a7f37;--info:#0969da;--overlay:#fffd;--shadow:#0000001a;--shadow-faint:#0000000f;--focus-ring:#0969da;--focus-ring-glow:#0969da22;--scrollbar-thumb:#818b95;--scrollbar-track:#e1e4e8;--scrollbar-thumb-active:#57606a}.shell{background:radial-gradient(circle at 75% 5%,var(--bg-raised) 0,transparent 28rem),var(--bg-app);grid-template-rows:minmax(0,1fr);grid-template-columns:270px minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.message-revert{border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;opacity:.55;background:0 0;border-radius:6px;margin-left:12px;padding:2px 8px;font:11px Manrope;transition:opacity .12s,color .12s,border-color .12s}.message:hover .message-revert,.message-revert:focus-visible{opacity:1}.message-revert:hover{color:var(--text-primary);border-color:var(--border-strong)}@keyframes pulse{50%{opacity:.25}}@media (width<=700px){aside{border-right:0;border-bottom:1px solid var(--border-subtle);min-height:0;padding:12px}.brand{padding:3px 8px 12px}.label,aside footer{display:none}nav{flex:0 auto;min-height:0;max-height:min(30vh,190px);display:grid;overflow:auto}.workspace-group{min-width:0}.chat{padding:0 17px}header{min-height:0;padding:14px 0;overflow:clip}form{margin-bottom:14px}.messages{padding:14px 0}.picker{padding:14px}.picker-list{height:min(320px,45vh)}}:root{color:var(--text-primary);background:var(--bg-app);font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}.shell{grid-template-columns:var(--sidebar-width,270px) minmax(0,1fr) var(--rail-col,320px);--rail-col:var(--rail-width);background:radial-gradient(circle at 75% 5%,var(--bg-raised) 0,transparent 28rem),var(--bg-app);grid-template-rows:minmax(0,1fr);height:100dvh;display:grid;position:relative;overflow:hidden}aside{border-right:1px solid var(--border-subtle);background:var(--bg-panel);flex-direction:column;min-height:0;padding:20px 13px;display:flex}.brand{align-items:center;gap:10px;padding:3px 8px 24px;display:flex}.brand>span,.orb{background:linear-gradient(135deg,var(--selected),var(--info));width:34px;height:34px;color:var(--bg-app);border-radius:11px;place-items:center;font:700 25px Georgia;display:grid}.brand strong{letter-spacing:.14em;font-size:13px}.brand small,aside footer,aside footer span{color:var(--text-muted);margin-top:2px;font:11px DM Mono,monospace;display:block}.sidebar-actions{display:grid}.workspace-new{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;padding:10px 9px;font-size:12px}.empty button{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:0;border-radius:10px;padding:12px;font-weight:800}.label{text-transform:uppercase;letter-spacing:.13em;color:var(--text-muted);margin:27px 9px 9px;font:700 12px DM Mono,monospace}nav{flex:1;grid-template-columns:minmax(0,1fr);align-content:start;gap:7px;min-height:0;display:grid;overflow:auto}.workspace-group{border-bottom:1px solid var(--border-subtle);padding-bottom:7px}.workspace-header{align-items:center;gap:3px;display:flex}.workspace-toggle{min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:7px;padding:8px 6px;display:flex}.workspace-toggle strong,.workspace-toggle small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workspace-toggle strong{font-size:12px}.workspace-toggle>span{min-width:0;overflow:hidden}.workspace-toggle small{color:var(--text-muted);margin-top:3px;font:10px DM Mono,monospace}.chevron{color:var(--text-muted);font-size:14px}.workspace-add,.workspace-settings,.workspace-delete{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:5px;font-size:16px}.workspace-settings,.workspace-delete{font-size:13px}.conversation{color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;gap:8px;min-width:0;padding:8px 9px 8px 25px;font:500 12px Manrope;display:flex}.conversation small{color:var(--text-muted);flex:none;font:10px DM Mono,monospace}.conversation.selected{background:var(--bg-hover);color:var(--text-primary)}.conversation.selected small{color:var(--text-secondary)}.conversation-empty{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;padding:7px 9px 7px 29px;font:700 11px DM Mono,monospace;overflow:hidden}aside footer{flex-direction:column;align-items:stretch;gap:8px;margin-top:auto;padding:20px 8px 3px;display:flex}aside footer .footer-status{border-bottom:1px solid var(--border-subtle);align-items:center;gap:7px;padding-bottom:9px;display:flex}aside footer .footer-status>span{margin-left:auto}.online,.offline{background:var(--success);border-radius:50%;width:7px;height:7px}.offline{background:var(--warning)}.chat{flex-direction:column;width:100%;max-width:1080px;min-height:0;margin:0 auto;padding:0 42px;display:flex}header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:27px 0 23px;display:flex}h1{margin:0;font-size:19px}header p{color:var(--text-muted);margin:5px 0 0;font-size:12px}.badge{text-transform:uppercase;border:1px solid var(--border-default);color:var(--text-secondary);border-radius:99px;padding:6px 9px;font:11px DM Mono,monospace}.messages{flex:1;align-content:start;gap:26px;min-height:0;padding:32px 0;display:grid;overflow:auto}.message{grid-template-columns:34px minmax(0,1fr);gap:13px;display:grid}.avatar{background:var(--bg-raised);width:32px;height:32px;color:var(--text-primary);border-radius:50%;place-items:center;font:700 12px Manrope;display:grid}.assistant .avatar{background:var(--bg-elevated);color:var(--text-primary)}.meta{margin:2px 0 7px;font-size:12px;font-weight:700}.meta time{color:var(--text-muted);margin-left:10px;font:400 10px DM Mono,monospace}.content{white-space:pre-wrap;color:var(--text-primary);font-size:14px;line-height:1.75}.typing:after{content:"路路路";animation:1s infinite pulse}.error{background:var(--danger-bg);color:var(--danger);border-radius:8px;margin-top:14px;padding:10px 13px;font-size:13px}.error[data-global-error]{justify-content:space-between;align-items:center;gap:12px;display:flex}.error[data-global-error] button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:18px;line-height:1}.footer-version{color:var(--text-muted);padding:0 2px;font:10px DM Mono,monospace}form{border:1px solid var(--border-default);background:var(--bg-raised);box-shadow:0 15px 40px var(--shadow-faint);border-radius:13px;flex-shrink:0;margin:0 0 30px}textarea{resize:none;width:100%;height:88px;color:var(--text-primary);background:0 0;border:0;outline:0;padding:15px;font:14px Manrope}.composer{color:var(--text-muted);justify-content:space-between;align-items:center;padding:0 10px 10px 15px;font:10px DM Mono,monospace;display:flex}.composer button{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:0;border-radius:8px;padding:8px 13px;font-weight:800}.composer .stop{background:var(--danger)}.composer .send:disabled{opacity:1;cursor:not-allowed;background:var(--bg-raised);border:1px solid var(--border-default);color:var(--text-secondary);box-shadow:inset 0 1px var(--shadow-faint)}.overlay{background:var(--overlay);z-index:10;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.picker{background:var(--bg-raised);border:1px solid var(--border-default);width:min(480px,100%);box-shadow:0 25px 60px var(--shadow-faint);border-radius:14px;padding:20px}.picker h2{margin:0 0 12px;font-size:15px}.picker-path{color:var(--text-secondary);word-break:break-all;margin-bottom:9px;font:12px DM Mono,monospace}.picker-list{border:1px solid var(--border-subtle);background:var(--bg-input);border-radius:9px;height:320px;overflow:auto}.picker-dir{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:8px 11px;font:12px DM Mono,monospace;display:flex}.picker-dir:hover{background:var(--bg-hover)}.picker-status{color:var(--text-muted);padding:12px;font:11px DM Mono,monospace}.picker-error{background:var(--danger-bg);color:var(--danger);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin:12px;padding:10px 13px;font-size:12px;display:flex}.picker-error button{border:1px solid var(--danger-border);color:var(--danger);cursor:pointer;background:0 0;border-radius:6px;padding:3px 9px}.picker-name{color:var(--text-secondary);align-items:center;gap:9px;margin-top:14px;font-size:12px;display:flex}.picker-name input{border:1px solid var(--border-default);background:var(--bg-input);min-width:0;color:var(--text-primary);border-radius:8px;outline:0;flex:1;padding:8px 10px;font:13px Manrope}.picker-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.picker-actions button{cursor:pointer;border:0;border-radius:8px;padding:9px 14px;font-weight:700}.picker-cancel{border:1px solid var(--border-default);color:var(--text-secondary);background:0 0}.picker-ok{background:var(--accent);color:var(--accent-contrast)}.picker-ok:disabled{opacity:.4;cursor:not-allowed}.empty{text-align:center;color:var(--text-secondary);place-self:center;margin-top:20vh}.empty .orb{width:55px;height:55px;margin:auto;font-size:38px}.empty h2{color:var(--text-primary);margin-bottom:5px}.empty p{font-size:13px}.empty button{margin-top:14px}@media (width<=700px){aside{border-right:0;border-bottom:1px solid var(--border-subtle);min-height:0;padding:12px}.brand{padding:3px 8px 12px}.label,aside footer{display:none}nav{flex:0 auto;min-height:0;max-height:min(30vh,190px);display:grid;overflow:auto}.workspace-group{min-width:0}.chat{padding:0 17px}header{min-height:0;padding:14px 0;overflow:clip}form{margin-bottom:14px}.messages{padding:14px 0}.picker{padding:14px}.picker-list{height:min(320px,45vh)}}.extui{flex:0 auto;gap:10px;min-width:0;max-height:min(45vh,420px);margin-bottom:12px;display:grid;overflow:auto}.extui-card{border:1px solid var(--border-default);background:var(--bg-elevated);min-width:0;box-shadow:0 12px 30px var(--shadow-faint);border-radius:12px;gap:9px;padding:13px 14px;display:grid}.extui-head{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.extui-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--info);border:1px solid var(--info);border-radius:99px;padding:3px 8px;font:10px DM Mono,monospace}.extui-deadline{color:var(--warning);font:10px DM Mono,monospace}.extui-title{color:var(--text-primary);overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px;line-height:1.5}.extui-body{color:var(--text-secondary);overflow-wrap:anywhere;min-width:0;margin:0;font-size:13px;line-height:1.7}.extui-options{gap:6px;min-width:0;display:grid}.extui-option{border:1px solid var(--border-default);background:var(--bg-input);width:100%;min-width:0;color:var(--text-primary);cursor:pointer;text-align:left;overflow-wrap:anywhere;border-radius:8px;padding:9px 11px;font:12px DM Mono,monospace}.extui-option:hover{background:var(--bg-hover)}.extui-form{gap:9px;min-width:0;display:grid}.extui-field{box-sizing:border-box;border:1px solid var(--border-default);background:var(--bg-inset);width:100%;min-width:0;color:var(--text-primary);resize:vertical;border-radius:8px;outline:0;padding:9px 11px;font:13px Manrope}.extui-field:focus{border-color:var(--focus-ring)}.extui-actions{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.extui-actions button{cursor:pointer;border:0;border-radius:8px;padding:8px 13px;font-size:12px;font-weight:700}.extui-primary{background:var(--accent);color:var(--accent-contrast)}.extui-primary:disabled{opacity:.4;cursor:not-allowed}.extui-no{background:var(--danger);color:var(--danger-contrast)}.extui-cancel{border:1px solid var(--border-default);color:var(--text-secondary);background:0 0}.extui-widget{border:1px dashed var(--border-default);background:var(--bg-raised);min-width:0;max-height:min(30vh,220px);color:var(--text-secondary);overflow-wrap:anywhere;border-radius:10px;gap:3px;margin-bottom:10px;padding:9px 12px;font:11px DM Mono,monospace;display:grid;overflow:auto}.extui-title-note{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);overflow-wrap:anywhere;border-radius:8px;min-width:0;margin-top:12px;padding:7px 11px;font:11px DM Mono,monospace}.toasts{gap:8px;min-width:0;margin:12px 0 0;display:grid}.toast{border:1px solid var(--border-default);background:var(--bg-raised);min-width:0;color:var(--text-primary);overflow-wrap:anywhere;word-break:break-word;border-radius:10px;padding:10px 13px;font-size:12px;line-height:1.6}.toast-warning{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning)}.toast-error{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}@media (width<=700px){.toasts{width:min(560px,100vw - 32px);max-width:calc(100vw - 32px);left:50%}.extui{max-height:min(38vh,320px)}.extui-card{padding:11px 12px}.extui-title{font-size:13px}.extui-body{font-size:12px}.extui-actions button{padding:7px 11px}}.extui-form{box-shadow:none;background:0 0;border:0;border-radius:0;flex-shrink:0;gap:9px;min-width:0;margin:0;padding:0;display:grid}.stream-tail{border:1px solid var(--border-default);background:var(--bg-raised);min-height:38px;color:var(--text-secondary);border-bottom:0;border-radius:9px 9px 0 0;grid-template-columns:1fr auto 1fr;align-items:center;margin:0;padding:0 15px;font:10px DM Mono,monospace;display:grid;position:relative}.stream-tail-status{white-space:nowrap;text-overflow:ellipsis;justify-self:start;overflow:hidden}.stream-tail-jump{border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);cursor:pointer;border-radius:7px;justify-self:center;padding:6px 12px;font:700 11px Manrope}.stream-tail-jump:hover{border-color:var(--focus-ring)}.stream-tail-mode{color:var(--text-secondary);white-space:nowrap;justify-self:end}.stream-tail-mode[data-follow-tail=true]{color:var(--info)}@media (width<=700px){.stream-tail{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:5px 15px}.stream-tail-mode{grid-column:1/-1;justify-self:start;font-size:9px}}.conversation-row{align-items:center;gap:2px;min-width:0;display:flex}.conversation{flex:1 1 0}.conversation>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.conversation>small{flex:none}.conversation-archive{width:20px;height:20px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:0 0 20px;place-items:center;font-size:14px;line-height:1;transition:color .12s,background .12s;display:grid}.conversation-archive:hover{background:var(--bg-hover);color:var(--text-primary)}.conversation-archive:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.archived-group{border-top:1px dashed var(--border-subtle);margin-top:5px;padding-top:5px}.archived-toggle{width:100%;min-width:0;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:6px 6px 6px 25px;font:11px DM Mono,monospace;display:flex}.archived-toggle:hover{color:var(--text-secondary)}.archived-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-archived{color:var(--text-muted);cursor:default;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:8px 9px 8px 25px;font:500 12px Manrope;display:flex}.conversation-archived>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.conversation-archived small{color:var(--text-muted);flex:none;font:500 10px DM Mono,monospace}.conversation-restore{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;padding:1px 3px;font-size:14px;line-height:1}.conversation-restore:hover{background:var(--bg-hover);color:var(--text-primary)}@media (width<=700px){.conversation-archived{padding-left:25px}}.inline-edit{flex:1 1 0;align-items:center;gap:3px;min-width:0;display:flex}.inline-edit-input{border:1px solid var(--border-default);background:var(--bg-raised);min-width:0;color:var(--text-primary);border-radius:7px;outline:0;flex:1 1 0;padding:6px 8px;font:600 12px Manrope}.inline-edit-input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 2px var(--focus-ring-glow)}.inline-edit-ok,.inline-edit-cancel{border:1px solid var(--border-strong);background:var(--bg-raised);width:22px;height:22px;color:var(--text-primary);cursor:pointer;border-radius:6px;flex:0 0 22px;place-items:center;font-size:12px;line-height:1;transition:background .12s,color .12s,border-color .12s;display:grid}.inline-edit-ok:hover{background:var(--accent);border-color:var(--border-strong);color:var(--accent-contrast)}.inline-edit-cancel:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.inline-edit-ok:focus-visible,.inline-edit-cancel:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.inline-edit-ok:disabled{background:var(--bg-raised);border-color:var(--border-default);color:var(--text-muted);cursor:not-allowed}.conversation-time{color:var(--text-secondary);flex:none;font:10px DM Mono,monospace}.session-picker{border-bottom:1px solid var(--border-subtle);scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;margin-bottom:11px;padding:8px 10px 0 15px;display:flex;overflow-x:auto}.session-picker::-webkit-scrollbar{display:none}.session-picker-item{min-width:0;max-width:100%;position:relative}.session-picker-trigger{white-space:nowrap;border:1px solid var(--border-default);background:var(--bg-raised);min-width:max-content;max-width:none;color:var(--text-primary);cursor:pointer;border-radius:9px;align-items:center;gap:5px;padding:6px 9px;transition:border-color .12s,background .12s;display:flex}.session-picker-trigger:hover{border-color:var(--border-default);background:var(--bg-hover)}.session-picker-trigger:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.session-picker-name{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font:700 12px Manrope;overflow:hidden}.session-picker-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);flex:0 auto;font:10px DM Mono,monospace;overflow:hidden}.session-picker-caret{color:var(--text-secondary);flex:none;font-size:10px}.session-picker-trigger:disabled{cursor:not-allowed;background:var(--bg-raised);border-color:var(--border-default)}.session-picker-trigger:disabled .session-picker-name,.session-picker-trigger:disabled .session-picker-detail,.session-picker-trigger:disabled .session-picker-caret{color:var(--text-secondary)}.picker-menu{z-index:20;border:1px solid var(--border-default);background:var(--bg-elevated);width:max-content;min-width:100%;max-width:min(420px,88vw);box-shadow:0 18px 44px var(--shadow);transform:translate(var(--picker-nudge,0px),var(--picker-drop,0px));border-radius:12px;padding:6px;position:absolute;bottom:calc(100% + 7px);left:0}.picker-list{background:var(--bg-input);border:0;border-radius:9px;align-content:start;height:auto;max-height:min(46vh,340px);display:grid;overflow:auto}.picker-option{width:100%;min-width:0;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-items:baseline;gap:8px;padding:8px 10px;display:flex}.picker-option:hover{background:var(--bg-hover);color:var(--text-primary)}.picker-option:focus-visible{outline:1px solid var(--focus-ring);outline-offset:-1px}.picker-option.selected{background:var(--bg-raised)}.picker-option.selected:hover{background:var(--bg-hover)}.picker-option-name{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font:600 12px Manrope;overflow:hidden}.picker-option.selected .picker-option-name{color:var(--text-primary)}.picker-option-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);text-align:right;flex:auto;font:10px DM Mono,monospace;overflow:hidden}.composer-resize{z-index:9;cursor:ns-resize;touch-action:none;height:9px;position:absolute;top:-4px;left:0;right:0}.composer-resize:before{content:"";background:var(--border-default);opacity:.65;border-radius:2px;height:2px;position:absolute;top:3px;left:20%;right:20%}.composer-resize:hover:before,.composer-resize:focus-visible:before,.composer-resize-dragging:before{background:var(--focus-ring);opacity:1}.composer-resize:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;border-radius:3px}.picker-option-swatch{border-radius:50%;flex:none;align-self:center;width:7px;height:7px}.session-picker-agent .picker-menu{min-width:min(330px,78vw)}.picker-option:hover .picker-option-detail{color:var(--text-primary)}.picker-option-mark{color:var(--selected);flex:none;font-size:12px}@media (width<=700px){.session-picker{gap:6px;padding:8px 9px 0 12px}.session-picker-trigger{padding:5px 7px}.picker-menu{max-width:calc(100vw - 44px)}.picker-list{max-height:min(38vh,260px)}}.session-picker-kind{border-right:1px solid var(--border-default);color:var(--text-muted);letter-spacing:.06em;flex:none;align-self:stretch;align-items:center;padding-right:7px;font:700 10px Manrope;display:flex}.session-picker-trigger:disabled .session-picker-kind{color:var(--text-secondary);border-right-color:var(--border-default)}.session-picker-trigger:hover .session-picker-kind{color:var(--text-muted)}.chat>form{flex-direction:column;flex:0 auto;min-height:0;display:flex}.chat>form textarea{flex:auto;min-height:56px}@media (width<=700px){nav{max-height:min(190px,max(84px,44vh - 113px))}}@media (width<=440px){.session-picker-detail{display:none}}.picker-filter{border:1px solid var(--border-default);background:var(--bg-inset);border-radius:9px;align-items:center;gap:7px;margin:0 2px 6px;padding:0 9px;display:flex}.picker-filter:focus-within{border-color:var(--focus-ring)}.picker-filter-icon{color:var(--text-muted);flex:none;font-size:11px;line-height:1}.picker-filter-input{min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;flex:1 1 0;padding:8px 0;font:12px Manrope}.picker-filter-input::placeholder{color:var(--text-muted)}.picker-filter-clear{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;padding:2px 5px;font-size:11px;line-height:1}.picker-filter-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.picker-current{background:var(--bg-raised);border-radius:9px;align-items:baseline;gap:7px;min-width:0;margin:0 2px 6px;padding:6px 9px;display:flex}.picker-current-label{color:var(--selected);letter-spacing:.06em;flex:none;font:700 10px Manrope}.picker-current-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);flex:0 auto;font:600 12px Manrope;overflow:hidden}.picker-empty{color:var(--text-secondary);text-align:center;overflow-wrap:anywhere;padding:14px 10px;font:11px DM Mono,monospace}.slash-menu{border:1px solid var(--border-default);background:var(--bg-elevated);width:max-content;min-width:260px;max-width:min(400px,90vw);box-shadow:0 18px 44px var(--shadow);transform:translate(var(--slash-nudge,0px),var(--slash-drop,0px));scrollbar-width:thin;scrollbar-color:var(--border-default) transparent;border-radius:12px;max-height:min(320px,55vh);padding:6px;overflow-y:auto}.slash-menu-item{width:100%;min-width:0;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-items:baseline;gap:0;padding:9px 12px;font:12px Manrope;display:flex}.slash-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.slash-menu-item:focus-visible{outline:1px solid var(--focus-ring);outline-offset:-1px}.slash-menu-item.selected{background:var(--bg-raised)}.slash-menu-item-id{color:var(--text-primary);flex:none;font-weight:700}.slash-menu-item-sep{color:var(--text-secondary);flex:none;margin:0 4px}.slash-menu-item-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);flex:auto;overflow:hidden}.slash-menu-item.selected .slash-menu-item-label{color:var(--text-primary)}.slash-menu-item-examples{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);flex:0 auto;margin-left:6px;font:10px DM Mono,monospace;overflow:hidden}.slash-menu-empty{color:var(--text-secondary);text-align:center;padding:14px 10px;font:11px DM Mono,monospace}.picker-option.preview{background:var(--bg-hover);box-shadow:inset 2px 0 0 var(--border-strong)}.picker-option.preview .picker-option-name,.picker-option.preview .picker-option-detail{color:var(--text-primary)}.settings-dialog{width:min(440px,100%)}.settings-scope{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:-6px 0 2px;font:11px DM Mono,monospace;overflow:hidden}.settings-row{grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;margin-top:12px;display:grid}.settings-label{color:var(--text-secondary);font-size:12px}.general-nickname{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.general-nickname-label{color:var(--text-secondary);min-width:36px;font-size:12px}.general-nickname-input{border:1px solid var(--border-default);background:var(--bg-input);min-width:0;color:var(--text-primary);border-radius:8px;outline:0;flex:180px;padding:8px 10px;font:13px Manrope}.general-nickname-input:focus{border-color:var(--focus-ring)}.general-nickname-hint{color:var(--text-muted);flex:1 0 100%;font:11px DM Mono,monospace}.settings-row .session-picker-trigger{width:100%;min-width:0;max-width:100%}.picker-actions .settings-rename{border:1px solid var(--border-default);color:var(--text-secondary);background:0 0;margin-right:auto}@media (width<=700px){.settings-row{grid-template-columns:1fr;gap:5px}}.subagent-card{border:1px solid var(--border-strong);background:var(--bg-elevated);min-width:0;box-shadow:0 10px 26px var(--shadow-faint);border-radius:12px;gap:8px;margin:2px 0 14px 46px;padding:12px 14px;display:grid}.subagent-card.subagent-running{border-color:var(--info)}.subagent-card.subagent-failed{border-color:var(--danger-border)}.subagent-head{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.subagent-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--info);border:1px solid var(--info);border-radius:99px;flex:none;padding:3px 8px;font:10px DM Mono,monospace}.subagent-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);flex:0 auto;font:700 13px Manrope;overflow:hidden}.subagent-status{color:var(--text-secondary);border-left:1px solid var(--border-default);flex:none;padding-left:8px;font:10px DM Mono,monospace}.subagent-running .subagent-status{color:var(--info)}.subagent-failed .subagent-status{color:var(--danger)}.subagent-clock,.subagent-duration{letter-spacing:.02em;white-space:nowrap;color:var(--text-secondary);flex:none;font:10px DM Mono,monospace}.subagent-activity{min-width:0;color:var(--text-secondary);overflow-wrap:anywhere;align-items:center;gap:7px;font:11px DM Mono,monospace;display:flex}.subagent-activity-dot{background:var(--info);border-radius:99px;flex:none;width:6px;height:6px;animation:1.2s ease-in-out infinite subagent-pulse}@keyframes subagent-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}@media (prefers-reduced-motion:reduce){.subagent-activity-dot{animation:none}}.subagent-failure{min-width:0;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);overflow-wrap:anywhere;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:8px;padding:6px 9px;font:11px DM Mono,monospace;display:flex}.subagent-failure-label{letter-spacing:.06em;color:var(--danger);flex:none;font-weight:700}.subagent-failure-stage{min-width:0;color:var(--danger);flex:0 auto}.subagent-failure-tool,.subagent-failure-progress{min-width:0;color:var(--danger);overflow-wrap:anywhere;flex:0 auto}.subagent-stop{border:1px solid var(--border-default);background:var(--bg-raised);color:var(--text-primary);cursor:pointer;border-radius:8px;flex:none;margin-left:auto;padding:4px 11px;font:700 11px Manrope}.subagent-stop:hover{background:var(--danger);border-color:var(--danger-border);color:var(--danger-contrast)}.subagent-stop:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.subagent-task{min-width:0;color:var(--text-secondary);overflow-wrap:anywhere;border-left:2px solid var(--border-default);padding-left:9px;font:11px DM Mono,monospace}.subagent-by-model{border-color:var(--warning-border)}.subagent-source{letter-spacing:.04em;color:var(--warning);background:var(--warning-bg);border:1px solid var(--warning-border);white-space:nowrap;border-radius:99px;flex:none;align-items:center;gap:5px;padding:3px 9px;font:700 10px Manrope;display:inline-flex}.subagent-source-glyph{flex:none;font-size:11px;line-height:1}.subagent-task-source{letter-spacing:.06em;color:var(--warning);margin-right:7px;font:700 10px Manrope;display:inline-block}.subagent-output{min-width:0;max-height:min(38vh,300px);color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 Manrope;overflow:auto}.subagent-error{min-width:0;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);overflow-wrap:anywhere;border-radius:8px;padding:8px 10px;font:12px/1.6 Manrope}.subagent-tools{gap:3px;min-width:0;display:grid}.subagent-tool{min-width:0;color:var(--text-muted);background:var(--bg-raised);border-radius:6px;align-items:baseline;gap:7px;padding:4px 8px;font:11px DM Mono,monospace;display:flex}.subagent-tool-glyph{color:var(--text-secondary);flex:none}.subagent-tool-label{white-space:nowrap;min-width:max-content;color:var(--text-primary);flex:none;overflow:visible}.subagent-tool-error .subagent-tool-glyph{color:var(--danger)}.subagent-tool-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);text-align:right;flex:auto;overflow:hidden}.subagent-tool-duration{color:var(--text-muted);flex:none;padding-left:2px;font-size:10px}.subagent-more{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:0;flex:none;padding:2px 0;font:11px DM Mono,monospace}.subagent-more:hover{color:var(--text-primary)}.subagent-usage{border-top:1px solid var(--border-subtle);min-width:0;color:var(--text-secondary);flex-wrap:wrap;gap:10px;padding-top:8px;font:10px DM Mono,monospace;display:flex}.subagent-collapse{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:7px;flex:none;align-self:flex-start;padding:3px 9px;font:11px DM Mono,monospace}.subagent-collapse:hover{background:var(--bg-hover);color:var(--text-primary)}@media (width<=700px){.subagent-card{margin-left:0}.subagent-output{max-height:min(34vh,240px)}}.call-blocks{gap:5px;min-width:0;margin-top:8px;margin-bottom:8px;display:grid}.call-block{border:1px solid var(--border-default);border-left:1px solid var(--border-strong);background:var(--bg-elevated);border-radius:8px;min-width:0;padding:5px 9px 5px 15px;position:relative}.call-fold-edge{cursor:pointer;z-index:1;background:0 0;border:0;width:12px;min-width:12px;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.call-fold-edge:before{content:"";background:var(--bg-raised);border-radius:99px;width:3px;transition:background .12s linear,width .12s linear,inset-inline-start .12s linear;position:absolute;inset-block:4px;inset-inline-start:4px}.call-fold-edge:hover:before,.call-fold-edge:focus-visible:before{background:var(--border-strong);width:7px;inset-inline-start:2px}.call-fold-edge:focus-visible{outline:1px solid var(--focus-ring);outline-offset:-1px;border-radius:4px}.call-head-row{align-items:center;gap:6px;min-width:0;display:flex}.call-head{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:auto;align-items:baseline;gap:7px;padding:2px 0;font:11px DM Mono,monospace;display:flex}.call-chevron{color:var(--text-muted);flex:none;font-size:10px}.call-glyph{color:var(--text-secondary);flex:none}.call-block-error .call-glyph{color:var(--danger)}.call-label{white-space:nowrap;min-width:max-content;color:var(--text-primary);flex:none;overflow:visible}.call-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);flex:auto;overflow:hidden}.call-duration{color:var(--text-muted);white-space:nowrap;flex:none;padding-left:2px;font-size:10px}.call-fold-top{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:2px 8px;font:11px DM Mono,monospace}.call-fold-top:hover{background:var(--bg-hover);color:var(--text-primary)}.call-live-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;border-left:2px dashed var(--border-subtle);cursor:pointer;margin-top:4px;margin-left:18px;padding:2px 8px;font:10px/1.4 DM Mono,monospace;overflow:hidden}.call-fold-top:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.call-args{border-top:1px solid var(--border-subtle);gap:2px;min-width:0;max-height:min(40vh,320px);margin-top:5px;padding-top:5px;display:grid;overflow:auto}.call-arg{min-width:0;color:var(--text-muted);background:var(--bg-raised);border-radius:5px;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:8px;padding:3px 8px;font:11px DM Mono,monospace;display:grid}.call-arg-key{min-width:0;color:var(--selected);overflow-wrap:anywhere}.call-arg-value{overflow-wrap:anywhere;min-width:0;color:var(--text-muted);flex:auto}.call-arg-empty{color:var(--text-muted)}@media (width<=700px){.call-fold-edge{width:10px;min-width:10px}.call-fold-edge:before{inset-inline-start:3px}.call-block{padding-left:13px}}.queue-dock{border:1px solid var(--border-default);background:var(--bg-raised);border-radius:11px;flex-direction:column;flex:none;gap:0;min-width:0;margin-bottom:10px;display:flex;overflow:hidden}.queue-dock-head{background:var(--bg-raised);width:100%;min-width:0;color:var(--text-primary);cursor:pointer;text-align:left;border:0;align-items:center;gap:8px;padding:9px 12px;font:12px Manrope;display:flex}.queue-dock-head:hover{background:var(--bg-hover)}.queue-dock-head strong{color:var(--text-primary);flex:none;font-weight:700}.queue-dock-head .chevron{color:var(--text-muted);flex:none}.queue-dock-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);flex:auto;font:11px DM Mono,monospace;overflow:hidden}.queue-dock-badge{color:var(--warning);border:1px solid var(--warning-border);border-radius:99px;flex:none;padding:2px 8px;font:10px DM Mono,monospace}.queue-dock-list{flex-direction:column;gap:5px;min-width:0;max-height:min(26vh,190px);margin:0;padding:0 6px 7px;list-style:none;display:flex;overflow-y:auto}.queue-row{background:var(--bg-raised);border-radius:8px;align-items:center;gap:8px;min-width:0;padding:6px 8px;display:flex}.queue-index{background:var(--bg-hover);width:17px;height:17px;color:var(--text-muted);border-radius:99px;flex:none;place-items:center;font:10px DM Mono,monospace;display:grid}.queue-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);flex:auto;font:12px Manrope;overflow:hidden}.queue-state{color:var(--text-muted);border:1px solid var(--border-default);border-radius:99px;flex:none;padding:2px 8px;font:10px DM Mono,monospace}.queue-row-sending .queue-state{color:var(--warning);border-color:var(--warning-border)}.queue-steer,.queue-interrupt,.queue-edit,.queue-cancel,.queue-edit-save,.queue-edit-cancel{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:7px;flex:none;padding:4px 10px;font:11px Manrope}.queue-steer{border-color:var(--selected-border);background:var(--selected-bg);font-weight:700}.queue-interrupt{border-color:var(--danger-border);color:var(--danger);font-weight:700}.queue-cancel:hover{background:var(--bg-hover);color:var(--danger);border-color:var(--danger-border)}.queue-steer:hover,.queue-interrupt:hover,.queue-edit:hover,.queue-edit-save:hover,.queue-edit-cancel:hover{background:var(--bg-hover)}.queue-steer:focus-visible,.queue-interrupt:focus-visible,.queue-edit:focus-visible,.queue-cancel:focus-visible,.queue-edit-save:focus-visible,.queue-edit-cancel:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.queue-locked{color:var(--warning);flex:none;font:10px DM Mono,monospace}.queue-row-edit{flex:auto;align-items:flex-start;gap:8px;min-width:0;display:flex}.queue-row-edit textarea{resize:vertical;min-width:0;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--selected-border);border-radius:8px;flex:auto;padding:6px 8px;font:12px/1.6 Manrope}.queue-row-edit textarea:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.queue-bg-result{flex:auto;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.queue-bg-result .bg-result-glyph{font-size:12px}.queue-bg-result .bg-result-label{color:var(--text-muted);letter-spacing:.04em;flex:none;font:10px DM Mono,monospace}.queue-bg-result .bg-result-summary{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font:12px Manrope;overflow:hidden}.queue-row.queue-row-bg-result{border-left:3px solid var(--info);padding-left:6px}.queue-row.queue-row-bg-result[data-bg-result-state=error]{border-left-color:var(--danger)}@media (width<=700px){.queue-dock-list{max-height:min(30vh,220px)}.queue-row{flex-wrap:wrap}.queue-text{flex-basis:100%}}.md{white-space:normal}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md-p{white-space:pre-wrap;margin:0 0 11px}.md-h{color:var(--text-primary);margin:19px 0 9px;font-weight:800;line-height:1.35}.md-h1{font-size:19px}.md-h2{font-size:17px}.md-h3{font-size:15px}.md-h4,.md-h5,.md-h6{color:var(--text-primary);font-size:14px}.md-strong{color:var(--text-primary);font-weight:800}.md-em{font-style:italic}.md-del{opacity:.62}.md-ul,.md-ol{margin:0 0 11px;padding-left:23px}.md-li{margin:3px 0}.md-li>.md-ul,.md-li>.md-ol{margin:3px 0 0}.md-li>.md-p:last-child{margin-bottom:0}.md-quote{border-left:3px solid var(--border-default);color:var(--text-secondary);margin:0 0 11px;padding:2px 0 2px 12px}.md-rule{border:0;border-top:1px solid var(--border-subtle);margin:16px 0}.md-link{color:var(--accent);text-underline-offset:2px;overflow-wrap:anywhere;text-decoration:underline}.md-link:hover{color:var(--accent-hover)}.md-code-inline{background:var(--bg-raised);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:5px;padding:1px 5px;font:12px DM Mono,ui-monospace,monospace}.md-pre{background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:9px;max-width:100%;margin:0 0 12px;padding:11px 13px;overflow:auto}.md-code{color:var(--text-primary);white-space:pre;font:12px/1.6 DM Mono,ui-monospace,monospace}.md-pre[data-md-lang]:before{content:attr(data-md-lang);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font:10px DM Mono,monospace;display:block}.md-table-wrap{max-width:100%;margin:0 0 12px;overflow-x:auto}.md-table{border-collapse:collapse;width:100%;font-size:13px}.md-table th,.md-table td{border:1px solid var(--border-subtle);text-align:left;vertical-align:top;padding:6px 10px}.md-table th{background:var(--bg-raised);color:var(--text-primary);font-weight:800}.md-table tbody tr:nth-child(2n){background:var(--bg-raised)}.md-math{color:var(--text-primary);font-family:DM Mono,ui-monospace,monospace}.md-math-block{text-align:center;margin:0 0 12px;padding:9px 0;font-size:15px;display:block;overflow-x:auto}.md-m-var{color:var(--text-primary);font-style:italic}.md-m-fn{color:var(--text-secondary);font-style:normal}.md-m-op{color:var(--text-primary)}.md-m-number{color:var(--text-secondary)}.md-m-script{white-space:nowrap}.md-m-sup,.md-m-sub{font-size:.72em}.md-m-sup{vertical-align:.55em}.md-m-sub{vertical-align:-.25em}.md-m-frac{vertical-align:middle;text-align:center;flex-direction:column;align-items:center;margin:0 .2em;line-height:1.2;display:inline-flex}.md-m-num{padding:0 .3em}.md-m-den{border-top:1.4px solid;padding:0 .3em}.md-m-root{white-space:nowrap}.md-m-body{border-top:1.4px solid;padding:0 .12em 0 .05em}.md-m-radical{font-size:1.15em}.md-m-index{font-size:.65em}.md-m-rowbreak{height:0;display:block}.md-m-unsupported{color:var(--warning);border-bottom:1px dashed var(--warning-border);cursor:help}.md-inline{display:inline}.md-inline+.md-inline{margin-left:4px}:root{--rail-width:320px}.shell.shell-rail-collapsed{--rail-width:30px}.right-rail{border-left:1px solid var(--border-subtle);background:var(--bg-panel);flex-direction:column;min-width:0;min-height:0;display:flex}.right-rail-collapsed{border-left-color:var(--border-subtle);background:var(--bg-inset)}.right-rail-open{border:1px solid var(--border-default);background:var(--bg-elevated);width:26px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:8px;align-self:center;margin-top:14px;font-size:15px;line-height:1}.right-rail-open:hover{border-color:var(--border-strong);color:var(--text-primary)}.right-rail-open:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.right-rail-head{border-bottom:1px solid var(--border-subtle);align-items:center;gap:6px;min-width:0;padding:14px 10px 0 13px;display:flex}.right-tabs{flex-wrap:wrap;flex:auto;align-items:center;gap:4px;min-width:0;display:flex}.right-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px 8px 0 0;padding:6px 11px;font:700 12px Manrope}.right-tab:hover{color:var(--text-primary);background:var(--bg-elevated)}.right-tab-active{border-color:var(--border-default);border-bottom-color:var(--selected);background:var(--bg-elevated);color:var(--text-primary)}.right-tab:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.right-rail-collapse{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;flex:none;padding:5px 9px;font-size:14px;line-height:1}.right-rail-collapse:hover{border-color:var(--border-strong);color:var(--text-primary)}.right-rail-collapse:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.right-rail-body{flex:1;min-height:0;padding:0 13px 16px;overflow-y:auto}.rail-section-head{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;margin:15px 0 8px;display:flex}.rail-section-head:first-child{margin-top:14px}.rail-section-title{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;min-width:0;color:var(--text-muted);flex:0 auto;margin:0;font:700 11px DM Mono,monospace;overflow:hidden}.rail-section-count{color:var(--text-muted);white-space:nowrap;flex:none;font:10px DM Mono,monospace}.rail-empty{border:1px dashed var(--border-default);background:var(--bg-input);color:var(--text-secondary);overflow-wrap:anywhere;border-radius:10px;margin:0;padding:11px 12px;font:11px/1.7 Manrope}.todo-list{gap:5px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.todo-item{border:1px solid var(--border-subtle);border-left-width:3px;border-radius:8px;align-items:baseline;gap:7px;min-width:0;padding:7px 9px;font:12px/1.55 Manrope;display:flex}.todo-text{overflow-wrap:anywhere;flex:auto;min-width:0}.todo-status{color:inherit;opacity:.9;white-space:nowrap;flex:none;font:10px DM Mono,monospace}.todo-priority{border:1px solid var(--border-default);color:var(--text-secondary);border-radius:99px;flex:none;padding:1px 6px;font:10px DM Mono,monospace}.todo-mark{flex:none;font-size:11px;line-height:1.6}.todo-pending{border-left-color:var(--border-strong);background:var(--bg-elevated);color:var(--text-secondary)}.todo-in_progress{border-left-color:var(--info);background:var(--selected-bg);color:var(--text-primary)}.todo-in_progress .todo-priority{border-color:var(--info);color:var(--info)}.todo-completed{border-left-color:var(--border-subtle);background:var(--bg-inset);color:var(--text-muted)}.todo-completed .todo-text{text-decoration:line-through;text-decoration-thickness:1px}.bg-list{gap:5px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.bg-item{border:1px solid var(--border-subtle);background:var(--bg-raised);border-radius:8px;gap:3px;min-width:0;padding:7px 9px;display:grid}.bg-title{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;font:600 12px Manrope}.bg-meta{min-width:0;color:var(--text-muted);align-items:baseline;gap:8px;font:10px DM Mono,monospace;display:flex}.bg-agent{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--selected);overflow:hidden}.bg-status{white-space:nowrap;flex:none}@media (width<=1100px){.shell{grid-template-columns:var(--sidebar-width,270px) minmax(0,1fr)}.right-rail{z-index:15;width:min(var(--rail-width),86vw);box-shadow:-14px 0 34px var(--shadow-faint);position:absolute;top:0;bottom:0;right:0}}@media (width<=700px){.right-rail{width:min(var(--rail-width),94vw)}.right-rail-body{padding:0 11px 14px}}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.tool-slot{min-width:0;position:relative}.tool-icon{border:1px solid var(--border-default);background:var(--bg-raised);cursor:pointer;width:100%;min-width:0;color:var(--text-muted);border-radius:11px;align-content:center;place-items:center;gap:3px;padding:9px 5px 7px;display:grid}.tool-icon:hover{border-color:var(--border-strong);color:var(--text-primary)}.tool-icon:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.tool-icon{aspect-ratio:1;min-height:74px}.tool-icon[data-tool-state=open]{border-color:var(--selected-border);background:var(--selected-bg);color:var(--text-primary)}.tool-icon-glyph{pointer-events:none;font:400 26px/1 Manrope,system-ui,sans-serif}.tool-icon-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:inherit;opacity:.95;font:10px DM Mono,monospace;overflow:hidden}.tool-remove{border:1px solid var(--border-default);background:var(--bg-elevated);width:19px;height:19px;color:var(--text-secondary);cursor:pointer;border-radius:99px;place-items:center;padding:0;font:11px/1 Manrope;display:grid;position:absolute;top:-5px;right:-5px}.tool-remove:hover{border-color:var(--danger-border);color:var(--danger)}.tool-remove:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.tool-presets{gap:6px;min-width:0;display:grid}.tool-preset{border:1px solid var(--border-subtle);background:var(--bg-raised);border-radius:9px;align-items:center;gap:9px;min-width:0;padding:8px 9px;display:flex}.tool-preset-glyph{border:1px solid var(--border-default);background:var(--bg-elevated);width:28px;height:28px;color:var(--text-secondary);border-radius:8px;flex:none;place-items:center;font:400 16px/1 Manrope,system-ui,sans-serif;display:grid}.tool-preset-text{flex:auto;gap:2px;min-width:0;display:grid}.tool-preset-text strong{color:var(--text-primary);font:600 12px Manrope}.tool-preset-text small{color:var(--text-muted);overflow-wrap:anywhere;font:10px/1.5 Manrope}.tool-preset-add{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;flex:none;padding:5px 9px;font:600 11px Manrope}.tool-preset-add:hover:not(:disabled){border-color:var(--border-strong);color:var(--text-primary)}.tool-preset-add:disabled{opacity:.5;cursor:not-allowed}.tool-preset-add:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.tool-hint{color:var(--text-secondary);overflow-wrap:anywhere;margin:0 0 8px;font:11px/1.65 Manrope}.tool-hint b{color:var(--text-primary)}.tool-input{border:1px solid var(--border-default);background:var(--bg-input);width:100%;min-width:0;color:var(--text-primary);border-radius:9px;outline:0;margin:0 0 6px;padding:8px 10px;font:12px DM Mono,monospace;display:block}.tool-input:focus-visible{border-color:var(--focus-ring)}.tool-url-add{border:1px solid var(--border-default);background:var(--bg-elevated);width:100%;color:var(--text-secondary);cursor:pointer;border-radius:9px;padding:8px 10px;font:600 12px Manrope;display:block}.tool-url-add:hover:not(:disabled){border-color:var(--border-strong);color:var(--text-primary)}.tool-url-add:disabled{opacity:.45;cursor:not-allowed}.tool-url-add:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.tool-error{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger);overflow-wrap:anywhere;border-radius:9px;margin:8px 0 0;padding:8px 10px;font:11px/1.6 Manrope}.tool-share-row{border:1px solid var(--border-subtle);background:var(--bg-raised);border-radius:9px;align-items:center;gap:9px;min-width:0;padding:8px 9px;display:flex}.tool-share-review{gap:2px;min-width:0;display:grid}.tool-share-title{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font:600 13px Manrope}.tool-share-tabs{flex-wrap:wrap;gap:6px;margin:8px 0 0;display:flex}.tool-share-tab{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;overflow-wrap:anywhere;text-align:left;background:0 0;border-radius:8px;padding:4px 8px;font:600 10px DM Mono,monospace}.tool-share-tab[aria-pressed=true]{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-elevated)}.tool-share-tab:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.tool-import-files{border:1px solid var(--border-subtle);background:var(--bg-raised);border-radius:9px;margin:10px 0 0;padding:8px 10px}.tool-import-files>summary{cursor:pointer;color:var(--text-secondary);font:600 11px Manrope}.tool-import-files>summary:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.tool-import-code{border:1px solid var(--border-default);background:var(--bg-inset);color:var(--text-primary);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:300px;margin:8px 0 0;padding:10px 12px;font:11px/1.6 DM Mono,monospace;overflow:auto}.tool-import-warn{border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning);overflow-wrap:anywhere;border-radius:9px;margin:8px 0 0;padding:9px 11px;font:11px/1.65 Manrope}.tool-import-warn b{color:var(--warning)}.tool-import-note{border:1px solid var(--border-subtle);background:var(--bg-raised);color:var(--text-secondary);overflow-wrap:anywhere;border-radius:9px;margin:8px 0 0;padding:9px 11px;font:11px/1.65 Manrope}.tool-import-note b{color:var(--text-primary)}.tool-share-actions{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 0;display:grid}.tools-settings-btn{border:1px dashed var(--border-default);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;margin-top:10px;padding:9px 10px;font:600 11px Manrope;display:block}.tools-settings-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.tools-settings-btn:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.tool-overlay{z-index:60;background:var(--overlay);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.tool-dialog{border:1px solid var(--border-default);background:var(--bg-raised);width:min(760px,100%);max-height:min(86vh,760px);box-shadow:0 25px 60px var(--shadow-faint);border-radius:14px;flex-direction:column;display:flex;overflow:auto}.tool-dialog-head{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:13px 14px;display:flex}.tool-dialog-title{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;margin:0;font:700 14px Manrope;display:flex;overflow:hidden}.tool-dialog-glyph{border:1px solid var(--border-default);background:var(--bg-elevated);width:26px;height:26px;color:var(--text-secondary);border-radius:7px;flex:none;place-items:center;font:400 16px/1 Manrope,system-ui,sans-serif;display:grid}.tool-dialog-close{border:1px solid var(--border-default);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;flex:none;place-items:center;padding:0;font:13px/1 Manrope;display:grid}.tool-dialog-close:hover{border-color:var(--border-strong);color:var(--text-primary)}.tool-dialog-close:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.tool-dialog-body{min-width:0;padding:14px}.tool-calc{gap:10px;min-width:0;display:grid}.tool-calc-input{text-align:right;min-height:40px;font:15px DM Mono,monospace}.tool-calc-keys{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;min-width:0;display:grid}.tool-calc-key{border:1px solid var(--border-default);background:var(--bg-elevated);min-width:0;min-height:44px;color:var(--text-primary);cursor:pointer;border-radius:9px;padding:0;font:600 14px Manrope}.tool-calc-key:hover{border-color:var(--border-strong);color:var(--text-primary)}.tool-calc-key:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.tool-calc-result{border:1px solid var(--border-default);background:var(--bg-raised);color:var(--text-secondary);text-align:right;overflow-wrap:anywhere;border-radius:11px;margin:0;padding:14px;font:700 26px DM Mono,monospace}.tool-calc-error{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger);overflow-wrap:anywhere;border-radius:11px;margin:0;padding:12px 14px;font:12px/1.6 Manrope}.tool-stamp{gap:8px;min-width:0;display:grid}.tool-stamp-out{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:0;display:grid}.tool-stamp-out>div{border:1px solid var(--border-default);background:var(--bg-input);border-radius:9px;min-width:0;padding:9px 10px}.tool-stamp-out dt{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font:700 10px DM Mono,monospace}.tool-stamp-out dd{color:var(--text-primary);overflow-wrap:anywhere;margin:5px 0 0;font:600 13px DM Mono,monospace}.tool-stamp-error{border:1px dashed var(--border-default);background:var(--bg-input);color:var(--text-secondary);overflow-wrap:anywhere;border-radius:9px;margin:0;padding:11px 12px;font:11px/1.7 Manrope}.tool-link{gap:10px;min-width:0;display:grid}.tool-link-url{border:1px solid var(--border-default);background:var(--bg-input);min-width:0;color:var(--text-muted);overflow-wrap:anywhere;border-radius:9px;padding:10px 11px;font:12px DM Mono,monospace;display:block}.tool-link-open{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);border-radius:9px;justify-self:start;padding:9px 14px;font:600 12px Manrope;text-decoration:none}.tool-link-open:hover{border-color:var(--border-strong);color:var(--text-primary)}.tool-link-open:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}@media (width<=700px){.tool-overlay{padding:10px}.tool-calc-keys{grid-template-columns:repeat(3,minmax(0,1fr))}}.workspace-tab-strip,.file-tab-strip,.session-tab-strip{background:var(--bg-inset);border-bottom:1px solid var(--border-subtle);--tab-h:34px;--tab-fs:12px;--tab-close:20px;flex-direction:column;flex:auto;align-items:stretch;gap:0;min-width:0;display:flex;overflow:hidden}.workspace-tab-row,.file-tab-row,.session-tab-row{flex-wrap:nowrap;align-items:stretch;min-width:0;display:flex}.workspace-tab-row+.workspace-tab-row,.file-tab-row+.file-tab-row,.session-tab-row+.session-tab-row{border-top:1px solid var(--border-subtle)}.workspace-tab-strip[data-workspace-tab-frozen],.file-tab-strip[data-file-tab-frozen],.session-tab-strip[data-session-tab-frozen]{outline:1px dashed var(--focus-ring);outline-offset:-1px;border-radius:6px}.workspace-tab,.file-tab,.session-tab{min-width:0;height:var(--tab-h);border:0;border-right:1px solid var(--border-subtle);color:var(--text-muted);font:600 var(--tab-fs) Manrope;cursor:pointer;background:0 0;flex:none;align-items:center;gap:6px;padding:0 8px 0 10px;display:flex}.workspace-tab:hover,.file-tab:hover,.session-tab:hover{background:var(--bg-elevated);color:var(--text-primary)}.workspace-tab:focus-visible,.file-tab:focus-visible,.session-tab:focus-visible{outline:1px solid var(--focus-ring);outline-offset:-2px}.workspace-tab-active,.session-tab-active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:inset 0 -2px 0 var(--focus-ring-glow)}.workspace-tab-label,.file-tab-label,.session-tab-label{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:auto;min-width:0;overflow:hidden}.workspace-tab-badge,.file-tab-badge{color:var(--text-muted);flex:none;font-size:9px;line-height:1}.workspace-tab-close,.file-tab-close,.session-tab-close{flex:0 0 var(--tab-close);width:var(--tab-close);height:var(--tab-close);color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;margin-right:-2px;padding:0;font:700 13px/1 Manrope;display:flex}.workspace-tab-close:hover,.file-tab-close:hover,.session-tab-close:hover{background:var(--bg-raised);color:var(--danger)}.workspace-tab-close:focus-visible,.file-tab-close:focus-visible,.session-tab-close:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.chat-tab-strip{background:var(--bg-inset);border-bottom:1px solid var(--border-subtle);flex-direction:row;flex:none;align-items:stretch;min-width:0;display:flex;overflow:hidden}.chat-tab-strip>.workspace-tab-strip,.chat-tab-strip>.session-tab-strip,.chat-tab-strip>.file-tab-strip{background:0 0;border-bottom:0;flex:auto;align-self:stretch;min-width:0}.chat-tab-divider{display:none}.file-tab-strip{background:var(--bg-elevated)}.file-tab{color:var(--text-secondary)}.file-tab:before{content:"▤";color:var(--text-muted);flex:none;font:600 10px/1 DM Mono,monospace}.file-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.file-tab:hover:before{color:var(--text-primary)}.file-tab-active{background:var(--tab-active-bg);color:var(--text-primary);box-shadow:inset 0 -2px 0 var(--warning)}.file-tab-active:before{color:var(--warning)}.file-tab-active .file-tab-badge,.file-tab-active .file-tab-close{color:var(--text-primary)}.file-tab-active .file-tab-close:hover{background:var(--danger-bg);color:var(--danger)}.file-tab-close{color:var(--text-muted)}.file-tab-close:hover{background:var(--danger-bg);color:var(--danger)}.file-tab:focus-visible{outline:1px solid var(--warning);outline-offset:-2px}.file-tab-close:focus-visible{outline:1px solid var(--warning);outline-offset:1px}.file-open-mark{color:var(--warning);flex:none;font-size:9px;line-height:1}.chat>header{gap:14px;padding:10px 0 9px}.chat-head{flex:1;align-items:baseline;gap:10px;min-width:0;display:flex;overflow:hidden}.chat-head h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:15px;line-height:1.35;overflow:hidden}.chat-head p{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:100%;margin:0;overflow:hidden}.chat>header .badge{flex:none;padding:4px 8px}.files-panel{flex-direction:column;gap:9px;padding-top:13px;display:flex}.files-search{align-items:center;gap:6px;display:flex}.files-search-input{box-sizing:border-box;border:1px solid var(--border-subtle);background:var(--bg-input);min-width:0;color:var(--text-primary);border-radius:8px;flex:auto;padding:5px 9px;font:11px Manrope}.files-search-input:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.files-refresh{border:1px solid var(--border-subtle);background:var(--bg-elevated);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex:none;font-size:13px;line-height:1}.files-refresh:hover{border-color:var(--border-strong);color:var(--text-primary)}.files-refresh:disabled{opacity:.4;cursor:not-allowed}.files-refresh:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.files-tree{border:1px solid var(--border-subtle);background:var(--bg-input);border-radius:9px;min-width:0;max-height:min(300px,38vh);padding:4px 0;overflow:auto}.file-list,.file-children{min-width:0;margin:0;padding:0;list-style:none}.file-row{box-sizing:border-box;width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;min-width:0;padding:3px 8px;font:11px Manrope;display:flex}.file-row:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.file-row:disabled{cursor:not-allowed;color:var(--text-muted)}.file-row:focus-visible{outline:1px solid var(--focus-ring);outline-offset:-2px}.file-caret{width:10px;color:var(--text-muted);flex:0 0 10px;font-size:9px;line-height:1}.file-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.file-badge,.picker-option-badge{border:1px solid var(--border-default);color:var(--text-muted);white-space:nowrap;border-radius:5px;flex:none;padding:1px 5px;font:9px DM Mono,monospace}.file-badge-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);flex:0 auto;font:9px DM Mono,monospace;overflow:hidden}.file-row-loading,.file-row-empty,.file-row-error{color:var(--text-muted);padding:3px 10px;font:10px/1.6 Manrope;display:block}.file-row-error{color:var(--danger);overflow-wrap:anywhere}.file-search-note{border:1px dashed var(--border-default);color:var(--text-muted);overflow-wrap:anywhere;border-radius:8px;margin:0 0 5px;padding:5px 8px;font:10px/1.6 Manrope}.file-problem{border-style:solid;border-left:3px solid var(--danger-border)}.file-problem-title{color:var(--danger);margin:0 0 4px;font:600 11px/1.6 Manrope}.file-problem-hint{color:var(--text-muted);margin:0 0 5px;font:10px/1.7 Manrope}.file-problem-path{background:var(--bg-inset);color:var(--text-primary);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;border-radius:7px;margin:0;padding:5px 7px;font:10px/1.6 DM Mono,monospace;display:block}.files-footnote{color:var(--text-muted);overflow-wrap:anywhere;margin:2px 0 0;font:10px/1.6 Manrope}.file-editor{flex-direction:column;gap:7px;min-width:0;display:flex}.file-editor-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.file-editor-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);flex:auto;font:10px DM Mono,monospace;overflow:hidden}.file-editor-flags{flex:none;align-items:center;gap:7px;display:flex}.file-dirty{color:var(--warning);font:9px DM Mono,monospace}.file-save{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;border-radius:7px;padding:3px 10px;font:700 10px Manrope}.file-save:hover{border-color:var(--border-strong);color:var(--text-primary)}.file-save:disabled{opacity:.5;cursor:not-allowed}.file-save:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.file-conflict{border:1px solid var(--warning-border);border-left:3px solid var(--warning-border);background:var(--warning-bg);border-radius:9px;padding:8px 10px}.file-conflict p{color:var(--warning);margin:0 0 7px;font:11px/1.6 Manrope}.file-conflict-actions{flex-wrap:wrap;gap:6px;display:flex}.file-conflict-actions button{border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning);cursor:pointer;border-radius:7px;padding:3px 9px;font:600 10px Manrope}.file-conflict-actions button:hover{border-color:var(--warning-border)}.file-conflict-actions button:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.file-editor-message{overflow-wrap:anywhere;margin:0;font:10px/1.6 Manrope}.file-message-saved{color:var(--success)}.file-message-error{color:var(--danger)}.file-textarea-highlight-wrap{box-sizing:border-box;resize:vertical;width:100%;min-width:0;max-width:100%;height:min(340px,42vh);position:relative}.file-textarea-highlight{pointer-events:none;z-index:0;box-sizing:border-box;white-space:pre;tab-size:2;border:1px solid var(--border-subtle);background:var(--bg-inset);border-radius:9px;padding:8px 9px;font:12px/1.65 DM Mono,ui-monospace,monospace;position:absolute;inset:0;overflow:auto}.file-textarea-highlight-wrap>.file-textarea{z-index:1;color:#0000;caret-color:var(--text-primary);background:0 0;border-color:#0000}.file-textarea-highlight-wrap>.file-textarea:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px;border-color:var(--border-subtle)}.file-textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--border-subtle);background:var(--bg-inset);width:100%;min-width:0;max-width:100%;height:min(340px,42vh);color:var(--text-primary);white-space:pre;tab-size:2;border-radius:9px;padding:8px 9px;font:12px/1.65 DM Mono,ui-monospace,monospace;overflow:auto}.file-textarea:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.git-panel{flex-direction:column;gap:9px;padding-top:13px;display:flex}.git-head{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.git-branch{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font:700 12px Manrope;overflow:hidden}.git-ahead-behind{color:var(--text-muted);white-space:nowrap;font:11px DM Mono,monospace}.git-refresh{border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;border-radius:8px;min-width:0;padding:3px 9px;font:700 11px Manrope}.git-refresh:hover{background:var(--bg-hover)}.git-refresh:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.git-group-head{color:var(--text-secondary);letter-spacing:.02em;margin-top:4px;font:700 11px Manrope}.git-file-row{box-sizing:border-box;width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;min-width:0;padding:3px 8px;font:11px Manrope;display:flex}.git-file-row:hover:not(:disabled){background:var(--bg-elevated)}.git-file-row:focus-visible{outline:1px solid var(--focus-ring);outline-offset:-2px}.git-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.git-diff{border:1px solid var(--border-subtle);background:var(--bg-inset);min-width:0;max-height:min(320px,40vh);color:var(--text-primary);white-space:pre;border-radius:9px;margin:0;padding:8px 10px;font:11px/1.6 DM Mono,monospace;overflow:auto}.git-log{border:1px solid var(--border-subtle);background:var(--bg-input);border-radius:9px;flex-direction:column;gap:2px;min-width:0;max-height:min(240px,30vh);padding:4px 0;display:flex;overflow:auto}.git-log-row{color:var(--text-primary);min-width:0;padding:3px 8px;font:11px Manrope}.git-log-meta{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font:10px DM Mono,monospace;overflow:hidden}.git-error{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-primary);border-radius:9px;padding:8px 10px;font:11px Manrope}.git-state-card{border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);border-radius:11px;grid-template-columns:24px minmax(0,1fr);gap:5px 9px;padding:14px 12px;display:grid}.git-state-card-empty{border-color:var(--border-subtle);background:linear-gradient(145deg,var(--bg-input),var(--bg-raised))}.git-state-icon{border:1px solid var(--border-default);width:24px;height:24px;color:var(--text-secondary);border-radius:7px;grid-row:span 2;place-items:center;font:700 17px DM Mono,monospace;display:grid}.git-state-card strong{align-self:end;font:700 12px Manrope}.git-state-card p{color:var(--text-secondary);grid-column:2;margin:0;font:11px/1.6 Manrope}.git-state-action{border:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:7px;grid-column:2;justify-self:start;margin-top:4px;padding:5px 9px;font:600 11px Manrope}.git-state-action:hover{background:var(--bg-hover)}.chat>.chat-file-view{max-width:none;padding:32px 24px}.chat-file-view{flex-direction:column;flex:auto;min-height:0;display:flex}.chat-file-view>.file-editor{flex:auto;min-height:0}.chat-file-view>.file-editor>.file-textarea-highlight-wrap{resize:none;flex:auto;height:auto;min-height:120px}.chat-file-view>.file-editor>.file-textarea{flex:auto;height:auto;min-height:120px}@media (width<=700px){.chat-file-view{padding:14px 6px}}.chat-view{border:1px solid var(--border-default);min-width:0;color:var(--text-secondary);white-space:nowrap;border-radius:7px;flex:0 auto;align-items:baseline;gap:6px;padding:3px 9px;display:flex}.chat-view:before{content:"";background:var(--selected);border-radius:50%;flex:0 0 6px;width:6px;height:6px}.chat-view-label{color:var(--text-muted);font:10px DM Mono,monospace}.chat-view-kind{color:var(--text-primary);font:700 11px Manrope}.chat-view-name{text-overflow:ellipsis;min-width:0;color:var(--text-muted);font:10px DM Mono,monospace;overflow:hidden}.chat-view-file:before{background:var(--warning)}.chat-view-name{max-width:30ch}.conversation-fork{width:20px;height:20px;color:var(--text-secondary);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:5px;flex:0 0 20px;place-items:center;font-size:13px;line-height:1;transition:color .12s,background .12s;display:grid}.conversation-row:hover .conversation-fork,.conversation-row:focus-within .conversation-fork,.conversation-archived:hover .conversation-fork,.conversation-archived:focus-within .conversation-fork,.conversation-fork:focus-visible{opacity:1}.conversation-row:has(.conversation.selected) .conversation-fork{opacity:1}.conversation-fork:hover{background:var(--bg-hover);color:var(--text-primary)}.conversation-fork:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.conversation-fork[data-fork-state=pending]{opacity:1;color:var(--warning);cursor:progress}.conversation-fork:disabled{cursor:progress}.conversation-fork:disabled:hover{color:var(--text-muted);background:0 0}.rail-resizer{z-index:5;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;width:10px;padding:0;position:absolute;top:0;bottom:0}.rail-resizer:before{content:"";background:0 0;width:1px;transition:background .12s,width .12s;position:absolute;left:50%;transform:translate(-50%)}.rail-resizer-left{left:calc(var(--sidebar-width,270px) - 5px)}.rail-resizer-right{right:calc(var(--rail-col,320px) - 5px)}.rail-resizer:hover:before,.rail-resizer:focus-visible:before{background:var(--border-strong);width:2px}.rail-resizer:focus-visible{outline:1px solid var(--focus-ring);outline-offset:-1px}.rail-resizer.rail-resizer-dragging:before{background:var(--selected);width:3px;transition:none}@media (width<=1100px){.rail-resizer-right{display:none}}@media (width<=700px){.rail-resizer-left{display:none}}@media (prefers-reduced-motion:reduce){.rail-resizer:before{transition:none}}.chat{max-width:1680px}.chat>:not(.messages),.chat>.chat-tab-strip{width:100%;max-width:none;margin-inline:0;padding-inline:0}.chat-tab-strip>.workspace-tab-strip>.workspace-tab-row,.chat-tab-strip>.session-tab-strip>.session-tab-row,.chat-tab-strip>.file-tab-strip>.file-tab-row{width:100%;max-width:none;margin-inline:0}.messages{grid-template-columns:minmax(0,1fr);padding:32px 24px}.messages>*,.message-body{min-width:0}.message.assistant .message-body{width:100%}.message.assistant .content{min-width:0}.message.user{grid-template-columns:minmax(0,1fr) 34px}.message.user .avatar{letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;border-radius:16px;width:auto;min-width:32px;max-width:88px;height:32px;padding:0 10px;font-size:11px;overflow:hidden}.message.user>.message-body{flex-direction:column;grid-area:1/1;align-items:flex-end;min-width:0;max-width:100%;display:flex}.message.user .meta{color:var(--text-secondary);margin:0 0 5px;font-size:11px;font-weight:600}.bubble{border:1px solid var(--border-default);background:var(--bg-raised);overflow-wrap:anywhere;border-radius:14px;width:fit-content;min-width:0;max-width:min(78%,720px);padding:10px 14px}.message.user .content{min-width:0}.message-actions{opacity:.42;align-items:center;gap:6px;margin-top:5px;transition:opacity .12s;display:flex}.message.user:hover .message-actions,.message.user:focus-within .message-actions,.message-actions:focus-within{opacity:1}@media (hover:none){.message-actions{opacity:1}}.message.tool{grid-template-columns:minmax(0,1fr)}.message.tool>.message-body{flex-direction:column;grid-area:1/1;align-items:stretch;gap:6px;min-width:0;max-width:100%;display:flex}.message.tool[data-tool-state=error] .bg-result-toggle{color:var(--danger)}.bg-result-head{width:100%}.bg-result-toggle{border:1px solid var(--border-default);border-left:3px solid var(--info);background:var(--bg-raised);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font:12px Manrope;transition:background .12s,border-color .12s;display:flex}.message.tool[data-tool-state=error] .bg-result-toggle{border-left-color:var(--danger)}.bg-result-toggle:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.bg-result-glyph{color:var(--info);flex:none;font-size:14px;line-height:1}.message.tool[data-tool-state=error] .bg-result-glyph{color:var(--danger)}.bg-result-label{color:var(--text-primary);letter-spacing:.04em;flex:none;font-size:11px;font-weight:700}.bg-result-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);flex:auto;font-size:12px;overflow:hidden}.bg-result-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:42%;color:var(--text-muted);flex:none;font:11px DM Mono,monospace;overflow:hidden}.bg-result-chevron{color:var(--text-muted);flex:none;font-size:12px;line-height:1}.bg-result-body{margin:0;padding:0}.bg-result-pre{border:1px solid var(--border-default);background:var(--bg-inset);color:var(--text-primary);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:360px;margin:0;padding:10px 12px;font:11px DM Mono,monospace;overflow:auto}.message-copy,.message-revert{opacity:1;border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;margin-left:0;padding:2px 8px;font:11px Manrope;transition:opacity .12s,color .12s,border-color .12s}.message-copy:hover,.message-revert:hover{color:var(--text-primary);border-color:var(--border-strong)}.message-copy:focus-visible,.message-revert:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.message-copy[data-copy-state=copied]{color:var(--success);border-color:var(--success)}.message-copy[data-copy-state=error]{color:var(--danger);border-color:var(--danger-border)}.mobile-nav{display:none}@media (width<=700px){html,body,#root{width:100%;min-width:0;height:100%;overflow:hidden}.shell{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden}aside{max-height:min(34dvh,250px);padding:8px 10px 6px;overflow:hidden}.brand{padding:2px 4px 8px}.brand>span{width:30px;height:30px;font-size:22px}.brand small{display:none}.sidebar-actions{display:block}.workspace-new{width:100%;min-height:42px;padding:9px 11px}.label{margin:10px 4px 6px;font-size:11px}nav{scrollbar-gutter:stable;gap:4px;max-height:min(22dvh,160px)}.workspace-group{padding-bottom:4px}.workspace-toggle,.conversation,.archived-toggle{min-height:42px}.workspace-toggle{padding:7px 5px}.workspace-add,.workspace-settings,.workspace-delete,.conversation-fork,.conversation-archive,.conversation-restore{min-width:38px;min-height:38px}.conversation{gap:6px;padding:7px 5px 7px 7px}aside footer{display:none}.chat{min-width:0;max-width:none;padding:0 10px}header{gap:8px;padding:10px 0 9px}header h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:72%;font-size:16px;overflow:hidden}header p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge{flex:none;padding:6px 8px}.messages{overscroll-behavior:contain;gap:18px;padding:14px 0 12px}.message{grid-template-columns:30px minmax(0,1fr);gap:9px}.avatar{width:30px;height:30px}.content{overflow-wrap:anywhere;font-size:14px;line-height:1.65}form{margin-bottom:max(8px, env(safe-area-inset-bottom));border-radius:11px}textarea{height:72px;min-height:72px;padding:12px;font-size:16px}.composer{min-height:48px;padding:5px 8px 8px 12px}.composer button{min-height:40px;padding:9px 15px}.chat-tab-strip{min-height:36px}.workspace-tab,.file-tab,.session-tab{height:40px;min-height:40px;padding-inline:9px}.right-rail{width:min(94vw,380px);max-width:100vw}.right-rail-head{min-height:52px;padding:8px 9px 0}.right-tab{min-height:42px;padding:9px 11px}.right-rail-collapse,.right-rail-open{min-width:40px;min-height:40px}.right-rail-body{padding:0 10px max(14px, env(safe-area-inset-bottom))}.tool-overlay{padding:8px}.tool-dialog{border-radius:12px;width:100%;max-height:calc(100dvh - 16px)}.mobile-nav{z-index:30;inset-inline:0;height:calc(58px + env(safe-area-inset-bottom));padding:4px 8px env(safe-area-inset-bottom);background:var(--bg-panel);border-top:1px solid var(--border-subtle);justify-content:space-around;gap:6px;display:flex;position:fixed;bottom:0}.mobile-nav button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;place-items:center;gap:1px;font-size:17px;display:grid}.mobile-nav button span{font:10px Manrope}.mobile-nav button.active{color:var(--selected);background:var(--selected-bg)}.shell{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.shell.mobile-panel-workspaces>.chat,.shell.mobile-panel-workspaces>.right-rail{display:none}.shell.mobile-panel-workspaces>aside{height:100%;max-height:none;display:flex;overflow:auto}.shell.mobile-panel-chat>aside,.shell.mobile-panel-chat>.right-rail{display:none}.shell.mobile-panel-chat>.chat{grid-column:1}.shell.mobile-panel-rail>aside,.shell.mobile-panel-rail>.chat{display:none}.shell.mobile-panel-rail>.right-rail{width:100%;max-width:none;box-shadow:none;grid-column:1;display:flex;position:static}.shell.mobile-panel-rail>.right-rail .right-rail-open{display:none}}@media (width<=380px){aside{max-height:30dvh}nav{max-height:18dvh}.chat{padding-inline:8px}header p{display:none}.message{grid-template-columns:26px minmax(0,1fr);gap:7px}.avatar{width:26px;height:26px}.session-tab,.file-tab,.workspace-tab{padding-inline:7px}}@supports not selector(::-webkit-scrollbar){:root{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}}nav::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}.messages::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}.picker-list::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}.extui::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}.extui-widget::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}.subagent-output::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}.call-args::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}.right-rail-body::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}.tool-dialog::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}.files-tree::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}.md-pre::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}.file-textarea::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}.md-table-wrap::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}.md-math-block::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}.queue-dock-list::-webkit-scrollbar{background:var(--bg-inset);width:12px;height:12px}nav::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}.messages::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}.picker-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}.extui::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}.extui-widget::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}.subagent-output::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}.call-args::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}.right-rail-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}.tool-dialog::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}.files-tree::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}.md-pre::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}.file-textarea::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}.md-table-wrap::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}.md-math-block::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}.queue-dock-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:99px}nav:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}.messages:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}.picker-list:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}.extui:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}.extui-widget:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}.subagent-output:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}.call-args:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}.right-rail-body:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}.tool-dialog:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}.files-tree:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}.md-pre:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}.file-textarea:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}.md-table-wrap:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}.md-math-block:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}.queue-dock-list:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-active);border-width:1px}nav::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}.messages::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}.picker-list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}.extui::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}.extui-widget::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}.subagent-output::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}.call-args::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}.right-rail-body::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}.tool-dialog::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}.files-tree::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}.md-pre::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}.file-textarea::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}.md-table-wrap::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}.md-math-block::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}.queue-dock-list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active);border-width:1px}nav::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}.messages::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}.picker-list::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}.extui::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}.extui-widget::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}.subagent-output::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}.call-args::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}.right-rail-body::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}.tool-dialog::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}.files-tree::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}.md-pre::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}.file-textarea::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}.md-table-wrap::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}.md-math-block::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}.queue-dock-list::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active);border-width:1px}nav,.messages,.picker-list,.extui,.extui-widget,.subagent-output,.call-args,.queue-dock-list,.right-rail-body,.tool-dialog,.files-tree{scrollbar-gutter:stable}.theme-settings-trigger{border:1px solid var(--border-default);background:var(--bg-raised);width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:7px;padding:7px 8px;font:11px DM Mono,monospace;transition:background .12s,border-color .12s,color .12s;display:flex}.theme-settings-trigger:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.theme-settings-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-1px}.theme-settings-trigger[aria-expanded=true]{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.settings-window{flex-direction:column;width:min(720px,100vw - 32px);height:min(540px,100vh - 80px);padding:0;display:flex}.settings-window-head{flex:none;padding:18px 20px 0}.settings-window-body{border-top:1px solid var(--border-subtle);flex:auto;grid-template-columns:156px minmax(0,1fr);min-height:0;margin-top:13px;display:grid;overflow:hidden}.settings-nav{border-right:1px solid var(--border-subtle);background:var(--bg-panel);align-content:start;gap:2px;padding:14px 10px;display:grid}.settings-nav-label{letter-spacing:.13em;text-transform:uppercase;color:var(--text-muted);padding:0 9px 7px;font:700 10px Manrope}.settings-category{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;padding:8px 9px;font:600 12px Manrope}.settings-category:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-category:focus-visible{outline:1px solid var(--focus-ring);outline-offset:-1px}.settings-category[aria-selected=true]{background:var(--selected-bg);color:var(--text-primary);box-shadow:inset 2px 0 0 var(--selected-border)}.settings-panel{flex-direction:column;flex:auto;align-content:start;min-width:0;max-width:100%;min-height:0;padding:16px 20px 20px;display:flex;overflow-y:auto}.settings-panel-title{color:var(--text-primary);margin:0 0 2px;font:600 13px Manrope}.settings-window .picker-actions{margin-top:20px}.theme-options{flex-direction:column;gap:8px;margin:16px 0 0;display:flex}.theme-option{border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:11px;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:10px 12px;display:grid;position:relative}.theme-option:hover{border-color:var(--border-strong)}.theme-option:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.theme-option[aria-pressed=true]{border-color:var(--selected-border);box-shadow:0 0 0 1px var(--selected-border)}.theme-preview-strip{background:var(--bg-app);border-radius:3px;flex-direction:column;flex-shrink:0;gap:2px;width:6px;height:32px;display:flex;overflow:hidden}.theme-preview-strip:before{content:"";background:var(--accent);flex:1}.theme-preview-strip:after{content:"";background:var(--bg-raised);flex:1}.theme-option-name{align-items:baseline;gap:8px;min-width:0;font:600 13px Manrope;display:flex}.theme-option-blurb{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:auto;font:11px/1.4 DM Mono,monospace;overflow:hidden}.theme-option-current{letter-spacing:.06em;color:var(--selected);align-items:center;gap:4px;margin-left:auto;font:700 10px Manrope;display:inline-flex}.theme-current-line{margin-top:10px}.theme-empty{text-align:center;color:var(--text-muted);overflow-wrap:anywhere;padding:26px 14px;font:11px DM Mono,monospace}@media (width<=620px){.settings-window-body{grid-template-columns:1fr}.settings-nav{border-right:0;border-bottom:1px solid var(--border-subtle);grid-auto-columns:max-content;grid-auto-flow:column;justify-content:start;padding:10px}.settings-nav-label{align-self:center;padding:0 9px 0 0}}.settings-agents-container{gap:16px;min-width:0;display:grid}.settings-agents-header{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 14px;display:flex}.settings-agents-desc{color:var(--text-secondary);flex:1;margin:0;font-size:12px;line-height:1.6}.settings-agent-rescan-btn{background:var(--bg-input);border:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;border-radius:8px;flex-shrink:0;padding:6px 12px;font:600 12px Manrope}.settings-agent-rescan-btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.settings-agent-rescan-btn:disabled{opacity:.5;cursor:not-allowed}.settings-section{gap:10px;display:grid}.settings-section-title{color:var(--text-primary);letter-spacing:.02em;margin:0;font:600 12px Manrope}.settings-dirs-list{gap:6px;display:grid}.settings-dir-row{border:1px solid var(--border-default);background:var(--bg-input);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:8px 12px;display:flex}.settings-dir-info{flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.settings-dir-priority{color:var(--text-muted);flex-shrink:0;font:700 11px DM Mono,monospace}.settings-dir-path{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font:12px DM Mono,monospace;overflow:hidden}.settings-dir-tag{border:1px solid var(--border-subtle);background:var(--bg-raised);color:var(--text-secondary);border-radius:4px;flex-shrink:0;padding:2px 6px;font:10px Manrope}.settings-dir-count{color:var(--text-muted);flex-shrink:0;font:11px Manrope}.settings-dir-remove-btn{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger);cursor:pointer;border-radius:6px;flex-shrink:0;padding:3px 8px;font:11px Manrope}.settings-dir-remove-btn:hover{filter:brightness(1.1)}.settings-add-dir-form{gap:8px;display:flex}.settings-dir-input{border:1px solid var(--border-default);background:var(--bg-input);min-width:0;color:var(--text-primary);border-radius:8px;outline:0;flex:1;padding:8px 11px;font:12px DM Mono,monospace}.settings-dir-input:focus{border-color:var(--focus-ring)}.settings-dir-add-btn{border:1px solid var(--border-default);background:var(--bg-hover);color:var(--text-primary);cursor:pointer;border-radius:8px;flex-shrink:0;padding:8px 14px;font:600 12px Manrope}.settings-dir-add-btn:hover:not(:disabled){border-color:var(--border-strong)}.settings-dir-add-btn:disabled{opacity:.4;cursor:not-allowed}.settings-dir-error{color:var(--danger);font:11px Manrope}.settings-problems-section{border:1px solid var(--warning-border);background:var(--warning-bg);border-radius:10px;padding:12px}.settings-problems-title{color:var(--warning)}.settings-problems-list{color:var(--text-primary);gap:4px;font:11px DM Mono,monospace;display:grid}.settings-problem-row{overflow-wrap:anywhere}.settings-problem-file{color:var(--warning);font-weight:700}.settings-empty-hint{color:var(--text-muted);border:1px dashed var(--border-subtle);text-align:center;border-radius:8px;padding:14px;font:12px Manrope}.settings-agent-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;max-height:260px;padding-right:4px;display:grid;overflow-y:auto}.settings-agent-card{border:1px solid var(--border-default);background:var(--bg-input);border-radius:9px;gap:6px;padding:10px 12px;display:grid}.settings-agent-card:hover{border-color:var(--border-strong)}.settings-agent-card-header{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.settings-agent-name{color:var(--text-primary);font:600 13px Manrope}.settings-agent-id{color:var(--text-muted);font:11px DM Mono,monospace}.settings-agent-mode-badge{border:1px solid var(--border-subtle);background:var(--bg-raised);color:var(--text-secondary);border-radius:99px;margin-left:auto;padding:1px 6px;font:10px Manrope}.settings-agent-mode-badge.subagent{color:var(--info);border-color:var(--info)}.settings-agent-source{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font:10px DM Mono,monospace;overflow:hidden}.settings-agent-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font:11px/1.4 Manrope;display:-webkit-box;overflow:hidden}.settings-agent-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);justify-content:space-between;align-items:center;gap:6px;padding-top:6px;font:10px DM Mono,monospace;display:flex}.settings-agent-tools{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-agent-model{color:var(--text-secondary);flex-shrink:0}.restart-needed-trigger{border-color:var(--warning-border);color:var(--warning);background:var(--warning-bg)}.restart-needed-trigger:hover{border-color:var(--warning)}.chevron-folder{text-align:center;font-size:15px;line-height:1}.workspace-toggle>.chevron-folder,.archived-toggle>.chevron-folder{flex:none;min-width:auto;overflow:visible}.ctx-menu{z-index:45;border:1px solid var(--border-default);background:var(--bg-raised);min-width:190px;max-width:min(320px,100vw - 16px);box-shadow:0 12px 32px var(--shadow-faint);border-radius:10px;gap:1px;padding:5px;display:grid;position:fixed}.ctx-menu-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 10px;font:12px Manrope;display:block}.ctx-menu-item:hover{background:var(--bg-hover)}.ctx-menu-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.ctx-menu-hint{color:var(--text-muted);overflow-wrap:anywhere;padding:2px 10px 4px;font:10px DM Mono,monospace}.toasts{z-index:55;pointer-events:none;justify-items:end;gap:8px;width:max-content;max-width:min(360px,100vw - 32px);margin:0;display:grid;position:fixed;top:14px;right:16px}.toast{pointer-events:auto;border:1px solid var(--border-default);background:var(--bg-raised);min-width:0;color:var(--text-primary);overflow-wrap:anywhere;word-break:break-word;box-shadow:0 10px 24px var(--shadow-faint);border-radius:10px;padding:10px 13px;font-size:12px;line-height:1.6}.toast-info{border-color:var(--info)}.toast{pointer-events:auto;box-shadow:0 10px 28px var(--shadow-faint)}.workspace-picker{width:min(580px,100vw - 32px)}.knowledge-picker{width:min(620px,100vw - 32px)}.knowledge-picker .picker-dir[aria-pressed=true]{border-color:var(--focus-ring);background:var(--bg-hover);color:var(--text-primary)}.picker-path-bar{gap:7px;margin-bottom:8px;display:flex}.picker-path-input{border:1px solid var(--border-default);background:var(--bg-input);min-width:0;color:var(--text-primary);border-radius:8px;outline:0;flex:1;padding:7px 10px;font:12px DM Mono,monospace}.picker-path-input:focus{border-color:var(--focus-ring)}.picker-go-btn{border:1px solid var(--border-default);background:var(--bg-hover);color:var(--text-primary);cursor:pointer;border-radius:8px;flex-shrink:0;padding:7px 13px;font:600 12px Manrope}.picker-go-btn:hover:not(:disabled){border-color:var(--border-strong)}.picker-go-btn:disabled{opacity:.4;cursor:not-allowed}.picker-up-btn{border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;padding:7px 11px;font:12px Manrope}.picker-up-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.picker-up-btn:disabled{opacity:.4;cursor:not-allowed}.picker-shortcuts{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:9px;display:flex}.picker-shortcuts-label{color:var(--text-muted);font:11px Manrope}.picker-shortcut{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:3px 8px;font:11px DM Mono,monospace}.picker-shortcut:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.message-images{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.message-image-btn{border:1px solid var(--border-default);background:var(--bg-raised);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;max-width:240px;max-height:180px;padding:0;transition:border-color .12s;display:inline-flex;overflow:hidden}.message-image-btn:hover{border-color:var(--border-strong)}.message-image-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.message-image-thumb{object-fit:cover;border-radius:7px;max-width:100%;max-height:180px;display:block}.composer-dropzone-active{outline:2px dashed var(--border-strong);outline-offset:-2px}.composer-attachments{border-top:1px solid var(--border-subtle);background:var(--bg-raised);flex-wrap:wrap;gap:8px;padding:8px 14px;display:flex}.composer-attachment-item{background:var(--bg-panel);border:1px solid var(--border-default);color:var(--text-secondary);border-radius:6px;align-items:center;gap:6px;max-width:220px;padding:3px 8px;font:11px DM Mono,monospace;display:inline-flex}.composer-attachment-thumb{object-fit:cover;cursor:pointer;border-radius:4px;flex-shrink:0;width:26px;height:26px}.composer-attachment-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.composer-attachment-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:3px;flex-shrink:0;padding:1px 4px;font-size:11px;line-height:1}.composer-attachment-remove:hover{color:var(--danger);background:var(--bg-hover)}.composer-attachment-uploading{color:var(--text-muted);font:italic 11px Manrope}.composer-attachment-skill{border-left:2px solid var(--info)}.composer-attachment-glyph{color:var(--info);flex:none;font-size:13px;line-height:1}.message-attachments{flex-direction:column;align-self:flex-end;gap:6px;width:fit-content;max-width:min(78%,720px);margin-top:8px;display:flex}.message-attachment{border:1px solid var(--border-default);border-left:3px solid var(--info);background:var(--bg-raised);border-radius:8px;overflow:hidden}.message-attachment-head{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:7px 11px;font:12px Manrope;display:flex}.message-attachment-head:hover{background:var(--bg-elevated)}.message-attachment-glyph{color:var(--info);flex:none;font-size:13px;line-height:1}.message-attachment-label{color:var(--text-primary);letter-spacing:.04em;flex:none;font-size:11px;font-weight:700}.message-attachment-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);flex:auto;font-size:12px;overflow:hidden}.message-attachment-chevron{color:var(--text-muted);flex:none;font-size:12px;line-height:1}.message-attachment-body{border-top:1px solid var(--border-subtle);background:var(--bg-inset);color:var(--text-primary);white-space:pre-wrap;word-break:break-word;max-height:360px;margin:0;padding:10px 12px;font:11px DM Mono,monospace;overflow:auto}.composer-hints{align-items:center;gap:10px;min-width:0;display:flex}.composer-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.composer button.composer-attach-btn{border:1px solid var(--border-default);background:var(--bg-panel);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:4px 9px;font:600 11px Manrope;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.composer button.composer-attach-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.composer button.composer-attach-btn:disabled{opacity:.4;cursor:not-allowed}.lightbox-overlay{z-index:70;background:var(--overlay);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.lightbox-dialog{border:1px solid var(--border-strong);background:var(--bg-raised);width:min(900px,100%);max-height:min(90vh,860px);box-shadow:0 25px 60px var(--shadow);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.lightbox-head{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:12px 16px;display:flex}.lightbox-title{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;margin:0;font:700 13px Manrope;display:flex;overflow:hidden}.lightbox-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:16px;line-height:1;transition:color .12s,background .12s}.lightbox-close:hover{color:var(--text-primary);background:var(--bg-hover)}.lightbox-close:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.lightbox-body{background:var(--bg-inset);justify-content:center;align-items:center;padding:16px;display:flex;overflow:auto}.lightbox-image{object-fit:contain;border-radius:6px;max-width:100%;max-height:calc(min(90vh,860px) - 70px);display:block}.workflow-card{border:1px solid var(--border-subtle);background:var(--bg-panel);border-radius:8px;margin:8px 0;padding:10px 12px}.workflow-running{border-left:3px solid var(--info)}.workflow-completed{border-left:3px solid var(--success)}.workflow-failed{border-left:3px solid var(--danger)}.workflow-stopped{border-left:3px solid var(--border-strong)}.workflow-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.workflow-badge{color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:999px;flex:none;padding:0 6px;font-size:11px}.workflow-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);flex:auto;font-size:13px;overflow:hidden}.workflow-progress{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.workflow-policy{color:var(--text-muted);flex:none;font-size:11px}.workflow-status{color:var(--text-secondary);flex:none;font-size:12px}.workflow-clock{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.workflow-stop{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);cursor:pointer;border-radius:4px;flex:none;padding:1px 8px;font-size:11px}.workflow-stop:hover{background:var(--bg-hover)}.workflow-stop:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}.workflow-steps{flex-direction:column;gap:2px;margin:8px 0 0;padding:0;list-style:none;display:flex}.workflow-step{border-left:2px solid var(--border-subtle);align-items:baseline;gap:8px;padding:3px 6px 3px 8px;font-size:12px;line-height:1.5;display:flex}.workflow-step-completed{border-left-color:var(--success)}.workflow-step-running{border-left-color:var(--info)}.workflow-step-failed{border-left-color:var(--danger)}.workflow-step-skipped{border-left-color:var(--warning)}.workflow-step-stopped{border-left-color:var(--border-strong)}.workflow-step-mark{width:1em;color:var(--text-muted);flex:none;font-size:11px}.workflow-step-completed .workflow-step-mark{color:var(--success)}.workflow-step-running .workflow-step-mark{color:var(--info)}.workflow-step-failed .workflow-step-mark{color:var(--danger)}.workflow-step-skipped .workflow-step-mark{color:var(--warning)}.workflow-step-n{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none}.workflow-step-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.workflow-step-skipped .workflow-step-name,.workflow-step-stopped .workflow-step-name{color:var(--text-muted)}.workflow-step-agent{color:var(--text-muted);flex:none;font-size:11px}.workflow-step-tries{color:var(--warning);flex:none;font-size:11px}.workflow-step-status{color:var(--text-secondary);flex:none;margin-left:auto;font-size:11px}.workflow-step-why{color:var(--danger);flex:1 0 100%;margin:2px 0 0;font-size:11px;line-height:1.5}.help-window{width:min(780px,100vw - 32px)}.help-window-head{justify-content:space-between;align-items:center;padding:18px 20px 0;display:flex}.help-head-title{align-items:center;gap:10px;display:flex}.help-badge{background:var(--bg-hover);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:4px;padding:2px 6px;font:700 10px DM Mono,monospace}.help-close-button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:14px;transition:background .12s,color .12s}.help-close-button:hover{background:var(--bg-hover);color:var(--text-primary)}.help-close-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-1px}.help-window-body{max-height:min(75vh,640px)}.help-nav{overflow-y:auto}.help-category{align-items:center;gap:8px;display:flex}.help-tab-icon{font-size:13px;line-height:1}.help-panel{max-height:min(75vh,640px);padding:18px 24px;overflow-y:auto}.help-panel-header{border-bottom:1px solid var(--border-subtle);margin-bottom:16px;padding-bottom:12px}.help-panel-title{color:var(--text-primary);margin:0 0 4px;font:700 15px Manrope}.help-panel-desc{color:var(--text-muted);margin:0;font:12px/1.5 DM Mono,monospace}.help-panel-content{flex-direction:column;gap:14px;display:flex}.help-section-group{flex-direction:column;gap:12px;display:flex}.help-card{border:1px solid var(--border-default);background:var(--bg-raised);border-radius:9px;padding:14px 16px}.help-card.highlight{background:var(--bg-elevated);border-color:var(--border-strong)}.help-card h4{color:var(--text-primary);margin:0 0 8px;font:700 13px Manrope}.help-card p{color:var(--text-secondary);margin:0;font:12px/1.6 Manrope,system-ui}.help-list{color:var(--text-secondary);flex-direction:column;gap:6px;margin:8px 0 0;padding-left:18px;font:12px/1.6 Manrope,system-ui;display:flex}.help-steps{flex-direction:column;gap:12px;margin-top:10px;display:flex}.help-step{align-items:flex-start;gap:10px;display:flex}.step-num{background:var(--bg-hover);width:22px;height:22px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font:700 11px DM Mono,monospace;display:flex}.step-body{min-width:0;color:var(--text-secondary);flex:1;font:12px/1.6 Manrope,system-ui}.step-body strong{color:var(--text-primary);margin-bottom:2px;display:block}.help-code-block{background:var(--bg-inset);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:6px;margin:8px 0 0;padding:10px 12px;font:11px/1.5 DM Mono,monospace;overflow-x:auto}.help-command-table{flex-direction:column;gap:8px;margin-top:8px;display:flex}.cmd-row{background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:6px;flex-direction:column;gap:3px;padding:8px 10px;font:12px Manrope,system-ui;display:flex}.cmd-row code{color:var(--text-primary);width:fit-content;font:500 11px DM Mono,monospace}.cmd-row span{color:var(--text-muted);font-size:11px}.help-theme-list{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.help-theme-item{background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:6px;padding:10px 12px}.help-theme-item strong{color:var(--text-primary);margin-bottom:4px;font:600 12px Manrope;display:block}.help-theme-item p{color:var(--text-muted);margin:0;font:11px/1.5 Manrope}.help-hint{color:var(--text-muted);margin:10px 0 0;font:11px DM Mono,monospace}.help-actions{justify-content:flex-end;margin-top:16px;display:flex}.model-rules-fields{border:0;gap:12px;margin:0;padding:0;display:grid}.model-rules-fields [role=alert]{color:var(--danger)}.settings-panel-container{gap:16px;min-width:0;display:grid}.settings-rule-card{border:1px solid var(--border-default);background:var(--bg-input);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 14px;transition:border-color .15s;display:flex}.settings-rule-card:hover{border-color:var(--border-strong)}.settings-rule-card.editing{border-color:var(--focus-ring);background:var(--bg-raised)}.settings-rule-info{flex:1;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.settings-rule-patterns{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.settings-rule-pill{align-items:center;gap:6px;min-width:0;display:inline-flex}.settings-rule-pill-tag{border:1px solid var(--border-subtle);background:var(--bg-raised);color:var(--text-secondary);border-radius:4px;flex-shrink:0;padding:2px 6px;font:600 10px Manrope}.settings-rule-code{color:var(--text-primary);background:var(--bg-inset);border:1px solid var(--border-subtle);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;max-width:180px;padding:3px 7px;font:11px/1.4 DM Mono,monospace;overflow:hidden}.settings-rule-arrow{color:var(--text-muted);flex-shrink:0;font-size:12px;font-weight:700}.settings-rule-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.settings-rule-edit-btn{border:1px solid var(--border-default);background:var(--bg-hover);color:var(--text-primary);cursor:pointer;border-radius:6px;flex-shrink:0;padding:4px 10px;font:600 11px Manrope;transition:border-color .15s}.settings-rule-edit-btn:hover{border-color:var(--border-strong)}.settings-rule-cancel-btn{border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;padding:8px 14px;font:500 12px Manrope;transition:color .15s,border-color .15s}.settings-rule-cancel-btn:hover{color:var(--text-primary);border-color:var(--border-default)}.settings-rule-fieldset{border:0;gap:12px;margin:0;padding:0;display:grid}.settings-rule-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=600px){.settings-rule-form-grid{grid-template-columns:1fr}}.settings-rule-input-group{gap:6px;display:grid}.settings-rule-label-text{color:var(--text-secondary);letter-spacing:.02em;font:600 11px Manrope}.settings-rule-form-buttons{align-items:center;gap:10px;margin-top:2px;display:flex}.settings-memory-fieldset{border:0;gap:16px;margin:0;padding:0;display:grid}.settings-memory-switches{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.settings-checkbox-label{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;font:500 12px Manrope;display:inline-flex}.settings-checkbox-label input[type=checkbox]{cursor:pointer;accent-color:var(--selected)}.settings-memory-interval-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.settings-memory-interval-label{color:var(--text-secondary);align-items:center;gap:8px;font:500 12px Manrope;display:inline-flex}.settings-interval-input{text-align:center;width:70px;padding:6px 8px}.settings-memory-category-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.settings-memory-select{border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);cursor:pointer;border-radius:8px;outline:0;padding:6px 12px;font:500 12px Manrope}.settings-memory-select:focus{border-color:var(--focus-ring)}.settings-memory-entries-list{gap:8px;max-height:220px;padding-right:4px;display:grid;overflow-y:auto}.settings-memory-card{border:1px solid var(--border-default);background:var(--bg-input);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;padding:10px 14px;display:flex}.settings-memory-card:hover{border-color:var(--border-strong)}.settings-memory-content{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;flex:1;min-width:0;margin:0;font:12px/1.5 DM Mono,monospace}.settings-memory-card-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.settings-memory-editor{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;gap:8px;padding:12px 14px;display:grid}.settings-memory-editor-title{color:var(--text-primary);margin:0;font:600 12px Manrope}.settings-memory-textarea{border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);resize:vertical;box-sizing:border-box;border-radius:8px;outline:0;min-height:80px;padding:10px 12px;font:12px/1.5 DM Mono,monospace}.settings-memory-textarea:focus{border-color:var(--focus-ring)}.settings-proposal-card{border:1px solid var(--border-default);background:var(--bg-input);border-radius:8px;gap:8px;padding:10px 14px;display:grid}.settings-proposal-header{align-items:center;gap:8px;display:flex}.settings-proposal-badge{border:1px solid var(--info);background:var(--bg-raised);color:var(--info);border-radius:4px;padding:2px 6px;font:600 10px Manrope}.settings-proposal-action{color:var(--text-muted);font:700 11px DM Mono,monospace}.settings-proposal-diff{white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:6px 10px;font:11px/1.4 DM Mono,monospace}.settings-proposal-diff.old{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.settings-proposal-diff.new{background:var(--bg-inset);color:var(--text-primary);border:1px solid var(--border-subtle)}.settings-proposal-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.empty-workspace-select{color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;margin-top:14px;font-size:13px;display:flex}.empty-workspace-select select{border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);cursor:pointer;border-radius:8px;outline:0;padding:6px 12px;font:500 13px Manrope}.empty-workspace-select select:focus{border-color:var(--focus-ring)}.empty-secondary-action{color:var(--text-muted);cursor:pointer;background:0 0;border:0;margin-top:14px;padding:0;font-size:12px;display:block}.empty-secondary-action:hover{color:var(--text-primary);text-decoration:underline}:root{--term-ansi-0:#1c2129;--term-ansi-1:#e05263;--term-ansi-2:#4ec98a;--term-ansi-3:#d9a441;--term-ansi-4:#5aa2f0;--term-ansi-5:#c07ce8;--term-ansi-6:#3fc0c9;--term-ansi-7:#c8d3e0;--term-ansi-8:#5a6675;--term-ansi-9:#ff6b7d;--term-ansi-10:#6ee7a3;--term-ansi-11:#f2c563;--term-ansi-12:#7cbcff;--term-ansi-13:#d9a6ff;--term-ansi-14:#5fe0e8;--term-ansi-15:#eef4fb;--term-bg:#05070c;--term-bg-top:#080b12;--term-fg:#dbe4f0;--term-border:#65718a;--term-highlight:#ffffff0a;--term-shadow:#0000002e;--term-glow:#dbe4f02e}.terminal-panel{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.terminal-strip{align-items:stretch;gap:4px;min-width:0;margin:0 -2px;padding:0 2px;display:flex}.terminal-tab{border:1px solid #0000;border-radius:7px 7px 0 0;flex:none;align-items:center;transition:background .12s,border-color .12s;display:inline-flex}.terminal-tab:hover{background:var(--bg-elevated)}.terminal-tab.is-active{background:var(--bg-elevated);border-color:var(--border-default);border-bottom-color:#0000}.terminal-tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px 4px 5px 9px;font:700 11px Manrope;display:inline-flex}.terminal-tab.is-active .terminal-tab-btn{color:var(--text-primary)}.terminal-tab-close{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:0;padding:4px 7px 5px 2px;font-size:13px;line-height:1}.terminal-tab:hover .terminal-tab-close,.terminal-tab.is-active .terminal-tab-close,.terminal-tab-close:focus-visible{opacity:1}.terminal-tab-close:hover{color:var(--danger)}.terminal-tab-dot{background:var(--border-default);border-radius:50%;flex:0 0 6px;width:6px;height:6px}.terminal-tab-dot-running{background:var(--success)}.terminal-tab-dot-starting,.terminal-tab-dot-checking{background:var(--text-muted);animation:1.1s ease-in-out infinite terminal-status-pulse}.terminal-strip-add{border:1px dashed var(--border-default);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:7px 7px 0 0;flex:none;padding:5px 9px;font-size:13px;line-height:1}.terminal-strip-add:hover{color:var(--text-primary);border-style:solid;border-color:var(--border-strong)}.terminal-toolbar-right{align-items:center;gap:8px;min-width:0;display:inline-flex}.terminal-toolbar{justify-content:space-between;align-items:center;gap:8px;min-height:24px;display:flex}.terminal-status{color:var(--text-secondary);align-items:center;gap:6px;font:600 11px Manrope;display:inline-flex}.terminal-status-dot{background:var(--text-muted);border-radius:50%;flex:0 0 6px;width:6px;height:6px}.terminal-status-running{color:var(--success)}.terminal-status-running .terminal-status-dot{background:var(--success)}.terminal-status-starting,.terminal-status-checking,.terminal-status-exited,.terminal-status-unavailable{color:var(--text-muted)}.terminal-status-starting .terminal-status-dot,.terminal-status-checking .terminal-status-dot{animation:1.1s ease-in-out infinite terminal-status-pulse}.terminal-status-exited .terminal-status-dot{background:var(--border-default)}@keyframes terminal-status-pulse{50%{opacity:.25}}.terminal-cwd{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font:11px DM Mono,monospace;overflow:hidden}.terminal-unavailable{gap:8px;display:grid}.terminal-unavailable-reason{color:var(--text-primary);margin:0;font:500 12px Manrope}.terminal-close-btn,.terminal-restart-btn{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:3px 9px;font:600 11px Manrope;transition:border-color .15s,color .15s}.terminal-close-btn:hover{border-color:var(--danger-border);color:var(--danger)}.terminal-restart-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.terminal-surface{background:linear-gradient(180deg,var(--term-bg-top) 0%,var(--term-bg) 100%);border:1px solid var(--term-border);cursor:text;min-height:260px;box-shadow:inset 0 1px 0 var(--term-highlight),0 8px 24px var(--term-shadow);border-radius:10px;outline:0;flex:auto;padding:10px 9px;position:relative;overflow:hidden}.terminal-surface:focus-visible{border-color:var(--focus-ring);box-shadow:0 0 0 2px var(--focus-ring-glow)}.tool-link-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.tool-link-copy-prompt{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:6px 10px}.tool-link-copy-prompt:hover{color:var(--text-primary);border-color:var(--border-strong)}.tool-link-frame{border:1px solid var(--border-default);background:var(--bg-inset);border-radius:8px;width:100%;height:360px;margin-top:14px;display:block}.stream-tail-status[data-stream-state=ready]{color:var(--success)}.stream-tail-status[data-stream-state=waiting]{color:var(--warning)}.stream-tail-status[data-stream-state=streaming]{color:var(--info)}.stream-tail-status[data-stream-state=failed]{color:var(--danger)}.stream-tail+form{border-radius:0 0 13px 13px}.stream-tail-status[data-stream-state=streaming]:before{content:"";vertical-align:-2px;border:1.5px solid;border-right-color:#0000;border-radius:50%;width:11px;height:11px;margin-right:6px;animation:.8s linear infinite session-state-spin;display:inline-block}.call-result{border-top:1px dashed var(--border-subtle);margin-top:8px;padding-top:8px}.call-result-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.call-result-title{color:var(--text-muted);letter-spacing:.02em;font-size:11px;font-weight:700}.call-result-copy{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:10px}.call-result-copy:hover{color:var(--text-primary);border-color:var(--border-strong)}.call-result-body{background:var(--bg-inset);border:1px solid var(--border-subtle);min-width:0;max-width:100%;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;border-radius:6px;max-height:240px;margin:0;padding:8px 10px;font:11px/1.45 DM Mono,monospace;overflow:auto}.call-block-error .call-result-body{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.call-result-truncated{color:var(--text-muted);margin-top:4px;font-size:10px}.call-background-status{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);flex:0 auto;font:10px DM Mono,monospace;overflow:hidden}.call-block[data-background-status=running] .call-background-status{color:var(--info)}.call-block[data-background-status=failed] .call-background-status{color:var(--danger)}.call-block[data-background-status=failed] .call-result-body[data-background-output]{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.session-state{flex:none;align-items:center;gap:4px;font-size:11px;line-height:1;display:inline-flex}.workspace-tab .session-state{order:-1;margin-right:2px}.session-state-mark{flex:none;width:14px;height:14px;font-size:11px;line-height:1;display:inline-block;position:relative}.session-state-waiting{color:var(--warning);position:relative}.session-state-waiting .session-state-mark{transform-origin:50%;animation:1.6s ease-in-out infinite session-state-breathing}@keyframes session-state-breathing{0%,to{opacity:.5}50%{opacity:1}}.session-state-running .session-state-mark:before,.session-state-running .session-state-mark:after{content:"";box-sizing:border-box;border-radius:50%;position:absolute;top:0;left:0}.session-state-running .session-state-mark{width:16px;height:16px}.session-state-running .session-state-mark:before{border:2px solid var(--info);border-right-color:#0000;width:16px;height:16px;animation:.6s linear infinite session-state-spin}.session-state-running .session-state-mark:after{background:var(--info);width:6px;height:6px;animation:1.2s ease-in-out infinite session-state-pulse;top:5px;left:5px}.session-state-running{position:relative}.session-state-running:before{content:"";box-sizing:border-box;pointer-events:none;border-radius:50%;width:16px;height:16px;animation:1.4s ease-out infinite session-state-halo;position:absolute;top:0;left:0}@keyframes session-state-spin{to{transform:rotate(360deg)}}@keyframes session-state-pulse{0%,to{opacity:.35;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}@keyframes session-state-halo{0%{opacity:.55;border:2px solid var(--info);transform:scale(.6)}80%{opacity:0;border:1px solid var(--info);transform:scale(2.2)}to{opacity:0;border:0;transform:scale(2.2)}}.session-state-failed{color:var(--danger)}.session-state-question{color:var(--warning)}.session-state-unread{color:var(--info)}@media (prefers-reduced-motion:reduce){.session-state-running .session-state-mark:before,.session-state-running .session-state-mark:after,.session-state-running:before{animation:none}.session-state-running .session-state-mark:after{opacity:1;transform:none}.session-state-running:before{display:none}.session-state-waiting .session-state-mark{opacity:1;animation:none}}.call-preparing{color:var(--info);white-space:nowrap;flex:none;font:10px DM Mono,monospace;animation:1.1s ease-in-out infinite call-preparing-pulse}@keyframes call-preparing-pulse{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.call-preparing{opacity:.85;animation:none}}.shell{background:var(--bg-app)}aside,.right-rail{background:var(--bg-panel)}.chat{background:var(--bg-app)}.label,.rail-section-title{letter-spacing:.08em;color:var(--text-muted)}.workspace-toggle:hover,.conversation:hover{background:var(--bg-hover)}.conversation.selected{box-shadow:inset 2px 0 0 var(--selected-border);background:var(--selected-bg)}.messages{gap:22px}.message{padding:0 2px}.assistant .content{max-width:none}.user .content{border:1px solid var(--border-subtle);background:var(--bg-raised);border-radius:12px;max-width:min(78ch,100%);padding:10px 13px;display:inline-block}header{border-bottom-color:var(--border-subtle)}form{border-color:var(--border-default);background:var(--bg-raised);box-shadow:0 10px 30px var(--shadow-faint)}textarea:focus{box-shadow:inset 0 0 0 1px var(--focus-ring)}.right-rail-head{background:var(--bg-panel);padding-top:10px}.right-tab{color:var(--text-muted);padding:8px 11px}.right-tab-active{background:var(--bg-elevated);border-color:var(--border-subtle);border-bottom-color:var(--selected-border)}.stream-tail{background:var(--bg-elevated);border-color:var(--border-default);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:12px;min-width:0;padding-inline:18px}.stream-tail-status,.stream-tail-mode{text-overflow:ellipsis;min-width:0;max-width:100%;padding-inline:4px;overflow:hidden}.stream-tail-status{justify-self:start}.stream-tail-mode{justify-self:end}.stream-tail-jump{white-space:nowrap;background:var(--bg-input);min-width:112px;padding-inline:12px}.stream-tail+form{border-top:0;border-radius:0 0 13px 13px;margin-top:0}.stream-tail{border-bottom:0;border-radius:13px 13px 0 0}.stream-tail-status,.stream-tail-mode{border:1px solid var(--border-subtle);background:var(--bg-input);border-radius:999px;align-items:center;min-height:26px;padding:0 10px;line-height:1;display:inline-flex}.stream-tail-status{margin-inline-start:4px}.stream-tail-mode{grid-column:3;justify-self:end;margin-inline-end:4px}.chat>form{height:var(--composer-height);min-height:148px;max-height:55vh}.stream-tail:hover{border-top-color:var(--selected-border)}.todo-item,.subagent-card,.call-block{border-top-color:var(--border-subtle);border-right-color:var(--border-subtle);border-bottom-color:var(--border-subtle)}.rail-empty{border-style:solid;border-color:var(--border-subtle);background:var(--bg-inset)}.tool-dialog,.picker,.settings-window{border-color:var(--border-subtle);box-shadow:0 24px 70px var(--shadow)}button,a,input,textarea,select{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}@media (width<=700px){.chat>form{height:var(--composer-height);min-height:148px;max-height:55dvh}.stream-tail{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding-inline:10px}.stream-tail-status,.stream-tail-mode{background:var(--bg-elevated);border-color:var(--border-subtle);padding-inline:8px}.stream-tail-mode{grid-column:3;justify-self:end;margin-inline-end:0;font-size:9px}.stream-tail-jump{min-width:0}.user .content{max-width:100%}.assistant .content{max-width:none}}.conversation{justify-content:flex-start;padding:8px 9px}.conversation-mark{width:13px;color:var(--text-secondary);flex:0 0 13px;place-items:center;font-style:normal;display:grid}.conversation>span{flex:auto}.conversation-archived{justify-content:flex-start;padding:8px 9px}.conversation-archived>span{flex:auto}.thinking-block{border:1px solid var(--border-default);border-left:2px solid var(--info);background:var(--bg-inset);border-radius:8px;min-width:0;margin:0 0 10px;position:relative;overflow:hidden}.thinking-head{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;box-sizing:border-box;background:0 0;border:0;align-items:baseline;gap:6px;padding:7px 12px;font:11px DM Mono,monospace;display:flex}.thinking-head:hover{background:var(--bg-hover)}.thinking-head[aria-expanded=false]{border-radius:7px 7px 0 0}.thinking-chevron{color:var(--info);flex-shrink:0;font-size:10px;line-height:1}.thinking-label{color:var(--info);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;font-size:10px;font-weight:700}.thinking-count{color:var(--text-muted);flex-shrink:0;font-size:10px}.thinking-live{color:var(--text-secondary);border:1px solid var(--warning-border);white-space:nowrap;text-overflow:ellipsis;border-radius:99px;flex:none;align-items:center;gap:4px;max-width:16em;padding:1px 7px;font-size:10px;display:inline-flex;overflow:hidden}.thinking-live-glyph{color:var(--warning);font-size:9px;line-height:1}.thinking-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);flex:auto;font-style:italic;overflow:hidden}.thinking-body{border-top:1px solid var(--border-subtle);color:var(--text-secondary);white-space:pre-wrap;padding:8px 12px 10px;font-size:12px;line-height:1.5}.thinking-body .call-block,.thinking-body .call-blocks{margin-top:6px}.thinking-text{color:var(--text-secondary);opacity:.8;margin-top:6px}.slash-menu{z-index:8;background:var(--bg-elevated);border:1px solid var(--border-default);max-height:260px;box-shadow:0 12px 30px var(--shadow-faint);border-radius:10px;padding:6px;position:absolute;bottom:calc(100% - 2px);left:14px;right:14px;overflow:auto}.slash-menu-title{color:var(--text-muted);text-transform:uppercase;padding:5px 9px;font:10px DM Mono,monospace}.slash-item{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;padding:8px 9px;display:flex}.slash-item code{min-width:90px;color:var(--text-secondary);font:12px DM Mono,monospace}.slash-item span{font-size:12px}.slash-menu{z-index:8;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:10px;max-height:260px;padding:6px;position:absolute;bottom:calc(100% - 2px);left:14px;right:14px;overflow:auto}.slash-menu-title{color:var(--text-muted);padding:5px 9px;font:10px DM Mono,monospace}.slash-item{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;gap:12px;padding:8px 9px;display:flex}.slash-item.selected,.slash-item:hover{background:var(--bg-hover);color:var(--text-primary)}.slash-item code{min-width:90px;color:var(--text-secondary)}:root,[data-theme=dracula],[data-preview=dracula]{--code-comment:#6272a4;--code-string:#f1fa8c;--code-number:#bd93f9;--code-keyword:#ff79c6}[data-theme=monokai],[data-preview=monokai]{--code-comment:#75715e;--code-string:#a6e22e;--code-number:#ae81ff;--code-keyword:#f92672}[data-theme=solarized-light],[data-preview=solarized-light]{--code-comment:#586e75;--code-string:#b58900;--code-number:#2aa198;--code-keyword:#268bd2}[data-theme=github-light],[data-preview=github-light]{--code-comment:#6a737d;--code-string:#d1242f;--code-number:#a371f7;--code-keyword:#22863a}.code-token-comment{color:var(--code-comment)}.code-token-string{color:var(--code-string)}.code-token-number{color:var(--code-number)}.code-token-keyword{color:var(--code-keyword)}.file-preview-toggle{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:4px;padding:3px 8px}.file-code-preview,.file-markdown-preview{background:var(--bg-elevated);white-space:pre;flex:1;min-height:120px;padding:14px;font:12px/1.6 DM Mono,monospace;overflow:auto}.file-markdown-preview{white-space:normal;font-family:inherit}.composer .session-picker{border-bottom:0;flex:0 auto;gap:6px;min-width:0;margin:0 10px 0 0;padding:0;overflow:visible}.composer .composer-hints{margin-left:auto}.composer{gap:12px}.composer .session-picker-item{flex:0 auto;min-width:0}.composer button.session-picker-trigger{border:1px solid var(--border-default);background:var(--bg-panel);color:var(--text-secondary);white-space:nowrap;cursor:pointer;border-radius:6px;gap:4px;min-width:0;max-width:100%;padding:4px 9px;font:600 11px Manrope;transition:border-color .12s,color .12s,background .12s}.composer button.session-picker-trigger:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.composer button.session-picker-trigger:disabled{opacity:.4;cursor:not-allowed}.composer .session-picker-kind{letter-spacing:.04em;color:var(--text-muted);border-right-color:var(--border-default);padding-right:6px;font:600 10px Manrope}.composer .session-picker-name{color:inherit;flex:0 auto;max-width:16ch;font:600 11px Manrope}.composer .session-picker-detail{display:none}.composer .session-picker-caret{color:var(--text-muted);font-size:9px}@media (width<=1100px){.composer .composer-hints>span{display:none}}@media (width<=700px){.composer{flex-wrap:wrap;row-gap:6px}.composer .session-picker{flex:100%;margin:0;padding:2px 0 0;overflow:visible}.composer .session-picker-name{max-width:9ch}}.composer button.picker-option{color:var(--text-primary);text-align:left;background:0 0;border:0;border-radius:7px;padding:8px 10px;font-weight:400}.composer button.picker-option:hover{background:var(--bg-hover);color:var(--text-primary)}.composer button.picker-option.selected{background:var(--bg-raised)}.composer button.picker-option.selected:hover{background:var(--bg-hover)}.composer button.picker-option.preview{background:var(--bg-hover);box-shadow:inset 2px 0 0 var(--border-strong)}.composer button.picker-filter-clear{color:var(--text-secondary);background:0 0;border:0;border-radius:5px;padding:2px 5px;font-size:11px;font-weight:400;line-height:1}.composer button.picker-filter-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.question-block{border:1px solid var(--border-default);background:var(--bg-elevated);min-width:0;box-shadow:0 12px 30px var(--shadow-faint);border-radius:12px;gap:9px;margin:10px 0;padding:13px 14px;display:grid}.question-pending{border-color:var(--border-strong);box-shadow:0 12px 30px var(--shadow-faint),inset 3px 0 0 var(--warning)}.question-text{color:var(--text-primary);font:700 14px/1.5 Manrope;display:block}.question-header{font-weight:700}.question-sep{color:var(--text-secondary);margin:0 4px;font-weight:400}.question-options{gap:6px;min-width:0;display:grid}.question-options label{border:1px solid var(--border-subtle);background:var(--bg-raised);cursor:pointer;color:var(--text-secondary);border-radius:9px;align-items:flex-start;gap:9px;padding:8px 11px;font:500 13px/1.5 Manrope;transition:border-color .12s,background .12s,color .12s;display:flex}.question-options label:hover{border-color:var(--border-default);color:var(--text-primary)}.question-options input{accent-color:var(--selected);cursor:pointer;flex:none;margin:2px 0 0}.question-options label:has(input:checked){border-color:var(--selected-border);background:var(--bg-elevated);color:var(--text-primary)}.question-options label:focus-within{border-color:var(--focus-ring);box-shadow:0 0 0 2px var(--focus-ring-glow)}.question-block textarea{resize:vertical;border:1px solid var(--border-subtle);background:var(--bg-input);width:100%;min-height:62px;color:var(--text-primary);border-radius:9px;outline:0;padding:9px 11px;font:13px/1.55 Manrope}.question-block textarea:focus{border-color:var(--focus-ring);box-shadow:0 0 0 2px var(--focus-ring-glow)}.question-block button{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:0;border-radius:8px;justify-self:start;padding:7px 15px;font:800 12px Manrope}.question-block button:hover:not(:disabled){background:var(--accent-hover)}.question-block button:disabled{opacity:.4;cursor:not-allowed}.question-answered{background:var(--bg-inset);border-color:var(--border-subtle);box-shadow:none}.question-answered .question-text{color:var(--text-secondary);font-weight:600}.question-answered .question-options{display:none}.question-summary{color:var(--text-secondary);font:500 13px/1.6 Manrope}.question-summary .question-note{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.question-answered .question-summary{color:var(--text-secondary)}.question-cancelled{background:var(--bg-inset);border-color:var(--border-subtle);box-shadow:none}.question-cancelled .question-text{color:var(--text-muted);font-weight:600}.question-body{padding:4px 0 2px}.question-item{gap:8px;min-width:0;display:grid}.question-item+.question-item{border-top:1px solid var(--border-subtle);padding-top:11px}.question-actions{align-items:center;gap:8px;display:flex}.question-skip{border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:7px 13px;font:600 12px Manrope}.question-skip:hover{border-color:var(--border-strong);color:var(--text-secondary)}.question-options label[data-chosen]{border-color:var(--selected-border);background:var(--bg-elevated);color:var(--text-primary)}.question-options label:has(input:disabled){cursor:default;opacity:1}.question-options input:disabled{opacity:1;cursor:default}.question-options label.is-chosen{font-weight:700}.question-mark{color:var(--selected);margin-left:auto;padding-left:10px;font-weight:700}.question-cancelled .question-options label{color:var(--text-muted);background:0 0}.question-cancelled .question-summary{color:var(--text-muted)}.terminal-xterm-host{width:100%;min-width:0;height:100%;min-height:0}.terminal-xterm-host .xterm{width:100%;height:100%;padding:0}.terminal-xterm-host .xterm-viewport{overflow-y:auto;background:0 0!important}.terminal-xterm-host .xterm-screen{width:100%!important}.md{overflow-wrap:anywhere}.md-pre,.md-math,.md-table{overflow-wrap:normal}.settings-model-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=600px){.settings-model-grid{grid-template-columns:1fr}}.settings-model-group{gap:6px;min-width:0;display:grid}.settings-model-label{color:var(--text-secondary);letter-spacing:.02em;font:600 11px Manrope}.settings-model-select{border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);cursor:pointer;border-radius:8px;outline:0;width:100%;min-width:0;padding:8px 11px;font:12px Manrope}.settings-model-select:focus{border-color:var(--focus-ring)}.settings-model-select:disabled{opacity:.5;cursor:not-allowed}.settings-model-current{color:var(--text-primary);flex-wrap:wrap;align-items:baseline;gap:8px;font:12px Manrope;display:flex}.settings-model-current-name{font-weight:600}.settings-model-current-pair{color:var(--text-secondary);background:var(--bg-inset);border-radius:6px;padding:2px 7px;font:12px DM Mono,monospace}.settings-model-current-none{color:var(--text-secondary)}.settings-provider-list{gap:10px;margin-top:12px;display:grid}.settings-provider-card{border:1px solid var(--border-subtle);background:var(--bg-inset);border-radius:10px;gap:6px;padding:11px 13px;display:grid}.settings-provider-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-provider-id{color:var(--text-primary);font:600 12px DM Mono,monospace}.settings-provider-name{color:var(--text-secondary);font:12px Manrope}.settings-provider-badge{color:var(--text-secondary);border:1px solid var(--border-default);border-radius:999px;padding:2px 8px;font:600 10px Manrope}.settings-provider-meta{color:var(--text-muted);overflow-wrap:anywhere;font:11px DM Mono,monospace}.settings-provider-models{flex-wrap:wrap;gap:6px;display:flex}.settings-provider-model{color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:6px;padding:2px 7px;font:11px Manrope}.settings-provider-actions{gap:8px;margin-top:2px;display:flex}.settings-provider-form{gap:12px;margin-top:14px;display:grid}.settings-provider-numbers{grid-template-columns:1fr 1fr;gap:8px;display:grid}.settings-provider-switches{flex-wrap:wrap;gap:14px;display:flex}