volute 0.19.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/README.md +68 -68
  2. package/dist/activity-events-3WHHCOBB.js +15 -0
  3. package/dist/{archive-ZCFOSTKB.js → archive-4ZQYK5MN.js} +4 -2
  4. package/dist/auth-HM2RSPY7.js +37 -0
  5. package/dist/{channel-PUQKGSQM.js → channel-BOOMFULW.js} +2 -2
  6. package/dist/{chunk-OTWLI7F4.js → chunk-5462YKWP.js} +12 -9
  7. package/dist/{chunk-2TJGRJ4O.js → chunk-7LPTHFIL.js} +64 -59
  8. package/dist/chunk-A4S7H6G6.js +56 -0
  9. package/dist/chunk-AKPFNL7L.js +148 -0
  10. package/dist/{chunk-EBGCNDMM.js → chunk-B2CPS4QU.js} +128 -114
  11. package/dist/{chunk-FCDU5BFX.js → chunk-HFCBO2GL.js} +2 -2
  12. package/dist/chunk-HGCDWKSP.js +97 -0
  13. package/dist/{chunk-DYZGP3EW.js → chunk-IPJXU366.js} +1 -1
  14. package/dist/{chunk-VE4D3GOP.js → chunk-J5A3DF2U.js} +2 -2
  15. package/dist/{chunk-WC6ZHVRL.js → chunk-KFI7TQJ6.js} +2 -2
  16. package/dist/{chunk-AW7P4EVV.js → chunk-KTJGZ7M7.js} +55 -7
  17. package/dist/{chunk-4KPUF5JD.js → chunk-L3LHXZD7.js} +18 -5
  18. package/dist/{chunk-OGXOMR65.js → chunk-NWPT4ASZ.js} +1 -1
  19. package/dist/{chunk-FGV2H4TX.js → chunk-OGZYB5GL.js} +312 -268
  20. package/dist/{chunk-SCUDS4US.js → chunk-ON3FF5JA.js} +1 -1
  21. package/dist/{chunk-EMQSAY3B.js → chunk-PC6R6UUW.js} +6 -5
  22. package/dist/{chunk-VDWCHYTS.js → chunk-PHU4DEAJ.js} +1 -1
  23. package/dist/{chunk-7NO7EV5Z.js → chunk-Q7AITQ44.js} +2 -2
  24. package/dist/{chunk-32VR2EOH.js → chunk-QUJUKM4U.js} +2 -2
  25. package/dist/{chunk-VQWDC6UK.js → chunk-SGPEZ32F.js} +46 -1
  26. package/dist/{chunk-RHEGSQFJ.js → chunk-WSLPZF72.js} +1 -1
  27. package/dist/cli.js +59 -111
  28. package/dist/{connector-JBVNZ7VK.js → connector-PYT5UOTZ.js} +6 -6
  29. package/dist/connectors/discord.js +2 -2
  30. package/dist/connectors/slack.js +2 -2
  31. package/dist/connectors/telegram.js +2 -2
  32. package/dist/{create-HP4OVVHF.js → create-WIDA3M4C.js} +1 -1
  33. package/dist/{daemon-client-ITWUCNFO.js → daemon-client-ZHCDL4RS.js} +2 -2
  34. package/dist/{daemon-restart-JMZM3QY4.js → daemon-restart-BH67ZOTE.js} +8 -8
  35. package/dist/daemon.js +2872 -1301
  36. package/dist/{delete-BSU7K3RY.js → delete-LOIANQGD.js} +1 -1
  37. package/dist/down-LIOQ5JDH.js +14 -0
  38. package/dist/{env-A3LMO777.js → env-4PHIHTF4.js} +2 -2
  39. package/dist/{export-GCDNQCF3.js → export-XD6PJBQP.js} +19 -8
  40. package/dist/file-X4L5TTOL.js +204 -0
  41. package/dist/{history-WNK3DFUM.js → history-HTEKRNID.js} +2 -2
  42. package/dist/{import-M63VIUJ5.js → import-E433B4KG.js} +3 -3
  43. package/dist/{log-PPPZDVEF.js → log-SRO5Q6AD.js} +2 -2
  44. package/dist/{login-HNH3EUQV.js → login-UO6AOVEA.js} +4 -4
  45. package/dist/{logout-I5CB5UZS.js → logout-UKD5LA37.js} +2 -2
  46. package/dist/{logs-SF2IMJN4.js → logs-HNTNNBDW.js} +2 -2
  47. package/dist/{merge-33C237A4.js → merge-B6SYTGI7.js} +2 -2
  48. package/dist/{mind-PQ5NCPSU.js → mind-BIDOF65R.js} +27 -11
  49. package/dist/mind-activity-tracker-PGC3DBJ7.js +18 -0
  50. package/dist/{mind-manager-RVCFROAY.js → mind-manager-3V2NXX4I.js} +5 -6
  51. package/dist/{package-MYE2ZJLV.js → package-HQR52XSG.js} +1 -1
  52. package/dist/{pages-AXCOSY3P.js → pages-KQBR5TAZ.js} +6 -6
  53. package/dist/{publish-YB377JB7.js → publish-OJ4QMXVZ.js} +12 -9
  54. package/dist/{pull-XAEWQJ47.js → pull-GRQAXM2E.js} +2 -2
  55. package/dist/{register-VSPCMHKX.js → register-U2UO6TC4.js} +5 -5
  56. package/dist/registry-D2BSQ2X5.js +42 -0
  57. package/dist/{restart-IQKMCK5M.js → restart-CIDAKGG2.js} +3 -6
  58. package/dist/{schedule-LMX7GAQZ.js → schedule-NLR3LZLY.js} +27 -7
  59. package/dist/{seed-J43YDKXG.js → seed-3H2MRREW.js} +2 -2
  60. package/dist/{send-KVIZIGCE.js → send-RP2TA7SG.js} +132 -36
  61. package/dist/{service-LUR7WDO7.js → service-TVNEORO7.js} +31 -13
  62. package/dist/{setup-OH3PJUJO.js → setup-OZDYCKDI.js} +25 -34
  63. package/dist/{shared-KO35ZM44.js → shared-DCQ2UXOM.js} +4 -4
  64. package/dist/{skill-BCVNI6TV.js → skill-Q2Y6PQ3L.js} +2 -2
  65. package/dist/skills/orientation/SKILL.md +2 -2
  66. package/dist/skills/volute-mind/SKILL.md +38 -8
  67. package/dist/{sprout-VBEX63LX.js → sprout-6Z6C42YM.js} +34 -30
  68. package/dist/{start-I5JYB65M.js → start-JR6CUUWF.js} +3 -6
  69. package/dist/{status-D7E5HHBV.js → status-5XDGYHKP.js} +2 -2
  70. package/dist/{status-JCJAOXTW.js → status-LV34BG6G.js} +6 -5
  71. package/dist/{status-4ESFLGH4.js → status-Z7NAFMBI.js} +5 -5
  72. package/dist/{stop-NBVKEFQQ.js → stop-VKPGK25U.js} +2 -5
  73. package/dist/template-hash-BIMA4ILT.js +8 -0
  74. package/dist/{up-WG65SWJU.js → up-7BGDMFRT.js} +5 -5
  75. package/dist/{update-FJIHDJKM.js → update-4WT7VWHW.js} +5 -5
  76. package/dist/{update-check-MWE5AH4U.js → update-check-F5Z3ALXX.js} +2 -2
  77. package/dist/{upgrade-AIT24B5I.js → upgrade-ZEC2GGFO.js} +1 -1
  78. package/dist/{variant-63ZWO2W7.js → variant-A4I7PHXS.js} +16 -24
  79. package/dist/version-notify-TFS2U5CF.js +173 -0
  80. package/dist/web-assets/assets/index-BR3gtK3E.css +1 -0
  81. package/dist/web-assets/assets/index-CWmrZRQd.js +64 -0
  82. package/dist/web-assets/index.html +2 -2
  83. package/drizzle/0012_activity.sql +11 -0
  84. package/drizzle/meta/0012_snapshot.json +7 -0
  85. package/drizzle/meta/_journal.json +7 -0
  86. package/package.json +1 -1
  87. package/templates/_base/home/.config/routes.json +2 -2
  88. package/templates/_base/home/VOLUTE.md +1 -1
  89. package/templates/_base/src/lib/daemon-client.ts +22 -0
  90. package/templates/_base/src/lib/transparency.ts +1 -1
  91. package/templates/claude/.init/.config/routes.json +7 -1
  92. package/templates/pi/.init/.config/routes.json +7 -1
  93. package/templates/pi/src/agent.ts +11 -5
  94. package/templates/pi/src/lib/session-context-extension.ts +6 -4
  95. package/templates/pi/src/server.ts +2 -0
  96. package/dist/chunk-UJ6GHNR7.js +0 -675
  97. package/dist/chunk-Z524RFCJ.js +0 -36
  98. package/dist/db-5ZVC6MQF.js +0 -10
  99. package/dist/delivery-manager-ISTJMZDW.js +0 -16
  100. package/dist/down-ZY35KMHR.js +0 -14
  101. package/dist/schema-5BW7DFZI.js +0 -24
  102. package/dist/variants-JAGWGBXG.js +0 -26
  103. package/dist/web-assets/assets/index-BAbuRsVF.css +0 -1
  104. package/dist/web-assets/assets/index-CiQhSKi_.js +0 -63
