teapot-coding-agent 0.37.54 → 0.37.56

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.
@@ -20,6 +20,61 @@ function clip(s, max) {
20
20
  async function readText(p) {
21
21
  return fs.readFile(p, "utf8");
22
22
  }
23
+ /**
24
+ * Is this file binary, i.e. not something `read_file` should return as text?
25
+ *
26
+ * `readText` decodes with "utf8" unconditionally, so pointing `read_file` at an image returned the
27
+ * raw bytes as a lossy string — reported as "画像をread_fileしてバイナリが帰ってきてる". The model then
28
+ * spends tokens on unreadable mojibake and cannot tell it is looking at data rather than source.
29
+ *
30
+ * The test is the classic one, applied to the FIRST block only: a NUL byte means "not text". Reads
31
+ * are bounded, because deciding costs a file read and the answer never needs the whole file.
32
+ */
33
+ export async function looksBinary(p) {
34
+ const fh = await fs.open(p, "r");
35
+ try {
36
+ const st = await fh.stat();
37
+ const head = Buffer.alloc(Math.min(4096, Math.max(0, st.size)));
38
+ if (head.length)
39
+ await fh.read(head, 0, head.length, 0);
40
+ /**
41
+ * MAGIC BYTES FIRST, then the NUL test.
42
+ *
43
+ * A NUL scan alone missed PDF and zip: their headers contain no zero byte in the first few
44
+ * bytes, so `%PDF-1.4` and `PK\x03\x04` both read as "text" — MEASURED, and it would have
45
+ * shipped a silent hole. A known signature is proof regardless of what the bytes happen to
46
+ * contain; the NUL test is the fallback for everything unrecognised.
47
+ */
48
+ const kind = sniff(head);
49
+ if (kind)
50
+ return { binary: true, bytes: st.size, kind };
51
+ return { binary: head.includes(0), bytes: st.size, kind: head.includes(0) ? "binary" : "text" };
52
+ }
53
+ finally {
54
+ await fh.close();
55
+ }
56
+ }
57
+ /** the guessed format from magic bytes, or null when nothing is recognised */
58
+ function sniff(head) {
59
+ const hex = (n) => head.subarray(0, n).toString("hex");
60
+ if (hex(8).startsWith("89504e47"))
61
+ return "PNG image";
62
+ if (hex(3) === "ffd8ff")
63
+ return "JPEG image";
64
+ if (head.subarray(0, 4).toString("latin1") === "GIF8")
65
+ return "GIF image";
66
+ if (head.subarray(0, 4).toString("latin1") === "PK\x03\x04")
67
+ return "zip archive";
68
+ if (hex(4) === "25504446")
69
+ return "PDF";
70
+ if (hex(4) === "7f454c46")
71
+ return "ELF binary";
72
+ if (hex(2) === "1f8b")
73
+ return "gzip archive";
74
+ if (head.subarray(0, 5).toString("latin1") === "{\\rtf")
75
+ return "RTF document";
76
+ return null;
77
+ }
23
78
  /**
24
79
  * Persist a `write_file` payload and report what line endings it used (#84/#109).
25
80
  *
@@ -436,7 +491,9 @@ export function killBgShells(cwd) {
436
491
  return killed;
437
492
  }
438
493
  /** Run a command in its own process group; kill the whole group on timeout. */
439
- function runShell(cmd, ctx, timeoutMs) {
494
+ function runShell(cmd, ctx, timeoutMs,
495
+ /** did the caller pass `timeout_ms`, or is this the default? the message says which */
496
+ explicitTimeout = false) {
440
497
  return new Promise((resolve) => {
441
498
  const t0 = Date.now();
442
499
  // `bash -l` sources /etc/profile + ~/.bash_profile, either of which may
@@ -465,7 +522,35 @@ function runShell(cmd, ctx, timeoutMs) {
465
522
  // a crash, because nothing afterwards looks wrong.
466
523
  const killGroup = () => killTree(child);
467
524
  const timer = setTimeout(() => {
468
- killReason = `TIMEOUT after ${timeoutMs}ms — ${describeKill(killGroup())}`;
525
+ /**
526
+ * The message has to teach the agent what it did not know.
527
+ *
528
+ * It read `TIMEOUT after 120000ms — killed`, which names neither the limit in human terms nor
529
+ * the parameter that changes it. MEASURED: an agent that never noticed `timeout_ms` hit this
530
+ * repeatedly, retrying the same command. So the message says WHAT the limit was, WHERE it came
531
+ * from (default vs explicit), what to pass next time, and when to switch to `background`.
532
+ */
533
+ /**
534
+ * The message has to teach the agent what it did not know.
535
+ *
536
+ * It read `TIMEOUT after 120000ms — killed`, which names neither the limit in human terms nor
537
+ * the parameter that changes it. MEASURED: an agent that never noticed `timeout_ms` hit this
538
+ * repeatedly, retrying the same command. So the message says WHAT the limit was, WHERE it came
539
+ * from (default vs explicit), what to pass next time, and when to switch to `background`.
540
+ *
541
+ * The limit keeps its raw `ms` when it is sub-second: "TIMEOUT after 0s" for a 300ms limit
542
+ * both reads wrong and loses the precision a caller needs to judge its next attempt.
543
+ */
544
+ const limit = timeoutMs < 1000 ? `${timeoutMs}ms` : `${Math.round(timeoutMs / 1000)}s`;
545
+ killReason =
546
+ `TIMEOUT after ${limit} — ${describeKill(killGroup())}. ` +
547
+ (explicitTimeout
548
+ ? `You passed timeout_ms=${timeoutMs}${timeoutMs >= BASH_MAX_TIMEOUT_MS ? " (the maximum)" : ""}. `
549
+ : `This was the DEFAULT (${limit}) because no timeout_ms was given. `) +
550
+ (timeoutMs < BASH_MAX_TIMEOUT_MS
551
+ ? `Retry with a larger timeout_ms (up to ${BASH_MAX_TIMEOUT_MS}) if it legitimately needs longer, ` +
552
+ `or use background=true for a job with no timeout at all.`
553
+ : `If it needs longer than the maximum, use background=true — a background job has no timeout.`);
469
554
  }, timeoutMs);
470
555
  // harness shutdown must not wait out a long-running command
471
556
  const onAbort = () => {
@@ -629,7 +714,17 @@ export function disproportionateSpan(text, anchor) {
629
714
  }
630
715
  return null;
631
716
  }
632
- export const DEFAULT_TIMEOUT_MS = 120_000;
717
+ /**
718
+ * How long a `bash` command may run when `timeout_ms` is not given.
719
+ *
720
+ * The UI imports this (via `frontend/lib/bash-timeout.ts`) so the row shows the SAME cap the server
721
+ * enforces. They drifted once: the server applied 120s while the row drew nothing, because the row
722
+ * only looked at a `timeout_ms` the model had omitted.
723
+ */
724
+ export const BASH_DEFAULT_TIMEOUT_MS = 120_000;
725
+ /** the hard ceiling, applied after any `timeout_ms` the model passes */
726
+ export const BASH_MAX_TIMEOUT_MS = 600_000;
727
+ export const DEFAULT_TIMEOUT_MS = BASH_DEFAULT_TIMEOUT_MS;
633
728
  /* ---------- read_url cache ---------- */
634
729
  const URL_CACHE_TTL_MS = 3_600_000;
635
730
  const urlCache = new Map();
@@ -1280,6 +1375,24 @@ export const TOOLS = [
1280
1375
  const p = safeJoin(ctx.cwd, str(args.path));
1281
1376
  let text;
1282
1377
  try {
1378
+ /**
1379
+ * Refuse a BINARY file instead of decoding it as UTF-8.
1380
+ *
1381
+ * `readText` has no notion of encoding, so `read_file` on an image returned the raw bytes as
1382
+ * a lossy string — reported as "画像をread_fileしてバイナリが帰ってきてる". The model then pays
1383
+ * for mojibake it cannot interpret and has no way to tell "this is data" from "this is
1384
+ * source". Naming the likely type (PNG/JPEG/PDF/ELF/zip) is what lets it choose the right
1385
+ * next step instead of retrying the same read.
1386
+ */
1387
+ const probe = await looksBinary(p);
1388
+ if (probe.binary) {
1389
+ return {
1390
+ ok: false,
1391
+ result: `${str(args.path)} is a ${probe.kind} (${probe.bytes} bytes), not text — read_file returns ` +
1392
+ `file CONTENT, so binary data would arrive as unreadable bytes. Use bash (file, identify, ` +
1393
+ `xxd) to inspect it, or a tool that handles this format.`,
1394
+ };
1395
+ }
1283
1396
  text = await readText(p);
1284
1397
  }
1285
1398
  catch (err) {
@@ -1725,7 +1838,15 @@ export const TOOLS = [
1725
1838
  type: "object",
1726
1839
  properties: {
1727
1840
  command: { type: "string" },
1728
- timeout_ms: { type: "number", description: `default ${DEFAULT_TIMEOUT_MS}` },
1841
+ timeout_ms: {
1842
+ type: "number",
1843
+ description: `How long the command may run before the harness KILLS it (whole process group, partial output ` +
1844
+ `returned). Default ${DEFAULT_TIMEOUT_MS / 1000}s, maximum 600s. ` +
1845
+ `MEASURED, an agent that does not know this burns several attempts on long builds: a command ` +
1846
+ `that needs more than the default MUST pass a larger timeout_ms (e.g. 300000 for a 5-minute ` +
1847
+ `build), and one that needs more than 600s must use background=true instead — there is no ` +
1848
+ `timeout on a background job.`,
1849
+ },
1729
1850
  background: {
1730
1851
  type: "boolean",
1731
1852
  description: "true = start the command and return IMMEDIATELY with a job id. You are NOTIFIED at your " +
@@ -1749,7 +1870,8 @@ export const TOOLS = [
1749
1870
  `Full output: bash_output(job_id="${id}"). Kill: bash_output(job_id="${id}", action="kill").`,
1750
1871
  };
1751
1872
  }
1752
- return runShell(str(args.command), ctx, Math.min(num(args.timeout_ms, ctx.defaultTimeoutMs), 600_000));
1873
+ const explicit = args.timeout_ms !== undefined && args.timeout_ms !== null;
1874
+ return runShell(str(args.command), ctx, Math.min(num(args.timeout_ms, ctx.defaultTimeoutMs), BASH_MAX_TIMEOUT_MS), explicit);
1753
1875
  },
1754
1876
  },
1755
1877
  {
@@ -81,6 +81,20 @@ export async function fetchModelList(baseUrl, apiKey) {
81
81
  completion: Number(m.pricing.completion ?? 0),
82
82
  }
83
83
  : undefined,
84
+ /**
85
+ * `modalities` is only known when the provider PUBLISHES it — in practice OpenRouter's
86
+ * `architecture.input_modalities`.
87
+ *
88
+ * Every other endpoint omits the field, so this stays `undefined` and the UI must treat it as
89
+ * UNKNOWN rather than as "text only". Reported as "Command Code GOATのモデルカタログが
90
+ * input/outputのフォーマットを適切に提供していない? OpenRouterしかちゃんと対応できてない可能性は
91
+ * ある" — which is exactly right, and the code was right not to invent a value.
92
+ *
93
+ * The consequence to know about: without a modality list nothing can decide "this model
94
+ * accepts an image", so an operator's screenshot reaches the model as a FILE PATH and an agent
95
+ * that tries `read_file` gets bytes. The guard for that lives in `read_file` (it refuses a
96
+ * binary file by name instead of returning mojibake), so the failure is at least legible.
97
+ */
84
98
  modalities: Array.isArray(m.architecture?.input_modalities) && m.architecture.input_modalities.length
85
99
  ? {
86
100
  input: m.architecture.input_modalities,
@@ -440,6 +440,7 @@ export function buildApp(master) {
440
440
  }
441
441
  };
442
442
  let ws;
443
+ let ka;
443
444
  return {
444
445
  onOpen(_evt, socket) {
445
446
  ws = socket;
@@ -455,6 +456,28 @@ export function buildApp(master) {
455
456
  return;
456
457
  }
457
458
  let id = wanted;
459
+ /**
460
+ * A keep-alive ping, because an idle terminal socket is killed silently.
461
+ *
462
+ * The main socket has done this since it was written (30s ping, reaping a client that
463
+ * stops answering), and the terminal socket did not. A terminal is idle by nature — the
464
+ * operator opens a shell, walks away, comes back — so it is exactly the connection a proxy
465
+ * or an OS idle timeout drops. MEASURED on the operator's own server: three terminals
466
+ * open, two of them `clients: 0` with the panes still on screen and dead, while the one
467
+ * being used stayed attached.
468
+ *
469
+ * The ping also gives the CLIENT a liveness signal to notice a half-open socket: TCP can
470
+ * stay "open" locally after the peer is gone, and without traffic there is nothing to
471
+ * fail on.
472
+ */
473
+ ka = setInterval(() => {
474
+ try {
475
+ socket.send(JSON.stringify({ kind: "ping" }));
476
+ }
477
+ catch {
478
+ /* onClose detaches */
479
+ }
480
+ }, 30_000);
458
481
  if (!id) {
459
482
  const created = createTerminal(agentId, agent.workspace);
460
483
  if (!created.ok) {
@@ -510,6 +533,8 @@ export function buildApp(master) {
510
533
  }
511
534
  },
512
535
  onClose() {
536
+ if (ka)
537
+ clearInterval(ka);
513
538
  // DETACH, do not kill: a reload must not destroy the shell (#term-shared)
514
539
  if (!attachedId)
515
540
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "teapot-coding-agent",
3
- "version": "0.37.54",
3
+ "version": "0.37.56",
4
4
  "description": "A lightweight, always-on multi-agent harness for AI coding agents",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-or-later",
@@ -1 +1 @@
1
- :root{--bg-darkest:#1a1c22;--bg-dark:#232630;--bg-mid:#2b2e39;--bg-light:#343845;--fg:#dcdee4;--dim:#9298a5;--muted:#6b7280;--line:#1d2027;--line-strong:#7f8b9c;--acc:#5865f2;--ok:#3ba55d;--warn:#faa81a;--err:#ed4245;--tool:#3ba0c9;--term-bg:#0d0e12;--term-fg:#dcdee4;--text-xs:11px;--text-sm:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--leading-tight:1.25;--leading-normal:1.45;--leading-relaxed:1.6;--tracking-tight:-.011em;--tracking-tighter:-.02em;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:12px;--space-6:16px;--space-7:24px;--radius-sm:6px;--radius-md:9px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.24s;--shadow-sm:0 1px 2px #0006;--shadow-lg:0 8px 24px -6px #000a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,Geist,SF Pro Text,system-ui,-apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif}[data-theme=midnight]{--bg-darkest:#0d0f18;--bg-dark:#12141f;--bg-mid:#1b1f31;--bg-light:#252a42;--fg:#dfe2f2;--dim:#8a90ad;--line:#0a0c14;--acc:#8b7cf7;--ok:#54c08a;--warn:#e5b567;--err:#ef6a6a;--tool:#6aa9e9;--term-bg:#0a0c13;--term-fg:#dfe2f2}[data-theme=tea]{--bg-darkest:#241c16;--bg-dark:#2e241c;--bg-mid:#3b2f24;--bg-light:#493b2d;--fg:#f0e4d2;--dim:#b39d82;--line:#1b140f;--acc:#d98e32;--ok:#7fa653;--warn:#e0b058;--err:#cf5b47;--tool:#c9975f;--term-bg:#1d1712;--term-fg:#ecdcc3}[data-theme=coffee]{--bg-darkest:#191410;--bg-dark:#211a14;--bg-mid:#30271e;--bg-light:#403527;--fg:#ede3d0;--dim:#a89478;--line:#120d07;--acc:#c68a4b;--ok:#8aa15c;--warn:#d9a441;--err:#c25450;--tool:#a67c52;--term-bg:#15100c;--term-fg:#e8dcc5}[data-theme=matcha]{--bg-darkest:#1b2217;--bg-dark:#232b1e;--bg-mid:#2f3a28;--bg-light:#3c4a33;--fg:#e8eeda;--dim:#9aab84;--line:#131a10;--acc:#8db64e;--ok:#6fae4e;--warn:#d8b13c;--err:#cd5c50;--tool:#5da88f;--term-bg:#151b11;--term-fg:#dfe8cb}[data-theme=matrix]{--bg-darkest:#060a06;--bg-dark:#0a0f0a;--bg-mid:#122116;--bg-light:#18301d;--fg:#c9f2cf;--dim:#6fa075;--line:#030603;--acc:#2fd558;--ok:#39c95f;--warn:#b8d977;--err:#ff6b6b;--tool:#57c99b;--term-bg:#030503;--term-fg:#3f7}[data-theme=sunset]{--bg-darkest:#1c1422;--bg-dark:#241b2b;--bg-mid:#33253e;--bg-light:#452f52;--fg:#f2e6ea;--dim:#ab93a8;--line:#150e1b;--acc:#f2784b;--ok:#63b46f;--warn:#eda63d;--err:#e25563;--tool:#b06ac9;--term-bg:#170f1d;--term-fg:#f0dfe4}[data-theme=light]{--bg-darkest:#eceef4;--bg-dark:#f6f7fa;--bg-mid:#e2e5ee;--bg-light:#fff;--fg:#24272f;--dim:#5d6470;--line:#d8dbe4;--acc:#4757d8;--ok:#2b8a4b;--warn:#b97a0f;--err:#d83c3f;--tool:#2278a8;--term-bg:#fff;--term-fg:#24272f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--line-strong:#7f8b9c}[data-theme=strawberry]{--bg-darkest:#fbe4ea;--bg-dark:#fdf0f3;--bg-mid:#f7d4de;--bg-light:#fffafb;--fg:#4a2733;--dim:#96707e;--line:#f0ccd6;--acc:#e05575;--ok:#4d9e63;--warn:#c98a2d;--err:#d43d51;--tool:#b05687;--term-bg:#fff5f8;--term-fg:#4a2733;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--line-strong:#b06a83}[data-theme=ramune]{--bg-darkest:#ddeff7;--bg-dark:#ecf7fb;--bg-mid:#c9e7f4;--bg-light:#fbfeff;--fg:#173342;--dim:#5b7d90;--line:#c2e2ef;--acc:#1d86ae;--ok:#3a9e6e;--warn:#cf9a2a;--err:#d64f5c;--tool:#3a9db8;--term-bg:#f4fbfd;--term-fg:#173342;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--line-strong:#4a8aae}*{box-sizing:border-box}button{white-space:nowrap;line-height:1;font:inherit;transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease;justify-content:center;align-items:center;display:inline-flex}button:hover:not(:disabled){filter:brightness(1.12)}button:active:not(:disabled){filter:brightness(.95)}button:disabled{filter:none}html[data-bg-image=on] button:where(:not(.copybtn,.qopt,.themecard)){border:1px solid var(--line-strong);color:var(--fg);border-radius:var(--radius-md);background-color:#0000}html[data-bg-image=on] button.primarybtn,html[data-bg-image=on] button.okbtn,html[data-bg-image=on] button.savebtn,html[data-bg-image=on] button.runbtn{border:1px solid var(--acc);color:var(--acc);border-radius:var(--radius-md);background-color:#0000}html[data-bg-image=on] button.okbtn{border-color:var(--ok);color:var(--ok)}html[data-bg-image=on] .chan-head .runbtn.danger,html[data-bg-image=on] button.runbtn.danger{border:1px solid var(--err);color:var(--err);background:0 0}html[data-bg-image=on] button:where(:not(.copybtn,.qopt,.themecard,.primarybtn,.okbtn,.savebtn,.runbtn,.goalstate)):hover:where(:not(:disabled)){border-color:var(--acc);color:var(--acc);filter:none;background-color:color-mix(in srgb, var(--acc) 12%, transparent)}html[data-bg-image=on] button.goalstate:hover:where(:not(:disabled)),html[data-bg-image=on] button.primarybtn:hover:not(:disabled),html[data-bg-image=on] button.okbtn:hover:not(:disabled),html[data-bg-image=on] button.savebtn:hover:not(:disabled),html[data-bg-image=on] button.runbtn:hover:not(:disabled),html[data-bg-image=on] button.runbtn.danger:hover:not(:disabled){filter:none;background-color:color-mix(in srgb, currentColor 16%, transparent);border-color:currentColor}html[data-bg-image=on] button.iconbtn.active{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc);color:var(--acc);background-color:#0000}html[data-bg-image=on] button.goalstate.on.active{border-color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok);color:var(--ok);background-color:#0000}html[data-bg-image=on] button.goalstate.on.done{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc);color:var(--acc);background-color:#0000}html[data-bg-image=on] button.goalstate.on.paused{border-color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn);color:var(--warn);background-color:#0000}html[data-bg-image=on] button.iconbtn.active:hover:not(:disabled),html[data-bg-image=on] button.goalstate.on:hover:not(:disabled){background-color:#0000}html[data-appearance=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-appearance=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{height:100%;margin:0}body{background:var(--bg-dark);color:var(--fg);font-size:var(--text-md);background:var(--bg-dark)}html[data-bg-image=on] body{background:0 0}.bgphoto{z-index:-1;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.bgphoto>img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.bgphoto-veil{background:color-mix(in srgb, var(--bg-dark) calc(var(--bg-image-dim,.55) * 100%), transparent);pointer-events:none;position:absolute;inset:0}.layout{grid-template-columns:250px 1fr clamp(320px,370px,32vw);height:100dvh;display:grid;position:relative;overflow:hidden}.layout.right-hidden{grid-template-columns:250px 1fr}.layout.right-hidden .rightbar{display:none}@media (width<=1100px){.layout.right-hidden .rightbar,.layout .rightbarbackdrop{display:block}.rightbar .rightbarhead{z-index:1;display:flex;position:sticky;top:0}.rightbar:has(.rightbarhead){padding-top:0}.rightbar{z-index:5;width:min(420px,92vw);box-shadow:none;transition:transform .18s,box-shadow .18s;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.rightbar.open{transform:none;box-shadow:-8px 0 24px #0007}.sidebar{z-index:6;width:min(300px,86vw);box-shadow:none;transition:transform .18s,box-shadow .18s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:none;box-shadow:8px 0 24px #0007}.leftbarbackdrop{z-index:4;background:#0006;position:fixed;inset:0}.sidehead{padding:0 0 var(--space-2);margin-bottom:var(--space-2);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.layout,.layout.right-hidden{grid-template-columns:1fr}}.sidebar{background:var(--bg-darkest);flex-direction:column;padding:10px 8px;display:flex;overflow:hidden auto}.themepop{background:var(--bg-mid);border:1px solid var(--bg-light);border-radius:var(--radius-lg);gap:var(--space-4);flex-direction:column;padding:10px;display:flex;position:static}.trow{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--fg);cursor:pointer;display:flex}.trow select{background:var(--bg-darkest);border-radius:var(--radius-md);color:var(--fg);border:none;outline:none;padding:3px 6px}.themegrid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.themebtn{align-items:center;gap:var(--space-3);background:var(--bg-light);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);text-align:left;border:1px solid #0000;min-width:0;padding:5px 8px;display:flex;overflow:hidden}.themebtn>:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.themebtn:hover{filter:brightness(1.15)}.themebtn.on{border-color:var(--acc)}.swdots{gap:var(--space-1);flex-shrink:0;display:inline-flex}.themepick{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(104px,1fr));display:grid}.themecard{gap:var(--space-2);cursor:pointer;color:var(--fg);font-size:var(--text-xs);text-align:left;background:0 0;border:none;flex-direction:column;min-width:0;padding:0;display:flex}.themecard-preview{border-radius:var(--radius-md);width:100%;height:62px;transition:border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out);border:1px solid #0000;display:block;overflow:hidden}.themecard:hover .themecard-preview{border-color:var(--dim);transform:translateY(-1px)}.themecard.on .themecard-preview{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc)}.themecard-label{text-overflow:ellipsis;white-space:nowrap;color:var(--dim);overflow:hidden}.themecard.on .themecard-label{color:var(--fg);font-weight:600}.tprev{width:100%;height:100%;display:block;position:relative}.tprev-bg{background-position:50%;background-size:cover;border-radius:2px;position:absolute;inset:0}.tprev-veil{border-radius:2px;position:absolute;inset:0}.tprev-nav{width:22%;position:absolute;inset:0 auto 0 0}.tprev-head{height:18%;position:absolute;top:0;left:22%;right:0}.tprev-panel{border-radius:3px;margin:5%;position:absolute;inset:18% 0 0 22%}.tprev-line{border-radius:2px;height:5%;position:absolute}.tprev-dot{border-radius:50%;width:7px;height:7px;position:absolute}.themeeditor{margin-top:var(--space-5)}.cfgsub{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--dim);margin:var(--space-5) 0 var(--space-3);font-weight:600}.paletterows{gap:var(--space-2) var(--space-4);margin:var(--space-3) 0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.paletterow{align-items:center;gap:var(--space-2);font-size:var(--text-xs);min-width:0;display:flex}.paletterow input[type=color]{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-shrink:0;width:26px;height:22px;padding:0}.paletterow input[type=color]::-webkit-color-swatch-wrapper{padding:0}.paletterow input[type=color]::-moz-color-swatch{border:none;border-radius:1px}.paletterow input[type=color]::-webkit-color-swatch{border:none;border-radius:1px}.paletterow-label{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.paletterow-hex{background:var(--bg-darkest);border:1px solid var(--line);width:8.5em;color:var(--fg);border-radius:var(--radius-sm);padding:2px var(--space-2);font-size:var(--text-xs);flex-shrink:0}.paletterow-hex:focus{border-color:var(--acc);outline:none}.bgpreview{margin-top:var(--space-3)}.bgpick{cursor:pointer;background:var(--bg-darkest);border:1px dashed var(--line-strong);border-radius:var(--radius-md);width:100%;max-width:260px;color:var(--dim);font-size:var(--text-xs);align-self:start;padding:0;display:block;position:relative;overflow:hidden}.bgpick.has{border-style:solid;border-color:var(--line)}.bgpick img{object-fit:cover;width:100%;height:84px;display:block}.bgpick-empty{padding:18px 10px;display:block}.bgpick-hint{background:color-mix(in srgb, var(--bg-darkest) 62%, transparent);color:var(--fg);opacity:0;transition:opacity var(--dur-fast) ease;place-items:center;font-weight:600;display:grid;position:absolute;inset:0}.bgpick:hover .bgpick-hint,.bgpick:focus-visible .bgpick-hint{opacity:1}html[data-bg-image=on] button.bgpick{border-style:dashed}html[data-bg-image=on] button.bgpick.has{border-style:solid}.bgpreview img{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--line);max-width:100%;max-height:120px;display:block}.bgpreview .btnrow{margin-top:var(--space-2);align-items:center}.swdots i{border-radius:50%;width:9px;height:9px;display:inline-block;box-shadow:inset 0 0 0 1px #0004}.agent-list{flex:1;min-width:0;min-height:0;overflow-y:auto}.wsheader{align-items:center;gap:var(--space-3);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--dim);cursor:pointer;-webkit-user-select:none;user-select:none;border-top:1px solid var(--line);margin-top:6px;padding:10px 10px 4px;font-weight:600;display:flex}.wsheader:first-child{border-top:none;margin-top:0}.wsheader:hover{color:var(--fg)}.wsheader .wscaret{width:12px;font-size:var(--text-xs);flex-shrink:0}.wsheader .wscount{border-radius:var(--radius-pill);background:var(--bg-light);color:var(--dim);font-size:var(--text-xs);letter-spacing:0;flex-shrink:0;margin-left:auto;padding:0 6px;font-weight:600;line-height:15px}.agent-item{align-items:center;gap:var(--space-4);border-radius:var(--radius-md);cursor:pointer;color:var(--fg);min-width:0;margin-bottom:2px;padding:7px 10px;display:flex}.agent-item>span:not(.dot):not(.caret):not(.caret-spacer):not(.notifbadge):not(.subcount):not(.subtag):not(.ghosttag):not(.mini-cron):not(.goaldone){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.agent-item .subtag{color:var(--dim);font-size:var(--text-xs)}.agent-item .goaldone{flex-shrink:0}.caret{cursor:pointer;width:12px;color:var(--dim);font-size:var(--text-xs);text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0}.caret:hover{color:var(--fg)}.caret-spacer{flex-shrink:0;width:12px}.agent-item:hover{background:var(--bg-mid)}.agent-item.collapsed{cursor:pointer}.agent-item.sel{background:var(--bg-mid)}.agent-item.sub-row{color:var(--dim)}.agent-item.sub-row.sel{color:var(--fg)}.dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.dot.running{background:var(--ok);box-shadow:0 0 6px var(--ok)}.dot.waiting{box-shadow:inset 0 0 0 2px var(--ok);background:0 0}.dot.needs_operator{background:var(--acc);box-shadow:0 0 0 2px color-mix(in srgb, var(--acc) 35%, transparent)}.badge.waiting{color:var(--ok)}.badge.needs_operator{color:var(--acc)}.dot.idle{background:var(--warn)}.dot.stopped{background:var(--dim)}.dot.error{background:var(--err);box-shadow:0 0 6px var(--err)}.sidebar .metrics{font-size:var(--text-xs);color:var(--dim);border-top:1px solid var(--line);margin-top:12px;padding:8px 10px;line-height:1.7}.sidebar-footer{border-top:1px solid var(--line);gap:var(--space-1);flex-direction:column;margin-top:auto;padding-top:8px;display:flex}.footer-row{align-items:center;gap:var(--space-4);display:flex}.footer-row .conn{margin-left:0}.sidebar-footer .metrics{border-top:none;margin-top:4px;padding:0}.brand{align-items:center;gap:var(--space-4);font-size:var(--text-md);color:var(--fg);display:flex}.version{color:var(--dim);font-size:var(--text-xs);font-family:ui-monospace,Menlo,monospace}.channel{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.chan-head{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--line);background:var(--bg-dark);flex-wrap:wrap;flex-shrink:0;display:flex}.chan-head .hash{color:var(--dim);font-size:var(--text-xl);font-weight:300}.chan-head .title{font-weight:600;font-size:var(--text-lg);letter-spacing:var(--tracking-tight)}.chan-head .sub{color:var(--dim);font-size:var(--text-xs);margin-left:var(--space-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chan-head .head-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.chan-head .head-sep{width:1px;margin:var(--space-1) var(--space-1);background:var(--line);align-self:stretch}.chan-head .runbtn{min-width:74px;height:24px;padding:0 var(--space-4);background:var(--ok);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:background-color var(--dur-fast) ease, filter var(--dur-fast) ease;border:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.chan-head .runbtn:hover{filter:brightness(1.12)}.chan-head .runbtn.danger{background:var(--err)}.badge{font-size:var(--text-xs);border-radius:var(--radius-pill);padding:1px var(--space-4);background:var(--bg-light);vertical-align:middle;font-weight:500}.badge.running{color:var(--ok)}.badge.error{color:var(--err)}.badge.idle{color:var(--warn)}.badge.done{color:var(--ok)}.badge.queued{color:var(--warn);white-space:nowrap;background:#faa81a1a;border:1px solid #faa81a44}.feed{padding:var(--space-5) 0;overscroll-behavior:contain;overflow-anchor:none;flex:1;min-height:0;overflow-y:auto}.msg{gap:var(--space-6);padding:var(--space-2) var(--space-6);transition:background-color var(--dur-fast) ease;display:flex}.msg:hover{background:color-mix(in srgb, var(--fg) 6%, transparent)}.msg.pending{opacity:.75}.msg.pending .ts{color:var(--warn);font-weight:600}.msg.pending .avatar{animation:1.6s ease-in-out infinite pulse}.msg.pending .editbtn.cancel{color:var(--err)}.msg.withdrawn{opacity:.55}.msg.withdrawn .msg-body{text-decoration:line-through;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}.msg.withdrawn .msg-head{text-decoration:none}.msg.withdrawn .ts{color:var(--muted);font-weight:600}.msg.grouped{padding-top:0}.avatar{width:38px;height:38px;font-size:var(--text-lg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.msg-body{flex:1;min-width:0}.msg-head{gap:var(--space-4);align-items:baseline;display:flex}.actor{color:var(--warn);font-size:var(--text-xs);white-space:nowrap}.runcard{gap:var(--space-4);flex-direction:column;display:flex}.statgrid{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.stat{background:var(--bg-mid);border-radius:var(--radius-md);gap:var(--space-1);flex-direction:column;min-width:0;padding:5px 8px;display:flex}.stat span{color:var(--dim);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.stat b{font-size:var(--text-md);text-overflow:ellipsis;overflow:hidden}.statrow{align-items:center;gap:var(--space-4);font-size:var(--text-sm);min-width:0;display:flex}.statrow .k{color:var(--dim);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.05em;white-space:nowrap;flex-shrink:0;width:auto;min-width:58px}.pill{border-radius:var(--radius-pill);font-size:var(--text-xs);background:var(--bg-mid);white-space:nowrap;margin-left:auto;padding:1px 8px}.pill.ok{color:var(--ok)}.pill.warn{color:var(--warn)}.pill.crit{color:var(--err);background:#ed42451a}.bartrack{border-radius:var(--radius-sm);background:var(--bg-light);height:6px;margin-top:2px;overflow:hidden}.rtgrid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.rtcell{background:var(--bg-dark);border-radius:var(--radius-md);flex-direction:column;gap:1px;min-width:0;padding:5px 7px;display:flex;overflow:hidden}.rtcell>span{color:var(--dim);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rtcell>b{font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.15;overflow:hidden}.rtcell>em{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-style:normal;overflow:hidden}.rtsep{color:var(--dim);padding:0 2px;font-weight:400}.barfill{border-radius:var(--radius-sm);background:var(--ok);min-width:2px;height:100%;transition:width .3s}.barfill.warn{background:var(--warn)}.barfill.crit{background:var(--err)}.author{font-weight:600;font-size:var(--text-md);letter-spacing:var(--tracking-tight)}.ts{color:var(--dim);font-size:var(--text-xs)}.content{white-space:pre-wrap;word-break:break-word;line-height:1.45}.content p{margin:2px 0}.content pre{background:var(--bg-darkest);border-radius:var(--radius-md);padding:8px;overflow-x:auto}.content pre>code{white-space:pre-wrap;overflow-wrap:anywhere}.content code{background:var(--bg-darkest);border-radius:var(--radius-sm);font-size:var(--text-sm);padding:1px 4px}.content pre code{background:0 0;padding:0}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{font-size:var(--text-md);margin:8px 0 2px}.content h1{font-size:var(--text-lg);letter-spacing:var(--tracking-tight)}.content h2{font-size:var(--text-md)}.content blockquote{border-left:3px solid var(--bg-light);color:var(--dim);background:#ffffff05;border-radius:0 4px 4px 0;margin:4px 0;padding:2px 10px}.content blockquote p{margin:2px 0}.content hr{border:none;border-top:1px solid var(--bg-light);margin:8px 0}.content del{color:var(--dim)}.content img{border-radius:var(--radius-md);max-width:100%}.content li.task{margin-left:-18px;list-style:none}.content li:has(>input[type=checkbox]){margin-left:-18px;list-style:none}.content li input[type=checkbox]{accent-color:var(--ok);margin-right:6px}input[type=checkbox]{accent-color:var(--acc)}.content a{color:var(--tool);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--tool) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--tool) 45%, transparent);text-underline-offset:2px}.content a:hover{filter:brightness(1.15)}.themebtn.on{background:var(--acc);color:#fff}.trow select:focus{outline:1px solid var(--acc)}.tbl{margin:6px 0;overflow-x:auto}.tbl table{border-collapse:collapse;font-size:var(--text-sm)}.tbl th,.tbl td{border:1px solid var(--bg-light);text-align:left;padding:3px 9px}.tbl th{background:var(--bg-darkest);font-weight:600}.embed{border-left:3px solid var(--tool);background:var(--bg-darkest);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-top:3px;padding:6px 10px}html[data-bg-image=on] .embed{background-color:color-mix(in srgb, var(--bg-darkest-solid,#1a1c22) calc(var(--surface-alpha-tool,.62) * 100%), transparent)}.msg{--grouped-gap:var(--space-2)}.msg.grouped .avatar.avghost{align-self:flex-start;width:38px;height:0;min-height:0;margin-top:0}.msg.grouped{padding:0 var(--space-6)}.embed.grouped{margin-top:var(--grouped-gap)}.msg:not(.grouped).next-grouped{padding-bottom:0}.msg:not(.grouped).next-grouped .embed{margin-bottom:0}.msg.grouped:not(.next-grouped){padding-bottom:3px}.embed.grouped{border-radius:var(--radius-sm)}.embed.fail{border-color:var(--err)}.embed.warn-embed{border-color:var(--warn)}.embed.warn-embed .mono{color:var(--warn)}.embed.done{border-color:var(--ok)}.embed.running{border-color:var(--warn)}.embed.running summary .meta:after{content:"⋯";color:var(--warn);margin-left:6px;animation:1s step-end infinite blink;display:inline-block}.embed summary{gap:var(--space-4)}.embed summary .mono{font-family:ui-monospace,Menlo,monospace}.toolbody{background:color-mix(in srgb, var(--bg-darkest) 70%, transparent);border-radius:var(--radius-sm);scrollbar-gutter:stable;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-height:340px;font-size:var(--text-sm);margin:4px 0;padding:6px 14px 6px 8px;overflow:hidden auto}.toolbody .toolbody{background:color-mix(in srgb, var(--bg-darkest) 50%, transparent)}.toolbody .toolbody .toolbody{background:color-mix(in srgb, var(--bg-darkest) 35%, transparent);border:1px solid var(--line)}.toolbody.del{border-left:2px solid var(--err);color:#f0a5a6;background:#ed424514}.toolbody.add{border-left:2px solid var(--ok);color:#9fd8ae;background:#3ba55d14}.toolbody.patch{padding:4px 8px}.toolbody.patch .pline{white-space:pre-wrap;word-break:break-word}.toolbody.patch .pline.add{color:#9fd8ae;border-left:2px solid var(--ok);background:#3ba55d14;padding-left:4px}.toolbody.patch .pline.del{color:#f0a5a6;border-left:2px solid var(--err);background:#ed424514;padding-left:4px}.toolbody.patch .pline.meta{color:var(--dim)}.embed.question{border-color:var(--acc);background:#5865f20f}.qopts{gap:var(--space-3);flex-wrap:wrap;margin-top:6px;display:flex}.qopt{background:var(--acc);color:#fff;border-radius:var(--radius-pill);cursor:pointer;font-size:var(--text-sm);border:none;padding:3px 12px}.qopt:hover{filter:brightness(1.15)}.qopt:disabled{opacity:.45;cursor:default;filter:none}.embed.question.answered{opacity:.75}.qfree{gap:var(--space-3);margin-top:8px;display:flex}.qfree input{background:color-mix(in srgb, var(--bg-light-solid,#343845) calc(var(--surface-alpha-composer,.44) * 100%), transparent);border:1px solid var(--bg-light);border-radius:var(--radius-md);color:var(--fg);font-size:var(--text-sm);outline:none;flex:1;padding:4px 10px}.qfree input:focus{border-color:var(--acc)}.qfree button{background:var(--bg-light);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);border:none;padding:4px 12px}.qfree button:disabled{opacity:.45;cursor:default}.bashelapsed{color:var(--warn);font-size:var(--text-xs);margin-left:8px}.embed.question .meta{margin-top:6px}.embed.decision{border-color:var(--acc);background:#5865f20f}.embed.decision summary .meta{margin-left:6px}.embed.decision .content{font-size:var(--text-sm);margin-top:3px}.embed summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style-position:outside}.embed summary::marker{color:var(--dim)}.embed[open] summary{margin-bottom:4px}.embed .mono{font-family:ui-monospace,Menlo,monospace;font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word;max-height:340px;overflow-y:auto}.embed .meta{color:var(--dim);font-size:var(--text-xs);margin-top:3px}.reasoning{border-left:3px dashed var(--bg-light);color:var(--dim);font-size:var(--text-sm);border-radius:var(--radius-sm);background:#ffffff05;margin:2px 0;padding:2px 10px}.reasoning summary{cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.75}.reasoning summary:hover{opacity:1;color:var(--fg)}.reasoning[open] summary{margin-bottom:4px}.reasoning .mono{white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto}.msg.live .avatar{animation:1.6s ease-in-out infinite pulse}.cursor{color:var(--acc);animation:1s step-end infinite blink}.interrupted{color:var(--warn);font-size:var(--text-xs);margin-top:3px}@keyframes blink{50%{opacity:0}}@keyframes pulse{50%{opacity:.55}}.conn{background:var(--err);vertical-align:middle;width:8px;height:8px;box-shadow:0 0 6px var(--err);border-radius:50%;display:inline-block}.conn.ok{background:var(--ok);box-shadow:0 0 6px var(--ok)}.copybtn{border:1px solid var(--bg-light);color:var(--dim);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;text-align:center;white-space:nowrap;background:0 0;flex-shrink:0;min-width:4.6em;padding:0 5px;line-height:16px}.copybtn:hover{color:var(--fg);filter:brightness(1.3)}.answerdone{color:var(--ok)}.progembed{border-color:var(--ok)}.compactnote{margin-top:2px;font-size:11.5px}.compactkept{margin-top:6px}.embed summary{align-items:center;gap:var(--space-3);display:flex}.toolcopy{gap:var(--space-2);flex-shrink:0;margin-left:auto;display:flex}.msgfoot{align-items:center;gap:var(--space-3);color:var(--dim);font-size:var(--text-xs);margin-top:4px;display:flex}.imgstage{gap:var(--space-3);flex-wrap:wrap;margin-bottom:6px;display:flex}.imgchip{display:inline-flex;position:relative}.imgchip img{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--line);width:64px;height:64px}.imgchip .imgx{background:var(--err);color:#fff;width:16px;height:16px;font-size:var(--text-xs);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex;position:absolute;top:-5px;right:-5px}.promptimgs{gap:var(--space-3);flex-wrap:wrap;margin-top:4px;display:flex}img.promptimg{border-radius:var(--radius-md);border:1px solid var(--line);max-width:180px;max-height:120px}.bgjob-note{color:var(--warn)}.bgjob-note b{color:var(--fg);font-family:ui-monospace,Menlo,monospace}details.reasoning .thinkscroll{white-space:pre-wrap;word-break:break-word;scrollbar-gutter:stable;max-height:220px;overflow-y:auto}.thinktimer{color:var(--dim);font-size:var(--text-xs);margin-left:6px;font-weight:400}.termdrawer{background:var(--term-bg);border-top:1px solid var(--line);flex-direction:column;display:flex}.termgrip{cursor:ns-resize;background:var(--bg-light);opacity:.6;border-bottom:1px solid var(--line);height:6px}.termgrip:hover{opacity:1}.termbar{font-size:var(--text-xs);color:var(--dim);border-bottom:1px solid var(--line);background:var(--bg-darkest);justify-content:space-between;align-items:center;padding:4px 10px;display:flex}.termtabs{gap:var(--space-1);flex:1;align-items:center;min-width:0;display:flex;overflow-x:auto}.termtab{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);cursor:pointer;color:var(--dim);font-size:var(--text-xs);white-space:nowrap;background:var(--bg-mid);padding:2px 8px;display:inline-flex}.termtab.active{color:var(--fg);background:var(--bg-light)}.termtab:hover{filter:brightness(1.15)}.tabx{color:inherit;opacity:.5;cursor:pointer;font-size:var(--text-xs);background:0 0;border:none;padding:0}.tabx:hover{opacity:1;color:var(--err)}.termbody{gap:var(--space-2);background:var(--term-bg);flex:1;min-height:0;padding:4px;display:flex}.termbody.split .termpane{width:50%}.termpane{border-radius:var(--radius-md);background:var(--term-bg);flex:1;min-width:0;position:relative;overflow:hidden}.termpane:not(.focused){opacity:.9}.termpane.focused{box-shadow:none}.termhost{position:absolute;inset:0}.termsession{padding:4px 6px;position:absolute;inset:0}.termsplit{background:var(--line);border-radius:var(--radius-sm);cursor:col-resize;flex-shrink:0;width:3px}.termempty{font-size:var(--text-xs);color:var(--dim);place-items:center;display:grid;position:absolute;inset:0}.jump{background:var(--acc);color:#fff;border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);cursor:pointer;font-size:var(--text-sm);letter-spacing:var(--tracking-tight);box-shadow:var(--shadow-lg);z-index:2;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);border:none;font-weight:600;position:absolute;top:-34px;left:50%;transform:translate(-50%)}.jump:hover{filter:brightness(1.08)}.jump:active{transform:translate(-50%)translateY(1px)}@starting-style{.jump{opacity:0;transform:translate(-50%)translateY(6px)}}.channel:has(.termdrawer) .composer:not(.maximized) .jump{top:auto;bottom:calc(var(--termh,300px) + 100% + 6px);left:50%}.channel:has(.termdrawer) div.composer.maximized .jump{inset:10px 16px auto auto;transform:none}.divider-msg{align-items:center;gap:var(--space-5);color:var(--dim);font-size:var(--text-xs);padding:4px 18px;display:flex}.divider-msg:before,.divider-msg:after{content:"";background:var(--line);flex:1;height:1px}.divider-msg.err{color:var(--err)}.divider-msg.compacting{color:var(--acc);animation:1.6s ease-in-out infinite pulse}.goalline{color:var(--dim);font-size:var(--text-xs);padding:4px 18px}.goalline-label{color:var(--dim);display:block}.goalline.warn .goalline-label{color:var(--warn)}.goalline.err .goalline-label{color:var(--err)}.goalline .card{text-align:left;margin-top:6px}.day-divider{align-items:center;gap:var(--space-5);padding:14px 18px 6px;display:flex}.day-divider:before,.day-divider:after{content:"";background:var(--bg-light);flex:1;height:1px}.spinner{border:2px solid var(--dim);vertical-align:-1px;border-top-color:#0000;border-radius:50%;width:10px;height:10px;margin-right:6px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{border-top-color:var(--dim);opacity:.6;animation:none}}.day-divider span{color:var(--dim);font-size:var(--text-xs)}.composer{padding:0 16px 18px;position:relative}.composer form{background:var(--bg-light);border-radius:var(--radius-lg);gap:var(--space-4);align-items:flex-end;padding:10px 12px;display:flex}html[data-bg-image=on] .composer.maximized,html[data-bg-image=on] .composer.maximized:before{background-color:color-mix(in srgb, var(--bg-light-solid,#343845) calc(var(--surface-alpha-composer) * 100%), transparent)}html[data-bg-image=on] .composer form{background-color:color-mix(in srgb, var(--bg-light-solid,#343845) calc(var(--surface-alpha-composer) * 100%), transparent)}.composer textarea{color:var(--fg);font:inherit;resize:none;background:0 0;border:none;outline:none;flex:1;line-height:1.4;overflow-y:auto}.cmds{background:var(--bg-mid);border:1px solid var(--bg-light);border-radius:var(--radius-lg);z-index:3;position:absolute;bottom:calc(100% - 8px);left:16px;right:16px;overflow:hidden;box-shadow:0 -6px 20px #0007}.cmdrow{gap:var(--space-5);cursor:pointer;font-size:var(--text-sm);align-items:baseline;padding:7px 12px;display:flex}.cmdrow:hover{background:var(--bg-light)}.cmdrow.active{background:var(--acc);color:#fff}.cmdrow.active .muted{color:#e6e9ff}.cmdrow .muted{font-size:var(--text-xs)}.composer button{background:var(--acc);color:#fff;border-radius:var(--radius-lg);cursor:pointer;border:none;padding:7px 14px;font-weight:600}.composer button:hover{opacity:.9}.composer label{color:var(--dim);font-size:var(--text-xs);gap:var(--space-2);white-space:nowrap;align-items:center;display:flex}.hint{color:var(--dim);font-size:var(--text-xs);margin-top:5px}.composer .flashhint{pointer-events:none;text-overflow:ellipsis;white-space:nowrap;animation:flashhint-in var(--dur-fast) var(--ease-out);margin:0;position:absolute;bottom:3px;left:22px;right:22px;overflow:hidden}@keyframes flashhint-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.helpsec{margin-bottom:var(--space-5)}.helprow{gap:var(--space-4);font-size:var(--text-sm);border-bottom:1px solid var(--bg-light);grid-template-columns:minmax(96px,auto) 1fr;align-items:baseline;padding:4px 0;display:grid}.helprow:last-child{border-bottom:none}.helprow>b{color:var(--fg);white-space:nowrap;font-weight:600}.helprow>span{color:var(--dim);line-height:1.5}.helprow .kbdgroup{align-items:center;gap:3px;display:inline-flex}.helprow kbd{text-align:center;background:var(--bg-light);border-radius:var(--radius-sm);min-width:20px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--text-xs);color:var(--fg);padding:1px 5px;display:inline-block}.helprow code{background:var(--bg-darkest);border-radius:var(--radius-sm);padding:0 4px;font-size:11.5px}.rightbarbackdrop{z-index:4;background:#0004;display:none;position:fixed;inset:0}.rightbarhead{justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--bg-dark);border-bottom:1px solid var(--line);margin:0;padding:10px 14px;display:none}.rightbarhead .muted{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.rightbar{background:var(--bg-dark);border-left:1px solid var(--line);font-size:var(--text-sm);scrollbar-gutter:stable;flex-direction:column;min-height:0;padding:14px;display:flex;overflow-y:auto}.rightbar>*{flex-shrink:0}.rightbar h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--dim);margin:14px 0 6px}.rightbar h3:first-of-type{margin-top:0}.card{background:var(--bg-darkest);border-radius:var(--radius-lg);white-space:pre-wrap;word-break:break-word;max-height:200px;padding:10px;overflow-y:auto}.card .cardbody,.card pre,.card code,.card .content{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;overflow-x:hidden}.card .ctitle{font-weight:600;font-size:var(--text-xs);color:var(--dim);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:var(--space-3);margin-bottom:4px;display:flex}.card .ctitle .meta{margin-left:auto}.card-ok{border-left:3px solid var(--ok);margin-top:6px}.card-warn{border-left:3px solid var(--warn);margin-top:6px}.card-tool{border-left:3px solid var(--tool);margin-top:6px}.card.goalcard,.card.runcard{max-height:none;overflow-y:visible}.muted{color:var(--dim)}.prog .progrow{gap:var(--space-4);margin-bottom:4px;display:flex}.prog .progrow b{color:var(--dim);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.05em;flex-shrink:0;min-width:62px;padding-top:2px}.embed .progrow{gap:var(--space-4);margin-bottom:4px;display:flex}.embed .progrow b{color:var(--dim);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.05em;flex-shrink:0;min-width:62px;padding-top:2px}.embed .progrow span{min-width:0}.inline-md{display:inline}.inline-md>:first-child{margin-top:0}.inline-md>:last-child{margin-bottom:0}.prog .progrow.warn span{color:var(--err)}.msg-head .editbtn{color:var(--dim);cursor:pointer;font-size:var(--text-xs);opacity:0;background:0 0;border:none;padding:0 2px;transition:opacity .12s}.msg:hover .msg-head .editbtn,.msg.pending .msg-head .editbtn{opacity:1}.msg-head .editbtn:focus-visible{opacity:1;outline:2px solid var(--acc);outline-offset:1px}.msg-head .editbtn:hover{color:var(--acc)}.branch-row{color:var(--dim);font-size:var(--text-xs);cursor:pointer;justify-content:space-between;padding:3px 0;display:flex}.branch-row:hover,.branch-row.cur{color:var(--fg)}.mini-cron{font-size:var(--text-xs);opacity:.75;margin-left:auto}.sched-row{border-radius:var(--radius-md);cursor:pointer;margin-bottom:2px;padding:6px 8px}.sched-row:hover,.sched-row.cur{background:var(--bg-mid)}.sched-top{gap:var(--space-3);font-size:var(--text-sm);align-items:baseline;display:flex}.sched-row .sched-meta{color:var(--dim);font-size:var(--text-xs);margin-top:2px}.sched-row .sched-prompt{color:var(--dim);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.badge.cron{color:var(--tool);white-space:nowrap;background:#3ba0c91a;border:1px solid #3ba0c944}.sesscard{gap:var(--space-3);font-size:var(--text-sm);flex-direction:column;display:flex}.sessrow{align-items:center;gap:var(--space-4);display:flex}.filebox{background:var(--bg-darkest);border-radius:var(--radius-lg);height:260px;padding:4px;overflow-y:auto}.filerow{align-items:center;gap:var(--space-3);cursor:pointer;font-size:var(--text-sm);color:var(--fg);border-radius:var(--radius-sm);padding:3px 8px;display:flex}.filerow:hover{background:var(--bg-mid)}.filerow .ficon{width:10px;color:var(--dim);font-size:var(--text-xs);text-align:center;flex-shrink:0}.filerow.isdir .fname{font-weight:600}.fname{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fsize{color:var(--dim);font-size:var(--text-xs);flex-shrink:0;margin-left:auto}.sessrow .k{color:var(--dim);text-transform:uppercase;width:74px;font-size:var(--text-xs);letter-spacing:.05em;flex-shrink:0}.ellip{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;overflow:hidden}.modelbox{gap:var(--space-3);background:var(--bg-darkest);border-radius:var(--radius-lg);flex-direction:column;padding:10px;display:flex}.modelbox select,.modelbox input[type=text]{background:var(--bg-mid);border-radius:var(--radius-md);color:var(--fg);font:inherit;border:none;outline:none;min-width:0;padding:6px 8px}.modelbox button{background:var(--acc);border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:600;font-size:var(--text-sm);white-space:nowrap;box-sizing:border-box;justify-content:center;align-items:center;gap:var(--space-2);border:none;min-width:7.5em;height:28px;padding:6px 10px;line-height:1;display:inline-flex}.modelbox button:hover{opacity:.9}.modelbox .meta{color:var(--dim);font-size:var(--text-xs)}.btnrow{gap:var(--space-3);margin:8px 0;display:flex}.btnrow button{background:var(--bg-light);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);border:none;padding:6px 10px}.btnrow button:hover{filter:brightness(1.2)}.btnrow .runbtn{background:var(--ok);color:#fff;font-weight:600}.btnrow .runbtn,.btnrow .danger{min-width:74px}.btnrow .danger{background:var(--err);color:#fff;font-weight:600}.ctrlrow{align-items:center;gap:var(--space-4);font-size:var(--text-sm);margin-top:6px;display:flex}.ctrlrow label{align-items:center;gap:var(--space-3);cursor:pointer;color:var(--fg);white-space:nowrap;display:flex}.ctrlrow .muted{font-size:var(--text-xs)}.featgrid{margin-bottom:var(--space-5);flex-direction:column;gap:2px;display:flex}.featrow{gap:var(--space-4);font-size:var(--text-sm);border-bottom:1px solid var(--bg-light);grid-template-columns:minmax(150px,auto) 1fr;align-items:baseline;padding:4px 0;display:grid}.featrow:last-child{border-bottom:none}.featrow>b{color:var(--fg);white-space:nowrap;font-weight:600}.skilllist{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.skillrow{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-darkest);flex-direction:column;gap:2px;min-width:0;display:flex}.skillhead{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;border-radius:var(--radius-md);white-space:normal;background:0 0;border:none;grid-template-columns:12px minmax(0,1fr);align-items:baseline;gap:2px 7px;padding:7px 9px;display:grid}.skillhead:hover{background:var(--bg-dark)}.skillhead>b{color:var(--acc);font-size:var(--text-sm);overflow-wrap:anywhere;min-width:0}.skillhead>.skillcaret{color:var(--dim);font-size:var(--text-xs)}.skillhead>.muted{font-size:var(--text-xs);overflow-wrap:anywhere;grid-column:2;min-width:0;line-height:1.45}.skillbody{border-top:1px solid var(--line);font-size:var(--text-xs);overflow-wrap:anywhere;word-break:break-word;max-height:340px;color:var(--fg);margin:0;padding:8px 10px 10px;line-height:1.55;overflow:hidden auto}.skillbody h1,.skillbody h2,.skillbody h3,.skillbody h4{font-size:var(--text-sm);color:var(--acc);margin:8px 0 3px}.skillbody h1:first-child,.skillbody h2:first-child,.skillbody h3:first-child{margin-top:0}.skillbody code{background:var(--bg-darkest-solid,var(--bg-darkest));border-radius:var(--radius-sm);padding:1px 4px;font-size:11px}.skillbody pre{background:var(--bg-darkest-solid,var(--bg-darkest));border-radius:var(--radius-sm);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%;margin:5px 0;padding:6px 8px;overflow-x:hidden}.skillbody pre code{white-space:inherit;background:0 0;padding:0}.skillbody ul,.skillbody ol{margin:4px 0;padding-left:18px}.skillbody li{margin:1px 0}.skillbody table{border-collapse:collapse;width:max-content;max-width:100%;display:block;overflow-x:auto}.skillbody th,.skillbody td{border:1px solid var(--line);padding:2px 6px}.goalstate{background:var(--bg-light);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);border:none;padding:3px 10px}.goalstate.on.active{background:var(--ok);color:#fff;font-weight:600}.goalstate.on.done{background:var(--acc);color:#fff;font-weight:600}.goalstate.on.paused{background:var(--warn);color:#fff;font-weight:600}.goalstate:disabled{cursor:default;filter:none}.verifycard{border-left:3px solid var(--tool);margin-top:6px}.auditcard{border-left:3px solid var(--warn);margin-top:6px}.auditcard.ok{border-left-color:var(--ok)}.vtitle{font-weight:600;font-size:var(--text-xs);color:var(--dim);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:var(--space-3);margin-bottom:4px;display:flex}.iconbtn{background:var(--bg-light);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;width:26px;height:24px;font-size:var(--text-sm);transition:background-color var(--dur-fast) ease, filter var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out);border:none;flex:none;justify-content:center;align-self:flex-end;align-items:center;padding:0;display:inline-flex}.iconbtn-glyph{justify-content:center;align-items:center;width:100%;height:100%;line-height:1;display:inline-flex}.iconbtn:hover{filter:brightness(1.3)}.iconbtn.active{background:var(--acc);color:#fff}.overlay{z-index:10;background:#0009;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--bg-mid);border-radius:var(--radius-lg);width:min(760px,94vw);max-height:88vh;padding:16px 18px;overflow-y:auto}.modal:has(.cfgbody){flex-direction:column;height:min(660px,88vh);display:flex;overflow:hidden}.modal:has(.cfgbody)>form{flex-direction:column;flex:1;min-height:0;display:flex}.cfgbody{flex:1;gap:0;min-height:0;display:flex}.modal:has(.cfgbody){flex-direction:column;display:flex}.cfgmenu{gap:var(--space-1);border-right:1px solid var(--bg-light);border-bottom:none;flex-direction:column;flex:0 0 148px;padding:2px 10px 2px 0;display:flex;overflow-y:auto}.cfgmenu-item{text-align:left;border-radius:var(--radius-md);width:100%;color:var(--dim);font:inherit;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;padding:7px 9px;display:block}.cfgmenu-item:hover{color:var(--fg);background:var(--bg-darkest)}.cfgmenu-item.on{color:var(--fg);background:var(--bg-darkest);border-color:var(--acc);box-shadow:inset 2px 0 0 var(--acc);font-weight:600}.cfgmenu-label{pointer-events:none}.cfgpanel{flex:1;min-width:0;padding:2px 0 2px 14px;overflow-y:auto}.cfgpanel fieldset.hide,.cfgpanel legend{display:none}.cfgpanel fieldset{border:none;margin:0;padding:0}.cfgfoot{gap:var(--space-5);border-top:1px solid var(--bg-light);flex:none;justify-content:flex-end;align-items:center;padding-top:10px;display:flex}.cfgsave{background:var(--acc);border-radius:var(--radius-md);color:#fff;cursor:pointer;text-align:center;min-width:9.5rem;height:32px;transition:background-color var(--dur-fast) ease;border:none;padding:0 16px;font-weight:600}.cfgsave:disabled{cursor:default;filter:none}.cfgsave.saved{background:var(--ok)}.cfgsave.error{background:var(--err)}.cfgsave:hover{filter:brightness(1.12)}.cfgtoggle{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--fg);cursor:pointer;flex-flow:wrap;margin-top:8px;display:flex}.mcpcard{border:1px solid var(--bg-light);border-radius:var(--radius-lg);margin-bottom:8px;padding:8px}.mcpcard .cfgrow{margin-bottom:5px}.mcpcard .cfgrow:last-child{margin-bottom:0}.mcpresult{font-size:var(--text-xs);overflow-wrap:anywhere;margin-top:4px}.mcpresult.err{color:var(--err)}.mcpresult.ok{color:var(--ok)}.mcpresult-head{margin-bottom:2px}.mcptools{flex-direction:column;gap:2px;min-width:0;margin:3px 0 0;padding:0 0 0 2px;list-style:none;display:flex}.mcptools li{gap:var(--space-3);min-width:0;color:var(--dim);flex-wrap:wrap;align-items:baseline;display:flex}.mcptools code{color:var(--fg);overflow-wrap:anywhere;min-width:0;font-size:11px}.mcptool-desc{text-overflow:ellipsis;white-space:nowrap;flex:10ch;min-width:0;font-size:11px;overflow:hidden}.mcpstate{font-size:var(--text-xs);white-space:nowrap;color:var(--dim)}.mcpstate.connected{color:var(--ok)}.mcpstate.error{color:var(--err)}.mcpstate.disabled{color:var(--dim)}.mcpdisconnect{font-size:var(--text-xs);border:1px solid var(--line);color:var(--err);cursor:pointer;background:0 0;border-radius:6px;padding:1px 7px}.mcpdisconnect:hover{border-color:var(--err);filter:brightness(1.15)}.mcpdanger{border-top:1px solid var(--line);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding-top:8px;display:flex}.mcpauthorize{font-size:var(--text-xs);border:1px solid var(--acc);background:var(--acc);color:#fff;cursor:pointer;border-radius:6px;padding:1px 7px;font-weight:600}.mcpauthorize:hover{filter:brightness(1.12)}.cfgrow.archrow{align-items:center;gap:var(--space-4);flex-wrap:nowrap}.archmain{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.archmain b{font-size:var(--text-sm)}.archmain .muted{font-size:var(--text-xs)}.archmain .mono{font-size:var(--text-xs);max-width:100%}.archrow button{white-space:nowrap;flex:none}.archrow .archrestore{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}.archrow .archrestore:hover{filter:brightness(1.12)}@media (width<=620px){.chan-head{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.chan-head .sub{flex-basis:100%}.channel,.feed,.timeline{min-width:0;max-width:100%}.feed,.timeline{overflow-x:hidden}.toolbody,.mono,.content,.card{overflow-wrap:anywhere;word-break:break-word;max-width:100%}.composer{padding:0 10px 12px}.composer form{gap:var(--space-2);flex-wrap:wrap;padding:8px}.composer form>textarea{flex:100%;min-height:54px}.composer form>button,.composer form>.iconbtn{flex:none}.composer form>button[type=submit]{margin-left:auto}.composer.maximized form>textarea{min-height:0}.cfgrow.archrow{flex-wrap:wrap}.archrow button{flex:auto}.cfgbody{flex-direction:column}.cfgmenu{border-right:none;border-bottom:1px solid var(--bg-light);flex-flow:row;flex:none;padding:0 0 6px;overflow-x:auto}.cfgmenu-item{width:auto}.cfgpanel{padding:10px 0 0}}.modal-head{margin-bottom:var(--space-5);font-size:var(--text-lg);letter-spacing:var(--tracking-tight);justify-content:space-between;align-items:center;display:flex}.modal label{gap:var(--space-2);color:var(--dim);font-size:var(--text-sm);flex-direction:column;display:flex}.modal input[type=text],.modal input[type=number],.modal input[type=password],.modal input[type=url],.modal input[type=email],.modal select,.modal textarea{background:var(--bg-darkest);border-radius:var(--radius-md);color:var(--fg);font:inherit;border:1px solid #0000;outline:none;min-width:0;padding:7px 9px}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--acc)}.modal ::placeholder{color:#7c818f;opacity:1}.modal select option{background:var(--bg-darkest);color:var(--fg)}.modal input.compact{font-size:var(--text-sm);padding:5px 8px}.modal textarea{resize:vertical}.w100{width:100%}.mono{font-family:ui-monospace,Menlo,monospace;font-size:var(--text-sm)}.modal fieldset{border:1px solid var(--bg-light);border-radius:var(--radius-lg);margin:0 0 4px;padding:10px}.modal fieldset legend{color:var(--dim);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;padding:0 6px}.cfgrow{gap:var(--space-3);flex-wrap:wrap;align-items:center;margin-bottom:6px;display:flex}.cfgrow input{background:var(--bg-darkest);border:1px solid var(--bg-light);border-radius:var(--radius-md);color:var(--fg);font-size:var(--text-sm);flex:1;min-width:0;padding:5px 8px}.cfgrow select{background:var(--bg-darkest);border:1px solid var(--bg-light);border-radius:var(--radius-md);color:var(--fg);font-size:var(--text-sm);padding:5px 8px}.cfgrow .cfgname{width:90px;color:var(--warn);flex:none;font-weight:600}.cfgrow .cfgkeys{gap:var(--space-2);flex-direction:column;flex-basis:100%;padding-left:96px;display:flex}.cfgrow .cfgkeyrow{gap:var(--space-2);align-items:center;display:flex}.cfgrow .cfgkeyrow input{flex:1}.cfgrow .cfgkeyrow button,.cfgrow .cfgkeys>button{flex:none}.cfgrow .cfgkeys>button{align-self:flex-start}.cfgrow button{background:var(--bg-mid);border:1px solid var(--bg-light);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);padding:4px 8px}.cfgrow button:hover{background:var(--bg-light)}.cfgrow button.danger{background:var(--err);border-color:var(--err);color:#fff}.cfggrid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.cfggrid label,.cfgcol label{gap:var(--space-2);color:var(--dim);font-size:var(--text-xs);flex-direction:column;display:flex}.cfggrid input{background:var(--bg-darkest);border:1px solid var(--bg-light);border-radius:var(--radius-md);color:var(--fg);width:100%;padding:5px 8px}.cfgcol{margin-bottom:8px}.cfgcol textarea{background:var(--bg-darkest);border:1px solid var(--bg-light);border-radius:var(--radius-md);color:var(--fg);font:inherit;font-size:var(--text-sm);width:100%;margin-top:4px;padding:5px 8px}.presetbtn{background:var(--bg-light);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);border:1px solid #0000;flex:1;padding:7px 10px}.presetbtn.active{background:var(--acc);color:#fff}.wizmodels{gap:var(--space-1);border:1px solid var(--bg-light);border-radius:var(--radius-md);background:var(--bg-darkest);flex-direction:column;max-height:190px;padding:4px;display:flex;overflow-y:auto}.wizmodel{align-items:baseline;gap:var(--space-4);text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--fg);cursor:pointer;font-size:var(--text-sm);background:0 0;border:1px solid #0000;padding:4px 7px;display:flex}.wizmodel:hover{background:var(--bg-light)}.wizmodel.active{border-color:var(--acc)}.wizmodel .muted{font-size:var(--text-xs);white-space:nowrap;margin-left:auto}.forkchip{align-items:center;gap:var(--space-2);white-space:nowrap;color:var(--dim);font-size:var(--text-xs);cursor:pointer;display:flex}.dirlist{background:var(--bg-darkest);border-radius:var(--radius-md);height:220px;padding:4px;overflow-y:auto}.direntry{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-md);padding:4px 8px}.direntry:hover{background:var(--bg-light)}.filepreview{border-radius:var(--radius-lg);max-height:62vh;overflow:hidden auto}.filepreview pre,.filepreview code{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;margin:0}.filepreview .shiki,.filepreview .shiki pre,.filepreview .shiki code,.filepreview pre.shiki,.filepreview code.shiki{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-width:100%;overflow-x:hidden}.filepreview .shiki code,.filepreview code.shiki{width:auto;min-width:0;display:block}.filepreview .shiki code .line,.filepreview code.shiki .line{overflow-wrap:anywhere;word-break:break-word;display:inline}.filetoolbar{gap:var(--space-3);margin-bottom:8px;display:flex}.filetoolbar button{background:var(--bg-light);color:var(--dim);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);border:none;padding:4px 12px}.filetoolbar button:hover{color:var(--fg);filter:brightness(1.15)}.filetoolbar button.on{background:var(--acc);color:#fff;font-weight:600}.fileeditor{gap:var(--space-4);flex-direction:column;display:flex}.fileeditor textarea{background:var(--bg-darkest);min-height:55vh;max-height:65vh;color:var(--fg);border:1px solid var(--bg-light);border-radius:var(--radius-lg);font-size:var(--text-sm);white-space:pre;padding:10px;line-height:1.45;overflow:auto}.filerow-actions{justify-content:flex-end;align-items:center;gap:var(--space-5);display:flex}.savebtn{background:var(--ok);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--text-sm);border:none;padding:5px 14px}.savebtn:disabled{opacity:.4;cursor:default}.primarybtn{background:var(--acc);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--text-sm);border:none;padding:5px 14px}.primarybtn:disabled{opacity:.4;cursor:default}.okbtn{background:var(--ok);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--text-sm);border:none;padding:5px 14px}.okbtn:disabled{opacity:.4;cursor:default}.mdpreview{background:var(--bg-darkest);border-radius:var(--radius-lg);max-height:62vh;padding:14px 16px;overflow:auto}.filepreview .shiki,.filepreview .shiki span,.toolbody.shiki,.toolbody.shiki span{color:var(--shiki-light);font-family:ui-monospace,Menlo,monospace;font-size:var(--text-sm)}html[data-appearance=dark] .filepreview .shiki,html[data-appearance=dark] .filepreview .shiki span,html[data-appearance=dark] .toolbody.shiki,html[data-appearance=dark] .toolbody.shiki span{color:var(--shiki-dark)}.filepreview .shiki,.toolbody.ansi{color:var(--fg)}.toolbody.ansi .ansi-bold{font-weight:700}.toolbody.ansi .ansi-dim{opacity:.72}.toolbody.ansi .ansi-italic{font-style:italic}.toolbody.ansi .ansi-underline{text-decoration:underline}.toolbody.ansi .ansi-inverse{background:var(--fg);color:var(--bg-darkest)}.toolbody.ansi .ansi-fg-black{color:var(--dim)}.toolbody.ansi .ansi-fg-red{color:var(--err)}.toolbody.ansi .ansi-fg-green{color:var(--ok)}.toolbody.ansi .ansi-fg-yellow{color:var(--warn)}.toolbody.ansi .ansi-fg-blue{color:var(--acc)}.toolbody.ansi .ansi-fg-magenta{color:color-mix(in srgb, var(--acc) 55%, var(--err))}.toolbody.ansi .ansi-fg-cyan{color:var(--tool)}.toolbody.ansi .ansi-fg-white{color:var(--fg)}.toolbody.ansi .ansi-fg-bright-black{color:var(--dim);opacity:.85}.toolbody.ansi .ansi-fg-bright-red{color:color-mix(in srgb, var(--err) 80%, var(--fg))}.toolbody.ansi .ansi-fg-bright-green{color:color-mix(in srgb, var(--ok) 80%, var(--fg))}.toolbody.ansi .ansi-fg-bright-yellow{color:color-mix(in srgb, var(--warn) 80%, var(--fg))}.toolbody.ansi .ansi-fg-bright-blue{color:color-mix(in srgb, var(--acc) 80%, var(--fg))}.toolbody.ansi .ansi-fg-bright-magenta{color:color-mix(in srgb, var(--acc) 40%, var(--err))}.toolbody.ansi .ansi-fg-bright-cyan{color:color-mix(in srgb, var(--tool) 80%, var(--fg))}.toolbody.ansi .ansi-fg-bright-white{color:var(--fg);font-weight:600}.toolbody.ansi .ansi-fg-ext{color:var(--acc)}.toolbody.ansi .ansi-bg-black{background:color-mix(in srgb, var(--bg-darkest) 80%, transparent)}.toolbody.ansi .ansi-bg-red{background:color-mix(in srgb, var(--err) 22%, transparent)}.toolbody.ansi .ansi-bg-green{background:color-mix(in srgb, var(--ok) 22%, transparent)}.toolbody.ansi .ansi-bg-yellow{background:color-mix(in srgb, var(--warn) 22%, transparent)}.toolbody.ansi .ansi-bg-blue{background:color-mix(in srgb, var(--acc) 22%, transparent)}.toolbody.ansi .ansi-bg-magenta{background:color-mix(in srgb, var(--acc) 16%, transparent)}.toolbody.ansi .ansi-bg-cyan{background:color-mix(in srgb, var(--tool) 22%, transparent)}.toolbody.ansi .ansi-bg-white{background:color-mix(in srgb, var(--fg) 18%, transparent)}.toolbody.ansi .ansi-bg-bright-black{background:color-mix(in srgb, var(--fg) 12%, transparent)}.toolbody.ansi .ansi-bg-bright-red{background:color-mix(in srgb, var(--err) 32%, transparent)}.toolbody.ansi .ansi-bg-bright-green{background:color-mix(in srgb, var(--ok) 32%, transparent)}.toolbody.ansi .ansi-bg-bright-yellow{background:color-mix(in srgb, var(--warn) 32%, transparent)}.toolbody.ansi .ansi-bg-bright-blue{background:color-mix(in srgb, var(--acc) 32%, transparent)}.toolbody.ansi .ansi-bg-bright-magenta{background:color-mix(in srgb, var(--acc) 26%, transparent)}.toolbody.ansi .ansi-bg-bright-cyan{background:color-mix(in srgb, var(--tool) 32%, transparent)}.toolbody.ansi .ansi-bg-bright-white{background:color-mix(in srgb, var(--fg) 26%, transparent)}.toolbody.ansi .ansi-bg-ext{background:color-mix(in srgb, var(--acc) 22%, transparent)}.toolbody.shiki{font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;margin:0;padding:10px 12px}.toolbody.shiki pre.shiki,.toolbody.shiki pre.shiki code{font-size:inherit;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:0 0;min-width:0;max-width:100%;margin:0;padding:0}.toolbody.shiki pre.shiki code .line{display:inline}html[data-appearance=light] .filepreview .shiki{background-color:var(--shiki-light-bg)}.notifbtn{position:relative}.notifbtn.has-unread{color:var(--acc)}.notifdot{background:var(--err);color:#fff;border-radius:var(--radius-pill);font-size:var(--text-xs);padding:2px 4px;font-style:normal;font-weight:700;line-height:1;position:absolute;top:-4px;right:-4px}.brand-row{align-items:center;margin-top:2px;display:flex}.notifbackdrop{z-index:7;position:fixed;inset:0}.notifpanel{z-index:8;background:var(--bg-mid);border:1px solid var(--bg-light);border-radius:var(--radius-lg);width:min(360px,88vw);position:absolute;bottom:8px;left:8px;overflow:hidden;box-shadow:0 8px 30px #000a}.notifhead{border-bottom:1px solid var(--line);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--dim);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.notiflist{max-height:46vh;overflow-y:auto}.notifitem{border-bottom:1px solid var(--line);cursor:pointer;padding:8px 12px}.notifitem:last-child{border-bottom:none}.notifitem:hover{background:var(--bg-light)}.notifitem .nhead{align-items:baseline;gap:var(--space-3);min-width:0;display:flex}.notifitem .ntitle{font-weight:600;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.notifitem.error .ntitle{color:var(--err)}.notifitem.finish .ntitle{color:var(--ok)}.notifitem.question .ntitle{color:var(--acc)}.notifitem .nbody{font-size:var(--text-xs);color:var(--dim);word-break:break-word;margin-top:3px}.subcount{font-size:var(--text-xs);color:var(--dim);background:var(--bg-light);border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;padding:1px 7px}.subcount.live{color:var(--ok)}.mediapreview{gap:var(--space-4);flex-direction:column;align-items:center;display:flex}.mediapreview img{border-radius:var(--radius-lg);background:var(--bg-darkest);max-width:100%;max-height:65vh}.mediapreview video{border-radius:var(--radius-lg);background:#000;max-width:100%;max-height:65vh}.mediapreview audio{width:100%}.composer{flex-direction:column;display:flex}.composer .hint{flex-shrink:0}.composer.maximized{z-index:5;background-color:var(--bg-light);padding:16px 16px 18px;position:absolute;inset:0}.composer.maximized:before{content:"";background:var(--bg-light);z-index:-1;position:absolute;inset:0}.composer.maximized form{flex:1;align-items:stretch;min-height:0}.composer.maximized textarea{resize:none;flex:1;max-height:none;height:auto!important}.composer.maximized .maxbtn,.composer.maximized form>button[type=submit]{align-self:flex-end}.maxbtn{font-size:var(--text-xs);justify-content:center;align-items:center;line-height:1;display:inline-flex;padding:0!important}.filerow.gitignored .fname,.filerow.gitignored .ficon,.filerow.gitignored .fsize{opacity:.38}.embed.compaction{border-left-color:var(--tool)}.embed.compaction summary .meta{color:var(--tool)}.tone-you{--author:#faa81a}.tone-agent{--author:#5865f2}.tone-progress,.tone-harness{--author:#3ba55d}.tone-tool{--author:#3ba0c9}.avatar.avghost{background:color-mix(in srgb, var(--author,var(--bg-mid)) 20%, transparent);border:1px solid color-mix(in srgb, var(--author,var(--line)) 40%, transparent)}.avatar.avghost.ghosted{background:0 0;border-color:#0000}.author{color:var(--author,var(--fg))}.avatar.ghosted{transition:background-color .15s,border-color .15s}.grouptime{display:none}.notifitem{opacity:1}.notifitem.read{opacity:.55}.notifitem.read .ntitle{font-weight:400}.nreadbtn{font-size:var(--text-xs);flex-shrink:0;width:auto;padding:0 6px}.flash-target{outline:2px solid var(--acc);border-radius:var(--radius-lg);transition:outline-color .6s}.msg.flash-target{background:color-mix(in srgb, var(--acc) 12%, transparent)}.agent-item .ghost{opacity:.55}.ghosttag{font-size:var(--text-xs);flex-shrink:0}.filetoggle{text-align:center;flex-shrink:0;width:26px;padding:0}h3 .filetoggle{margin-left:0}.notifbadge{font-size:var(--text-xs);color:var(--acc);background:var(--bg-light);border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:1px 6px}.agent-item.sel .notifbadge{background:var(--bg-darkest)}input[type=checkbox]{background-color:var(--bg-darkest);border:1px solid var(--line-strong);border-radius:var(--radius-sm)}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.modal>button,.modal button:not(.iconbtn):not([class]){background:var(--bg-light);color:var(--fg);border:1px solid var(--dim);border-radius:var(--radius-md);font:inherit;cursor:pointer;padding:6px 10px}.modal>button:hover,.modal button:not(.iconbtn):not([class]):hover{background:var(--bg-mid);border-color:var(--acc)}.modal>button:focus-visible,.modal button:not(.iconbtn):not([class]):focus-visible{outline:2px solid var(--acc);outline-offset:1px}.todopane,.todopane-edit{box-sizing:border-box;border-radius:var(--radius-md);background:var(--bg-darkest);width:100%;height:11.5em;min-height:7em;max-height:40vh;color:var(--fg);font-size:var(--text-sm);resize:vertical;border:none;padding:6px 8px;line-height:1.45;display:block;overflow-y:auto}.todopane-edit{font-family:ui-monospace,Menlo,monospace}html[data-bg-image=on]{--surface-alpha-darkest:max(.35, calc(var(--surface-alpha,.82) - .12));--surface-alpha-dark:var(--surface-alpha,.82);--surface-alpha-mid:min(1, calc(var(--surface-alpha,.82) + .06));--surface-alpha-light:min(1, calc(var(--surface-alpha,.82) + .12));--surface-alpha-tool:max(.35, calc(var(--surface-alpha,.82) - .2));--surface-alpha-composer:max(.35, calc(var(--surface-alpha,.82) - .43));--bg-darkest:color-mix(in srgb, var(--bg-darkest-solid,#1a1c22) calc(var(--surface-alpha-darkest) * 100%), transparent);--bg-dark:color-mix(in srgb, var(--bg-dark-solid,#232630) calc(var(--surface-alpha-dark) * 100%), transparent);--bg-mid:color-mix(in srgb, var(--bg-mid-solid,#2b2e39) calc(var(--surface-alpha-mid) * 100%), transparent);--bg-light:color-mix(in srgb, var(--bg-light-solid,#343845) calc(var(--surface-alpha-light) * 100%), transparent)}html[data-bg-image=on] .sidebar,html[data-bg-image=on] .rightbar,html[data-bg-image=on] .chan-head{background-color:color-mix(in srgb, var(--bg-dark-solid,#232630) calc(min(1, var(--surface-alpha,.82) - .05) * 100%), transparent)}html[data-bg-image=on] .modal{background-color:color-mix(in srgb, var(--bg-mid-solid,#2b2e39) calc(min(1, var(--surface-alpha,.82) + .05) * 100%), transparent)}.modal{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}html[data-bg-image=on] .embed,html[data-bg-image=on] .content pre,html[data-bg-image=on] .content code,html[data-bg-image=on] .content thead,html[data-bg-image=on] .content th,html[data-bg-image=on] .card,html[data-bg-image=on] .mcpresult{background-image:none}html[data-bg-image=on] .content pre code{background:0 0;padding:0}html[data-bg-image=on] .bgpreview{background-color:var(--bg-mid)}html[data-bg-image=on] .bgpreview img{background-color:var(--bg-darkest-solid,var(--bg-darkest))}.mcptools-wrap{margin-top:3px}.mcptools-wrap>summary{cursor:pointer;color:var(--dim);font-size:11px}.mcptools-wrap>summary:hover{color:var(--fg)}.feedloading{justify-content:center;align-items:center;gap:var(--space-3);color:var(--dim);font-size:var(--text-xs);padding:8px 0 4px;display:flex}.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}
1
+ :root{--bg-darkest:#1a1c22;--bg-dark:#232630;--bg-mid:#2b2e39;--bg-light:#343845;--fg:#dcdee4;--dim:#9298a5;--muted:#6b7280;--line:#1d2027;--line-strong:#7f8b9c;--acc:#5865f2;--ok:#3ba55d;--warn:#faa81a;--err:#ed4245;--tool:#3ba0c9;--term-bg:#0d0e12;--term-fg:#dcdee4;--text-xs:11px;--text-sm:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--leading-tight:1.25;--leading-normal:1.45;--leading-relaxed:1.6;--tracking-tight:-.011em;--tracking-tighter:-.02em;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:12px;--space-6:16px;--space-7:24px;--radius-sm:6px;--radius-md:9px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.24s;--shadow-sm:0 1px 2px #0006;--shadow-lg:0 8px 24px -6px #000a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,Geist,SF Pro Text,system-ui,-apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif}[data-theme=midnight]{--bg-darkest:#0d0f18;--bg-dark:#12141f;--bg-mid:#1b1f31;--bg-light:#252a42;--fg:#dfe2f2;--dim:#8a90ad;--line:#0a0c14;--acc:#8b7cf7;--ok:#54c08a;--warn:#e5b567;--err:#ef6a6a;--tool:#6aa9e9;--term-bg:#0a0c13;--term-fg:#dfe2f2}[data-theme=tea]{--bg-darkest:#241c16;--bg-dark:#2e241c;--bg-mid:#3b2f24;--bg-light:#493b2d;--fg:#f0e4d2;--dim:#b39d82;--line:#1b140f;--acc:#d98e32;--ok:#7fa653;--warn:#e0b058;--err:#cf5b47;--tool:#c9975f;--term-bg:#1d1712;--term-fg:#ecdcc3}[data-theme=coffee]{--bg-darkest:#191410;--bg-dark:#211a14;--bg-mid:#30271e;--bg-light:#403527;--fg:#ede3d0;--dim:#a89478;--line:#120d07;--acc:#c68a4b;--ok:#8aa15c;--warn:#d9a441;--err:#c25450;--tool:#a67c52;--term-bg:#15100c;--term-fg:#e8dcc5}[data-theme=matcha]{--bg-darkest:#1b2217;--bg-dark:#232b1e;--bg-mid:#2f3a28;--bg-light:#3c4a33;--fg:#e8eeda;--dim:#9aab84;--line:#131a10;--acc:#8db64e;--ok:#6fae4e;--warn:#d8b13c;--err:#cd5c50;--tool:#5da88f;--term-bg:#151b11;--term-fg:#dfe8cb}[data-theme=matrix]{--bg-darkest:#060a06;--bg-dark:#0a0f0a;--bg-mid:#122116;--bg-light:#18301d;--fg:#c9f2cf;--dim:#6fa075;--line:#030603;--acc:#2fd558;--ok:#39c95f;--warn:#b8d977;--err:#ff6b6b;--tool:#57c99b;--term-bg:#030503;--term-fg:#3f7}[data-theme=sunset]{--bg-darkest:#1c1422;--bg-dark:#241b2b;--bg-mid:#33253e;--bg-light:#452f52;--fg:#f2e6ea;--dim:#ab93a8;--line:#150e1b;--acc:#f2784b;--ok:#63b46f;--warn:#eda63d;--err:#e25563;--tool:#b06ac9;--term-bg:#170f1d;--term-fg:#f0dfe4}[data-theme=light]{--bg-darkest:#eceef4;--bg-dark:#f6f7fa;--bg-mid:#e2e5ee;--bg-light:#fff;--fg:#24272f;--dim:#5d6470;--line:#d8dbe4;--acc:#4757d8;--ok:#2b8a4b;--warn:#b97a0f;--err:#d83c3f;--tool:#2278a8;--term-bg:#fff;--term-fg:#24272f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--line-strong:#7f8b9c}[data-theme=strawberry]{--bg-darkest:#fbe4ea;--bg-dark:#fdf0f3;--bg-mid:#f7d4de;--bg-light:#fffafb;--fg:#4a2733;--dim:#96707e;--line:#f0ccd6;--acc:#e05575;--ok:#4d9e63;--warn:#c98a2d;--err:#d43d51;--tool:#b05687;--term-bg:#fff5f8;--term-fg:#4a2733;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--line-strong:#b06a83}[data-theme=ramune]{--bg-darkest:#ddeff7;--bg-dark:#ecf7fb;--bg-mid:#c9e7f4;--bg-light:#fbfeff;--fg:#173342;--dim:#5b7d90;--line:#c2e2ef;--acc:#1d86ae;--ok:#3a9e6e;--warn:#cf9a2a;--err:#d64f5c;--tool:#3a9db8;--term-bg:#f4fbfd;--term-fg:#173342;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--line-strong:#4a8aae}*{box-sizing:border-box}button{white-space:nowrap;line-height:1;font:inherit;transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease;justify-content:center;align-items:center;display:inline-flex}button:hover:not(:disabled){filter:brightness(1.12)}button:active:not(:disabled){filter:brightness(.95)}button:disabled{filter:none}html[data-bg-image=on] button:where(:not(.copybtn,.qopt,.themecard)){border:1px solid var(--line-strong);color:var(--fg);border-radius:var(--radius-md);background-color:#0000}html[data-bg-image=on] button.primarybtn,html[data-bg-image=on] button.okbtn,html[data-bg-image=on] button.savebtn,html[data-bg-image=on] button.runbtn{border:1px solid var(--acc);color:var(--acc);border-radius:var(--radius-md);background-color:#0000}html[data-bg-image=on] button.okbtn{border-color:var(--ok);color:var(--ok)}html[data-bg-image=on] .chan-head .runbtn.danger,html[data-bg-image=on] button.runbtn.danger{border:1px solid var(--err);color:var(--err);background:0 0}html[data-bg-image=on] button:where(:not(.copybtn,.qopt,.themecard,.primarybtn,.okbtn,.savebtn,.runbtn,.goalstate)):hover:where(:not(:disabled)){border-color:var(--acc);color:var(--acc);filter:none;background-color:color-mix(in srgb, var(--acc) 12%, transparent)}html[data-bg-image=on] button.goalstate:hover:where(:not(:disabled)),html[data-bg-image=on] button.primarybtn:hover:not(:disabled),html[data-bg-image=on] button.okbtn:hover:not(:disabled),html[data-bg-image=on] button.savebtn:hover:not(:disabled),html[data-bg-image=on] button.runbtn:hover:not(:disabled),html[data-bg-image=on] button.runbtn.danger:hover:not(:disabled){filter:none;background-color:color-mix(in srgb, currentColor 16%, transparent);border-color:currentColor}html[data-bg-image=on] button.iconbtn.active{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc);color:var(--acc);background-color:#0000}html[data-bg-image=on] button.goalstate.on.active{border-color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok);color:var(--ok);background-color:#0000}html[data-bg-image=on] button.goalstate.on.done{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc);color:var(--acc);background-color:#0000}html[data-bg-image=on] button.goalstate.on.paused{border-color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn);color:var(--warn);background-color:#0000}html[data-bg-image=on] button.iconbtn.active:hover:not(:disabled),html[data-bg-image=on] button.goalstate.on:hover:not(:disabled){background-color:#0000}html[data-appearance=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-appearance=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{height:100%;margin:0}body{background:var(--bg-dark);color:var(--fg);font-size:var(--text-md);background:var(--bg-dark)}html[data-bg-image=on] body{background:0 0}.bgphoto{z-index:-1;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.bgphoto>img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.bgphoto-veil{background:color-mix(in srgb, var(--bg-dark) calc(var(--bg-image-dim,.55) * 100%), transparent);pointer-events:none;position:absolute;inset:0}.layout{grid-template-columns:250px 1fr clamp(320px,370px,32vw);height:100dvh;display:grid;position:relative;overflow:hidden}.layout.right-hidden{grid-template-columns:250px 1fr}.layout.right-hidden .rightbar{display:none}@media (width<=1100px){.layout.right-hidden .rightbar,.layout .rightbarbackdrop{display:block}.rightbar .rightbarhead{z-index:1;display:flex;position:sticky;top:0}.rightbar:has(.rightbarhead){padding-top:0}.rightbar{z-index:5;width:min(420px,92vw);box-shadow:none;transition:transform .18s,box-shadow .18s;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.rightbar.open{transform:none;box-shadow:-8px 0 24px #0007}.sidebar{z-index:6;width:min(300px,86vw);box-shadow:none;transition:transform .18s,box-shadow .18s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:none;box-shadow:8px 0 24px #0007}.leftbarbackdrop{z-index:4;background:#0006;position:fixed;inset:0}.sidehead{padding:0 0 var(--space-2);margin-bottom:var(--space-2);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.layout,.layout.right-hidden{grid-template-columns:1fr}}.sidebar{background:var(--bg-darkest);flex-direction:column;padding:10px 8px;display:flex;overflow:hidden auto}.themepop{background:var(--bg-mid);border:1px solid var(--bg-light);border-radius:var(--radius-lg);gap:var(--space-4);flex-direction:column;padding:10px;display:flex;position:static}.trow{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--fg);cursor:pointer;display:flex}.trow select{background:var(--bg-darkest);border-radius:var(--radius-md);color:var(--fg);border:none;outline:none;padding:3px 6px}.themegrid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.themebtn{align-items:center;gap:var(--space-3);background:var(--bg-light);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);text-align:left;border:1px solid #0000;min-width:0;padding:5px 8px;display:flex;overflow:hidden}.themebtn>:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.themebtn:hover{filter:brightness(1.15)}.themebtn.on{border-color:var(--acc)}.swdots{gap:var(--space-1);flex-shrink:0;display:inline-flex}.themepick{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(104px,1fr));display:grid}.themecard{gap:var(--space-2);cursor:pointer;color:var(--fg);font-size:var(--text-xs);text-align:left;background:0 0;border:none;flex-direction:column;min-width:0;padding:0;display:flex}.themecard-preview{border-radius:var(--radius-md);width:100%;height:62px;transition:border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out);border:1px solid #0000;display:block;overflow:hidden}.themecard:hover .themecard-preview{border-color:var(--dim);transform:translateY(-1px)}.themecard.on .themecard-preview{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc)}.themecard-label{text-overflow:ellipsis;white-space:nowrap;color:var(--dim);overflow:hidden}.themecard.on .themecard-label{color:var(--fg);font-weight:600}.tprev{width:100%;height:100%;display:block;position:relative}.tprev-bg{background-position:50%;background-size:cover;border-radius:2px;position:absolute;inset:0}.tprev-veil{border-radius:2px;position:absolute;inset:0}.tprev-nav{width:22%;position:absolute;inset:0 auto 0 0}.tprev-head{height:18%;position:absolute;top:0;left:22%;right:0}.tprev-panel{border-radius:3px;margin:5%;position:absolute;inset:18% 0 0 22%}.tprev-line{border-radius:2px;height:5%;position:absolute}.tprev-dot{border-radius:50%;width:7px;height:7px;position:absolute}.themeeditor{margin-top:var(--space-5)}.cfgsub{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--dim);margin:var(--space-5) 0 var(--space-3);font-weight:600}.paletterows{gap:var(--space-2) var(--space-4);margin:var(--space-3) 0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.paletterow{align-items:center;gap:var(--space-2);font-size:var(--text-xs);min-width:0;display:flex}.paletterow input[type=color]{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-shrink:0;width:26px;height:22px;padding:0}.paletterow input[type=color]::-webkit-color-swatch-wrapper{padding:0}.paletterow input[type=color]::-moz-color-swatch{border:none;border-radius:1px}.paletterow input[type=color]::-webkit-color-swatch{border:none;border-radius:1px}.paletterow-label{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.paletterow-hex{background:var(--bg-darkest);border:1px solid var(--line);width:8.5em;color:var(--fg);border-radius:var(--radius-sm);padding:2px var(--space-2);font-size:var(--text-xs);flex-shrink:0}.paletterow-hex:focus{border-color:var(--acc);outline:none}.bgpreview{margin-top:var(--space-3)}.bgpick{cursor:pointer;background:var(--bg-darkest);border:1px dashed var(--line-strong);border-radius:var(--radius-md);width:100%;max-width:260px;color:var(--dim);font-size:var(--text-xs);align-self:start;padding:0;display:block;position:relative;overflow:hidden}.bgpick.has{border-style:solid;border-color:var(--line)}.bgpick img{object-fit:cover;width:100%;height:84px;display:block}.bgpick-empty{padding:18px 10px;display:block}.bgpick-hint{background:color-mix(in srgb, var(--bg-darkest) 62%, transparent);color:var(--fg);opacity:0;transition:opacity var(--dur-fast) ease;place-items:center;font-weight:600;display:grid;position:absolute;inset:0}.bgpick:hover .bgpick-hint,.bgpick:focus-visible .bgpick-hint{opacity:1}html[data-bg-image=on] button.bgpick{border-style:dashed}html[data-bg-image=on] button.bgpick.has{border-style:solid}.bgpreview img{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--line);max-width:100%;max-height:120px;display:block}.bgpreview .btnrow{margin-top:var(--space-2);align-items:center}.swdots i{border-radius:50%;width:9px;height:9px;display:inline-block;box-shadow:inset 0 0 0 1px #0004}.agent-list{flex:1;min-width:0;min-height:0;overflow-y:auto}.wsheader{align-items:center;gap:var(--space-3);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--dim);cursor:pointer;-webkit-user-select:none;user-select:none;border-top:1px solid var(--line);margin-top:6px;padding:10px 10px 4px;font-weight:600;display:flex}.wsheader:first-child{border-top:none;margin-top:0}.wsheader:hover{color:var(--fg)}.wsheader .wscaret{width:12px;font-size:var(--text-xs);flex-shrink:0}.wsheader .wscount{border-radius:var(--radius-pill);background:var(--bg-light);color:var(--dim);font-size:var(--text-xs);letter-spacing:0;flex-shrink:0;margin-left:auto;padding:0 6px;font-weight:600;line-height:15px}.agent-item{align-items:center;gap:var(--space-4);border-radius:var(--radius-md);cursor:pointer;color:var(--fg);min-width:0;margin-bottom:2px;padding:7px 10px;display:flex}.agent-item>span:not(.dot):not(.caret):not(.caret-spacer):not(.notifbadge):not(.subcount):not(.subtag):not(.ghosttag):not(.mini-cron):not(.goaldone){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.agent-item .subtag{color:var(--dim);font-size:var(--text-xs)}.agent-item .goaldone{flex-shrink:0}.caret{cursor:pointer;width:12px;color:var(--dim);font-size:var(--text-xs);text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0}.caret:hover{color:var(--fg)}.caret-spacer{flex-shrink:0;width:12px}.agent-item:hover{background:var(--bg-mid)}.agent-item.collapsed{cursor:pointer}.agent-item.sel{background:var(--bg-mid)}.agent-item.sub-row{color:var(--dim)}.agent-item.sub-row.sel{color:var(--fg)}.dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.dot.running{background:var(--ok);box-shadow:0 0 6px var(--ok)}.dot.waiting{box-shadow:inset 0 0 0 2px var(--ok);background:0 0}.dot.needs_operator{background:var(--acc);box-shadow:0 0 0 2px color-mix(in srgb, var(--acc) 35%, transparent)}.badge.waiting{color:var(--ok)}.badge.needs_operator{color:var(--acc)}.dot.idle{background:var(--warn)}.dot.stopped{background:var(--dim)}.dot.error{background:var(--err);box-shadow:0 0 6px var(--err)}.sidebar .metrics{font-size:var(--text-xs);color:var(--dim);border-top:1px solid var(--line);margin-top:12px;padding:8px 10px;line-height:1.7}.sidebar-footer{border-top:1px solid var(--line);gap:var(--space-1);flex-direction:column;margin-top:auto;padding-top:8px;display:flex}.footer-row{align-items:center;gap:var(--space-4);display:flex}.footer-row .conn{margin-left:0}.sidebar-footer .metrics{border-top:none;margin-top:4px;padding:0}.brand{align-items:center;gap:var(--space-4);font-size:var(--text-md);color:var(--fg);display:flex}.version{color:var(--dim);font-size:var(--text-xs);font-family:ui-monospace,Menlo,monospace}.channel{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.chan-head{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--line);background:var(--bg-dark);flex-wrap:wrap;flex-shrink:0;display:flex}.chan-head .hash{color:var(--dim);font-size:var(--text-xl);font-weight:300}.chan-head .title{font-weight:600;font-size:var(--text-lg);letter-spacing:var(--tracking-tight)}.chan-head .sub{color:var(--dim);font-size:var(--text-xs);margin-left:var(--space-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chan-head .head-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.chan-head .head-sep{width:1px;margin:var(--space-1) var(--space-1);background:var(--line);align-self:stretch}.chan-head .runbtn{min-width:74px;height:24px;padding:0 var(--space-4);background:var(--ok);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:background-color var(--dur-fast) ease, filter var(--dur-fast) ease;border:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.chan-head .runbtn:hover{filter:brightness(1.12)}.chan-head .runbtn.danger{background:var(--err)}.badge{font-size:var(--text-xs);border-radius:var(--radius-pill);padding:1px var(--space-4);background:var(--bg-light);vertical-align:middle;font-weight:500}.badge.running{color:var(--ok)}.badge.error{color:var(--err)}.badge.idle{color:var(--warn)}.badge.done{color:var(--ok)}.badge.queued{color:var(--warn);white-space:nowrap;background:#faa81a1a;border:1px solid #faa81a44}.feed{padding:var(--space-5) 0;overscroll-behavior:contain;overflow-anchor:none;flex:1;min-height:0;overflow-y:auto}.msg{gap:var(--space-6);padding:var(--space-2) var(--space-6);transition:background-color var(--dur-fast) ease;display:flex}.msg:hover{background:color-mix(in srgb, var(--fg) 6%, transparent)}.msg.pending{opacity:.75}.msg.pending .ts{color:var(--warn);font-weight:600}.msg.pending .avatar{animation:1.6s ease-in-out infinite pulse}.msg.pending .editbtn.cancel{color:var(--err)}.msg.withdrawn{opacity:.55}.msg.withdrawn .msg-body{text-decoration:line-through;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}.msg.withdrawn .msg-head{text-decoration:none}.msg.withdrawn .ts{color:var(--muted);font-weight:600}.msg.grouped{padding-top:0}.avatar{width:38px;height:38px;font-size:var(--text-lg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.msg-body{flex:1;min-width:0}.msg-head{gap:var(--space-4);align-items:baseline;display:flex}.actor{color:var(--warn);font-size:var(--text-xs);white-space:nowrap}.runcard{gap:var(--space-4);flex-direction:column;display:flex}.statgrid{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.stat{background:var(--bg-mid);border-radius:var(--radius-md);gap:var(--space-1);flex-direction:column;min-width:0;padding:5px 8px;display:flex}.stat span{color:var(--dim);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.stat b{font-size:var(--text-md);text-overflow:ellipsis;overflow:hidden}.statrow{align-items:center;gap:var(--space-4);font-size:var(--text-sm);min-width:0;display:flex}.statrow .k{color:var(--dim);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.05em;white-space:nowrap;flex-shrink:0;width:auto;min-width:58px}.pill{border-radius:var(--radius-pill);font-size:var(--text-xs);background:var(--bg-mid);white-space:nowrap;margin-left:auto;padding:1px 8px}.pill.ok{color:var(--ok)}.pill.warn{color:var(--warn)}.pill.crit{color:var(--err);background:#ed42451a}.bartrack{border-radius:var(--radius-sm);background:var(--bg-light);height:6px;margin-top:2px;overflow:hidden}.rtgrid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.rtcell{background:var(--bg-dark);border-radius:var(--radius-md);flex-direction:column;gap:1px;min-width:0;padding:5px 7px;display:flex;overflow:hidden}.rtcell>span{color:var(--dim);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rtcell>b{font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.15;overflow:hidden}.rtcell>em{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-style:normal;overflow:hidden}.rtsep{color:var(--dim);padding:0 2px;font-weight:400}.barfill{border-radius:var(--radius-sm);background:var(--ok);min-width:2px;height:100%;transition:width .3s}.barfill.warn{background:var(--warn)}.barfill.crit{background:var(--err)}.author{font-weight:600;font-size:var(--text-md);letter-spacing:var(--tracking-tight)}.ts{color:var(--dim);font-size:var(--text-xs)}.content{white-space:pre-wrap;word-break:break-word;line-height:1.45}.content p{margin:2px 0}.content pre{background:var(--bg-darkest);border-radius:var(--radius-md);padding:8px;overflow-x:auto}.content pre>code{white-space:pre-wrap;overflow-wrap:anywhere}.content code{background:var(--bg-darkest);border-radius:var(--radius-sm);font-size:var(--text-sm);padding:1px 4px}.content pre code{background:0 0;padding:0}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{font-size:var(--text-md);margin:8px 0 2px}.content h1{font-size:var(--text-lg);letter-spacing:var(--tracking-tight)}.content h2{font-size:var(--text-md)}.content blockquote{border-left:3px solid var(--bg-light);color:var(--dim);background:#ffffff05;border-radius:0 4px 4px 0;margin:4px 0;padding:2px 10px}.content blockquote p{margin:2px 0}.content hr{border:none;border-top:1px solid var(--bg-light);margin:8px 0}.content del{color:var(--dim)}.content img{border-radius:var(--radius-md);max-width:100%}.content li.task{margin-left:-18px;list-style:none}.content li:has(>input[type=checkbox]){margin-left:-18px;list-style:none}.content li input[type=checkbox]{accent-color:var(--ok);margin-right:6px}input[type=checkbox]{accent-color:var(--acc)}.content a{color:var(--tool);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--tool) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--tool) 45%, transparent);text-underline-offset:2px}.content a:hover{filter:brightness(1.15)}.themebtn.on{background:var(--acc);color:#fff}.trow select:focus{outline:1px solid var(--acc)}.tbl{margin:6px 0;overflow-x:auto}.tbl table{border-collapse:collapse;font-size:var(--text-sm)}.tbl th,.tbl td{border:1px solid var(--bg-light);text-align:left;padding:3px 9px}.tbl th{background:var(--bg-darkest);font-weight:600}.embed{border-left:3px solid var(--tool);background:var(--bg-darkest);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-top:3px;padding:6px 10px}html[data-bg-image=on] .embed{background-color:color-mix(in srgb, var(--bg-darkest-solid,#1a1c22) calc(var(--surface-alpha-tool,.62) * 100%), transparent)}.msg{--grouped-gap:var(--space-2)}.msg.grouped .avatar.avghost{align-self:flex-start;width:38px;height:0;min-height:0;margin-top:0}.msg.grouped{padding:0 var(--space-6)}.embed.grouped{margin-top:var(--grouped-gap)}.msg:not(.grouped).next-grouped{padding-bottom:0}.msg:not(.grouped).next-grouped .embed{margin-bottom:0}.msg.grouped:not(.next-grouped){padding-bottom:3px}.embed.grouped{border-radius:var(--radius-sm)}.embed.fail{border-color:var(--err)}.embed.warn-embed{border-color:var(--warn)}.embed.warn-embed .mono{color:var(--warn)}.embed.done{border-color:var(--ok)}.embed.running{border-color:var(--warn)}.embed.running summary .meta:after{content:"⋯";color:var(--warn);margin-left:6px;animation:1s step-end infinite blink;display:inline-block}.embed summary{gap:var(--space-4)}.embed summary .mono{font-family:ui-monospace,Menlo,monospace}.toolbody{background:color-mix(in srgb, var(--bg-darkest) 70%, transparent);border-radius:var(--radius-sm);scrollbar-gutter:stable;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-height:340px;font-size:var(--text-sm);margin:4px 0;padding:6px 14px 6px 8px;overflow:hidden auto}.toolbody .toolbody{background:color-mix(in srgb, var(--bg-darkest) 50%, transparent)}.toolbody .toolbody .toolbody{background:color-mix(in srgb, var(--bg-darkest) 35%, transparent);border:1px solid var(--line)}.toolbody.del{border-left:2px solid var(--err);color:#f0a5a6;background:#ed424514}.toolbody.add{border-left:2px solid var(--ok);color:#9fd8ae;background:#3ba55d14}.toolbody.patch{padding:4px 8px}.toolbody.patch .pline{white-space:pre-wrap;word-break:break-word}.toolbody.patch .pline.add{color:#9fd8ae;border-left:2px solid var(--ok);background:#3ba55d14;padding-left:4px}.toolbody.patch .pline.del{color:#f0a5a6;border-left:2px solid var(--err);background:#ed424514;padding-left:4px}.toolbody.patch .pline.meta{color:var(--dim)}.embed.question{border-color:var(--acc);background:#5865f20f}.qopts{gap:var(--space-3);flex-wrap:wrap;margin-top:6px;display:flex}.qopt{background:var(--acc);color:#fff;border-radius:var(--radius-pill);cursor:pointer;font-size:var(--text-sm);border:none;padding:3px 12px}.qopt:hover{filter:brightness(1.15)}.qopt:disabled{opacity:.45;cursor:default;filter:none}.embed.question.answered{opacity:.75}.qfree{gap:var(--space-3);margin-top:8px;display:flex}.qfree input{background:color-mix(in srgb, var(--bg-light-solid,#343845) calc(var(--surface-alpha-composer,.44) * 100%), transparent);border:1px solid var(--bg-light);border-radius:var(--radius-md);color:var(--fg);font-size:var(--text-sm);outline:none;flex:1;padding:4px 10px}.qfree input:focus{border-color:var(--acc)}.qfree button{background:var(--bg-light);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);border:none;padding:4px 12px}.qfree button:disabled{opacity:.45;cursor:default}.bashelapsed{color:var(--warn);font-size:var(--text-xs);margin-left:8px}.embed.question .meta{margin-top:6px}.embed.decision{border-color:var(--acc);background:#5865f20f}.embed.decision summary .meta{margin-left:6px}.embed.decision .content{font-size:var(--text-sm);margin-top:3px}.embed summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style-position:outside}.embed summary::marker{color:var(--dim)}.embed[open] summary{margin-bottom:4px}.embed .mono{font-family:ui-monospace,Menlo,monospace;font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word;max-height:340px;overflow-y:auto}.embed .meta{color:var(--dim);font-size:var(--text-xs);margin-top:3px}.reasoning{border-left:3px dashed var(--bg-light);color:var(--dim);font-size:var(--text-sm);border-radius:var(--radius-sm);background:#ffffff05;margin:2px 0;padding:2px 10px}.reasoning summary{cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.75}.reasoning summary:hover{opacity:1;color:var(--fg)}.reasoning[open] summary{margin-bottom:4px}.reasoning .mono{white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto}.msg.live .avatar{animation:1.6s ease-in-out infinite pulse}.cursor{color:var(--acc);animation:1s step-end infinite blink}.interrupted{color:var(--warn);font-size:var(--text-xs);margin-top:3px}@keyframes blink{50%{opacity:0}}@keyframes pulse{50%{opacity:.55}}.conn{background:var(--err);vertical-align:middle;width:8px;height:8px;box-shadow:0 0 6px var(--err);border-radius:50%;display:inline-block}.conn.ok{background:var(--ok);box-shadow:0 0 6px var(--ok)}.copybtn{border:1px solid var(--bg-light);color:var(--dim);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;text-align:center;white-space:nowrap;background:0 0;flex-shrink:0;min-width:4.6em;padding:0 5px;line-height:16px}.copybtn:hover{color:var(--fg);filter:brightness(1.3)}.answerdone{color:var(--ok)}.progembed{border-color:var(--ok)}.compactnote{margin-top:2px;font-size:11.5px}.compactkept{margin-top:6px}.embed summary{align-items:center;gap:var(--space-3);display:flex}.toolcopy{gap:var(--space-2);flex-shrink:0;margin-left:auto;display:flex}.msgfoot{align-items:center;gap:var(--space-3);color:var(--dim);font-size:var(--text-xs);margin-top:4px;display:flex}.imgstage{gap:var(--space-3);flex-wrap:wrap;margin-bottom:6px;display:flex}.imgchip{display:inline-flex;position:relative}.imgchip img{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--line);width:64px;height:64px}.imgchip .imgx{background:var(--err);color:#fff;width:16px;height:16px;font-size:var(--text-xs);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex;position:absolute;top:-5px;right:-5px}.promptimgs{gap:var(--space-3);flex-wrap:wrap;margin-top:4px;display:flex}img.promptimg{border-radius:var(--radius-md);border:1px solid var(--line);max-width:180px;max-height:120px}.bgjob-note{color:var(--warn)}.bgjob-note b{color:var(--fg);font-family:ui-monospace,Menlo,monospace}details.reasoning .thinkscroll{white-space:pre-wrap;word-break:break-word;scrollbar-gutter:stable;max-height:220px;overflow-y:auto}.thinktimer{color:var(--dim);font-size:var(--text-xs);margin-left:6px;font-weight:400}.termdrawer{background:var(--term-bg);border-top:1px solid var(--line);flex-direction:column;display:flex}.termgrip{cursor:ns-resize;background:var(--bg-light);opacity:.6;border-bottom:1px solid var(--line);height:6px}.termgrip:hover{opacity:1}.termbar{font-size:var(--text-xs);color:var(--dim);border-bottom:1px solid var(--line);background:var(--bg-darkest);justify-content:space-between;align-items:center;padding:4px 10px;display:flex}.termtabs{gap:var(--space-1);flex:1;align-items:center;min-width:0;display:flex;overflow-x:auto}.termtab{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);cursor:pointer;color:var(--dim);font-size:var(--text-xs);white-space:nowrap;background:var(--bg-mid);padding:2px 8px;display:inline-flex}.termtab.active{color:var(--fg);background:var(--bg-light)}.termtab:hover{filter:brightness(1.15)}.tabx{color:inherit;opacity:.5;cursor:pointer;font-size:var(--text-xs);background:0 0;border:none;padding:0}.tabx:hover{opacity:1;color:var(--err)}.termbody{gap:var(--space-2);background:var(--term-bg);flex:1;min-height:0;padding:4px;display:flex}.termbody.split .termpane{width:50%}.termpane{border-radius:var(--radius-md);background:var(--term-bg);flex:1;min-width:0;position:relative;overflow:hidden}.termpane:not(.focused){opacity:.9}.termpane.focused{box-shadow:none}.termhost{position:absolute;inset:0}.termsession{padding:4px 6px;position:absolute;inset:0}.termsplit{background:var(--line);border-radius:var(--radius-sm);cursor:col-resize;flex-shrink:0;width:3px}.termempty{font-size:var(--text-xs);color:var(--dim);place-items:center;display:grid;position:absolute;inset:0}.jump{background:var(--acc);color:#fff;border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);cursor:pointer;font-size:var(--text-sm);letter-spacing:var(--tracking-tight);box-shadow:var(--shadow-lg);z-index:2;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);border:none;font-weight:600;position:absolute;top:-34px;left:50%;transform:translate(-50%)}.jump:hover{filter:brightness(1.08)}.jump:active{transform:translate(-50%)translateY(1px)}@starting-style{.jump{opacity:0;transform:translate(-50%)translateY(6px)}}.channel:has(.termdrawer) .composer:not(.maximized) .jump{top:auto;bottom:calc(var(--termh,300px) + 100% + 6px);left:50%}.channel:has(.termdrawer) div.composer.maximized .jump{inset:10px 16px auto auto;transform:none}.divider-msg{align-items:center;gap:var(--space-5);color:var(--dim);font-size:var(--text-xs);padding:4px 18px;display:flex}.divider-msg:before,.divider-msg:after{content:"";background:var(--line);flex:1;height:1px}.divider-msg.err{color:var(--err)}.divider-msg.compacting{color:var(--acc);animation:1.6s ease-in-out infinite pulse}.goalline{color:var(--dim);font-size:var(--text-xs);padding:4px 18px}.goalline-label{color:var(--dim);display:block}.goalline.warn .goalline-label{color:var(--warn)}.goalline.err .goalline-label{color:var(--err)}.goalline .card{text-align:left;margin-top:6px}.day-divider{align-items:center;gap:var(--space-5);padding:14px 18px 6px;display:flex}.day-divider:before,.day-divider:after{content:"";background:var(--bg-light);flex:1;height:1px}.spinner{border:2px solid var(--dim);vertical-align:-1px;border-top-color:#0000;border-radius:50%;width:10px;height:10px;margin-right:6px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{border-top-color:var(--dim);opacity:.6;animation:none}}.day-divider span{color:var(--dim);font-size:var(--text-xs)}.composer{padding:0 16px 18px;position:relative}.composer form{background:var(--bg-light);border-radius:var(--radius-lg);gap:var(--space-4);align-items:flex-end;padding:10px 12px;display:flex}html[data-bg-image=on] .composer.maximized,html[data-bg-image=on] .composer.maximized:before{background-color:color-mix(in srgb, var(--bg-light-solid,#343845) calc(var(--surface-alpha-composer) * 100%), transparent)}html[data-bg-image=on] .composer form{background-color:color-mix(in srgb, var(--bg-light-solid,#343845) calc(var(--surface-alpha-composer) * 100%), transparent)}.composer textarea{color:var(--fg);font:inherit;resize:none;background:0 0;border:none;outline:none;flex:1;line-height:1.4;overflow-y:auto}.cmds{background:var(--bg-mid);border:1px solid var(--bg-light);border-radius:var(--radius-lg);z-index:3;position:absolute;bottom:calc(100% - 8px);left:16px;right:16px;overflow:hidden;box-shadow:0 -6px 20px #0007}.cmdrow{gap:var(--space-5);cursor:pointer;font-size:var(--text-sm);align-items:baseline;padding:7px 12px;display:flex}.cmdrow:hover{background:var(--bg-light)}.cmdrow.active{background:var(--acc);color:#fff}.cmdrow.active .muted{color:#e6e9ff}.cmdrow .muted{font-size:var(--text-xs)}.composer button{background:var(--acc);color:#fff;border-radius:var(--radius-lg);cursor:pointer;border:none;padding:7px 14px;font-weight:600}.composer button:hover{opacity:.9}.composer label{color:var(--dim);font-size:var(--text-xs);gap:var(--space-2);white-space:nowrap;align-items:center;display:flex}.hint{color:var(--dim);font-size:var(--text-xs);margin-top:5px}.composer .flashhint{pointer-events:none;text-overflow:ellipsis;white-space:nowrap;animation:flashhint-in var(--dur-fast) var(--ease-out);margin:0;position:absolute;bottom:3px;left:22px;right:22px;overflow:hidden}@keyframes flashhint-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.helpsec{margin-bottom:var(--space-5)}.helprow{gap:var(--space-4);font-size:var(--text-sm);border-bottom:1px solid var(--bg-light);grid-template-columns:minmax(96px,auto) 1fr;align-items:baseline;padding:4px 0;display:grid}.helprow:last-child{border-bottom:none}.helprow>b{color:var(--fg);white-space:nowrap;font-weight:600}.helprow>span{color:var(--dim);line-height:1.5}.helprow .kbdgroup{align-items:center;gap:3px;display:inline-flex}.helprow kbd{text-align:center;background:var(--bg-light);border-radius:var(--radius-sm);min-width:20px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--text-xs);color:var(--fg);padding:1px 5px;display:inline-block}.helprow code{background:var(--bg-darkest);border-radius:var(--radius-sm);padding:0 4px;font-size:11.5px}.rightbarbackdrop{z-index:4;background:#0004;display:none;position:fixed;inset:0}.rightbarhead{justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--bg-dark);border-bottom:1px solid var(--line);margin:0;padding:10px 14px;display:none}.rightbarhead .muted{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.rightbar{background:var(--bg-dark);border-left:1px solid var(--line);font-size:var(--text-sm);scrollbar-gutter:stable;flex-direction:column;min-height:0;padding:14px;display:flex;overflow-y:auto}.rightbar>*{flex-shrink:0}.rightbar h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--dim);margin:14px 0 6px}.rightbar h3:first-of-type{margin-top:0}.card{background:var(--bg-darkest);border-radius:var(--radius-lg);white-space:pre-wrap;word-break:break-word;max-height:200px;padding:10px;overflow-y:auto}.card .cardbody,.card pre,.card code,.card .content{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;overflow-x:hidden}.card .ctitle{font-weight:600;font-size:var(--text-xs);color:var(--dim);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:var(--space-3);margin-bottom:4px;display:flex}.card .ctitle .meta{margin-left:auto}.card-ok{border-left:3px solid var(--ok);margin-top:6px}.card-warn{border-left:3px solid var(--warn);margin-top:6px}.card-tool{border-left:3px solid var(--tool);margin-top:6px}.card.goalcard,.card.runcard{max-height:none;overflow-y:visible}.muted{color:var(--dim)}.prog .progrow{gap:var(--space-4);margin-bottom:4px;display:flex}.prog .progrow b{color:var(--dim);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.05em;flex-shrink:0;min-width:62px;padding-top:2px}.embed .progrow{gap:var(--space-4);margin-bottom:4px;display:flex}.embed .progrow b{color:var(--dim);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.05em;flex-shrink:0;min-width:62px;padding-top:2px}.embed .progrow span{min-width:0}.inline-md{display:inline}.inline-md>:first-child{margin-top:0}.inline-md>:last-child{margin-bottom:0}.prog .progrow.warn span{color:var(--err)}.msg-head .editbtn{color:var(--dim);cursor:pointer;font-size:var(--text-xs);opacity:0;background:0 0;border:none;padding:0 2px;transition:opacity .12s}.msg:hover .msg-head .editbtn,.msg.pending .msg-head .editbtn{opacity:1}.msg-head .editbtn:focus-visible{opacity:1;outline:2px solid var(--acc);outline-offset:1px}.msg-head .editbtn:hover{color:var(--acc)}.branch-row{color:var(--dim);font-size:var(--text-xs);cursor:pointer;justify-content:space-between;padding:3px 0;display:flex}.branch-row:hover,.branch-row.cur{color:var(--fg)}.mini-cron{font-size:var(--text-xs);opacity:.75;margin-left:auto}.sched-row{border-radius:var(--radius-md);cursor:pointer;margin-bottom:2px;padding:6px 8px}.sched-row:hover,.sched-row.cur{background:var(--bg-mid)}.sched-top{gap:var(--space-3);font-size:var(--text-sm);align-items:baseline;display:flex}.sched-row .sched-meta{color:var(--dim);font-size:var(--text-xs);margin-top:2px}.sched-row .sched-prompt{color:var(--dim);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.badge.cron{color:var(--tool);white-space:nowrap;background:#3ba0c91a;border:1px solid #3ba0c944}.sesscard{gap:var(--space-3);font-size:var(--text-sm);flex-direction:column;display:flex}.sessrow{align-items:center;gap:var(--space-4);display:flex}.filebox{background:var(--bg-darkest);border-radius:var(--radius-lg);height:260px;padding:4px;overflow-y:auto}.filerow{align-items:center;gap:var(--space-3);cursor:pointer;font-size:var(--text-sm);color:var(--fg);border-radius:var(--radius-sm);padding:3px 8px;display:flex}.filerow:hover{background:var(--bg-mid)}.filerow .ficon{width:10px;color:var(--dim);font-size:var(--text-xs);text-align:center;flex-shrink:0}.filerow.isdir .fname{font-weight:600}.fname{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fsize{color:var(--dim);font-size:var(--text-xs);flex-shrink:0;margin-left:auto}.sessrow .k{color:var(--dim);text-transform:uppercase;width:74px;font-size:var(--text-xs);letter-spacing:.05em;flex-shrink:0}.ellip{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;overflow:hidden}.modelbox{gap:var(--space-3);background:var(--bg-darkest);border-radius:var(--radius-lg);flex-direction:column;padding:10px;display:flex}.modelbox select,.modelbox input[type=text]{background:var(--bg-mid);border-radius:var(--radius-md);color:var(--fg);font:inherit;border:none;outline:none;min-width:0;padding:6px 8px}.modelbox button{background:var(--acc);border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:600;font-size:var(--text-sm);white-space:nowrap;box-sizing:border-box;justify-content:center;align-items:center;gap:var(--space-2);border:none;min-width:7.5em;height:28px;padding:6px 10px;line-height:1;display:inline-flex}.modelbox button:hover{opacity:.9}.modelbox .meta{color:var(--dim);font-size:var(--text-xs)}.btnrow{gap:var(--space-3);margin:8px 0;display:flex}.btnrow button{background:var(--bg-light);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);border:none;padding:6px 10px}.btnrow button:hover{filter:brightness(1.2)}.btnrow .runbtn{background:var(--ok);color:#fff;font-weight:600}.btnrow .runbtn,.btnrow .danger{min-width:74px}.btnrow .danger{background:var(--err);color:#fff;font-weight:600}.ctrlrow{align-items:center;gap:var(--space-4);font-size:var(--text-sm);margin-top:6px;display:flex}.ctrlrow label{align-items:center;gap:var(--space-3);cursor:pointer;color:var(--fg);white-space:nowrap;display:flex}.ctrlrow .muted{font-size:var(--text-xs)}.featgrid{margin-bottom:var(--space-5);flex-direction:column;gap:2px;display:flex}.featrow{gap:var(--space-4);font-size:var(--text-sm);border-bottom:1px solid var(--bg-light);grid-template-columns:minmax(150px,auto) 1fr;align-items:baseline;padding:4px 0;display:grid}.featrow:last-child{border-bottom:none}.featrow>b{color:var(--fg);white-space:nowrap;font-weight:600}.skilllist{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.skillrow{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-darkest);flex-direction:column;gap:2px;min-width:0;display:flex}.skillhead{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;border-radius:var(--radius-md);white-space:normal;background:0 0;border:none;grid-template-columns:12px minmax(0,1fr);align-items:baseline;gap:2px 7px;padding:7px 9px;display:grid}.skillhead:hover{background:var(--bg-dark)}.skillhead>b{color:var(--acc);font-size:var(--text-sm);overflow-wrap:anywhere;min-width:0}.skillhead>.skillcaret{color:var(--dim);font-size:var(--text-xs)}.skillhead>.muted{font-size:var(--text-xs);overflow-wrap:anywhere;grid-column:2;min-width:0;line-height:1.45}.skillbody{border-top:1px solid var(--line);font-size:var(--text-xs);overflow-wrap:anywhere;word-break:break-word;max-height:340px;color:var(--fg);margin:0;padding:8px 10px 10px;line-height:1.55;overflow:hidden auto}.skillbody h1,.skillbody h2,.skillbody h3,.skillbody h4{font-size:var(--text-sm);color:var(--acc);margin:8px 0 3px}.skillbody h1:first-child,.skillbody h2:first-child,.skillbody h3:first-child{margin-top:0}.skillbody code{background:var(--bg-darkest-solid,var(--bg-darkest));border-radius:var(--radius-sm);padding:1px 4px;font-size:11px}.skillbody pre{background:var(--bg-darkest-solid,var(--bg-darkest));border-radius:var(--radius-sm);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%;margin:5px 0;padding:6px 8px;overflow-x:hidden}.skillbody pre code{white-space:inherit;background:0 0;padding:0}.skillbody ul,.skillbody ol{margin:4px 0;padding-left:18px}.skillbody li{margin:1px 0}.skillbody table{border-collapse:collapse;width:max-content;max-width:100%;display:block;overflow-x:auto}.skillbody th,.skillbody td{border:1px solid var(--line);padding:2px 6px}.goalstate{background:var(--bg-light);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);border:none;padding:3px 10px}.goalstate.on.active{background:var(--ok);color:#fff;font-weight:600}.goalstate.on.done{background:var(--acc);color:#fff;font-weight:600}.goalstate.on.paused{background:var(--warn);color:#fff;font-weight:600}.goalstate:disabled{cursor:default;filter:none}.verifycard{border-left:3px solid var(--tool);margin-top:6px}.auditcard{border-left:3px solid var(--warn);margin-top:6px}.auditcard.ok{border-left-color:var(--ok)}.vtitle{font-weight:600;font-size:var(--text-xs);color:var(--dim);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:var(--space-3);margin-bottom:4px;display:flex}.iconbtn{background:var(--bg-light);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;width:26px;height:24px;font-size:var(--text-sm);transition:background-color var(--dur-fast) ease, filter var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out);border:none;flex:none;justify-content:center;align-self:flex-end;align-items:center;padding:0;display:inline-flex}.iconbtn-glyph{justify-content:center;align-items:center;width:100%;height:100%;line-height:1;display:inline-flex}.iconbtn:hover{filter:brightness(1.3)}.iconbtn.active{background:var(--acc);color:#fff}.overlay{z-index:10;background:#0009;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--bg-mid);border-radius:var(--radius-lg);width:min(760px,94vw);max-height:88vh;padding:16px 18px;overflow-y:auto}.modal:has(.cfgbody){flex-direction:column;height:min(660px,88vh);display:flex;overflow:hidden}.modal:has(.cfgbody)>form{flex-direction:column;flex:1;min-height:0;display:flex}.cfgbody{flex:1;gap:0;min-height:0;display:flex}.modal:has(.cfgbody){flex-direction:column;display:flex}.cfgmenu{gap:var(--space-1);border-right:1px solid var(--bg-light);border-bottom:none;flex-direction:column;flex:0 0 148px;padding:2px 10px 2px 0;display:flex;overflow-y:auto}.cfgmenu-item{text-align:left;border-radius:var(--radius-md);width:100%;color:var(--dim);font:inherit;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;padding:7px 9px;display:block}.cfgmenu-item:hover{color:var(--fg);background:var(--bg-darkest)}.cfgmenu-item.on{color:var(--fg);background:var(--bg-darkest);border-color:var(--acc);box-shadow:inset 2px 0 0 var(--acc);font-weight:600}.cfgmenu-label{pointer-events:none}.cfgpanel{flex:1;min-width:0;padding:2px 0 2px 14px;overflow-y:auto}.cfgpanel fieldset.hide,.cfgpanel legend{display:none}.cfgpanel fieldset{border:none;margin:0;padding:0}.cfgfoot{gap:var(--space-5);border-top:1px solid var(--bg-light);flex:none;justify-content:flex-end;align-items:center;padding-top:10px;display:flex}.cfgsave{background:var(--acc);border-radius:var(--radius-md);color:#fff;cursor:pointer;text-align:center;min-width:9.5rem;height:32px;transition:background-color var(--dur-fast) ease;border:none;padding:0 16px;font-weight:600}.cfgsave:disabled{cursor:default;filter:none}.cfgsave.saved{background:var(--ok)}.cfgsave.error{background:var(--err)}.cfgsave:hover{filter:brightness(1.12)}.cfgtoggle{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--fg);cursor:pointer;flex-flow:wrap;margin-top:8px;display:flex}.mcpcard{border:1px solid var(--bg-light);border-radius:var(--radius-lg);margin-bottom:8px;padding:8px}.mcpcard .cfgrow{margin-bottom:5px}.mcpcard .cfgrow:last-child{margin-bottom:0}.mcpresult{font-size:var(--text-xs);overflow-wrap:anywhere;margin-top:4px}.mcpresult.err{color:var(--err)}.mcpresult.ok{color:var(--ok)}.mcpresult-head{margin-bottom:2px}.mcptools{flex-direction:column;gap:2px;min-width:0;margin:3px 0 0;padding:0 0 0 2px;list-style:none;display:flex}.mcptools li{gap:var(--space-3);min-width:0;color:var(--dim);flex-wrap:wrap;align-items:baseline;display:flex}.mcptools code{color:var(--fg);overflow-wrap:anywhere;min-width:0;font-size:11px}.mcptool-desc{text-overflow:ellipsis;white-space:nowrap;flex:10ch;min-width:0;font-size:11px;overflow:hidden}.mcpstate{font-size:var(--text-xs);white-space:nowrap;color:var(--dim)}.mcpstate.connected{color:var(--ok)}.mcpstate.error{color:var(--err)}.mcpstate.disabled{color:var(--dim)}.mcpdisconnect{font-size:var(--text-xs);border:1px solid var(--line);color:var(--err);cursor:pointer;background:0 0;border-radius:6px;padding:1px 7px}.mcpdisconnect:hover{border-color:var(--err);filter:brightness(1.15)}.mcpdanger{border-top:1px solid var(--line);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding-top:8px;display:flex}.mcpauthorize{font-size:var(--text-xs);border:1px solid var(--acc);background:var(--acc);color:#fff;cursor:pointer;border-radius:6px;padding:1px 7px;font-weight:600}.mcpauthorize:hover{filter:brightness(1.12)}.cfgrow.archrow{align-items:center;gap:var(--space-4);flex-wrap:nowrap}.archmain{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.archmain b{font-size:var(--text-sm)}.archmain .muted{font-size:var(--text-xs)}.archmain .mono{font-size:var(--text-xs);max-width:100%}.archrow button{white-space:nowrap;flex:none}.archrow .archrestore{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}.archrow .archrestore:hover{filter:brightness(1.12)}@media (width<=620px){.chan-head{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.chan-head .sub{flex-basis:100%}.channel,.feed,.timeline{min-width:0;max-width:100%}.feed,.timeline{overflow-x:hidden}.toolbody,.mono,.content,.card{overflow-wrap:anywhere;word-break:break-word;max-width:100%}.composer{padding:0 10px 12px}.composer form{gap:var(--space-2);flex-wrap:wrap;padding:8px}.composer form>textarea{flex:100%;min-height:54px}.composer form>button,.composer form>.iconbtn{flex:none}.composer form>button[type=submit]{margin-left:auto}.composer.maximized form>textarea{min-height:0}.cfgrow.archrow{flex-wrap:wrap}.archrow button{flex:auto}.cfgbody{flex-direction:column}.cfgmenu{border-right:none;border-bottom:1px solid var(--bg-light);flex-flow:row;flex:none;padding:0 0 6px;overflow-x:auto}.cfgmenu-item{width:auto}.cfgpanel{padding:10px 0 0}}.modal-head{margin-bottom:var(--space-5);font-size:var(--text-lg);letter-spacing:var(--tracking-tight);justify-content:space-between;align-items:center;display:flex}.modal label{gap:var(--space-2);color:var(--dim);font-size:var(--text-sm);flex-direction:column;display:flex}.modal input[type=text],.modal input[type=number],.modal input[type=password],.modal input[type=url],.modal input[type=email],.modal select,.modal textarea{background:var(--bg-darkest);border-radius:var(--radius-md);color:var(--fg);font:inherit;border:1px solid #0000;outline:none;min-width:0;padding:7px 9px}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--acc)}.modal ::placeholder{color:#7c818f;opacity:1}.modal select option{background:var(--bg-darkest);color:var(--fg)}.modal input.compact{font-size:var(--text-sm);padding:5px 8px}.modal textarea{resize:vertical}.w100{width:100%}.mono{font-family:ui-monospace,Menlo,monospace;font-size:var(--text-sm)}.modal fieldset{border:1px solid var(--bg-light);border-radius:var(--radius-lg);margin:0 0 4px;padding:10px}.modal fieldset legend{color:var(--dim);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;padding:0 6px}.cfgrow{gap:var(--space-3);flex-wrap:wrap;align-items:center;margin-bottom:6px;display:flex}.cfgrow input{background:var(--bg-darkest);border:1px solid var(--bg-light);border-radius:var(--radius-md);color:var(--fg);font-size:var(--text-sm);flex:1;min-width:0;padding:5px 8px}.cfgrow select{background:var(--bg-darkest);border:1px solid var(--bg-light);border-radius:var(--radius-md);color:var(--fg);font-size:var(--text-sm);padding:5px 8px}.cfgrow .cfgname{width:90px;color:var(--warn);flex:none;font-weight:600}.cfgrow .cfgkeys{gap:var(--space-2);flex-direction:column;flex-basis:100%;padding-left:96px;display:flex}.cfgrow .cfgkeyrow{gap:var(--space-2);align-items:center;display:flex}.cfgrow .cfgkeyrow input{flex:1}.cfgrow .cfgkeyrow button,.cfgrow .cfgkeys>button{flex:none}.cfgrow .cfgkeys>button{align-self:flex-start}.cfgrow button{background:var(--bg-mid);border:1px solid var(--bg-light);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);padding:4px 8px}.cfgrow button:hover{background:var(--bg-light)}.cfgrow button.danger{background:var(--err);border-color:var(--err);color:#fff}.cfggrid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.cfggrid label,.cfgcol label{gap:var(--space-2);color:var(--dim);font-size:var(--text-xs);flex-direction:column;display:flex}.cfggrid input{background:var(--bg-darkest);border:1px solid var(--bg-light);border-radius:var(--radius-md);color:var(--fg);width:100%;padding:5px 8px}.cfgcol{margin-bottom:8px}.cfgcol textarea{background:var(--bg-darkest);border:1px solid var(--bg-light);border-radius:var(--radius-md);color:var(--fg);font:inherit;font-size:var(--text-sm);width:100%;margin-top:4px;padding:5px 8px}.presetbtn{background:var(--bg-light);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);border:1px solid #0000;flex:1;padding:7px 10px}.presetbtn.active{background:var(--acc);color:#fff}.wizmodels{gap:var(--space-1);border:1px solid var(--bg-light);border-radius:var(--radius-md);background:var(--bg-darkest);flex-direction:column;max-height:190px;padding:4px;display:flex;overflow-y:auto}.wizmodel{align-items:baseline;gap:var(--space-4);text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--fg);cursor:pointer;font-size:var(--text-sm);background:0 0;border:1px solid #0000;padding:4px 7px;display:flex}.wizmodel:hover{background:var(--bg-light)}.wizmodel.active{border-color:var(--acc)}.wizmodel .muted{font-size:var(--text-xs);white-space:nowrap;margin-left:auto}.forkchip{align-items:center;gap:var(--space-2);white-space:nowrap;color:var(--dim);font-size:var(--text-xs);cursor:pointer;display:flex}.dirlist{background:var(--bg-darkest);border-radius:var(--radius-md);height:220px;padding:4px;overflow-y:auto}.direntry{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-md);padding:4px 8px}.direntry:hover{background:var(--bg-light)}.filepreview{border-radius:var(--radius-lg);max-height:62vh;overflow:hidden auto}.filepreview pre,.filepreview code{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;margin:0}.filepreview .shiki,.filepreview .shiki pre,.filepreview .shiki code,.filepreview pre.shiki,.filepreview code.shiki{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-width:100%;overflow-x:hidden}.filepreview .shiki code,.filepreview code.shiki{width:auto;min-width:0;display:block}.filepreview .shiki code .line,.filepreview code.shiki .line{overflow-wrap:anywhere;word-break:break-word;display:inline}.filetoolbar{gap:var(--space-3);margin-bottom:8px;display:flex}.filetoolbar button{background:var(--bg-light);color:var(--dim);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);border:none;padding:4px 12px}.filetoolbar button:hover{color:var(--fg);filter:brightness(1.15)}.filetoolbar button.on{background:var(--acc);color:#fff;font-weight:600}.fileeditor{gap:var(--space-4);flex-direction:column;display:flex}.fileeditor textarea{background:var(--bg-darkest);min-height:55vh;max-height:65vh;color:var(--fg);border:1px solid var(--bg-light);border-radius:var(--radius-lg);font-size:var(--text-sm);white-space:pre;padding:10px;line-height:1.45;overflow:auto}.filerow-actions{justify-content:flex-end;align-items:center;gap:var(--space-5);display:flex}.savebtn{background:var(--ok);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--text-sm);border:none;padding:5px 14px}.savebtn:disabled{opacity:.4;cursor:default}.primarybtn{background:var(--acc);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--text-sm);border:none;padding:5px 14px}.primarybtn:disabled{opacity:.4;cursor:default}.okbtn{background:var(--ok);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--text-sm);border:none;padding:5px 14px}.okbtn:disabled{opacity:.4;cursor:default}.mdpreview{background:var(--bg-darkest);border-radius:var(--radius-lg);max-height:62vh;padding:14px 16px;overflow:auto}.filepreview .shiki,.filepreview .shiki span,.toolbody.shiki,.toolbody.shiki span{color:var(--shiki-light);font-family:ui-monospace,Menlo,monospace;font-size:var(--text-sm)}html[data-appearance=dark] .filepreview .shiki,html[data-appearance=dark] .filepreview .shiki span,html[data-appearance=dark] .toolbody.shiki,html[data-appearance=dark] .toolbody.shiki span{color:var(--shiki-dark)}.filepreview .shiki,.toolbody.ansi{color:var(--fg)}.toolbody.ansi .ansi-bold{font-weight:700}.toolbody.ansi .ansi-dim{opacity:.72}.toolbody.ansi .ansi-italic{font-style:italic}.toolbody.ansi .ansi-underline{text-decoration:underline}.toolbody.ansi .ansi-inverse{background:var(--fg);color:var(--bg-darkest)}.toolbody.ansi .ansi-fg-black{color:var(--dim)}.toolbody.ansi .ansi-fg-red{color:var(--err)}.toolbody.ansi .ansi-fg-green{color:var(--ok)}.toolbody.ansi .ansi-fg-yellow{color:var(--warn)}.toolbody.ansi .ansi-fg-blue{color:var(--acc)}.toolbody.ansi .ansi-fg-magenta{color:color-mix(in srgb, var(--acc) 55%, var(--err))}.toolbody.ansi .ansi-fg-cyan{color:var(--tool)}.toolbody.ansi .ansi-fg-white{color:var(--fg)}.toolbody.ansi .ansi-fg-bright-black{color:var(--dim);opacity:.85}.toolbody.ansi .ansi-fg-bright-red{color:color-mix(in srgb, var(--err) 80%, var(--fg))}.toolbody.ansi .ansi-fg-bright-green{color:color-mix(in srgb, var(--ok) 80%, var(--fg))}.toolbody.ansi .ansi-fg-bright-yellow{color:color-mix(in srgb, var(--warn) 80%, var(--fg))}.toolbody.ansi .ansi-fg-bright-blue{color:color-mix(in srgb, var(--acc) 80%, var(--fg))}.toolbody.ansi .ansi-fg-bright-magenta{color:color-mix(in srgb, var(--acc) 40%, var(--err))}.toolbody.ansi .ansi-fg-bright-cyan{color:color-mix(in srgb, var(--tool) 80%, var(--fg))}.toolbody.ansi .ansi-fg-bright-white{color:var(--fg);font-weight:600}.toolbody.ansi .ansi-fg-ext{color:var(--acc)}.toolbody.ansi .ansi-bg-black{background:color-mix(in srgb, var(--bg-darkest) 80%, transparent)}.toolbody.ansi .ansi-bg-red{background:color-mix(in srgb, var(--err) 22%, transparent)}.toolbody.ansi .ansi-bg-green{background:color-mix(in srgb, var(--ok) 22%, transparent)}.toolbody.ansi .ansi-bg-yellow{background:color-mix(in srgb, var(--warn) 22%, transparent)}.toolbody.ansi .ansi-bg-blue{background:color-mix(in srgb, var(--acc) 22%, transparent)}.toolbody.ansi .ansi-bg-magenta{background:color-mix(in srgb, var(--acc) 16%, transparent)}.toolbody.ansi .ansi-bg-cyan{background:color-mix(in srgb, var(--tool) 22%, transparent)}.toolbody.ansi .ansi-bg-white{background:color-mix(in srgb, var(--fg) 18%, transparent)}.toolbody.ansi .ansi-bg-bright-black{background:color-mix(in srgb, var(--fg) 12%, transparent)}.toolbody.ansi .ansi-bg-bright-red{background:color-mix(in srgb, var(--err) 32%, transparent)}.toolbody.ansi .ansi-bg-bright-green{background:color-mix(in srgb, var(--ok) 32%, transparent)}.toolbody.ansi .ansi-bg-bright-yellow{background:color-mix(in srgb, var(--warn) 32%, transparent)}.toolbody.ansi .ansi-bg-bright-blue{background:color-mix(in srgb, var(--acc) 32%, transparent)}.toolbody.ansi .ansi-bg-bright-magenta{background:color-mix(in srgb, var(--acc) 26%, transparent)}.toolbody.ansi .ansi-bg-bright-cyan{background:color-mix(in srgb, var(--tool) 32%, transparent)}.toolbody.ansi .ansi-bg-bright-white{background:color-mix(in srgb, var(--fg) 26%, transparent)}.toolbody.ansi .ansi-bg-ext{background:color-mix(in srgb, var(--acc) 22%, transparent)}.toolbody.shiki{font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;margin:0;padding:10px 12px}.toolbody.shiki pre.shiki,.toolbody.shiki pre.shiki code{font-size:inherit;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:0 0;min-width:0;max-width:100%;margin:0;padding:0}.toolbody.shiki pre.shiki code .line{display:inline}.filepreview .shiki,.filepreview pre.shiki{background-color:#0000!important}.filepreview{background:var(--bg-darkest)}html[data-appearance=light] .filepreview .shiki{background-color:#0000!important}html[data-appearance=light] .filepreview{background:var(--bg-light)}.notifbtn{position:relative}.notifbtn.has-unread{color:var(--acc)}.notifdot{background:var(--err);color:#fff;border-radius:var(--radius-pill);font-size:var(--text-xs);padding:2px 4px;font-style:normal;font-weight:700;line-height:1;position:absolute;top:-4px;right:-4px}.brand-row{align-items:center;margin-top:2px;display:flex}.notifbackdrop{z-index:7;position:fixed;inset:0}.notifpanel{z-index:8;background:var(--bg-mid);border:1px solid var(--bg-light);border-radius:var(--radius-lg);width:min(360px,88vw);position:absolute;bottom:8px;left:8px;overflow:hidden;box-shadow:0 8px 30px #000a}.notifhead{border-bottom:1px solid var(--line);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--dim);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.notiflist{max-height:46vh;overflow-y:auto}.notifitem{border-bottom:1px solid var(--line);cursor:pointer;padding:8px 12px}.notifitem:last-child{border-bottom:none}.notifitem:hover{background:var(--bg-light)}.notifitem .nhead{align-items:baseline;gap:var(--space-3);min-width:0;display:flex}.notifitem .ntitle{font-weight:600;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.notifitem.error .ntitle{color:var(--err)}.notifitem.finish .ntitle{color:var(--ok)}.notifitem.question .ntitle{color:var(--acc)}.notifitem .nbody{font-size:var(--text-xs);color:var(--dim);word-break:break-word;margin-top:3px}.subcount{font-size:var(--text-xs);color:var(--dim);background:var(--bg-light);border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;padding:1px 7px}.subcount.live{color:var(--ok)}.mediapreview{gap:var(--space-4);flex-direction:column;align-items:center;display:flex}.mediapreview img{border-radius:var(--radius-lg);background:var(--bg-darkest);max-width:100%;max-height:65vh}.mediapreview video{border-radius:var(--radius-lg);background:#000;max-width:100%;max-height:65vh}.mediapreview audio{width:100%}.composer{flex-direction:column;display:flex}.composer .hint{flex-shrink:0}.composer.maximized{z-index:5;background-color:var(--bg-light);padding:16px 16px 18px;position:absolute;inset:0}.composer.maximized:before{content:"";background:var(--bg-light);z-index:-1;position:absolute;inset:0}.composer.maximized form{flex:1;align-items:stretch;min-height:0}.composer.maximized textarea{resize:none;flex:1;max-height:none;height:auto!important}.composer.maximized .maxbtn,.composer.maximized form>button[type=submit]{align-self:flex-end}.maxbtn{font-size:var(--text-xs);justify-content:center;align-items:center;line-height:1;display:inline-flex;padding:0!important}.filerow.gitignored .fname,.filerow.gitignored .ficon,.filerow.gitignored .fsize{opacity:.38}.embed.compaction{border-left-color:var(--tool)}.embed.compaction summary .meta{color:var(--tool)}.tone-you{--author:#faa81a}.tone-agent{--author:#5865f2}.tone-progress,.tone-harness{--author:#3ba55d}.tone-tool{--author:#3ba0c9}.avatar.avghost{background:color-mix(in srgb, var(--author,var(--bg-mid)) 20%, transparent);border:1px solid color-mix(in srgb, var(--author,var(--line)) 40%, transparent)}.avatar.avghost.ghosted{background:0 0;border-color:#0000}.author{color:var(--author,var(--fg))}.avatar.ghosted{transition:background-color .15s,border-color .15s}.grouptime{display:none}.notifitem{opacity:1}.notifitem.read{opacity:.55}.notifitem.read .ntitle{font-weight:400}.nreadbtn{font-size:var(--text-xs);flex-shrink:0;width:auto;padding:0 6px}.flash-target{outline:2px solid var(--acc);border-radius:var(--radius-lg);transition:outline-color .6s}.msg.flash-target{background:color-mix(in srgb, var(--acc) 12%, transparent)}.agent-item .ghost{opacity:.55}.ghosttag{font-size:var(--text-xs);flex-shrink:0}.filetoggle{text-align:center;flex-shrink:0;width:26px;padding:0}h3 .filetoggle{margin-left:0}.notifbadge{font-size:var(--text-xs);color:var(--acc);background:var(--bg-light);border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:1px 6px}.agent-item.sel .notifbadge{background:var(--bg-darkest)}input[type=checkbox]{background-color:var(--bg-darkest);border:1px solid var(--line-strong);border-radius:var(--radius-sm)}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.modal>button,.modal button:not(.iconbtn):not([class]){background:var(--bg-light);color:var(--fg);border:1px solid var(--dim);border-radius:var(--radius-md);font:inherit;cursor:pointer;padding:6px 10px}.modal>button:hover,.modal button:not(.iconbtn):not([class]):hover{background:var(--bg-mid);border-color:var(--acc)}.modal>button:focus-visible,.modal button:not(.iconbtn):not([class]):focus-visible{outline:2px solid var(--acc);outline-offset:1px}.todopane,.todopane-edit{box-sizing:border-box;border-radius:var(--radius-md);background:var(--bg-darkest);width:100%;height:11.5em;min-height:7em;max-height:40vh;color:var(--fg);font-size:var(--text-sm);resize:vertical;border:none;padding:6px 8px;line-height:1.45;display:block;overflow-y:auto}.todopane-edit{font-family:ui-monospace,Menlo,monospace}html[data-bg-image=on]{--surface-alpha-darkest:max(.35, calc(var(--surface-alpha,.82) - .12));--surface-alpha-dark:var(--surface-alpha,.82);--surface-alpha-mid:min(1, calc(var(--surface-alpha,.82) + .06));--surface-alpha-light:min(1, calc(var(--surface-alpha,.82) + .12));--surface-alpha-tool:max(.35, calc(var(--surface-alpha,.82) - .2));--surface-alpha-composer:max(.35, calc(var(--surface-alpha,.82) - .43));--bg-darkest:color-mix(in srgb, var(--bg-darkest-solid,#1a1c22) calc(var(--surface-alpha-darkest) * 100%), transparent);--bg-dark:color-mix(in srgb, var(--bg-dark-solid,#232630) calc(var(--surface-alpha-dark) * 100%), transparent);--bg-mid:color-mix(in srgb, var(--bg-mid-solid,#2b2e39) calc(var(--surface-alpha-mid) * 100%), transparent);--bg-light:color-mix(in srgb, var(--bg-light-solid,#343845) calc(var(--surface-alpha-light) * 100%), transparent)}html[data-bg-image=on] .sidebar,html[data-bg-image=on] .rightbar,html[data-bg-image=on] .chan-head{background-color:color-mix(in srgb, var(--bg-dark-solid,#232630) calc(min(1, var(--surface-alpha,.82) - .05) * 100%), transparent)}html[data-bg-image=on] .modal{background-color:color-mix(in srgb, var(--bg-mid-solid,#2b2e39) calc(min(1, var(--surface-alpha,.82) + .05) * 100%), transparent)}.modal{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}html[data-bg-image=on] .embed,html[data-bg-image=on] .content pre,html[data-bg-image=on] .content code,html[data-bg-image=on] .content thead,html[data-bg-image=on] .content th,html[data-bg-image=on] .card,html[data-bg-image=on] .mcpresult{background-image:none}html[data-bg-image=on] .content pre code{background:0 0;padding:0}html[data-bg-image=on] .bgpreview{background-color:var(--bg-mid)}html[data-bg-image=on] .bgpreview img{background-color:var(--bg-darkest-solid,var(--bg-darkest))}.mcptools-wrap{margin-top:3px}.mcptools-wrap>summary{cursor:pointer;color:var(--dim);font-size:11px}.mcptools-wrap>summary:hover{color:var(--fg)}.feedloading{justify-content:center;align-items:center;gap:var(--space-3);color:var(--dim);font-size:var(--text-xs);padding:8px 0 4px;display:flex}.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}