tarsk 0.6.87 → 0.6.89

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 (255) hide show
  1. package/README.md +63 -24
  2. package/dist/bundled-skills/email-me/SKILL.md +15 -0
  3. package/dist/bundled-skills/email-me/scripts/__tests__/email_me.test.js +64 -0
  4. package/dist/bundled-skills/email-me/scripts/email_me.js +45 -0
  5. package/dist/bundled-skills/handoff/SKILL.md +19 -0
  6. package/dist/bundled-skills/tarsk-agent/SKILL.md +372 -0
  7. package/dist/bundled-skills/tarsk-ask-user/SKILL.md +18 -0
  8. package/dist/bundled-skills/tarsk-ask-user/scripts/ask_user.js +101 -0
  9. package/dist/bundled-skills/tarsk-bash/SKILL.md +17 -0
  10. package/dist/bundled-skills/tarsk-bash/scripts/bash.js +248 -0
  11. package/dist/bundled-skills/tarsk-browser/SKILL.md +17 -0
  12. package/dist/bundled-skills/tarsk-browser/scripts/browser.js +252 -0
  13. package/dist/bundled-skills/tarsk-chat-title/SKILL.md +14 -0
  14. package/dist/bundled-skills/tarsk-chat-title/scripts/chat_title.js +37 -0
  15. package/dist/bundled-skills/tarsk-connect-mcp/SKILL.md +23 -0
  16. package/dist/bundled-skills/tarsk-connect-mcp/scripts/__tests__/connect_mcp.test.js +68 -0
  17. package/dist/bundled-skills/tarsk-connect-mcp/scripts/connect_mcp.js +119 -0
  18. package/dist/bundled-skills/tarsk-create-project/SKILL.md +25 -0
  19. package/dist/bundled-skills/tarsk-create-project/scripts/__tests__/create_project.test.js +94 -0
  20. package/dist/bundled-skills/tarsk-create-project/scripts/create_project.js +88 -0
  21. package/dist/bundled-skills/tarsk-edit/SKILL.md +18 -0
  22. package/dist/bundled-skills/tarsk-edit/scripts/edit.js +118 -0
  23. package/dist/bundled-skills/tarsk-execute-skill-script/SKILL.md +19 -0
  24. package/dist/bundled-skills/tarsk-execute-skill-script/scripts/execute_skill_script.js +77 -0
  25. package/dist/bundled-skills/tarsk-fetch/SKILL.md +18 -0
  26. package/dist/bundled-skills/tarsk-fetch/scripts/fetch.js +38 -0
  27. package/dist/bundled-skills/tarsk-find/SKILL.md +16 -0
  28. package/dist/bundled-skills/tarsk-find/scripts/find.js +78 -0
  29. package/dist/bundled-skills/tarsk-find-images/SKILL.md +18 -0
  30. package/dist/bundled-skills/tarsk-find-images/scripts/find_images.js +78 -0
  31. package/dist/bundled-skills/tarsk-generate-image/SKILL.md +18 -0
  32. package/dist/bundled-skills/tarsk-generate-image/scripts/generate_image.js +55 -0
  33. package/dist/bundled-skills/tarsk-get-observation/SKILL.md +19 -0
  34. package/dist/bundled-skills/tarsk-get-observation/scripts/get_observation.js +293 -0
  35. package/dist/bundled-skills/tarsk-grep/SKILL.md +16 -0
  36. package/dist/bundled-skills/tarsk-grep/scripts/grep.js +174 -0
  37. package/dist/bundled-skills/tarsk-history/SKILL.md +15 -0
  38. package/dist/bundled-skills/tarsk-history/scripts/history.js +68 -0
  39. package/dist/bundled-skills/tarsk-improve/SKILL.md +232 -0
  40. package/dist/bundled-skills/tarsk-improve/references/signals.md +16 -0
  41. package/dist/bundled-skills/tarsk-improve/scripts/durable-runs.ts +635 -0
  42. package/dist/bundled-skills/tarsk-improve/scripts/ensure-exported.ts +238 -0
  43. package/dist/bundled-skills/tarsk-improve/scripts/export-tool-skills-lib.ts +299 -0
  44. package/dist/bundled-skills/tarsk-improve/scripts/summarize-session.ts +126 -0
  45. package/dist/bundled-skills/tarsk-jobs/SKILL.md +18 -0
  46. package/dist/bundled-skills/tarsk-jobs/scripts/job_kill.js +45 -0
  47. package/dist/bundled-skills/tarsk-jobs/scripts/job_list.js +64 -0
  48. package/dist/bundled-skills/tarsk-jobs/scripts/job_output.js +66 -0
  49. package/dist/bundled-skills/tarsk-notes/SKILL.md +17 -0
  50. package/dist/bundled-skills/tarsk-notes/scripts/notes.js +86 -0
  51. package/dist/bundled-skills/tarsk-projects/SKILL.md +18 -0
  52. package/dist/bundled-skills/tarsk-projects/scripts/projects.js +54 -0
  53. package/dist/bundled-skills/tarsk-prompt-project/SKILL.md +18 -0
  54. package/dist/bundled-skills/tarsk-prompt-project/scripts/prompt_project.js +58 -0
  55. package/dist/bundled-skills/tarsk-propose-branch/SKILL.md +16 -0
  56. package/dist/bundled-skills/tarsk-propose-branch/scripts/propose_branch.js +45 -0
  57. package/dist/bundled-skills/tarsk-read/SKILL.md +17 -0
  58. package/dist/bundled-skills/tarsk-read/scripts/read.js +331 -0
  59. package/dist/bundled-skills/tarsk-read-skill/SKILL.md +16 -0
  60. package/dist/bundled-skills/tarsk-read-skill/scripts/read_skill.js +37 -0
  61. package/dist/bundled-skills/tarsk-read-skill-reference/SKILL.md +19 -0
  62. package/dist/bundled-skills/tarsk-read-skill-reference/scripts/read_skill_reference.js +60 -0
  63. package/dist/bundled-skills/tarsk-run-js/SKILL.md +18 -0
  64. package/dist/bundled-skills/tarsk-run-js/scripts/run_js.js +192 -0
  65. package/dist/bundled-skills/tarsk-tasks/SKILL.md +18 -0
  66. package/dist/bundled-skills/tarsk-tasks/scripts/tasks.js +96 -0
  67. package/dist/bundled-skills/tarsk-todo/SKILL.md +16 -0
  68. package/dist/bundled-skills/tarsk-todo/scripts/todo.js +165 -0
  69. package/dist/bundled-skills/tarsk-web-search/SKILL.md +15 -0
  70. package/dist/bundled-skills/tarsk-web-search/scripts/web_search.js +120 -0
  71. package/dist/bundled-skills/tarsk-write/SKILL.md +16 -0
  72. package/dist/bundled-skills/tarsk-write/scripts/write.js +57 -0
  73. package/dist/index.js +217754 -211927
  74. package/dist/public/assets/{alert-dialog-DVaEQlVa.js → alert-dialog-BcZULJsX.js} +1 -1
  75. package/dist/public/assets/api-8Rp2LlXt.js +1 -0
  76. package/dist/public/assets/api-Cp9I7CxD.js +2 -0
  77. package/dist/public/assets/{async-error-boundary-DH6Sqgmt.js → async-error-boundary-CFVUPiuG.js} +1 -1
  78. package/dist/public/assets/browser-tab-CPPorbL6.js +12 -0
  79. package/dist/public/assets/button-DDaJhJP1.js +1 -0
  80. package/dist/public/assets/{card-BkOGFps5.js → card-DAc45J1v.js} +1 -1
  81. package/dist/public/assets/chat-dock-context-DbiJNr3O.js +1 -0
  82. package/dist/public/assets/chat-handlers-context-DYU2LQ5V.js +9 -0
  83. package/dist/public/assets/commit-dialog-DPaci3dp.js +1 -0
  84. package/dist/public/assets/{commit-error-dialog-D3S6kRVr.js → commit-error-dialog-Dnlkgb_H.js} +1 -1
  85. package/dist/public/assets/{commit-method-fields-BEKfSRyW.js → commit-method-fields-Xt3vbwUg.js} +1 -1
  86. package/dist/public/assets/conversation-history-view-CqIugfyO.js +1 -0
  87. package/dist/public/assets/{create-project-dialog-nquqlloK.js → create-project-dialog-DStWPoDE.js} +2 -2
  88. package/dist/public/assets/{create-project-workspace-C4tXAUWJ.js → create-project-workspace-CJ94yHAB.js} +2 -2
  89. package/dist/public/assets/create-repo-dialog-B_QiEz-v.js +1 -0
  90. package/dist/public/assets/{delete-confirm-dialog-SpYpU1AX.js → delete-confirm-dialog-D1N86piR.js} +1 -1
  91. package/dist/public/assets/dialog-D_12AsZd.js +1 -0
  92. package/dist/public/assets/diff-view-4koPcOcE.js +4 -0
  93. package/dist/public/assets/{dist-NcyjV9Gu.js → dist-2xH_pFmV.js} +1 -1
  94. package/dist/public/assets/{dist-BTu7PDzc.js → dist-AbkJBHH5.js} +1 -1
  95. package/dist/public/assets/{dist-lFBinzor.js → dist-B-h6Wj39.js} +1 -1
  96. package/dist/public/assets/dist-CgbWuuq4.js +1 -0
  97. package/dist/public/assets/{dist-f54JuzFV.js → dist-DOz2WXwX.js} +1 -1
  98. package/dist/public/assets/{dist-CqrmQxmV.js → dist-DfnQ9YJh.js} +1 -1
  99. package/dist/public/assets/{dist-BOfRC57H.js → dist-JGbQ_EJY.js} +1 -1
  100. package/dist/public/assets/{dist-ButPmyjr.js → dist-pCVg1Jdl.js} +1 -1
  101. package/dist/public/assets/dist-v_MvKS2-.js +2 -0
  102. package/dist/public/assets/{es2015-CE7VcoOH.js → es2015-eNVkKfFF.js} +1 -1
  103. package/dist/public/assets/{explorer-file-drop-CEbBlDEp.js → explorer-file-drop-DAP7ha-E.js} +1 -1
  104. package/dist/public/assets/{explorer-monaco-editor-Bgo9Y1cP.js → explorer-monaco-editor-ChJZBFy5.js} +1 -1
  105. package/dist/public/assets/explorer-tab-view-Bt9hRZUm.js +2 -0
  106. package/dist/public/assets/explorer-tree-CAs89lPz.js +1 -0
  107. package/dist/public/assets/{explorer-view-BuTa_0Uq.js → explorer-view-B1JuejkU.js} +3 -3
  108. package/dist/public/assets/git-history-dialog-Dqj1p35g.js +1 -0
  109. package/dist/public/assets/index-CcAwxnT5.js +97 -0
  110. package/dist/public/assets/index-dNrgKdYv.css +1 -0
  111. package/dist/public/assets/{label-C31qF5zZ.js → label-BCs5CZEs.js} +1 -1
  112. package/dist/public/assets/markdown-renderer-DQONI6WG.js +10 -0
  113. package/dist/public/assets/{mcp-manager-C3K_62H2.js → mcp-manager-D2FG-h2e.js} +1 -1
  114. package/dist/public/assets/{minus-l6BdrAEk.js → minus-CgQcbBQT.js} +1 -1
  115. package/dist/public/assets/{model-list-controls-DwW8S18v.js → model-list-controls-B6ofHWh3.js} +1 -1
  116. package/dist/public/assets/onboarding-dialog-DAut3X4K.js +1 -0
  117. package/dist/public/assets/{pill-tabs-CmvvHdKG.js → pill-tabs-BAhOHad7.js} +1 -1
  118. package/dist/public/assets/progress-indicator-hJ74ac5W.js +1 -0
  119. package/dist/public/assets/project-coding-view-B2FpHeiO.js +1 -0
  120. package/dist/public/assets/{project-danger-zone-view-D18k4pUF.js → project-danger-zone-view-BqP1dcRT.js} +1 -1
  121. package/dist/public/assets/{project-env-vars-view-BWFqoaFD.js → project-env-vars-view-zhigkQFG.js} +1 -1
  122. package/dist/public/assets/project-model-aliases-view-APAVFfym.js +1 -0
  123. package/dist/public/assets/project-settings-view-FnK-LRsv.js +1 -0
  124. package/dist/public/assets/project-tools-view-Dmp5ViRC.js +1 -0
  125. package/dist/public/assets/providers-list-view-Clbp73Hh.js +1 -0
  126. package/dist/public/assets/pull-request-dialog-D40BQPMk.js +1 -0
  127. package/dist/public/assets/pull-with-changes-dialog-pkXK-VP2.js +1 -0
  128. package/dist/public/assets/push-before-pr-dialog-DH91JHEC.js +1 -0
  129. package/dist/public/assets/query-keys-CcnonAAG.js +1 -0
  130. package/dist/public/assets/remote-media-url-C-GdJb-D.js +1 -0
  131. package/dist/public/assets/{scroll-area-BWc4OPsj.js → scroll-area-DGF9wUqQ.js} +1 -1
  132. package/dist/public/assets/{select-B6RizwDW.js → select-DMcNYwgt.js} +1 -1
  133. package/dist/public/assets/settings-general-tabs-view-DBZQbihJ.js +2 -0
  134. package/dist/public/assets/settings-general-view-0dhBET2R.js +1 -0
  135. package/dist/public/assets/{settings-list-D35rpAof.js → settings-list-Co3JPr9w.js} +1 -1
  136. package/dist/public/assets/settings-logs-view-DvHXUDko.js +5 -0
  137. package/dist/public/assets/settings-mcp-servers-view-414Dt5py.js +5 -0
  138. package/dist/public/assets/settings-models-view-ByeR7Enb.js +1 -0
  139. package/dist/public/assets/settings-plugins-view-8te2MPyh.js +2 -0
  140. package/dist/public/assets/settings-providers-view-BAuv9gam.js +2 -0
  141. package/dist/public/assets/settings-remote-machines-view-CHyywazU.js +1 -0
  142. package/dist/public/assets/settings-setup-view-Btp46Vh_.js +2 -0
  143. package/dist/public/assets/settings-skills-view-BNVx4bZl.js +2 -0
  144. package/dist/public/assets/{settings-slack-view-DkclyaBc.js → settings-slack-view-Caly5yGt.js} +1 -1
  145. package/dist/public/assets/settings-slash-commands-view-m6mp1knu.js +1 -0
  146. package/dist/public/assets/{settings-statistics-view-B03ZZjEy.js → settings-statistics-view-BnOxr4sZ.js} +1 -1
  147. package/dist/public/assets/settings-storage-view-Dg8xfpTG.js +1 -0
  148. package/dist/public/assets/settings-subagents-view-CucwEk2A.js +2 -0
  149. package/dist/public/assets/settings-system-prompt-view-CEDU2saT.js +1 -0
  150. package/dist/public/assets/{settings-tab-bar-ajzyt79U.js → settings-tab-bar-CdIbQ0WI.js} +1 -1
  151. package/dist/public/assets/settings-view-XcJhRclT.js +2 -0
  152. package/dist/public/assets/{slug-utils-D2jhPz-o.js → slug-utils-CO6nui1C.js} +1 -1
  153. package/dist/public/assets/square-CtxvwmM2.js +1 -0
  154. package/dist/public/assets/store-W78TGOIO.js +8 -0
  155. package/dist/public/assets/{table-C3Hc0Gwy.js → table-CQMqIW_-.js} +1 -1
  156. package/dist/public/assets/task-utils-Cnq9Eszt.js +1 -0
  157. package/dist/public/assets/tasks-view-B8_jkq_a.js +1 -0
  158. package/dist/public/assets/{terminal-panel-DCKqScJu.js → terminal-panel-xoLVfA-h.js} +2 -2
  159. package/dist/public/assets/{toggle-group-DqSxGqvP.js → toggle-group-CPmseZfb.js} +1 -1
  160. package/dist/public/assets/{tooltip-CJKJfu0l.js → tooltip-CqwCZ7wt.js} +1 -1
  161. package/dist/public/assets/{use-account-settings-query-AUeOqKvo.js → use-account-settings-query-D_qL1I4w.js} +1 -1
  162. package/dist/public/assets/{use-active-dock-panel-instance-BvAhUd_V.js → use-active-dock-panel-instance-kmJOnmL7.js} +1 -1
  163. package/dist/public/assets/use-browser-overlay-block-CO1pUEAZ.js +1 -0
  164. package/dist/public/assets/{use-git-check-B_5Jak2s.js → use-git-check-BD9gdXpK.js} +1 -1
  165. package/dist/public/assets/{use-installed-ai-files-iy_AB0dN.js → use-installed-ai-files-Nn-sN_V2.js} +1 -1
  166. package/dist/public/assets/use-open-chat-dock-panel-CXzpgxVs.js +1 -0
  167. package/dist/public/assets/{use-projects-BmhAMgxB.js → use-projects-B0xTjTaA.js} +2 -2
  168. package/dist/public/assets/utils-CqsIXqSC.js +1 -0
  169. package/dist/public/assets/web-BNWoiS4w.js +1 -0
  170. package/dist/public/assets/web-C1tBQoCB.js +1 -0
  171. package/dist/public/assets/web-Dlo3GwCf.js +1 -0
  172. package/dist/public/assets/web-cJXG33sT.js +1 -0
  173. package/dist/public/fonts/schibsted-grotesk-latin-ext-wght-normal.woff2 +0 -0
  174. package/dist/public/fonts/schibsted-grotesk-latin-wght-normal.woff2 +0 -0
  175. package/dist/public/index.html +46 -46
  176. package/package.json +9 -9
  177. package/dist/public/assets/account-view-5q3pHEHY.js +0 -1
  178. package/dist/public/assets/ai-spinner-DHwhlk4j.js +0 -1
  179. package/dist/public/assets/api-BdebJfuN.js +0 -1
  180. package/dist/public/assets/api-COO2LfdU.js +0 -2
  181. package/dist/public/assets/browser-overlay-block-CiDtkfup.js +0 -1
  182. package/dist/public/assets/browser-tab-CVdYLmW5.js +0 -12
  183. package/dist/public/assets/button-Dp5XDZNR.js +0 -1
  184. package/dist/public/assets/chat-dock-context-ymLoO90X.js +0 -1
  185. package/dist/public/assets/checkbox-D-BV8-Z_.js +0 -1
  186. package/dist/public/assets/commit-dialog-CEbCFh1x.js +0 -1
  187. package/dist/public/assets/conversation-history-view-CVMD8hUU.js +0 -1
  188. package/dist/public/assets/create-repo-dialog-B5IE3pUJ.js +0 -1
  189. package/dist/public/assets/dialog-pHPeIGaB.js +0 -1
  190. package/dist/public/assets/diff-view-Cy6nPdX-.js +0 -4
  191. package/dist/public/assets/dist-D5vgS4RP.js +0 -2
  192. package/dist/public/assets/explorer-tab-view-C-8QZO9S.js +0 -2
  193. package/dist/public/assets/explorer-tree-HrLSFgcI.js +0 -1
  194. package/dist/public/assets/git-history-dialog-ClfF5IOn.js +0 -1
  195. package/dist/public/assets/index-BBLA5zVt.css +0 -1
  196. package/dist/public/assets/index-CalVAwXj.js +0 -104
  197. package/dist/public/assets/markdown-renderer-DXRBG7uP.js +0 -10
  198. package/dist/public/assets/onboarding-dialog-BtLy0wjC.js +0 -1
  199. package/dist/public/assets/progress-indicator-4zQXqOqP.js +0 -1
  200. package/dist/public/assets/project-coding-view-CyJwnJes.js +0 -1
  201. package/dist/public/assets/project-model-aliases-view-D3tYNkkM.js +0 -1
  202. package/dist/public/assets/project-settings-view-0oN9vFvD.js +0 -1
  203. package/dist/public/assets/project-tools-view-DT87KPjE.js +0 -1
  204. package/dist/public/assets/providers-list-view-DCnh0W-5.js +0 -1
  205. package/dist/public/assets/pull-request-dialog-BdJxYQwu.js +0 -1
  206. package/dist/public/assets/pull-with-changes-dialog-Do9x9neW.js +0 -1
  207. package/dist/public/assets/push-before-pr-dialog-C-9z2O0-.js +0 -1
  208. package/dist/public/assets/query-keys-BwswkbMn.js +0 -1
  209. package/dist/public/assets/remote-media-url-B8OFqxOM.js +0 -1
  210. package/dist/public/assets/settings-general-tabs-view-Dcek-ysB.js +0 -2
  211. package/dist/public/assets/settings-general-view-DhA2N6G5.js +0 -1
  212. package/dist/public/assets/settings-logs-view-eEUTIMeb.js +0 -5
  213. package/dist/public/assets/settings-mcp-servers-view-_oeuVkUe.js +0 -5
  214. package/dist/public/assets/settings-models-view-DW-ZmVup.js +0 -1
  215. package/dist/public/assets/settings-plugins-view-DTooco_c.js +0 -2
  216. package/dist/public/assets/settings-providers-view-CEeJkhg9.js +0 -2
  217. package/dist/public/assets/settings-remote-machines-view--UB8GlCK.js +0 -1
  218. package/dist/public/assets/settings-setup-view-DFL6DlYS.js +0 -2
  219. package/dist/public/assets/settings-skills-view-xS569-Kb.js +0 -2
  220. package/dist/public/assets/settings-slash-commands-view-DrCiayfq.js +0 -1
  221. package/dist/public/assets/settings-storage-view-CQnaVOt_.js +0 -1
  222. package/dist/public/assets/settings-subagents-view-DIctUJcE.js +0 -2
  223. package/dist/public/assets/settings-system-prompt-view-BMDbrFRR.js +0 -1
  224. package/dist/public/assets/settings-view-8M6sbGiX.js +0 -2
  225. package/dist/public/assets/store-CxUwqrZ5.js +0 -8
  226. package/dist/public/assets/task-utils-WAei2PDi.js +0 -1
  227. package/dist/public/assets/tasks-view-DKyqgGdE.js +0 -1
  228. package/dist/public/assets/use-browser-overlay-block-z9imTmiZ.js +0 -1
  229. package/dist/public/assets/use-open-chat-dock-panel-w3hc5Vxn.js +0 -1
  230. package/dist/public/assets/utils-mYB1USG6.js +0 -1
  231. package/dist/public/assets/web-C6Gm4nQ0.js +0 -1
  232. package/dist/public/assets/web-DFlyNg8o.js +0 -1
  233. package/dist/public/assets/web-DlEPs8Xe.js +0 -1
  234. package/dist/public/assets/web-Gx3xReQH.js +0 -1
  235. package/dist/public/backgrounds/arctic-tundra.avif +0 -0
  236. package/dist/public/backgrounds/autumn-leaves.avif +0 -0
  237. package/dist/public/backgrounds/coastal-cliff.avif +0 -0
  238. package/dist/public/backgrounds/floating-waterfall.avif +0 -0
  239. package/dist/public/backgrounds/forest-path.avif +0 -0
  240. package/dist/public/backgrounds/garden-path.avif +0 -0
  241. package/dist/public/backgrounds/glow-marsh.avif +0 -0
  242. package/dist/public/backgrounds/golden-wheat.avif +0 -0
  243. package/dist/public/backgrounds/moon-desert.avif +0 -0
  244. package/dist/public/backgrounds/night-pond.avif +0 -0
  245. package/dist/public/backgrounds/prairie-grassland.avif +0 -0
  246. package/dist/public/backgrounds/river-winding.avif +0 -0
  247. package/dist/public/backgrounds/salt-flat.avif +0 -0
  248. package/dist/public/backgrounds/salt-marsh.avif +0 -0
  249. package/dist/public/backgrounds/sandy-beach.avif +0 -0
  250. package/dist/public/backgrounds/snow-river.avif +0 -0
  251. package/dist/public/backgrounds/sunset-pond.avif +0 -0
  252. package/dist/public/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.woff2 +0 -0
  253. package/dist/public/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2 +0 -0
  254. package/dist/public/fonts/plus-jakarta-sans-latin-wght-normal.woff2 +0 -0
  255. package/dist/public/fonts/plus-jakarta-sans-vietnamese-wght-normal.woff2 +0 -0