@@ -0,0 +1,173 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ deliverMessage
4
+ } from "./chunk-OGZYB5GL.js";
5
+ import {
6
+ computeTemplateHash
7
+ } from "./chunk-AKPFNL7L.js";
8
+ import "./chunk-SGPEZ32F.js";
9
+ import {
10
+ logger_default
11
+ } from "./chunk-YUIHSKR6.js";
12
+ import {
13
+ getCurrentVersion
14
+ } from "./chunk-ON3FF5JA.js";
15
+ import {
16
+ readRegistry,
17
+ voluteHome,
18
+ writeRegistry
19
+ } from "./chunk-B2CPS4QU.js";
20
+ import "./chunk-K3NQKI34.js";
21
+
22
+ // src/lib/version-notify.ts
23
+ import { existsSync as existsSync2, readFileSync as readFileSync2, writeFileSync } from "fs";
24
+ import { resolve as resolve2 } from "path";
25
+
26
+ // src/lib/release-notes.ts
27
+ import { existsSync, readFileSync } from "fs";
28
+ import { resolve } from "path";
29
+ function parseReleaseNotes(version) {
30
+ const changelog = findChangelog();
31
+ if (!changelog) return null;
32
+ const v = version.replace(/^v/, "");
33
+ const lines = changelog.split("\n");
34
+ let startIdx = -1;
35
+ let endIdx = lines.length;
36
+ for (let i = 0; i < lines.length; i++) {
37
+ const line = lines[i];
38
+ if (line.startsWith("## ")) {
39
+ if (startIdx === -1 && line.includes(`[${v}]`)) {
40
+ startIdx = i + 1;
41
+ } else if (startIdx !== -1) {
42
+ endIdx = i;
43
+ break;
44
+ }
45
+ }
46
+ }
47
+ if (startIdx === -1) return null;
48
+ const content = lines.slice(startIdx, endIdx).join("\n").trim();
49
+ if (!content) return null;
50
+ return stripGitHubLinks(content);
51
+ }
52
+ function stripGitHubLinks(text) {
53
+ return text.replace(/ \(\[#\d+\]\([^)]*\)\)/g, "").replace(/ \(\[[a-f0-9]+\]\([^)]*\)\)/g, "").replace(/\n{3,}/g, "\n\n").trim();
54
+ }
55
+ function findChangelog() {
56
+ const thisDir = new URL(".", import.meta.url).pathname;
57
+ const candidates = [
58
+ resolve(thisDir, "../CHANGELOG.md"),
59
+ resolve(thisDir, "../../CHANGELOG.md"),
60
+ resolve(thisDir, "../../../CHANGELOG.md")
61
+ ];
62
+ for (const p of candidates) {
63
+ if (existsSync(p)) {
64
+ try {
65
+ return readFileSync(p, "utf-8");
66
+ } catch {
67
+ return null;
68
+ }
69
+ }
70
+ }
71
+ return null;
72
+ }
73
+
74
+ // src/lib/version-notify.ts
75
+ function statePath() {
76
+ return resolve2(voluteHome(), "version-notify.json");
77
+ }
78
+ function readState() {
79
+ try {
80
+ if (!existsSync2(statePath())) return null;
81
+ return JSON.parse(readFileSync2(statePath(), "utf-8"));
82
+ } catch {
83
+ return null;
84
+ }
85
+ }
86
+ function writeState(state) {
87
+ writeFileSync(statePath(), `${JSON.stringify(state, null, 2)}
88
+ `);
89
+ }
90
+ function backfillTemplateHashes() {
91
+ const entries = readRegistry();
92
+ let changed = false;
93
+ for (const entry of entries) {
94
+ if (entry.templateHash != null) continue;
95
+ if (entry.stage === "seed") continue;
96
+ const tmpl = entry.template ?? "claude";
97
+ try {
98
+ entry.templateHash = computeTemplateHash(tmpl);
99
+ changed = true;
100
+ } catch (err) {
101
+ logger_default.warn(`failed to compute template hash for ${entry.name}`, logger_default.errorData(err));
102
+ }
103
+ }
104
+ if (changed) {
105
+ writeRegistry(entries);
106
+ }
107
+ }
108
+ async function notifyVersionUpdate() {
109
+ const currentVersion = getCurrentVersion();
110
+ const state = readState();
111
+ if (!state) {
112
+ writeState({ lastNotifiedVersion: currentVersion });
113
+ return;
114
+ }
115
+ if (state.lastNotifiedVersion === currentVersion) return;
116
+ const entries = readRegistry();
117
+ const runningMinds = entries.filter((e) => e.running && e.stage !== "seed");
118
+ if (runningMinds.length === 0) {
119
+ writeState({ lastNotifiedVersion: currentVersion });
120
+ return;
121
+ }
122
+ const releaseNotes = parseReleaseNotes(currentVersion);
123
+ const templateHashes = /* @__PURE__ */ new Map();
124
+ for (const entry of runningMinds) {
125
+ const tmpl = entry.template ?? "claude";
126
+ if (!templateHashes.has(tmpl)) {
127
+ try {
128
+ templateHashes.set(tmpl, computeTemplateHash(tmpl));
129
+ } catch (err) {
130
+ logger_default.warn(`failed to compute template hash for ${tmpl}`, logger_default.errorData(err));
131
+ }
132
+ }
133
+ }
134
+ const promises = runningMinds.map(async (entry) => {
135
+ const tmpl = entry.template ?? "claude";
136
+ const currentHash = templateHashes.get(tmpl);
137
+ const needsUpgrade = entry.templateHash != null && currentHash != null && entry.templateHash !== currentHash;
138
+ const message = formatNotification(currentVersion, releaseNotes, needsUpgrade, entry.name);
139
+ await deliverMessage(entry.name, {
140
+ channel: "system:version",
141
+ sender: "volute",
142
+ content: message
143
+ });
144
+ });
145
+ const results = await Promise.allSettled(promises);
146
+ for (const result of results) {
147
+ if (result.status === "rejected") {
148
+ logger_default.warn("failed to notify mind about version update", logger_default.errorData(result.reason));
149
+ }
150
+ }
151
+ writeState({ lastNotifiedVersion: currentVersion });
152
+ }
153
+ function formatNotification(version, releaseNotes, needsUpgrade, mindName) {
154
+ let message = `Volute has been updated to v${version}.`;
155
+ if (releaseNotes) {
156
+ message += `
157
+
158
+ ${releaseNotes}`;
159
+ }
160
+ if (needsUpgrade) {
161
+ message += `
162
+
163
+ ---
164
+
165
+ A template update is available for you. To upgrade, your operator can run:
166
+ volute mind upgrade ${mindName}`;
167
+ }
168
+ return message;
169
+ }
170
+ export {
171
+ backfillTemplateHashes,
172
+ notifyVersionUpdate
173
+ };
@@ -0,0 +1 @@
1
+ .settings.svelte-4b0ckc{max-width:720px;margin:0 auto;animation:fadeIn .2s ease both}.error.svelte-4b0ckc{color:var(--red);font-size:12px;margin-bottom:16px}.loading.svelte-4b0ckc{color:var(--text-2);font-size:12px;padding:40px 0;text-align:center}.section.svelte-4b0ckc{margin-bottom:32px}.section-header.svelte-4b0ckc{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.section-title.svelte-4b0ckc{font-size:14px;font-weight:600;color:var(--text-0)}.section-subtitle.svelte-4b0ckc{font-size:11px;color:var(--text-2)}.prompt-card.svelte-4b0ckc{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:10px}.prompt-card.custom.svelte-4b0ckc{border-color:var(--yellow-dim)}.prompt-header.svelte-4b0ckc{display:flex;align-items:center;gap:8px;margin-bottom:4px}.prompt-key.svelte-4b0ckc{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--text-0)}.custom-badge.svelte-4b0ckc{font-size:10px;padding:1px 6px;border-radius:3px;background:var(--yellow-dim);color:var(--yellow)}.prompt-desc.svelte-4b0ckc{font-size:12px;color:var(--text-2);margin-bottom:8px;line-height:1.5}.var-tags.svelte-4b0ckc{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.var-tag.svelte-4b0ckc{font-family:var(--mono);font-size:10px;padding:2px 6px;border-radius:3px;background:var(--bg-3);color:var(--accent);border:1px solid var(--border)}.prompt-content.svelte-4b0ckc{background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;overflow-x:auto;font-family:var(--mono);font-size:12px;line-height:1.5;color:var(--text-1);white-space:pre-wrap;word-break:break-word;margin-bottom:8px}.prompt-content.svelte-4b0ckc code:where(.svelte-4b0ckc){font-family:inherit;font-size:inherit}.edit-area.svelte-4b0ckc{width:100%;min-height:120px;background:var(--bg-3);border:1px solid var(--accent-dim);border-radius:var(--radius);padding:10px 12px;font-family:var(--mono);font-size:13px;line-height:1.5;color:var(--text-0);resize:vertical;margin-bottom:8px}.edit-area.svelte-4b0ckc:focus{outline:none;border-color:var(--accent)}.actions.svelte-4b0ckc{display:flex;gap:6px}.btn.svelte-4b0ckc{font-family:var(--mono);font-size:11px;padding:4px 10px;border-radius:var(--radius);cursor:pointer;border:1px solid transparent;transition:opacity .15s}.btn.svelte-4b0ckc:disabled{opacity:.5;cursor:not-allowed}.btn-edit.svelte-4b0ckc{background:var(--bg-3);color:var(--text-1);border-color:var(--border)}.btn-edit.svelte-4b0ckc:hover{color:var(--text-0);border-color:var(--border-bright)}.btn-save.svelte-4b0ckc{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border)}.btn-save.svelte-4b0ckc:hover:not(:disabled){border-color:var(--accent)}.btn-cancel.svelte-4b0ckc{background:var(--bg-3);color:var(--text-2);border-color:var(--border)}.btn-cancel.svelte-4b0ckc:hover:not(:disabled){color:var(--text-1)}.btn-reset.svelte-4b0ckc{background:var(--red-bg);color:var(--red);border-color:var(--red-border)}.btn-reset.svelte-4b0ckc:hover:not(:disabled){border-color:var(--red)}.modal-overlay.svelte-b3ltw6{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .15s ease}.modal.svelte-b3ltw6{max-width:90vw;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.modal.full.svelte-b3ltw6{width:80vw;height:70vh;max-width:960px}.modal-header.svelte-b3ltw6{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:12px 16px;flex-shrink:0}.title.svelte-b3ltw6{font-size:13px;font-weight:600;color:var(--text-0)}.close-btn.svelte-b3ltw6{background:none;color:var(--text-2);font-size:14px;padding:4px 8px}.close-btn.svelte-b3ltw6:hover{color:var(--text-0)}.error.svelte-14apx5e{color:var(--red);padding:8px 12px;font-size:12px}.empty.svelte-14apx5e{color:var(--text-2);padding:24px;text-align:center;font-size:13px}.section-header.svelte-14apx5e{display:flex;align-items:center;justify-content:space-between;padding:0 0 12px}.section-title.svelte-14apx5e{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}.upload-area.svelte-14apx5e{display:flex;align-items:center;gap:8px}.file-input.svelte-14apx5e{display:none}.upload-btn.svelte-14apx5e{padding:4px 12px;font-size:11px;border-radius:var(--radius);background:var(--accent-dim);color:var(--accent);font-weight:500}.upload-btn.svelte-14apx5e:disabled{opacity:.5}.skill-list.svelte-14apx5e{display:flex;flex-direction:column}.skill-row.svelte-14apx5e{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.skill-row.svelte-14apx5e:last-child{border-bottom:none}.skill-row.svelte-14apx5e:hover{background:var(--bg-2)}.skill-info.svelte-14apx5e{flex:1;min-width:0}.skill-name.svelte-14apx5e{font-size:13px;font-weight:500;color:var(--text-0)}.skill-desc.svelte-14apx5e{font-size:12px;color:var(--text-1);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-meta.svelte-14apx5e{font-size:11px;color:var(--text-2);margin-top:2px}.skill-actions.svelte-14apx5e{display:flex;gap:4px;flex-shrink:0}.action-btn.svelte-14apx5e{padding:4px 10px;font-size:11px;border-radius:var(--radius);font-weight:500}.action-btn.svelte-14apx5e:disabled{opacity:.5}.remove-btn.svelte-14apx5e{background:var(--bg-3);color:var(--text-2)}.remove-btn.svelte-14apx5e:hover{color:var(--red)}.system-logs.svelte-y6pt47{display:flex;flex-direction:column;height:100%}.header.svelte-y6pt47{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-shrink:0}.title.svelte-y6pt47{color:var(--text-1);font-size:13px;font-weight:500}.count.svelte-y6pt47{color:var(--text-2);font-size:11px}.filter-bar.svelte-y6pt47{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-shrink:0;flex-wrap:wrap}.filter-group.svelte-y6pt47{display:flex;gap:4px;flex-wrap:wrap}.filter-sep.svelte-y6pt47{width:1px;height:16px;background:var(--border);margin:0 4px}.pill.svelte-y6pt47{padding:2px 8px;border-radius:10px;font-size:10px;font-family:var(--mono);cursor:pointer;border:1px solid transparent;transition:opacity .1s}.pill-info.svelte-y6pt47,.pill-debug.svelte-y6pt47{background:color-mix(in srgb,var(--text-2) 15%,transparent);color:var(--text-2)}.pill-warn.svelte-y6pt47{background:color-mix(in srgb,var(--yellow) 15%,transparent);color:var(--yellow)}.pill-error.svelte-y6pt47{background:color-mix(in srgb,var(--red) 15%,transparent);color:var(--red)}.pill-cat.svelte-y6pt47{background:var(--bg-3);color:var(--text-2)}.pill-clear.svelte-y6pt47{background:none;color:var(--text-2);border:1px dashed var(--border);margin-left:4px}.pill-clear.svelte-y6pt47:hover{color:var(--text-1);border-color:var(--text-2)}.pill.inactive.svelte-y6pt47{opacity:.3}.pause-bar.svelte-y6pt47{padding:6px 12px;background:var(--bg-3);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-2);flex-shrink:0}.resume-btn.svelte-y6pt47{background:var(--accent-dim);color:var(--accent);padding:2px 10px;border-radius:var(--radius);font-size:11px}.log-output.svelte-y6pt47{flex:1;overflow:auto;padding:12px;font-family:var(--mono);font-size:11px;line-height:1.7;color:var(--text-1);background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius-lg)}.waiting.svelte-y6pt47{color:var(--text-2)}.error.svelte-y6pt47{color:var(--red)}.log-line.svelte-y6pt47{animation:fadeIn .1s ease both;display:flex;gap:1ch}.ts.svelte-y6pt47{color:var(--text-2);flex-shrink:0}.level.svelte-y6pt47{flex-shrink:0;width:5ch}.cat.svelte-y6pt47{color:var(--text-2);opacity:.6;flex-shrink:0;width:12ch;overflow:hidden;text-overflow:ellipsis}.msg.svelte-y6pt47{color:var(--text-0);white-space:pre-wrap;word-break:break-word;min-width:0}.data.svelte-y6pt47{color:var(--text-2);white-space:pre-wrap;word-break:break-word}.tab-bar.svelte-1tbaq71{display:flex}.tab.svelte-1tbaq71{padding:10px 16px;background:transparent;color:var(--text-2);font-size:12px;font-weight:500;border-bottom:2px solid transparent;transition:all .15s;margin-bottom:-1px}.tab.active.svelte-1tbaq71{color:var(--accent);border-bottom-color:var(--accent)}.container.svelte-1j9xdsd{max-width:600px;animation:fadeIn .2s ease both}.header.svelte-1j9xdsd{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.title.svelte-1j9xdsd{font-size:15px;font-weight:600}.user-list.svelte-1j9xdsd{display:flex;flex-direction:column;gap:8px}.user-row.svelte-1j9xdsd{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius)}.username.svelte-1j9xdsd{color:var(--text-0);margin-right:12px}.role.svelte-1j9xdsd{font-size:11px;color:var(--text-2)}.role.admin.svelte-1j9xdsd{color:var(--accent)}.role.pending.svelte-1j9xdsd{color:var(--yellow)}.approve-btn.svelte-1j9xdsd{padding:4px 12px;background:var(--accent-dim);color:var(--accent);border-radius:var(--radius);font-size:11px;font-weight:500}.error.svelte-1j9xdsd{color:var(--red);font-size:12px;margin-bottom:12px}.empty.svelte-1j9xdsd{color:var(--text-2);text-align:center;padding:24px}.modal-header.svelte-1r58s0h{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 16px;flex-shrink:0}.close-btn.svelte-1r58s0h{background:none;color:var(--text-2);font-size:14px;padding:4px 8px}.close-btn.svelte-1r58s0h:hover{color:var(--text-0)}.modal-body.svelte-1r58s0h{flex:1;overflow:auto;padding:16px}.error.svelte-16qbe83{padding:8px 16px;font-size:12px;color:var(--red)}.channel-list.svelte-16qbe83{flex:1;overflow:auto;padding:8px}.empty.svelte-16qbe83{color:var(--text-2);font-size:12px;text-align:center;padding:20px}.channel-row.svelte-16qbe83{display:flex;align-items:center;justify-content:space-between;padding:8px;border-radius:var(--radius)}.channel-row.svelte-16qbe83:hover{background:var(--bg-2)}.channel-info.svelte-16qbe83{display:flex;flex-direction:column;gap:2px}.channel-name.svelte-16qbe83{font-size:13px;color:var(--text-0);font-weight:500}.channel-meta.svelte-16qbe83{font-size:11px;color:var(--text-2)}.action-btn.svelte-16qbe83{padding:4px 12px;font-size:11px;border-radius:var(--radius);background:var(--accent-dim);color:var(--accent);font-weight:500}.action-btn.leave.svelte-16qbe83{background:var(--bg-3);color:var(--text-2)}.create-section.svelte-16qbe83{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.name-input.svelte-16qbe83{flex:1;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;color:var(--text-0);font-size:12px;font-family:var(--mono);outline:none}.name-input.svelte-16qbe83:focus{border-color:var(--border-bright)}.create-btn.svelte-16qbe83{padding:8px 14px;background:var(--accent-dim);color:var(--accent);border-radius:var(--radius);font-size:12px;font-weight:500}.create-btn.svelte-16qbe83:disabled{opacity:.4}.badge.svelte-w1qana{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--radius);font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.dot.svelte-w1qana{width:5px;height:5px;border-radius:50%}.dot.iridescent.svelte-w1qana{animation:svelte-w1qana-iridescent 3s ease-in-out infinite}@keyframes svelte-w1qana-iridescent{0%{background:#4ade80}16%{background:#60a5fa}33%{background:#c084fc}50%{background:#f472b6}66%{background:#fbbf24}83%{background:#34d399}to{background:#4ade80}}.members-panel.svelte-488b49{display:flex;flex-direction:column;height:100%;background:var(--bg-1);border-left:1px solid var(--border);width:280px;flex-shrink:0;overflow:hidden}.panel-header.svelte-488b49{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.panel-title.svelte-488b49{font-size:13px;font-weight:600;color:var(--text-0)}.member-count.svelte-488b49{font-size:11px;color:var(--text-2)}.panel-body.svelte-488b49{flex:1;overflow:auto;padding:12px 0}.invite-section.svelte-488b49{padding:0 12px 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.invite-input-wrap.svelte-488b49{position:relative}.invite-input.svelte-488b49{width:100%;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;color:var(--text-0);font-size:12px;font-family:var(--mono);outline:none;box-sizing:border-box}.invite-input.svelte-488b49:focus{border-color:var(--border-bright)}.suggestions.svelte-488b49{position:absolute;top:100%;left:0;right:0;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);margin-top:4px;max-height:200px;overflow:auto;z-index:10;box-shadow:0 4px 12px #0000004d}.suggestion-row.svelte-488b49{display:flex;align-items:center;gap:8px;padding:6px 10px;width:100%;background:none;border:none;text-align:left;font-size:12px;color:var(--text-1);cursor:pointer}.suggestion-row.svelte-488b49:hover{background:var(--bg-2)}.suggestion-name.svelte-488b49{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text-0)}.invite-error.svelte-488b49{color:var(--red);font-size:11px;padding:4px 0 0}.section-title.svelte-488b49{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);padding:8px 16px 4px}.member-row.svelte-488b49{display:flex;align-items:center;gap:8px;padding:6px 16px;font-size:13px;color:var(--text-1);width:100%;background:none;border:none;text-align:left}.member-row.clickable.svelte-488b49{cursor:pointer}.member-row.clickable.svelte-488b49:hover{background:var(--bg-2)}.member-name.svelte-488b49{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text-0)}.status-dot.svelte-488b49{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.iridescent.svelte-488b49{animation:svelte-488b49-iridescent 3s ease-in-out infinite}@keyframes svelte-488b49-iridescent{0%{background:#4ade80}16%{background:#60a5fa}33%{background:#c084fc}50%{background:#f472b6}66%{background:#fbbf24}83%{background:#34d399}to{background:#4ade80}}.container.svelte-zwrylj{display:flex;align-items:center;justify-content:center;height:100%;padding:24px}.card.svelte-zwrylj{width:320px;padding:32px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg)}.branding.svelte-zwrylj{margin-bottom:24px;text-align:center}.logo.svelte-zwrylj{font-size:18px;font-weight:600;margin-bottom:4px}.accent.svelte-zwrylj{color:var(--accent)}.subtitle.svelte-zwrylj{color:var(--text-2);font-size:12px}.input.svelte-zwrylj{width:100%;padding:10px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-0);font-family:var(--mono);font-size:13px;outline:none}.input.svelte-zwrylj:focus{border-color:var(--border-bright)}.mt-8.svelte-zwrylj{margin-top:8px}.error.svelte-zwrylj{color:var(--red);font-size:12px;margin-top:8px}.submit-btn.svelte-zwrylj{width:100%;padding:10px 16px;margin-top:16px;background:var(--accent-dim);color:var(--accent);border-radius:var(--radius);font-size:13px;font-weight:500;font-family:var(--mono);border:none;cursor:pointer}.link-btn.svelte-zwrylj{background:transparent;color:var(--text-2);font-size:12px;font-family:var(--mono);border:none;cursor:pointer;padding:0}.toggle.svelte-zwrylj{margin-top:16px;text-align:center}.pending-msg.svelte-zwrylj{color:var(--yellow);margin-bottom:16px}.home.svelte-1egy5tu{max-width:800px;animation:fadeIn .2s ease both}.section.svelte-1egy5tu{margin-bottom:24px}.section-header.svelte-1egy5tu{display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.section-title.svelte-1egy5tu{color:var(--text-2)}.empty-hint.svelte-1egy5tu{color:var(--text-2);font-size:12px}.code-hint.svelte-1egy5tu{color:var(--text-1)}.mind-row.svelte-1egy5tu{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.home-mind-card.svelte-1egy5tu{display:flex;flex-direction:column;gap:6px;padding:10px 14px;border-radius:var(--radius-lg);background:var(--bg-2);border:1px solid var(--border);min-width:150px;transition:border-color .15s;flex-shrink:0;cursor:pointer;text-align:left;color:inherit;font-size:inherit}.home-mind-card.svelte-1egy5tu:hover{border-color:var(--border-bright)}.mind-card-header.svelte-1egy5tu{display:flex;align-items:center;gap:6px}.mind-name.svelte-1egy5tu{color:var(--text-0);font-weight:500;font-size:13px}.seed-tag.svelte-1egy5tu{font-size:9px;color:var(--yellow)}.channel-row.svelte-1egy5tu{display:flex;gap:4px;flex-wrap:wrap}.channel-chip.svelte-1egy5tu{font-size:10px;padding:1px 5px;border-radius:3px;background:var(--accent-dim);color:var(--accent)}.mind-activity.svelte-1egy5tu{font-size:10px;color:var(--text-2)}.timeline.svelte-1egy5tu{display:flex;flex-direction:column}.timeline-row.svelte-1egy5tu{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--radius-lg);background:none;border:none;cursor:pointer;text-align:left;color:inherit;font-size:12px;transition:background .12s;width:100%}.timeline-row.svelte-1egy5tu:hover{background:var(--bg-2)}.timeline-dot.svelte-1egy5tu{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--text-2)}.dot-started.svelte-1egy5tu{background:var(--accent)}.dot-stopped.svelte-1egy5tu{background:var(--text-2)}.dot-active.svelte-1egy5tu{background:var(--accent)}.dot-idle.svelte-1egy5tu{background:var(--text-2)}.dot-page.svelte-1egy5tu{background:var(--yellow)}.dot-message.svelte-1egy5tu{background:var(--blue, var(--accent))}.timeline-text.svelte-1egy5tu{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-1)}.timeline-text.svelte-1egy5tu .conv-label:where(.svelte-1egy5tu){color:var(--text-0);font-weight:500}.timeline-time.svelte-1egy5tu{color:var(--text-2);font-size:10px;flex-shrink:0}.thumbnail-card.svelte-15o3gk6{display:flex;flex-direction:column;gap:6px;background:none;cursor:pointer;text-align:left;color:inherit;padding:0}.thumbnail-frame.svelte-15o3gk6{width:280px;height:180px;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-0);transition:border-color .15s}.thumbnail-card.svelte-15o3gk6:hover .thumbnail-frame:where(.svelte-15o3gk6){border-color:var(--border-bright)}iframe.svelte-15o3gk6{width:1280px;height:960px;transform:scale(.219);transform-origin:top left;pointer-events:none;border:none;background:#fff}.thumbnail-label.svelte-15o3gk6{font-size:12px;font-weight:500;color:var(--text-0);padding:0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.thumbnail-sublabel.svelte-15o3gk6{font-size:10px;color:var(--text-2);padding:0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.dashboard.svelte-pd71n3{max-width:1200px;animation:fadeIn .2s ease both}.section.svelte-pd71n3{margin-bottom:24px}.section-header.svelte-pd71n3{font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.section-title.svelte-pd71n3{color:var(--text-2)}.thumbnail-grid.svelte-pd71n3{display:flex;flex-wrap:wrap;gap:16px}.empty.svelte-pd71n3{color:var(--text-2);font-size:12px}.site-view.svelte-s0ylih{max-width:1200px;animation:fadeIn .2s ease both}.site-header.svelte-s0ylih{display:flex;align-items:baseline;gap:8px;margin-bottom:16px}.site-name.svelte-s0ylih{font-size:16px;font-weight:500;color:var(--text-0)}.page-count.svelte-s0ylih{font-size:11px;color:var(--text-2)}.thumbnail-grid.svelte-s0ylih{display:flex;flex-wrap:wrap;gap:16px}.empty.svelte-s0ylih{color:var(--text-2);font-size:12px}.hover-wrapper.svelte-16mitnt{display:flex;align-items:center;gap:8px}.hover-card.svelte-16mitnt{position:fixed;z-index:100;display:flex;gap:10px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0000004d;white-space:nowrap;pointer-events:none}.avatar.svelte-16mitnt{width:64px;height:64px;border-radius:var(--radius);object-fit:cover;flex-shrink:0}.info.svelte-16mitnt{display:flex;flex-direction:column;gap:2px;min-width:0}.name-row.svelte-16mitnt{display:flex;align-items:center;gap:6px}.display-name.svelte-16mitnt{font-size:13px;font-weight:600;color:var(--text-0)}.description.svelte-16mitnt{font-size:11px;color:var(--text-1);white-space:normal;max-width:220px;margin-top:2px}.meta.svelte-16mitnt{font-size:10px;color:var(--text-2);margin-top:2px}.chat.svelte-6z343n{display:flex;flex-direction:column;height:100%;padding:0 16px}.orientation-bar.svelte-6z343n{padding:6px 12px;text-align:center;color:var(--yellow);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;opacity:.6;border-bottom:1px solid var(--yellow-bg)}.channel-header.svelte-6z343n{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.channel-title.svelte-6z343n{font-size:13px;font-weight:600;color:var(--text-0)}.channel-members.svelte-6z343n{font-size:11px;color:var(--text-2);flex:1}.messages.svelte-6z343n{flex:1;overflow:auto;padding:16px 0}.empty.svelte-6z343n{color:var(--text-2);text-align:center;padding:40px;font-size:13px}.error.svelte-6z343n{color:var(--red)}.entry.svelte-6z343n{padding:2px 0;animation:fadeIn .2s ease both}.entry.new-sender.svelte-6z343n{margin-top:12px}.entry-header.svelte-6z343n{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.sender.svelte-6z343n{font-size:13px;font-weight:600}.sender-link.svelte-6z343n{background:none;border:none;padding:0;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.sender-link.svelte-6z343n:hover{text-decoration:underline}.timestamp.svelte-6z343n{font-size:11px;color:var(--text-2)}.entry-content.svelte-6z343n{min-width:0}.user-text.svelte-6z343n{color:var(--text-0);white-space:pre-wrap}.chat-image.svelte-6z343n{max-width:300px;max-height:200px;border-radius:var(--radius);margin-top:4px}.divider.svelte-6z343n{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-2);font-size:11px;letter-spacing:.03em}.divider-line.svelte-6z343n{flex:1;height:1px;background:var(--border)}.tool-block.svelte-6z343n{margin-bottom:8px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-size:12px}.tool-header.svelte-6z343n{width:100%;display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg-3);font-size:12px;font-family:var(--mono);text-align:left}.tool-label.svelte-6z343n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.tool-arrow.svelte-6z343n{color:var(--text-2);margin-right:6px}.tool-status.svelte-6z343n{color:var(--accent);font-size:10px;flex-shrink:0;margin-left:8px}.tool-status.error.svelte-6z343n{color:var(--red)}.tool-detail.svelte-6z343n{padding:10px;background:var(--bg-1)}.tool-section-label.svelte-6z343n{margin-bottom:6px;color:var(--text-2)}.tool-pre.svelte-6z343n{color:var(--text-1);white-space:pre-wrap;word-break:break-all;font-size:11px;line-height:1.5}.tool-output.svelte-6z343n{max-height:200px;overflow:auto}.tool-output.error.svelte-6z343n{color:var(--red)}.image-strip.svelte-6z343n{display:flex;gap:8px;padding:8px 0;border-top:1px solid var(--border);overflow-x:auto}.image-preview.svelte-6z343n{position:relative;flex-shrink:0}.preview-thumb.svelte-6z343n{height:60px;border-radius:var(--radius);border:1px solid var(--border)}.remove-image.svelte-6z343n{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--bg-3);color:var(--text-1);font-size:11px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);cursor:pointer;padding:0}.typing.svelte-6z343n{padding:4px 0;font-size:12px;color:var(--text-2);animation:pulse 1.5s ease infinite}.input-area.svelte-6z343n{border-top:1px solid var(--border);padding:12px 0 0;display:flex;gap:8px}.attach-btn.svelte-6z343n{padding:0 10px;background:var(--bg-2);color:var(--text-1);border-radius:var(--radius);font-size:16px;border:1px solid var(--border);cursor:pointer;flex-shrink:0}.chat-input.svelte-6z343n{flex:1;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;color:var(--text-0);font-family:var(--mono);font-size:13px;resize:none;outline:none;overflow:hidden;transition:border-color .15s}.chat-input.svelte-6z343n:focus{border-color:var(--border-bright)}.send-btn.svelte-6z343n{padding:0 16px;background:var(--bg-3);color:var(--text-2);border-radius:var(--radius);font-size:12px;font-weight:500;transition:all .15s}.send-btn.active.svelte-6z343n{background:var(--accent-dim);color:var(--accent)}.main-frame.svelte-n1trtr{height:100%;overflow:hidden;display:flex;flex-direction:column}.frame-content.svelte-n1trtr{flex:1;overflow:auto;min-height:0}.frame-content.padded.svelte-n1trtr{padding:24px}.breadcrumbs.svelte-n1trtr{display:flex;align-items:center;gap:6px;padding:8px 16px;font-family:var(--font-mono, monospace);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);border-bottom:1px solid var(--border);flex-shrink:0}.breadcrumb-link.svelte-n1trtr{background:none;border:none;padding:0;font:inherit;text-transform:inherit;letter-spacing:inherit;color:var(--text-1);cursor:pointer}.breadcrumb-link.svelte-n1trtr:hover{color:var(--accent)}.breadcrumb-sep.svelte-n1trtr,.breadcrumb-current.svelte-n1trtr{color:var(--text-2)}.page-iframe.svelte-n1trtr{width:100%;height:100%;border:none;background:#fff}.event.svelte-173x8i5{position:relative;padding:6px 8px 6px 20px;animation:fadeIn .2s ease both}.event.svelte-173x8i5:after{content:"";position:absolute;left:-2px;top:12px;bottom:-12px;width:2px;background:var(--type-color);opacity:0;transition:opacity .15s}.event.svelte-173x8i5:hover:after{opacity:1}.event.collapsible.svelte-173x8i5{cursor:pointer}.marker.svelte-173x8i5{position:absolute;left:-5px;top:12px;width:8px;height:8px;border-radius:50%;z-index:1}.event-header.svelte-173x8i5{display:flex;align-items:center;gap:8px;margin-bottom:4px}.time.svelte-173x8i5{font-size:10px;color:var(--text-2);flex-shrink:0}.type-badge.svelte-173x8i5{font-size:10px;padding:1px 6px;border-radius:12px;font-weight:500}.channel-tag.svelte-173x8i5{font-size:10px;color:var(--text-2);background:var(--bg-3);padding:1px 6px;border-radius:var(--radius)}.chevron.svelte-173x8i5{font-size:9px;color:var(--text-2)}.event-body.svelte-173x8i5{font-size:13px;line-height:1.6}.sender.svelte-173x8i5{font-size:11px;font-weight:600;text-transform:uppercase;margin-right:8px}.sender.inbound.svelte-173x8i5{color:var(--blue)}.sender.outbound.svelte-173x8i5{color:var(--accent)}.user-text.svelte-173x8i5{display:inline;white-space:pre-wrap;color:var(--text-0)}.summary.svelte-173x8i5{font-size:12px;color:var(--text-1)}.summary.error.svelte-173x8i5{color:var(--red)}.dim.svelte-173x8i5{color:var(--text-2)}.detail.svelte-173x8i5,.detail-text.svelte-173x8i5{margin-top:6px;font-size:11px;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;overflow-x:auto;max-height:400px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.detail.svelte-173x8i5{font-family:var(--mono)}.detail.error.svelte-173x8i5{color:var(--red);border-color:var(--red-dim)}.detail-text.svelte-173x8i5{color:var(--text-2)}.usage-line.svelte-173x8i5{font-size:12px;color:var(--purple)}.model.svelte-173x8i5{color:var(--text-2);margin-left:6px;font-size:11px}.session-id.svelte-173x8i5{font-size:11px;color:var(--text-1);font-weight:600;margin-left:4px}.filters.svelte-h6u4xu{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 0 12px;border-bottom:1px solid var(--border)}.custom-select.svelte-h6u4xu{position:relative}.select-trigger.svelte-h6u4xu{display:flex;align-items:center;gap:6px;background:var(--bg-2);color:var(--text-1);border:1px solid var(--border);border-radius:var(--radius);padding:4px 8px 4px 10px;font-size:12px;font-family:var(--mono);cursor:pointer;transition:border-color .15s,color .15s;min-width:120px;text-align:left}.select-trigger.svelte-h6u4xu:hover{border-color:var(--border-bright);color:var(--text-0)}.custom-select.open.svelte-h6u4xu .select-trigger:where(.svelte-h6u4xu){border-color:var(--border-bright);color:var(--text-0)}.select-value.svelte-h6u4xu{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-arrow.svelte-h6u4xu{font-size:10px;color:var(--text-2);flex-shrink:0}.select-menu.svelte-h6u4xu{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;max-height:240px;overflow-y:auto;background:var(--bg-2);border:1px solid var(--border-bright);border-radius:var(--radius);z-index:10;box-shadow:0 4px 16px #0006}.select-option.svelte-h6u4xu{display:block;width:100%;text-align:left;padding:6px 10px;font-size:12px;font-family:var(--mono);color:var(--text-1);background:none;border:none;cursor:pointer;white-space:nowrap;transition:background .1s,color .1s}.select-option.svelte-h6u4xu:hover{background:var(--bg-3);color:var(--text-0)}.select-option.selected.svelte-h6u4xu{color:var(--accent)}.option-meta.svelte-h6u4xu{color:var(--text-2);margin-left:6px}.types-menu.svelte-h6u4xu{min-width:140px}.types-actions.svelte-h6u4xu{display:flex;gap:4px;padding:4px 8px;border-bottom:1px solid var(--border)}.types-action.svelte-h6u4xu{font-size:10px;font-family:var(--mono);color:var(--text-2);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:var(--radius)}.types-action.svelte-h6u4xu:hover{color:var(--text-1);background:var(--bg-3)}.type-option.svelte-h6u4xu{display:flex;align-items:center;gap:8px}.type-dot.svelte-h6u4xu{width:6px;height:6px;border-radius:50%;flex-shrink:0;transition:background .15s}.live-pill.svelte-h6u4xu{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;cursor:pointer;border:1px solid var(--border);background:var(--bg-3);color:var(--text-2);font-family:var(--mono);transition:all .15s}.live-pill.svelte-h6u4xu:hover{border-color:var(--border-bright);color:var(--text-1)}.live-pill.active.svelte-h6u4xu{border-color:var(--accent-border);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--text-0)}.live-dot.svelte-h6u4xu{width:6px;height:6px;border-radius:50%;background:var(--text-2);flex-shrink:0;transition:background .15s}.live-dot.active.svelte-h6u4xu{background:var(--accent);animation:pulse 2s infinite}.divider.svelte-c707oo{display:flex;align-items:center;gap:12px;margin:20px 0 16px}.line.svelte-c707oo{flex:1;border-top:1px solid var(--border)}.label.svelte-c707oo{font-size:11px;color:var(--text-2);white-space:nowrap;display:flex;align-items:center;gap:6px}.session-id.svelte-c707oo{color:var(--text-1);font-weight:600}.sep.svelte-c707oo{color:var(--border-bright)}.history.svelte-i5te79{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.timeline.svelte-i5te79{flex:1;overflow:auto;padding-top:8px}.timeline-rail.svelte-i5te79{position:relative;padding-left:4px;margin-left:3px}.timeline-rail.svelte-i5te79:before{content:"";position:absolute;left:2px;top:0;bottom:0;width:2px;background:var(--timeline-rail)}.error.svelte-i5te79{color:var(--red);text-align:center;padding:40px;font-size:13px}.empty.svelte-i5te79{color:var(--text-2);text-align:center;padding:40px;font-size:13px}.load-older.svelte-i5te79{padding:8px 0 16px;text-align:center}.load-older-btn.svelte-i5te79{padding:4px 14px;background:var(--bg-3);color:var(--text-1);border-radius:var(--radius);font-size:11px}.loading-more.svelte-i5te79{text-align:center;color:var(--text-2);font-size:12px;padding:12px;animation:pulse 1.5s infinite}.jump-btn.svelte-i5te79{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:6px 16px;background:var(--accent-dim);color:var(--accent);border-radius:var(--radius);font-size:12px;animation:fadeIn .2s ease both;z-index:10}.empty.svelte-wh20l9{color:var(--text-2);padding:24px;text-align:center;font-size:13px}.empty.small.svelte-wh20l9{padding:12px}.error.svelte-wh20l9{color:var(--red);padding:8px 0;font-size:12px}.section.svelte-wh20l9{margin-bottom:24px}.section-title.svelte-wh20l9{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);margin-bottom:8px}.section-header.svelte-wh20l9{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.status-row.svelte-wh20l9{display:flex;align-items:center;gap:10px}.action-btn.svelte-wh20l9{padding:4px 12px;border-radius:var(--radius);font-size:11px;font-weight:500;transition:opacity .15s}.start-btn.svelte-wh20l9{background:var(--accent-dim);color:var(--accent)}.stop-btn.svelte-wh20l9{background:var(--red-dim);color:var(--red)}.setting-row.svelte-wh20l9{display:flex;align-items:center;gap:12px;padding:6px 0}.setting-label.svelte-wh20l9{width:100px;flex-shrink:0;font-size:13px;color:var(--text-1)}.setting-control.svelte-wh20l9{display:flex;align-items:center;gap:6px;flex:1}.setting-input.svelte-wh20l9{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:4px 8px;font-size:13px;color:var(--text-0);flex:1;font-family:inherit}.setting-input.narrow.svelte-wh20l9{width:80px;flex:0 0 80px}.setting-input.svelte-wh20l9:focus{border-color:var(--accent);outline:none}.setting-select.svelte-wh20l9{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:4px 8px;font-size:13px;color:var(--text-0);font-family:inherit}.setting-hint.svelte-wh20l9{font-size:12px;color:var(--text-2);flex-shrink:0}.save-btn.svelte-wh20l9{padding:4px 10px;font-size:11px;border-radius:var(--radius);background:var(--accent-dim);color:var(--accent);font-weight:500;flex-shrink:0}.save-btn.svelte-wh20l9:disabled{opacity:.5}.cancel-btn.svelte-wh20l9{padding:4px 10px;font-size:11px;border-radius:var(--radius);background:var(--bg-3);color:var(--text-2);font-weight:500;flex-shrink:0}.add-btn.svelte-wh20l9{padding:4px 12px;font-size:11px;border-radius:var(--radius);background:var(--accent-dim);color:var(--accent);font-weight:500}.env-list.svelte-wh20l9{display:flex;flex-direction:column}.env-row.svelte-wh20l9{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.env-row.svelte-wh20l9:last-child{border-bottom:none}.env-add-row.svelte-wh20l9{display:flex;align-items:center;gap:6px;padding:6px 0;margin-bottom:8px}.env-key.svelte-wh20l9{font-family:monospace;font-size:12px;color:var(--text-0);flex-shrink:0;min-width:100px;display:flex;align-items:center;gap:6px}.env-source.svelte-wh20l9{font-family:inherit;font-size:10px;padding:1px 4px;border-radius:4px;background:var(--bg-3);color:var(--text-2)}.env-value.svelte-wh20l9{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace;font-size:12px;color:var(--text-1)}.env-value.masked.svelte-wh20l9{color:var(--text-2)}.env-input.svelte-wh20l9{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:4px 8px;font-size:12px;color:var(--text-0);font-family:monospace}.env-input.key.svelte-wh20l9{width:120px;flex-shrink:0}.env-input.value.svelte-wh20l9{flex:1}.icon-btn.svelte-wh20l9{padding:2px 6px;font-size:10px;border-radius:var(--radius);background:var(--bg-3);color:var(--text-2);flex-shrink:0}.icon-btn.svelte-wh20l9:hover{color:var(--text-0)}.icon-btn.danger.svelte-wh20l9:hover{color:var(--red)}.modal-body.svelte-l4ioia{flex:1;overflow:auto;padding:8px 16px 16px}.error.svelte-l4ioia{color:var(--red);padding:8px 0;font-size:12px}.empty.svelte-l4ioia{color:var(--text-2);padding:24px;text-align:center;font-size:13px}.skill-list.svelte-l4ioia{display:flex;flex-direction:column}.skill-row.svelte-l4ioia{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.skill-row.svelte-l4ioia:last-child{border-bottom:none}.skill-info.svelte-l4ioia{flex:1;min-width:0}.skill-name.svelte-l4ioia{font-size:13px;font-weight:500;color:var(--text-0)}.skill-desc.svelte-l4ioia{font-size:12px;color:var(--text-1);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-meta.svelte-l4ioia{font-size:11px;color:var(--text-2);margin-top:2px}.skill-actions.svelte-l4ioia{flex-shrink:0}.installed-tag.svelte-l4ioia{font-size:11px;color:var(--text-2);font-style:italic}.action-btn.svelte-l4ioia{padding:4px 10px;font-size:11px;border-radius:var(--radius);font-weight:500}.action-btn.svelte-l4ioia:disabled{opacity:.5}.install-btn.svelte-l4ioia{background:var(--accent-dim);color:var(--accent)}.error.svelte-jfofjj{color:var(--red);padding:8px 0;font-size:12px}.empty.svelte-jfofjj{color:var(--text-2);padding:12px 0;font-size:13px}.section-header.svelte-jfofjj{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.section-title.svelte-jfofjj{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}.add-btn.svelte-jfofjj{padding:4px 12px;font-size:11px;border-radius:var(--radius);background:var(--accent-dim);color:var(--accent);font-weight:500}.skill-list.svelte-jfofjj{display:flex;flex-direction:column}.skill-row.svelte-jfofjj{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border)}.skill-row.svelte-jfofjj:last-child{border-bottom:none}.skill-row.svelte-jfofjj:hover{background:var(--bg-2)}.skill-info.svelte-jfofjj{flex:1;min-width:0}.skill-name.svelte-jfofjj{font-size:13px;font-weight:500;color:var(--text-0);display:flex;align-items:center;gap:8px}.skill-desc.svelte-jfofjj{font-size:12px;color:var(--text-1);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-meta.svelte-jfofjj{font-size:11px;color:var(--text-2);margin-top:2px}.update-badge.svelte-jfofjj{font-size:10px;padding:1px 6px;border-radius:8px;background:var(--accent-dim);color:var(--accent);font-weight:500}.upstream-tag.svelte-jfofjj{color:var(--text-2)}.local-tag.svelte-jfofjj{font-style:italic;color:var(--text-2)}.skill-actions.svelte-jfofjj{display:flex;gap:4px;flex-shrink:0}.action-btn.svelte-jfofjj{padding:4px 10px;font-size:11px;border-radius:var(--radius);font-weight:500}.action-btn.svelte-jfofjj:disabled{opacity:.5}.update-btn.svelte-jfofjj{background:var(--accent-dim);color:var(--accent)}.publish-btn.svelte-jfofjj{background:var(--bg-3);color:var(--text-1)}.remove-btn.svelte-jfofjj{background:var(--bg-3);color:var(--text-2)}.remove-btn.svelte-jfofjj:hover{color:var(--red)}.error.svelte-16y8q82{color:var(--red);padding:16px}.empty.svelte-16y8q82{color:var(--text-2);padding:24px;text-align:center}.table-wrap.svelte-16y8q82{overflow:auto}.variant-table.svelte-16y8q82{width:100%;border-collapse:collapse;font-size:13px}.variant-table.svelte-16y8q82 th:where(.svelte-16y8q82){text-align:left;color:var(--text-2);font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:8px 12px;border-bottom:1px solid var(--border);font-weight:500}.variant-row.svelte-16y8q82{animation:fadeIn .2s ease both}.variant-row.svelte-16y8q82 td:where(.svelte-16y8q82){padding:10px 12px;border-bottom:1px solid var(--border)}.name-cell.svelte-16y8q82{color:var(--text-0);font-weight:500}.branch-cell.svelte-16y8q82{color:var(--text-1)}.port-cell.svelte-16y8q82{color:var(--text-2)}.mind-panel.svelte-5k8fm{display:flex;flex-direction:column;height:100%;background:var(--bg-1);border-left:1px solid var(--border);width:480px;flex-shrink:0;overflow:hidden}.panel-header.svelte-5k8fm{display:flex;flex-direction:column;border-bottom:1px solid var(--border);flex-shrink:0}.header-top.svelte-5k8fm{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 0}.header-left.svelte-5k8fm{display:flex;align-items:center;gap:10px}.mind-name.svelte-5k8fm{font-size:14px;font-weight:600;color:var(--text-0)}.close-btn.svelte-5k8fm{background:none;color:var(--text-2);font-size:14px;padding:4px 8px}.close-btn.svelte-5k8fm:hover{color:var(--text-0)}.panel-body.svelte-5k8fm{flex:1;overflow:auto;padding:16px}.detail-section.svelte-5k8fm{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.section-title.svelte-5k8fm{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);margin-bottom:8px}.connections-empty.svelte-5k8fm{color:var(--text-2);padding:12px 0;font-size:13px}.connections-list.svelte-5k8fm{display:flex;flex-direction:column}.connection-row.svelte-5k8fm{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.connection-row.svelte-5k8fm:last-child{border-bottom:none}.connection-name.svelte-5k8fm{font-weight:500;color:var(--text-0)}.connection-bot.svelte-5k8fm{font-size:12px;color:var(--text-1)}.connection-time.svelte-5k8fm{font-size:11px;color:var(--text-2);margin-left:auto}.profile-section.svelte-5k8fm{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 0}.profile-avatar.svelte-5k8fm{width:96px;height:96px;border-radius:var(--radius);object-fit:cover}.profile-display-name.svelte-5k8fm{font-size:18px;font-weight:600;color:var(--text-0)}.profile-description.svelte-5k8fm{font-size:13px;color:var(--text-1);text-align:center;max-width:320px;margin:4px 0 0;line-height:1.4}.profile-meta.svelte-5k8fm{font-size:11px;color:var(--text-2);margin-top:4px}.modal-content.svelte-sa0ylk{padding:20px;display:flex;flex-direction:column;gap:12px;max-height:60vh;overflow:auto}.modal-title.svelte-sa0ylk{font-weight:600;color:var(--text-0);font-size:14px}.title-input.svelte-sa0ylk{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;color:var(--text-0);font-size:12px;outline:none;font-family:var(--mono)}.hint.svelte-sa0ylk{color:var(--text-2);font-size:11px;padding:8px}.error.svelte-sa0ylk{color:var(--red);font-size:11px}.tag-input-wrapper.svelte-sa0ylk{position:relative}.tag-input.svelte-sa0ylk{display:flex;flex-wrap:wrap;align-items:center;gap:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:6px 8px;min-height:32px;cursor:text}.tag-input.svelte-sa0ylk:focus-within{border-color:var(--accent)}.tag.svelte-sa0ylk{display:flex;align-items:center;gap:4px;background:var(--bg-3);border-radius:3px;padding:2px 6px;font-size:11px;color:var(--text-0);white-space:nowrap}.tag-name.svelte-sa0ylk{line-height:1}.tag-remove.svelte-sa0ylk{cursor:pointer;color:var(--text-2);font-size:13px;line-height:1;margin-left:2px}.tag-remove.svelte-sa0ylk:hover{color:var(--text-0)}.dot.svelte-sa0ylk{width:6px;height:6px;border-radius:50%;flex-shrink:0}.tag-text-input.svelte-sa0ylk{flex:1;min-width:60px;background:none;border:none;outline:none;color:var(--text-0);font-size:12px;padding:2px 0;font-family:var(--mono)}.tag-text-input.svelte-sa0ylk::placeholder{color:var(--text-2)}.dropdown.svelte-sa0ylk{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);max-height:200px;overflow:auto;z-index:10}.dropdown-item.svelte-sa0ylk{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;font-size:12px;color:var(--text-0)}.dropdown-item.svelte-sa0ylk:hover{background:var(--bg-2)}.item-name.svelte-sa0ylk{flex:1;overflow:hidden;text-overflow:ellipsis}.item-badge.svelte-sa0ylk{color:var(--accent);font-size:10px;flex-shrink:0}.actions.svelte-sa0ylk{display:flex;gap:8px;justify-content:flex-end}.cancel-btn.svelte-sa0ylk{padding:6px 14px;background:var(--bg-2);color:var(--text-1);border-radius:var(--radius);font-size:12px;border:1px solid var(--border)}.create-btn.svelte-sa0ylk{padding:6px 14px;background:var(--accent-dim);color:var(--accent);border-radius:var(--radius);font-size:12px;font-weight:500}.modal-content.svelte-esytdb{padding:24px;display:flex;flex-direction:column;gap:14px}.modal-title.svelte-esytdb{font-weight:600;color:var(--text-0);font-size:14px}.field.svelte-esytdb{display:flex;flex-direction:column;gap:4px}.label.svelte-esytdb{color:var(--text-2);font-size:11px}.input.svelte-esytdb{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;color:var(--text-0);font-size:13px;outline:none;font-family:var(--mono)}.select.svelte-esytdb{appearance:auto}.error.svelte-esytdb{color:var(--red);font-size:11px}.actions.svelte-esytdb{display:flex;gap:8px;justify-content:flex-end}.cancel-btn.svelte-esytdb{padding:6px 14px;background:var(--bg-2);color:var(--text-1);border-radius:var(--radius);font-size:12px;border:1px solid var(--border)}.plant-btn.svelte-esytdb{padding:6px 14px;background:var(--yellow);color:var(--bg-0);border-radius:var(--radius);font-size:12px;font-weight:600}.advanced-toggle.svelte-esytdb{background:transparent;color:var(--text-2);font-size:11px;font-family:var(--mono);border:none;cursor:pointer;padding:0;display:flex;align-items:center;gap:4px;transition:color .15s}.advanced-toggle.svelte-esytdb:hover{color:var(--text-1)}.caret.svelte-esytdb{font-size:8px}.textarea.svelte-esytdb{resize:vertical;min-height:80px;font-size:12px;line-height:1.5}.hint.svelte-esytdb{color:var(--text-2);font-size:10px;font-family:var(--mono)}.skill-list.svelte-esytdb{display:flex;flex-direction:column;gap:4px}.skill-item.svelte-esytdb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-1);cursor:pointer}.skill-name.svelte-esytdb{font-family:var(--mono)}.conv-list.svelte-2bx51q{display:flex;flex-direction:column}.section-header.svelte-2bx51q{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 4px;font-size:10px;font-weight:600;color:var(--text-2);letter-spacing:.05em;text-transform:uppercase}.browse-btn.svelte-2bx51q{font-size:10px;color:var(--accent);background:none;padding:0;text-transform:lowercase;letter-spacing:0;font-weight:500}.conv-item.svelte-2bx51q{padding:6px 12px;margin:0 4px;cursor:pointer;border-radius:var(--radius);display:flex;flex-direction:column;gap:2px;transition:background .1s}.conv-item.svelte-2bx51q:hover{background:var(--bg-2)}.conv-item.active.svelte-2bx51q{background:var(--bg-3)}.conv-item-header.svelte-2bx51q{display:flex;align-items:center;justify-content:space-between;gap:4px}.conv-item-label.svelte-2bx51q{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text-1);display:flex;align-items:center;gap:6px}.conv-item-label.active.svelte-2bx51q{color:var(--text-0)}.conv-label-text.svelte-2bx51q{overflow:hidden;text-overflow:ellipsis}.conv-label-mind.svelte-2bx51q{overflow:hidden;text-overflow:ellipsis;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.conv-label-mind.svelte-2bx51q:hover{text-decoration:underline}.seed-tag.svelte-2bx51q{font-size:9px;color:var(--yellow);flex-shrink:0}.delete-btn.svelte-2bx51q{background:transparent;color:var(--text-2);font-size:11px;padding:0 4px;flex-shrink:0}.menu-btn.svelte-2bx51q{background:transparent;color:var(--text-2);font-size:11px;padding:0 4px;flex-shrink:0;opacity:0;transition:opacity .1s;letter-spacing:1px}.conv-item.svelte-2bx51q:hover .menu-btn:where(.svelte-2bx51q),.menu-btn.visible.svelte-2bx51q{opacity:1}.menu-btn.svelte-2bx51q:hover{color:var(--text-0)}.member-count.svelte-2bx51q{font-size:10px;color:var(--text-2);padding-left:1px}.status-dot.svelte-2bx51q{width:7px;height:7px;border-radius:50%;flex-shrink:0;border:none;padding:0;cursor:pointer}.status-dot.iridescent.svelte-2bx51q{animation:svelte-2bx51q-iridescent 3s ease-in-out infinite}@keyframes svelte-2bx51q-iridescent{0%{background:#4ade80}16%{background:#60a5fa}33%{background:#c084fc}50%{background:#f472b6}66%{background:#fbbf24}83%{background:#34d399}to{background:#4ade80}}.status-dot.svelte-2bx51q:hover{transform:scale(1.3)}.empty.svelte-2bx51q{color:var(--text-2);font-size:11px;padding:8px 12px;text-align:center}.context-menu.svelte-2bx51q{position:fixed;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:4px 0;z-index:200;min-width:120px;box-shadow:0 4px 12px #0000004d}.context-item.svelte-2bx51q{display:block;width:100%;padding:6px 12px;background:none;color:var(--text-1);font-size:12px;text-align:left;white-space:nowrap}.context-item.svelte-2bx51q:hover{background:var(--bg-2);color:var(--text-0)}.sidebar-inner.svelte-k3swf5{display:flex;flex-direction:column;height:100%;overflow:hidden}.sidebar-header.svelte-k3swf5{padding:12px 12px 8px;font-size:13px;font-weight:600;color:var(--text-1);letter-spacing:.02em;flex-shrink:0;background:none;text-align:left;cursor:pointer}.sidebar-header.svelte-k3swf5:hover{color:var(--text-0)}.sections.svelte-k3swf5{flex:1;overflow-y:auto;overflow-x:hidden;padding-top:4px}.section.svelte-k3swf5{margin-bottom:2px}.section-header-row.svelte-k3swf5{display:flex;align-items:center;padding-right:8px}.section-toggle.svelte-k3swf5{display:flex;align-items:center;gap:4px;flex:1;padding:6px 12px;background:none;color:var(--text-2);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-align:left}.section-toggle.svelte-k3swf5:hover{color:var(--text-1)}.toggle-icon.svelte-k3swf5{font-size:9px;width:10px}.section-add.svelte-k3swf5{background:none;color:var(--text-2);font-size:14px;padding:2px 6px;border-radius:var(--radius);flex-shrink:0}.section-add.svelte-k3swf5:hover{color:var(--text-0);background:var(--bg-2)}.mind-list.svelte-k3swf5{display:flex;flex-direction:column}.mind-item.svelte-k3swf5{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px 6px 26px;font-size:11px;color:var(--text-1);transition:background .1s;cursor:pointer;background:none;text-align:left;margin:0 4px;border-radius:var(--radius)}.mind-item.svelte-k3swf5:hover{background:var(--bg-2)}.mind-item.active.svelte-k3swf5{background:var(--bg-2);color:var(--text-0)}.mind-item-name.svelte-k3swf5{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.status-dot.svelte-k3swf5{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.iridescent.svelte-k3swf5{animation:svelte-k3swf5-iridescent 3s ease-in-out infinite}@keyframes svelte-k3swf5-iridescent{0%{background:#4ade80}16%{background:#60a5fa}33%{background:#c084fc}50%{background:#f472b6}66%{background:#fbbf24}83%{background:#34d399}to{background:#4ade80}}.site-list.svelte-k3swf5{display:flex;flex-direction:column}.site-item.svelte-k3swf5{display:block;width:100%;padding:6px 12px 6px 26px;font-size:11px;color:var(--text-1);border-radius:var(--radius);transition:background .1s;cursor:pointer;background:none;text-align:left;margin:0 4px}.site-item.svelte-k3swf5:hover{background:var(--bg-2)}.status-bar.svelte-cuxhxk{height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--bg-1);border-top:1px solid var(--border);font-size:11px;color:var(--text-2);flex-shrink:0}.status-left.svelte-cuxhxk,.status-right.svelte-cuxhxk{display:flex;align-items:center;gap:8px}.dot.svelte-cuxhxk{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;flex-shrink:0}.dot.disconnected.svelte-cuxhxk{background:var(--red)}.sep.svelte-cuxhxk{color:var(--border)}.menu-anchor.svelte-cuxhxk{position:relative}.status-btn.svelte-cuxhxk{background:none;color:var(--text-2);font-size:11px;padding:2px 4px;display:flex;align-items:center;gap:5px;border-radius:3px}.status-btn.svelte-cuxhxk:hover{color:var(--text-0);background:var(--bg-2)}.username-btn.svelte-cuxhxk{color:var(--text-1)}.dropdown.svelte-cuxhxk{position:absolute;bottom:calc(100% + 4px);left:0;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);min-width:120px;padding:4px 0;z-index:100;box-shadow:0 -2px 8px #0000004d}.dropdown.right.svelte-cuxhxk{left:auto;right:0}.dropdown-item.svelte-cuxhxk{display:block;width:100%;text-align:left;padding:6px 12px;background:none;color:var(--text-1);font-size:11px;white-space:nowrap}.dropdown-item.svelte-cuxhxk:hover{background:var(--bg-3);color:var(--text-0)}.minds-dropdown.svelte-cuxhxk{min-width:160px}.mind-item.svelte-cuxhxk{display:flex;align-items:center;gap:8px}.mind-dot.svelte-cuxhxk{width:6px;height:6px;border-radius:50%;flex-shrink:0}.mind-dot.iridescent.svelte-cuxhxk{animation:svelte-cuxhxk-iridescent 3s ease-in-out infinite}@keyframes svelte-cuxhxk-iridescent{0%{background:#4ade80}16%{background:#60a5fa}33%{background:#c084fc}50%{background:#f472b6}66%{background:#fbbf24}83%{background:#34d399}to{background:#4ade80}}.dropdown-divider.svelte-cuxhxk{height:1px;background:var(--border);margin:4px 0}.seed-item.svelte-cuxhxk{color:var(--accent)}.banner.svelte-h3c10m{display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 16px;background:var(--accent-bg);border-bottom:1px solid var(--accent-dim);color:var(--accent);font-size:12px;font-family:var(--mono);flex-shrink:0}.update-btn.svelte-h3c10m{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);padding:2px 10px;font-size:11px;font-family:var(--mono);cursor:pointer}.dismiss-btn.svelte-h3c10m{background:transparent;color:var(--accent);border:none;font-size:16px;line-height:1;cursor:pointer;padding:0 4px}.error.svelte-h3c10m{color:var(--red)}.updating.svelte-h3c10m{animation:pulse 1.5s ease-in-out infinite}.modal-body.svelte-1453wyc{padding:16px}.section-title.svelte-1453wyc{font-size:12px;font-weight:600;color:var(--text-1);margin:0 0 12px}.field.svelte-1453wyc{display:block;margin-bottom:10px}.label.svelte-1453wyc{display:block;font-size:11px;color:var(--text-2);margin-bottom:4px}input.svelte-1453wyc{width:100%;padding:6px 10px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-0);font-size:12px;font-family:var(--mono);box-sizing:border-box}input.svelte-1453wyc:focus{outline:none;border-color:var(--accent)}.save-btn.svelte-1453wyc{margin-top:4px;padding:6px 14px;background:var(--accent-dim);color:var(--accent);border-radius:var(--radius);font-size:11px;font-weight:500}.save-btn.svelte-1453wyc:hover:not(:disabled){background:var(--accent);color:var(--bg-0)}.save-btn.svelte-1453wyc:disabled{opacity:.5}.message.svelte-1453wyc{font-size:11px;padding:6px 10px;border-radius:var(--radius);margin-bottom:10px}.message.error.svelte-1453wyc{color:var(--red);background:var(--red-bg)}.message.success.svelte-1453wyc{color:var(--accent);background:var(--accent-dim)}.loading.svelte-14lg4b7{color:var(--text-2);padding:24px;text-align:center}.full-height.svelte-14lg4b7{height:100%}.shell.svelte-14lg4b7{height:100%;display:flex;flex-direction:column}.shell-body.svelte-14lg4b7{flex:1;display:flex;overflow:hidden}.sidebar.svelte-14lg4b7{display:flex;flex-direction:column;flex-shrink:0;border-right:1px solid var(--border);background:var(--bg-1);overflow:hidden}.resize-handle.svelte-14lg4b7{width:4px;cursor:col-resize;flex-shrink:0;background:transparent;transition:background .15s}.resize-handle.svelte-14lg4b7:hover{background:var(--border)}.main-frame.svelte-14lg4b7{flex:1;overflow:hidden;min-width:0}:root{--bg-0: #0a0c0f;--bg-1: #11141a;--bg-2: #181c24;--bg-3: #1f2430;--border: #2a3040;--border-bright: #3a4560;--text-0: #e8ecf4;--text-1: #a0aabb;--text-2: #6a7588;--accent: #4ade80;--accent-dim: #22613e;--accent-bg: rgba(74, 222, 128, .08);--red: #f87171;--red-dim: #7f1d1d;--yellow: #fbbf24;--yellow-dim: #78350f;--blue: #60a5fa;--purple: #c084fc;--overlay: rgba(0, 0, 0, .6);--yellow-bg: rgba(251, 191, 36, .08);--blue-bg: rgba(96, 165, 250, .08);--red-bg: rgba(248, 113, 113, .08);--muted-bg: rgba(106, 117, 136, .08);--red-border: rgba(248, 113, 113, .2);--accent-border: rgba(74, 222, 128, .2);--timeline-rail: #333;--mono: "IBM Plex Mono", "SF Mono", "Fira Code", monospace;--radius: 6px;--radius-lg: 10px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;background:var(--bg-0);color:var(--text-0);font-family:var(--mono);font-size:13px;line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:var(--accent-dim);color:var(--accent)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-bright)}a{color:inherit;text-decoration:none}button{font-family:var(--mono);cursor:pointer;border:none}button:focus{outline:none}button:focus-visible{outline:1px solid var(--accent);outline-offset:2px}a:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.app{height:100%;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.markdown-body{word-break:break-word;color:var(--text-0);line-height:1.6}.markdown-body p{margin:0 0 8px}.markdown-body p:last-child{margin-bottom:0}.markdown-body pre{background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;overflow-x:auto;margin:8px 0;font-size:12px;line-height:1.5}.markdown-body code{font-family:var(--mono);font-size:12px;background:var(--bg-3);padding:1px 4px;border-radius:3px}.markdown-body pre code{background:none;padding:0}.markdown-body a{color:var(--blue);text-decoration:underline}.markdown-body ul,.markdown-body ol{margin:4px 0;padding-left:20px}.markdown-body li{margin:2px 0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:12px 0 6px;font-weight:600;color:var(--text-0)}.markdown-body h1{font-size:18px}.markdown-body h2{font-size:16px}.markdown-body h3{font-size:14px}.markdown-body blockquote{border-left:3px solid var(--border-bright);margin:8px 0;padding:4px 12px;color:var(--text-1)}.markdown-body table{border-collapse:collapse;margin:8px 0}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:6px 10px;font-size:12px}.markdown-body th{background:var(--bg-3);font-weight:600}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:12px 0}