teapot-coding-agent 0.37.54 → 0.37.55

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
  *
@@ -1280,6 +1335,24 @@ export const TOOLS = [
1280
1335
  const p = safeJoin(ctx.cwd, str(args.path));
1281
1336
  let text;
1282
1337
  try {
1338
+ /**
1339
+ * Refuse a BINARY file instead of decoding it as UTF-8.
1340
+ *
1341
+ * `readText` has no notion of encoding, so `read_file` on an image returned the raw bytes as
1342
+ * a lossy string — reported as "画像をread_fileしてバイナリが帰ってきてる". The model then pays
1343
+ * for mojibake it cannot interpret and has no way to tell "this is data" from "this is
1344
+ * source". Naming the likely type (PNG/JPEG/PDF/ELF/zip) is what lets it choose the right
1345
+ * next step instead of retrying the same read.
1346
+ */
1347
+ const probe = await looksBinary(p);
1348
+ if (probe.binary) {
1349
+ return {
1350
+ ok: false,
1351
+ result: `${str(args.path)} is a ${probe.kind} (${probe.bytes} bytes), not text — read_file returns ` +
1352
+ `file CONTENT, so binary data would arrive as unreadable bytes. Use bash (file, identify, ` +
1353
+ `xxd) to inspect it, or a tool that handles this format.`,
1354
+ };
1355
+ }
1283
1356
  text = await readText(p);
1284
1357
  }
1285
1358
  catch (err) {
@@ -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.55",
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}