@@ -0,0 +1 @@
1
+ @font-face{font-family:Schibsted Grotesk;font-style:normal;font-display:swap;font-weight:400 900;src:url(/fonts/schibsted-grotesk-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-display:swap;font-weight:400 900;src:url(/fonts/schibsted-grotesk-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-greek-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-greek-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Liberation Mono;src:url(/fonts/liberation-mono-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter Variable,system-ui,-apple-system,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:Liberation Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{-webkit-user-select:none;user-select:none}input,textarea,select,[contenteditable],[role=textbox],.prose-custom,pre,code{-webkit-user-select:text;user-select:text}:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 43%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--brand:81 91% 40%;--brand-foreground:0 0% 100%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--divider:0 0% 89.8%;--table-border:0 0% 3.9% / .08;--input:0 0% 89.8%;--ring:0 0% 3.9%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius:.5rem;--sidebar-background:0 0% 100%;--sidebar-foreground:220 10% 20%;--sidebar-primary:220 10% 12%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:220 15% 93%;--sidebar-accent-foreground:220 10% 12%;--sidebar-border:220 13% 91%;--sidebar-ring:220 60% 55%;--image-off-background:0 0% 94%;--agent-bubble:0 0% 100%;--settings-sidebar-background:0 0% 100%}.dark{--background:0 0% 9.5%;--image-off-background:0 0% 12%;--agent-bubble:0 0% 6%;--foreground:0 0% 78%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--brand:81 91% 40%;--brand-foreground:0 0% 100%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:0 0% 14.9%;--divider:0 0% 100% / .15;--table-border:0 0% 100% / .07;--input:0 0% 14.9%;--ring:0 0% 83.1%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%;--sidebar-background:0 0% 12%;--sidebar-foreground:240 4.8% 95.9%;--sidebar-primary:224.3 76.3% 48%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:240 3.7% 15.9%;--sidebar-accent-foreground:240 4.8% 95.9%;--sidebar-border:0 0% 100% / .15;--sidebar-ring:217.2 91.2% 59.8%;--settings-sidebar-background:0 0% 19%}html,body,#root{height:100%}html[data-native-shell=true],html[data-native-shell=true] body,html[data-native-shell=true] #root{height:var(--app-viewport-height,100%);min-height:var(--app-viewport-height,100%)}html[data-native-shell=true] body{background:0 0}html[data-native-shell=true] #root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);background:0 0;padding-bottom:0;position:relative}html[data-native-shell=true] #root:before{content:"";z-index:-1;background:hsl(var(--background));position:fixed;inset:0}html[data-native-shell=true] .h-screen{height:var(--app-viewport-height,100vh)}html[data-native-shell=true] .max-h-screen{max-height:var(--app-viewport-height,100vh)}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:Inter Variable,system-ui,-apple-system,sans-serif}h1,h2,h3,h4,h5,h6{font-family:Schibsted Grotesk,system-ui,-apple-system,sans-serif}input[type=radio],input[type=checkbox]{accent-color:hsl(var(--brand))}.dark ::placeholder{opacity:.3}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.frosted-surface,.frosted-panel{background-color:hsl(var(--background))}body{background-color:hsl(var(--image-off-background));color:hsl(var(--foreground))}html[data-native-shell=true] #root:before{background:hsl(var(--image-off-background))}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-\[-8px\]{inset:-8px}.inset-\[0_54\%_54\%_0\]{inset:0 54% 54% 0}.inset-x-0{left:0;right:0}.inset-x-4{left:1rem;right:1rem}.inset-x-px{left:1px;right:1px}.inset-y-0{top:0;bottom:0}.-bottom-1\.5{bottom:-.375rem}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-right-12{right:-3rem}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-full{bottom:100%}.end-3{inset-inline-end:.75rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-12{right:3rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.start-3{inset-inline-start:.75rem}.top-0{top:0}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-2{top:.5rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.-m-1{margin:-.25rem}.m-auto{margin:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mx-px{margin-left:1px;margin-right:1px}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.-mb-3{margin-bottom:-.75rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.-mt-6{margin-top:-1.5rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-2\.5{margin-left:.625rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-\[-10px\]{margin-left:-10px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mr-auto{margin-right:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:16/9}.size-10{width:2.5rem;height:2.5rem}.size-2{width:.5rem;height:.5rem}.size-20{width:5rem;height:5rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-6{width:1.5rem;height:1.5rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-\[18px\]{width:18px;height:18px}.h-0{height:0}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1em\]{height:1em}.h-\[1px\]{height:1px}.h-\[520px\]{height:520px}.h-\[80dvh\]{height:80dvh}.h-\[80vh\]{height:80vh}.h-\[95dvh\]{height:95dvh}.h-\[min\(36rem\,85vh\)\]{height:min(36rem,85vh)}.h-\[min\(42rem\,90dvh\)\]{height:min(42rem,90dvh)}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[100px\]{max-height:100px}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-\[512px\]{max-height:512px}.max-h-\[60dvh\]{max-height:60dvh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85dvh\]{max-height:85dvh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-\[min\(16rem\,40svh\)\]{max-height:min(16rem,40svh)}.max-h-\[min\(36rem\,85vh\)\]{max-height:min(36rem,85vh)}.max-h-\[min\(400px\,80vh\)\]{max-height:min(400px,80vh)}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-full{max-height:100%}.max-h-none{max-height:none}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.min-h-32{min-height:8rem}.min-h-9{min-height:2.25rem}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[14rem\]{min-height:14rem}.min-h-\[240px\]{min-height:240px}.min-h-\[376px\]{min-height:376px}.min-h-\[3rem\]{min-height:3rem}.min-h-\[4\.5rem\]{min-height:4.5rem}.min-h-\[71px\]{min-height:71px}.min-h-\[80px\]{min-height:80px}.min-h-\[8rem\]{min-height:8rem}.min-h-full{min-height:100%}.min-h-svh{min-height:100svh}.w-0{width:0}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.6667%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-\[35\%\]{width:35%}.w-\[76px\]{width:76px}.w-\[95dvw\]{width:95dvw}.w-\[min\(100\%\,48rem\)\]{width:min(100%,48rem)}.w-\[var\(--radix-popover-trigger-width\)\]{width:var(--radix-popover-trigger-width)}.w-auto{width:auto}.w-dvw{width:100dvw}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-11{min-width:2.75rem}.min-w-44{min-width:11rem}.min-w-5{min-width:1.25rem}.min-w-56{min-width:14rem}.min-w-72{min-width:18rem}.min-w-9{min-width:2.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[180px\]{min-width:180px}.min-w-\[220px\]{min-width:220px}.min-w-\[3rem\]{min-width:3rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.max-w-0{max-width:0}.max-w-2xl{max-width:42rem}.max-w-32{max-width:8rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-64{max-width:16rem}.max-w-96{max-width:24rem}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-\[12rem\]{max-width:12rem}.max-w-\[200px\]{max-width:200px}.max-w-\[300px\]{max-width:300px}.max-w-\[4\.5rem\]{max-width:4.5rem}.max-w-\[5rem\]{max-width:5rem}.max-w-\[6\.5rem\]{max-width:6.5rem}.max-w-\[calc\(100\%-4rem\)\]{max-width:calc(100% - 4rem)}.max-w-\[calc\(100vw-1rem\)\]{max-width:calc(100vw - 1rem)}.max-w-\[min\(18rem\,60vw\)\]{max-width:min(18rem,60vw)}.max-w-\[min\(30rem\,60vw\)\]{max-width:min(30rem,60vw)}.max-w-\[min\(400px\,100\%\)\]{max-width:min(400px,100%)}.max-w-\[min\(92vw\,960px\)\]{max-width:min(92vw,960px)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-max{max-width:max-content}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-0{flex-basis:0}.basis-full{flex-basis:100%}.table-fixed{table-layout:fixed}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:50%}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x:1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-50{--tw-scale-x:.5;--tw-scale-y:.5;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[2\]{--tw-scale-x:2;--tw-scale-y:2;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes daily-spend-flip-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.animate-daily-spend-flip-in{animation:daily-spend-flip-in var(--daily-spend-flip-duration,.3s) ease-out both}@keyframes daily-spend-flip-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}.animate-daily-spend-flip-out{animation:daily-spend-flip-out var(--daily-spend-flip-duration,.3s) ease-out both}@keyframes progress-spin{0%{inset:0 54% 54% 0}12.5%{inset:0 54% 0 0}25%{inset:54% 54% 0 0}37.5%{inset:54% 0 0}50%{inset:54% 0 0 54%}62.5%{inset:0 0 0 54%}75%{inset:0 0 54% 54%}87.5%{inset:0 0 54%}to{inset:0 54% 54% 0}}.animate-progress-spin{animation:2.5s infinite progress-spin}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@keyframes thread-dot-pulse{0%,to{opacity:.82;filter:brightness(.98);border-radius:9999px;transform:scale(.92)skew(0deg)}20%{opacity:.98;filter:brightness(1.08);border-radius:45% 55% 60% 40%/45% 40% 60% 55%;transform:scaleX(1.28)scaleY(.8)skew(-10deg,4deg)}40%{opacity:1;filter:brightness(1.16);border-radius:52% 48% 56% 44%/48% 54% 46% 52%;transform:scale(1.12)skew(6deg,-4deg)}60%{opacity:.74;filter:brightness();border-radius:58% 42% 45% 55%/55% 60% 40% 45%;transform:scaleX(.8)scaleY(1.24)skew(8deg,-8deg)}80%{opacity:.95;filter:brightness(1.1);border-radius:40% 60% 52% 48%/58% 42%;transform:scaleX(1.2)scaleY(.9)skew(-6deg,8deg)}}.animate-thread-dot-pulse{animation:1.35s cubic-bezier(.55,0,.45,1) infinite thread-dot-pulse}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-zoom-in{cursor:zoom-in}.touch-none{touch-action:none}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.resize-none{resize:none}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-start{scroll-snap-align:start}.list-outside{list-style-position:outside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[2\.75rem_minmax\(0\,1fr\)_2\.75rem\]{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_1\.75rem\]{grid-template-columns:minmax(0,1fr) 1.75rem}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto_1\.75rem\]{grid-template-columns:minmax(0,1fr) auto 1.75rem}.grid-cols-\[minmax\(0\,1fr\)_auto_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,2fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr)}.grid-cols-\[repeat\(auto-fill\,minmax\(5\.5rem\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr))}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1{column-gap:.25rem}.gap-x-2{column-gap:.5rem}.gap-x-3{column-gap:.75rem}.gap-x-4{column-gap:1rem}.gap-y-0\.5{row-gap:.125rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-6{row-gap:1.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--border))}.divide-table-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--table-border))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.scroll-smooth{scroll-behavior:smooth}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[1\.15rem\]{border-radius:1.15rem}.rounded-\[24px\]{border-radius:24px}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-\[24px\]{border-top-left-radius:24px;border-top-right-radius:24px}.rounded-tl-none{border-top-left-radius:0}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-tr-none{border-top-right-radius:0}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[--color-border\]{border-color:var(--color-border)}.border-black\/25{border-color:#00000040}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-border\/70{border-color:hsl(var(--border) / .7)}.border-border\/80{border-color:hsl(var(--border) / .8)}.border-brand{border-color:hsl(var(--brand))}.border-brand\/20{border-color:hsl(var(--brand) / .2)}.border-brand\/30{border-color:hsl(var(--brand) / .3)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-divider{border-color:hsl(var(--divider))}.border-foreground\/30{border-color:hsl(var(--foreground) / .3)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary-foreground\/20{border-color:hsl(var(--primary-foreground) / .2)}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-table-border{border-color:hsl(var(--table-border))}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-brand{border-top-color:hsl(var(--brand))}.border-t-transparent{border-top-color:#0000}.\!bg-transparent{background-color:#0000!important}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-\[hsl\(0_0\%_35\%\)\]{--tw-bg-opacity:1;background-color:hsl(0 0% 35%/var(--tw-bg-opacity,1))}.bg-\[hsl\(var\(--image-off-background\)\)\]{background-color:hsl(var(--image-off-background))}.bg-accent{background-color:hsl(var(--accent))}.bg-agent-bubble{background-color:hsl(var(--agent-bubble))}.bg-background{background-color:hsl(var(--background))}.bg-background\/40{background-color:hsl(var(--background) / .4)}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-background\/70{background-color:hsl(var(--background) / .7)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/85{background-color:hsl(var(--background) / .85)}.bg-background\/90{background-color:hsl(var(--background) / .9)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/25{background-color:#00000040}.bg-black\/50{background-color:#00000080}.bg-black\/80{background-color:#000c}.bg-black\/85{background-color:#000000d9}.bg-border{background-color:hsl(var(--border))}.bg-brand{background-color:hsl(var(--brand))}.bg-brand\/10{background-color:hsl(var(--brand) / .1)}.bg-brand\/15{background-color:hsl(var(--brand) / .15)}.bg-card{background-color:hsl(var(--card))}.bg-current{background-color:currentColor}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-divider{background-color:hsl(var(--divider))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-foreground\/20{background-color:hsl(var(--foreground) / .2)}.bg-foreground\/25{background-color:hsl(var(--foreground) / .25)}.bg-foreground\/35{background-color:hsl(var(--foreground) / .35)}.bg-foreground\/5{background-color:hsl(var(--foreground) / .05)}.bg-green-500\/10{background-color:#22c55e1a}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/10{background-color:hsl(var(--muted) / .1)}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-muted\/80{background-color:hsl(var(--muted) / .8)}.bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.bg-orange-500\/10{background-color:#f973161a}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-accent{background-color:hsl(var(--sidebar-accent))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.from-\[hsl\(0_0\%_35\%\)\]{--tw-gradient-from:#595959 var(--tw-gradient-from-position);--tw-gradient-to:#59595900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-\[hsl\(0_0\%_25\%\)\]{--tw-gradient-to:#404040 var(--tw-gradient-to-position)}.fill-brand{fill:hsl(var(--brand))}.fill-current{fill:currentColor}.fill-yellow-400{fill:#facc15}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-10{padding-bottom:2.5rem}.pb-14{padding-bottom:3.5rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pe-12{padding-inline-end:3rem}.pl-0{padding-left:0}.pl-0\.5{padding-left:.125rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-14{padding-left:3.5rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-\[18px\]{padding-left:18px}.pl-\[76px\]{padding-left:76px}.pr-0\.5{padding-right:.125rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-20{padding-right:5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-44{padding-right:11rem}.pr-8{padding-right:2rem}.pr-\[4px\]{padding-right:4px}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-10{padding-top:2.5rem}.pt-12{padding-top:3rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mono{font-family:Liberation Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,monospace}.font-sans{font-family:Inter Variable,system-ui,-apple-system,sans-serif}.text-2xl{font-size:1.65rem;line-height:2.2rem}.text-3xl{font-size:2.0625rem;line-height:2.475rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-base{font-size:1.1rem;line-height:1.65rem}.text-lg{font-size:1.2375rem;line-height:1.925rem}.text-sm{font-size:.9625rem;line-height:1.375rem}.text-xl{font-size:1.375rem;line-height:1.925rem}.text-xs{font-size:.825rem;line-height:1.1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.\!text-brand{color:hsl(var(--brand))!important}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-background{color:hsl(var(--background))}.text-background\/70{color:hsl(var(--background) / .7)}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-brand{color:hsl(var(--brand))}.text-brand-foreground{color:hsl(var(--brand-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-cyan-500{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-fuchsia-500{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-inherit{color:inherit}.text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/25{color:hsl(var(--muted-foreground) / .25)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-border{-webkit-text-decoration-color:hsl(var(--border));text-decoration-color:hsl(var(--border))}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[inset_0_0_0_2px\]{--tw-shadow:inset 0 0 0 2px;--tw-shadow-colored:inset 0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[inset_0_2px_4px_rgba\(0\,0\,0\,0\.14\)\]{--tw-shadow:inset 0 2px 4px #00000024;--tw-shadow-colored:inset 0 2px 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-brand{--tw-shadow-color:hsl(var(--brand));--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.outline-2{outline-width:2px}.outline-offset-1{outline-offset:1px}.outline-brand{outline-color:hsl(var(--brand))}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-\[3px\]{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-background{--tw-ring-color:hsl(var(--background))}.ring-border\/80{--tw-ring-color:hsl(var(--border) / .8)}.ring-brand{--tw-ring-color:hsl(var(--brand))}.ring-primary{--tw-ring-color:hsl(var(--primary))}.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-sidebar-ring{--tw-ring-color:hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-none{--tw-backdrop-blur: ;-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[grid-template-rows\,max-width\]{transition-property:grid-template-rows,max-width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[margin\,opa\]{transition-property:margin,opa;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[opacity\,color\,background-color\]{transition-property:opacity,color,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[padding\]{transition-property:padding;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[transform\,opacity\]{transition-property:transform,opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,opacity\]{transition-property:width,opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.animate-out{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.fade-in,.fade-in-0{--tw-enter-opacity:0}.fade-in-80{--tw-enter-opacity:.8}.fade-out{--tw-exit-opacity:0}.zoom-in{--tw-enter-scale:0}.zoom-in-90{--tw-enter-scale:.9}.zoom-in-95{--tw-enter-scale:.95}.zoom-out{--tw-exit-scale:0}.zoom-out-90{--tw-exit-scale:.9}.slide-in-from-bottom-2{--tw-enter-translate-y:.5rem}.slide-in-from-top-2{--tw-enter-translate-y:-.5rem}.duration-1000{animation-duration:1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.\!paused{animation-play-state:paused!important}.paused{animation-play-state:paused}.fill-mode-forwards{animation-fill-mode:forwards}.\@container\/settings-page{container:settings-page/inline-size}.text-balance{text-wrap:balance}.scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hide::-webkit-scrollbar{display:none}.frosted-scrollbar{scrollbar-width:thin;scrollbar-color:hsl(var(--foreground) / .35) transparent}.frosted-scrollbar::-webkit-scrollbar{appearance:none;background:0 0;width:8px}.frosted-scrollbar::-webkit-scrollbar-track{-webkit-box-shadow:none;box-shadow:none;background:0 0}.frosted-scrollbar::-webkit-scrollbar-track-piece{-webkit-box-shadow:none;box-shadow:none;background:0 0}.frosted-scrollbar::-webkit-scrollbar-button{width:0;height:0;display:none}.frosted-scrollbar::-webkit-scrollbar-thumb{background-color:hsl(var(--foreground) / .35);background-clip:padding-box;border:2px solid #0000;border-radius:9999px}.frosted-scrollbar::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--foreground) / .5)}.frosted-scrollbar::-webkit-scrollbar-corner{background:0 0}.animate-icon-shimmer-brand{animation:2.5s ease-in-out infinite icon-shimmer;-webkit-mask-image:linear-gradient(90deg,#0000 0% 40%,#000 50%,#0000 60% 100%);mask-image:linear-gradient(90deg,#0000 0% 40%,#000 50%,#0000 60% 100%);-webkit-mask-size:200% 100%;mask-size:200% 100%}@media (prefers-reduced-motion:reduce){.animate-icon-shimmer-brand{animation:none}}.animate-headline-reset{transform-origin:0;animation:.6s ease-in-out headline-reset}.animate-roster-ring-glow{animation:1.6s ease-in-out infinite roster-ring-glow}.\[animation-delay\:-1\.25s\]{animation-delay:-1.25s}.\[grid-template-columns\:repeat\(auto-fill\,minmax\(min\(220px\,100\%\)\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}.\[scrollbar-width\:none\]{scrollbar-width:none}@keyframes radial-pulse{0%{box-shadow:0 0 0 0 hsl(var(--foreground) / .5)}50%{box-shadow:0 0 0 6px hsl(var(--foreground) / .1)}to{box-shadow:0 0 0 12px hsl(var(--foreground) / 0)}}@keyframes radial-pulse-brand{0%{box-shadow:0 0 0 0 hsl(var(--brand) / .5)}50%{box-shadow:0 0 0 6px hsl(var(--brand) / .1)}to{box-shadow:0 0 0 12px hsl(var(--brand) / 0)}}@keyframes shimmer{0%{background-position:150%}to{background-position:-50%}}@keyframes icon-shimmer{0%{-webkit-mask-position:150%;mask-position:150%}to{-webkit-mask-position:-50%;mask-position:-50%}}@keyframes bot-message-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bot-message-float{animation:4.5s ease-in-out infinite bot-message-float}.bot-message-float-paused{animation:none}@media (prefers-reduced-motion:reduce){.bot-message-float,.animate-progress-spin{animation:none}}@keyframes spin-slow{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes headline-reset{0%,to{color:hsl(var(--foreground));transform:scale(1)rotate(0)}25%{color:hsl(var(--brand));transform:scale(1.06)rotate(-2deg)}50%{color:hsl(var(--brand));transform:scale(1.06)rotate(2deg)}75%{color:hsl(var(--foreground));transform:scale(1.02)rotate(-1deg)}}@keyframes roster-ring-glow{0%,to{opacity:.4}50%{opacity:1}}.diff-comment-marked-line{background:#eab30847!important;border-left:3px solid #eab308!important}.diff-comment-active-line{outline-offset:-1px!important;background:#ea820873!important;border-left:3px solid #ea8208!important;outline:1px solid #ea820899!important}.diff-gutter-add-comment{cursor:pointer;background-color:#0000;margin-left:3px;width:0!important}.diff-gutter-add-comment:after{content:"+";color:#0000;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:18px;font-weight:700;line-height:1;transition:all .1s;display:flex}.diff-editor-panel .monaco-editor .margin-view-overlays:hover .diff-gutter-add-comment:after,.diff-editor-panel .monaco-editor .margin-view-overlays .cgmr.codicon-diff-gutter-add-comment:after{color:var(--vscode-editor-foreground,#ccc);background-color:#ffffff1a}.diff-editor-panel .monaco-editor .margin-view-overlays:hover .diff-gutter-add-comment:hover:after{color:#fff;background-color:#3b82f699}.diff-comment-glyph{cursor:pointer;margin-left:3px;width:0!important}.diff-comment-glyph:after{content:"💬";cursor:pointer;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:14px;line-height:1;display:flex}.diff-comment-glyph-active{cursor:pointer;margin-left:3px;width:0!important}.diff-comment-glyph-active:after{content:"💬";cursor:pointer;background-color:#ea820866;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:14px;line-height:1;display:flex}.terminal-scrollbar,.terminal-scrollbar .xterm-viewport{scrollbar-width:none;-ms-overflow-style:none}.terminal-scrollbar::-webkit-scrollbar{display:none}.terminal-scrollbar .xterm-viewport::-webkit-scrollbar{display:none}[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}[data-radix-scroll-area-viewport]>div{display:block!important}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-base::file-selector-button{font-size:1.1rem;line-height:1.65rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-\[-1px\]:before{content:var(--tw-content);inset:-1px}@keyframes ping-subtle{75%,to{content:var(--tw-content);opacity:0;transform:scale(1.15)}}.before\:animate-ping-subtle:before{content:var(--tw-content);animation:1.5s cubic-bezier(0,0,.2,1) infinite ping-subtle}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:border:before{content:var(--tw-content);border-width:1px}.before\:border-orange-500\/60:before{content:var(--tw-content);border-color:#f9731699}.before\:border-primary\/60:before{content:var(--tw-content);border-color:hsl(var(--primary) / .6)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:mb-0:last-child{margin-bottom:0}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.last\:border-b-0:last-child{border-bottom-width:0}.empty\:hidden:empty{display:none}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.focus-within\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-within\:ring-brand:focus-within{--tw-ring-color:hsl(var(--brand))}.focus-within\:ring-ring\/40:focus-within{--tw-ring-color:hsl(var(--ring) / .4)}.hover\:border-border:hover{border-color:hsl(var(--border))}.hover\:\!bg-transparent:hover{background-color:#0000!important}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/40:hover{background-color:hsl(var(--accent) / .4)}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-background:hover{background-color:hsl(var(--background))}.hover\:bg-background\/50:hover{background-color:hsl(var(--background) / .5)}.hover\:bg-background\/85:hover{background-color:hsl(var(--background) / .85)}.hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.hover\:bg-destructive\/10:hover{background-color:hsl(var(--destructive) / .1)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-foreground:hover{background-color:hsl(var(--foreground))}.hover\:bg-foreground\/10:hover{background-color:hsl(var(--foreground) / .1)}.hover\:bg-foreground\/90:hover{background-color:hsl(var(--foreground) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/70:hover{background-color:hsl(var(--muted) / .7)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:bg-transparent:hover{background-color:#0000}.hover\:bg-white\/15:hover{background-color:#ffffff26}.hover\:\!text-brand:hover{color:hsl(var(--brand))!important}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-background:hover{color:hsl(var(--background))}.hover\:text-brand:hover{color:hsl(var(--brand))}.hover\:text-brand\/80:hover{color:hsl(var(--brand) / .8)}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-primary\/80:hover{color:hsl(var(--primary) / .8)}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-foreground\/60:hover{-webkit-text-decoration-color:hsl(var(--foreground) / .6);text-decoration-color:hsl(var(--foreground) / .6)}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-destructive:focus{color:hsl(var(--destructive))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:pointer-events-auto:focus-visible{pointer-events:auto}.focus-visible\:bg-foreground\/5:focus-visible{background-color:hsl(var(--foreground) / .05)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color:hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.focus-visible\:ring-offset-sidebar:focus-visible{--tw-ring-offset-color:hsl(var(--sidebar-background))}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-100:disabled{opacity:1}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:#0000}.disabled\:hover\:text-muted-foreground:hover:disabled{color:hsl(var(--muted-foreground))}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:pointer-events-auto{pointer-events:auto}.group\/section:hover .group-hover\/section\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.group:hover .group-hover\:text-foreground{color:hsl(var(--foreground))}.group\/chats:hover .group-hover\/chats\:opacity-100,.group\/img:hover .group-hover\/img\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group\/task-row:hover .group-hover\/task-row\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.group\/summary:focus-visible .group-focus-visible\/summary\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-destructive-foreground{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-checked\:border-transparent[aria-checked=true]{border-color:#0000}.aria-checked\:bg-foreground[aria-checked=true]{background-color:hsl(var(--foreground))}.aria-checked\:text-background[aria-checked=true]{color:hsl(var(--background))}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:.2s ease-out accordion-up}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:.2s ease-out accordion-down}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:hsl(var(--accent))}.data-\[state\=on\]\:bg-foreground[data-state=on]{background-color:hsl(var(--foreground))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-background[data-state=active]{color:hsl(var(--background))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:hsl(var(--accent-foreground))}.data-\[state\=on\]\:text-background[data-state=on]{color:hsl(var(--background))}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active],.data-\[state\=on\]\:shadow-sm[data-state=on]{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=on\]\:hover\:bg-foreground:hover[data-state=on]{background-color:hsl(var(--foreground))}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=on\]\:hover\:text-background:hover[data-state=on]{color:hsl(var(--background))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden,.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-state=checked] .group-data-\[state\=checked\]\:bg-primary{background-color:hsl(var(--primary))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-state=checked] .group-data-\[state\=checked\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}@container settings-page (width>=28rem){.\@md\/settings-page\:grid{display:grid}.\@md\/settings-page\:hidden{display:none}.\@md\/settings-page\:min-h-10{min-height:2.5rem}.\@md\/settings-page\:w-44{width:11rem}.\@md\/settings-page\:shrink-0{flex-shrink:0}.\@md\/settings-page\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\@md\/settings-page\:flex-row{flex-direction:row}.\@md\/settings-page\:items-start{align-items:flex-start}.\@md\/settings-page\:items-center{align-items:center}.\@md\/settings-page\:gap-4{gap:1rem}}@media (hover:hover) and (pointer:fine){.can-hover\:pointer-events-none{pointer-events:none}.can-hover\:opacity-0{opacity:0}.can-hover\:transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.can-hover\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.can-hover\:hover\:bg-foreground\/35:hover{background-color:hsl(var(--foreground) / .35)}.can-hover\:hover\:bg-foreground\/50:hover{background-color:hsl(var(--foreground) / .5)}.can-hover\:hover\:bg-muted:hover{background-color:hsl(var(--muted))}.can-hover\:hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.can-hover\:hover\:bg-orange-500\/10:hover{background-color:#f973161a}.can-hover\:hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.can-hover\:hover\:text-destructive:hover{color:hsl(var(--destructive))}.can-hover\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.can-hover\:hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.group\/chat-row:hover .can-hover\:group-hover\/chat-row\:pointer-events-auto,.group\/chats:hover .can-hover\:group-hover\/chats\:pointer-events-auto,.group:hover .can-hover\:group-hover\:pointer-events-auto{pointer-events:auto}.group:hover .can-hover\:group-hover\:visible{visibility:visible}.group:hover .can-hover\:group-hover\:scale-\[1\.03\]{--tw-scale-x:1.03;--tw-scale-y:1.03;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .can-hover\:group-hover\:border-foreground\/50{border-color:hsl(var(--foreground) / .5)}.group:hover .can-hover\:group-hover\:bg-foreground\/10{background-color:hsl(var(--foreground) / .1)}.group:hover .can-hover\:group-hover\:bg-foreground\/50{background-color:hsl(var(--foreground) / .5)}.group:hover .can-hover\:group-hover\:text-foreground\/80{color:hsl(var(--foreground) / .8)}.group\/chat-row:hover .can-hover\:group-hover\/chat-row\:opacity-100,.group\/chats:hover .can-hover\:group-hover\/chats\:opacity-100,.group\/summary:hover .can-hover\:group-hover\/summary\:opacity-100,.group:hover .can-hover\:group-hover\:opacity-100{opacity:1}}@media (prefers-reduced-motion:no-preference){@keyframes pulse{50%{opacity:.5}}.motion-safe\:animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:scroll-auto{scroll-behavior:auto}.motion-reduce\:transition-none{transition-property:none}}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}.dark\:border-white\/25:is(.dark *){border-color:#ffffff40}.dark\:\!bg-transparent:is(.dark *){background-color:#0000!important}.dark\:bg-black\/50:is(.dark *){background-color:#00000080}.dark\:bg-foreground:is(.dark *){background-color:hsl(var(--foreground))}.dark\:bg-muted:is(.dark *){background-color:hsl(var(--muted))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:shadow-\[inset_0_2px_4px_rgba\(0\,0\,0\,0\.35\)\]:is(.dark *){--tw-shadow:inset 0 2px 4px #00000059;--tw-shadow-colored:inset 0 2px 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dark\:invert:is(.dark *){--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:hover\:\!bg-transparent:hover:is(.dark *){background-color:#0000!important}.dark\:hover\:bg-primary:hover:is(.dark *){background-color:hsl(var(--primary))}.dark\:hover\:text-primary-foreground:hover:is(.dark *){color:hsl(var(--primary-foreground))}.group:hover .dark\:group-hover\:invert-0:is(.dark *){--tw-invert:invert(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:data-\[state\=active\]\:bg-foreground[data-state=active]:is(.dark *){background-color:hsl(var(--foreground))}.dark\:data-\[state\=active\]\:text-background[data-state=active]:is(.dark *){color:hsl(var(--background))}@media not all and (width>=768px){.max-md\:top-\[50\%\]{top:50%}.max-md\:top-\[max\(1rem\,env\(safe-area-inset-top\,0px\)\)\]{top:max(1rem, env(safe-area-inset-top,0px))}.max-md\:hidden{display:none}.max-md\:max-h-\[95dvh\]{max-height:95dvh}.max-md\:max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-md\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.max-md\:translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.max-md\:overflow-y-auto{overflow-y:auto}.max-md\:px-0{padding-left:0;padding-right:0}.max-md\:px-2{padding-left:.5rem;padding-right:.5rem}.max-md\:data-\[state\=closed\]\:zoom-out-100[data-state=closed]{--tw-exit-scale:1}.max-md\:data-\[state\=open\]\:zoom-in-100[data-state=open]{--tw-enter-scale:1}.max-md\:data-\[state\=closed\]\:slide-out-to-left-0[data-state=closed]{--tw-exit-translate-x:-0px}.max-md\:data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.max-md\:data-\[state\=open\]\:slide-in-from-left-0[data-state=open]{--tw-enter-translate-x:-0px}.max-md\:data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}}@media not all and (width>=640px){.max-sm\:hidden{display:none}}@media (width>=640px){.sm\:pointer-events-none{pointer-events:none}.sm\:absolute{position:absolute}.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:right-4{right:1rem}.sm\:top-3{top:.75rem}.sm\:top-auto{top:auto}.sm\:z-10{z-index:10}.sm\:mt-0{margin-top:0}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:h-9{height:2.25rem}.sm\:max-h-none{max-height:none}.sm\:w-52{width:13rem}.sm\:w-56{width:14rem}.sm\:w-9{width:2.25rem}.sm\:w-auto{width:auto}.sm\:max-w-\[320px\]{max-width:320px}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-\[500px\]{max-width:500px}.sm\:max-w-\[5rem\]{max-width:5rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-1{flex:1}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[repeat\(auto-fill\,minmax\(6\.5rem\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-0{gap:0}.sm\:gap-2\.5{gap:.625rem}.sm\:gap-4{gap:1rem}.sm\:gap-x-6{column-gap:1.5rem}.sm\:gap-y-8{row-gap:2rem}.sm\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:border-b-0{border-bottom-width:0}.sm\:border-r{border-right-width:1px}.sm\:p-4{padding:1rem}.sm\:text-left{text-align:left}.sm\:opacity-0{opacity:0}.sm\:data-\[state\=open\]\:pointer-events-auto[data-state=open]{pointer-events:auto}.sm\:data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}@media (hover:hover) and (pointer:fine){.group\/task-row:hover .sm\:can-hover\:group-hover\/task-row\:pointer-events-auto{pointer-events:auto}.group\/task-row:hover .sm\:can-hover\:group-hover\/task-row\:opacity-100{opacity:1}}}@media (width>=768px){.md\:absolute{position:absolute}.md\:-ml-\[6px\]{margin-left:-6px}.md\:ml-auto{margin-left:auto}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-\[71px\]{height:71px}.md\:h-\[95vh\]{height:95vh}.md\:h-\[min\(36rem\,85dvh\)\]{height:min(36rem,85dvh)}.md\:h-auto{height:auto}.md\:max-h-\[95dvh\]{max-height:95dvh}.md\:max-h-\[calc\(100svh-2rem\)\]{max-height:calc(100svh - 2rem)}.md\:w-52{width:13rem}.md\:w-\[80vw\]{width:80vw}.md\:w-\[calc\(100\%\/3_-_0\.5rem\)\]{width:calc(33.3333% - .5rem)}.md\:w-\[calc\(50\%_-_0\.375rem\)\]{width:calc(50% - .375rem)}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[1400px\]{max-width:1400px}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:gap-2{gap:.5rem}.md\:self-auto{align-self:auto}.md\:overflow-x-auto{overflow-x:auto}.md\:overflow-y-hidden{overflow-y:hidden}.md\:p-6{padding:1.5rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-0{padding-top:0;padding-bottom:0}.md\:pb-4{padding-bottom:1rem}.md\:pl-4{padding-left:1rem}.md\:opacity-0{opacity:0}.md\:\[scrollbar-width\:none\]{scrollbar-width:none}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}}@media (width>=1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media print{.print\:block{display:block}.print\:hidden{display:none}.print\:h-auto{height:auto}.print\:max-w-none{max-width:none}.print\:flex-none{flex:none}.print\:overflow-visible{overflow:visible}.print\:p-0{padding:0}}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}@media (width>=768px){.md\:\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\*\+\*\]\:border-t>*+*{border-top-width:1px}.\[\&\>\*\+\*\]\:border-table-border>*+*{border-color:hsl(var(--table-border))}.\[\&\>\*\]\:rounded-none>*{border-radius:0}.\[\&\>button\:first-child\]\:rounded-l-md>button:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\>button\:last-child\]\:rounded-r-md>button:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>button\:not\(\:first-child\)\]\:-ml-px>button:not(:first-child){margin-left:-1px}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>button\]\:rounded-none>button{border-radius:0}.\[\&\>div\:first-child\]\:py-2>div:first-child{padding-top:.5rem;padding-bottom:.5rem}.\[\&\>div\]\:\!box-border>div{box-sizing:border-box!important}.\[\&\>div\]\:\!pr-4>div{padding-right:1rem!important}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline-offset:2px;outline:2px solid #0000}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline-offset:2px;outline:2px solid #0000}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.825rem;line-height:1.1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_\[data-radix-scroll-area-viewport\]\>div\]\:\!block [data-radix-scroll-area-viewport]>div{display:block!important}.\[\&_\[data-radix-scroll-area-viewport\]\]\:max-h-56 [data-radix-scroll-area-viewport]{max-height:14rem}.\[\&_button\]\:w-full button{width:100%}.\[\&_button\]\:justify-start button{justify-content:flex-start}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-3 svg{width:.75rem;height:.75rem}.\[\&_svg\]\:size-3\.5 svg{width:.875rem;height:.875rem}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:size-5 svg{width:1.25rem;height:1.25rem}.\[\&_svg\]\:size-6 svg{width:1.5rem;height:1.5rem}.\[\&_svg\]\:h-auto svg{height:auto}.\[\&_svg\]\:max-w-full svg{max-width:100%}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}.\[\&_tr\]\:border-b-0 tr{border-bottom-width:0}.\[\&_tr\]\:border-table-border tr{border-color:hsl(var(--table-border))}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{V as i}from"./dist-D5vgS4RP.js";import{t as a}from"./utils-mYB1USG6.js";import{r as o}from"./button-Dp5XDZNR.js";import{t as s}from"./dist-lFBinzor.js";var c=t(),l=e(n(),1),u=r(),d=`Label`,f=l.forwardRef((e,t)=>(0,u.jsx)(s.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));f.displayName=d;var p=f,m=o(`${i.label} peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),h=l.forwardRef((e,t)=>{let n=(0,c.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let o;n[3]===r?o=n[4]:(o=a(m(),r),n[3]=r,n[4]=o);let s;return n[5]!==i||n[6]!==t||n[7]!==o?(s=(0,u.jsx)(p,{ref:t,className:o,...i}),n[5]=i,n[6]=t,n[7]=o,n[8]=s):s=n[8],s});h.displayName=p.displayName;export{h as t};
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{U as i}from"./dist-v_MvKS2-.js";import{t as a}from"./utils-CqsIXqSC.js";import{r as o}from"./button-DDaJhJP1.js";import{t as s}from"./dist-B-h6Wj39.js";var c=t(),l=e(n(),1),u=r(),d=`Label`,f=l.forwardRef((e,t)=>(0,u.jsx)(s.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));f.displayName=d;var p=f,m=o(`${i.label} peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),h=l.forwardRef((e,t)=>{let n=(0,c.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let o;n[3]===r?o=n[4]:(o=a(m(),r),n[3]=r,n[4]=o);let s;return n[5]!==i||n[6]!==t||n[7]!==o?(s=(0,u.jsx)(p,{ref:t,className:o,...i}),n[5]=i,n[6]=t,n[7]=o,n[8]=s):s=n[8],s});h.displayName=p.displayName;export{h as t};
@@ -0,0 +1,10 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-CsyB0UlE.js","assets/rolldown-runtime-Dd_uD5pT.js"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{a as t,n,o as r,r as i,t as a}from"./react-vendor-D61Uve5n.js";import{t as o}from"./useQuery-DWt09r77.js";import{U as s,x as c}from"./dist-v_MvKS2-.js";import{Ca as l,Sa as u,Yt as d,_i as f,di as p,ii as m,kn as h,on as g,v as _,wa as v}from"./api-Cp9I7CxD.js";import{i as y}from"./explorer-media-CRzhs0NW.js";import{t as b}from"./utils-CqsIXqSC.js";import{t as x}from"./check-skFQ1X72.js";import{t as S}from"./copy-bi9iX3xn.js";import{t as C}from"./download-CWhQNGlF.js";import{t as w}from"./external-link-Dcikmdm_.js";import{n as T,r as E,t as D}from"./minus-CgQcbBQT.js";import{c as O,i as k,l as A,n as j,r as M,s as N,t as P}from"./dialog-D_12AsZd.js";import{t as F}from"./play-Dn1mbRpD.js";import{t as ee}from"./plus-DoMzejDu.js";import{t as te}from"./rotate-ccw-Dthg8Pv6.js";import{t as ne}from"./x-ByOPrz5I.js";import{t as I}from"./button-DDaJhJP1.js";import{i as L,n as R,r as z,t as B}from"./tooltip-CqwCZ7wt.js";import{t as V}from"./use-toast-CKgZ8YeP.js";import{n as H}from"./explorer-tab-context-BwR8CM8l.js";import{t as U}from"./use-open-chat-dock-panel-CXzpgxVs.js";import{t as W}from"./query-keys-CcnonAAG.js";import{a as G,n as K,r as re,t as ie}from"./remote-media-url-C-GdJb-D.js";function q(e){return typeof e==`string`&&e.startsWith(`data:image`)}function ae(e){let t=e.indexOf(`,`);return t===-1?{imageUrl:e}:{imageUrl:e,imageData:e.slice(t+1)}}function oe(e){let t=typeof e.imageUrl==`string`?e.imageUrl:void 0,n=typeof e.imageData==`string`?e.imageData:void 0;return!t&&!n?null:t&&q(t)&&!n?ae(t):{imageUrl:t,imageData:n}}function J(e){if(typeof e==`string`)return[e];if(!Array.isArray(e))return[];let t=[];for(let n of e)typeof n==`object`&&n&&`text`in n&&typeof n.text==`string`&&t.push(n.text);return t}function se(e){for(let t of e){let e=t.trim();if(!e.startsWith(`{`)){if(q(e))return ae(e);continue}try{let t=Y(JSON.parse(e));if(t)return t}catch{}}return null}function Y(e){if(e==null)return null;if(typeof e==`object`&&!Array.isArray(e)){let t=oe(e);if(t)return t}let t=J(e);return t.length>0?se(t):null}function ce(e){let t={...e};return delete t.imageData,delete t.image_data,typeof t.imageUrl==`string`&&q(t.imageUrl)&&delete t.imageUrl,t}var le=`tarsk://`,ue=`https://tarsk.io`,X=`/redirect`,de=`tarsk.invalid`,fe=`/chat`;function pe(e){let t=new URLSearchParams;e.projectId&&t.set(`project`,e.projectId),e.threadId&&t.set(`thread`,e.threadId),e.conversationId&&t.set(`conversation`,e.conversationId);let n=t.toString();return`${le}chat${n?`?${n}`:``}`}function me(e){if(!e.startsWith(le))return null;let t=e.slice(8);try{let e=new URL(`https://${de}/${t}`);return e.pathname.replace(/\/+$/,``)===fe?{projectId:e.searchParams.get(`project`)??void 0,threadId:e.searchParams.get(`thread`)??void 0,conversationId:e.searchParams.get(`conversation`)??void 0}:null}catch{return null}}function he(e){let t=e.trim(),n=me(t);if(n)return n;try{let e=new URL(t);if(e.origin!==ue||e.pathname!==X)return null;let n=e.searchParams.get(`url`);return n?me(n):null}catch{return null}}var Z=n(),Q=e(r(),1);function ge(e,t,n){let r=(0,Z.c)(11),[i,a]=(0,Q.useState)(e),o=(0,Q.useRef)(-1/0),s=(0,Q.useRef)(null),c=(0,Q.useRef)(e),l;r[0]!==i||r[1]!==n||r[2]!==e?(l=n!==void 0&&n(e,i),r[0]=i,r[1]=n,r[2]=e,r[3]=l):l=r[3];let u=l,d;r[4]!==i||r[5]!==t||r[6]!==u||r[7]!==e?(d=()=>{if(c.current=e,Object.is(e,i))return;let n=function(){s.current&&=(clearTimeout(s.current),null),o.current=Date.now(),a(c.current)},r=Date.now()-o.current;if(u||r>=t){n();return}s.current||=setTimeout(n,t-r)},r[4]=i,r[5]=t,r[6]=u,r[7]=e,r[8]=d):d=r[8],(0,Q.useEffect)(d);let f,p;return r[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>()=>{s.current&&=(clearTimeout(s.current),null)},p=[],r[9]=f,r[10]=p):(f=r[9],p=r[10]),(0,Q.useEffect)(f,p),u?e:i}var _e=e(t(),1),ve=.1,ye=10,be=1.25,xe=.001;function Se(){let e=(0,Z.c)(15),[t,n]=(0,Q.useState)(1),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={x:0,y:0},e[0]=r):r=e[0];let[i,a]=(0,Q.useState)(r),[o,s]=(0,Q.useState)(!1),c=(0,Q.useRef)(null),l=Ce,u;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>n(e=>l(e*be)),e[1]=u):u=e[1];let d=u,f;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>n(e=>l(e/be)),e[2]=f):f=e[2];let p=f,m;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{n(1),a({x:0,y:0})},e[3]=m):m=e[3];let h=m,g;e[4]===i?g=e[5]:(g=e=>{e.preventDefault(),s(!0),c.current={x:e.clientX,y:e.clientY,ox:i.x,oy:i.y}},e[4]=i,e[5]=g);let _=g,v;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>{c.current&&a({x:c.current.ox+(e.clientX-c.current.x),y:c.current.oy+(e.clientY-c.current.y)})},e[6]=v):v=e[6];let y=v,b;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>{s(!1),c.current=null},e[7]=b):b=e[7];let x=b,S=(0,Q.useRef)(null),C,w;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>{let e=S.current;if(!e)return;let t=function(e){e.preventDefault();let t=-e.deltaY*xe;n(e=>l(e*(1+t)))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},w=[],e[8]=C,e[9]=w):(C=e[8],w=e[9]),(0,Q.useEffect)(C,w);let T;return e[10]!==o||e[11]!==i||e[12]!==_||e[13]!==t?(T={scale:t,offset:i,isDragging:o,containerRef:S,zoomIn:d,zoomOut:p,reset:h,onMouseDown:_,onMouseMove:y,onMouseUp:x},e[10]=o,e[11]=i,e[12]=_,e[13]=t,e[14]=T):T=e[14],T}function Ce(e){return Math.min(Math.max(e,ve),ye)}var $=a(),we=c(`app.mermaid-renderer.ui`);function Te(){let e=(0,Z.c)(2),[t,n]=(0,Q.useState)(!1),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=function(){n(document.documentElement.classList.contains(`dark`))};e();let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>t.disconnect()},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,Q.useEffect)(r,i),t}var Ee=null;function De(){return Ee||=i(()=>import(`./dist-CsyB0UlE.js`),__vite__mapDeps([0,1])),Ee}function Oe(e,t){let[n,r]=(0,Q.useState)(null),[i,a]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{let n=!1,i=setTimeout(()=>{let i=n=>{try{let i=n(e,{bg:t?`#18181B`:`#FFFFFF`,fg:t?`#FAFAFA`:`#27272A`,transparent:!1,padding:32});if(typeof i!=`string`||i.length===0)throw Error(`Mermaid renderer returned no SVG`);r(i),a(null)}catch(e){we.error(`Mermaid render error:`,e),r(null),a(e instanceof Error?e.message:String(e))}};De().then(e=>{n||i(e.renderMermaidSVG)},e=>{n||(we.error(`Mermaid renderer failed to load:`,e),a(e instanceof Error?e.message:String(e)))})},200);return()=>{n=!0,clearTimeout(i)}},[e,t]),{svgOutput:n,errorMessage:i}}function ke(e){let t=(0,Z.c)(70),{svgOutput:n,onClose:r}=e,{scale:i,offset:a,isDragging:o,containerRef:c,zoomIn:l,zoomOut:u,reset:d,onMouseDown:f,onMouseMove:p,onMouseUp:m}=Se(),h,g;t[0]===r?(h=t[1],g=t[2]):(h=()=>{let e=function(e){e.key===`Escape`&&r()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},g=[r],t[0]=r,t[1]=h,t[2]=g),(0,Q.useEffect)(h,g);let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=[],t[3]=_):_=t[3],(0,Q.useEffect)(Ae,_);let v;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(`span`,{className:b(s.compact,`font-mono text-muted-foreground`),children:`mermaid diagram`}),t[4]=v):v=t[4];let y,x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(D,{className:`h-3.5 w-3.5`}),x=(0,$.jsx)(`span`,{className:`sr-only`,children:`Zoom out`}),t[5]=y,t[6]=x):(y=t[5],x=t[6]);let S;t[7]===u?S=t[8]:(S=(0,$.jsx)(L,{asChild:!0,children:(0,$.jsxs)(I,{variant:`ghost`,size:`icon-xs`,onClick:u,children:[y,x]})}),t[7]=u,t[8]=S);let C;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(R,{children:`Zoom out`}),t[9]=C):C=t[9];let w;t[10]===S?w=t[11]:(w=(0,$.jsxs)(B,{children:[S,C]}),t[10]=S,t[11]=w);let T;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(T=b(s.compact,`min-w-[3rem] px-2 py-1 font-mono text-muted-foreground hover:text-foreground hover:bg-muted rounded transition-colors`),t[12]=T):T=t[12];let E;t[13]===i?E=t[14]:(E=Math.round(i*100),t[13]=i,t[14]=E);let O;t[15]!==d||t[16]!==E?(O=(0,$.jsx)(L,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,onClick:d,className:T,children:[E,`%`]})}),t[15]=d,t[16]=E,t[17]=O):O=t[17];let k;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(R,{children:`Reset zoom`}),t[18]=k):k=t[18];let A;t[19]===O?A=t[20]:(A=(0,$.jsxs)(B,{children:[O,k]}),t[19]=O,t[20]=A);let j,M;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(ee,{className:`h-3.5 w-3.5`}),M=(0,$.jsx)(`span`,{className:`sr-only`,children:`Zoom in`}),t[21]=j,t[22]=M):(j=t[21],M=t[22]);let N;t[23]===l?N=t[24]:(N=(0,$.jsx)(L,{asChild:!0,children:(0,$.jsxs)(I,{variant:`ghost`,size:`icon-xs`,onClick:l,children:[j,M]})}),t[23]=l,t[24]=N);let P;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(R,{children:`Zoom in`}),t[25]=P):P=t[25];let F;t[26]===N?F=t[27]:(F=(0,$.jsxs)(B,{children:[N,P]}),t[26]=N,t[27]=F);let V,H;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(te,{className:`h-3.5 w-3.5`}),H=(0,$.jsx)(`span`,{className:`sr-only`,children:`Reset view`}),t[28]=V,t[29]=H):(V=t[28],H=t[29]);let U;t[30]===d?U=t[31]:(U=(0,$.jsx)(L,{asChild:!0,children:(0,$.jsxs)(I,{variant:`ghost`,size:`icon-xs`,onClick:d,children:[V,H]})}),t[30]=d,t[31]=U);let W;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(R,{children:`Reset view`}),t[32]=W):W=t[32];let G;t[33]===U?G=t[34]:(G=(0,$.jsxs)(B,{children:[U,W]}),t[33]=U,t[34]=G);let K;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,$.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),t[35]=K):K=t[35];let re,ie;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,$.jsx)(ne,{className:`h-3.5 w-3.5`}),ie=(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`}),t[36]=re,t[37]=ie):(re=t[36],ie=t[37]);let q;t[38]===r?q=t[39]:(q=(0,$.jsx)(L,{asChild:!0,children:(0,$.jsxs)(I,{variant:`ghost`,size:`icon-xs`,onClick:r,children:[re,ie]})}),t[38]=r,t[39]=q);let ae;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(R,{children:`Close (Esc)`}),t[40]=ae):ae=t[40];let oe;t[41]===q?oe=t[42]:(oe=(0,$.jsxs)(B,{children:[q,ae]}),t[41]=q,t[42]=oe);let J;t[43]!==A||t[44]!==F||t[45]!==G||t[46]!==oe||t[47]!==w?(J=(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 bg-background/90 border-b border-border shrink-0`,children:[v,(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[w,A,F,G,K,oe]})]}),t[43]=A,t[44]=F,t[45]=G,t[46]=oe,t[47]=w,t[48]=J):J=t[48];let se=o?`cursor-grabbing`:`cursor-grab`,Y;t[49]===se?Y=t[50]:(Y=b(`flex-1 overflow-hidden select-none`,se),t[49]=se,t[50]=Y);let ce=`translate(${a.x}px, ${a.y}px) scale(${i})`,le=o?`none`:`transform 0.1s ease-out`,ue;t[51]!==ce||t[52]!==le?(ue={transform:ce,transformOrigin:`center center`,transition:le},t[51]=ce,t[52]=le,t[53]=ue):ue=t[53];let X;t[54]===n?X=t[55]:(X={__html:n},t[54]=n,t[55]=X);let de;t[56]!==ue||t[57]!==X?(de=(0,$.jsx)(`div`,{className:`w-full h-full flex items-center justify-center`,style:ue,dangerouslySetInnerHTML:X}),t[56]=ue,t[57]=X,t[58]=de):de=t[58];let fe;t[59]!==c||t[60]!==f||t[61]!==p||t[62]!==m||t[63]!==Y||t[64]!==de?(fe=(0,$.jsx)(`div`,{ref:c,className:Y,onMouseDown:f,onMouseMove:p,onMouseUp:m,onMouseLeave:m,children:de}),t[59]=c,t[60]=f,t[61]=p,t[62]=m,t[63]=Y,t[64]=de,t[65]=fe):fe=t[65];let pe;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,$.jsx)(`div`,{className:b(s.compact,`shrink-0 px-4 py-2 text-center text-muted-foreground/60 bg-background/60 border-t border-border`),children:`Scroll to zoom · Drag to pan · Esc to close`}),t[66]=pe):pe=t[66];let me;return t[67]!==J||t[68]!==fe?(me=(0,_e.createPortal)((0,$.jsx)(z,{children:(0,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex flex-col bg-black/85 backdrop-blur-sm`,role:`dialog`,"aria-modal":`true`,"aria-label":`Diagram fullscreen view`,children:[J,fe,pe]})}),document.body),t[67]=J,t[68]=fe,t[69]=me):me=t[69],me}function Ae(){return document.body.style.overflow=`hidden`,je}function je(){document.body.style.overflow=``}function Me(e){let t=(0,Z.c)(57),{content:n,className:r}=e,[i,a]=(0,Q.useState)(!1),[o,c]=(0,Q.useState)(!1),{svgOutput:l,errorMessage:u}=Oe(n,Te()),d=u!==null,f;t[0]===n?f=t[1]:(f=async function(){await navigator.clipboard.writeText(n),a(!0),setTimeout(()=>a(!1),2e3)},t[0]=n,t[1]=f);let p=f,m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=b(s.compact,`font-mono text-muted-foreground`),t[2]=m):m=t[2];let h=d?`mermaid (render error)`:`mermaid diagram`,g;t[3]===h?g=t[4]:(g=(0,$.jsx)(`span`,{className:m,children:h}),t[3]=h,t[4]=g);let _;t[5]!==d||t[6]!==l?(_=l&&!d&&(0,$.jsxs)(B,{children:[(0,$.jsx)(L,{asChild:!0,children:(0,$.jsxs)(I,{variant:`action`,size:`icon-xs`,onClick:()=>c(!0),children:[(0,$.jsx)(A,{}),(0,$.jsx)(`span`,{className:`sr-only`,children:`View fullscreen`})]})}),(0,$.jsx)(R,{children:`View fullscreen`})]}),t[5]=d,t[6]=l,t[7]=_):_=t[7];let v;t[8]===i?v=t[9]:(v=i?(0,$.jsx)(x,{}):(0,$.jsx)(S,{}),t[8]=i,t[9]=v);let y;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(`span`,{className:`sr-only`,children:`Copy mermaid code`}),t[10]=y):y=t[10];let C;t[11]!==p||t[12]!==v?(C=(0,$.jsxs)(I,{variant:`action`,size:`icon-xs`,onClick:p,children:[v,y]}),t[11]=p,t[12]=v,t[13]=C):C=t[13];let w;t[14]!==_||t[15]!==C?(w=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[_,C]}),t[14]=_,t[15]=C,t[16]=w):w=t[16];let T;t[17]!==g||t[18]!==w?(T=(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border bg-muted/80 px-4 py-2`,children:[g,w]}),t[17]=g,t[18]=w,t[19]=T):T=t[19];let E=T;if(d){let e;t[20]===r?e=t[21]:(e=b(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[20]=r,t[21]=e);let i;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(i=b(s.compact,`border-b border-border bg-background/50 px-4 py-2 text-destructive`),t[22]=i):i=t[22];let a;t[23]===u?a=t[24]:(a=(0,$.jsx)(`div`,{className:i,role:`alert`,children:u}),t[23]=u,t[24]=a);let o;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(o=b(s.compact,`font-mono text-foreground leading-relaxed`),t[25]=o):o=t[25];let c;t[26]===n?c=t[27]:(c=(0,$.jsx)(`pre`,{className:`overflow-x-auto p-4 max-w-full`,children:(0,$.jsx)(`code`,{className:o,children:n})}),t[26]=n,t[27]=c);let l;return t[28]!==E||t[29]!==e||t[30]!==a||t[31]!==c?(l=(0,$.jsxs)(`div`,{className:e,children:[E,a,c]}),t[28]=E,t[29]=e,t[30]=a,t[31]=c,t[32]=l):l=t[32],l}if(!l){let e;t[33]===r?e=t[34]:(e=b(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[33]=r,t[34]=e);let n;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`div`,{className:b(s.compact,`p-4 text-muted-foreground`),children:`Rendering diagram…`}),t[35]=n):n=t[35];let i;return t[36]!==E||t[37]!==e?(i=(0,$.jsxs)(`div`,{className:e,children:[E,n]}),t[36]=E,t[37]=e,t[38]=i):i=t[38],i}let D;t[39]===r?D=t[40]:(D=b(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[39]=r,t[40]=D);let O;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>c(!0),t[41]=O):O=t[41];let k;t[42]===l?k=t[43]:(k=(0,$.jsx)(L,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`block w-full text-left cursor-zoom-in p-4 max-w-full overflow-hidden [&_svg]:max-w-full [&_svg]:h-auto hover:bg-muted/70 transition-colors`,onClick:O,dangerouslySetInnerHTML:{__html:l}})}),t[42]=l,t[43]=k);let j;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(R,{children:`Click to view fullscreen`}),t[44]=j):j=t[44];let M;t[45]===k?M=t[46]:(M=(0,$.jsxs)(B,{children:[k,j]}),t[45]=k,t[46]=M);let N;t[47]!==E||t[48]!==D||t[49]!==M?(N=(0,$.jsxs)(`div`,{className:D,children:[E,M]}),t[47]=E,t[48]=D,t[49]=M,t[50]=N):N=t[50];let P;t[51]!==o||t[52]!==l?(P=o&&(0,$.jsx)(ke,{svgOutput:l,onClose:()=>c(!1)}),t[51]=o,t[52]=l,t[53]=P):P=t[53];let F;return t[54]!==N||t[55]!==P?(F=(0,$.jsxs)(z,{children:[N,P]}),t[54]=N,t[55]=P,t[56]=F):F=t[56],F}var Ne=`tarsk:open-url`;function Pe(e){window.dispatchEvent(new CustomEvent(Ne,{detail:{url:e}}))}function Fe(e){function t(t){let n=t.detail?.url;typeof n==`string`&&n.length>0&&e(n)}return window.addEventListener(Ne,t),function(){window.removeEventListener(Ne,t)}}function Ie(e){let t=e.trim();if(t.startsWith(`/`)){let e=m().replace(/\/$/,``);return v(`${e}${t}`,e)}return v(t,m())}function Le(e){let t=e.trim();if(t.startsWith(`/api/`))return!0;if(!/^https?:\/\//i.test(t))return!1;try{let e=new URL(t);if(l(e.hostname))return!0;let n=new URL(m());return e.origin===n.origin&&e.pathname.startsWith(`/api/`)}catch{return!1}}function Re(e){let t=e.trim();return!t||t.startsWith(`mailto:`)||t.startsWith(`tel:`)?!1:p()?/^https?:\/\//i.test(t)||t.startsWith(`/api/`):Le(t)}function ze(e){let t=Ie(e);return f()&&!p()?(window.open(t,`_blank`,`noopener,noreferrer`),Promise.resolve()):g(t)}function Be(e){return!!(l(e.hostname)||typeof window<`u`&&e.origin===window.location.origin)}function Ve(e){return decodeURIComponent(e.replace(/^\/+/,``))}function He(e){let t=e.trim();if(!t||t.includes(`
3
+ `))return null;let n=K(t),r=y(n?.searchParams.get(`path`)??t);if(!r)return null;let i=t.toLowerCase();return i.startsWith(`http://`)||i.startsWith(`https://`)||i.startsWith(`/`)||i.includes(`/explorer/media`)||t.includes(`/`)||t.includes(`\\`)?{kind:r,src:t}:null}function Ue(e,t){let n=e.trim();if(!n||n.startsWith(`data:`)||n.includes(`/explorer/media`))return null;let r;if(/^https?:\/\//i.test(n)){let e;try{e=new URL(n)}catch{return null}if(!Be(e))return null;r=Ve(e.pathname)}else r=Ve(n);let i=y(r);return!i||t&&i!==t?null:{path:r,kind:i}}function We(e,t){return Ie(`/api/threads/${encodeURIComponent(e)}/explorer/media?path=${encodeURIComponent(t)}`)}function Ge(e){if(!e.startsWith(`/`))return!1;let t=e.split(`/`)[1]??``;return[`Users`,`tmp`,`var`,`private`,`Volumes`,`home`].includes(t)}function Ke(e,t){if(!e||e.startsWith(`data:`))return e;if(t){let n=ie(t),r=n&&re(e,n);if(r)return Ie(r);if(Ge(e)&&y(e))return We(t,e);let i=Ue(e);if(i)return We(t,i.path)}return e.startsWith(`/`)?Ie(e):v(e,m())}function qe(e,t){return Ke(e,t)}function Je(e){let t=(0,Z.c)(7),n=e===void 0?2e3:e,[r,i]=(0,Q.useState)(!1),a,o;t[0]!==r||t[1]!==n?(a=()=>{if(!r)return;let e=setTimeout(()=>i(!1),n);return()=>clearTimeout(e)},o=[r,n],t[0]=r,t[1]=n,t[2]=a,t[3]=o):(a=t[2],o=t[3]),(0,Q.useEffect)(a,o);let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=function(){i(!0)},t[4]=s):s=t[4];let c=s,l;return t[5]===r?l=t[6]:(l={copied:r,markCopied:c},t[5]=r,t[6]=l),l}var Ye=`flex items-center justify-center h-7 w-7 rounded-md bg-background/80 backdrop-blur-sm border border-border text-foreground hover:bg-background transition-colors`;function Xe(e){return e.startsWith(`data:`)?{imageData:e.replace(/^data:[^;]+;base64,/,``)}:{imageUrl:e}}function Ze(e){let t=(0,Z.c)(36),{src:n,alt:r,className:i,imgClassName:a}=e,o=r===void 0?`Generated image`:r,{copied:s,markCopied:c}=Je(),l;t[0]===n?l=t[1]:(l=async function(){let e=u(n)??`generated-image-${Date.now()}.png`,{path:t}=await h({...Xe(n),filename:e});V({title:`Saved to downloads: ${t.split(`/`).pop()}`})},t[0]=n,t[1]=l);let d=l,f;t[2]!==c||t[3]!==n?(f=async function(){await _(Xe(n)),c()},t[2]=c,t[3]=n,t[4]=f):f=t[4];let p=f,m;t[5]===i?m=t[6]:(m=b(`relative group/img inline-block max-w-full`,i),t[5]=i,t[6]=m);let g;t[7]===a?g=t[8]:(g=b(`max-w-full rounded-lg block max-h-[512px]`,a),t[7]=a,t[8]=g);let v;t[9]!==o||t[10]!==n||t[11]!==g?(v=(0,$.jsx)(`img`,{src:n,alt:o,className:g}),t[9]=o,t[10]=n,t[11]=g,t[12]=v):v=t[12];let y;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(C,{className:`h-3.5 w-3.5`}),t[13]=y):y=t[13];let w;t[14]===d?w=t[15]:(w=(0,$.jsx)(L,{asChild:!0,children:(0,$.jsx)(`button`,{onClick:d,className:Ye,children:y})}),t[14]=d,t[15]=w);let T;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(R,{children:`Save image`}),t[16]=T):T=t[16];let E;t[17]===w?E=t[18]:(E=(0,$.jsxs)(B,{children:[w,T]}),t[17]=w,t[18]=E);let D;t[19]===s?D=t[20]:(D=s?(0,$.jsx)(x,{className:`h-3.5 w-3.5 text-brand`}):(0,$.jsx)(S,{className:`h-3.5 w-3.5`}),t[19]=s,t[20]=D);let O;t[21]!==p||t[22]!==D?(O=(0,$.jsx)(L,{asChild:!0,children:(0,$.jsx)(`button`,{onClick:p,className:Ye,children:D})}),t[21]=p,t[22]=D,t[23]=O):O=t[23];let k=s?`Copied!`:`Copy to clipboard`,A;t[24]===k?A=t[25]:(A=(0,$.jsx)(R,{children:k}),t[24]=k,t[25]=A);let j;t[26]!==O||t[27]!==A?(j=(0,$.jsxs)(B,{children:[O,A]}),t[26]=O,t[27]=A,t[28]=j):j=t[28];let M;t[29]!==E||t[30]!==j?(M=(0,$.jsx)(`div`,{className:`absolute top-2 right-2 flex gap-1 opacity-0 group-hover/img:opacity-100 transition-opacity`,children:(0,$.jsxs)(z,{children:[E,j]})}),t[29]=E,t[30]=j,t[31]=M):M=t[31];let N;return t[32]!==M||t[33]!==m||t[34]!==v?(N=(0,$.jsxs)(`div`,{className:m,children:[v,M]}),t[32]=M,t[33]=m,t[34]=v,t[35]=N):N=t[35],N}function Qe(e){return typeof e==`string`?e:void 0}function $e(e){try{return JSON.parse(e)}catch{return null}}function et(e){return!!(e?.imageUrl||e?.imageData)}function tt(e){if(typeof e==`object`&&e){let t=e,n=Qe(t.model);return n===void 0?typeof t.content==`string`?Qe($e(t.content)?.model):void 0:n}if(typeof e==`string`)return Qe($e(e.trim())?.model)}function nt(e){let t=Qe(e.savedPath);if(t!==void 0)return t;if(typeof e.content==`string`)return Qe($e(e.content)?.savedPath)}function rt(e){if(typeof e==`string`)return e.trim().startsWith(`{`)?Qe($e(e)?.savedPath):void 0;if(e&&typeof e==`object`)return nt(e)}function it(e){let t=Y(e);return et(t)?{imageUrl:t.imageUrl,imageData:t.imageData,model:tt(e)}:null}function at(e,t){let n=it(e)??it(t);if(!et(n))return null;let r;for(let n of[e,t.content,t]){let e=rt(n);if(e!==void 0){r=e;break}}return{...n,savedPath:r}}function ot(e){let t=(0,Z.c)(7),{imageUrl:n,imageData:r,alt:i,threadId:a}=e,o=i===void 0?`Generated image`:i,s;t[0]!==r||t[1]!==n||t[2]!==a?(s=r?`data:image/png;base64,${r}`:qe(n??``,a),t[0]=r,t[1]=n,t[2]=a,t[3]=s):s=t[3];let c=s;if(!c)return null;let l;return t[4]!==o||t[5]!==c?(l=(0,$.jsx)(Ze,{src:c,alt:o,className:`mb-3`}),t[4]=o,t[5]=c,t[6]=l):l=t[6],l}var st=c(`chat.media`);function ct(e){if(!e)return`Unknown media error`;switch(e.code){case MediaError.MEDIA_ERR_ABORTED:return`Playback aborted`;case MediaError.MEDIA_ERR_NETWORK:return`Network error while fetching media`;case MediaError.MEDIA_ERR_DECODE:return`Media decode error`;case MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED:return`Unsupported media format or inaccessible source`;default:return`Media error (code ${e.code})`}}async function lt(e){try{let t=await fetch(e,{method:`GET`,headers:{Range:`bytes=0-0`}}),n=t.headers.get(`content-type`)??`unknown`,r=t.headers.get(`accept-ranges`)??`none`,i=t.headers.get(`content-range`),a=i?`, content-range=${i}`:``;return`HTTP ${t.status} ${t.statusText}, content-type=${n}, accept-ranges=${r}${a}`}catch(e){return e instanceof Error?e.message:`Fetch failed`}}function ut(e){st.error(`Failed to load media`,{kind:e.kind,src:e.src,label:e.label,mediaError:e.mediaError?{code:e.mediaError.code,message:e.mediaError.message,label:ct(e.mediaError)}:void 0,probeResult:e.probeResult})}function dt(e,t,n,r){let[i,a]=(0,Q.useState)({objectUrl:null,loadError:null,loading:!1});return(0,Q.useEffect)(()=>{if(!t){a(e=>(e.objectUrl&&URL.revokeObjectURL(e.objectUrl),{objectUrl:null,loadError:null,loading:!1}));return}let i=!1;a(e=>(e.objectUrl&&URL.revokeObjectURL(e.objectUrl),{objectUrl:null,loadError:null,loading:!0}));async function o(){try{let t=await fetch(e);if(!t.ok){let t=await lt(e);throw Error(t)}let n=await t.blob();if(i)return;let r=URL.createObjectURL(n);if(i){URL.revokeObjectURL(r);return}a({objectUrl:r,loadError:null,loading:!1})}catch(t){if(i)return;let o=t instanceof Error?t.message:await lt(e);ut({kind:n,src:e,label:r,probeResult:o}),a({objectUrl:null,loadError:o,loading:!1})}}return o(),()=>{i=!0,a(e=>(e.objectUrl&&URL.revokeObjectURL(e.objectUrl),{objectUrl:null,loadError:null,loading:!1}))}},[e,t,n,r]),i}function ft(e){let t=(0,Z.c)(44),{src:n,label:r}=e,[i,a]=(0,Q.useState)(!1),[o,c]=(0,Q.useState)(!1),l=(0,Q.useRef)(null),{objectUrl:u,loadError:d,loading:f}=dt(n,i,`video`,r),p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=function(e){a(e),e||(c(!1),l.current&&l.current.pause())},t[0]=p):p=t[0];let m=p,h;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(h=function(){c(pt)},t[1]=h):h=t[1];let g=h,_;t[2]!==r||t[3]!==n?(_=async function(e){let t=e.currentTarget.error,i=await lt(n);ut({kind:`video`,src:n,label:r,mediaError:t,probeResult:i})},t[2]=r,t[3]=n,t[4]=_):_=t[4];let v=_,y=r??`Video`,x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>a(!0),t[5]=x):x=t[5];let S=r?`Play ${r}`:`Play video`,C;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(`span`,{className:`flex h-14 w-14 items-center justify-center rounded-full bg-background/90 text-foreground shadow-sm`,children:(0,$.jsx)(F,{className:`h-7 w-7 fill-current`})}),t[6]=C):C=t[6];let w;t[7]===S?w=t[8]:(w=(0,$.jsx)(`button`,{type:`button`,onClick:x,"aria-label":S,className:`flex min-h-32 w-full items-center justify-center rounded-md bg-muted/30 transition-colors hover:bg-muted/50`,children:C}),t[7]=S,t[8]=w);let T=o?`h-dvh w-dvw max-w-none rounded-none`:`max-w-[min(92vw,960px)]`,E;t[9]===T?E=t[10]:(E=b(`gap-0 overflow-hidden border-none bg-black p-0 sm:rounded-lg`,T),t[9]=T,t[10]=E);let D;t[11]===y?D=t[12]:(D=(0,$.jsx)(N,{className:`sr-only`,children:y}),t[11]=y,t[12]=D);let ee;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(k,{className:`sr-only`,children:`Video player`}),t[13]=ee):ee=t[13];let te=o?`Shrink video`:`Expand video`,I;t[14]===o?I=t[15]:(I=o?(0,$.jsx)(O,{className:`h-4 w-4`}):(0,$.jsx)(A,{className:`h-4 w-4`}),t[14]=o,t[15]=I);let L;t[16]!==te||t[17]!==I?(L=(0,$.jsx)(`button`,{type:`button`,onClick:g,"aria-label":te,className:`flex h-7 w-7 items-center justify-center rounded-full text-white/90 transition-colors hover:bg-white/15 hover:text-white`,children:I}),t[16]=te,t[17]=I,t[18]=L):L=t[18];let R;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsxs)(j,{className:`flex h-7 w-7 items-center justify-center rounded-full text-white/90 transition-colors hover:bg-white/15 hover:text-white`,children:[(0,$.jsx)(ne,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),t[19]=R):R=t[19];let z;t[20]===L?z=t[21]:(z=(0,$.jsxs)(`div`,{className:`absolute right-4 top-4 z-10 flex items-center gap-1`,children:[L,R]}),t[20]=L,t[21]=z);let B=o?`h-full`:`min-h-[240px]`,V;t[22]===B?V=t[23]:(V=b(`flex items-center justify-center p-3 pt-12 sm:p-4`,B),t[22]=B,t[23]=V);let H;t[24]!==o||t[25]!==v||t[26]!==d||t[27]!==f||t[28]!==u?(H=f?(0,$.jsx)(`p`,{className:b(s.compact,`text-white/80`),children:`Loading video...`}):d?(0,$.jsxs)(`p`,{className:b(s.compact,`px-4 text-center text-destructive`),children:[`Could not load video: `,d]}):u?(0,$.jsx)(`video`,{ref:l,src:u,controls:!0,autoPlay:!0,playsInline:!0,className:b(`max-w-full rounded`,o?`max-h-full`:`max-h-[80vh]`),onError:v}):null,t[24]=o,t[25]=v,t[26]=d,t[27]=f,t[28]=u,t[29]=H):H=t[29];let U;t[30]!==V||t[31]!==H?(U=(0,$.jsx)(`div`,{className:V,children:H}),t[30]=V,t[31]=H,t[32]=U):U=t[32];let W;t[33]!==D||t[34]!==z||t[35]!==U||t[36]!==E?(W=(0,$.jsxs)(M,{hideClose:!0,className:E,children:[D,ee,z,U]}),t[33]=D,t[34]=z,t[35]=U,t[36]=E,t[37]=W):W=t[37];let G;t[38]!==i||t[39]!==W?(G=(0,$.jsx)(P,{open:i,onOpenChange:m,children:W}),t[38]=i,t[39]=W,t[40]=G):G=t[40];let K;return t[41]!==G||t[42]!==w?(K=(0,$.jsxs)($.Fragment,{children:[w,G]}),t[41]=G,t[42]=w,t[43]=K):K=t[43],K}function pt(e){return!e}function mt(e){let t=(0,Z.c)(12),{src:n,label:r}=e,{objectUrl:i,loadError:a,loading:o}=dt(n,!0,`audio`,r),c;t[0]!==r||t[1]!==n?(c=async function(e){let t=e.currentTarget.error,i=await lt(n);ut({kind:`audio`,src:n,label:r,mediaError:t,probeResult:i})},t[0]=r,t[1]=n,t[2]=c):c=t[2];let l=c,u;t[3]!==l||t[4]!==o||t[5]!==i?(u=o?(0,$.jsx)(`p`,{className:b(s.compact,`text-muted-foreground`),children:`Loading audio...`}):i?(0,$.jsx)(`audio`,{src:i,controls:!0,preload:`metadata`,className:`w-full`,onError:l}):null,t[3]=l,t[4]=o,t[5]=i,t[6]=u):u=t[6];let d;t[7]===a?d=t[8]:(d=a?(0,$.jsxs)(`p`,{className:b(s.compact,`mt-2 text-destructive`),children:[`Could not load audio: `,a]}):null,t[7]=a,t[8]=d);let f;return t[9]!==u||t[10]!==d?(f=(0,$.jsxs)($.Fragment,{children:[u,d]}),t[9]=u,t[10]=d,t[11]=f):f=t[11],f}function ht(e){let t=(0,Z.c)(13),{src:n,kind:r,label:i}=e;if(!n)return null;let a=r===`video`?T:E,o=r===`video`?`p-2`:`p-3`,c;t[0]===o?c=t[1]:(c=b(`mt-2 max-w-full overflow-hidden rounded-lg border border-border bg-background`,o),t[0]=o,t[1]=c);let l;t[2]!==a||t[3]!==i?(l=i?(0,$.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 text-muted-foreground`,children:[(0,$.jsx)(a,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:b(s.compact,`truncate`),children:i})]}):null,t[2]=a,t[3]=i,t[4]=l):l=t[4];let u;t[5]!==r||t[6]!==i||t[7]!==n?(u=r===`video`?(0,$.jsx)(ft,{src:n,label:i}):(0,$.jsx)(mt,{src:n,label:i}),t[5]=r,t[6]=i,t[7]=n,t[8]=u):u=t[8];let d;return t[9]!==c||t[10]!==l||t[11]!==u?(d=(0,$.jsxs)(`div`,{className:c,children:[l,u]}),t[9]=c,t[10]=l,t[11]=u,t[12]=d):d=t[12],d}var gt=[`graph`,`flowchart`,`sequenceDiagram`,`classDiagram`,`stateDiagram`,`erDiagram`,`journey`,`gantt`,`pie`,`quadrantChart`,`requirementDiagram`,`gitgraph`,`mindmap`,`timeline`,`zenuml`,`sankey`,`block`,`architecture`,`c4`,`packet`,`circuit`],_t=/```mermaid\s*\n([\s\S]*?)\n```/;function vt(e){return e.split(`
4
+ `).find(e=>e.trim().length>0)??``}function yt(e){let t=e.trim().toLowerCase();return t.length!==0&&gt.some(e=>t===e.toLowerCase()||t.startsWith(e.toLowerCase()+` `))}function bt(e){return!e||typeof e!=`string`?!1:_t.test(e)?!0:yt(vt(e))}function xt(e){let t=_t.exec(e);return t?t[1].trim():yt(vt(e))?e.trim():null}var St=/\S[^\n]*\n/;function Ct(e){return St.test(e)}function wt(e){let{language:t,code:n,isMermaid:r,enableMermaid:i}=e;return{language:t,code:n,isMermaid:r,mermaidDecided:r||!i||t!==``||Ct(n)}}function Tt(e,t){return t.length===0||!e.mermaidDecided||t.includes("```")?!1:!Et(e.code,t).trimStart().startsWith("```")}function Et(e,t){let n=e.slice(e.lastIndexOf(`
5
+ `)+1),r=t.indexOf(`
6
+ `);return n+(r===-1?t:t.slice(0,r))}function Dt(e){let t=(0,Z.c)(28),{href:n,children:r}=e,i;t[0]===n?i=t[1]:(i=Ie(n),t[0]=n,t[1]=i);let a=i,o;t[2]===n?o=t[3]:(o=Re(n),t[2]=n,t[3]=o);let s=o,c;t[4]===n?c=t[5]:(c=he(n),t[4]=n,t[5]=c);let l=c,u=!!l?.threadId,d;if(t[6]!==n){let e=n.trim().toLowerCase();d=e.startsWith(`http://`)||e.startsWith(`https://`),t[6]=n,t[7]=d}else d=t[7];let f=d,m;t[8]!==r||t[9]!==n?(m=r===n?kt(n):r,t[8]=r,t[9]=n,t[10]=m):m=t[10];let h=m,g;t[11]!==l||t[12]!==n||t[13]!==f||t[14]!==s||t[15]!==a?(g=function(e){if(l?.threadId){e.preventDefault(),e.stopPropagation(),Pe(pe(l));return}if(s){if(e.preventDefault(),p()&&f){G(a);return}ze(n)}},t[11]=l,t[12]=n,t[13]=f,t[14]=s,t[15]=a,t[16]=g):g=t[16];let _=g,v;t[17]!==u||t[18]!==s?(v=u||s?{}:{target:`_blank`,rel:`noopener noreferrer`},t[17]=u,t[18]=s,t[19]=v):v=t[19];let y;t[20]===f?y=t[21]:(y=f?(0,$.jsx)(w,{"aria-hidden":`true`,className:`ml-1 inline h-3 w-3`}):null,t[20]=f,t[21]=y);let b;return t[22]!==h||t[23]!==_||t[24]!==a||t[25]!==v||t[26]!==y?(b=(0,$.jsxs)(`a`,{href:a,onClick:_,className:`text-inherit underline underline-offset-2 hover:text-inherit/80`,...v,children:[h,y]}),t[22]=h,t[23]=_,t[24]=a,t[25]=v,t[26]=y,t[27]=b):b=t[27],b}var Ot=new Set([`http:`,`https:`]);function kt(e){let t=At(e);return t?jt(t)??Mt(t)??Pt(t):e}function At(e){try{let t=new URL(e);return Ot.has(t.protocol)?t:null}catch{return null}}function jt(e){if(e.hostname.toLowerCase()!==`github.com`)return null;let t=e.pathname.split(`/`).filter(Boolean);if(t.length<4||t[2]?.toLowerCase()!==`pull`)return null;let n=t[3];return Nt(n)?`PR #`+n:null}function Mt(e){if(e.hostname.toLowerCase().replace(/^www\./,``)!==`builder.cloud`)return null;let t=e.pathname.split(`/`).filter(Boolean),n=new Set([`port`,`ports`,`port-request`,`port-requests`,`port_request`,`port_requests`]);for(let e=0;e<t.length-1;e+=1){if(!n.has(t[e].toLowerCase()))continue;let r=t[e+1];if(Nt(r))return`Port #`+r}return null}function Nt(e){return e!==void 0&&/^\d+$/.test(e)}function Pt(e){let t=e.host.toLowerCase().startsWith(`www.`)?e.host.slice(4):e.host,n=e.pathname.split(`/`).filter(Boolean),r=n.length>0?`/`+n.join(`/`):``,i=e.search||e.hash?`…`:``;return Ft(t+r+i)}function Ft(e){return e.length>44?e.slice(0,41)+`…`:e}function It(e){let t=(0,Z.c)(11),{path:n,children:r,className:i}=e,{openChatDockPanel:a}=U(),{setPendingExplorerPath:o}=H(),s;t[0]!==a||t[1]!==n||t[2]!==o?(s=function(e){e.preventDefault(),e.stopPropagation(),o(n),a(`explorer`)},t[0]=a,t[1]=n,t[2]=o,t[3]=s):s=t[3];let c=s,l;t[4]===i?l=t[5]:(l=b(`cursor-pointer underline decoration-border underline-offset-2 transition-colors hover:text-foreground hover:decoration-foreground/60`,i),t[4]=i,t[5]=l);let u;return t[6]!==r||t[7]!==c||t[8]!==n||t[9]!==l?(u=(0,$.jsx)(`a`,{href:`#`,onClick:c,"data-file-path":n,className:l,children:r}),t[6]=r,t[7]=c,t[8]=n,t[9]=l,t[10]=u):u=t[10],u}var Lt=`[a-z0-9_@~./\\\\+-]*[a-z0-9_@~-]\\.[a-z][a-z0-9-]{0,11}`,Rt=RegExp(`^(?:${Lt})$`,`i`),zt=/[:#]L?\d+(?:-\d+)?$/,Bt=/[.,;:!?)\]}'"]+$/;function Vt(e){let t=new Set,n=new Map;for(let r of e){let e=r.replace(/\\/g,`/`);if(!e||e.endsWith(`/`))continue;t.add(e);let i=e.slice(e.lastIndexOf(`/`)+1),a=n.get(i);a?a.push(e):n.set(i,[e])}for(let e of n.values())e.sort(Gt);return{exact:t,byBasename:n}}function Ht(e){let t=e.trim().replace(/\\/g,`/`);return t=t.replace(Bt,``),t=t.replace(zt,``),t.startsWith(`@`)&&(t=t.slice(1)),t.startsWith(`./`)&&(t=t.slice(2)),t=t.replace(/^\/+/,``),t.length===0||t.length>512||/\s/.test(t)||t.includes(`://`)||!Rt.test(t)?null:t}function Ut(e,t){let n=Ht(e);if(!n)return null;if(t.exact.has(n))return n;let r=n.slice(n.lastIndexOf(`/`)+1),i=t.byBasename.get(r);if(!i||i.length===0)return null;if(!n.includes(`/`))return i[0];let a=`/${n}`;return i.find(e=>e.endsWith(a))??null}function Wt(e,t){let n=new RegExp(Lt,`gi`),r=[],i=0,a;for(;(a=n.exec(e))!==null;)a.index>i&&r.push({text:e.slice(i,a.index),path:null}),r.push({text:a[0],path:Ut(a[0],t)}),i=a.index+a[0].length;return i<e.length&&r.push({text:e.slice(i),path:null}),r.length>0?r:[{text:e,path:null}]}function Gt(e,t){let n=Kt(e)-Kt(t);return n===0?e.length-t.length||e.localeCompare(t):n}function Kt(e){let t=1;for(let n=0;n<e.length;n+=1)e.charCodeAt(n)===47&&(t+=1);return t}var qt=15e3,Jt=2e4;function Yt(e){let t=(0,Z.c)(10),n;t[0]===e?n=t[1]:(n=W.threads.files(e??``),t[0]=e,t[1]=n);let r;t[2]===e?r=t[3]:(r=()=>d(e),t[2]=e,t[3]=r);let i=!!e,a;t[4]!==n||t[5]!==r||t[6]!==i?(a={queryKey:n,queryFn:r,enabled:i,staleTime:qt,refetchInterval:Jt},t[4]=n,t[5]=r,t[6]=i,t[7]=a):a=t[7];let s=o(a),c;return t[8]===s.data?c=t[9]:(c=s.data?Vt(s.data):null,t[8]=s.data,t[9]=c),c}var Xt=/^(\s*)([-*+]|\d+\.)\s+(.*)$/,Zt=100,Qt=/^!\[([^\]]*)\]\(([^)]+)\)\s*$/,$t=/[.,!?;:]+$/,en=(0,Q.memo)(function({content:e,className:t,enableMermaid:n=!1,threadId:r,compact:i=!1,bodyClassName:a,revealAnimation:o=!1}){let s=ge(e,Zt),c=Yt(r),l=(0,Q.useRef)(null),u=(0,Q.useMemo)(()=>{if(!s||typeof s!=`string`)return l.current=null,[];let e=kn(s,n,l.current);return l.current=e,e.blocks},[s,n]);return u.length===0?null:(0,$.jsx)(`div`,{className:b(`prose-custom min-w-0 break-words`,t),children:u.map((e,t)=>(0,$.jsx)(`div`,{className:b(hn(t,u,i),o&&`animate-in fade-in duration-300 motion-reduce:animate-none`),children:(0,$.jsx)(qn,{block:e,threadId:r,chatFileIndex:c,compact:i,bodyClassName:a})},t))})});function tn(e){let t=e.match(Qt);return t?{alt:t[1],src:t[2]}:null}function nn(e,t,n){let r=e?`mt-0 space-y-0.5`:`mt-0 space-y-1`,i=n?`mt-1`:``;return t?b(r,i,`pl-6 list-outside overflow-visible list-decimal`):b(r,i,`pl-6 list-outside overflow-visible list-disc`)}function rn(e){return e.replace(/\t/g,` `).length}function an(e){return/^\d+\.$/.test(e)?Number.parseInt(e,10):1}function on(e,t){return rn(e)>t}function sn(e,t){let n=e[t]?.match(Xt);if(!n)return{block:{type:`paragraph`,text:``},nextIndex:t+1};let[,r,i,a]=n,o={ordered:/^\d+\.$/.test(i),start:an(i),items:[{text:a,children:[]}]},s=[{indent:rn(r),item:o.items[0]}],c=t+1;for(;c<e.length;){let t=cn(e,c,s,o);if(c=t.nextIndex,t.stop)break}return{block:{type:`list`,list:o},nextIndex:c}}function cn(e,t,n,r){let i=e[t];return Xt.test(i)?ln(e,t,n,r):i.trim()===``?pn(e,t):mn(e,t,n)}function ln(e,t,n,r){let[,i,a,o]=e[t].match(Xt),s=rn(i),c=/^\d+\.$/.test(a),l={text:o,children:[]};if(un(n,s),n.length===0)return{nextIndex:t,stop:!0};let u=n[n.length-1],d=s===u.indent,f=on(i,u.indent);return d?dn(n,r,c,s,l,t):f?fn(n,u,c,a,s,l,t):{nextIndex:t,stop:!0}}function un(e,t){for(;e.length>0&&t<e[e.length-1].indent;)e.pop()}function dn(e,t,n,r,i,a){let o=e[e.length-2]?.childList??t;return o.ordered===n?(o.items.push(i),e[e.length-1]={indent:r,item:i},{nextIndex:a+1,stop:!1}):{nextIndex:a,stop:!0}}function fn(e,t,n,r,i,a,o){let s=t.childList;return(!s||s.ordered!==n)&&(s={ordered:n,start:an(r),items:[]},t.item.children.push(s),t.childList=s),s.items.push(a),e.push({indent:i,item:a}),{nextIndex:o+1,stop:!1}}function pn(e,t){let n=e[t+1];return!n||!Xt.test(n)?{nextIndex:t,stop:!0}:{nextIndex:t+1,stop:!1}}function mn(e,t,n){let r=rn(e[t].match(/^(\s*)/)?.[1]??``),i=n[n.length-1];return r>i.indent?(i.item.text=`${i.item.text}\n${e[t].trim()}`,{nextIndex:t+1,stop:!1}):{nextIndex:t,stop:!0}}function hn(e,t,n=!1){if(e===0)return``;let r=t[e-1],i=t[e];return r.type===`list`||i.type===`list`?``:n?`mt-2`:`mt-3`}function gn(e,t){return!e.closed&&e.openerSettled?{block:e.block,index:t}:null}function _n(e,t,n){let r=e[t].trimStart().slice(3).trim(),i=[],a=t+1;for(;a<e.length&&!e[a].trimStart().startsWith("```");)i.push(e[a]),a++;let o=i.join(`
7
+ `),s=n&&(r===`mermaid`||r===``&&bt(o)),c=a<e.length,l=t+1<e.length;return s?{block:{type:`mermaid`,code:o},nextIndex:a+1,closed:c,openerSettled:l}:{block:{type:`code`,language:r,code:o},nextIndex:a+1,closed:c,openerSettled:l}}function vn(e){let t=e.match(/^(#{1,6})(\s.*)?$/);return t?{type:`heading`,level:t[1].length,text:t[2]?t[2].trim():``}:null}function yn(e){return/^(---|\*\*\*|___)/.test(e.trim())}function bn(e,t){let n=e[t];if(!n.includes(`|`)||t+1>=e.length||!e[t+1].match(/^\|?\s*[-:]+/))return null;let r=n.split(`|`).map(e=>e.trim()).filter(Boolean),i=t+2,a=[];for(;i<e.length&&e[i].includes(`|`);)a.push(e[i].split(`|`).map(e=>e.trim()).filter(Boolean)),i++;return{block:{type:`table`,headers:r,rows:a},nextIndex:i}}function xn(e,t){let n=[],r=t;for(;r<e.length&&e[r].startsWith(`> `);)n.push(e[r].slice(2)),r++;return{block:{type:`blockquote`,text:n.join(`
8
+ `)},nextIndex:r}}function Sn(e){let t=tn(e);return t?{type:`image`,...t}:null}function Cn(e){let t=He(e);return t?{type:`media`,kind:t.kind,src:t.src}:null}function wn(e){return e.trim()===``||vn(e)!==null||e.trimStart().startsWith("```")||e.startsWith(`> `)||Xt.test(e)}function Tn(e,t,n){let r=t,i=[];for(r<e.length&&(i.push(e[r]),r++);r<e.length&&!wn(e[r]);)i.push(e[r]),r++;let a=i.join(`
9
+ `);if(n&&bt(a)){let e=xt(a);if(e)return{block:{type:`mermaid`,code:e},nextIndex:r}}return{block:{type:`paragraph`,text:a},nextIndex:r}}function En(e){let t=[],n=0;for(let r=0;r<e.length;r++)t.push(n),n+=e[r].length+ +(r<e.length-1);return t}function Dn(e,t=!1){let n=e.split(`
10
+ `),r=En(n),i=[],a=[],o=null,s=0;for(;s<n.length;){let e=n[s],c=r[s]??0;if(e.trimStart().startsWith("```")){let e=_n(n,s,t);i.push(e.block),a.push(c),o=gn(e,i.length-1),s=e.nextIndex;continue}let l=vn(e);if(l){i.push(l),a.push(c),s++;continue}if(yn(e)){i.push({type:`hr`}),a.push(c),s++;continue}let u=bn(n,s);if(u){i.push(u.block),a.push(c),s=u.nextIndex;continue}if(e.startsWith(`> `)){let{block:e,nextIndex:t}=xn(n,s);i.push(e),a.push(c),s=t;continue}if(Xt.test(e)){let{block:e,nextIndex:t}=sn(n,s);i.push(e),a.push(c),s=t;continue}if(e.trim()===``){s++;continue}let d=Sn(e);if(d){i.push(d),a.push(c),s++;continue}let f=Cn(e);if(f){i.push(f),a.push(c),s++;continue}let{block:p,nextIndex:m}=Tn(n,s,t);i.push(p),a.push(c),s=m>s?m:s+1}return{blocks:i,blockStarts:a,tailFence:On(o,i.length,t)}}function On(e,t,n){if(!e||e.index!==t-1)return null;let{block:r}=e;return r.type===`code`?wt({language:r.language,code:r.code,isMermaid:!1,enableMermaid:n}):wt({language:``,code:r.code,isMermaid:!0,enableMermaid:n})}function kn(e,t,n){if(n&&n.enableMermaid===t&&n.md===e&&n.blocks.length>0)return n;if(n&&n.enableMermaid===t&&n.blocks.length>0&&e.startsWith(n.md)){let r=An(e,t,n,e.slice(n.md.length));if(r)return r;let i=n.blockStarts[n.blockStarts.length-1]??0,a=n.blocks.slice(0,-1),o=n.blockStarts.slice(0,-1),s=Dn(e.slice(i),t);return{md:e,enableMermaid:t,blocks:[...a,...s.blocks],blockStarts:[...o,...s.blockStarts.map(e=>e+i)],tailFence:s.tailFence,parsedChars:e.length-i}}let r=Dn(e,t);return{md:e,enableMermaid:t,blocks:r.blocks,blockStarts:r.blockStarts,tailFence:r.tailFence,parsedChars:e.length}}function An(e,t,n,r){let i=n.tailFence;if(!i||!Tt(i,r))return null;let a=i.code+r,o=i.isMermaid?{type:`mermaid`,code:a}:{type:`code`,language:i.language,code:a};return{md:e,enableMermaid:t,blocks:[...n.blocks.slice(0,-1),o],blockStarts:n.blockStarts,tailFence:{...i,code:a},parsedChars:r.length}}function jn(e,t){return`${t}-${e.text}`}function Mn(e){let t=(0,Z.c)(23),{list:n,compact:r,threadId:i,chatFileIndex:a,inlineCodeClass:o,bodyClassName:c,nested:l}=e,u=a===void 0?null:a,d=l!==void 0&&l,f=c??(r?s.caption:s.body),p=n.ordered?`ol`:`ul`,m;t[0]!==f||t[1]!==r||t[2]!==n.ordered||t[3]!==d?(m=b(f,nn(r,n.ordered,d)),t[0]=f,t[1]=r,t[2]=n.ordered,t[3]=d,t[4]=m):m=t[4];let h=n.ordered?n.start:void 0,g;if(t[5]!==c||t[6]!==u||t[7]!==r||t[8]!==o||t[9]!==n.items||t[10]!==i){let e;t[12]!==c||t[13]!==u||t[14]!==r||t[15]!==o||t[16]!==i?(e=(e,t)=>(0,$.jsx)(`li`,{children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(Jn,{text:e.text,threadId:i,chatFileIndex:u,inlineCodeClass:o}),e.children.map((n,a)=>(0,$.jsx)(Mn,{list:n,compact:r,threadId:i,chatFileIndex:u,inlineCodeClass:o,bodyClassName:c,nested:!0},`${jn(e,t)}-child-${a}`))]})},jn(e,t)),t[12]=c,t[13]=u,t[14]=r,t[15]=o,t[16]=i,t[17]=e):e=t[17],g=n.items.map(e),t[5]=c,t[6]=u,t[7]=r,t[8]=o,t[9]=n.items,t[10]=i,t[11]=g}else g=t[11];let _;return t[18]!==p||t[19]!==m||t[20]!==h||t[21]!==g?(_=(0,$.jsx)(p,{className:m,start:h,children:g}),t[18]=p,t[19]=m,t[20]=h,t[21]=g,t[22]=_):_=t[22],_}function Nn(e,t){return e??(t?s.caption:s.body)}function Pn(e,t){return e?b(e,`font-mono`):t?b(s.compact,`font-mono`):s.mono}function Fn(e){return e?{1:b(s.caption,`font-semibold`),2:b(s.caption,`font-semibold`),3:b(s.body,`font-semibold`),4:b(s.body,`font-semibold`),5:b(s.compact,`font-semibold`),6:b(s.compact,`font-semibold`)}:{1:s.sectionTitle,2:s.subSectionTitle,3:s.subSectionTitle,4:s.subSectionTitle,5:s.sectionSubtitle,6:s.sectionSubtitle}}function In({block:e,threadId:t,chatFileIndex:n,compact:r,inlineCodeClass:i}){if(e.type!==`heading`)return null;let a=`h${e.level}`;return(0,$.jsx)(a,{className:b(Fn(r)[e.level]),children:(0,$.jsx)(Jn,{text:e.text,threadId:t,chatFileIndex:n,inlineCodeClass:i})})}function Ln({block:e,compact:t,bodyClass:n}){return e.type===`code`?(0,$.jsx)(nr,{language:e.language,code:e.code,compact:t,bodyClassName:n}):null}function Rn({block:e,threadId:t,chatFileIndex:n,bodyClass:r,inlineCodeClass:i}){return e.type===`blockquote`?(0,$.jsx)(`blockquote`,{className:b(r,`border-l-2 border-border pl-4 text-muted-foreground italic`),children:(0,$.jsx)(Jn,{text:e.text,threadId:t,chatFileIndex:n,inlineCodeClass:i})}):null}function zn({block:e,compact:t,threadId:n,chatFileIndex:r,inlineCodeClass:i,bodyClassName:a}){return e.type===`list`?(0,$.jsx)(Mn,{list:e.list,compact:t,threadId:n,chatFileIndex:r,inlineCodeClass:i,bodyClassName:a}):null}function Bn({block:e,threadId:t,chatFileIndex:n,bodyClass:r,inlineCodeClass:i}){return e.type===`paragraph`?(0,$.jsx)(`p`,{className:b(r,`mt-0 whitespace-pre-wrap break-words`),children:(0,$.jsx)(Jn,{text:e.text,threadId:t,chatFileIndex:n,inlineCodeClass:i})}):null}function Vn(){return(0,$.jsx)(`hr`,{className:`border-border`})}function Hn({block:e,threadId:t,chatFileIndex:n,bodyClass:r,inlineCodeClass:i}){return e.type===`table`?(0,$.jsx)(`div`,{className:`overflow-x-auto rounded-md border border-table-border max-w-full`,children:(0,$.jsxs)(`table`,{className:b(r,`w-full`),children:[(0,$.jsx)(`thead`,{children:(0,$.jsx)(`tr`,{className:`border-b border-table-border`,children:e.headers.map((e,r)=>(0,$.jsx)(`th`,{className:`px-3 py-2 text-left font-medium`,children:(0,$.jsx)(Jn,{text:e,threadId:t,chatFileIndex:n,inlineCodeClass:i})},r))})}),(0,$.jsx)(`tbody`,{children:e.rows.map((e,r)=>(0,$.jsx)(`tr`,{children:e.map((e,r)=>(0,$.jsx)(`td`,{className:`px-3 py-2`,children:(0,$.jsx)(Jn,{text:e,threadId:t,chatFileIndex:n,inlineCodeClass:i})},r))},r))})]})}):null}function Un({block:e}){return e.type===`mermaid`?(0,$.jsx)(Me,{content:e.code}):null}function Wn({block:e,threadId:t}){return e.type===`image`?(0,$.jsx)(ot,{imageUrl:qe(e.src,t),alt:e.alt||`Image`}):null}function Gn({block:e,threadId:t}){if(e.type!==`media`)return null;let n=Ke(e.src,t);if(e.kind===`image`)return(0,$.jsx)(ot,{imageUrl:n,alt:`Image`});let r=e.src.split(/[/\\]/).pop();return(0,$.jsx)(ht,{src:n,kind:e.kind,label:r})}var Kn={heading:In,code:Ln,blockquote:Rn,list:zn,paragraph:Bn,hr:Vn,table:Hn,mermaid:Un,image:Wn,media:Gn},qn=(0,Q.memo)(function({block:e,threadId:t,chatFileIndex:n=null,compact:r=!1,bodyClassName:i}){let a=Kn[e.type];return a?a({block:e,threadId:t,chatFileIndex:n,compact:r,bodyClassName:i,bodyClass:Nn(i,r),inlineCodeClass:Pn(i,r)}):null}),Jn=(0,Q.memo)(function(e){let t=(0,Z.c)(13),{text:n,threadId:r,chatFileIndex:i,inlineCodeClass:a}=e,o=i===void 0?null:i,c=a===void 0?s.mono:a,l;t[0]===n?l=t[1]:(l=tr(n),t[0]=n,t[1]=l);let u=l,d;if(t[2]!==o||t[3]!==c||t[4]!==u||t[5]!==r){let e;t[7]!==o||t[8]!==c||t[9]!==r?(e=(e,t)=>{switch(e.type){case`bold`:return(0,$.jsx)(`strong`,{className:`font-semibold`,children:e.text},t);case`italic`:return(0,$.jsx)(`em`,{children:e.text},t);case`strikethrough`:return(0,$.jsx)(`del`,{className:`text-muted-foreground`,children:e.text},t);case`code`:{let n=o?Ut(e.text,o):null;return n?(0,$.jsx)(It,{path:n,className:b(c,`rounded bg-muted/20 py-0.5`),children:e.text},t):(0,$.jsx)(`code`,{className:b(c,`rounded bg-muted/20 py-0.5`),children:e.text},t)}case`link`:return(0,$.jsx)(Dt,{href:e.href,children:e.text},t);case`image`:return(0,$.jsx)(ot,{imageUrl:qe(e.src,r),alt:e.alt||`Image`},t);case`text`:return(0,$.jsx)(Q.Fragment,{children:Yn(e.text,o,c)},t);default:return null}},t[7]=o,t[8]=c,t[9]=r,t[10]=e):e=t[10],d=u.map(e),t[2]=o,t[3]=c,t[4]=u,t[5]=r,t[6]=d}else d=t[6];let f;return t[11]===d?f=t[12]:(f=(0,$.jsx)($.Fragment,{children:d}),t[11]=d,t[12]=f),f});function Yn(e,t,n){return t?Wt(e,t).map((e,t)=>e.path?(0,$.jsx)(It,{path:e.path,className:b(n,`rounded bg-muted/20 py-0.5`),children:e.text},t):(0,$.jsx)(`span`,{children:e.text},t)):(0,$.jsx)(`span`,{children:e})}function Xn(e){return e.startsWith("`")?`code`:e.startsWith(`![`)?`image`:e.startsWith(`**`)||e.startsWith(`__`)?`bold`:e.startsWith(`~~`)?`strikethrough`:e.startsWith(`*`)||e.startsWith(`_`)?`italic`:e.startsWith(`[`)?`link`:`url`}function Zn(e){let t=e.indexOf(`](`);return{type:`image`,alt:e.slice(2,t),src:e.slice(t+2,-1)}}function Qn(e){let t=e.indexOf(`](`);return{type:`link`,text:e.slice(1,t),href:e.slice(t+2,-1)}}function $n(e){let t=e.replace($t,``),n=[{type:`link`,text:t,href:t}],r=e.slice(t.length);return r&&n.push({type:`text`,text:r}),n}function er(e){switch(Xn(e)){case`code`:return[{type:`code`,text:e.slice(1,-1)}];case`image`:return[Zn(e)];case`bold`:return[{type:`bold`,text:e.slice(2,-2)}];case`strikethrough`:return[{type:`strikethrough`,text:e.slice(2,-2)}];case`italic`:return[{type:`italic`,text:e.slice(1,-1)}];case`link`:return[Qn(e)];case`url`:return $n(e)}}function tr(e){let t=[],n=/(`[^`]+`)|(!\[[^\]]*\]\([^)]+\))|(\*\*[^*]+\*\*)|(\*[^*]+\*)|(__[^_]+__)|(_[^_]+_)|(~~[^~]+~~)|(\[[^\]]+\]\([^)]+\))|(https?:\/\/[^\s<>"`]+)|(tarsk:\/\/[^\s<>"`]+)/gi,r=0,i;for(;(i=n.exec(e))!==null;)i.index>r&&t.push({type:`text`,text:e.slice(r,i.index)}),t.push(...er(i[0])),r=i.index+i[0].length;return r<e.length&&t.push({type:`text`,text:e.slice(r)}),t.length>0?t:[{type:`text`,text:e}]}function nr(e){let t=(0,Z.c)(27),{language:n,code:r,compact:i,bodyClassName:a}=e,o=i!==void 0&&i,[c,l]=(0,Q.useState)(!1),u;t[0]===r?u=t[1]:(u=async function(){await navigator.clipboard.writeText(r),l(!0),setTimeout(()=>l(!1),2e3)},t[0]=r,t[1]=u);let d=u,f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=b(s.compact,`text-muted-foreground font-mono`),t[2]=f):f=t[2];let p=n||`text`,m;t[3]===p?m=t[4]:(m=(0,$.jsx)(`span`,{className:f,children:p}),t[3]=p,t[4]=m);let h;t[5]===c?h=t[6]:(h=c?(0,$.jsx)(x,{}):(0,$.jsx)(S,{}),t[5]=c,t[6]=h);let g;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(`span`,{className:`sr-only`,children:`Copy code`}),t[7]=g):g=t[7];let _;t[8]!==d||t[9]!==h?(_=(0,$.jsxs)(I,{variant:`action`,size:`icon-xs`,onClick:d,children:[h,g]}),t[8]=d,t[9]=h,t[10]=_):_=t[10];let v;t[11]!==m||t[12]!==_?(v=(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border bg-muted/80 px-4 py-2`,children:[m,_]}),t[11]=m,t[12]=_,t[13]=v):v=t[13];let y=o?`p-2`:`p-4`,C;t[14]===y?C=t[15]:(C=b(`overflow-x-auto max-w-full`,y),t[14]=y,t[15]=C);let w;t[16]===a?w=t[17]:(w=b(b(a,`font-mono`),`text-foreground leading-relaxed`),t[16]=a,t[17]=w);let T;t[18]!==r||t[19]!==w?(T=(0,$.jsx)(`code`,{className:w,children:r}),t[18]=r,t[19]=w,t[20]=T):T=t[20];let E;t[21]!==C||t[22]!==T?(E=(0,$.jsx)(`pre`,{className:C,children:T}),t[21]=C,t[22]=T,t[23]=E):E=t[23];let D;return t[24]!==E||t[25]!==v?(D=(0,$.jsxs)(`div`,{className:`group relative overflow-hidden rounded-lg border border-border bg-muted`,children:[v,E]}),t[24]=E,t[25]=v,t[26]=D):D=t[26],D}export{at as a,Je as c,He as d,Fe as f,ce as h,ot as i,qe as l,me as m,Dt as n,it as o,ge as p,ht as r,Ze as s,en as t,Ke as u};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n}from"./react-vendor-D61Uve5n.js";import{St as r,V as i,_t as a,j as o,kn as s}from"./api-COO2LfdU.js";var c=t(),l=e(n(),1),u=`tarsk-mcp-servers-changed`;function d(){window.dispatchEvent(new CustomEvent(u))}function f(e){if(e.state===`needs_auth`)return`sign in required`;if(e.state===`ok`){let t=e.tools.length;return t===1?`1 tool`:`${t} tools`}return e.error??`could not load tools`}function p(e){let[t,n]=(0,l.useState)([]),[r,i]=(0,l.useState)({}),[o,s]=(0,l.useState)(!0),c=(0,l.useCallback)(async()=>{if(!e){s(!1);return}s(!0);try{let t=await a(e),r=Object.entries(t.servers).map(([e,t])=>({name:e,config:t}));n(r),i(t.catalog??{})}catch{n([]),i({})}finally{s(!1)}},[e]);return(0,l.useLayoutEffect)(()=>{e&&s(!0)},[e]),(0,l.useEffect)(()=>{c()},[c]),(0,l.useEffect)(()=>{function e(){c()}return window.addEventListener(u,e),()=>window.removeEventListener(u,e)},[c]),{installedServers:t,catalog:r,loadingConfig:o,loadInstalledServers:c}}function m(){let e=(0,c.c)(6),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,i]=(0,l.useState)(t),[a,o]=(0,l.useState)(!0),s,u;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{o(!0),r().then(i).catch(()=>i([])).finally(()=>o(!1))},u=[],e[1]=s,e[2]=u):(s=e[1],u=e[2]),(0,l.useEffect)(s,u);let d;return e[3]!==a||e[4]!==n?(d={popularServers:n,loadingPopular:a},e[3]=a,e[4]=n,e[5]=d):d=e[5],d}async function h(e,t,n){return s(e,t,n)}async function g(e,t){await o(e,t)}async function _(e,t){return i(e,t)}export{h as a,_ as i,f as n,m as o,d as r,p as s,g as t};
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n}from"./react-vendor-D61Uve5n.js";import{An as r,St as i,V as a,_t as o,j as s}from"./api-Cp9I7CxD.js";var c=t(),l=e(n(),1),u=`tarsk-mcp-servers-changed`;function d(){window.dispatchEvent(new CustomEvent(u))}function f(e){if(e.state===`needs_auth`)return`sign in required`;if(e.state===`ok`){let t=e.tools.length;return t===1?`1 tool`:`${t} tools`}return e.error??`could not load tools`}function p(e){let[t,n]=(0,l.useState)([]),[r,i]=(0,l.useState)({}),[a,s]=(0,l.useState)(!0),c=(0,l.useCallback)(async()=>{if(!e){s(!1);return}s(!0);try{let t=await o(e),r=Object.entries(t.servers).map(([e,t])=>({name:e,config:t}));n(r),i(t.catalog??{})}catch{n([]),i({})}finally{s(!1)}},[e]);return(0,l.useLayoutEffect)(()=>{e&&s(!0)},[e]),(0,l.useEffect)(()=>{c()},[c]),(0,l.useEffect)(()=>{function e(){c()}return window.addEventListener(u,e),()=>window.removeEventListener(u,e)},[c]),{installedServers:t,catalog:r,loadingConfig:a,loadInstalledServers:c}}function m(){let e=(0,c.c)(6),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,l.useState)(t),[a,o]=(0,l.useState)(!0),s,u;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{o(!0),i().then(r).catch(()=>r([])).finally(()=>o(!1))},u=[],e[1]=s,e[2]=u):(s=e[1],u=e[2]),(0,l.useEffect)(s,u);let d;return e[3]!==a||e[4]!==n?(d={popularServers:n,loadingPopular:a},e[3]=a,e[4]=n,e[5]=d):d=e[5],d}async function h(e,t,n){return r(e,t,n)}async function g(e,t){await s(e,t)}async function _(e,t){return a(e,t)}export{h as a,_ as i,f as n,m as o,d as r,p as s,g as t};
@@ -1 +1 @@
1
- import{t as e}from"./createLucideIcon-2A3hmV_e.js";var t=e(`file-headphone`,[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`,key:`1vfytu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`,key:`1etmh7`}]]),n=e(`file-play`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`,key:`1tzo1f`}]]),r=e(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),i=e(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),a=e(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]);export{t as a,n as i,i as n,r,a as t};
1
+ import{t as e}from"./createLucideIcon-2A3hmV_e.js";var t=e(`file-headphone`,[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`,key:`1vfytu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`,key:`1etmh7`}]]),n=e(`file-play`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`,key:`1tzo1f`}]]),r=e(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]);export{n,t as r,r as t};
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-D61Uve5n.js";import{V as n}from"./dist-D5vgS4RP.js";import{t as r}from"./button-Dp5XDZNR.js";import{i,n as a,r as o,t as s}from"./tooltip-CJKJfu0l.js";import{Er as c,Ln as l,Wn as u,Y as d,zr as f}from"./index-CalVAwXj.js";import{n as p}from"./sorting-DqwxPMRN.js";var m=e(),h=t();function g(e){let t=(0,m.c)(9),{codingIndex:r,modelName:c}=e,u=p(r);if(u===0)return null;let d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=[1,2,3,4,5],t[0]=d):d=t[0];let f;t[1]===u?f=t[2]:(f=(0,h.jsx)(i,{asChild:!0,children:(0,h.jsx)(`div`,{className:`flex items-center gap-0.5`,children:d.map(e=>(0,h.jsx)(l,{className:`h-3 w-3 ${e<=u?`fill-yellow-400 text-yellow-400`:`text-gray-300`}`},e))})}),t[1]=u,t[2]=f);let g;t[3]!==r||t[4]!==c?(g=(0,h.jsx)(a,{children:(0,h.jsxs)(`p`,{className:n.body,children:[c,` was indexed `,r,` for coding intelligence`]})}),t[3]=r,t[4]=c,t[5]=g):g=t[5];let _;return t[6]!==f||t[7]!==g?(_=(0,h.jsx)(o,{children:(0,h.jsxs)(s,{children:[f,g]})}),t[6]=f,t[7]=g,t[8]=_):_=t[8],_}function _(e){let t=(0,m.c)(8),{id:n,checked:r,disabled:c,onChange:l}=e,u=c!==void 0&&c,f;t[0]!==r||t[1]!==u||t[2]!==n||t[3]!==l?(f=(0,h.jsx)(i,{asChild:!0,children:(0,h.jsx)(`span`,{className:`inline-flex`,children:(0,h.jsx)(d,{id:n,disabled:u,value:r,onChange:l,ariaLabel:`Select All Models`})})}),t[0]=r,t[1]=u,t[2]=n,t[3]=l,t[4]=f):f=t[4];let p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,h.jsx)(a,{children:`Select All Models`}),t[5]=p):p=t[5];let g;return t[6]===f?g=t[7]:(g=(0,h.jsx)(o,{children:(0,h.jsxs)(s,{children:[f,p]})}),t[6]=f,t[7]=g),g}function v(e){let t=(0,m.c)(31),{sortBy:n,onSortByChange:d,showCodingIndex:p,showIntelligenceByPrice:g}=e,_=p!==void 0&&p,v=g!==void 0&&g,y=n===`alphabetical`?`secondary`:`ghost`,b;t[0]===d?b=t[1]:(b=()=>d(`alphabetical`),t[0]=d,t[1]=b);let x;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,h.jsx)(f,{className:`h-4 w-4`}),t[2]=x):x=t[2];let S;t[3]!==y||t[4]!==b?(S=(0,h.jsx)(i,{asChild:!0,children:(0,h.jsx)(r,{type:`button`,variant:y,size:`icon`,className:`h-8 w-8`,onClick:b,children:x})}),t[3]=y,t[4]=b,t[5]=S):S=t[5];let C;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,h.jsx)(a,{children:`Sort A–Z`}),t[6]=C):C=t[6];let w;t[7]===S?w=t[8]:(w=(0,h.jsxs)(s,{children:[S,C]}),t[7]=S,t[8]=w);let T=n===`price-low`||n===`price-high`?`secondary`:`ghost`,E;t[9]===d?E=t[10]:(E=()=>d(`price-low`),t[9]=d,t[10]=E);let D;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,h.jsx)(c,{className:`h-4 w-4`}),t[11]=D):D=t[11];let O;t[12]!==E||t[13]!==T?(O=(0,h.jsx)(i,{asChild:!0,children:(0,h.jsx)(r,{type:`button`,variant:T,size:`icon`,className:`h-8 w-8`,onClick:E,children:D})}),t[12]=E,t[13]=T,t[14]=O):O=t[14];let k;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,h.jsx)(a,{children:`Sort by price`}),t[15]=k):k=t[15];let A;t[16]===O?A=t[17]:(A=(0,h.jsxs)(s,{children:[O,k]}),t[16]=O,t[17]=A);let j;t[18]!==d||t[19]!==_||t[20]!==n?(j=_?(0,h.jsxs)(s,{children:[(0,h.jsx)(i,{asChild:!0,children:(0,h.jsx)(r,{type:`button`,variant:n===`coding-index`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>d(`coding-index`),children:(0,h.jsx)(l,{className:`h-4 w-4`})})}),(0,h.jsx)(a,{children:`Sort by coding intelligence`})]}):null,t[18]=d,t[19]=_,t[20]=n,t[21]=j):j=t[21];let M;t[22]!==d||t[23]!==v||t[24]!==n?(M=v?(0,h.jsxs)(s,{children:[(0,h.jsx)(i,{asChild:!0,children:(0,h.jsx)(r,{type:`button`,variant:n===`intelligence-by-price`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>d(`intelligence-by-price`),children:(0,h.jsx)(u,{className:`h-4 w-4`})})}),(0,h.jsx)(a,{children:`Sort by price/intelligence`})]}):null,t[22]=d,t[23]=v,t[24]=n,t[25]=M):M=t[25];let N;return t[26]!==A||t[27]!==j||t[28]!==M||t[29]!==w?(N=(0,h.jsx)(o,{children:(0,h.jsxs)(`div`,{className:`flex items-center rounded-md p-0.5`,children:[w,A,j,M]})}),t[26]=A,t[27]=j,t[28]=M,t[29]=w,t[30]=N):N=t[30],N}export{v as n,g as r,_ as t};
1
+ import{n as e,t}from"./react-vendor-D61Uve5n.js";import{U as n}from"./dist-v_MvKS2-.js";import{t as r}from"./button-DDaJhJP1.js";import{i,n as a,r as o,t as s}from"./tooltip-CqwCZ7wt.js";import{G as c,Ln as l,_r as u,kn as d,kr as f}from"./index-CcAwxnT5.js";import{n as p}from"./sorting-DqwxPMRN.js";var m=e(),h=t();function g(e){let t=(0,m.c)(9),{codingIndex:r,modelName:c}=e,l=p(r);if(l===0)return null;let u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=[1,2,3,4,5],t[0]=u):u=t[0];let f;t[1]===l?f=t[2]:(f=(0,h.jsx)(i,{asChild:!0,children:(0,h.jsx)(`div`,{className:`flex items-center gap-0.5`,children:u.map(e=>(0,h.jsx)(d,{className:`h-3 w-3 ${e<=l?`fill-yellow-400 text-yellow-400`:`text-gray-300`}`},e))})}),t[1]=l,t[2]=f);let g;t[3]!==r||t[4]!==c?(g=(0,h.jsx)(a,{children:(0,h.jsxs)(`p`,{className:n.body,children:[c,` was indexed `,r,` for coding intelligence`]})}),t[3]=r,t[4]=c,t[5]=g):g=t[5];let _;return t[6]!==f||t[7]!==g?(_=(0,h.jsx)(o,{children:(0,h.jsxs)(s,{children:[f,g]})}),t[6]=f,t[7]=g,t[8]=_):_=t[8],_}function _(e){let t=(0,m.c)(8),{id:n,checked:r,disabled:l,onChange:u}=e,d=l!==void 0&&l,f;t[0]!==r||t[1]!==d||t[2]!==n||t[3]!==u?(f=(0,h.jsx)(i,{asChild:!0,children:(0,h.jsx)(`span`,{className:`inline-flex`,children:(0,h.jsx)(c,{id:n,disabled:d,value:r,onChange:u,ariaLabel:`Select All Models`})})}),t[0]=r,t[1]=d,t[2]=n,t[3]=u,t[4]=f):f=t[4];let p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,h.jsx)(a,{children:`Select All Models`}),t[5]=p):p=t[5];let g;return t[6]===f?g=t[7]:(g=(0,h.jsx)(o,{children:(0,h.jsxs)(s,{children:[f,p]})}),t[6]=f,t[7]=g),g}function v(e){let t=(0,m.c)(31),{sortBy:n,onSortByChange:c,showCodingIndex:p,showIntelligenceByPrice:g}=e,_=p!==void 0&&p,v=g!==void 0&&g,y=n===`alphabetical`?`secondary`:`ghost`,b;t[0]===c?b=t[1]:(b=()=>c(`alphabetical`),t[0]=c,t[1]=b);let x;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,h.jsx)(f,{className:`h-4 w-4`}),t[2]=x):x=t[2];let S;t[3]!==y||t[4]!==b?(S=(0,h.jsx)(i,{asChild:!0,children:(0,h.jsx)(r,{type:`button`,variant:y,size:`icon`,className:`h-8 w-8`,onClick:b,children:x})}),t[3]=y,t[4]=b,t[5]=S):S=t[5];let C;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,h.jsx)(a,{children:`Sort A–Z`}),t[6]=C):C=t[6];let w;t[7]===S?w=t[8]:(w=(0,h.jsxs)(s,{children:[S,C]}),t[7]=S,t[8]=w);let T=n===`price-low`||n===`price-high`?`secondary`:`ghost`,E;t[9]===c?E=t[10]:(E=()=>c(`price-low`),t[9]=c,t[10]=E);let D;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,h.jsx)(u,{className:`h-4 w-4`}),t[11]=D):D=t[11];let O;t[12]!==E||t[13]!==T?(O=(0,h.jsx)(i,{asChild:!0,children:(0,h.jsx)(r,{type:`button`,variant:T,size:`icon`,className:`h-8 w-8`,onClick:E,children:D})}),t[12]=E,t[13]=T,t[14]=O):O=t[14];let k;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,h.jsx)(a,{children:`Sort by price`}),t[15]=k):k=t[15];let A;t[16]===O?A=t[17]:(A=(0,h.jsxs)(s,{children:[O,k]}),t[16]=O,t[17]=A);let j;t[18]!==c||t[19]!==_||t[20]!==n?(j=_?(0,h.jsxs)(s,{children:[(0,h.jsx)(i,{asChild:!0,children:(0,h.jsx)(r,{type:`button`,variant:n===`coding-index`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>c(`coding-index`),children:(0,h.jsx)(d,{className:`h-4 w-4`})})}),(0,h.jsx)(a,{children:`Sort by coding intelligence`})]}):null,t[18]=c,t[19]=_,t[20]=n,t[21]=j):j=t[21];let M;t[22]!==c||t[23]!==v||t[24]!==n?(M=v?(0,h.jsxs)(s,{children:[(0,h.jsx)(i,{asChild:!0,children:(0,h.jsx)(r,{type:`button`,variant:n===`intelligence-by-price`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>c(`intelligence-by-price`),children:(0,h.jsx)(l,{className:`h-4 w-4`})})}),(0,h.jsx)(a,{children:`Sort by price/intelligence`})]}):null,t[22]=c,t[23]=v,t[24]=n,t[25]=M):M=t[25];let N;return t[26]!==A||t[27]!==j||t[28]!==M||t[29]!==w?(N=(0,h.jsx)(o,{children:(0,h.jsxs)(`div`,{className:`flex items-center rounded-md p-0.5`,children:[w,A,j,M]})}),t[26]=A,t[27]=j,t[28]=M,t[29]=w,t[30]=N):N=t[30],N}export{v as n,g as r,_ as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{U as i,x as a}from"./dist-v_MvKS2-.js";import{Fn as o,It as s,Kn as c,Pn as l,Rt as u,U as d,Y as f,_ as p,ei as m,on as h}from"./api-Cp9I7CxD.js";import{n as g,r as _,t as v}from"./use-git-check-BD9gdXpK.js";import{r as y,t as b}from"./utils-CqsIXqSC.js";import{t as x}from"./check-skFQ1X72.js";import{t as S}from"./loader-circle-CrqRIqdA.js";import{a as C,i as w,o as T,r as E,s as D,t as O}from"./dialog-D_12AsZd.js";import{t as k}from"./button-DDaJhJP1.js";import{i as A,n as j,r as M,t as N}from"./tooltip-CqwCZ7wt.js";import{t as P}from"./label-BCs5CZEs.js";import{n as F}from"./scroll-area-DGF9wUqQ.js";import{Er as I,G as L,In as R,J as ee,K as z,Nr as B,Q as te,X as ne,Y as V,Z as H,_r as U,gn as W,it as G,kr as re,ut as ie,vt as ae,wt as K}from"./index-CcAwxnT5.js";import{n as q,t as oe}from"./toggle-group-CPmseZfb.js";import{t as se}from"./sorting-DqwxPMRN.js";import{t as ce}from"./pending-changes-Bn-0ak1d.js";var J=t(),Y=r();function le(e){let t=(0,J.c)(8),{gitLoading:n,gitInstalled:r,version:i,platform:a,plan:o,onCheckAgain:s}=e;if(n&&r===null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Y.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Y.jsx)(S,{className:`h-5 w-5 animate-spin text-muted-foreground`})}),t[0]=e):e=t[0],e}if(r){let e;return t[1]===i?e=t[2]:(e=(0,Y.jsx)(g,{version:i}),t[1]=i,t[2]=e),e}let c;return t[3]!==n||t[4]!==s||t[5]!==o||t[6]!==a?(c=(0,Y.jsx)(_,{platform:a,plan:o,checking:n,onCheckAgain:s}),t[3]=n,t[4]=s,t[5]=o,t[6]=a,t[7]=c):c=t[7],c}var X=e(n(),1);function ue(e){let t=(0,J.c)(34),{model:n,disabled:r,willBeEnabled:a,isRecommended:o,onToggle:s}=e,c;t[0]===n.id?c=t[1]:(c=K(n.id),t[0]=n.id,t[1]=c);let l=c,u=n.pricing,d=a&&o,f;t[2]!==n.id||t[3]!==s?(f=function(){s(n.id)},t[2]=n.id,t[3]=s,t[4]=f):f=t[4];let p=f,m=r&&`opacity-25`,h;t[5]===m?h=t[6]:(h=b(`flex items-center space-x-3 p-3 hover:bg-muted/30 transition-colors cursor-default`,m),t[5]=m,t[6]=h);let g=`${l} ${a?`enabled`:`disabled`}`,_;t[7]!==r||t[8]!==p||t[9]!==n.id||t[10]!==g||t[11]!==a?(_=(0,Y.jsx)(L,{id:n.id,disabled:r,value:a,onChange:p,ariaLabel:g}),t[7]=r,t[8]=p,t[9]=n.id,t[10]=g,t[11]=a,t[12]=_):_=t[12];let v=n.id,x;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(x=b(i.body,`peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate flex-1 w-0`),t[13]=x):x=t[13];let S;t[14]===d?S=t[15]:(S=d&&(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:` (Recommended)`}),t[14]=d,t[15]=S);let C;t[16]!==l||t[17]!==n.id||t[18]!==S?(C=(0,Y.jsxs)(`label`,{htmlFor:v,className:x,children:[l,S]}),t[16]=l,t[17]=n.id,t[18]=S,t[19]=C):C=t[19];let w;t[20]===u?w=t[21]:(w=u&&(0,Y.jsx)(`span`,{className:b(i.compact,`text-muted-foreground whitespace-nowrap flex-shrink-0`),children:(u.prompt??0)<=0&&(u.completion??0)<=0?`Free`:`${y(u.prompt??0)} in | ${y(u.completion??0)} out`}),t[20]=u,t[21]=w);let T;t[22]!==C||t[23]!==w?(T=(0,Y.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[C,w]}),t[22]=C,t[23]=w,t[24]=T):T=t[24];let E;t[25]!==T||t[26]!==h||t[27]!==_?(E=(0,Y.jsx)(A,{asChild:!0,children:(0,Y.jsxs)(`div`,{className:h,children:[_,T]})}),t[25]=T,t[26]=h,t[27]=_,t[28]=E):E=t[28];let D;t[29]===n.description?D=t[30]:(D=n.description&&(0,Y.jsx)(j,{side:`top`,className:`max-w-xs`,children:(0,Y.jsx)(`p`,{className:i.body,children:n.description})}),t[29]=n.description,t[30]=D);let O;return t[31]!==E||t[32]!==D?(O=(0,Y.jsxs)(N,{children:[E,D]}),t[31]=E,t[32]=D,t[33]=O):O=t[33],O}function de(e){let t=/^[^:]+:\s+(.+)$/.exec(e);return(t?t[1]:e).trim()}function fe(e){return[K(e.id),e.name,de(e.name)]}function pe(e,t){let n=new Set(t.map(e=>e.toLowerCase()));return fe(e).some(e=>n.has(e.toLowerCase()))}function me(e,t){return e.filter(e=>pe(e,t)).map(e=>e.id)}var Z=a(`app.model-selector.ui`),Q=`rounded-full border-0 px-3 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm`;function he({provider:e,onModelsChange:t,isLoading:n,disabled:r,displayMode:a=`grid`,autoSelectRecommended:o=!1}){let[s,c]=(0,X.useState)([]),[l,d]=(0,X.useState)(new Set),[p,m]=(0,X.useState)(new Set),[h,g]=(0,X.useState)(new Map),[_,v]=(0,X.useState)(!1),[y,x]=(0,X.useState)(``),[C,w]=(0,X.useState)(`alphabetical`);(0,X.useEffect)(()=>{T()},[e]);let T=async()=>{v(!0),x(``),w(`alphabetical`);try{let t=await f(e);c(t.models);let n=new Set(t.enabledModelIds);d(n);let r=new Map,i=new Set;if(o)try{let{models:e}=await u();i=new Set(me(t.models,e)),r=new Map([...i].filter(e=>!n.has(e)).map(e=>[e,!0]))}catch(e){Z.error(`Failed to load recommended models:`,e)}m(i),g(r),E(n,r,t.models)}catch(t){Z.error(`Failed to load models for ${e}:`,t),c([]),d(new Set),m(new Set)}finally{v(!1)}},E=(e,n,r=s)=>{let i=new Set(e);r.forEach(e=>{n.has(e.id)&&(n.get(e.id)?i.add(e.id):i.delete(e.id))}),t?.(i)},D=e=>{g(t=>{let n=ce(t,e,l);return E(l,n),n})},O=e=>{g(t=>{let n=new Map(t);return s.forEach(t=>{let r=l.has(t.id);e?r?n.delete(t.id):n.set(t.id,!0):r?n.set(t.id,!1):n.delete(t.id)}),E(l,n),n})},k=e=>K(e.id);function A(e,t=h){let n=t.has(e),r=t.get(e);return n?!!r:l.has(e)}let j=se({models:s,query:y,sortBy:C,getDisplayName:k,getPriority:e=>+!A(e.id)}),N=C===`alphabetical`?`alphabetical`:`price`;function P(e){if(e===`alphabetical`){w(`alphabetical`);return}e===`price`&&w(`price-low`)}function F(){C!==`alphabetical`&&w(e=>e===`price-low`?`price-high`:`price-low`)}return _||n?(0,Y.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Y.jsx)(S,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):s.length===0?(0,Y.jsx)(`div`,{className:`text-center py-8`,children:(0,Y.jsx)(`p`,{className:i.bodyMuted,children:`No models available for this provider.`})}):a===`compact`?(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsxs)(`div`,{className:b(`flex items-center justify-between gap-3`,r&&`opacity-25`),children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,Y.jsx)(L,{id:`select-all-models`,disabled:r,value:s.every(e=>A(e.id)),onChange:e=>O(e),ariaLabel:`Select all models`}),(0,Y.jsx)(`label`,{htmlFor:`select-all-models`,className:b(i.body,`cursor-pointer`),children:`Select all models`})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[(0,Y.jsxs)(`div`,{className:`relative w-44 sm:w-52`,children:[(0,Y.jsx)(R,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none`}),(0,Y.jsx)(W,{placeholder:`Search models...`,value:y,onChange:e=>x(e.target.value),disabled:r,className:`pl-8 h-9`})]}),(0,Y.jsxs)(oe,{type:`single`,value:N,onValueChange:P,"aria-label":`Sort models`,variant:`outline`,className:`inline-flex rounded-full border bg-muted/40 p-1`,children:[(0,Y.jsx)(q,{value:`alphabetical`,"aria-label":`Sort A–Z`,disabled:r,className:Q,children:(0,Y.jsx)(re,{className:`h-4 w-4`})}),(0,Y.jsx)(q,{value:`price`,"aria-label":`Sort by price`,disabled:r,className:Q,onClick:F,children:(0,Y.jsx)(U,{className:`h-4 w-4`})})]})]})]}),(0,Y.jsx)(M,{children:(0,Y.jsx)(`div`,{className:`grid grid-cols-1 gap-0 overflow-hidden rounded-md border border-table-border`,children:j.length===0?(0,Y.jsx)(`div`,{className:`text-center py-4`,children:(0,Y.jsx)(`p`,{className:i.bodyMuted,children:y?`No models match your search.`:`No models available.`})}):j.map(e=>(0,Y.jsx)(ue,{model:e,disabled:r,willBeEnabled:A(e.id),isRecommended:p.has(e.id),onToggle:D},e.id))})})]}):null}function ge(e){let t=(0,J.c)(4),{providerSlug:n,modelsLoading:r,onModelsChange:i}=e,a;return t[0]!==r||t[1]!==i||t[2]!==n?(a=(0,Y.jsx)(`div`,{className:`space-y-4`,children:(0,Y.jsx)(he,{provider:n,isLoading:r,displayMode:`compact`,disabled:!1,autoSelectRecommended:!0,onModelsChange:i})}),t[0]=r,t[1]=i,t[2]=n,t[3]=a):a=t[3],a}function _e(e,t,n){return e||t||n}function ve(e,t,n){return e||!t.trim()||!n}function ye(e){let t=(0,J.c)(38),{currentStep:n,savingOnboarding:r,gitLoading:i,validatingKey:a,connectingOpenRouter:o,apiKey:s,hasProvider:c,onSkip:l,onBack:u,onContinue:d,onValidate:f,onFinish:p}=e,m,h;t[0]!==s||t[1]!==o||t[2]!==c||t[3]!==r||t[4]!==a?(m=_e(r,a,o),h=ve(m,s,c),t[0]=s,t[1]=o,t[2]=c,t[3]=r,t[4]=a,t[5]=m,t[6]=h):(m=t[5],h=t[6]);let g=h,_;t[7]!==n||t[8]!==l||t[9]!==m?(_=n===`provider-selection`?(0,Y.jsx)(k,{variant:`ghost`,onClick:l,disabled:m,children:`Skip for now`}):null,t[7]=n,t[8]=l,t[9]=m,t[10]=_):_=t[10];let v;t[11]===_?v=t[12]:(v=(0,Y.jsx)(`div`,{children:_}),t[11]=_,t[12]=v);let y;t[13]!==n||t[14]!==u||t[15]!==m?(y=n===`git-check`?null:(0,Y.jsx)(k,{variant:`outline`,onClick:u,disabled:m,children:`Back`}),t[13]=n,t[14]=u,t[15]=m,t[16]=y):y=t[16];let b;t[17]!==n||t[18]!==i||t[19]!==d?(b=n===`git-check`?(0,Y.jsxs)(k,{onClick:d,disabled:i,className:`gap-2`,children:[`Continue `,(0,Y.jsx)(I,{className:`h-4 w-4`})]}):null,t[17]=n,t[18]=i,t[19]=d,t[20]=b):b=t[20];let w;t[21]!==n||t[22]!==f||t[23]!==g||t[24]!==a?(w=n===`provider-selection`?(0,Y.jsx)(k,{onClick:f,disabled:g,className:`gap-2`,children:a?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(S,{className:`h-4 w-4 animate-spin`}),`Validating...`]}):(0,Y.jsxs)(Y.Fragment,{children:[`Next `,(0,Y.jsx)(I,{className:`h-4 w-4`})]})}):null,t[21]=n,t[22]=f,t[23]=g,t[24]=a,t[25]=w):w=t[25];let T;t[26]!==n||t[27]!==p||t[28]!==r?(T=n===`model-selection`?(0,Y.jsx)(k,{onClick:p,disabled:r,className:`gap-2`,children:r?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(S,{className:`h-4 w-4 animate-spin`}),`Finishing...`]}):(0,Y.jsxs)(Y.Fragment,{children:[`Finish `,(0,Y.jsx)(x,{className:`h-4 w-4`})]})}):null,t[26]=n,t[27]=p,t[28]=r,t[29]=T):T=t[29];let E;t[30]!==y||t[31]!==b||t[32]!==w||t[33]!==T?(E=(0,Y.jsxs)(`div`,{className:`flex gap-3`,children:[y,b,w,T]}),t[30]=y,t[31]=b,t[32]=w,t[33]=T,t[34]=E):E=t[34];let D;return t[35]!==v||t[36]!==E?(D=(0,Y.jsx)(`div`,{className:`px-6 py-4 border-t border-border bg-muted/10`,children:(0,Y.jsxs)(C,{className:`flex items-center justify-between`,children:[v,E]})}),t[35]=v,t[36]=E,t[37]=D):D=t[37],D}function be(e){let t=(0,J.c)(22),{selectedProvider:n,onProviderChange:r,apiKey:a,onApiKeyChange:o,validatingKey:s,connectingOpenRouter:c,savingOnboarding:l,providerEnvValues:u,onProviderEnvChange:d,keyError:f,onConnectOpenRouter:p}=e,m;t[0]!==c||t[1]!==l||t[2]!==s?(m=_e(l,s,c),t[0]=c,t[1]=l,t[2]=s,t[3]=m):m=t[3];let h=m,g;t[4]!==a||t[5]!==o||t[6]!==p||t[7]!==r||t[8]!==h||t[9]!==n?(g=(0,Y.jsx)(z,{selectedProvider:n,onProviderChange:r,showApiKeyInput:!0,apiKey:a,onApiKeyChange:o,variant:`dropdown`,isLoading:h,onConnectOpenRouter:p}),t[4]=a,t[5]=o,t[6]=p,t[7]=r,t[8]=h,t[9]=n,t[10]=g):g=t[10];let _;t[11]!==d||t[12]!==h||t[13]!==u||t[14]!==n?(_=n&&ne(n).map(e=>(0,Y.jsx)(ie,{label:(0,Y.jsx)(P,{htmlFor:e,children:V(e)}),control:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`input`,{id:e,value:u[e]??``,onChange:t=>d(e,t.target.value),disabled:h,className:`h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base`,placeholder:B(n.slug)&&e===`LOCAL_API_URL`?n.api:e,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`}),n.slug===`azure`&&e===H(n)||B(n.slug)&&e===`LOCAL_API_URL`?(0,Y.jsx)(`p`,{className:b(i.bodyMuted,`mt-2 break-all`),children:te(n,u)||n.api}):null]}),align:`start`},e)),t[11]=d,t[12]=h,t[13]=u,t[14]=n,t[15]=_):_=t[15];let v;t[16]===f?v=t[17]:(v=f?(0,Y.jsx)(G,{variant:`error`,className:`mb-0`,children:f}):null,t[16]=f,t[17]=v);let y;return t[18]!==g||t[19]!==_||t[20]!==v?(y=(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[g,_,v]}),t[18]=g,t[19]=_,t[20]=v,t[21]=y):y=t[21],y}function xe(e){let t=(0,J.c)(3),{currentStep:n}=e;if(n===`provider-selection`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(D,{children:`Select an AI Provider`}),(0,Y.jsx)(w,{children:`Choose your preferred AI provider and enter your API key.`})]}),t[0]=e):e=t[0],e}if(n===`model-selection`){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(D,{children:`Select Models`}),(0,Y.jsx)(w,{children:`Choose which models you want to use with this provider.`})]}),t[1]=e):e=t[1],e}let r;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(D,{children:`Let's get started`}),(0,Y.jsx)(w,{children:`First, we need to check that Git is installed on your system.`})]}),t[2]=r):r=t[2],r}function Se(e){let t=(0,J.c)(26),{currentStep:n}=e,r=function(e){return e===`provider-selection`&&n===`provider-selection`||n===`model-selection`},a=function(e){return n===e},o=a(`git-check`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,s;t[0]===o?s=t[1]:(s=b(`flex items-center justify-center h-8 w-8 rounded-full`,i.label,o),t[0]=o,t[1]=s);let c;t[2]===s?c=t[3]:(c=(0,Y.jsx)(`div`,{className:s,children:`1`}),t[2]=s,t[3]=c);let l=r(`provider-selection`)?`bg-primary`:`bg-muted`,u;t[4]===l?u=t[5]:(u=b(`h-0.5 flex-1`,l),t[4]=l,t[5]=u);let d;t[6]===u?d=t[7]:(d=(0,Y.jsx)(`div`,{className:u}),t[6]=u,t[7]=d);let f=a(`provider-selection`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,p;t[8]===f?p=t[9]:(p=b(`flex items-center justify-center h-8 w-8 rounded-full`,i.label,f),t[8]=f,t[9]=p);let m;t[10]===p?m=t[11]:(m=(0,Y.jsx)(`div`,{className:p,children:`2`}),t[10]=p,t[11]=m);let h=r(`model-selection`)?`bg-primary`:`bg-muted`,g;t[12]===h?g=t[13]:(g=b(`h-0.5 flex-1`,h),t[12]=h,t[13]=g);let _;t[14]===g?_=t[15]:(_=(0,Y.jsx)(`div`,{className:g}),t[14]=g,t[15]=_);let v=a(`model-selection`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,y;t[16]===v?y=t[17]:(y=b(`flex items-center justify-center h-8 w-8 rounded-full`,i.label,v),t[16]=v,t[17]=y);let x;t[18]===y?x=t[19]:(x=(0,Y.jsx)(`div`,{className:y,children:`3`}),t[18]=y,t[19]=x);let S;return t[20]!==_||t[21]!==x||t[22]!==c||t[23]!==d||t[24]!==m?(S=(0,Y.jsxs)(`div`,{className:`w-1/2 mx-auto flex items-center gap-2 mb-6`,children:[c,d,m,_,x]}),t[20]=_,t[21]=x,t[22]=c,t[23]=d,t[24]=m,t[25]=S):S=t[25],S}var $=a(`app.onboarding-dialog.ui`);async function Ce(){for(let e=0;e<120;e+=1){await new Promise(e=>window.setTimeout(e,1e3)),m.invalidate(`providers`);let e=(await s()).find(e=>e.slug.toLowerCase()===`openrouter`);if(e?.apiKey)return e}return null}function we(e,t,n){let[r,i]=(0,X.useState)(`git-check`),a=v({enabled:e&&r===`git-check`}),u=(0,X.useRef)(!1),[m,g]=(0,X.useState)([]),[_,y]=(0,X.useState)(null),[b,x]=(0,X.useState)(``),[S,C]=(0,X.useState)(!1),[w,T]=(0,X.useState)({}),[E,D]=(0,X.useState)(!1),[O,k]=(0,X.useState)(``),[A,j]=(0,X.useState)(new Set),[M,N]=(0,X.useState)(!1),[P,F]=(0,X.useState)(!1);async function I(){try{let e=await s();if(g(e),e.length>0&&!_){let t=ee(e);t&&(y(t),x(t.apiKey??``),T(t.envValues??{}))}}catch(e){$.error(`Failed to load providers:`,e)}}async function L(){if(_){N(!0);try{await f(_.name),j(new Set)}catch(e){$.error(`Failed to load models:`,e)}finally{N(!1)}}}(0,X.useEffect)(()=>{e&&r===`git-check`&&a.hasChecked&&!u.current&&(u.current=!0,a.gitInstalled&&i(`provider-selection`))},[e,r,a.hasChecked,a.gitInstalled]),(0,X.useEffect)(()=>{e&&r===`provider-selection`&&m.length===0&&I()},[e,r,m.length]),(0,X.useEffect)(()=>{e&&r===`model-selection`&&_&&L()},[e,r,_]);async function R(){if(!_||!b.trim()){k(`Please enter an API key`);return}let e=ne(_),t=e.find(e=>!w[e]?.trim());if(t){k(`Please enter ${V(t)}`);return}D(!0),k(``);try{e.length>0&&await l(Object.fromEntries(e.map(e=>[e,w[e].trim()]))),await o(_.slug,b),i(`model-selection`)}catch(e){k(e instanceof Error?e.message:`Failed to validate API key`)}finally{D(!1)}}async function z(){if(_){F(!0);try{for(let e of A)await d(_.slug,e);ae(),await p(),n?.(),t(!1)}catch(e){$.error(`Failed to complete onboarding:`,e)}finally{F(!1)}}}async function B(){F(!0);try{await p(),n?.(),t(!1)}catch(e){$.error(`Failed to skip onboarding:`,e)}finally{F(!1)}}function te(e){y(e),x(e.apiKey??``),T(e.envValues??{}),k(``)}function H(e,t){T(n=>({...n,[e]:t}))}function U(){i(`provider-selection`)}async function W(){if(!S){C(!0),k(``);try{let e=await c();await h(e);let t=await Ce();if(!t){k(`OpenRouter connection timed out. You can enter an API key manually.`);return}y(t),x(t.apiKey??``),i(`model-selection`)}catch(e){k(e instanceof Error?e.message:`Failed to connect to OpenRouter`)}finally{C(!1)}}}function G(){r===`provider-selection`?i(`git-check`):r===`model-selection`&&i(`provider-selection`)}return{currentStep:r,git:a,selectedProvider:_,apiKey:b,setApiKey:x,connectingOpenRouter:S,validatingKey:E,savingOnboarding:P,providerEnvValues:w,keyError:O,modelsLoading:M,setEnabledModelIds:j,handleProviderChange:te,handleProviderEnvChange:H,handleGitCheckProceed:U,handleConnectOpenRouter:W,handleBack:G,skipOnboarding:B,validateAndMoveNext:R,finishOnboarding:z}}function Te(e){e.preventDefault()}function Ee(e){let t=(0,J.c)(47),{open:n,onOpenChange:r,onComplete:i}=e,a=we(n,r,i),o;t[0]===a.currentStep?o=t[1]:(o=(0,Y.jsx)(Se,{currentStep:a.currentStep}),t[0]=a.currentStep,t[1]=o);let s;t[2]===a.currentStep?s=t[3]:(s=(0,Y.jsx)(T,{children:(0,Y.jsx)(xe,{currentStep:a.currentStep})}),t[2]=a.currentStep,t[3]=s);let c;t[4]!==o||t[5]!==s?(c=(0,Y.jsxs)(`div`,{className:`px-6 pt-6 pb-2`,children:[o,s]}),t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;t[7]!==a.currentStep||t[8]!==a.git?(l=a.currentStep===`git-check`?(0,Y.jsx)(`div`,{className:`space-y-4`,children:(0,Y.jsx)(le,{gitLoading:a.git.loading,gitInstalled:a.git.gitInstalled,version:a.git.version,platform:a.git.platform,plan:a.git.plan,onCheckAgain:()=>void a.git.check()})}):null,t[7]=a.currentStep,t[8]=a.git,t[9]=l):l=t[9];let u;t[10]===a?u=t[11]:(u=a.currentStep===`provider-selection`?(0,Y.jsx)(be,{selectedProvider:a.selectedProvider,onProviderChange:a.handleProviderChange,apiKey:a.apiKey,onApiKeyChange:a.setApiKey,validatingKey:a.validatingKey,connectingOpenRouter:a.connectingOpenRouter,savingOnboarding:a.savingOnboarding,providerEnvValues:a.providerEnvValues,onProviderEnvChange:a.handleProviderEnvChange,keyError:a.keyError,onConnectOpenRouter:()=>void a.handleConnectOpenRouter()}):null,t[10]=a,t[11]=u);let d;t[12]!==a.currentStep||t[13]!==a.modelsLoading||t[14]!==a.selectedProvider||t[15]!==a.setEnabledModelIds?(d=a.currentStep===`model-selection`&&a.selectedProvider?(0,Y.jsx)(ge,{providerSlug:a.selectedProvider.slug,modelsLoading:a.modelsLoading,onModelsChange:a.setEnabledModelIds}):null,t[12]=a.currentStep,t[13]=a.modelsLoading,t[14]=a.selectedProvider,t[15]=a.setEnabledModelIds,t[16]=d):d=t[16];let f;t[17]!==l||t[18]!==u||t[19]!==d?(f=(0,Y.jsx)(F,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,Y.jsxs)(`div`,{className:`px-6 py-4`,children:[l,u,d]})}),t[17]=l,t[18]=u,t[19]=d,t[20]=f):f=t[20];let p=!!a.selectedProvider,m;t[21]===a?m=t[22]:(m=()=>void a.skipOnboarding(),t[21]=a,t[22]=m);let h,g;t[23]===a?(h=t[24],g=t[25]):(h=()=>void a.validateAndMoveNext(),g=()=>void a.finishOnboarding(),t[23]=a,t[24]=h,t[25]=g);let _;t[26]!==a.apiKey||t[27]!==a.connectingOpenRouter||t[28]!==a.currentStep||t[29]!==a.git.loading||t[30]!==a.handleBack||t[31]!==a.handleGitCheckProceed||t[32]!==a.savingOnboarding||t[33]!==a.validatingKey||t[34]!==h||t[35]!==g||t[36]!==p||t[37]!==m?(_=(0,Y.jsx)(ye,{currentStep:a.currentStep,savingOnboarding:a.savingOnboarding,gitLoading:a.git.loading,validatingKey:a.validatingKey,connectingOpenRouter:a.connectingOpenRouter,apiKey:a.apiKey,hasProvider:p,onSkip:m,onBack:a.handleBack,onContinue:a.handleGitCheckProceed,onValidate:h,onFinish:g}),t[26]=a.apiKey,t[27]=a.connectingOpenRouter,t[28]=a.currentStep,t[29]=a.git.loading,t[30]=a.handleBack,t[31]=a.handleGitCheckProceed,t[32]=a.savingOnboarding,t[33]=a.validatingKey,t[34]=h,t[35]=g,t[36]=p,t[37]=m,t[38]=_):_=t[38];let v;t[39]!==_||t[40]!==c||t[41]!==f?(v=(0,Y.jsxs)(E,{className:`max-w-2xl h-[min(42rem,90dvh)] flex flex-col p-0 overflow-hidden`,onInteractOutside:Te,children:[c,f,_]}),t[39]=_,t[40]=c,t[41]=f,t[42]=v):v=t[42];let y;return t[43]!==r||t[44]!==n||t[45]!==v?(y=(0,Y.jsx)(O,{open:n,onOpenChange:r,children:v}),t[43]=r,t[44]=n,t[45]=v,t[46]=y):y=t[46],y}export{ye as OnboardingFooter,Ee as default};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{i,n as a,r as o,t as s}from"./tooltip-CJKJfu0l.js";import{cn as c,dn as l,un as u}from"./index-CalVAwXj.js";var d=t(),f=e(n(),1),p=r(),m=`h-8 rounded-full border-0 bg-muted/40 p-0.5`,h=`rounded-full bg-foreground shadow-sm`,g=`h-7 rounded-full px-4 data-[state=active]:text-background`;function _(e){let t=(0,d.c)(12),{value:n,onValueChange:r,options:_,className:v}=e,y;t[0]===r?y=t[1]:(y=e=>r(e),t[0]=r,t[1]=y);let b;if(t[2]!==_){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=function(e){let t=(0,p.jsx)(l,{value:e.value,className:g,children:e.label});return e.tooltip?(0,p.jsxs)(s,{children:[(0,p.jsx)(i,{asChild:!0,children:t}),(0,p.jsx)(a,{children:e.tooltip})]},e.value):(0,p.jsx)(f.Fragment,{children:t},e.value)},t[4]=e):e=t[4],b=_.map(e),t[2]=_,t[3]=b}else b=t[3];let x;t[5]===b?x=t[6]:(x=(0,p.jsx)(u,{className:m,indicatorClassName:h,children:b}),t[5]=b,t[6]=x);let S;return t[7]!==v||t[8]!==y||t[9]!==x||t[10]!==n?(S=(0,p.jsx)(o,{children:(0,p.jsx)(c,{value:n,onValueChange:y,className:v,children:x})}),t[7]=v,t[8]=y,t[9]=x,t[10]=n,t[11]=S):S=t[11],S}export{_ as t};
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{i,n as a,r as o,t as s}from"./tooltip-CqwCZ7wt.js";import{$t as c,Zt as l,en as u}from"./index-CcAwxnT5.js";var d=t(),f=e(n(),1),p=r(),m=`h-8 rounded-full border-0 bg-muted/40 p-0.5`,h=`rounded-full bg-foreground shadow-sm`,g=`h-7 rounded-full px-4 data-[state=active]:text-background`;function _(e){let t=(0,d.c)(12),{value:n,onValueChange:r,options:_,className:v}=e,y;t[0]===r?y=t[1]:(y=e=>r(e),t[0]=r,t[1]=y);let b;if(t[2]!==_){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=function(e){let t=(0,p.jsx)(u,{value:e.value,className:g,children:e.label});return e.tooltip?(0,p.jsxs)(s,{children:[(0,p.jsx)(i,{asChild:!0,children:t}),(0,p.jsx)(a,{children:e.tooltip})]},e.value):(0,p.jsx)(f.Fragment,{children:t},e.value)},t[4]=e):e=t[4],b=_.map(e),t[2]=_,t[3]=b}else b=t[3];let x;t[5]===b?x=t[6]:(x=(0,p.jsx)(c,{className:m,indicatorClassName:h,children:b}),t[5]=b,t[6]=x);let S;return t[7]!==v||t[8]!==y||t[9]!==x||t[10]!==n?(S=(0,p.jsx)(o,{children:(0,p.jsx)(l,{value:n,onValueChange:y,className:v,children:x})}),t[7]=v,t[8]=y,t[9]=x,t[10]=n,t[11]=S):S=t[11],S}export{_ as t};
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./react-vendor-D61Uve5n.js";import{U as n}from"./dist-v_MvKS2-.js";import{t as r}from"./utils-CqsIXqSC.js";var i=e(),a=t();function o(e){let t=(0,i.c)(10),{size:n,className:o,"aria-label":s}=e,c=n===void 0?20:n,l=s===void 0?`Loading`:s,u;t[0]===c?u=t[1]:(u={width:c,height:c},t[0]=c,t[1]=u);let d;t[2]===o?d=t[3]:(d=r(`relative block aspect-square`,o),t[2]=o,t[3]=d);let f,p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,a.jsx)(`span`,{"aria-hidden":`true`,className:`absolute inset-[0_54%_54%_0] animate-progress-spin rounded-full shadow-[inset_0_0_0_2px] shadow-brand`}),p=(0,a.jsx)(`span`,{"aria-hidden":`true`,className:`absolute inset-[0_54%_54%_0] animate-progress-spin rounded-full shadow-[inset_0_0_0_2px] shadow-brand [animation-delay:-1.25s]`}),t[4]=f,t[5]=p):(f=t[4],p=t[5]);let m;return t[6]!==l||t[7]!==u||t[8]!==d?(m=(0,a.jsxs)(`span`,{role:`img`,"aria-label":l,style:u,className:d,children:[f,p]}),t[6]=l,t[7]=u,t[8]=d,t[9]=m):m=t[9],m}function s(e){switch(e){case`searching`:return`Searching`;case`solving`:return`Thinking`;default:return`Working`}}function c(e){let t=(0,i.c)(20),{centered:c,className:l,containerClassName:u,label:d,size:f,state:p}=e,m=c!==void 0&&c,h=f===void 0?`md`:f,g=p===void 0?`working`:p,_=h===`sm`?16:h===`lg`?32:20,v;t[0]!==d||t[1]!==g?(v=d??s(g),t[0]=d,t[1]=g,t[2]=v):v=t[2];let y=m&&`mx-auto`,b;t[3]!==l||t[4]!==y?(b=r(y,l),t[3]=l,t[4]=y,t[5]=b):b=t[5];let x;t[6]!==_||t[7]!==v||t[8]!==b?(x=(0,a.jsx)(o,{size:_,"aria-label":v,className:b}),t[6]=_,t[7]=v,t[8]=b,t[9]=x):x=t[9];let S=x;if(!m)return S;let C;t[10]===u?C=t[11]:(C=r(`flex h-full items-center justify-center`,u),t[10]=u,t[11]=C);let w;t[12]===d?w=t[13]:(w=d?(0,a.jsx)(`p`,{"aria-hidden":`true`,className:r(n.bodyMuted,`mt-2`),children:d}):null,t[12]=d,t[13]=w);let T;t[14]!==S||t[15]!==w?(T=(0,a.jsxs)(`div`,{className:`text-center`,children:[S,w]}),t[14]=S,t[15]=w,t[16]=T):T=t[16];let E;return t[17]!==T||t[18]!==C?(E=(0,a.jsx)(`div`,{className:C,children:T}),t[17]=T,t[18]=C,t[19]=E):E=t[19],E}export{o as n,c as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{s as i}from"./chunk-QFMPRPBF-Cy-_pFSM.js";import{Y as a}from"./dist-v_MvKS2-.js";import{Z as o,n as s}from"./store-W78TGOIO.js";import{Tt as c,ar as l,ir as u,ur as d}from"./api-Cp9I7CxD.js";import{t as f}from"./loader-circle-CrqRIqdA.js";import{t as p}from"./button-DDaJhJP1.js";import{i as m,n as h,r as g,t as _}from"./tooltip-CqwCZ7wt.js";import{t as v}from"./use-toast-CKgZ8YeP.js";import{t as y}from"./progress-indicator-hJ74ac5W.js";import{G as b,Mn as x,at as S,dt as C,ft as w,gn as T,gt as E,hn as D,lt as O,nt as k,pt as A}from"./index-CcAwxnT5.js";import{i as j}from"./commit-method-fields-Xt3vbwUg.js";import{t as M}from"./use-settings-page-loading-B5WU5d1c.js";var N=t(),P=r();function ee(e){let t=(0,N.c)(4),{useBuiltInBrowser:n,disabled:r,onChange:i}=e,a;return t[0]!==r||t[1]!==i||t[2]!==n?(a=(0,P.jsx)(k,{title:`Built-in Browser`,description:`When enabled, Tarsk shows the Browser tab and opens detected dev URLs in the app. When disabled, the tab is hidden and URLs open in your system browser.`,controlLayout:`row-end`,action:(0,P.jsx)(b,{value:n,onChange:i,disabled:r,ariaLabel:`Built-in Browser`})}),t[0]=r,t[1]=i,t[2]=n,t[3]=a):a=t[3],a}function F(e){return e===a.PullRequest?`Feature branches are created and pull requests can be created.`:`Commits are made directly to the main branch without feature branches.`}function I(e){let t=(0,N.c)(9),{commitMethod:n,loading:r,onChange:i}=e,a;t[0]===n?a=t[1]:(a=F(n),t[0]=n,t[1]=a);let o;t[2]!==n||t[3]!==r||t[4]!==i?(o=(0,P.jsx)(j,{commitMethod:n,onCommitMethodChange:i,disabled:r}),t[2]=n,t[3]=r,t[4]=i,t[5]=o):o=t[5];let s;return t[6]!==a||t[7]!==o?(s=(0,P.jsx)(k,{title:`Commit Method`,description:a,controlLayout:`row-end`,action:o}),t[6]=a,t[7]=o,t[8]=s):s=t[8],s}function L(e){let t=(0,N.c)(22),{runCmd:n,loading:r,suggestingCommand:i,suggestDisabled:a,onChange:o,onSuggest:s}=e,c;t[0]===o?c=t[1]:(c=e=>o(e.target.value),t[0]=o,t[1]=c);let l;t[2]!==r||t[3]!==n||t[4]!==c?(l=(0,P.jsx)(T,{id:`runCommand`,value:n,onChange:c,placeholder:`e.g. npm run dev`,className:`font-mono pr-10`,disabled:r}),t[2]=r,t[3]=n,t[4]=c,t[5]=l):l=t[5];let u;t[6]===s?u=t[7]:(u=()=>void s(),t[6]=s,t[7]=u);let d;t[8]===i?d=t[9]:(d=i?(0,P.jsx)(y,{size:`sm`}):(0,P.jsx)(x,{className:`h-3.5 w-3.5`}),t[8]=i,t[9]=d);let f;t[10]!==a||t[11]!==u||t[12]!==d?(f=(0,P.jsx)(m,{asChild:!0,children:(0,P.jsx)(p,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-1 right-1 h-8 w-8`,onClick:u,disabled:a,"aria-label":`Generate run command with AI`,children:d})}),t[10]=a,t[11]=u,t[12]=d,t[13]=f):f=t[13];let v=i?`Working out the run command...`:`Detect the project's dev script, or generate one with AI`,b;t[14]===v?b=t[15]:(b=(0,P.jsx)(h,{children:v}),t[14]=v,t[15]=b);let S;t[16]!==f||t[17]!==b?(S=(0,P.jsx)(g,{children:(0,P.jsxs)(_,{children:[f,b]})}),t[16]=f,t[17]=b,t[18]=S):S=t[18];let C;return t[19]!==l||t[20]!==S?(C=(0,P.jsx)(k,{title:`Run Command`,description:`The command to start the dev server. Leave empty to disable run functionality.`,children:(0,P.jsxs)(`div`,{className:`relative`,children:[l,S]})}),t[19]=l,t[20]=S,t[21]=C):C=t[21],C}function R(e){let t=(0,N.c)(8),{saving:n,disabled:r,onSave:i}=e,a;t[0]===i?a=t[1]:(a=()=>void i(),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=n?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(f,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[2]=n,t[3]=o);let s;return t[4]!==r||t[5]!==a||t[6]!==o?(s=(0,P.jsx)(p,{onClick:a,disabled:r,children:o}),t[4]=r,t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function z(e){let t=(0,N.c)(22),{value:n,loading:r,suggestingScript:i,suggestDisabled:a,onChange:o,onSuggest:s}=e,c;t[0]===o?c=t[1]:(c=e=>o(e.target.value),t[0]=o,t[1]=c);let l;t[2]!==r||t[3]!==c||t[4]!==n?(l=(0,P.jsx)(D,{id:`setupScript`,value:n,onChange:c,placeholder:`e.g. npm install`,className:`font-mono min-h-[80px] resize-none pr-10`,disabled:r}),t[2]=r,t[3]=c,t[4]=n,t[5]=l):l=t[5];let u;t[6]===s?u=t[7]:(u=()=>void s(),t[6]=s,t[7]=u);let d;t[8]===i?d=t[9]:(d=i?(0,P.jsx)(y,{size:`sm`}):(0,P.jsx)(x,{className:`h-3.5 w-3.5`}),t[8]=i,t[9]=d);let f;t[10]!==a||t[11]!==u||t[12]!==d?(f=(0,P.jsx)(m,{asChild:!0,children:(0,P.jsx)(p,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:u,disabled:a,"aria-label":`Generate setup script with AI`,children:d})}),t[10]=a,t[11]=u,t[12]=d,t[13]=f):f=t[13];let v=i?`Working out the setup script...`:`Generate the dependency install script with AI`,b;t[14]===v?b=t[15]:(b=(0,P.jsx)(h,{children:v}),t[14]=v,t[15]=b);let S;t[16]!==f||t[17]!==b?(S=(0,P.jsx)(g,{children:(0,P.jsxs)(_,{children:[f,b]})}),t[16]=f,t[17]=b,t[18]=S):S=t[18];let C;return t[19]!==l||t[20]!==S?(C=(0,P.jsx)(k,{title:`Setup Script`,description:`This script runs automatically after cloning the repo for new threads.`,children:(0,P.jsxs)(`div`,{className:`relative`,children:[l,S]})}),t[19]=l,t[20]=S,t[21]=C):C=t[21],C}var B=e(n(),1);async function V(e,t){if(!e){t.setLoading(!1);return}t.setLoading(!0);try{let n=await c(e);t.setValue(n.setupScript??``),t.setRunCmd(n.runCommand??``),t.setCommitMethod(n.commitMethod??a.PullRequest),t.setUseBuiltInBrowser(n.useBuiltInBrowser!==!1),t.setOriginalValue(n.setupScript??``),t.setOriginalRunCmd(n.runCommand??``),t.setOriginalCommitMethod(n.commitMethod??a.PullRequest),t.setOriginalUseBuiltInBrowser(n.useBuiltInBrowser!==!1)}catch(e){v({title:`Error`,description:e instanceof Error?e.message:`Failed to load coding settings`,variant:`destructive`})}finally{t.setLoading(!1)}}async function H(e,t,n){n(!0);try{let n=await u(e);if(!n.runCommand){v({title:`No run command found`,description:n.reason??`Could not detect a dev script in the project's package.json`});return}t(n.runCommand),v({title:n.source===`ai`?`Generated run command`:`Detected run command`,description:n.runCommand})}catch(e){v({title:`Error`,description:e instanceof Error?e.message:`Failed to suggest command`,variant:`destructive`})}finally{n(!1)}}async function U(e,t,n){n(!0);try{let n=await l(e);if(!n.setupScript){v({title:`No setup script found`,description:n.reason??`Could not work out how to install this project's dependencies`});return}t(n.setupScript),v({title:n.source===`ai`?`Generated setup script`:`Detected setup script`,description:n.setupScript})}catch(e){v({title:`Error`,description:e instanceof Error?e.message:`Failed to suggest setup script`,variant:`destructive`})}finally{n(!1)}}async function W(e,t,n,r){await d(e,{setupScript:t.trim()||null,runCommand:n.trim()||null,commitMethod:r})}async function G(e,t,n){t!==n&&await d(e,{useBuiltInBrowser:t})}function te(e){return e.value!==e.originalValue||e.runCmd!==e.originalRunCmd||e.commitMethod!==e.originalCommitMethod||e.useBuiltInBrowser!==e.originalUseBuiltInBrowser}async function ne(e,t,n){n.setSaving(!0);try{return await W(e,t.value,t.runCmd,t.commitMethod),await G(e,t.useBuiltInBrowser,t.originalUseBuiltInBrowser),n.setOriginalValue(t.value),n.setOriginalRunCmd(t.runCmd),n.setOriginalCommitMethod(t.commitMethod),n.setOriginalUseBuiltInBrowser(t.useBuiltInBrowser),!0}catch(e){return v({title:`Error`,description:e instanceof Error?e.message:`Failed to save coding settings`,variant:`destructive`}),!1}finally{n.setSaving(!1)}}function re(e){let{setValue:t,setRunCmd:n,setCommitMethod:r,setUseBuiltInBrowser:i,setOriginalValue:a,setOriginalRunCmd:o,setOriginalCommitMethod:s,setOriginalUseBuiltInBrowser:c,setLoading:l,setSaving:u,setSuggestingCommand:d}=e;return e}function ie(){let e=(0,N.c)(5),[t,n]=(0,B.useState)(``),[r,i]=(0,B.useState)(``),[o,s]=(0,B.useState)(a.PullRequest),[c,l]=(0,B.useState)(!0),u;return e[0]!==o||e[1]!==r||e[2]!==c||e[3]!==t?(u={value:t,setValue:n,runCmd:r,setRunCmd:i,commitMethod:o,setCommitMethod:s,useBuiltInBrowser:c,setUseBuiltInBrowser:l},e[0]=o,e[1]=r,e[2]=c,e[3]=t,e[4]=u):u=e[4],u}function ae(){let e=(0,N.c)(5),[t,n]=(0,B.useState)(``),[r,i]=(0,B.useState)(``),[o,s]=(0,B.useState)(a.PullRequest),[c,l]=(0,B.useState)(!0),u;return e[0]!==o||e[1]!==r||e[2]!==c||e[3]!==t?(u={originalValue:t,setOriginalValue:n,originalRunCmd:r,setOriginalRunCmd:i,originalCommitMethod:o,setOriginalCommitMethod:s,originalUseBuiltInBrowser:c,setOriginalUseBuiltInBrowser:l},e[0]=o,e[1]=r,e[2]=c,e[3]=t,e[4]=u):u=e[4],u}function K(e,t){let n=(0,N.c)(71),r=i(),a=s(),c=ie(),l=ae(),{value:u,setValue:d,runCmd:f,setRunCmd:p,commitMethod:m,setCommitMethod:h,useBuiltInBrowser:g,setUseBuiltInBrowser:_}=c,{originalValue:v,setOriginalValue:y,originalRunCmd:b,setOriginalRunCmd:x,originalCommitMethod:S,setOriginalCommitMethod:C,originalUseBuiltInBrowser:w,setOriginalUseBuiltInBrowser:T}=l,[E,D]=(0,B.useState)(!1),[O,k]=(0,B.useState)(!1),[A,j]=(0,B.useState)(!1),[P,ee]=(0,B.useState)(!0),F;n[0]!==h||n[1]!==C||n[2]!==x||n[3]!==T||n[4]!==y||n[5]!==p||n[6]!==_||n[7]!==d?(F={setValue:d,setRunCmd:p,setCommitMethod:h,setUseBuiltInBrowser:_,setOriginalValue:y,setOriginalRunCmd:x,setOriginalCommitMethod:C,setOriginalUseBuiltInBrowser:T,setLoading:ee,setSaving:D,setSuggestingCommand:k},n[0]=h,n[1]=C,n[2]=x,n[3]=T,n[4]=y,n[5]=p,n[6]=_,n[7]=d,n[8]=F):F=n[8];let I=re(F),L;n[9]!==e||n[10]!==I?(L=()=>V(e,I),n[9]=e,n[10]=I,n[11]=L):L=n[11];let R=L,z,W;n[12]===e?(z=n[13],W=n[14]):(z=()=>{e&&ee(!0)},W=[e],n[12]=e,n[13]=z,n[14]=W),(0,B.useLayoutEffect)(z,W);let G,K;n[15]===R?(G=n[16],K=n[17]):(G=()=>{R()},K=[R],n[15]=R,n[16]=G,n[17]=K),(0,B.useEffect)(G,K);let q;n[18]===P?q=n[19]:(q=[P],n[18]=P,n[19]=q);let se=M(e,q),J;n[20]===h?J=n[21]:(J=function(e){h(e)},n[20]=h,n[21]=J);let ce=J,Y;n[22]!==e||n[23]!==p?(Y=async function(){e&&await H(e,p,k)},n[22]=e,n[23]=p,n[24]=Y):Y=n[24];let le=Y,X;n[25]!==e||n[26]!==d?(X=async function(){e&&await U(e,d,j)},n[25]=e,n[26]=d,n[27]=X):X=n[27];let ue=X,Z;n[28]!==m||n[29]!==a||n[30]!==r||n[31]!==t||n[32]!==S||n[33]!==b||n[34]!==w||n[35]!==v||n[36]!==e||n[37]!==f||n[38]!==I||n[39]!==g||n[40]!==u?(Z=async function(){if(!e)return;let n=f.trim()!==``&&b.trim()===``;await ne(e,{value:u,runCmd:f,commitMethod:m,useBuiltInBrowser:g,originalValue:v,originalRunCmd:b,originalCommitMethod:S,originalUseBuiltInBrowser:w},I)&&(n&&a({type:o.SetRunCommandSaved,projectId:e}),t&&t().catch(oe),r(`/`))},n[28]=m,n[29]=a,n[30]=r,n[31]=t,n[32]=S,n[33]=b,n[34]=w,n[35]=v,n[36]=e,n[37]=f,n[38]=I,n[39]=g,n[40]=u,n[41]=Z):Z=n[41];let de=Z,fe=P||E,pe=P||O||A,Q;n[42]!==m||n[43]!==S||n[44]!==b||n[45]!==w||n[46]!==v||n[47]!==f||n[48]!==g||n[49]!==u?(Q=te({value:u,runCmd:f,commitMethod:m,useBuiltInBrowser:g,originalValue:v,originalRunCmd:b,originalCommitMethod:S,originalUseBuiltInBrowser:w}),n[42]=m,n[43]=S,n[44]=b,n[45]=w,n[46]=v,n[47]=f,n[48]=g,n[49]=u,n[50]=Q):Q=n[50];let me=Q,$;return n[51]!==m||n[52]!==fe||n[53]!==ce||n[54]!==de||n[55]!==le||n[56]!==ue||n[57]!==me||n[58]!==P||n[59]!==se||n[60]!==f||n[61]!==E||n[62]!==p||n[63]!==_||n[64]!==d||n[65]!==pe||n[66]!==O||n[67]!==A||n[68]!==g||n[69]!==u?($={value:u,setValue:d,runCmd:f,setRunCmd:p,commitMethod:m,saving:E,suggestingCommand:O,suggestingScript:A,loading:P,useBuiltInBrowser:g,setUseBuiltInBrowser:_,pageLoading:se,handleCommitMethodChange:ce,handleSuggestCommand:le,handleSuggestSetupScript:ue,handleSave:de,controlsDisabled:fe,suggestDisabled:pe,hasUnsavedChanges:me},n[51]=m,n[52]=fe,n[53]=ce,n[54]=de,n[55]=le,n[56]=ue,n[57]=me,n[58]=P,n[59]=se,n[60]=f,n[61]=E,n[62]=p,n[63]=_,n[64]=d,n[65]=pe,n[66]=O,n[67]=A,n[68]=g,n[69]=u,n[70]=$):$=n[70],$}function oe(){}function q(e){let t=(0,N.c)(39),{projectId:n,onProjectUpdated:r}=e,{value:i,setValue:a,runCmd:o,setRunCmd:s,commitMethod:c,saving:l,suggestingCommand:u,suggestingScript:d,loading:f,useBuiltInBrowser:p,setUseBuiltInBrowser:m,pageLoading:h,handleCommitMethodChange:g,handleSuggestCommand:_,handleSuggestSetupScript:v,handleSave:y,controlsDisabled:b,suggestDisabled:x,hasUnsavedChanges:T}=K(n,r);if(!n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,P.jsx)(w,{title:`No project selected`,children:`Please select a project from the sidebar to view its coding settings.`}),t[0]=e):e=t[0],e}let D=b||!T,k;t[1]!==y||t[2]!==l||t[3]!==D?(k=(0,P.jsx)(S,{title:`Setup`,description:`Scripts and command behavior Tarsk uses when working on this project.`,action:(0,P.jsx)(R,{saving:l,disabled:D,onSave:y}),sticky:!1}),t[1]=y,t[2]=l,t[3]=D,t[4]=k):k=t[4];let j;t[5]!==v||t[6]!==f||t[7]!==a||t[8]!==x||t[9]!==d||t[10]!==i?(j=(0,P.jsx)(z,{value:i,loading:f,suggestingScript:d,suggestDisabled:x,onChange:a,onSuggest:v}),t[5]=v,t[6]=f,t[7]=a,t[8]=x,t[9]=d,t[10]=i,t[11]=j):j=t[11];let M;t[12]!==_||t[13]!==f||t[14]!==o||t[15]!==s||t[16]!==x||t[17]!==u?(M=(0,P.jsx)(L,{runCmd:o,loading:f,suggestingCommand:u,suggestDisabled:x,onChange:s,onSuggest:_}),t[12]=_,t[13]=f,t[14]=o,t[15]=s,t[16]=x,t[17]=u,t[18]=M):M=t[18];let F;t[19]!==c||t[20]!==g||t[21]!==f?(F=(0,P.jsx)(I,{commitMethod:c,loading:f,onChange:g}),t[19]=c,t[20]=g,t[21]=f,t[22]=F):F=t[22];let B;t[23]!==b||t[24]!==m||t[25]!==p?(B=(0,P.jsx)(ee,{useBuiltInBrowser:p,disabled:b,onChange:m}),t[23]=b,t[24]=m,t[25]=p,t[26]=B):B=t[26];let V;t[27]!==j||t[28]!==M||t[29]!==F||t[30]!==B?(V=(0,P.jsx)(A,{className:`max-w-none pt-6`,children:(0,P.jsxs)(C,{children:[j,M,F,B]})}),t[27]=j,t[28]=M,t[29]=F,t[30]=B,t[31]=V):V=t[31];let H;t[32]!==k||t[33]!==V?(H=(0,P.jsxs)(E,{className:`shrink-0`,children:[k,V]}),t[32]=k,t[33]=V,t[34]=H):H=t[34];let U;return t[35]!==h||t[36]!==n||t[37]!==H?(U=(0,P.jsx)(O,{loading:h,children:H},n),t[35]=h,t[36]=n,t[37]=H,t[38]=U):U=t[38],U}export{q as default};
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-D61Uve5n.js";import{V as n}from"./dist-D5vgS4RP.js";import{r}from"./store-CxUwqrZ5.js";import{d as i}from"./utils-mYB1USG6.js";import{t as a}from"./button-Dp5XDZNR.js";import{_t as o,bt as s,gt as c,i as l,lt as u,pt as d}from"./index-CalVAwXj.js";var f=e(),p=t();function m(e){let t=(0,f.c)(11),{projectId:m}=e,h=l(),g;t[0]===m?g=t[1]:(g=e=>e.projects.find(e=>e.projectId===m),t[0]=m,t[1]=g);let _=r(g);if(!m){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,p.jsx)(c,{title:`No project selected`,children:`Please select a project from the sidebar to manage its danger zone.`}),t[2]=e):e=t[2],e}let v=_?.builtIn===!0,y;t[3]===_?y=t[4]:(y=_?i(_):``,t[3]=_,t[4]=y);let b=y,x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,p.jsx)(u,{title:`Danger Zone`,description:`Irreversible actions for this project.`,sticky:!1}),t[5]=x):x=t[5];let S;return t[6]!==v||t[7]!==m||t[8]!==b||t[9]!==h?(S=(0,p.jsx)(d,{loading:!1,children:(0,p.jsxs)(s,{className:`shrink-0`,children:[x,(0,p.jsx)(o,{className:`max-w-none pt-6`,children:v?(0,p.jsx)(`p`,{className:n.bodyMuted,children:`Built-in bots cannot be deleted.`}):(0,p.jsxs)(`div`,{className:`flex flex-col items-start gap-4`,children:[(0,p.jsx)(`p`,{className:n.bodyMuted,children:`Permanently removes the project, its threads, and all associated storage. This action cannot be undone.`}),(0,p.jsx)(a,{type:`button`,variant:`destructive`,onClick:()=>{h({id:m,name:b})},children:`Delete Project`})]})})]})}),t[6]=v,t[7]=m,t[8]=b,t[9]=h,t[10]=S):S=t[10],S}export{m as default};
1
+ import{n as e,t}from"./react-vendor-D61Uve5n.js";import{U as n}from"./dist-v_MvKS2-.js";import{r}from"./store-W78TGOIO.js";import{p as i}from"./utils-CqsIXqSC.js";import{t as a}from"./button-DDaJhJP1.js";import{at as o,ft as s,gt as c,lt as l,pt as u,r as d}from"./index-CcAwxnT5.js";var f=e(),p=t();function m(e){let t=(0,f.c)(11),{projectId:m}=e,h=d(),g;t[0]===m?g=t[1]:(g=e=>e.projects.find(e=>e.projectId===m),t[0]=m,t[1]=g);let _=r(g);if(!m){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,p.jsx)(s,{title:`No project selected`,children:`Please select a project from the sidebar to manage its danger zone.`}),t[2]=e):e=t[2],e}let v=_?.builtIn===!0,y;t[3]===_?y=t[4]:(y=_?i(_):``,t[3]=_,t[4]=y);let b=y,x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,p.jsx)(o,{title:`Danger Zone`,description:`Irreversible actions for this project.`,sticky:!1}),t[5]=x):x=t[5];let S;return t[6]!==v||t[7]!==m||t[8]!==b||t[9]!==h?(S=(0,p.jsx)(l,{loading:!1,children:(0,p.jsxs)(c,{className:`shrink-0`,children:[x,(0,p.jsx)(u,{className:`max-w-none pt-6`,children:v?(0,p.jsx)(`p`,{className:n.bodyMuted,children:`Built-in bots cannot be deleted.`}):(0,p.jsxs)(`div`,{className:`flex flex-col items-start gap-4`,children:[(0,p.jsx)(`p`,{className:n.bodyMuted,children:`Permanently removes the project, its threads, and all associated storage. This action cannot be undone.`}),(0,p.jsx)(a,{type:`button`,variant:`destructive`,onClick:()=>{h({id:m,name:b})},children:`Delete Project`})]})})]})}),t[6]=v,t[7]=m,t[8]=b,t[9]=h,t[10]=S):S=t[10],S}export{m as default};