volute 0.31.0 → 0.32.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 (178) hide show
  1. package/README.md +15 -22
  2. package/dist/{accept-GAKQ3MEH.js → accept-74M7I4RZ.js} +3 -2
  3. package/dist/{activity-events-T5ZRCVAL.js → activity-events-HETAODOK.js} +3 -2
  4. package/dist/{ai-service-UWUPM4T6.js → ai-service-ZIPCV3MX.js} +18 -5
  5. package/dist/api.d.ts +98 -281
  6. package/dist/{archive-YBNSJYZZ.js → archive-INXYFVCW.js} +3 -2
  7. package/dist/{auth-T5AW2USD.js → auth-6DMGES3I.js} +4 -3
  8. package/dist/{bridge-4AJ3EY26.js → bridge-BVCBTGPF.js} +3 -2
  9. package/dist/{chat-7YLT7FI3.js → chat-XT4OBJBU.js} +8 -8
  10. package/dist/{chunk-BNC43CSY.js → chunk-2FLJ63GU.js} +2 -2
  11. package/dist/{chunk-NV3TYNWX.js → chunk-2NGTS5UU.js} +1 -1
  12. package/dist/{chunk-LX6T3GKQ.js → chunk-ALEF47VT.js} +1 -1
  13. package/dist/{chunk-S2TZLSDH.js → chunk-D5G5YOPL.js} +163 -15
  14. package/dist/{chunk-VGWJSNHS.js → chunk-G53F3JA4.js} +1 -35
  15. package/dist/{chunk-A6TUJJ3L.js → chunk-G6BSYHPK.js} +2 -2
  16. package/dist/{chunk-BC3P3QCK.js → chunk-I5KY25PQ.js} +1 -9
  17. package/dist/{chunk-PNQCXLSV.js → chunk-IYDIE3HG.js} +58 -1
  18. package/dist/{chunk-HDKY4TWU.js → chunk-JJ7W6WSB.js} +3 -3
  19. package/dist/{chunk-57OKQMP3.js → chunk-LGB6JBHI.js} +1 -1
  20. package/dist/chunk-LRCG2JLP.js +251 -0
  21. package/dist/{chunk-SNVPRRT7.js → chunk-LSGWR54X.js} +2 -2
  22. package/dist/{chunk-EMPFLFTG.js → chunk-M7UL5S3Q.js} +1 -1
  23. package/dist/chunk-PB65JZK2.js +85 -0
  24. package/dist/chunk-PVY5W6QN.js +41 -0
  25. package/dist/{chunk-BWKIHH7B.js → chunk-QBQ424EM.js} +318 -418
  26. package/dist/{chunk-EKDWA7E4.js → chunk-QZANELPX.js} +4 -2
  27. package/dist/{chunk-AAO77TZX.js → chunk-R7E6CRVQ.js} +1 -1
  28. package/dist/{chunk-X62AXPR7.js → chunk-RPZZSXV3.js} +8 -196
  29. package/dist/{chunk-WRS3B556.js → chunk-RSX4OPZY.js} +5 -5
  30. package/dist/{chunk-FAHDKPEH.js → chunk-S6NFERDC.js} +5 -3
  31. package/dist/chunk-SKLSMHXO.js +208 -0
  32. package/dist/{chunk-DAXJKPHZ.js → chunk-SX5TKJBZ.js} +2 -2
  33. package/dist/{chunk-R5QJBZZG.js → chunk-TDRYEPH4.js} +20 -10
  34. package/dist/{chunk-6QIUN46C.js → chunk-TSXLLQZW.js} +11 -3
  35. package/dist/{chunk-4OUOFS23.js → chunk-UKVWJRKN.js} +1 -1
  36. package/dist/{chunk-NOWVQ7AL.js → chunk-WKF5FEFK.js} +318 -167
  37. package/dist/cli.js +38 -20
  38. package/dist/{clock-LJCG426D.js → clock-2UOZ6JPU.js} +5 -4
  39. package/dist/{cloud-sync-O3LXIRN6.js → cloud-sync-JN3NWKEM.js} +16 -14
  40. package/dist/config-H2H4UIF7.js +72 -0
  41. package/dist/connectors/discord-bridge.js +1 -1
  42. package/dist/connectors/slack-bridge.js +1 -1
  43. package/dist/connectors/telegram-bridge.js +1 -1
  44. package/dist/{conversations-RKKGP5IA.js → conversations-3O5O6AS3.js} +4 -3
  45. package/dist/{create-WUTIIRI2.js → create-RNLNCORE.js} +3 -2
  46. package/dist/{create-TL623TFC.js → create-WBBYI6V7.js} +6 -2
  47. package/dist/{daemon-client-CVGM25DM.js → daemon-client-6QXHZ7US.js} +3 -2
  48. package/dist/{daemon-restart-EZP7XH3V.js → daemon-restart-NGFHFAUF.js} +7 -6
  49. package/dist/daemon.js +907 -612
  50. package/dist/{db-SW5PL6QA.js → db-F34YLV7D.js} +2 -1
  51. package/dist/db-RA45JBFG.js +16 -0
  52. package/dist/{delete-Z6HAG35F.js → delete-QTGWEDBI.js} +1 -1
  53. package/dist/delivery-manager-SDVXFD4W.js +28 -0
  54. package/dist/delivery-router-FL45JL7N.js +21 -0
  55. package/dist/down-TB3ESMNP.js +14 -0
  56. package/dist/{env-NHESNNSP.js → env-RLYQBOOP.js} +3 -2
  57. package/dist/{export-EVMP7GWY.js → export-SUYRLI5Q.js} +4 -3
  58. package/dist/{extension-LR7EW3JF.js → extension-FQ5D3NCC.js} +4 -3
  59. package/dist/{extensions-NGEJI7JH.js → extensions-GDYWQXC4.js} +9 -7
  60. package/dist/{files-3SM7V33S.js → files-EAMPO2SJ.js} +4 -3
  61. package/dist/{history-PQD3LXEP.js → history-FO5PHBQ5.js} +7 -2
  62. package/dist/{import-PR2OCGQJ.js → import-DDUFE7AY.js} +4 -3
  63. package/dist/{join-R4EN5CWQ.js → join-I5QEE3LG.js} +1 -1
  64. package/dist/{list-B4XNUOFO.js → list-DW2VRTOZ.js} +3 -2
  65. package/dist/{login-62JVY6A2.js → login-7CHPW2PN.js} +3 -2
  66. package/dist/{login-URWP6S2N.js → login-RIJF2F4G.js} +3 -2
  67. package/dist/{logout-NXJQJDLI.js → logout-5MLHZALK.js} +3 -2
  68. package/dist/{logout-ZK2N62T3.js → logout-UZJRGY4Z.js} +3 -2
  69. package/dist/message-delivery-2FIM7QKO.js +32 -0
  70. package/dist/{mind-E2ZV2WRX.js → mind-2B6M7Y25.js} +18 -18
  71. package/dist/{mind-activity-tracker-ASNZBMLC.js → mind-activity-tracker-NZZT2NTT.js} +4 -3
  72. package/dist/{mind-list-BEI7E5WY.js → mind-list-WUPMQDYQ.js} +3 -2
  73. package/dist/mind-manager-BNCMGYXW.js +28 -0
  74. package/dist/mind-service-AV273WT4.js +34 -0
  75. package/dist/{mind-sleep-CANABWJI.js → mind-sleep-B7BHJLH7.js} +3 -2
  76. package/dist/{mind-status-6WKZVUOP.js → mind-status-L3EFFRPR.js} +3 -2
  77. package/dist/{mind-wake-RZKLH2IN.js → mind-wake-GY3RFX7Y.js} +3 -2
  78. package/dist/{package-NU4CA7OU.js → package-PK6JUFL3.js} +1 -1
  79. package/dist/{read-THL362EI.js → read-5AMJRO3D.js} +3 -2
  80. package/dist/{register-QAQELAS6.js → register-V2JZZKFK.js} +3 -2
  81. package/dist/{registry-ASXCQCNH.js → registry-PJ4S5PHQ.js} +8 -1
  82. package/dist/{reject-AYPBNPNL.js → reject-33HEZMZ4.js} +3 -2
  83. package/dist/{restart-6SKPV3T2.js → restart-3UCMRUVC.js} +3 -2
  84. package/dist/{sandbox-6ZEWQDVU.js → sandbox-JANNTX6U.js} +4 -3
  85. package/dist/schema-PA3M5ZKH.js +32 -0
  86. package/dist/{seed-OWX2AW75.js → seed-ALUQ55FF.js} +26 -9
  87. package/dist/{send-ZO4BTWXK.js → send-3MI36LEF.js} +56 -67
  88. package/dist/{setup-7CFITEQN.js → setup-SZIARWI6.js} +5 -2
  89. package/dist/{setup-ZXBXG7E4.js → setup-WENLVPVP.js} +8 -6
  90. package/dist/{skill-YFXP67A2.js → skill-TUVOTW4Z.js} +3 -2
  91. package/dist/skills/dreaming/SKILL.md +6 -4
  92. package/dist/skills/dreaming/references/INSTALL.md +2 -2
  93. package/dist/skills/dreaming/scripts/dream.ts +2 -2
  94. package/dist/skills/dreaming/scripts/wake-context-dreams.sh +1 -1
  95. package/dist/skills/imagegen/SKILL.md +6 -5
  96. package/dist/skills/imagegen/references/INSTALL.md +1 -1
  97. package/dist/skills/resonance/SKILL.md +4 -1
  98. package/dist/skills/resonance/references/INSTALL.md +2 -2
  99. package/dist/skills/resonance/scripts/resonance-hook.sh +2 -0
  100. package/dist/skills/resonance/scripts/resonance.ts +35 -5
  101. package/dist/skills/volute-admin/SKILL.md +83 -0
  102. package/dist/skills/volute-mind/SKILL.md +11 -11
  103. package/dist/skills-XNZK6P4K.js +61 -0
  104. package/dist/sleep-manager-53DZOWW7.js +32 -0
  105. package/dist/spirit-N4W4UQRH.js +217 -0
  106. package/dist/{split-MI62KJUU.js → split-STOROBYJ.js} +1 -1
  107. package/dist/{sprout-FDVI2CGN.js → sprout-L2GFOVF7.js} +9 -7
  108. package/dist/{start-D64BRKPH.js → start-K2NCUUCG.js} +3 -2
  109. package/dist/{status-ZZWBYFGE.js → status-TCUMUO6M.js} +5 -4
  110. package/dist/{stop-OP2CTXCO.js → stop-H26JZDXF.js} +3 -2
  111. package/dist/system-chat-NPYFYZVI.js +32 -0
  112. package/dist/{systems-EQPPT4B7.js → systems-DHBKVYEY.js} +6 -5
  113. package/dist/{tailscale-6DJKUMNF.js → tailscale-XHQBZROW.js} +2 -1
  114. package/dist/{template-hash-3HOR4UAJ.js → template-hash-A6VVKOXJ.js} +2 -1
  115. package/dist/up-6I6BHRTO.js +17 -0
  116. package/dist/{update-KUJXATRS.js → update-QVPRF6GR.js} +5 -4
  117. package/dist/{update-check-5WVSU37T.js → update-check-ZD6OOIYQ.js} +3 -2
  118. package/dist/{upgrade-KBHCWX6T.js → upgrade-O4Q7WJM3.js} +12 -14
  119. package/dist/{version-notify-75ELVKPV.js → version-notify-TCKWBZZG.js} +21 -18
  120. package/dist/web-assets/assets/index-Bui7U9Uu.css +1 -0
  121. package/dist/web-assets/assets/index-e36DIo1b.js +73 -0
  122. package/dist/web-assets/ext-theme.css +93 -0
  123. package/dist/web-assets/index.html +2 -2
  124. package/drizzle/0004_spirits.sql +5 -0
  125. package/drizzle/meta/0004_snapshot.json +7 -0
  126. package/drizzle/meta/_journal.json +7 -0
  127. package/package.json +1 -1
  128. package/packages/extensions/notes/dist/ui/assets/index-8jWEv9SA.js +61 -0
  129. package/packages/extensions/notes/dist/ui/assets/index-DkaB7Ytd.css +1 -0
  130. package/packages/extensions/notes/dist/ui/index.html +2 -2
  131. package/packages/extensions/pages/skills/pages/SKILL.md +16 -46
  132. package/templates/_base/.init/.config/hooks/pre-prompt/session-activity.ts +40 -0
  133. package/templates/_base/.init/{.config → .local}/bin/volute +1 -1
  134. package/templates/_base/.init/.local/hooks/pre-prompt/session-activity.ts +40 -0
  135. package/templates/_base/.init/.local/hooks/startup-context.ts +58 -0
  136. package/templates/_base/home/.config/routes.json +1 -1
  137. package/templates/_base/src/lib/daemon-client.ts +21 -13
  138. package/templates/_base/src/lib/format-prefix.ts +1 -0
  139. package/templates/_base/src/lib/hook-loader.ts +155 -0
  140. package/templates/_base/src/lib/startup.ts +11 -4
  141. package/templates/_base/src/lib/transparency.ts +2 -2
  142. package/templates/claude/.init/.claude/settings.json +1 -1
  143. package/templates/claude/.init/.config/routes.json +2 -2
  144. package/templates/claude/src/agent.ts +95 -13
  145. package/templates/claude/src/lib/message-channel.ts +7 -2
  146. package/templates/codex/.init/.config/routes.json +11 -0
  147. package/templates/codex/.init/AGENTS.md +29 -0
  148. package/templates/codex/home/.config/config.json.tmpl +7 -0
  149. package/templates/codex/package.json.tmpl +20 -0
  150. package/templates/codex/src/agent.ts +553 -0
  151. package/templates/codex/src/lib/content.ts +16 -0
  152. package/templates/codex/src/lib/session-store.ts +56 -0
  153. package/templates/codex/src/server.ts +59 -0
  154. package/templates/codex/volute-template.json +8 -0
  155. package/templates/pi/.init/.config/routes.json +2 -2
  156. package/templates/pi/src/agent.ts +62 -8
  157. package/templates/pi/src/lib/event-handler.ts +1 -1
  158. package/templates/pi/src/lib/reply-instructions-extension.ts +32 -11
  159. package/dist/chunk-HR5JKIDG.js +0 -222
  160. package/dist/down-TS4XQBA4.js +0 -13
  161. package/dist/message-delivery-UJHCLVU4.js +0 -30
  162. package/dist/mind-manager-IPA6DZXD.js +0 -26
  163. package/dist/pages-watcher-72OVPRMH.js +0 -22
  164. package/dist/skills/sessions/SKILL.md +0 -49
  165. package/dist/sleep-manager-TPS6OGCA.js +0 -30
  166. package/dist/system-chat-B43GIXQU.js +0 -30
  167. package/dist/up-TDXEP3VA.js +0 -16
  168. package/dist/web-assets/assets/index-BM1cTzBg.js +0 -72
  169. package/dist/web-assets/assets/index-BfJkKTPF.css +0 -1
  170. package/packages/extensions/notes/dist/ui/assets/index-B8GdTnXs.css +0 -1
  171. package/packages/extensions/notes/dist/ui/assets/index-CDpGTCWb.js +0 -2
  172. package/packages/extensions/pages/skills/pages/scripts/pages.mjs +0 -58
  173. package/templates/_base/.init/.config/hooks/startup-context.sh +0 -46
  174. package/templates/_base/.init/.config/scripts/session-reader.ts +0 -59
  175. package/templates/_base/src/lib/session-monitor.ts +0 -400
  176. package/templates/claude/src/lib/hooks/session-context.ts +0 -32
  177. package/templates/pi/src/lib/session-context-extension.ts +0 -35
  178. /package/templates/_base/.init/{.config → .local}/hooks/wake-context.sh +0 -0
@@ -1 +0,0 @@
1
- .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:14px;font-weight:600;color:var(--text-0)}.header-right.svelte-b3ltw6{display:flex;align-items:center;gap:8px}.close-btn.svelte-b3ltw6{background:none;color:var(--text-2);font-size:15px;padding:4px 8px}.close-btn.svelte-b3ltw6:hover{color:var(--text-0)}@media(max-width:767px){.modal.full.svelte-b3ltw6{width:95vw;height:85vh}}.error.svelte-16qbe83{padding:8px 16px;font-size:13px;color:var(--red)}.channel-list.svelte-16qbe83{flex:1;overflow:auto;padding:8px}.empty.svelte-16qbe83{color:var(--text-2);font-size:13px;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:14px;color:var(--text-0);font-weight:500}.channel-meta.svelte-16qbe83{font-size:12px;color:var(--text-2)}.action-btn.svelte-16qbe83{padding:4px 12px;font-size:12px;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:13px;font-family:inherit;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:13px;font-weight:500}.create-btn.svelte-16qbe83:disabled{opacity:.4}.invite-body.svelte-19tj18b{padding:12px 16px 16px}.search-input.svelte-19tj18b{width:100%;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;color:var(--text-0);font-size:14px;outline:none;box-sizing:border-box}.search-input.svelte-19tj18b:focus{border-color:var(--border-bright)}.error.svelte-19tj18b{color:var(--red);font-size:13px;padding:6px 0 0}.user-list.svelte-19tj18b{max-height:280px;overflow:auto;margin-top:8px}.user-row.svelte-19tj18b{display:flex;align-items:center;gap:8px;padding:8px;width:100%;background:none;text-align:left;font-size:14px;color:var(--text-1);cursor:pointer;border-radius:var(--radius)}.user-row.svelte-19tj18b:hover:not(:disabled){background:var(--bg-2)}.user-row.svelte-19tj18b:disabled{opacity:.5;cursor:not-allowed}.user-name.svelte-19tj18b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text-0)}.user-username.svelte-19tj18b{font-size:12px;color:var(--text-2);margin-left:auto;flex-shrink:0}.status-dot.svelte-19tj18b{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.iridescent.svelte-19tj18b{animation:svelte-19tj18b-iridescent 3s ease-in-out infinite}@keyframes svelte-19tj18b-iridescent{0%{background:#4ade80}16%{background:#60a5fa}33%{background:#c084fc}50%{background:#f472b6}66%{background:#fbbf24}83%{background:#34d399}to{background:#4ade80}}.empty.svelte-19tj18b{color:var(--text-2);font-size:13px;padding:12px 8px;text-align:center}.hover-wrapper.svelte-1sojsey{display:flex;align-items:center;gap:8px}.hover-card.svelte-1sojsey{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-1sojsey{width:64px;height:64px;border-radius:var(--radius);object-fit:cover;flex-shrink:0}.info.svelte-1sojsey{display:flex;flex-direction:column;gap:2px;min-width:0}.name-row.svelte-1sojsey{display:flex;align-items:center;gap:6px}.display-name.svelte-1sojsey{font-size:14px;font-weight:600;color:var(--text-0)}.type-label.svelte-1sojsey{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);background:var(--muted-bg);padding:1px 6px;border-radius:var(--radius)}.description.svelte-1sojsey{font-size:12px;color:var(--text-1);white-space:normal;max-width:220px;margin-top:2px}.meta.svelte-1sojsey{font-size:11px;color:var(--text-2);margin-top:2px}.view-profile.svelte-1sojsey{font-size:11px;color:var(--accent);margin-top:2px;text-decoration:none;pointer-events:auto}.view-profile.svelte-1sojsey:hover{text-decoration:underline}.members-panel.svelte-488b49{display:flex;flex-direction:column;height:100%;background:var(--bg-1);width:100%;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:14px;font-weight:600;color:var(--text-0)}.member-count.svelte-488b49{font-size:12px;color:var(--text-2);flex:1}.invite-btn.svelte-488b49{background:none;color:var(--text-2);font-size:15px;padding:2px 6px;border-radius:var(--radius);flex-shrink:0}.invite-btn.svelte-488b49:hover{color:var(--text-0);background:var(--bg-2)}.panel-body.svelte-488b49{flex:1;overflow:auto;padding:12px 0}.section-title.svelte-488b49{font-size:11px;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:14px;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{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}}@media(max-width:1024px){.members-panel.svelte-488b49{width:100%}}.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:11px;font-weight:600;color:var(--text-2);letter-spacing:.05em;text-transform:uppercase}.browse-btn.svelte-2bx51q{font-size:11px;color:var(--accent);background:none;padding:0;text-transform:lowercase;letter-spacing:0;font-weight:500}.conv-item.svelte-2bx51q{padding:6px 12px 6px 26px;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:14px;color:var(--text-1);display:flex;align-items:center;gap:6px}.conv-item-label.active.svelte-2bx51q{color:var(--text-0)}.conv-item-label.unread.svelte-2bx51q{font-weight:600;color:var(--text-0)}.unread-badge.svelte-2bx51q{background:var(--accent);color:var(--bg-0);font-size:11px;font-weight:600;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;flex-shrink: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}.lock-icon.svelte-2bx51q{width:12px;height:12px;color:var(--text-2);flex-shrink:0}.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:12px;padding:0 4px;flex-shrink:0}.menu-btn.svelte-2bx51q{background:transparent;color:var(--text-2);font-size:12px;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:11px;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:12px;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:13px;text-align:left;white-space:nowrap}.context-item.svelte-2bx51q:hover{background:var(--bg-2);color:var(--text-0)}@media(max-width:767px){.conv-item.svelte-2bx51q{padding:10px 12px 10px 26px}.menu-btn.svelte-2bx51q{opacity:1}.context-item.svelte-2bx51q{padding:10px 16px}}.sidebar-inner.svelte-1kobr7n{display:flex;flex-direction:column;height:100%;overflow:hidden}.sections.svelte-1kobr7n{flex:1;overflow-y:auto;overflow-x:hidden;padding-top:4px}.section.svelte-1kobr7n{margin-bottom:2px}.section-header-row.svelte-1kobr7n{display:flex;align-items:center;padding-right:8px}.section-toggle.svelte-1kobr7n{display:flex;align-items:center;gap:4px;flex:1;padding:6px 12px;background:none;color:var(--text-2);font-family:var(--display);font-size:16px;font-weight:300;letter-spacing:.02em;text-align:left}.section-toggle.svelte-1kobr7n:hover{color:var(--text-1)}.toggle-icon.svelte-1kobr7n{font-size:9px;width:10px}.section-add.svelte-1kobr7n{background:none;color:var(--text-2);font-size:15px;padding:2px 6px;border-radius:var(--radius);flex-shrink:0}.section-add.svelte-1kobr7n:hover{color:var(--text-0);background:var(--bg-2)}.mind-list.svelte-1kobr7n{display:flex;flex-direction:column}.mind-item.svelte-1kobr7n{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px 6px 26px;font-size:14px;color:var(--text-1);transition:background .1s;cursor:pointer;background:none;text-align:left;margin:0 4px;border-radius:var(--radius)}.mind-item.svelte-1kobr7n:hover{background:var(--bg-2)}.mind-item.active.svelte-1kobr7n{background:var(--bg-2);color:var(--text-0)}.mind-item-name.svelte-1kobr7n{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.unread-dot.svelte-1kobr7n{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.status-dot.svelte-1kobr7n{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.iridescent.svelte-1kobr7n{animation:svelte-1kobr7n-iridescent 3s ease-in-out infinite}@keyframes svelte-1kobr7n-iridescent{0%{background:#4ade80}16%{background:#60a5fa}33%{background:#c084fc}50%{background:#f472b6}66%{background:#fbbf24}83%{background:#34d399}to{background:#4ade80}}@media(max-width:767px){.mind-item.svelte-1kobr7n{padding:10px 12px 10px 26px;font-size:14px}.section-toggle.svelte-1kobr7n{padding:8px 12px}.status-dot.svelte-1kobr7n{width:8px;height:8px}}.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-row.svelte-zwrylj{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:4px}.logo-wrap.svelte-zwrylj{position:relative;width:34px;height:34px;flex-shrink:0}.login-spiral.svelte-zwrylj{width:34px;height:34px;filter:invert(1);transition:opacity .15s}.hover-dot.svelte-zwrylj{position:absolute;inset:0;margin:auto;width:10px;height:10px;border-radius:50%;opacity:0;transition:opacity .15s;animation:svelte-zwrylj-iridescent 3s ease-in-out infinite}.card.svelte-zwrylj:hover .login-spiral:where(.svelte-zwrylj){opacity:0}.card.svelte-zwrylj:hover .hover-dot:where(.svelte-zwrylj){opacity:1}.logo.svelte-zwrylj{font-family:var(--display);font-size:31px;font-weight:300;color:var(--text-0);letter-spacing:.04em;margin-top:-4px}.subtitle.svelte-zwrylj{color:var(--text-2);font-size:13px}@keyframes svelte-zwrylj-iridescent{0%{background:#4ade80}16%{background:#60a5fa}33%{background:#c084fc}50%{background:#f472b6}66%{background:#fbbf24}83%{background:#34d399}to{background:#4ade80}}.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:inherit;font-size:14px;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:13px;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:14px;font-weight:500;font-family:inherit;border:none;cursor:pointer}.link-btn.svelte-zwrylj{background:transparent;color:var(--text-2);font-size:13px;font-family:inherit;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}.chat-home.svelte-1ixpw90{animation:fadeIn .2s ease both;height:100%;overflow:auto;padding:24px}.empty.svelte-1ixpw90{color:var(--text-2);font-size:13px;padding:40px 0;text-align:center}.feed-grid.svelte-1ixpw90{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.feed-card.svelte-1ixpw90{background:var(--bg-0);border:1px solid color-mix(in srgb,var(--blue) 25%,var(--border));border-radius:var(--radius-lg);display:flex;flex-direction:column;height:240px;overflow:hidden;transition:border-color .15s;cursor:pointer}.feed-card.svelte-1ixpw90:hover{border-color:color-mix(in srgb,var(--blue) 50%,var(--border))}.feed-card-header.svelte-1ixpw90{padding:6px 8px 6px 10px;font-size:13px;font-weight:500;color:var(--text-1);border-bottom:1px solid color-mix(in srgb,var(--blue) 25%,var(--border));flex-shrink:0;display:flex;align-items:center;gap:6px}.feed-card-icon.svelte-1ixpw90{flex-shrink:0;width:14px;height:14px;color:var(--blue)}.feed-card-label.svelte-1ixpw90{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.feed-card-meta.svelte-1ixpw90{font-size:11px;color:var(--text-2);font-weight:400;flex-shrink:0;margin-left:auto}.feed-card-body.svelte-1ixpw90{flex:1;overflow:auto;padding:8px 12px;min-height:0}.card-action-btn.svelte-1ixpw90{font-size:12px;padding:2px 10px;border-radius:var(--radius);cursor:pointer;flex-shrink:0;background:var(--accent);border:1px solid var(--accent);color:var(--bg-0);transition:opacity .15s}.card-action-btn.svelte-1ixpw90:hover{opacity:.85}.msg-empty.svelte-1ixpw90{color:var(--text-2);font-size:13px;padding:16px 0;text-align:center}.chat-entry.svelte-1ixpw90{padding:1px 0}.chat-entry.new-sender.svelte-1ixpw90{margin-top:8px}.chat-entry.svelte-1ixpw90:first-child{margin-top:0}.chat-entry-header.svelte-1ixpw90{display:flex;align-items:baseline;gap:6px;margin-bottom:1px}.chat-sender.svelte-1ixpw90{font-size:12px;font-weight:600;color:var(--accent)}.chat-sender-user.svelte-1ixpw90{color:var(--blue)}.chat-timestamp.svelte-1ixpw90{font-size:11px;color:var(--text-2)}.chat-entry-content.svelte-1ixpw90{min-width:0;font-family:var(--mono);font-size:13px}.chat-user-text.svelte-1ixpw90{color:var(--text-0);white-space:pre-wrap}@media(max-width:767px){.chat-home.svelte-1ixpw90{padding:16px}}.feed-card.svelte-c9eofw{background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:240px;overflow:hidden;transition:border-color .15s;cursor:pointer}.feed-card.svelte-c9eofw:hover{border-color:var(--border-bright)}.feed-card-header.svelte-c9eofw{padding:6px 8px 6px 10px;font-size:13px;font-weight:500;color:var(--text-1);border-bottom:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;gap:6px}.feed-card-icon.svelte-c9eofw{display:flex;flex-shrink:0}.feed-card-icon.svelte-c9eofw svg{width:14px;height:14px}.feed-card-label.svelte-c9eofw{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.feed-card-author.svelte-c9eofw{font-size:11px;color:var(--accent);flex-shrink:0}.feed-card-meta.svelte-c9eofw{font-size:11px;color:var(--text-2);font-weight:400;flex-shrink:0;margin-left:auto}.feed-card-body.svelte-c9eofw{flex:1;overflow:hidden;min-height:0}.body-html.svelte-c9eofw{padding:8px 12px;font-size:13px;color:var(--text-0);line-height:1.5;overflow:hidden;height:100%}.page-preview.svelte-c9eofw{width:100%;height:100%;border:none;pointer-events:none;background:#fff;opacity:0;transition:opacity .15s}.page-preview.loaded.svelte-c9eofw{opacity:1}.home.svelte-1egy5tu{animation:fadeIn .2s ease both}.empty-hint.svelte-1egy5tu{color:var(--text-2);font-size:13px;padding:40px 0;text-align:center}.feed-grid.svelte-1egy5tu{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.feed-item.svelte-1egy5tu{min-width:0}.feed-card.svelte-1egy5tu{background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:240px;overflow:hidden;transition:border-color .15s}.feed-card[role=button].svelte-1egy5tu{cursor:pointer}.feed-card-header.svelte-1egy5tu{padding:6px 8px 6px 10px;font-size:13px;font-weight:500;color:var(--text-1);border-bottom:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;gap:6px}.feed-card-icon.svelte-1egy5tu{flex-shrink:0;width:14px;height:14px}.card-chat.svelte-1egy5tu .feed-card-icon:where(.svelte-1egy5tu){color:var(--blue)}.card-chat.svelte-1egy5tu{border-color:color-mix(in srgb,var(--blue) 25%,var(--border))}.card-chat.svelte-1egy5tu .feed-card-header:where(.svelte-1egy5tu){border-bottom-color:color-mix(in srgb,var(--blue) 25%,var(--border))}.card-chat.svelte-1egy5tu:hover{border-color:color-mix(in srgb,var(--blue) 50%,var(--border))}.feed-card-label.svelte-1egy5tu{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.feed-card-meta.svelte-1egy5tu{font-size:11px;color:var(--text-2);font-weight:400;flex-shrink:0;margin-left:auto}.feed-card-body.svelte-1egy5tu{flex:1;overflow:auto;padding:10px 12px;min-height:0}.card-action-btn.svelte-1egy5tu{font-size:12px;padding:2px 10px;border-radius:var(--radius);cursor:pointer;flex-shrink:0;background:none;border:1px solid var(--border);color:var(--text-2);transition:color .15s,border-color .15s}.card-action-btn.svelte-1egy5tu:hover{color:var(--text-1);border-color:var(--border-bright)}.card-action-btn-primary.svelte-1egy5tu{background:var(--accent);border-color:var(--accent);color:var(--bg-0)}.card-action-btn-primary.svelte-1egy5tu:hover{opacity:.85;color:var(--bg-0);border-color:var(--accent)}.chat-body.svelte-1egy5tu{padding:8px 12px}.msg-empty.svelte-1egy5tu{color:var(--text-2);font-size:13px;padding:16px 0;text-align:center}.chat-entry.svelte-1egy5tu{padding:1px 0}.chat-entry.new-sender.svelte-1egy5tu{margin-top:8px}.chat-entry.svelte-1egy5tu:first-child{margin-top:0}.chat-entry-header.svelte-1egy5tu{display:flex;align-items:baseline;gap:6px;margin-bottom:1px}.chat-sender.svelte-1egy5tu{font-size:12px;font-weight:600;color:var(--accent)}.chat-sender-user.svelte-1egy5tu{color:var(--blue)}.chat-timestamp.svelte-1egy5tu{font-size:11px;color:var(--text-2)}.chat-entry-content.svelte-1egy5tu{min-width:0;font-family:var(--mono);font-size:13px}.chat-user-text.svelte-1egy5tu{color:var(--text-0);white-space:pre-wrap}.badge.svelte-w1qana{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--radius);font-size:12px;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-breathe{0%,to{opacity:.4}50%{opacity:1}}@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}}.empty.svelte-wh20l9{color:var(--text-2);padding:24px;text-align:center;font-size:14px}.empty.small.svelte-wh20l9{padding:12px}.error.svelte-wh20l9{color:var(--red);padding:8px 0;font-size:13px}.section.svelte-wh20l9{margin-bottom:24px}.section-title.svelte-wh20l9{font-size:12px;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:12px;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:14px;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:14px;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:14px;color:var(--text-0);font-family:inherit}.setting-hint.svelte-wh20l9{font-size:13px;color:var(--text-2);flex-shrink:0}.save-btn.svelte-wh20l9{padding:4px 10px;font-size:12px;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:12px;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:12px;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:14px}.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:var(--mono);font-size:13px;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:11px;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:var(--mono);font-size:13px;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:13px;color:var(--text-0);font-family:var(--mono)}.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:11px;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:13px}.empty.svelte-l4ioia{color:var(--text-2);padding:24px;text-align:center;font-size:14px}.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:14px;font-weight:500;color:var(--text-0)}.skill-desc.svelte-l4ioia{font-size:13px;color:var(--text-1);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-meta.svelte-l4ioia{font-size:12px;color:var(--text-2);margin-top:2px}.skill-actions.svelte-l4ioia{flex-shrink:0}.installed-tag.svelte-l4ioia{font-size:12px;color:var(--text-2);font-style:italic}.action-btn.svelte-l4ioia{padding:4px 10px;font-size:12px;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:13px}.empty.svelte-jfofjj{color:var(--text-2);padding:12px 0;font-size:14px}.section-header.svelte-jfofjj{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.section-title.svelte-jfofjj{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}.add-btn.svelte-jfofjj{padding:4px 12px;font-size:12px;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:14px;font-weight:500;color:var(--text-0);display:flex;align-items:center;gap:8px}.skill-desc.svelte-jfofjj{font-size:13px;color:var(--text-1);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-meta.svelte-jfofjj{font-size:12px;color:var(--text-2);margin-top:2px}.update-badge.svelte-jfofjj{font-size:11px;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:12px;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)}.public-files.svelte-1feyap9{height:100%;display:flex;flex-direction:column}.empty.svelte-1feyap9{color:var(--text-2);font-size:13px;padding:24px;text-align:center}.error-text.svelte-1feyap9{color:var(--red)}.browser.svelte-1feyap9{display:flex;flex-direction:column;flex:1;min-height:0}.file-list.svelte-1feyap9{flex-shrink:0;max-height:40%;border-bottom:1px solid var(--border);overflow:auto;display:flex;flex-direction:column}.breadcrumb.svelte-1feyap9{display:flex;flex-wrap:wrap;padding:8px 10px;font-size:12px;border-bottom:1px solid var(--border);gap:0}.crumb.svelte-1feyap9{background:none;color:var(--accent);font-family:inherit;font-size:12px;padding:0;cursor:pointer}.crumb.svelte-1feyap9:hover{text-decoration:underline}.file-row.svelte-1feyap9{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:13px;color:var(--text-1);background:none;text-align:left;cursor:pointer;width:100%;border-bottom:1px solid var(--border)}.file-row.svelte-1feyap9:last-child{border-bottom:none}.file-row.svelte-1feyap9:hover{background:var(--bg-2)}.file-row.active.svelte-1feyap9{background:var(--accent-bg);color:var(--accent)}.file-icon.svelte-1feyap9{font-size:12px;flex-shrink:0}.file-name.svelte-1feyap9{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono)}.empty-dir.svelte-1feyap9{color:var(--text-2);font-size:12px;padding:16px;text-align:center}.preview.svelte-1feyap9{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.preview-header.svelte-1feyap9{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid var(--border);font-size:13px;flex-shrink:0}.preview-filename.svelte-1feyap9{font-family:var(--mono);color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-link.svelte-1feyap9{color:var(--accent);font-size:12px;text-decoration:none;flex-shrink:0;margin-left:8px}.preview-link.svelte-1feyap9:hover{text-decoration:underline}.preview-empty.svelte-1feyap9{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-2);font-size:13px}.preview-mime.svelte-1feyap9{font-family:var(--mono);font-size:12px}.download-link.svelte-1feyap9{color:var(--accent);font-size:13px;text-decoration:none}.download-link.svelte-1feyap9:hover{text-decoration:underline}.preview-text.svelte-1feyap9{flex:1;overflow:auto;padding:12px;background:var(--bg-0);font-family:var(--mono);font-size:13px;line-height:1.6;color:var(--text-0);white-space:pre-wrap;word-break:break-word;margin:0}.preview-text.svelte-1feyap9 code:where(.svelte-1feyap9){font-family:inherit;font-size:inherit}.preview-image.svelte-1feyap9{flex:1;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto;background:var(--bg-0)}.preview-image.svelte-1feyap9 img:where(.svelte-1feyap9){max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius)}.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:-20px;width:2px;background:var(--type-color);opacity:0;transition:opacity .15s;z-index:1}.event.svelte-173x8i5:hover:after{opacity:1}.event.expandable-summary.svelte-173x8i5:after,.event.turn-expanded.svelte-173x8i5:after{top:20px;background:repeating-linear-gradient(to bottom,var(--timeline-rail) 0px,var(--timeline-rail) 4px,var(--bg-1) 4px,var(--bg-1) 8px);opacity:1}.event.expandable-summary.svelte-173x8i5:hover:after,.event.turn-expanded.svelte-173x8i5:hover:after{background:repeating-linear-gradient(to bottom,var(--type-color) 0px,var(--type-color) 4px,var(--bg-1) 4px,var(--bg-1) 8px)}.event.collapsible.svelte-173x8i5{cursor:pointer}.summary-header.svelte-173x8i5{margin-bottom:4px}.summary-header.expanded.svelte-173x8i5{margin-left:14px}.summary-header-line.svelte-173x8i5{display:flex;align-items:center;gap:8px}.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:11px;color:var(--text-2);flex-shrink:0}.type-badge.svelte-173x8i5{font-size:11px;padding:1px 6px;border-radius:12px;font-weight:500}.channel-tag.svelte-173x8i5{font-size:11px;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-family:var(--mono);font-size:14px;line-height:1.6}.sender.svelte-173x8i5{font-size:12px;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:13px;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:12px;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:13px;color:var(--purple)}.model.svelte-173x8i5{color:var(--text-2);margin-left:6px;font-size:12px}.session-id.svelte-173x8i5{font-size:12px;color:var(--text-1);font-weight:600;margin-left:4px}.summary-text.svelte-173x8i5{font-size:13px;color:var(--text-0)}.session-tag.svelte-173x8i5{font-size:11px;color:var(--text-1);background:var(--bg-3);border:1px solid var(--border);padding:1px 6px;border-radius:var(--radius);cursor:pointer;margin-left:8px;font-family:var(--mono)}.session-tag.svelte-173x8i5:hover{background:var(--bg-2);color:var(--text-0)}.turn-loading.svelte-173x8i5{font-size:12px;color:var(--text-2);padding:8px 0 8px 16px;font-style:italic}.turn-connector.svelte-173x8i5{position:absolute;top:15px;left:22px;width:2px;bottom:12px;background:var(--border)}.turn-connector.svelte-173x8i5:after{content:"";position:absolute;top:0;left:-23px;width:23px;height:2px;background:var(--border)}.event.svelte-173x8i5:has(.summary-header:where(.svelte-173x8i5):hover,.branch-summary:where(.svelte-173x8i5):hover) .turn-connector:where(.svelte-173x8i5),.event.svelte-173x8i5:has(.summary-header:where(.svelte-173x8i5):hover,.branch-summary:where(.svelte-173x8i5):hover) .turn-connector:where(.svelte-173x8i5):after,.event.svelte-173x8i5:has(.summary-header:where(.svelte-173x8i5):hover,.branch-summary:where(.svelte-173x8i5):hover) .branch-return:where(.svelte-173x8i5){background:var(--text-0)}.turn-branch.svelte-173x8i5{position:relative;margin-left:-5px;padding-left:9px;padding-bottom:8px}.branch-return.svelte-173x8i5{position:absolute;bottom:6px;left:-16px;width:24px;height:2px;background:var(--border)}.branch-summary.svelte-173x8i5{position:relative;padding:6px 8px 6px 20px;cursor:pointer}.branch-summary.svelte-173x8i5:before{content:"";position:absolute;left:-5px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--text-0);z-index:1}.event-group.svelte-173x8i5{position:relative}.event-group.has-linked.svelte-173x8i5:after{content:"";position:absolute;left:-2px;top:12px;bottom:-20px;width:2px;background:var(--yellow);opacity:0;transition:opacity .15s;z-index:1}.event-group.has-linked.svelte-173x8i5:hover:after{opacity:1}.event-group.has-linked.svelte-173x8i5>.event:after{display:none}.linked-card.svelte-173x8i5{margin:4px 0 4px 20px;max-width:480px}.linked-card-chat.svelte-173x8i5{background:var(--bg-0);border:1px solid color-mix(in srgb,var(--blue) 25%,var(--border));border-radius:var(--radius-lg);overflow:hidden;font-size:13px}.linked-card-header.svelte-173x8i5{padding:4px 8px;font-weight:500;color:var(--text-1);border-bottom:1px solid color-mix(in srgb,var(--blue) 25%,var(--border));display:flex;align-items:center;gap:6px}.linked-card-icon.svelte-173x8i5{width:12px;height:12px;color:var(--blue);flex-shrink:0}.linked-card-label.svelte-173x8i5{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linked-card-msg.svelte-173x8i5{padding:2px 8px;font-family:var(--mono);font-size:12px}.linked-card-sender.svelte-173x8i5{font-weight:600;color:var(--accent);margin-right:6px}.linked-card-sender-user.svelte-173x8i5{color:var(--blue)}.open-chat-btn.svelte-dhei02{font-size:12px;padding:3px 12px;border-radius:var(--radius);cursor:pointer;background:var(--accent);border:1px solid var(--accent);color:var(--bg-0);font-weight:500;transition:opacity .15s}.open-chat-btn.svelte-dhei02:hover{opacity:.85}.read-only-chat.svelte-dhei02{flex:1;display:flex;flex-direction:column;min-height:0}.chat-empty.svelte-dhei02{color:var(--text-2);font-size:13px;padding:40px;text-align:center}.chat-scroll.svelte-dhei02{flex:1;overflow:auto;padding:12px 16px;min-height:0}.date-divider.svelte-dhei02{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--text-2);font-size:12px}.divider-line.svelte-dhei02{flex:1;height:1px;background:var(--border)}.chat-entry.svelte-dhei02{padding:2px 0}.chat-entry.new-sender.svelte-dhei02{margin-top:12px}.chat-entry.svelte-dhei02:first-child{margin-top:0}.chat-entry-header.svelte-dhei02{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.chat-sender.svelte-dhei02{font-size:14px;font-weight:600;color:var(--accent)}.chat-sender-user.svelte-dhei02{color:var(--blue)}.chat-timestamp.svelte-dhei02{font-size:12px;color:var(--text-2)}.chat-entry-content.svelte-dhei02{min-width:0;font-family:var(--mono);font-size:14px}.chat-user-text.svelte-dhei02{color:var(--text-0);white-space:pre-wrap}.turn-timeline.svelte-1i1dp8x{container-type:inline-size;position:relative;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.turn-scroll.svelte-1i1dp8x{flex:1;overflow-x:hidden;overflow-y:auto;padding:0 16px}.turn-track.svelte-1i1dp8x{position:relative;min-height:100%;max-width:1100px;margin:0 auto}.turn-row.svelte-1i1dp8x{display:flex;align-items:flex-start}.turn-time.svelte-1i1dp8x{width:60px;flex-shrink:0;font-size:11px;color:var(--text-2);padding-top:10px;text-align:right;padding-right:8px;white-space:nowrap}.turn-rail.svelte-1i1dp8x{width:2px;background:var(--timeline-rail);flex-shrink:0;align-self:stretch;position:relative;min-height:8px;overflow:visible}.turn-rail-expanded.svelte-1i1dp8x{background:linear-gradient(to bottom,var(--timeline-rail) 15px,transparent 15px),linear-gradient(to top,var(--timeline-rail) 15px,transparent 15px),repeating-linear-gradient(to bottom,var(--timeline-rail) 0px,var(--timeline-rail) 4px,transparent 4px,transparent 8px)}.turn-summary.svelte-1i1dp8x>.event:after{display:none}.turn-summary.svelte-1i1dp8x>.event>.marker{display:none}.turn-rail.svelte-1i1dp8x:before{content:"";position:absolute;top:15px;bottom:-15px;left:50%;width:2px;margin-left:-1px;background:var(--text-2);opacity:0;transition:opacity .15s;z-index:2;pointer-events:none}.turn-row.svelte-1i1dp8x:hover>.turn-rail:where(.svelte-1i1dp8x):not(.turn-rail-expanded):before,.turn-rail.svelte-1i1dp8x:not(.turn-rail-expanded):hover:before{opacity:1}.turn-rail-expanded.svelte-1i1dp8x:before{background:linear-gradient(to top,var(--text-2) 30px,transparent 30px),repeating-linear-gradient(to bottom,var(--text-2) 0px,var(--text-2) 4px,transparent 4px,transparent 8px)}.turn-rail-expanded.svelte-1i1dp8x:hover:before{opacity:1}.turn-rail.svelte-1i1dp8x:after{content:"";position:absolute;inset:0 -9px;cursor:pointer}.turn-summary.svelte-1i1dp8x .turn-connector:after{left:-35px;width:35px}.turn-summary.svelte-1i1dp8x .branch-return{left:-28px;width:36px}.turn-dot.svelte-1i1dp8x{position:absolute;top:12px;right:-2px;width:6px;height:6px;border-radius:50%;background:var(--text-2);z-index:3}.turn-summary.svelte-1i1dp8x .turn-connector{z-index:0}.turn-body.svelte-1i1dp8x{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;padding-left:12px;padding-right:12px}.turn-summary.svelte-1i1dp8x{min-width:0}@container (max-width: 400px){.turn-time.svelte-1i1dp8x{display:none}.turn-body.svelte-1i1dp8x{padding-left:8px;padding-right:4px}.turn-scroll.svelte-1i1dp8x{padding:0 8px}.turn-summary.svelte-1i1dp8x .turn-connector:after{left:-31px;width:31px}.turn-summary.svelte-1i1dp8x .branch-return{left:-24px;width:32px}}@container (min-width: 600px){.turn-body.svelte-1i1dp8x{flex-direction:row}.turn-summary.svelte-1i1dp8x{flex:1 1 300px;min-width:200px}.turn-cards.svelte-1i1dp8x{flex:0 1 360px;min-width:240px}}.feed-card-wrapper.svelte-1i1dp8x{padding:4px 0}.feed-card.svelte-1i1dp8x{background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:200px;overflow:hidden;transition:border-color .15s}.feed-card[role=button].svelte-1i1dp8x{cursor:pointer}.feed-card-header.svelte-1i1dp8x{padding:6px 8px 6px 10px;font-size:13px;font-weight:500;color:var(--text-1);border-bottom:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;gap:6px}.feed-card-icon.svelte-1i1dp8x{flex-shrink:0;width:14px;height:14px}.card-chat.svelte-1i1dp8x .feed-card-icon:where(.svelte-1i1dp8x){color:var(--blue)}.card-chat.svelte-1i1dp8x{border-color:color-mix(in srgb,var(--blue) 25%,var(--border))}.card-chat.svelte-1i1dp8x .feed-card-header:where(.svelte-1i1dp8x){border-bottom-color:color-mix(in srgb,var(--blue) 25%,var(--border))}.card-chat.svelte-1i1dp8x:hover{border-color:color-mix(in srgb,var(--blue) 50%,var(--border))}.feed-card-label.svelte-1i1dp8x{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.feed-card-meta.svelte-1i1dp8x{font-size:11px;color:var(--text-2);font-weight:400;flex-shrink:0;margin-left:auto}.feed-card-body.svelte-1i1dp8x{flex:1;overflow:auto;padding:10px 12px;min-height:0}.chat-body.svelte-1i1dp8x{padding:8px 12px}.chat-entry.svelte-1i1dp8x{padding:1px 0}.chat-entry.svelte-1i1dp8x:first-child{margin-top:0}.chat-sender.svelte-1i1dp8x{font-size:12px;font-weight:600;color:var(--accent)}.chat-sender-user.svelte-1i1dp8x{color:var(--blue)}.chat-entry-content.svelte-1i1dp8x{min-width:0;font-family:var(--mono);font-size:13px}.load-older.svelte-1i1dp8x{padding:8px 0 16px;text-align:center}.load-older-btn.svelte-1i1dp8x{padding:4px 14px;background:var(--bg-3);color:var(--text-1);border-radius:var(--radius);font-size:12px}.loading-more.svelte-1i1dp8x{text-align:center;color:var(--text-2);font-size:13px;padding:12px;animation:pulse 1.5s infinite}.jump-btn.svelte-1i1dp8x{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:13px;animation:fadeIn .2s ease both;z-index:10}.turn-pending.svelte-1i1dp8x{font-size:12px;color:var(--text-2);padding:8px 0;animation:pulse 1.5s infinite}.empty-hint.svelte-1i1dp8x{color:var(--text-2);font-size:13px;padding:40px 0;text-align:center}.error-hint.svelte-1i1dp8x{color:var(--red);font-size:14px;padding:40px 0;text-align:center}.mind-page.svelte-88sgku{animation:fadeIn .2s ease both;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;position:relative}.not-found.svelte-88sgku{color:var(--text-2);padding:40px;text-align:center}.section-content.svelte-88sgku{flex:1;min-height:0;overflow:auto}.files-section.svelte-88sgku{min-height:300px}.detail-section.svelte-88sgku{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.ext-iframe.svelte-88sgku{width:100%;height:100%;border:none;background:var(--bg-0)}.page-content-iframe.svelte-88sgku{background:#fff}.error.svelte-14apx5e{color:var(--red);padding:8px 12px;font-size:13px}.empty.svelte-14apx5e{color:var(--text-2);padding:24px;text-align:center;font-size:14px}.section-header.svelte-14apx5e{display:flex;align-items:center;justify-content:space-between;padding:0 0 12px;max-width:720px;margin:0 auto}.section-title.svelte-14apx5e{font-size:12px;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:12px;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;max-width:720px;margin:0 auto}.column-header.svelte-14apx5e{padding:0 0 4px}.column-label.svelte-14apx5e{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.03em;color:var(--text-3)}.skill-row.svelte-14apx5e{display:flex;align-items:center;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)}.default-toggle.svelte-14apx5e{flex-shrink:0;cursor:pointer;display:flex;align-items:center}.default-toggle.svelte-14apx5e input:where(.svelte-14apx5e){position:absolute;opacity:0;width:0;height:0}.toggle-track.svelte-14apx5e{display:inline-block;width:32px;height:18px;border-radius:9px;background:var(--bg-3);position:relative;transition:background .15s}.default-toggle.svelte-14apx5e input:where(.svelte-14apx5e):checked+.toggle-track:where(.svelte-14apx5e){background:var(--accent)}.toggle-thumb.svelte-14apx5e{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-2);transition:transform .15s,background .15s}.default-toggle.svelte-14apx5e input:where(.svelte-14apx5e):checked+.toggle-track:where(.svelte-14apx5e) .toggle-thumb:where(.svelte-14apx5e){transform:translate(14px);background:var(--bg-0)}.default-toggle.svelte-14apx5e input:where(.svelte-14apx5e):disabled+.toggle-track:where(.svelte-14apx5e){opacity:.5}.skill-info.svelte-14apx5e{flex:1;min-width:0}.skill-name.svelte-14apx5e{font-size:14px;font-weight:500;color:var(--text-0)}.skill-desc.svelte-14apx5e{font-size:13px;color:var(--text-1);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-meta.svelte-14apx5e{font-size:12px;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:12px;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:14px;font-weight:500}.count.svelte-y6pt47{color:var(--text-2);font-size:12px}.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:11px;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:12px;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:12px}.log-output.svelte-y6pt47{flex:1;overflow:auto;padding:12px;font-family:var(--mono);font-size:12px;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}.container.svelte-1j9xdsd{max-width:600px;animation:fadeIn .2s ease both}.user-list.svelte-1j9xdsd{display:flex;flex-direction:column;gap:6px}.user-card.svelte-1j9xdsd{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s}.user-card.svelte-1j9xdsd:hover,.user-card.expanded.svelte-1j9xdsd{border-color:var(--border-bright)}.user-row.svelte-1j9xdsd{display:flex;align-items:center;gap:10px;padding:10px 14px;width:100%;background:none;cursor:pointer;text-align:left}.status-dot.svelte-1j9xdsd{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.iridescent.svelte-1j9xdsd{animation:svelte-1j9xdsd-iridescent 3s ease-in-out infinite}@keyframes svelte-1j9xdsd-iridescent{0%{background:#4ade80}16%{background:#60a5fa}33%{background:#c084fc}50%{background:#f472b6}66%{background:#fbbf24}83%{background:#34d399}to{background:#4ade80}}.user-info.svelte-1j9xdsd{flex:1;min-width:0;display:flex;align-items:center;gap:6px}.display-name.svelte-1j9xdsd{font-weight:500;color:var(--text-0);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.username.svelte-1j9xdsd{font-size:12px;color:var(--text-2);flex-shrink:0}.type-icon.svelte-1j9xdsd{width:13px;height:13px;color:var(--text-2);flex-shrink:0}.row-actions.svelte-1j9xdsd{display:flex;align-items:center;gap:8px;flex-shrink:0}.expand-icon.svelte-1j9xdsd{color:var(--text-2);font-size:11px;transition:transform .15s;display:inline-block}.expand-icon.open.svelte-1j9xdsd{transform:rotate(90deg)}.role.svelte-1j9xdsd{font-size:12px;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:12px;font-weight:500}.detail-panel.svelte-1j9xdsd{padding:12px 14px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);margin-top:0}.field.svelte-1j9xdsd{display:flex;flex-direction:column;gap:3px}.field.svelte-1j9xdsd label:where(.svelte-1j9xdsd){font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}.field.svelte-1j9xdsd input:where(.svelte-1j9xdsd){background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;color:var(--text-0);font-size:13px;font-family:inherit}.field.svelte-1j9xdsd input:where(.svelte-1j9xdsd):focus{outline:none;border-color:var(--border-bright)}.field.svelte-1j9xdsd input:where(.svelte-1j9xdsd)::placeholder{color:var(--text-2)}.detail-actions.svelte-1j9xdsd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.left-actions.svelte-1j9xdsd{display:flex;align-items:center;gap:8px}.action-btn.svelte-1j9xdsd{padding:4px 8px;background:none;color:var(--text-2);font-size:12px;border-radius:var(--radius)}.action-btn.svelte-1j9xdsd:hover:not(:disabled){color:var(--text-0);background:var(--bg-3)}.action-btn.svelte-1j9xdsd:disabled{opacity:.4;cursor:not-allowed}.action-btn.danger.svelte-1j9xdsd{color:var(--red)}.action-btn.danger.svelte-1j9xdsd:hover:not(:disabled){background:var(--red-bg);color:var(--red)}.confirm-prompt.svelte-1j9xdsd{font-size:12px;color:var(--red);display:flex;align-items:center;gap:6px}.confirm-yes.svelte-1j9xdsd{padding:2px 8px;background:var(--red-bg);color:var(--red);font-size:12px;border-radius:var(--radius);font-weight:500}.confirm-yes.svelte-1j9xdsd:hover:not(:disabled){background:var(--red);color:var(--bg-0)}.confirm-no.svelte-1j9xdsd{padding:2px 8px;background:none;color:var(--text-2);font-size:12px;border-radius:var(--radius)}.confirm-no.svelte-1j9xdsd:hover{color:var(--text-0);background:var(--bg-3)}.save-btn.svelte-1j9xdsd{padding:4px 12px;background:var(--accent-dim);color:var(--accent);border-radius:var(--radius);font-size:12px;font-weight:500}.save-btn.svelte-1j9xdsd:disabled{opacity:.4;cursor:not-allowed}.save-btn.svelte-1j9xdsd:hover:not(:disabled){background:var(--accent);color:var(--bg-0)}.error.svelte-1j9xdsd{color:var(--red);font-size:12px}.empty.svelte-1j9xdsd{color:var(--text-2);text-align:center;padding:24px}.prompts-page.svelte-1yjhe9c{max-width:720px;margin:0 auto;animation:fadeIn .2s ease both}.error.svelte-1yjhe9c{color:var(--red);font-size:13px;margin-bottom:16px}.loading.svelte-1yjhe9c{color:var(--text-2);font-size:13px;padding:40px 0;text-align:center}.section.svelte-1yjhe9c{margin-bottom:8px}.section-header.svelte-1yjhe9c{display:flex;align-items:baseline;gap:8px;width:100%;padding:10px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;color:inherit;font:inherit}.section-header.svelte-1yjhe9c:hover{border-color:var(--border-bright)}.collapse-icon.svelte-1yjhe9c{font-size:10px;color:var(--text-2);width:12px;flex-shrink:0}.section-title.svelte-1yjhe9c{font-size:14px;font-weight:600;color:var(--text-0)}.section-subtitle.svelte-1yjhe9c{font-size:12px;color:var(--text-2)}.custom-count.svelte-1yjhe9c{font-size:11px;padding:1px 6px;border-radius:3px;background:var(--yellow-dim);color:var(--yellow);margin-left:auto}.section-body.svelte-1yjhe9c{padding:8px 0 0}.prompt-card.svelte-1yjhe9c{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:8px}.prompt-card.custom.svelte-1yjhe9c{border-color:var(--yellow-dim)}.prompt-header.svelte-1yjhe9c{display:flex;align-items:center;gap:8px;margin-bottom:4px}.prompt-key.svelte-1yjhe9c{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--text-0)}.custom-badge.svelte-1yjhe9c{font-size:11px;padding:1px 6px;border-radius:3px;background:var(--yellow-dim);color:var(--yellow)}.prompt-desc.svelte-1yjhe9c{font-size:13px;color:var(--text-2);margin-bottom:8px;line-height:1.5}.var-tags.svelte-1yjhe9c{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.var-tag.svelte-1yjhe9c{font-family:var(--mono);font-size:11px;padding:2px 6px;border-radius:3px;background:var(--bg-3);color:var(--accent);border:1px solid var(--border)}.prompt-content.svelte-1yjhe9c{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:13px;line-height:1.5;color:var(--text-1);white-space:pre-wrap;word-break:break-word;margin-bottom:8px}.prompt-content.svelte-1yjhe9c code:where(.svelte-1yjhe9c){font-family:inherit;font-size:inherit}.edit-area.svelte-1yjhe9c{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:14px;line-height:1.5;color:var(--text-0);resize:vertical;margin-bottom:8px}.edit-area.svelte-1yjhe9c:focus{outline:none;border-color:var(--accent)}.actions.svelte-1yjhe9c{display:flex;gap:6px}.btn.svelte-1yjhe9c{font-family:inherit;font-size:12px;padding:4px 10px;border-radius:var(--radius);cursor:pointer;border:1px solid transparent;transition:opacity .15s}.btn.svelte-1yjhe9c:disabled{opacity:.5;cursor:not-allowed}.btn-edit.svelte-1yjhe9c{background:var(--bg-3);color:var(--text-1);border-color:var(--border)}.btn-edit.svelte-1yjhe9c:hover{color:var(--text-0);border-color:var(--border-bright)}.btn-save.svelte-1yjhe9c{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border)}.btn-save.svelte-1yjhe9c:hover:not(:disabled){border-color:var(--accent)}.btn-cancel.svelte-1yjhe9c{background:var(--bg-3);color:var(--text-2);border-color:var(--border)}.btn-cancel.svelte-1yjhe9c:hover:not(:disabled){color:var(--text-1)}.btn-reset.svelte-1yjhe9c{background:var(--red-bg);color:var(--red);border-color:var(--red-border)}.btn-reset.svelte-1yjhe9c:hover:not(:disabled){border-color:var(--red)}.settings.svelte-4b0ckc{max-width:720px;margin:0 auto;animation:fadeIn .2s ease both}.error.svelte-4b0ckc{color:var(--red);font-size:13px;margin-top:8px}.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:15px;font-weight:600;color:var(--text-0)}.section-subtitle.svelte-4b0ckc{font-size:12px;color:var(--text-2)}.provider-card.svelte-4b0ckc{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:10px 16px;margin-bottom:6px}.provider-row.svelte-4b0ckc{display:flex;align-items:center;gap:8px}.provider-name.svelte-4b0ckc{font-size:13px;font-weight:500;color:var(--text-0);flex:1}.auth-badge.svelte-4b0ckc{font-size:11px;padding:1px 6px;border-radius:3px;background:var(--bg-3);color:var(--text-2)}.provider-actions.svelte-4b0ckc{display:flex;gap:6px}.add-provider-area.svelte-4b0ckc{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:12px;padding:20px 16px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg)}.add-provider-heading.svelte-4b0ckc{font-size:13px;color:var(--text-2);letter-spacing:.02em}.oauth-buttons.svelte-4b0ckc{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.btn-provider.svelte-4b0ckc{font-family:inherit;font-size:14px;font-weight:500;padding:10px 24px;border-radius:var(--radius-lg);cursor:pointer;border:1px solid var(--accent-border);background:var(--accent-dim);color:var(--accent);transition:border-color .15s,opacity .15s}.btn-provider.svelte-4b0ckc:hover:not(:disabled){border-color:var(--accent)}.btn-provider.svelte-4b0ckc:disabled{opacity:.5;cursor:not-allowed}.link-btn.svelte-4b0ckc{font-family:inherit;font-size:12px;color:var(--text-2);background:none;border:none;cursor:pointer;padding:2px 0;border-bottom:1px solid transparent;transition:color .15s,border-color .15s}.link-btn.svelte-4b0ckc:hover{color:var(--text-1);border-bottom-color:var(--text-2)}.modal-body.svelte-4b0ckc{padding:16px 20px 20px;display:flex;flex-direction:column;gap:10px}.modal-text.svelte-4b0ckc{font-size:13px;color:var(--text-2);margin:0}.modal-form.svelte-4b0ckc{display:flex;align-items:center;gap:6px}.modal-select.svelte-4b0ckc{width:100%}.oauth-steps.svelte-4b0ckc{display:flex;flex-direction:column;gap:6px}.oauth-step.svelte-4b0ckc{font-size:13px;color:var(--text-1);display:flex;align-items:baseline;gap:8px}.step-num.svelte-4b0ckc{font-size:11px;font-weight:600;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-3);color:var(--text-2);flex-shrink:0}.oauth-link.svelte-4b0ckc{color:var(--accent);font-size:13px;word-break:break-all}.provider-models.svelte-4b0ckc{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.model-tags.svelte-4b0ckc{display:flex;flex-wrap:wrap;gap:6px}.model-tag.svelte-4b0ckc{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:3px 8px;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-0)}.model-tag-remove.svelte-4b0ckc{background:none;border:none;color:var(--text-2);cursor:pointer;font-size:11px;padding:0 2px;line-height:1}.model-tag-remove.svelte-4b0ckc:hover{color:var(--red)}.btn-add-model.svelte-4b0ckc{font-size:11px;padding:2px 8px}.model-list.svelte-4b0ckc{max-height:260px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius)}.model-option.svelte-4b0ckc{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text-0);cursor:pointer;text-align:left}.model-option.svelte-4b0ckc:last-child{border-bottom:none}.model-option.svelte-4b0ckc:hover{background:var(--bg-3)}.model-id.svelte-4b0ckc{color:var(--text-0);flex:1}.btn.svelte-4b0ckc{font-family:inherit;font-size:12px;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)}.system-card.svelte-4b0ckc{display:flex;align-items:center;gap:12px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.system-info.svelte-4b0ckc{display:flex;align-items:baseline;gap:8px;flex:1}.system-label.svelte-4b0ckc{font-size:13px;color:var(--text-2)}.system-name.svelte-4b0ckc{font-size:14px;font-weight:600;color:var(--text-0)}.system-actions.svelte-4b0ckc{display:flex;gap:6px}.system-form.svelte-4b0ckc{display:flex;align-items:center;gap:6px;flex:1}.system-input.svelte-4b0ckc{flex:1;padding:6px 10px;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-0);font-size:13px;outline:none}.system-input.svelte-4b0ckc:focus{border-color:var(--border-bright)}.dim.svelte-4b0ckc{color:var(--text-2);font-size:12px}.settings-page.svelte-18esbge{display:flex;flex-direction:column;height:100%;animation:fadeIn .2s ease both}.settings-header.svelte-18esbge{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 16px;flex-shrink:0}.tab-row.svelte-18esbge{display:flex;gap:0}.settings-tab.svelte-18esbge{padding:10px 14px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-2);font-size:13px;cursor:pointer;white-space:nowrap}.settings-tab.svelte-18esbge:hover{color:var(--text-1)}.settings-tab.active.svelte-18esbge{color:var(--text-0);border-bottom-color:var(--accent)}.restart-area.svelte-18esbge{display:flex;align-items:center;gap:8px;flex-shrink:0}.restart-error.svelte-18esbge{font-size:12px;color:var(--red, #f87171)}.restart-btn.svelte-18esbge{background:none;border:1px solid var(--border);color:var(--text-2);font-size:12px;padding:4px 10px;border-radius:var(--radius);cursor:pointer;flex-shrink:0}.restart-btn.svelte-18esbge:hover:not(:disabled){color:var(--text-1);border-color:var(--border-bright)}.restart-btn.svelte-18esbge:disabled{opacity:.5}.settings-body.svelte-18esbge{flex:1;overflow:auto;padding:16px}.image-strip.svelte-18vyazk{display:flex;gap:8px;padding:4px 16px;overflow-x:auto}.image-preview.svelte-18vyazk{position:relative;flex-shrink:0}.preview-thumb.svelte-18vyazk{height:60px;border-radius:var(--radius);border:1px solid var(--border)}.remove-image.svelte-18vyazk{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--bg-3);color:var(--text-1);font-size:12px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);cursor:pointer;padding:0}.file-strip.svelte-18vyazk{display:flex;gap:8px;padding:4px 16px;overflow-x:auto;flex-wrap:wrap}.file-preview.svelte-18vyazk{display:flex;align-items:center;gap:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:4px 8px;font-size:12px;color:var(--text-1)}.file-name.svelte-18vyazk{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-area.svelte-18vyazk{padding:8px 16px 16px;display:flex}.input-box.svelte-18vyazk{flex:1;display:flex;align-items:flex-end;gap:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:20px;padding:4px 6px;transition:border-color .15s;position:relative}.input-box.focused.svelte-18vyazk{border-color:var(--border-bright)}.chat-input.svelte-18vyazk{flex:1;background:transparent;border:none;padding:6px 4px;color:var(--text-0);font-family:var(--mono);font-size:14px;resize:none;outline:none;overflow:hidden;line-height:1.4}.inline-btn.svelte-18vyazk{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:transparent;color:var(--text-2);cursor:pointer;transition:all .15s;padding:0}.inline-btn.svelte-18vyazk:hover{background:var(--bg-3);color:var(--text-1)}.inline-btn.send.active.svelte-18vyazk{background:var(--accent-dim);color:var(--accent)}.inline-btn.send.svelte-18vyazk:disabled{opacity:.3;cursor:default}.inline-btn.send.svelte-18vyazk:disabled:hover{background:transparent}.attach-menu.svelte-18vyazk{position:absolute;bottom:calc(100% + 6px);left:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:4px;display:flex;flex-direction:column;gap:2px;z-index:10;box-shadow:0 4px 12px #0000004d}.attach-menu.svelte-18vyazk button:where(.svelte-18vyazk){background:transparent;border:none;color:var(--text-1);padding:6px 14px;border-radius:var(--radius);font-size:13px;cursor:pointer;text-align:left;white-space:nowrap}.attach-menu.svelte-18vyazk button:where(.svelte-18vyazk):hover{background:var(--bg-3)}@media(max-width:767px){.chat-input.svelte-18vyazk{font-size:16px}.input-area.svelte-18vyazk{padding-bottom:max(16px,env(safe-area-inset-bottom))}}.tool-block.svelte-11dtec0{margin-bottom:8px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-size:13px}.tool-header.svelte-11dtec0{width:100%;display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg-3);font-size:13px;font-family:var(--mono);text-align:left}.tool-label.svelte-11dtec0{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.tool-arrow.svelte-11dtec0{color:var(--text-2);margin-right:6px}.tool-status.svelte-11dtec0{color:var(--accent);font-size:11px;flex-shrink:0;margin-left:8px}.tool-status.error.svelte-11dtec0{color:var(--red)}.tool-detail.svelte-11dtec0{padding:10px;background:var(--bg-1)}.tool-section-label.svelte-11dtec0{margin-bottom:6px;color:var(--text-2)}.tool-pre.svelte-11dtec0{color:var(--text-1);white-space:pre-wrap;word-break:break-all;font-size:12px;line-height:1.5}.tool-output.svelte-11dtec0{max-height:200px;overflow:auto}.tool-output.error.svelte-11dtec0{color:var(--red)}.entry.svelte-16zmiqs{padding:2px 0;animation:fadeIn .2s ease both}.entry.new-sender.svelte-16zmiqs{margin-top:12px}.entry-header.svelte-16zmiqs{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.sender.svelte-16zmiqs{font-size:14px;font-weight:600}.sender-link.svelte-16zmiqs{background:none;border:none;padding:0;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.sender-link.svelte-16zmiqs:hover{text-decoration:underline}.timestamp.svelte-16zmiqs{font-size:12px;color:var(--text-2)}.inline-time.svelte-16zmiqs{display:block;margin-bottom:2px}.entry-content.svelte-16zmiqs{min-width:0;font-family:var(--mono);font-size:14px}.user-text.svelte-16zmiqs{color:var(--text-0);white-space:pre-wrap}.chat-image.svelte-16zmiqs{max-width:300px;max-height:200px;border-radius:var(--radius);margin-top:4px}.messages.svelte-tjsfkk{flex:1;overflow:auto;padding:16px}.empty.svelte-tjsfkk{color:var(--text-2);text-align:center;padding:40px;font-size:14px}.error.svelte-tjsfkk{color:var(--red)}.loading-older.svelte-tjsfkk{text-align:center;padding:8px;font-size:13px;color:var(--text-2)}.load-more.svelte-tjsfkk{text-align:center;padding:8px}.load-more-btn.svelte-tjsfkk{font-size:13px;color:var(--text-2);background:none;border:1px solid var(--border);border-radius:var(--radius);padding:4px 12px;cursor:pointer}.load-more-btn.svelte-tjsfkk:hover{color:var(--text-1);border-color:var(--border-bright)}.divider.svelte-tjsfkk{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-2);font-size:12px;letter-spacing:.03em}.divider-line.svelte-tjsfkk{flex:1;height:1px;background:var(--border)}.typing.svelte-em2dtd{padding:4px 0;font-size:13px;color:var(--text-2);animation:pulse 1.5s ease infinite}.chat.svelte-6z343n{display:flex;flex-direction:column;height:100%;padding:0}.orientation-bar.svelte-6z343n{padding:6px 12px;text-align:center;color:var(--yellow);font-size:12px;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:14px;font-weight:600;color:var(--text-0)}@media(max-width:1024px){.channel-header.svelte-6z343n{display:none}}.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}.frame-content.mind-frame.svelte-n1trtr{overflow:hidden}.page-iframe.svelte-n1trtr{width:100%;height:100%;border:none;background:#fff}.mobile-header.svelte-n1trtr{display:none;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-1)}.hamburger-btn.svelte-n1trtr{display:none;background:none;border:none;color:var(--text-1);font-size:18px;padding:4px 8px;border-radius:var(--radius);cursor:pointer}.hamburger-btn.svelte-n1trtr:hover{background:var(--bg-2)}.mobile-logo.svelte-n1trtr{width:20px;height:20px;filter:invert(1)}.mobile-title.svelte-n1trtr{font-family:var(--display);font-size:18px;font-weight:300;color:var(--text-0);letter-spacing:.04em;margin-left:-4px}.context-label-btn.svelte-n1trtr{margin-left:auto;background:none;border:none;color:var(--text-1);font-size:14px;font-weight:500;padding:4px 0;text-align:right;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-label-btn.svelte-n1trtr:hover{color:var(--accent)}@media(max-width:767px){.frame-content.padded.svelte-n1trtr{padding:16px}}.mind-clock.svelte-96nwhr{border-bottom:1px solid var(--border);padding:0 16px 10px;display:flex;flex-direction:column;gap:6px}.clock-row.svelte-96nwhr{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-1)}.clock-row.disabled.svelte-96nwhr{opacity:.4}.clock-icon.svelte-96nwhr{width:13px;height:13px;flex-shrink:0;color:var(--text-2)}.sleep-row.svelte-96nwhr .clock-icon:where(.svelte-96nwhr){color:var(--purple)}.clock-label.svelte-96nwhr{font-weight:500;white-space:nowrap}.clock-detail.svelte-96nwhr{color:var(--text-2);margin-left:auto;text-align:right;white-space:nowrap;font-size:11px}.schedule-list.svelte-96nwhr{display:flex;flex-direction:column;gap:4px}.upcoming-section.svelte-96nwhr{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:11px;color:var(--text-2);margin-top:4px;padding-top:6px;border-top:1px solid var(--border)}.upcoming-label.svelte-96nwhr{font-weight:500;color:var(--text-1)}.upcoming-item.svelte-96nwhr{white-space:nowrap}.mind-panel.svelte-1trk2s9{display:flex;flex-direction:column;height:100%;background:var(--bg-1);width:100%;overflow:hidden;position:relative}.floating-btns.svelte-1trk2s9{position:absolute;top:8px;left:8px;z-index:1;display:flex;gap:4px}.floating-btn.svelte-1trk2s9{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--bg-2);border:1px solid var(--border);color:var(--text-2);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.floating-btn.svelte-1trk2s9:hover{color:var(--text-0);border-color:var(--border-bright);background:var(--bg-3)}.floating-btn.svelte-1trk2s9 svg:where(.svelte-1trk2s9){width:16px;height:16px}.panel-body.svelte-1trk2s9{flex:1;overflow:auto;min-height:0;display:flex;flex-direction:column}.profile-section.svelte-1trk2s9{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px 16px}.profile-avatar.svelte-1trk2s9{width:96px;height:96px;border-radius:var(--radius);object-fit:cover}.profile-name.svelte-1trk2s9{font-family:var(--display);font-size:20px;font-weight:300;color:var(--text-0);letter-spacing:.02em;margin-top:4px}.profile-description.svelte-1trk2s9{font-size:14px;color:var(--text-1);text-align:center;max-width:320px;margin:4px 0 0;line-height:1.4}.profile-meta.svelte-1trk2s9{font-size:12px;color:var(--text-2);margin-top:4px}.history-section.svelte-1trk2s9{flex:1;min-height:0;padding:0 16px;border-top:1px solid var(--border)}.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:15px}.field.svelte-esytdb{display:flex;flex-direction:column;gap:4px}.label.svelte-esytdb{color:var(--text-2);font-size:12px}.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:14px;outline:none;font-family:inherit}.select.svelte-esytdb{appearance:auto}.error.svelte-esytdb{color:var(--red);font-size:12px}.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:13px;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:13px;font-weight:600}.advanced-toggle.svelte-esytdb{background:transparent;color:var(--text-2);font-size:12px;font-family:inherit;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:13px;line-height:1.5}.hint.svelte-esytdb{color:var(--text-2);font-size:11px;font-family:inherit}.skill-list.svelte-esytdb{display:flex;flex-direction:column;gap:4px}.skill-item.svelte-esytdb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-1);cursor:pointer}.skill-name.svelte-esytdb{font-family:var(--mono)}.sidebar-inner.svelte-1czeook{display:flex;flex-direction:column;height:100%;overflow:hidden}.sections.svelte-1czeook{flex:1;overflow-y:auto;overflow-x:hidden;padding-top:4px}.section.svelte-1czeook{margin-bottom:2px}.section-header-row.svelte-1czeook{display:flex;align-items:center;padding:6px 8px 6px 12px}.section-label.svelte-1czeook{flex:1;color:var(--text-2);font-family:var(--display);font-size:16px;font-weight:300;letter-spacing:.02em}.section-toggle.svelte-1czeook{display:flex;align-items:center;gap:4px;width:100%;padding:6px 12px;background:none;color:var(--text-2);font-family:var(--display);font-size:16px;font-weight:300;letter-spacing:.02em;text-align:left;border-radius:var(--radius);margin:0 4px}.section-toggle.svelte-1czeook:hover{color:var(--text-1)}.section-toggle.active.svelte-1czeook{color:var(--text-0);background:var(--bg-2)}.section-add.svelte-1czeook{background:none;color:var(--text-2);font-size:15px;padding:2px 6px;border-radius:var(--radius);flex-shrink:0}.section-add.svelte-1czeook:hover{color:var(--text-0);background:var(--bg-2)}.mind-list.svelte-1czeook{display:flex;flex-direction:column}.mind-item.svelte-1czeook{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px 6px 26px;font-size:14px;color:var(--text-1);transition:background .1s;cursor:pointer;background:none;text-align:left;margin:0 4px;border-radius:var(--radius)}.mind-item.svelte-1czeook:hover{background:var(--bg-2)}.mind-item.active.svelte-1czeook{background:var(--bg-2);color:var(--text-0)}.mind-item-name.svelte-1czeook{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.status-dot.svelte-1czeook{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.iridescent.svelte-1czeook{animation:svelte-1czeook-iridescent 3s ease-in-out infinite}@keyframes svelte-1czeook-iridescent{0%{background:#4ade80}16%{background:#60a5fa}33%{background:#c084fc}50%{background:#f472b6}66%{background:#fbbf24}83%{background:#34d399}to{background:#4ade80}}@media(max-width:767px){.mind-item.svelte-1czeook{padding:10px 12px 10px 26px}.section-toggle.svelte-1czeook{padding:8px 12px}.status-dot.svelte-1czeook{width:8px;height:8px}}.tab-switcher.svelte-1dj0bxl{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-1)}.tab-btn.svelte-1dj0bxl{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 0;background:none;color:var(--text-2);font-family:var(--display);font-size:14px;font-weight:400;letter-spacing:.03em;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s}.tab-btn.svelte-1dj0bxl:hover{color:var(--text-1)}.tab-btn.active.svelte-1dj0bxl{color:var(--text-0);border-bottom-color:var(--accent)}.unread-badge.svelte-1dj0bxl{font-size:10px;font-weight:600;font-family:var(--sans);background:var(--accent);color:var(--bg-0);padding:1px 5px;border-radius:8px;line-height:1.2}.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:13px;font-family:inherit;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:12px;font-family:inherit;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:13px;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:12px;color:var(--text-2);margin-bottom:4px}input.svelte-1453wyc,textarea.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:13px;font-family:inherit;box-sizing:border-box;resize:vertical}input.svelte-1453wyc:focus,textarea.svelte-1453wyc:focus{outline:none;border-color:var(--accent)}.avatar-section.svelte-1453wyc{display:flex;align-items:center;gap:12px;margin-bottom:12px}.avatar-preview.svelte-1453wyc{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.avatar-img.svelte-1453wyc{width:100%;height:100%;object-fit:cover}.avatar-placeholder.svelte-1453wyc{font-size:18px;color:var(--text-2)}.avatar-actions.svelte-1453wyc{display:flex;gap:8px;align-items:center}.avatar-upload-btn.svelte-1453wyc{padding:4px 10px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-1);font-size:12px;cursor:pointer}.avatar-upload-btn.svelte-1453wyc:hover{border-color:var(--border-bright)}.remove-btn.svelte-1453wyc{padding:4px 10px;background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--red);font-size:12px;cursor:pointer}.remove-btn.svelte-1453wyc:hover{background:var(--red-bg)}.save-btn.svelte-1453wyc{margin-top:4px;padding:6px 14px;background:var(--accent-dim);color:var(--accent);border-radius:var(--radius);font-size:12px;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:12px;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)}.divider.svelte-1453wyc{border:none;border-top:1px solid var(--border);margin:16px 0}.container.svelte-4jav11{display:flex;align-items:center;justify-content:center;height:100%;padding:24px}.card.svelte-4jav11{width:360px;padding:32px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg)}.branding.svelte-4jav11{margin-bottom:24px;text-align:center}.logo-row.svelte-4jav11{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:4px}.logo-wrap.svelte-4jav11{position:relative;width:34px;height:34px;flex-shrink:0}.login-spiral.svelte-4jav11{width:34px;height:34px;filter:invert(1);transition:opacity .15s}.hover-dot.svelte-4jav11{position:absolute;inset:0;margin:auto;width:10px;height:10px;border-radius:50%;opacity:0;transition:opacity .15s;animation:svelte-4jav11-iridescent 3s ease-in-out infinite}.card.svelte-4jav11:hover .login-spiral:where(.svelte-4jav11){opacity:0}.card.svelte-4jav11:hover .hover-dot:where(.svelte-4jav11){opacity:1}.logo.svelte-4jav11{font-family:var(--display);font-size:31px;font-weight:300;color:var(--text-0);letter-spacing:.04em;margin-top:-4px}@keyframes svelte-4jav11-iridescent{0%{background:#4ade80}16%{background:#60a5fa}33%{background:#c084fc}50%{background:#f472b6}66%{background:#fbbf24}83%{background:#34d399}to{background:#4ade80}}.subtitle.svelte-4jav11{color:var(--text-1);font-size:14px;margin-bottom:20px;text-align:center}.label.svelte-4jav11{display:block;color:var(--text-1);font-size:13px;margin-bottom:6px}.input.svelte-4jav11{width:100%;padding:10px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-0);font-family:inherit;font-size:14px;outline:none}.input.svelte-4jav11:focus{border-color:var(--border-bright)}.hint.svelte-4jav11{color:var(--text-2);font-size:12px;margin-top:6px}.error.svelte-4jav11{color:var(--red);font-size:13px;margin-top:8px}.submit-btn.svelte-4jav11{width:100%;padding:10px 16px;margin-top:16px;background:var(--accent-dim);color:var(--accent);border-radius:var(--radius);font-size:14px;font-weight:500;font-family:inherit;border:none;cursor:pointer}.done.svelte-4jav11{text-align:center}.done-icon.svelte-4jav11{font-size:32px;color:var(--green);margin-bottom:12px}.done-text.svelte-4jav11{font-size:18px;font-weight:500;color:var(--text-0);margin-bottom:8px}.done-hint.svelte-4jav11{color:var(--text-2);font-size:13px;margin-bottom:16px}.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}.sidebar-header.svelte-14lg4b7{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;flex-shrink:0;background:none;cursor:pointer;border-bottom:1px solid var(--border)}.header-logo-wrap.svelte-14lg4b7{position:relative;width:30px;height:30px;flex-shrink:0}.sidebar-logo.svelte-14lg4b7{width:30px;height:30px;filter:invert(1);transition:opacity .15s}.hover-dot.svelte-14lg4b7{position:absolute;inset:0;margin:auto;width:10px;height:10px;border-radius:50%;opacity:0;transition:opacity .15s;animation:svelte-14lg4b7-iridescent 3s ease-in-out infinite}.sidebar-header.svelte-14lg4b7:hover .sidebar-logo:where(.svelte-14lg4b7){opacity:0}.sidebar-header.svelte-14lg4b7:hover .hover-dot:where(.svelte-14lg4b7){opacity:1}.sidebar-title.svelte-14lg4b7{font-family:var(--display);font-size:26px;font-weight:300;color:var(--text-0);letter-spacing:.04em;margin-top:-4px;margin-left:-4px}@keyframes svelte-14lg4b7-iridescent{0%{background:#4ade80}16%{background:#60a5fa}33%{background:#c084fc}50%{background:#f472b6}66%{background:#fbbf24}83%{background:#34d399}to{background:#4ade80}}.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)}.content-area.svelte-14lg4b7{flex:1;display:flex;overflow:hidden;min-width:0}.main-column.svelte-14lg4b7{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;padding:0 8px 8px 3px}.main-column.has-right-panel.svelte-14lg4b7{padding-right:3px}.main-frame.svelte-14lg4b7{flex:1;overflow:hidden;min-width:0;background:var(--bg-1);border-radius:var(--radius-lg);border:1px solid var(--border)}.page-header.svelte-14lg4b7{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;flex-shrink:0}.header-hamburger.svelte-14lg4b7{display:none;align-items:center;justify-content:center;background:none;border:none;color:var(--text-1);font-size:18px;padding:4px 8px;border-radius:var(--radius);cursor:pointer;flex-shrink:0}.header-hamburger.svelte-14lg4b7:hover{background:var(--bg-2)}.page-breadcrumbs.svelte-14lg4b7{display:flex;align-items:baseline;gap:8px;font-family:var(--display);font-size:18px;font-weight:300;color:var(--text-0);letter-spacing:.02em;min-width:0;overflow:hidden}.crumb-sep.svelte-14lg4b7{color:var(--text-2);font-size:14px}.crumb-link.svelte-14lg4b7{background:none;border:none;padding:0;font:inherit;color:var(--text-2);cursor:pointer}.crumb-link.svelte-14lg4b7:hover{color:var(--text-0)}.crumb-current.svelte-14lg4b7{color:var(--text-0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mind-section-tabs.svelte-14lg4b7{display:flex;align-items:center;gap:2px}.mind-section-tab.svelte-14lg4b7{position:relative;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:5px 7px;color:var(--text-2);cursor:pointer;border-radius:var(--radius);transition:color .15s,background .15s}.mind-section-tab.svelte-14lg4b7:hover{color:var(--text-1);background:var(--bg-2)}.mind-section-tab.active.svelte-14lg4b7{color:var(--text-0);background:var(--bg-2)}.tab-icon.svelte-14lg4b7{width:16px;height:16px}.tab-icon.svelte-14lg4b7 svg{width:16px;height:16px}.tab-tooltip.svelte-14lg4b7{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;padding:4px 10px;background:var(--bg-3);color:var(--text-0);font-family:var(--sans);font-size:12px;border-radius:var(--radius);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;border:1px solid var(--border);z-index:10}.mind-section-tab.svelte-14lg4b7:hover .tab-tooltip:where(.svelte-14lg4b7){opacity:1}.header-actions.svelte-14lg4b7{display:flex;align-items:center;gap:8px}.user-menu-anchor.svelte-14lg4b7{position:relative}.user-avatar-btn.svelte-14lg4b7{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:none;border:1px solid var(--border);padding:0;cursor:pointer;overflow:hidden;color:var(--text-2)}.user-avatar-btn.svelte-14lg4b7:hover{border-color:var(--border-bright);color:var(--text-1)}.user-avatar-img.svelte-14lg4b7{width:100%;height:100%;object-fit:cover}.user-avatar-btn.svelte-14lg4b7 svg:where(.svelte-14lg4b7){width:14px;height:14px}.user-dropdown.svelte-14lg4b7{position:absolute;top:calc(100% + 4px);right: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}.user-dropdown-item.svelte-14lg4b7{display:block;width:100%;text-align:left;padding:6px 12px;background:none;color:var(--text-1);font-size:13px;white-space:nowrap;border:none;cursor:pointer}.user-dropdown-item.svelte-14lg4b7:hover{background:var(--bg-3);color:var(--text-0)}.panel-reopen.svelte-14lg4b7{background:none;border:none;color:var(--text-2);padding:4px;cursor:pointer;border-radius:var(--radius);display:flex;align-items:center}.panel-reopen.svelte-14lg4b7:hover{color:var(--text-1);background:var(--bg-2)}.panel-reopen.svelte-14lg4b7 svg:where(.svelte-14lg4b7){width:16px;height:16px}.right-panel.svelte-14lg4b7{flex-shrink:0;border-left:1px solid var(--border);overflow:hidden;position:relative}.panel-close.svelte-14lg4b7{position:absolute;top:8px;right:8px;z-index:1;background:none;border:none;color:var(--text-2);font-size:18px;padding:4px 8px;cursor:pointer;border-radius:var(--radius)}.panel-close.svelte-14lg4b7:hover{color:var(--text-0);background:var(--bg-2)}.right-panel-backdrop.svelte-14lg4b7,.sidebar-backdrop.svelte-14lg4b7{display:none}@media(max-width:1024px){.right-panel.svelte-14lg4b7{position:fixed;top:0;right:0;bottom:0;z-index:40;width:min(360px,100vw)!important}.right-resize-handle.svelte-14lg4b7{display:none}.right-panel-backdrop.svelte-14lg4b7{display:block;position:fixed;inset:0;background:#00000080;z-index:39}}@media(max-width:767px){.sidebar.svelte-14lg4b7{position:fixed;top:0;left:0;bottom:0;z-index:50;width:280px!important;transform:translate(-100%);transition:transform .2s ease}.sidebar.sidebar-open.svelte-14lg4b7{transform:translate(0);overflow:visible}.sidebar-backdrop.svelte-14lg4b7{display:block;position:fixed;inset:0;background:#00000080;z-index:49}.resize-handle.svelte-14lg4b7{display:none}.main-column.svelte-14lg4b7{padding-left:8px}}@media(max-width:767px){.sidebar-header.svelte-14lg4b7{display:none}.header-hamburger.svelte-14lg4b7{display:flex}.page-breadcrumbs.svelte-14lg4b7{font-size:15px}}@media(min-width:768px)and (max-width:1024px){.sidebar.svelte-14lg4b7{width:200px!important}.resize-handle.svelte-14lg4b7{display:none}.main-column.svelte-14lg4b7{padding-left:8px}}html.electron .sidebar-header.svelte-14lg4b7{padding-left:var(--traffic-light-width, 0px);justify-content:flex-start;min-height:var(--titlebar-height, 38px);padding-top:0;padding-bottom:0;gap:4px;-webkit-app-region:drag;cursor:default}html.electron .sidebar-header.svelte-14lg4b7 .sidebar-logo:where(.svelte-14lg4b7){width:16px;height:16px}html.electron .sidebar-header.svelte-14lg4b7 .header-logo-wrap:where(.svelte-14lg4b7){width:16px;height:16px}html.electron .sidebar-header.svelte-14lg4b7 .hover-dot:where(.svelte-14lg4b7){width:6px;height:6px}html.electron .sidebar-header.svelte-14lg4b7 .sidebar-title:where(.svelte-14lg4b7){font-size:15px;margin-top:-1px;margin-left:0}html.electron .page-header.svelte-14lg4b7{-webkit-app-region:drag}html.electron .page-header.svelte-14lg4b7 button:where(.svelte-14lg4b7),html.electron .page-header.svelte-14lg4b7 .user-menu-anchor:where(.svelte-14lg4b7){-webkit-app-region:no-drag}: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: #e0a860;--accent-dim: #5c4428;--accent-bg: rgba(224, 168, 96, .08);--red: #f87171;--red-dim: #7f1d1d;--yellow: #fbbf24;--yellow-dim: #78350f;--blue: #60a5fa;--purple: #c084fc;--green: #4ade80;--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(224, 168, 96, .2);--timeline-rail: #333;--mono: "Fira Code", "SF Mono", monospace;--sans: "Averia Sans Libre", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--display: "Averia Serif Libre", Georgia, serif;--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(--sans);font-size:15px;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}input,select,textarea,button{font-family:inherit}button{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:13px;line-height:1.5}.markdown-body code{font-family:var(--mono);font-size:13px;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:15px}.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:13px}.markdown-body th{background:var(--bg-3);font-weight:600}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:12px 0}html.electron{--titlebar-height: 38px;--traffic-light-width: 78px}
@@ -1 +0,0 @@
1
- .comment-section.svelte-1ku848x{display:flex;flex-direction:column;gap:12px}.section-header.svelte-1ku848x{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--text-1);margin:0}.comment-list.svelte-1ku848x{display:flex;flex-direction:column;gap:10px}.comment.svelte-1ku848x{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.comment-header.svelte-1ku848x{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.author.svelte-1ku848x{font-size:13px;font-weight:500;color:var(--accent)}.date.svelte-1ku848x{font-size:12px;color:var(--text-2)}.delete-btn.svelte-1ku848x{margin-left:auto;background:none;border:none;font-size:12px;color:var(--text-2);cursor:pointer;padding:0;transition:color .15s}.delete-btn.svelte-1ku848x:hover{color:#e55}.comment-body.svelte-1ku848x{font-size:14px;color:var(--text-0);white-space:pre-wrap;word-break:break-word}.compose.svelte-1ku848x{display:flex;gap:10px;align-items:flex-start}.compose-avatar.svelte-1ku848x{flex-shrink:0;width:32px;height:32px;margin-top:2px}.avatar-img.svelte-1ku848x{width:32px;height:32px;border-radius:50%;object-fit:cover}.avatar-fallback.svelte-1ku848x{width:32px;height:32px;border-radius:50%;background:var(--bg-3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--text-2)}.compose-box.svelte-1ku848x{flex:1;display:flex;flex-direction:column;gap:6px}.compose-input.svelte-1ku848x{width:100%;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:8px 12px;color:var(--text-0);font-family:var(--sans);font-size:14px;resize:none;outline:none;transition:border-color .15s;box-sizing:border-box}.compose-input.svelte-1ku848x:focus{border-color:var(--border-bright)}.compose-footer.svelte-1ku848x{display:flex;justify-content:flex-end}.submit-btn.svelte-1ku848x{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:var(--bg-3);color:var(--text-2);border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.submit-btn.active.svelte-1ku848x{background:var(--accent-dim);color:var(--accent)}.submit-btn.svelte-1ku848x:disabled{cursor:default;opacity:.5}.note-view.svelte-1n5zw0o{max-width:640px;margin:0 auto}.back-btn.svelte-1n5zw0o{background:none;border:none;color:var(--text-2);font-size:13px;cursor:pointer;padding:0;margin-bottom:16px}.back-btn.svelte-1n5zw0o:hover{color:var(--text-1)}.error.svelte-1n5zw0o{font-size:13px;color:var(--red);margin-bottom:12px}.status.svelte-1n5zw0o{color:var(--text-2);font-size:14px;padding:32px 0;text-align:center}.note.svelte-1n5zw0o{margin-bottom:32px}.reply-to-link.svelte-1n5zw0o{background:none;border:none;font-size:13px;color:var(--text-2);cursor:pointer;padding:0;margin-bottom:16px;display:block;text-align:left}.reply-to-link.svelte-1n5zw0o:hover{color:var(--accent)}.reply-arrow.svelte-1n5zw0o{opacity:.6}.reply-ref.svelte-1n5zw0o{color:var(--text-1);font-style:italic}.reply-to-link.svelte-1n5zw0o:hover .reply-ref:where(.svelte-1n5zw0o){color:var(--accent)}.title.svelte-1n5zw0o{font-family:var(--display);font-size:26px;font-weight:400;color:var(--text-0);margin:0 0 10px;line-height:1.3;letter-spacing:-.01em}.meta.svelte-1n5zw0o{display:flex;align-items:baseline;gap:6px}.author.svelte-1n5zw0o{font-size:14px;color:var(--text-1);font-weight:500}.sep.svelte-1n5zw0o{color:var(--text-2);font-size:12px}.date.svelte-1n5zw0o{font-size:13px;color:var(--text-2)}.divider.svelte-1n5zw0o{height:1px;background:var(--border);margin:16px 0 20px}.content.svelte-1n5zw0o{font-size:15px;color:var(--text-0);line-height:1.7;white-space:pre-wrap;word-break:break-word}.reactions-bar.svelte-1n5zw0o{display:flex;gap:6px;margin-top:20px;flex-wrap:wrap;align-items:center}.reaction-pill.svelte-1n5zw0o{font-size:13px;padding:4px 10px;background:var(--bg-3);border:1px solid var(--border);border-radius:14px;color:var(--text-1);cursor:pointer;transition:all .15s}.reaction-pill.svelte-1n5zw0o:hover{border-color:var(--border-bright)}.reaction-pill.active.svelte-1n5zw0o{border-color:var(--accent-border);background:var(--accent-dim)}.add-reaction.svelte-1n5zw0o{color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;padding:4px 8px}.emoji-form.svelte-1n5zw0o{display:inline-flex}.emoji-input.svelte-1n5zw0o{width:60px;padding:4px 8px;background:var(--bg-3);border:1px solid var(--border);border-radius:14px;color:var(--text-0);font-size:13px;outline:none}.emoji-input.svelte-1n5zw0o:focus{border-color:var(--accent)}.replies-section.svelte-1n5zw0o{border-top:1px solid var(--border);padding-top:20px;margin-bottom:24px}.section-title.svelte-1n5zw0o{font-size:13px;font-weight:500;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px}.reply-card.svelte-1n5zw0o{display:block;width:100%;text-align:left;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;cursor:pointer;margin-bottom:6px;transition:border-color .15s}.reply-card.svelte-1n5zw0o:hover{border-color:var(--border-bright)}.reply-title.svelte-1n5zw0o{font-size:14px;color:var(--text-0);display:block;margin-bottom:2px}.reply-meta.svelte-1n5zw0o{font-size:12px;color:var(--text-2)}.comments-section.svelte-1n5zw0o{border-top:1px solid var(--border);padding-top:20px}.card.svelte-1hapkk3{display:block;width:100%;padding:20px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all .15s ease;text-align:left;font-family:var(--sans)}.card.svelte-1hapkk3:hover{border-color:var(--border-bright)}.reply-indicator.svelte-1hapkk3{font-size:12px;color:var(--text-2);margin-bottom:6px}.header.svelte-1hapkk3{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.title.svelte-1hapkk3{font-family:var(--display);font-size:17px;font-weight:400;color:var(--text-0);margin:0}.date.svelte-1hapkk3{font-size:12px;color:var(--text-2);white-space:nowrap;flex-shrink:0}.excerpt.svelte-1hapkk3{font-size:14px;color:var(--text-1);margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.meta.svelte-1hapkk3{display:flex;align-items:center;gap:16px;font-size:13px}.author.svelte-1hapkk3{color:var(--accent)}.comments.svelte-1hapkk3{color:var(--text-2)}.reactions.svelte-1hapkk3{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.reaction-pill.svelte-1hapkk3{font-size:12px;padding:2px 8px;background:var(--bg-3);border:1px solid var(--border);border-radius:12px;color:var(--text-1)}.notes-page.svelte-vh096i{max-width:700px;margin:0 auto}.page-header.svelte-vh096i{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title.svelte-vh096i{font-family:var(--display);font-size:22px;font-weight:400;color:var(--text-0);margin:0}.note-form.svelte-vh096i{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.form-input.svelte-vh096i{width:100%;padding:8px 12px;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-0);font-size:14px;outline:none;box-sizing:border-box}.form-input.svelte-vh096i:focus{border-color:var(--accent)}.form-textarea.svelte-vh096i{width:100%;padding:8px 12px;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-0);font-size:14px;line-height:1.5;resize:vertical;outline:none;box-sizing:border-box}.form-textarea.svelte-vh096i:focus{border-color:var(--accent)}.form-actions.svelte-vh096i{display:flex;justify-content:flex-end}.btn.svelte-vh096i{font-size:13px;padding:6px 14px;border-radius:var(--radius);cursor:pointer;border:1px solid transparent;transition:opacity .15s}.btn.svelte-vh096i:disabled{opacity:.5;cursor:not-allowed}.btn-write.svelte-vh096i{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border)}.btn-write.svelte-vh096i:hover{border-color:var(--accent)}.btn-submit.svelte-vh096i{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border)}.btn-submit.svelte-vh096i:hover:not(:disabled){border-color:var(--accent)}.error.svelte-vh096i{color:var(--red);font-size:13px;margin-bottom:16px}.loading.svelte-vh096i,.empty.svelte-vh096i{color:var(--text-2);font-size:13px;padding:40px 0;text-align:center}.notes-list.svelte-vh096i{display:flex;flex-direction:column;gap:10px}.ext-app.svelte-1r8vfx3{padding:24px;max-width:100%;min-height:100%;animation:fadeIn .2s ease both}
@@ -1,2 +0,0 @@
1
- (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const l of a.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(i){if(i.ep)return;i.ep=!0;const a=n(i);fetch(i.href,a)}})();const wr=!1;var mn=Array.isArray,yr=Array.prototype.indexOf,qe=Array.prototype.includes,yt=Array.from,br=Object.defineProperty,rt=Object.getOwnPropertyDescriptor,Er=Object.getOwnPropertyDescriptors,xr=Object.prototype,kr=Array.prototype,gn=Object.getPrototypeOf,tn=Object.isExtensible;const Sr=()=>{};function Tr(e){for(var t=0;t<e.length;t++)e[t]()}function wn(){var e,t,n=new Promise((r,i)=>{e=r,t=i});return{promise:n,resolve:e,reject:t}}const q=2,st=4,bt=8,yn=1<<24,Te=16,le=32,Le=64,Ft=128,te=512,B=1024,W=2048,oe=4096,X=8192,se=16384,je=32768,nn=1<<25,He=65536,rn=1<<17,Cr=1<<18,Ke=1<<19,Ar=1<<20,ce=1<<25,Pe=65536,Ot=1<<21,qt=1<<22,be=1<<23,Nt=Symbol("$state"),Nr=Symbol(""),_e=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};function Mr(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Rr(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Dr(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Fr(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Or(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Ir(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Lr(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Pr(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function zr(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Ur(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function jr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Br=1,qr=2,bn=4,Hr=8,Vr=16,Wr=1,Yr=2,H=Symbol(),En="http://www.w3.org/1999/xhtml";function Kr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function xn(e){return e===this.v}function Gr(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function kn(e){return!Gr(e,this.v)}let Zr=!1,Q=null;function Ve(e){Q=e}function Ge(e,t=!1,n){Q={p:Q,i:!1,c:null,e:null,s:e,x:null,r:N,l:null}}function Ze(e){var t=Q,n=t.e;if(n!==null){t.e=null;for(var r of n)Yn(r)}return t.i=!0,Q=t.p,{}}function Sn(){return!0}let Re=[];function Tn(){var e=Re;Re=[],Tr(e)}function Ee(e){if(Re.length===0&&!it){var t=Re;queueMicrotask(()=>{t===Re&&Tn()})}Re.push(e)}function Jr(){for(;Re.length>0;)Tn()}function Cn(e){var t=N;if(t===null)return S.f|=be,e;if((t.f&je)===0&&(t.f&st)===0)throw e;ye(e,t)}function ye(e,t){for(;t!==null;){if((t.f&Ft)!==0){if((t.f&je)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Xr=-7169;function U(e,t){e.f=e.f&Xr|t}function Ht(e){(e.f&te)!==0||e.deps===null?U(e,B):U(e,oe)}function An(e){if(e!==null)for(const t of e)(t.f&q)===0||(t.f&Pe)===0||(t.f^=Pe,An(t.deps))}function Nn(e,t,n){(e.f&W)!==0?t.add(e):(e.f&oe)!==0&&n.add(e),An(e.deps),U(e,B)}const $e=new Set;let R=null,ve=null,It=null,it=!1,Mt=!1,Be=null,_t=null;var an=0;let Qr=1;class Se{id=Qr++;current=new Map;previous=new Map;#e=new Set;#o=new Set;#t=0;#s=0;#r=null;#n=[];#i=new Set;#a=new Set;#l=new Map;is_fork=!1;#u=!1;#f(){return this.is_fork||this.#s>0}skip_effect(t){this.#l.has(t)||this.#l.set(t,{d:[],m:[]})}unskip_effect(t){var n=this.#l.get(t);if(n){this.#l.delete(t);for(var r of n.d)U(r,W),this.schedule(r);for(r of n.m)U(r,oe),this.schedule(r)}}#v(){an++>1e3&&ei();const t=this.#n;this.#n=[],this.apply();var n=Be=[],r=[],i=_t=[];for(const o of t)try{this.#d(o,n,r)}catch(s){throw Fn(o),s}if(R=null,i.length>0){var a=Se.ensure();for(const o of i)a.schedule(o)}if(Be=null,_t=null,this.#f()){this.#h(r),this.#h(n);for(const[o,s]of this.#l)Dn(o,s)}else{this.#t===0&&$e.delete(this),this.#i.clear(),this.#a.clear();for(const o of this.#e)o(this);this.#e.clear(),sn(r),sn(n),this.#r?.resolve()}var l=R;if(this.#n.length>0){const o=l??=this;o.#n.push(...this.#n.filter(s=>!o.#n.includes(s)))}l!==null&&($e.add(l),l.#v()),$e.has(this)||this.#c()}#d(t,n,r){t.f^=B;for(var i=t.first;i!==null;){var a=i.f,l=(a&(le|Le))!==0,o=l&&(a&B)!==0,s=o||(a&X)!==0||this.#l.has(i);if(!s&&i.fn!==null){l?i.f^=B:(a&st)!==0?n.push(i):ft(i)&&((a&Te)!==0&&this.#a.add(i),Ye(i));var u=i.first;if(u!==null){i=u;continue}}for(;i!==null;){var c=i.next;if(c!==null){i=c;break}i=i.parent}}}#h(t){for(var n=0;n<t.length;n+=1)Nn(t[n],this.#i,this.#a)}capture(t,n){n!==H&&!this.previous.has(t)&&this.previous.set(t,n),(t.f&be)===0&&(this.current.set(t,t.v),ve?.set(t,t.v))}activate(){R=this}deactivate(){R=null,ve=null}flush(){try{if(Mt=!0,R=this,!this.#f()){for(const t of this.#i)this.#a.delete(t),U(t,W),this.schedule(t);for(const t of this.#a)U(t,oe),this.schedule(t)}this.#v()}finally{an=0,It=null,Be=null,_t=null,Mt=!1,R=null,ve=null,xe.clear()}}discard(){for(const t of this.#o)t(this);this.#o.clear()}#c(){for(const s of $e){var t=s.id<this.id,n=[];for(const[u,c]of this.current){if(s.current.has(u))if(t&&c!==s.current.get(u))s.current.set(u,c);else continue;n.push(u)}if(n.length!==0){var r=[...s.current.keys()].filter(u=>!this.current.has(u));if(r.length>0){s.activate();var i=new Set,a=new Map;for(var l of n)Mn(l,r,i,a);if(s.#n.length>0){s.apply();for(var o of s.#n)s.#d(o,[],[])}s.deactivate()}}}}increment(t){this.#t+=1,t&&(this.#s+=1)}decrement(t,n){this.#t-=1,t&&(this.#s-=1),!(this.#u||n)&&(this.#u=!0,Ee(()=>{this.#u=!1,this.flush()}))}oncommit(t){this.#e.add(t)}ondiscard(t){this.#o.add(t)}settled(){return(this.#r??=wn()).promise}static ensure(){if(R===null){const t=R=new Se;Mt||($e.add(R),it||Ee(()=>{R===t&&t.flush()}))}return R}apply(){{ve=null;return}}schedule(t){if(It=t,t.b?.is_pending&&(t.f&(st|bt|yn))!==0&&(t.f&je)===0){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var r=n.f;if(Be!==null&&n===N&&(S===null||(S.f&q)===0))return;if((r&(Le|le))!==0){if((r&B)===0)return;n.f^=B}}this.#n.push(n)}}function $r(e){var t=it;it=!0;try{for(var n;;){if(Jr(),R===null)return n;R.flush()}}finally{it=t}}function ei(){try{Lr()}catch(e){ye(e,It)}}let he=null;function sn(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(se|X))===0&&ft(r)&&(he=new Set,Ye(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Zn(r),he?.size>0)){xe.clear();for(const i of he){if((i.f&(se|X))!==0)continue;const a=[i];let l=i.parent;for(;l!==null;)he.has(l)&&(he.delete(l),a.push(l)),l=l.parent;for(let o=a.length-1;o>=0;o--){const s=a[o];(s.f&(se|X))===0&&Ye(s)}}he.clear()}}he=null}}function Mn(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const i of e.reactions){const a=i.f;(a&q)!==0?Mn(i,t,n,r):(a&(qt|Te))!==0&&(a&W)===0&&Rn(i,t,r)&&(U(i,W),Vt(i))}}function Rn(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const i of e.deps){if(qe.call(t,i))return!0;if((i.f&q)!==0&&Rn(i,t,n))return n.set(i,!0),!0}return n.set(e,!1),!1}function Vt(e){R.schedule(e)}function Dn(e,t){if(!((e.f&le)!==0&&(e.f&B)!==0)){(e.f&W)!==0?t.d.push(e):(e.f&oe)!==0&&t.m.push(e),U(e,B);for(var n=e.first;n!==null;)Dn(n,t),n=n.next}}function Fn(e){U(e,B);for(var t=e.first;t!==null;)Fn(t),t=t.next}function ti(e){let t=0,n=ze(0),r;return()=>{Kt()&&(d(n),Kn(()=>(t===0&&(r=Qt(()=>e(()=>at(n)))),t+=1,()=>{Ee(()=>{t-=1,t===0&&(r?.(),r=void 0,at(n))})})))}}var ni=He|Ke;function ri(e,t,n,r){new ii(e,t,n,r)}class ii{parent;is_pending=!1;transform_error;#e;#o=null;#t;#s;#r;#n=null;#i=null;#a=null;#l=null;#u=0;#f=0;#v=!1;#d=new Set;#h=new Set;#c=null;#w=ti(()=>(this.#c=ze(this.#u),()=>{this.#c=null}));constructor(t,n,r,i){this.#e=t,this.#t=n,this.#s=a=>{var l=N;l.b=this,l.f|=Ft,r(a)},this.parent=N.b,this.transform_error=i??this.parent?.transform_error??(a=>a),this.#r=Gt(()=>{this.#m()},ni)}#y(){try{this.#n=ee(()=>this.#s(this.#e))}catch(t){this.error(t)}}#b(t){const n=this.#t.failed;n&&(this.#a=ee(()=>{n(this.#e,()=>t,()=>()=>{})}))}#E(){const t=this.#t.pending;t&&(this.is_pending=!0,this.#i=ee(()=>t(this.#e)),Ee(()=>{var n=this.#l=document.createDocumentFragment(),r=ke();n.append(r),this.#n=this.#p(()=>ee(()=>this.#s(r))),this.#f===0&&(this.#e.before(n),this.#l=null,Oe(this.#i,()=>{this.#i=null}),this.#_(R))}))}#m(){try{if(this.is_pending=this.has_pending_snippet(),this.#f=0,this.#u=0,this.#n=ee(()=>{this.#s(this.#e)}),this.#f>0){var t=this.#l=document.createDocumentFragment();Xt(this.#n,t);const n=this.#t.pending;this.#i=ee(()=>n(this.#e))}else this.#_(R)}catch(n){this.error(n)}}#_(t){this.is_pending=!1;for(const n of this.#d)U(n,W),t.schedule(n);for(const n of this.#h)U(n,oe),t.schedule(n);this.#d.clear(),this.#h.clear()}defer_effect(t){Nn(t,this.#d,this.#h)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#t.pending}#p(t){var n=N,r=S,i=Q;de(this.#r),re(this.#r),Ve(this.#r.ctx);try{return Se.ensure(),t()}catch(a){return Cn(a),null}finally{de(n),re(r),Ve(i)}}#g(t,n){if(!this.has_pending_snippet()){this.parent&&this.parent.#g(t,n);return}this.#f+=t,this.#f===0&&(this.#_(n),this.#i&&Oe(this.#i,()=>{this.#i=null}),this.#l&&(this.#e.before(this.#l),this.#l=null))}update_pending_count(t,n){this.#g(t,n),this.#u+=t,!(!this.#c||this.#v)&&(this.#v=!0,Ee(()=>{this.#v=!1,this.#c&&We(this.#c,this.#u)}))}get_effect_pending(){return this.#w(),d(this.#c)}error(t){var n=this.#t.onerror;let r=this.#t.failed;if(!n&&!r)throw t;this.#n&&(Z(this.#n),this.#n=null),this.#i&&(Z(this.#i),this.#i=null),this.#a&&(Z(this.#a),this.#a=null);var i=!1,a=!1;const l=()=>{if(i){Kr();return}i=!0,a&&jr(),this.#a!==null&&Oe(this.#a,()=>{this.#a=null}),this.#p(()=>{this.#m()})},o=s=>{try{a=!0,n?.(s,l),a=!1}catch(u){ye(u,this.#r&&this.#r.parent)}r&&(this.#a=this.#p(()=>{try{return ee(()=>{var u=N;u.b=this,u.f|=Ft,r(this.#e,()=>s,()=>l)})}catch(u){return ye(u,this.#r.parent),null}}))};Ee(()=>{var s;try{s=this.transform_error(t)}catch(u){ye(u,this.#r&&this.#r.parent);return}s!==null&&typeof s=="object"&&typeof s.then=="function"?s.then(o,u=>ye(u,this.#r&&this.#r.parent)):o(s)})}}function ai(e,t,n,r){const i=Wt;var a=e.filter(v=>!v.settled);if(n.length===0&&a.length===0){r(t.map(i));return}var l=N,o=si(),s=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(v=>v.promise)):null;function u(v){o();try{r(v)}catch(_){(l.f&se)===0&&ye(_,l)}mt()}if(n.length===0){s.then(()=>u(t.map(i)));return}var c=On();function m(){Promise.all(n.map(v=>li(v))).then(v=>u([...t.map(i),...v])).catch(v=>ye(v,l)).finally(()=>c())}s?s.then(()=>{o(),m(),mt()}):m()}function si(){var e=N,t=S,n=Q,r=R;return function(a=!0){de(e),re(t),Ve(n),a&&(e.f&se)===0&&(r?.activate(),r?.apply())}}function mt(e=!0){de(null),re(null),Ve(null),e&&R?.deactivate()}function On(){var e=N.b,t=R,n=e.is_rendered();return e.update_pending_count(1,t),t.increment(n),(r=!1)=>{e.update_pending_count(-1,t),t.decrement(n,r)}}function Wt(e){var t=q|W,n=S!==null&&(S.f&q)!==0?S:null;return N!==null&&(N.f|=Ke),{ctx:Q,deps:null,effects:null,equals:xn,f:t,fn:e,reactions:null,rv:0,v:H,wv:0,parent:n??N,ac:null}}function li(e,t,n){let r=N;r===null&&Rr();var i=void 0,a=ze(H),l=!S,o=new Map;return Ei(()=>{var s=N,u=wn();i=u.promise;try{Promise.resolve(e()).then(u.resolve,u.reject).finally(mt)}catch(_){u.reject(_),mt()}var c=R;if(l){if((s.f&je)!==0)var m=On();if(r.b.is_rendered())o.get(c)?.reject(_e),o.delete(c);else{for(const _ of o.values())_.reject(_e);o.clear()}o.set(c,u)}const v=(_,p=void 0)=>{if(m){var x=p===_e;m(x)}if(!(p===_e||(s.f&se)!==0)){if(c.activate(),p)a.f|=be,We(a,p);else{(a.f&be)!==0&&(a.f^=be),We(a,_);for(const[h,b]of o){if(o.delete(h),h===c)break;b.reject(_e)}}c.deactivate()}};u.promise.then(v,_=>v(null,_||"unknown"))}),Vn(()=>{for(const s of o.values())s.reject(_e)}),new Promise(s=>{function u(c){function m(){c===i?s(a):u(i)}c.then(m,m)}u(i)})}function In(e){const t=Wt(e);return Qn(t),t}function oi(e){const t=Wt(e);return t.equals=kn,t}function ui(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)Z(t[n])}}function fi(e){for(var t=e.parent;t!==null;){if((t.f&q)===0)return(t.f&se)===0?t:null;t=t.parent}return null}function Yt(e){var t,n=N;de(fi(e));try{e.f&=~Pe,ui(e),t=nr(e)}finally{de(n)}return t}function Ln(e){var t=Yt(e);if(!e.equals(t)&&(e.wv=er(),(!R?.is_fork||e.deps===null)&&(e.v=t,e.deps===null))){U(e,B);return}Ue||(ve!==null?(Kt()||R?.is_fork)&&ve.set(e,t):Ht(e))}function ci(e){if(e.effects!==null)for(const t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(_e),t.teardown=Sr,t.ac=null,lt(t,0),Zt(t))}function Pn(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&Ye(t)}let Lt=new Set;const xe=new Map;let zn=!1;function ze(e,t){var n={f:0,v:e,reactions:null,equals:xn,rv:0,wv:0};return n}function I(e,t){const n=ze(e);return Qn(n),n}function vi(e,t=!1,n=!0){const r=ze(e);return t||(r.equals=kn),r}function k(e,t,n=!1){S!==null&&(!ae||(S.f&rn)!==0)&&Sn()&&(S.f&(q|Te|qt|rn))!==0&&(ne===null||!qe.call(ne,e))&&Ur();let r=n?De(t):t;return We(e,r,_t)}function We(e,t,n=null){if(!e.equals(t)){var r=e.v;Ue?xe.set(e,t):xe.set(e,r),e.v=t;var i=Se.ensure();if(i.capture(e,r),(e.f&q)!==0){const a=e;(e.f&W)!==0&&Yt(a),Ht(a)}e.wv=er(),Un(e,W,n),N!==null&&(N.f&B)!==0&&(N.f&(le|Le))===0&&($===null?Si([e]):$.push(e)),!i.is_fork&&Lt.size>0&&!zn&&di()}return t}function di(){zn=!1;for(const e of Lt)(e.f&B)!==0&&U(e,oe),ft(e)&&Ye(e);Lt.clear()}function at(e){k(e,e.v+1)}function Un(e,t,n){var r=e.reactions;if(r!==null)for(var i=r.length,a=0;a<i;a++){var l=r[a],o=l.f,s=(o&W)===0;if(s&&U(l,t),(o&q)!==0){var u=l;ve?.delete(u),(o&Pe)===0&&(o&te&&(l.f|=Pe),Un(u,oe,n))}else if(s){var c=l;(o&Te)!==0&&he!==null&&he.add(c),n!==null?n.push(c):Vt(c)}}}function De(e){if(typeof e!="object"||e===null||Nt in e)return e;const t=gn(e);if(t!==xr&&t!==kr)return e;var n=new Map,r=mn(e),i=I(0),a=Ie,l=o=>{if(Ie===a)return o();var s=S,u=Ie;re(null),cn(a);var c=o();return re(s),cn(u),c};return r&&n.set("length",I(e.length)),new Proxy(e,{defineProperty(o,s,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&Pr();var c=n.get(s);return c===void 0?l(()=>{var m=I(u.value);return n.set(s,m),m}):k(c,u.value,!0),!0},deleteProperty(o,s){var u=n.get(s);if(u===void 0){if(s in o){const c=l(()=>I(H));n.set(s,c),at(i)}}else k(u,H),at(i);return!0},get(o,s,u){if(s===Nt)return e;var c=n.get(s),m=s in o;if(c===void 0&&(!m||rt(o,s)?.writable)&&(c=l(()=>{var _=De(m?o[s]:H),p=I(_);return p}),n.set(s,c)),c!==void 0){var v=d(c);return v===H?void 0:v}return Reflect.get(o,s,u)},getOwnPropertyDescriptor(o,s){var u=Reflect.getOwnPropertyDescriptor(o,s);if(u&&"value"in u){var c=n.get(s);c&&(u.value=d(c))}else if(u===void 0){var m=n.get(s),v=m?.v;if(m!==void 0&&v!==H)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return u},has(o,s){if(s===Nt)return!0;var u=n.get(s),c=u!==void 0&&u.v!==H||Reflect.has(o,s);if(u!==void 0||N!==null&&(!c||rt(o,s)?.writable)){u===void 0&&(u=l(()=>{var v=c?De(o[s]):H,_=I(v);return _}),n.set(s,u));var m=d(u);if(m===H)return!1}return c},set(o,s,u,c){var m=n.get(s),v=s in o;if(r&&s==="length")for(var _=u;_<m.v;_+=1){var p=n.get(_+"");p!==void 0?k(p,H):_ in o&&(p=l(()=>I(H)),n.set(_+"",p))}if(m===void 0)(!v||rt(o,s)?.writable)&&(m=l(()=>I(void 0)),k(m,De(u)),n.set(s,m));else{v=m.v!==H;var x=l(()=>De(u));k(m,x)}var h=Reflect.getOwnPropertyDescriptor(o,s);if(h?.set&&h.set.call(c,u),!v){if(r&&typeof s=="string"){var b=n.get("length"),O=Number(s);Number.isInteger(O)&&O>=b.v&&k(b,O+1)}at(i)}return!0},ownKeys(o){d(i);var s=Reflect.ownKeys(o).filter(m=>{var v=n.get(m);return v===void 0||v.v!==H});for(var[u,c]of n)c.v!==H&&!(u in o)&&s.push(u);return s},setPrototypeOf(){zr()}})}var ln,jn,Bn,qn;function hi(){if(ln===void 0){ln=window,jn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Bn=rt(t,"firstChild").get,qn=rt(t,"nextSibling").get,tn(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),tn(n)&&(n.__t=void 0)}}function ke(e=""){return document.createTextNode(e)}function gt(e){return Bn.call(e)}function ut(e){return qn.call(e)}function y(e,t){return gt(e)}function on(e,t=!1){{var n=gt(e);return n instanceof Comment&&n.data===""?ut(n):n}}function A(e,t=1,n=!1){let r=e;for(;t--;)r=ut(r);return r}function _i(e){e.textContent=""}function Hn(){return!1}function pi(e,t,n){return document.createElementNS(En,e,void 0)}let un=!1;function mi(){un||(un=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function Et(e){var t=S,n=N;re(null),de(null);try{return e()}finally{re(t),de(n)}}function gi(e,t,n,r=n){e.addEventListener(t,()=>Et(n));const i=e.__on_r;i?e.__on_r=()=>{i(),r(!0)}:e.__on_r=()=>r(!0),mi()}function wi(e){N===null&&(S===null&&Ir(),Or()),Ue&&Fr()}function yi(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function Ce(e,t){var n=N;n!==null&&(n.f&X)!==0&&(e|=X);var r={ctx:Q,deps:null,nodes:null,f:e|W|te,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null},i=r;if((e&st)!==0)Be!==null?Be.push(r):Se.ensure().schedule(r);else if(t!==null){try{Ye(r)}catch(l){throw Z(r),l}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&(i.f&Ke)===0&&(i=i.first,(e&Te)!==0&&(e&He)!==0&&i!==null&&(i.f|=He))}if(i!==null&&(i.parent=n,n!==null&&yi(i,n),S!==null&&(S.f&q)!==0&&(e&Le)===0)){var a=S;(a.effects??=[]).push(i)}return r}function Kt(){return S!==null&&!ae}function Vn(e){const t=Ce(bt,null);return U(t,B),t.teardown=e,t}function Wn(e){wi();var t=N.f,n=!S&&(t&le)!==0&&(t&je)===0;if(n){var r=Q;(r.e??=[]).push(e)}else return Yn(e)}function Yn(e){return Ce(st|Ar,e)}function bi(e){Se.ensure();const t=Ce(Le|Ke,e);return(n={})=>new Promise(r=>{n.outro?Oe(t,()=>{Z(t),r(void 0)}):(Z(t),r(void 0))})}function Ei(e){return Ce(qt|Ke,e)}function Kn(e,t=0){return Ce(bt|t,e)}function K(e,t=[],n=[],r=[]){ai(r,t,n,i=>{Ce(bt,()=>e(...i.map(d)))})}function Gt(e,t=0){var n=Ce(Te|t,e);return n}function ee(e){return Ce(le|Ke,e)}function Gn(e){var t=e.teardown;if(t!==null){const n=Ue,r=S;fn(!0),re(null);try{t.call(null)}finally{fn(n),re(r)}}}function Zt(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const i=n.ac;i!==null&&Et(()=>{i.abort(_e)});var r=n.next;(n.f&Le)!==0?n.parent=null:Z(n,t),n=r}}function xi(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&le)===0&&Z(t),t=n}}function Z(e,t=!0){var n=!1;(t||(e.f&Cr)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(ki(e.nodes.start,e.nodes.end),n=!0),U(e,nn),Zt(e,t&&!n),lt(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const a of r)a.stop();Gn(e),e.f^=nn,e.f|=se;var i=e.parent;i!==null&&i.first!==null&&Zn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function ki(e,t){for(;e!==null;){var n=e===t?null:ut(e);e.remove(),e=n}}function Zn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Oe(e,t,n=!0){var r=[];Jn(e,r,!0);var i=()=>{n&&Z(e),t&&t()},a=r.length;if(a>0){var l=()=>--a||i();for(var o of r)o.out(l)}else i()}function Jn(e,t,n){if((e.f&X)===0){e.f^=X;var r=e.nodes&&e.nodes.t;if(r!==null)for(const o of r)(o.is_global||n)&&t.push(o);for(var i=e.first;i!==null;){var a=i.next,l=(i.f&He)!==0||(i.f&le)!==0&&(e.f&Te)!==0;Jn(i,t,l?n:!1),i=a}}}function Jt(e){Xn(e,!0)}function Xn(e,t){if((e.f&X)!==0){e.f^=X,(e.f&B)===0&&(U(e,W),Se.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&He)!==0||(n.f&le)!==0;Xn(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(const l of a)(l.is_global||t)&&l.in()}}function Xt(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:ut(n);t.append(n),n=i}}let pt=!1,Ue=!1;function fn(e){Ue=e}let S=null,ae=!1;function re(e){S=e}let N=null;function de(e){N=e}let ne=null;function Qn(e){S!==null&&(ne===null?ne=[e]:ne.push(e))}let G=null,J=0,$=null;function Si(e){$=e}let $n=1,Fe=0,Ie=Fe;function cn(e){Ie=e}function er(){return++$n}function ft(e){var t=e.f;if((t&W)!==0)return!0;if(t&q&&(e.f&=~Pe),(t&oe)!==0){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(ft(a)&&Ln(a),a.wv>e.wv)return!0}(t&te)!==0&&ve===null&&U(e,B)}return!1}function tr(e,t,n=!0){var r=e.reactions;if(r!==null&&!(ne!==null&&qe.call(ne,e)))for(var i=0;i<r.length;i++){var a=r[i];(a.f&q)!==0?tr(a,t,!1):t===a&&(n?U(a,W):(a.f&B)!==0&&U(a,oe),Vt(a))}}function nr(e){var t=G,n=J,r=$,i=S,a=ne,l=Q,o=ae,s=Ie,u=e.f;G=null,J=0,$=null,S=(u&(le|Le))===0?e:null,ne=null,Ve(e.ctx),ae=!1,Ie=++Fe,e.ac!==null&&(Et(()=>{e.ac.abort(_e)}),e.ac=null);try{e.f|=Ot;var c=e.fn,m=c();e.f|=je;var v=e.deps,_=R?.is_fork;if(G!==null){var p;if(_||lt(e,J),v!==null&&J>0)for(v.length=J+G.length,p=0;p<G.length;p++)v[J+p]=G[p];else e.deps=v=G;if(Kt()&&(e.f&te)!==0)for(p=J;p<v.length;p++)(v[p].reactions??=[]).push(e)}else!_&&v!==null&&J<v.length&&(lt(e,J),v.length=J);if(Sn()&&$!==null&&!ae&&v!==null&&(e.f&(q|oe|W))===0)for(p=0;p<$.length;p++)tr($[p],e);if(i!==null&&i!==e){if(Fe++,i.deps!==null)for(let x=0;x<n;x+=1)i.deps[x].rv=Fe;if(t!==null)for(const x of t)x.rv=Fe;$!==null&&(r===null?r=$:r.push(...$))}return(e.f&be)!==0&&(e.f^=be),m}catch(x){return Cn(x)}finally{e.f^=Ot,G=t,J=n,$=r,S=i,ne=a,Ve(l),ae=o,Ie=s}}function Ti(e,t){let n=t.reactions;if(n!==null){var r=yr.call(n,e);if(r!==-1){var i=n.length-1;i===0?n=t.reactions=null:(n[r]=n[i],n.pop())}}if(n===null&&(t.f&q)!==0&&(G===null||!qe.call(G,t))){var a=t;(a.f&te)!==0&&(a.f^=te,a.f&=~Pe),Ht(a),ci(a),lt(a,0)}}function lt(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Ti(e,n[r])}function Ye(e){var t=e.f;if((t&se)===0){U(e,B);var n=N,r=pt;N=e,pt=!0;try{(t&(Te|yn))!==0?xi(e):Zt(e),Gn(e);var i=nr(e);e.teardown=typeof i=="function"?i:null,e.wv=$n;var a;wr&&Zr&&(e.f&W)!==0&&e.deps}finally{pt=r,N=n}}}async function Ci(){await Promise.resolve(),$r()}function d(e){var t=e.f,n=(t&q)!==0;if(S!==null&&!ae){var r=N!==null&&(N.f&se)!==0;if(!r&&(ne===null||!qe.call(ne,e))){var i=S.deps;if((S.f&Ot)!==0)e.rv<Fe&&(e.rv=Fe,G===null&&i!==null&&i[J]===e?J++:G===null?G=[e]:G.push(e));else{(S.deps??=[]).push(e);var a=e.reactions;a===null?e.reactions=[S]:qe.call(a,S)||a.push(S)}}}if(Ue&&xe.has(e))return xe.get(e);if(n){var l=e;if(Ue){var o=l.v;return((l.f&B)===0&&l.reactions!==null||ir(l))&&(o=Yt(l)),xe.set(l,o),o}var s=(l.f&te)===0&&!ae&&S!==null&&(pt||(S.f&te)!==0),u=(l.f&je)===0;ft(l)&&(s&&(l.f|=te),Ln(l)),s&&!u&&(Pn(l),rr(l))}if(ve?.has(e))return ve.get(e);if((e.f&be)!==0)throw e.v;return e.v}function rr(e){if(e.f|=te,e.deps!==null)for(const t of e.deps)(t.reactions??=[]).push(e),(t.f&q)!==0&&(t.f&te)===0&&(Pn(t),rr(t))}function ir(e){if(e.v===H)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(xe.has(t)||(t.f&q)!==0&&ir(t))return!0;return!1}function Qt(e){var t=ae;try{return ae=!0,e()}finally{ae=t}}const Ai=["touchstart","touchmove"];function Ni(e){return Ai.includes(e)}const tt=Symbol("events"),ar=new Set,Pt=new Set;function Mi(e,t,n,r={}){function i(a){if(r.capture||zt.call(t,a),!a.cancelBubble)return Et(()=>n?.call(this,a))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?Ee(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function sr(e,t,n,r,i){var a={capture:r,passive:i},l=Mi(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Vn(()=>{t.removeEventListener(e,l,a)})}function fe(e,t,n){(t[tt]??={})[e]=n}function xt(e){for(var t=0;t<e.length;t++)ar.add(e[t]);for(var n of Pt)n(e)}let vn=null;function zt(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;vn=e;var l=0,o=vn===e&&e[tt];if(o){var s=i.indexOf(o);if(s!==-1&&(t===document||t===window)){e[tt]=t;return}var u=i.indexOf(t);if(u===-1)return;s<=u&&(l=s)}if(a=i[l]||e.target,a!==t){br(e,"currentTarget",{configurable:!0,get(){return a||n}});var c=S,m=N;re(null),de(null);try{for(var v,_=[];a!==null;){var p=a.assignedSlot||a.parentNode||a.host||null;try{var x=a[tt]?.[r];x!=null&&(!a.disabled||e.target===a)&&x.call(a,e)}catch(h){v?_.push(h):v=h}if(e.cancelBubble||p===t||p===null)break;a=p}if(v){for(let h of _)queueMicrotask(()=>{throw h});throw v}}finally{e[tt]=t,delete e.currentTarget,re(c),de(m)}}}const Ri=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function Di(e){return Ri?.createHTML(e)??e}function Fi(e){var t=pi("template");return t.innerHTML=Di(e.replaceAll("<!>","<!---->")),t.content}function Ut(e,t){var n=N;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function D(e,t){var n=(t&Wr)!==0,r=(t&Yr)!==0,i,a=!e.startsWith("<!>");return()=>{i===void 0&&(i=Fi(a?e:"<!>"+e),n||(i=gt(i)));var l=r||jn?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=gt(l),s=l.lastChild;Ut(o,s)}else Ut(l,l);return l}}function Oi(){var e=document.createDocumentFragment(),t=document.createComment(""),n=ke();return e.append(t,n),Ut(t,n),e}function M(e,t){e!==null&&e.before(t)}function L(e,t){var n=t==null?"":typeof t=="object"?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function Ii(e,t){return Li(e,t)}const ht=new Map;function Li(e,{target:t,anchor:n,props:r={},events:i,context:a,intro:l=!0,transformError:o}){hi();var s=void 0,u=bi(()=>{var c=n??t.appendChild(ke());ri(c,{pending:()=>{}},_=>{Ge({});var p=Q;a&&(p.c=a),i&&(r.$$events=i),s=e(_,r)||{},Ze()},o);var m=new Set,v=_=>{for(var p=0;p<_.length;p++){var x=_[p];if(!m.has(x)){m.add(x);var h=Ni(x);for(const C of[t,document]){var b=ht.get(C);b===void 0&&(b=new Map,ht.set(C,b));var O=b.get(x);O===void 0?(C.addEventListener(x,zt,{passive:h}),b.set(x,1)):b.set(x,O+1)}}}};return v(yt(ar)),Pt.add(v),()=>{for(var _ of m)for(const h of[t,document]){var p=ht.get(h),x=p.get(_);--x==0?(h.removeEventListener(_,zt),p.delete(_),p.size===0&&ht.delete(h)):p.set(_,x)}Pt.delete(v),c!==n&&c.parentNode?.removeChild(c)}});return Pi.set(s,u),s}let Pi=new WeakMap;class zi{anchor;#e=new Map;#o=new Map;#t=new Map;#s=new Set;#r=!0;constructor(t,n=!0){this.anchor=t,this.#r=n}#n=t=>{if(this.#e.has(t)){var n=this.#e.get(t),r=this.#o.get(n);if(r)Jt(r),this.#s.delete(n);else{var i=this.#t.get(n);i&&(this.#o.set(n,i.effect),this.#t.delete(n),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),r=i.effect)}for(const[a,l]of this.#e){if(this.#e.delete(a),a===t)break;const o=this.#t.get(l);o&&(Z(o.effect),this.#t.delete(l))}for(const[a,l]of this.#o){if(a===n||this.#s.has(a))continue;const o=()=>{if(Array.from(this.#e.values()).includes(a)){var u=document.createDocumentFragment();Xt(l,u),u.append(ke()),this.#t.set(a,{effect:l,fragment:u})}else Z(l);this.#s.delete(a),this.#o.delete(a)};this.#r||!r?(this.#s.add(a),Oe(l,o,!1)):o()}}};#i=t=>{this.#e.delete(t);const n=Array.from(this.#e.values());for(const[r,i]of this.#t)n.includes(r)||(Z(i.effect),this.#t.delete(r))};ensure(t,n){var r=R,i=Hn();if(n&&!this.#o.has(t)&&!this.#t.has(t))if(i){var a=document.createDocumentFragment(),l=ke();a.append(l),this.#t.set(t,{effect:ee(()=>n(l)),fragment:a})}else this.#o.set(t,ee(()=>n(this.anchor)));if(this.#e.set(r,t),i){for(const[o,s]of this.#o)o===t?r.unskip_effect(s):r.skip_effect(s);for(const[o,s]of this.#t)o===t?r.unskip_effect(s.effect):r.skip_effect(s.effect);r.oncommit(this.#n),r.ondiscard(this.#i)}else this.#n(r)}}function V(e,t,n=!1){var r=new zi(e),i=n?He:0;function a(l,o){r.ensure(l,o)}Gt(()=>{var l=!1;t((o,s=0)=>{l=!0,a(s,o)}),l||a(-1,null)},i)}function jt(e,t){return t}function Ui(e,t,n){for(var r=[],i=t.length,a,l=t.length,o=0;o<i;o++){let m=t[o];Oe(m,()=>{if(a){if(a.pending.delete(m),a.done.add(m),a.pending.size===0){var v=e.outrogroups;Bt(e,yt(a.done)),v.delete(a),v.size===0&&(e.outrogroups=null)}}else l-=1},!1)}if(l===0){var s=r.length===0&&n!==null;if(s){var u=n,c=u.parentNode;_i(c),c.append(u),e.items.clear()}Bt(e,t,!s)}else a={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(a)}function Bt(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(const l of e.pending.values())for(const o of l)r.add(e.items.get(o).e)}for(var i=0;i<t.length;i++){var a=t[i];if(r?.has(a)){a.f|=ce;const l=document.createDocumentFragment();Xt(a,l)}else Z(t[i],n)}}var dn;function ot(e,t,n,r,i,a=null){var l=e,o=new Map,s=(t&bn)!==0;if(s){var u=e;l=u.appendChild(ke())}var c=null,m=oi(()=>{var C=n();return mn(C)?C:C==null?[]:yt(C)}),v,_=new Map,p=!0;function x(C){(O.effect.f&se)===0&&(O.pending.delete(C),O.fallback=c,ji(O,v,l,t,r),c!==null&&(v.length===0?(c.f&ce)===0?Jt(c):(c.f^=ce,nt(c,null,l)):Oe(c,()=>{c=null})))}function h(C){O.pending.delete(C)}var b=Gt(()=>{v=d(m);for(var C=v.length,T=new Set,F=R,P=Hn(),w=0;w<C;w+=1){var f=v[w],g=r(f,w),E=p?null:o.get(g);E?(E.v&&We(E.v,f),E.i&&We(E.i,w),P&&F.unskip_effect(E.e)):(E=Bi(o,p?l:dn??=ke(),f,g,w,i,t,n),p||(E.e.f|=ce),o.set(g,E)),T.add(g)}if(C===0&&a&&!c&&(p?c=ee(()=>a(l)):(c=ee(()=>a(dn??=ke())),c.f|=ce)),C>T.size&&Dr(),!p)if(_.set(F,T),P){for(const[j,pe]of o)T.has(j)||F.skip_effect(pe.e);F.oncommit(x),F.ondiscard(h)}else x(F);d(m)}),O={effect:b,items:o,pending:_,outrogroups:null,fallback:c};p=!1}function et(e){for(;e!==null&&(e.f&le)===0;)e=e.next;return e}function ji(e,t,n,r,i){var a=(r&Hr)!==0,l=t.length,o=e.items,s=et(e.effect.first),u,c=null,m,v=[],_=[],p,x,h,b;if(a)for(b=0;b<l;b+=1)p=t[b],x=i(p,b),h=o.get(x).e,(h.f&ce)===0&&(h.nodes?.a?.measure(),(m??=new Set).add(h));for(b=0;b<l;b+=1){if(p=t[b],x=i(p,b),h=o.get(x).e,e.outrogroups!==null)for(const E of e.outrogroups)E.pending.delete(h),E.done.delete(h);if((h.f&ce)!==0)if(h.f^=ce,h===s)nt(h,null,n);else{var O=c?c.next:s;h===e.effect.last&&(e.effect.last=h.prev),h.prev&&(h.prev.next=h.next),h.next&&(h.next.prev=h.prev),we(e,c,h),we(e,h,O),nt(h,O,n),c=h,v=[],_=[],s=et(c.next);continue}if((h.f&X)!==0&&(Jt(h),a&&(h.nodes?.a?.unfix(),(m??=new Set).delete(h))),h!==s){if(u!==void 0&&u.has(h)){if(v.length<_.length){var C=_[0],T;c=C.prev;var F=v[0],P=v[v.length-1];for(T=0;T<v.length;T+=1)nt(v[T],C,n);for(T=0;T<_.length;T+=1)u.delete(_[T]);we(e,F.prev,P.next),we(e,c,F),we(e,P,C),s=C,c=P,b-=1,v=[],_=[]}else u.delete(h),nt(h,s,n),we(e,h.prev,h.next),we(e,h,c===null?e.effect.first:c.next),we(e,c,h),c=h;continue}for(v=[],_=[];s!==null&&s!==h;)(u??=new Set).add(s),_.push(s),s=et(s.next);if(s===null)continue}(h.f&ce)===0&&v.push(h),c=h,s=et(h.next)}if(e.outrogroups!==null){for(const E of e.outrogroups)E.pending.size===0&&(Bt(e,yt(E.done)),e.outrogroups?.delete(E));e.outrogroups.size===0&&(e.outrogroups=null)}if(s!==null||u!==void 0){var w=[];if(u!==void 0)for(h of u)(h.f&X)===0&&w.push(h);for(;s!==null;)(s.f&X)===0&&s!==e.fallback&&w.push(s),s=et(s.next);var f=w.length;if(f>0){var g=(r&bn)!==0&&l===0?n:null;if(a){for(b=0;b<f;b+=1)w[b].nodes?.a?.measure();for(b=0;b<f;b+=1)w[b].nodes?.a?.fix()}Ui(e,w,g)}}a&&Ee(()=>{if(m!==void 0)for(h of m)h.nodes?.a?.apply()})}function Bi(e,t,n,r,i,a,l,o){var s=(l&Br)!==0?(l&Vr)===0?vi(n,!1,!1):ze(n):null,u=(l&qr)!==0?ze(i):null;return{v:s,i:u,e:ee(()=>(a(t,s??n,u??i,o),()=>{e.delete(r)}))}}function nt(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&(t.f&ce)===0?t.nodes.start:n;r!==null;){var l=ut(r);if(a.before(r),r===i)return;r=l}}function we(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}const hn=[...`
2
- \r\f \v\uFEFF`];function qi(e,t,n){var r=e==null?"":""+e;if(n){for(var i of Object.keys(n))if(n[i])r=r?r+" "+i:i;else if(r.length)for(var a=i.length,l=0;(l=r.indexOf(i,l))>=0;){var o=l+a;(l===0||hn.includes(r[l-1]))&&(o===r.length||hn.includes(r[o]))?r=(l===0?"":r.substring(0,l))+r.substring(o+1):l=o}}return r===""?null:r}function lr(e,t,n,r,i,a){var l=e.__className;if(l!==n||l===void 0){var o=qi(n,r,a);o==null?e.removeAttribute("class"):e.className=o,e.__className=n}else if(a&&i!==a)for(var s in a){var u=!!a[s];(i==null||u!==!!i[s])&&e.classList.toggle(s,u)}return a}const Hi=Symbol("is custom element"),Vi=Symbol("is html");function _n(e,t,n,r){var i=Wi(e);i[t]!==(i[t]=n)&&(t==="loading"&&(e[Nr]=n),n==null?e.removeAttribute(t):typeof n!="string"&&Yi(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Wi(e){return e.__attributes??={[Hi]:e.nodeName.includes("-"),[Vi]:e.namespaceURI===En}}var pn=new Map;function Yi(e){var t=e.getAttribute("is")||e.nodeName,n=pn.get(t);if(n)return n;pn.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){r=Er(i);for(var l in r)r[l].set&&n.push(l);i=gn(i)}return n}function wt(e,t,n=t){var r=new WeakSet;gi(e,"input",async i=>{var a=i?e.defaultValue:e.value;if(a=Rt(e)?Dt(a):a,n(a),R!==null&&r.add(R),await Ci(),a!==(a=t())){var l=e.selectionStart,o=e.selectionEnd,s=e.value.length;if(e.value=a??"",o!==null){var u=e.value.length;l===o&&o===s&&u>s?(e.selectionStart=u,e.selectionEnd=u):(e.selectionStart=l,e.selectionEnd=Math.min(o,u))}}}),Qt(t)==null&&e.value&&(n(Rt(e)?Dt(e.value):e.value),R!==null&&r.add(R)),Kn(()=>{var i=t();if(e===document.activeElement){var a=R;if(r.has(a))return}Rt(e)&&i===Dt(e.value)||e.type==="date"&&!i&&!e.value||i!==e.value&&(e.value=i??"")})}function Rt(e){var t=e.type;return t==="number"||t==="range"}function Dt(e){return e===""?null:+e}function or(e,t,n,r){var i=r,a=!0,l=()=>(a&&(a=!1,i=r),i),o;o=e[t],o===void 0&&r!==void 0&&(o=l());var s;return s=()=>{var u=e[t];return u===void 0?l():(a=!0,u)},s}function ur(e){Q===null&&Mr(),Wn(()=>{const t=Qt(e);if(typeof t=="function")return t})}const Ki="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(Ki);const Je="/api/ext/notes";async function Gi(e){const t=new URLSearchParams;e?.author&&t.set("author",e.author),e?.limit&&t.set("limit",String(e.limit)),e?.offset&&t.set("offset",String(e.offset));const n=t.toString(),r=await fetch(`${Je}${n?`?${n}`:""}`);if(!r.ok)throw new Error("Failed to load notes");return r.json()}async function Zi(e,t){const n=await fetch(`${Je}/${encodeURIComponent(e)}/${encodeURIComponent(t)}`);if(n.status===404)return null;if(!n.ok)throw new Error(`Failed to load note (${n.status})`);return n.json()}async function Ji(e,t){const n=await fetch(Je,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:e,content:t})});if(!n.ok)throw new Error("Failed to create note");return n.json()}async function Xi(e,t,n){const r=await fetch(`${Je}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:n})});if(!r.ok)throw new Error(`Failed to add comment (${r.status})`)}async function Qi(e,t,n){const r=await fetch(`${Je}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/comments/${n}`,{method:"DELETE"});if(!r.ok)throw new Error(`Failed to delete comment (${r.status})`)}async function $i(e,t,n){if(!(await fetch(`${Je}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/reactions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({emoji:n})})).ok)throw new Error("Failed to toggle reaction")}async function ea(){try{const e=await fetch("/api/auth/me");if(!e.ok)return console.warn(`Failed to fetch current user: HTTP ${e.status}`),{username:"",avatarUrl:null};const t=await e.json();return{username:t?.username??"",avatarUrl:t?.avatar?`/api/auth/avatars/${encodeURIComponent(t.avatar)}`:null}}catch(e){return console.warn("Failed to fetch current user:",e),{username:"",avatarUrl:null}}}var ta=D('<button class="delete-btn svelte-1ku848x">delete</button>'),na=D('<div class="comment svelte-1ku848x"><div class="comment-header svelte-1ku848x"><span class="author svelte-1ku848x"> </span> <span class="date svelte-1ku848x"> </span> <!></div> <div class="comment-body svelte-1ku848x"> </div></div>'),ra=D('<div class="comment-list svelte-1ku848x"></div>'),ia=D('<img alt="" class="avatar-img svelte-1ku848x"/>'),aa=D('<div class="avatar-fallback svelte-1ku848x"> </div>'),sa=D('<section class="comment-section svelte-1ku848x"><h3 class="section-header svelte-1ku848x"> </h3> <!> <div class="compose svelte-1ku848x"><div class="compose-avatar svelte-1ku848x"><!></div> <div class="compose-box svelte-1ku848x"><textarea placeholder="Write a comment..." class="compose-input svelte-1ku848x"></textarea> <div class="compose-footer svelte-1ku848x"><button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg> Comment</button></div></div></div></section>');function la(e,t){Ge(t,!0);let n=or(t,"userAvatarUrl",3,null),r=I("");function i(){const w=d(r).trim();w&&(k(r,""),t.onComment(w))}function a(w){w.key==="Enter"&&!w.shiftKey&&(w.preventDefault(),i())}function l(w){const f=new Date(`${w.replace(" ","T")}Z`);return f.toLocaleDateString(void 0,{month:"short",day:"numeric"})+" "+f.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"})}function o(w){return(w[0]??"?").toUpperCase()}var s=sa(),u=y(s),c=y(u),m=A(u,2);{var v=w=>{var f=ra();ot(f,21,()=>t.comments,g=>g.id,(g,E)=>{var j=na(),pe=y(j),me=y(pe),Xe=y(me),ie=A(me,2),ct=y(ie),kt=A(ie,2);{var St=Ae=>{var dt=ta();fe("click",dt,()=>t.onDelete?.(d(E).id)),M(Ae,dt)};V(kt,Ae=>{t.onDelete&&d(E).author_username===t.currentUsername&&Ae(St)})}var Tt=A(pe,2),vt=y(Tt);K(Ae=>{L(Xe,d(E).author_display_name??d(E).author_username),L(ct,Ae),L(vt,d(E).content)},[()=>l(d(E).created_at)]),M(g,j)}),M(w,f)};V(m,w=>{t.comments.length>0&&w(v)})}var _=A(m,2),p=y(_),x=y(p);{var h=w=>{var f=ia();K(()=>_n(f,"src",n())),M(w,f)},b=w=>{var f=aa(),g=y(f);K(E=>L(g,E),[()=>o(t.currentUsername)]),M(w,f)};V(x,w=>{n()?w(h):w(b,-1)})}var O=A(p,2),C=y(O);_n(C,"rows",2);var T=A(C,2),F=y(T);let P;K((w,f)=>{L(c,`Comments (${t.comments.length??""})`),P=lr(F,1,"submit-btn svelte-1ku848x",null,P,w),F.disabled=f},[()=>({active:!!d(r).trim()}),()=>!d(r).trim()]),fe("keydown",C,a),wt(C,()=>d(r),w=>k(r,w)),fe("click",F,i),M(e,s),Ze()}xt(["click","keydown"]);var oa=D('<div class="error svelte-1n5zw0o"> </div>'),ua=D('<div class="status svelte-1n5zw0o">Loading...</div>'),fa=D('<div class="status svelte-1n5zw0o">Note not found.</div>'),ca=D('<button class="reply-to-link svelte-1n5zw0o"><span class="reply-arrow svelte-1n5zw0o">&#8617;</span> In reply to <span class="reply-ref svelte-1n5zw0o"> </span></button>'),va=D("<button> </button>"),da=D('<form class="emoji-form svelte-1n5zw0o"><input class="emoji-input svelte-1n5zw0o" placeholder="emoji" maxlength="32"/></form>'),ha=D('<button class="reaction-pill add-reaction svelte-1n5zw0o" title="Add reaction"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M8 14s1.5 2 4 2 4-2 4-2"></path><line x1="9" y1="9" x2="9.01" y2="9"></line><line x1="15" y1="9" x2="15.01" y2="9"></line></svg></button>'),_a=D('<button class="reply-card svelte-1n5zw0o"><span class="reply-title svelte-1n5zw0o"> </span> <span class="reply-meta svelte-1n5zw0o"> </span></button>'),pa=D('<div class="replies-section svelte-1n5zw0o"><h3 class="section-title svelte-1n5zw0o">Replies</h3> <!></div>'),ma=D('<article class="note svelte-1n5zw0o"><!> <h1 class="title svelte-1n5zw0o"> </h1> <div class="meta svelte-1n5zw0o"><span class="author svelte-1n5zw0o"> </span> <span class="sep svelte-1n5zw0o">&middot;</span> <span class="date svelte-1n5zw0o"> </span></div> <div class="divider svelte-1n5zw0o"></div> <div class="content svelte-1n5zw0o"> </div> <div class="reactions-bar svelte-1n5zw0o"><!> <!></div></article> <!> <div class="comments-section svelte-1n5zw0o"><!></div>',1),ga=D('<div class="note-view svelte-1n5zw0o"><button class="back-btn svelte-1n5zw0o">&larr; Back</button> <!> <!></div>');function wa(e,t){Ge(t,!0);let n=or(t,"userAvatarUrl",3,null),r=I(null),i=I(!0),a=I(!1),l=I(""),o=I(""),s=I(!1);async function u(){k(i,!0),k(a,!1),k(l,""),k(r,null);try{const f=await Zi(t.author,t.slug);f?k(r,f,!0):k(a,!0)}catch{k(l,"Network error — could not load note")}finally{k(i,!1)}}Wn(()=>{t.author,t.slug,u()});async function c(f){try{await Xi(t.author,t.slug,f)}catch{k(l,"Failed to add comment");return}await u()}async function m(f){try{await Qi(t.author,t.slug,f)}catch{k(l,"Failed to delete comment");return}await u()}async function v(f){try{await $i(t.author,t.slug,f)}catch{return}await u()}async function _(f){f.preventDefault();const g=d(o).trim();g&&(k(o,""),k(s,!1),await v(g))}function p(f){return new Date(`${f.replace(" ","T")}Z`).toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"})}function x(f){return f.usernames.includes(t.username)}var h=ga(),b=y(h),O=A(b,2);{var C=f=>{var g=oa(),E=y(g);K(()=>L(E,d(l))),M(f,g)};V(O,f=>{d(l)&&f(C)})}var T=A(O,2);{var F=f=>{var g=ua();M(f,g)},P=f=>{var g=fa();M(f,g)},w=f=>{var g=ma(),E=on(g),j=y(E);{var pe=z=>{var Y=ca(),Ne=A(y(Y),2),Me=y(Ne);K(()=>L(Me,d(r).reply_to.title)),fe("click",Y,()=>t.onNavigate(d(r).reply_to.author_username,d(r).reply_to.slug)),M(z,Y)};V(j,z=>{d(r).reply_to&&z(pe)})}var me=A(j,2),Xe=y(me),ie=A(me,2),ct=y(ie),kt=y(ct),St=A(ct,4),Tt=y(St),vt=A(ie,4),Ae=y(vt),dt=A(vt,2),$t=y(dt);{var fr=z=>{var Y=Oi(),Ne=on(Y);ot(Ne,17,()=>d(r).reactions,jt,(Me,ue)=>{var ge=va();let Qe;var Ct=y(ge);K(At=>{Qe=lr(ge,1,"reaction-pill svelte-1n5zw0o",null,Qe,At),L(Ct,`${d(ue).emoji??""} ${d(ue).count??""}`)},[()=>({active:x(d(ue))})]),fe("click",ge,()=>v(d(ue).emoji)),M(Me,ge)}),M(z,Y)};V($t,z=>{d(r).reactions&&d(r).reactions.length>0&&z(fr)})}var cr=A($t,2);{var vr=z=>{var Y=da(),Ne=y(Y);sr("submit",Y,_),wt(Ne,()=>d(o),Me=>k(o,Me)),M(z,Y)},dr=z=>{var Y=ha();fe("click",Y,()=>{k(s,!0)}),M(z,Y)};V(cr,z=>{d(s)?z(vr):z(dr,-1)})}var en=A(E,2);{var hr=z=>{var Y=pa(),Ne=A(y(Y),2);ot(Ne,17,()=>d(r).replies,jt,(Me,ue)=>{var ge=_a(),Qe=y(ge),Ct=y(Qe),At=A(Qe,2),mr=y(At);K(gr=>{L(Ct,d(ue).title),L(mr,`${d(ue).author_username??""} · ${gr??""}`)},[()=>p(d(ue).created_at)]),fe("click",ge,()=>t.onNavigate(d(ue).author_username,d(ue).slug)),M(Me,ge)}),M(z,Y)};V(en,z=>{d(r).replies&&d(r).replies.length>0&&z(hr)})}var _r=A(en,2),pr=y(_r);{let z=In(()=>d(r).comments??[]);la(pr,{get comments(){return d(z)},onComment:c,onDelete:m,get currentUsername(){return t.username},get userAvatarUrl(){return n()}})}K(z=>{L(Xe,d(r).title),L(kt,d(r).author_display_name??d(r).author_username),L(Tt,z),L(Ae,d(r).content)},[()=>p(d(r).created_at)]),M(f,g)};V(T,f=>{d(i)?f(F):d(a)?f(P,1):d(r)&&f(w,2)})}fe("click",b,function(...f){t.onBack?.apply(this,f)}),M(e,h),Ze()}xt(["click"]);var ya=D('<div class="reply-indicator svelte-1hapkk3"> </div>'),ba=D('<span class="comments svelte-1hapkk3"> </span>'),Ea=D('<span class="reaction-pill svelte-1hapkk3"> </span>'),xa=D('<div class="reactions svelte-1hapkk3"></div>'),ka=D('<button class="card svelte-1hapkk3"><!> <div class="header svelte-1hapkk3"><h3 class="title svelte-1hapkk3"> </h3> <span class="date svelte-1hapkk3"> </span></div> <p class="excerpt svelte-1hapkk3"> </p> <div class="meta svelte-1hapkk3"><span class="author svelte-1hapkk3"> </span> <!></div> <!></button>');function Sa(e,t){Ge(t,!0);function n(T){const F=Math.floor((Date.now()-new Date(`${T.replace(" ","T")}Z`).getTime())/1e3);if(F<60)return"just now";const P=Math.floor(F/60);if(P<60)return`${P}m ago`;const w=Math.floor(P/60);if(w<24)return`${w}h ago`;const f=Math.floor(w/24);return f<30?`${f}d ago`:`${Math.floor(f/30)}mo ago`}var r=ka(),i=y(r);{var a=T=>{var F=ya(),P=y(F);K(()=>L(P,`↩ replying to ${t.replyTo.author_username??""}/${t.replyTo.slug??""}`)),M(T,F)};V(i,T=>{t.replyTo&&T(a)})}var l=A(i,2),o=y(l),s=y(o),u=A(o,2),c=y(u),m=A(l,2),v=y(m),_=A(m,2),p=y(_),x=y(p),h=A(p,2);{var b=T=>{var F=ba(),P=y(F);K(()=>L(P,`${t.commentCount??""} ${t.commentCount===1?"comment":"comments"}`)),M(T,F)};V(h,T=>{t.commentCount>0&&T(b)})}var O=A(_,2);{var C=T=>{var F=xa();ot(F,21,()=>t.reactions,jt,(P,w)=>{var f=Ea(),g=y(f);K(()=>L(g,`${d(w).emoji??""} ${d(w).count??""}`)),M(P,f)}),M(T,F)};V(O,T=>{t.reactions&&t.reactions.length>0&&T(C)})}K(T=>{L(s,t.title),L(c,T),L(v,t.excerpt),L(x,t.author)},[()=>n(t.createdAt)]),fe("click",r,()=>t.onSelect(t.author,t.slug)),M(e,r),Ze()}xt(["click"]);var Ta=D('<button class="btn btn-write svelte-vh096i"> </button>'),Ca=D('<form class="note-form svelte-vh096i"><input type="text" class="form-input svelte-vh096i" placeholder="Title"/> <textarea class="form-textarea svelte-vh096i" placeholder="Write your note..." rows="6"></textarea> <div class="form-actions svelte-vh096i"><button type="submit" class="btn btn-submit svelte-vh096i"> </button></div></form>'),Aa=D('<div class="error svelte-vh096i"> </div>'),Na=D('<div class="loading svelte-vh096i">Loading notes...</div>'),Ma=D('<div class="empty svelte-vh096i">No notes yet. Be the first to write one.</div>'),Ra=D('<div class="notes-list svelte-vh096i"></div>'),Da=D('<div class="notes-page svelte-vh096i"><div class="page-header svelte-vh096i"><h2 class="page-title svelte-vh096i">Notes</h2> <!></div> <!> <!> <!></div>');function Fa(e,t){Ge(t,!0);let n=I(De([])),r=I(!0),i=I(""),a=I(!1),l=I(""),o=I(""),s=I(!1);function u(f){const g=f.content.length>200?`${f.content.slice(0,200)}...`:f.content;return{title:f.title,author:f.author_username,slug:f.slug,excerpt:g,commentCount:f.comment_count,createdAt:f.created_at,replyTo:f.reply_to,reactions:f.reactions}}async function c(){try{const f=await Gi({author:t.author});k(n,f.map(u),!0),k(i,"")}catch(f){k(i,f instanceof Error?f.message:"Failed to load notes",!0)}finally{k(r,!1)}}async function m(f){if(f.preventDefault(),!(!d(l).trim()||!d(o).trim()||d(s))){k(s,!0);try{await Ji(d(l).trim(),d(o).trim()),k(l,""),k(o,""),k(a,!1),await c()}catch(g){k(i,g instanceof Error?g.message:"Failed to create note",!0)}finally{k(s,!1)}}}ur(()=>{c()});var v=Da(),_=y(v),p=A(y(_),2);{var x=f=>{var g=Ta(),E=y(g);K(()=>L(E,d(a)?"Cancel":"Write a Note")),fe("click",g,()=>{k(a,!d(a))}),M(f,g)};V(p,f=>{t.author||f(x)})}var h=A(_,2);{var b=f=>{var g=Ca(),E=y(g),j=A(E,2),pe=A(j,2),me=y(pe),Xe=y(me);K(ie=>{me.disabled=ie,L(Xe,d(s)?"Publishing...":"Publish")},[()=>d(s)||!d(l).trim()||!d(o).trim()]),sr("submit",g,m),wt(E,()=>d(l),ie=>k(l,ie)),wt(j,()=>d(o),ie=>k(o,ie)),M(f,g)};V(h,f=>{d(a)&&f(b)})}var O=A(h,2);{var C=f=>{var g=Aa(),E=y(g);K(()=>L(E,d(i))),M(f,g)};V(O,f=>{d(i)&&f(C)})}var T=A(O,2);{var F=f=>{var g=Na();M(f,g)},P=f=>{var g=Ma();M(f,g)},w=f=>{var g=Ra();ot(g,21,()=>d(n),E=>`${E.author}/${E.slug}`,(E,j)=>{Sa(E,{get title(){return d(j).title},get author(){return d(j).author},get slug(){return d(j).slug},get excerpt(){return d(j).excerpt},get commentCount(){return d(j).commentCount},get createdAt(){return d(j).createdAt},get replyTo(){return d(j).replyTo},get reactions(){return d(j).reactions},get onSelect(){return t.onSelectNote}})}),M(f,g)};V(T,f=>{d(r)?f(F):d(n).length===0?f(P,1):f(w,-1)})}M(e,v),Ze()}xt(["click"]);var Oa=D('<div class="ext-app svelte-1r8vfx3"><!></div>');function Ia(e,t){Ge(t,!0);let n=I(De(window.location.hash)),r=I(""),i=I(null);ur(()=>{ea().then(_=>{k(r,_.username,!0),k(i,_.avatarUrl,!0)}).catch(()=>{console.warn("Failed to load current user")});const v=()=>{k(n,window.location.hash,!0)};return window.addEventListener("hashchange",v),()=>window.removeEventListener("hashchange",v)});let a=In(()=>{const v=d(n).replace(/^#\/?/,""),_=v.match(/^mind\/([^/]+)(?:\/(.+))?/);if(_)return _[2]?{view:"detail",author:_[1],slug:_[2],mindContext:_[1]}:{view:"list",author:_[1],mindContext:_[1]};const p=v.match(/^([^/]+)\/(.+)/);return p?{view:"detail",author:p[1],slug:p[2]}:{view:"list"}});function l(v){window.parent.postMessage({type:"navigate",path:v},"*")}function o(v,_){return`/minds/${v}/notes/${_}`}var s=Oa(),u=y(s);{var c=v=>{wa(v,{get author(){return d(a).author},get slug(){return d(a).slug},get username(){return d(r)},get userAvatarUrl(){return d(i)},onNavigate:(_,p)=>l(o(_,p)),onBack:()=>l(d(a).mindContext?`/minds/${d(a).mindContext}/notes`:"/notes")})},m=v=>{Fa(v,{get author(){return d(a).author},onSelectNote:(_,p)=>l(o(_,p))})};V(u,v=>{d(a).view==="detail"?v(c):v(m,-1)})}M(e,s),Ze()}Ii(Ia,{target:document.getElementById("app")});
@@ -1,58 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * pages.mjs — notify the daemon that a page was created or updated
4
- *
5
- * Usage:
6
- * node .claude/skills/pages/scripts/pages.mjs notify [filename]
7
- */
8
-
9
- import { existsSync, readFileSync } from "node:fs";
10
- import { resolve } from "node:path";
11
-
12
- const mind = process.env.VOLUTE_MIND;
13
- const port = process.env.VOLUTE_DAEMON_PORT;
14
- const token = process.env.VOLUTE_DAEMON_TOKEN;
15
- const mindDir = process.env.VOLUTE_MIND_DIR;
16
-
17
- // Read session from env or file (sandbox doesn't propagate env vars set after process start)
18
- let session = process.env.VOLUTE_SESSION;
19
- if (!session && mindDir) {
20
- try {
21
- const p = resolve(mindDir, ".mind", "current-session");
22
- if (existsSync(p)) session = readFileSync(p, "utf-8").trim() || undefined;
23
- } catch {
24
- /* best-effort */
25
- }
26
- }
27
-
28
- if (!mind || !port || !token) {
29
- console.error("Missing VOLUTE_MIND, VOLUTE_DAEMON_PORT, or VOLUTE_DAEMON_TOKEN");
30
- process.exit(1);
31
- }
32
-
33
- const baseUrl = `http://localhost:${port}/api/ext/pages`;
34
- const headers = {
35
- "Content-Type": "application/json",
36
- Authorization: `Bearer ${token}`,
37
- ...(session ? { "X-Volute-Session": session } : {}),
38
- };
39
-
40
- const [, , command, ...args] = process.argv;
41
-
42
- if (command === "notify") {
43
- const file = args[0] || "page";
44
- const res = await fetch(`${baseUrl}/notify`, {
45
- method: "POST",
46
- headers,
47
- body: JSON.stringify({ file }),
48
- });
49
- if (!res.ok) {
50
- const data = await res.json().catch(() => ({}));
51
- console.error(`Failed to notify: ${data.error || res.status}`);
52
- process.exit(1);
53
- }
54
- console.log(`Notified: ${file}`);
55
- } else {
56
- console.error("Usage: pages.mjs notify [filename]");
57
- process.exit(1);
58
- }
@@ -1,46 +0,0 @@
1
- #!/bin/bash
2
- # Startup context hook — generates orientation context for new sessions.
3
- # Edit this script to customize what you see when your session starts.
4
- # Input: JSON on stdin with { "source": "startup" | "SessionStart" }
5
- # Output: JSON with hookSpecificOutput.additionalContext (for SessionStart hook)
6
- # or plain text (for direct execution by pi template)
7
-
8
- INPUT=$(cat)
9
- SOURCE=$(echo "$INPUT" | jq -r '.source // "startup"')
10
-
11
- CONTEXT="Session ${SOURCE} at $(date '+%Y-%m-%d %H:%M')."
12
-
13
- # Active sessions
14
- SESSIONS_DIR=".mind/sessions"
15
- if [ -d "$SESSIONS_DIR" ]; then
16
- SESSION_LIST=$(ls -1 "$SESSIONS_DIR"/*.json 2>/dev/null | xargs -I{} basename {} .json | sort)
17
- if [ -n "$SESSION_LIST" ]; then
18
- CONTEXT="$CONTEXT Active sessions: $(echo "$SESSION_LIST" | tr '\n' ', ' | sed 's/, $//')."
19
- fi
20
- fi
21
-
22
- # Last journal entry
23
- JOURNAL_DIR="home/memory/journal"
24
- if [ -d "$JOURNAL_DIR" ]; then
25
- LATEST=$(ls -1 "$JOURNAL_DIR"/*.md 2>/dev/null | sort | tail -1)
26
- if [ -n "$LATEST" ]; then
27
- CONTEXT="$CONTEXT Last journal entry: $(basename "$LATEST" .md)."
28
- fi
29
- fi
30
-
31
- # Pending channel invites
32
- INBOX_DIR="home/inbox"
33
- if [ -d "$INBOX_DIR" ]; then
34
- INVITE_COUNT=$(ls -1 "$INBOX_DIR"/*.md 2>/dev/null | wc -l | tr -d ' ')
35
- if [ "$INVITE_COUNT" -gt 0 ] 2>/dev/null; then
36
- CONTEXT="$CONTEXT Pending channel invites: ${INVITE_COUNT} (check inbox/)."
37
- fi
38
- fi
39
-
40
- # Output in SessionStart hook format
41
- jq -n --arg ctx "$CONTEXT" '{
42
- hookSpecificOutput: {
43
- hookEventName: "SessionStart",
44
- additionalContext: $ctx
45
- }
46
- }'
@@ -1,59 +0,0 @@
1
- #!/usr/bin/env npx tsx
2
- /**
3
- * Session reader — displays a human-readable log of another session's activity.
4
- *
5
- * Usage: npx tsx .config/scripts/session-reader.ts <session-name> [--lines N]
6
- *
7
- * Runs from the mind's home/ directory.
8
- */
9
- import { existsSync } from "node:fs";
10
- import { resolve } from "node:path";
11
- import {
12
- readSessionLog,
13
- resolveAgentSdkJsonl,
14
- resolvePiJsonl,
15
- } from "../../src/lib/session-monitor.js";
16
-
17
- const args = process.argv.slice(2);
18
- let sessionName: string | undefined;
19
- let lines = 50;
20
-
21
- for (let i = 0; i < args.length; i++) {
22
- if (args[i] === "--lines" && args[i + 1]) {
23
- lines = parseInt(args[++i], 10);
24
- } else if (!sessionName && !args[i].startsWith("-")) {
25
- sessionName = args[i];
26
- }
27
- }
28
-
29
- if (!sessionName) {
30
- console.error("Usage: npx tsx .config/scripts/session-reader.ts <session-name> [--lines N]");
31
- process.exit(1);
32
- }
33
-
34
- // Detect template type and resolve JSONL path
35
- const cwd = process.cwd();
36
- const agentSdkSessions = resolve(cwd, "../.mind/sessions");
37
- const piSessions = resolve(cwd, "../.mind/pi-sessions");
38
-
39
- let jsonlPath: string | null = null;
40
- let format: "agent-sdk" | "pi";
41
-
42
- if (existsSync(agentSdkSessions)) {
43
- format = "agent-sdk";
44
- jsonlPath = resolveAgentSdkJsonl(agentSdkSessions, sessionName, cwd);
45
- } else if (existsSync(piSessions)) {
46
- format = "pi";
47
- jsonlPath = resolvePiJsonl(piSessions, sessionName);
48
- } else {
49
- console.error("No session directory found. Expected .mind/sessions/ or .mind/pi-sessions/");
50
- process.exit(1);
51
- }
52
-
53
- if (!jsonlPath || !existsSync(jsonlPath)) {
54
- console.error(`No session log found for "${sessionName}".`);
55
- process.exit(1);
56
- }
57
-
58
- const output = readSessionLog({ jsonlPath, format, lines });
59
- console.log(output);