@shepai/cli 1.37.3 → 1.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. package/README.md +1 -1
  2. package/dist/packages/core/src/application/use-cases/features/get-feature-artifact.use-case.d.ts +19 -0
  3. package/dist/packages/core/src/application/use-cases/features/get-feature-artifact.use-case.d.ts.map +1 -0
  4. package/dist/packages/core/src/application/use-cases/features/get-feature-artifact.use-case.js +52 -0
  5. package/dist/packages/core/src/application/use-cases/features/get-research-artifact.use-case.d.ts +19 -0
  6. package/dist/packages/core/src/application/use-cases/features/get-research-artifact.use-case.d.ts.map +1 -0
  7. package/dist/packages/core/src/application/use-cases/features/get-research-artifact.use-case.js +52 -0
  8. package/dist/packages/core/src/domain/factories/spec-yaml-parser.d.ts.map +1 -1
  9. package/dist/packages/core/src/domain/factories/spec-yaml-parser.js +3 -1
  10. package/dist/packages/core/src/domain/generated/output.d.ts +84 -0
  11. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  12. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  13. package/dist/packages/core/src/infrastructure/di/container.js +14 -2
  14. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/requirements.prompt.d.ts.map +1 -1
  15. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/requirements.prompt.js +27 -3
  16. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/research.prompt.d.ts.map +1 -1
  17. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/research.prompt.js +14 -1
  18. package/dist/packages/core/src/infrastructure/services/notifications/notification-bus.d.ts +2 -17
  19. package/dist/packages/core/src/infrastructure/services/notifications/notification-bus.d.ts.map +1 -1
  20. package/dist/packages/core/src/infrastructure/services/notifications/notification-bus.js +3 -27
  21. package/dist/src/presentation/web/app/actions/approve-feature.d.ts +5 -0
  22. package/dist/src/presentation/web/app/actions/approve-feature.d.ts.map +1 -0
  23. package/dist/src/presentation/web/app/actions/approve-feature.js +27 -0
  24. package/dist/src/presentation/web/app/actions/create-feature.d.ts +22 -0
  25. package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -0
  26. package/dist/src/presentation/web/app/actions/create-feature.js +41 -0
  27. package/dist/src/presentation/web/app/actions/delete-feature.d.ts +6 -0
  28. package/dist/src/presentation/web/app/actions/delete-feature.d.ts.map +1 -0
  29. package/dist/src/presentation/web/app/actions/delete-feature.js +16 -0
  30. package/dist/src/presentation/web/app/actions/get-feature-artifact.d.ts +10 -0
  31. package/dist/src/presentation/web/app/actions/get-feature-artifact.d.ts.map +1 -0
  32. package/dist/src/presentation/web/app/actions/get-feature-artifact.js +43 -0
  33. package/dist/src/presentation/web/app/actions/get-research-artifact.d.ts +14 -0
  34. package/dist/src/presentation/web/app/actions/get-research-artifact.d.ts.map +1 -0
  35. package/dist/src/presentation/web/app/actions/get-research-artifact.js +25 -0
  36. package/dist/src/presentation/web/app/actions/open-folder.d.ts +6 -0
  37. package/dist/src/presentation/web/app/actions/open-folder.d.ts.map +1 -0
  38. package/dist/src/presentation/web/app/actions/open-folder.js +39 -0
  39. package/dist/src/presentation/web/app/actions/open-ide.d.ts +12 -0
  40. package/dist/src/presentation/web/app/actions/open-ide.d.ts.map +1 -0
  41. package/dist/src/presentation/web/app/actions/open-ide.js +22 -0
  42. package/dist/src/presentation/web/app/actions/open-shell.d.ts +12 -0
  43. package/dist/src/presentation/web/app/actions/open-shell.d.ts.map +1 -0
  44. package/dist/src/presentation/web/app/actions/open-shell.js +45 -0
  45. package/dist/src/presentation/web/app/actions/pick-folder.d.ts +5 -0
  46. package/dist/src/presentation/web/app/actions/pick-folder.d.ts.map +1 -0
  47. package/dist/src/presentation/web/app/actions/pick-folder.js +13 -0
  48. package/dist/src/presentation/web/app/api/agent-events/route.d.ts +1 -1
  49. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  50. package/dist/src/presentation/web/app/api/agent-events/route.js +2 -9
  51. package/dist/src/presentation/web/app/api/dialog/pick-files/route.d.ts +1 -9
  52. package/dist/src/presentation/web/app/api/dialog/pick-files/route.d.ts.map +1 -1
  53. package/dist/src/presentation/web/app/api/dialog/pick-files/route.js +3 -6
  54. package/dist/src/presentation/web/app/page.d.ts.map +1 -1
  55. package/dist/src/presentation/web/app/page.js +1 -0
  56. package/dist/src/presentation/web/components/common/add-repository-node/pick-folder.d.ts +1 -1
  57. package/dist/src/presentation/web/components/common/add-repository-node/pick-folder.d.ts.map +1 -1
  58. package/dist/src/presentation/web/components/common/add-repository-node/pick-folder.js +6 -7
  59. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +1 -1
  60. package/dist/src/presentation/web/components/common/feature-create-drawer/pick-files.d.ts +1 -1
  61. package/dist/src/presentation/web/components/common/feature-create-drawer/pick-files.d.ts.map +1 -1
  62. package/dist/src/presentation/web/components/common/feature-create-drawer/pick-files.js +6 -7
  63. package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.d.ts.map +1 -1
  64. package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.js +7 -7
  65. package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.d.ts +4 -0
  66. package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.d.ts.map +1 -1
  67. package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.js +52 -14
  68. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts.map +1 -1
  69. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.js +2 -2
  70. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +2 -0
  71. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  72. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  73. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +33 -2
  74. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
  75. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +10 -0
  76. package/dist/src/presentation/web/components/common/index.d.ts +3 -0
  77. package/dist/src/presentation/web/components/common/index.d.ts.map +1 -1
  78. package/dist/src/presentation/web/components/common/index.js +3 -0
  79. package/dist/src/presentation/web/components/common/notification-permission-banner/index.d.ts +2 -0
  80. package/dist/src/presentation/web/components/common/notification-permission-banner/index.d.ts.map +1 -0
  81. package/dist/src/presentation/web/components/common/notification-permission-banner/index.js +1 -0
  82. package/dist/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.d.ts +2 -0
  83. package/dist/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.d.ts.map +1 -0
  84. package/dist/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.js +33 -0
  85. package/dist/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.stories.d.ts +6 -0
  86. package/dist/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.stories.d.ts.map +1 -0
  87. package/dist/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.stories.js +24 -0
  88. package/dist/src/presentation/web/components/common/open-action-menu/config.d.ts +10 -0
  89. package/dist/src/presentation/web/components/common/open-action-menu/config.d.ts.map +1 -0
  90. package/dist/src/presentation/web/components/common/open-action-menu/config.js +1 -0
  91. package/dist/src/presentation/web/components/common/open-action-menu/index.d.ts +3 -0
  92. package/dist/src/presentation/web/components/common/open-action-menu/index.d.ts.map +1 -0
  93. package/dist/src/presentation/web/components/common/open-action-menu/index.js +1 -0
  94. package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.d.ts +3 -0
  95. package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.d.ts.map +1 -0
  96. package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.js +18 -0
  97. package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.stories.d.ts +14 -0
  98. package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.stories.d.ts.map +1 -0
  99. package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.stories.js +54 -0
  100. package/dist/src/presentation/web/components/common/prd-questionnaire/index.d.ts +4 -0
  101. package/dist/src/presentation/web/components/common/prd-questionnaire/index.d.ts.map +1 -0
  102. package/dist/src/presentation/web/components/common/prd-questionnaire/index.js +2 -0
  103. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-config.d.ts +41 -0
  104. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-config.d.ts.map +1 -0
  105. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-config.js +1 -0
  106. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-drawer.d.ts +3 -0
  107. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-drawer.d.ts.map +1 -0
  108. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-drawer.js +7 -0
  109. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.d.ts +3 -0
  110. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.d.ts.map +1 -0
  111. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.js +42 -0
  112. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.d.ts +26 -0
  113. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.d.ts.map +1 -0
  114. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.js +267 -0
  115. package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
  116. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +2 -2
  117. package/dist/src/presentation/web/components/common/repository-node/use-repository-actions.d.ts +3 -0
  118. package/dist/src/presentation/web/components/common/repository-node/use-repository-actions.d.ts.map +1 -1
  119. package/dist/src/presentation/web/components/common/repository-node/use-repository-actions.js +51 -14
  120. package/dist/src/presentation/web/components/common/review-drawer-shell/index.d.ts +3 -0
  121. package/dist/src/presentation/web/components/common/review-drawer-shell/index.d.ts.map +1 -0
  122. package/dist/src/presentation/web/components/common/review-drawer-shell/index.js +1 -0
  123. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell-config.d.ts +24 -0
  124. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell-config.d.ts.map +1 -0
  125. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell-config.js +1 -0
  126. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.d.ts +3 -0
  127. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.d.ts.map +1 -0
  128. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.js +17 -0
  129. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.stories.d.ts +14 -0
  130. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.stories.d.ts.map +1 -0
  131. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.stories.js +33 -0
  132. package/dist/src/presentation/web/components/common/tech-decisions-review/index.d.ts +4 -0
  133. package/dist/src/presentation/web/components/common/tech-decisions-review/index.d.ts.map +1 -0
  134. package/dist/src/presentation/web/components/common/tech-decisions-review/index.js +2 -0
  135. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-drawer.d.ts +3 -0
  136. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-drawer.d.ts.map +1 -0
  137. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-drawer.js +7 -0
  138. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review-config.d.ts +39 -0
  139. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review-config.d.ts.map +1 -0
  140. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review-config.js +1 -0
  141. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.d.ts +3 -0
  142. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.d.ts.map +1 -0
  143. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.js +39 -0
  144. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.stories.d.ts +22 -0
  145. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.stories.d.ts.map +1 -0
  146. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.stories.js +108 -0
  147. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  148. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +133 -2
  149. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  150. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +28 -19
  151. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
  152. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +6 -1
  153. package/dist/src/presentation/web/components/ui/drawer.d.ts.map +1 -1
  154. package/dist/src/presentation/web/components/ui/drawer.js +3 -1
  155. package/dist/src/presentation/web/components/ui/dropdown-menu.d.ts +28 -0
  156. package/dist/src/presentation/web/components/ui/dropdown-menu.d.ts.map +1 -0
  157. package/dist/src/presentation/web/components/ui/dropdown-menu.js +33 -0
  158. package/dist/src/presentation/web/hooks/agent-events-provider.d.ts +13 -0
  159. package/dist/src/presentation/web/hooks/agent-events-provider.d.ts.map +1 -0
  160. package/dist/src/presentation/web/hooks/agent-events-provider.js +20 -0
  161. package/dist/src/presentation/web/hooks/use-agent-events.d.ts.map +1 -1
  162. package/dist/src/presentation/web/hooks/use-agent-events.js +21 -1
  163. package/dist/src/presentation/web/hooks/use-notifications.d.ts +1 -5
  164. package/dist/src/presentation/web/hooks/use-notifications.d.ts.map +1 -1
  165. package/dist/src/presentation/web/hooks/use-notifications.js +5 -10
  166. package/dist/src/presentation/web/next.config.d.ts.map +1 -1
  167. package/dist/src/presentation/web/next.config.js +5 -0
  168. package/dist/tsconfig.build.tsbuildinfo +1 -1
  169. package/package.json +2 -1
  170. package/web/.next/BUILD_ID +1 -1
  171. package/web/.next/app-path-routes-manifest.json +0 -5
  172. package/web/.next/build-manifest.json +6 -6
  173. package/web/.next/cache/.previewinfo +1 -1
  174. package/web/.next/cache/.rscinfo +1 -1
  175. package/web/.next/cache/.tsbuildinfo +1 -1
  176. package/web/.next/cache/config.json +3 -3
  177. package/web/.next/fallback-build-manifest.json +2 -2
  178. package/web/.next/prerender-manifest.json +3 -3
  179. package/web/.next/required-server-files.js +4 -4
  180. package/web/.next/required-server-files.json +4 -4
  181. package/web/.next/routes-manifest.json +1 -34
  182. package/web/.next/server/app/_global-error/page/build-manifest.json +4 -4
  183. package/web/.next/server/app/_global-error/page.js +1 -1
  184. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  185. package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  186. package/web/.next/server/app/_global-error.html +2 -2
  187. package/web/.next/server/app/_global-error.rsc +7 -7
  188. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  189. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  190. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  191. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  192. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  193. package/web/.next/server/app/_not-found/page/build-manifest.json +4 -4
  194. package/web/.next/server/app/_not-found/page.js +1 -1
  195. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  196. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  197. package/web/.next/server/app/api/agent-events/route.js +1 -1
  198. package/web/.next/server/app/api/agent-events/route.js.nft.json +1 -1
  199. package/web/.next/server/app/api/dialog/pick-files/route.js +2 -2
  200. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  201. package/web/.next/server/app/page/build-manifest.json +4 -4
  202. package/web/.next/server/app/page/server-reference-manifest.json +137 -1
  203. package/web/.next/server/app/page.js +2 -2
  204. package/web/.next/server/app/page.js.nft.json +1 -1
  205. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  206. package/web/.next/server/app/version/page/build-manifest.json +4 -4
  207. package/web/.next/server/app/version/page.js +1 -1
  208. package/web/.next/server/app/version/page.js.nft.json +1 -1
  209. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  210. package/web/.next/server/app-paths-manifest.json +0 -5
  211. package/web/.next/server/chunks/{403f9_next_567de315._.js → 403f9_next_435614de._.js} +7 -6
  212. package/web/.next/server/chunks/403f9_next_435614de._.js.map +1 -0
  213. package/web/.next/server/chunks/[externals]__ba6223e5._.js +3 -0
  214. package/web/.next/server/chunks/[root-of-the-server]__7d5c8b74._.js +6 -0
  215. package/web/.next/server/chunks/[root-of-the-server]__7d5c8b74._.js.map +1 -0
  216. package/web/.next/server/chunks/ssr/[externals]_node:path_d28a9bfe._.js +3 -0
  217. package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +12 -0
  218. package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js.map +1 -0
  219. package/web/.next/server/chunks/ssr/[root-of-the-server]__19354aea._.js +9 -0
  220. package/web/.next/server/chunks/ssr/[root-of-the-server]__19354aea._.js.map +1 -0
  221. package/web/.next/server/chunks/ssr/{[root-of-the-server]__685eaa45._.js → [root-of-the-server]__32472b89._.js} +2 -2
  222. package/web/.next/server/chunks/ssr/{[root-of-the-server]__a21ef212._.js → [root-of-the-server]__d21f0894._.js} +2 -2
  223. package/web/.next/server/chunks/ssr/[root-of-the-server]__d21f0894._.js.map +1 -0
  224. package/web/.next/server/chunks/ssr/[root-of-the-server]__e1c44885._.js +3 -0
  225. package/web/.next/server/chunks/ssr/[root-of-the-server]__f12b60be._.js +1 -1
  226. package/web/.next/server/chunks/ssr/[root-of-the-server]__f47a461b._.js +3 -0
  227. package/web/.next/server/chunks/ssr/_285de9aa._.js +3 -0
  228. package/web/.next/server/chunks/ssr/_285de9aa._.js.map +1 -0
  229. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_94d22d37._.js → server/chunks/ssr/_b1f2507a._.js} +4 -4
  230. package/web/.next/server/chunks/ssr/_b1f2507a._.js.map +1 -0
  231. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_version_version-page-client_tsx_fe9db753._.js +1 -1
  232. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_version_version-page-client_tsx_fe9db753._.js.map +1 -1
  233. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  234. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  235. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_badge_tsx_964c2a3b._.js +1 -1
  236. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_badge_tsx_964c2a3b._.js.map +1 -1
  237. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
  238. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js.map +1 -1
  239. package/web/.next/server/middleware-build-manifest.js +4 -4
  240. package/web/.next/server/pages/500.html +2 -2
  241. package/web/.next/server/server-reference-manifest.js +1 -1
  242. package/web/.next/server/server-reference-manifest.json +138 -2
  243. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  244. package/web/.next/standalone/src/presentation/web/.next/app-path-routes-manifest.json +0 -5
  245. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +6 -6
  246. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  247. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +4 -4
  248. package/web/.next/standalone/src/presentation/web/.next/routes-manifest.json +1 -34
  249. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page/build-manifest.json +4 -4
  250. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js +1 -1
  251. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  252. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  253. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  254. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +7 -7
  255. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  256. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  257. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  258. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  259. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  260. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/build-manifest.json +4 -4
  261. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js +1 -1
  262. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  263. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  264. package/web/.next/standalone/src/presentation/web/.next/server/app/api/agent-events/route.js +1 -1
  265. package/web/.next/standalone/src/presentation/web/.next/server/app/api/agent-events/route.js.nft.json +1 -1
  266. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-files/route.js +2 -2
  267. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  268. package/web/.next/standalone/src/presentation/web/.next/server/app/page/build-manifest.json +4 -4
  269. package/web/.next/standalone/src/presentation/web/.next/server/app/page/server-reference-manifest.json +137 -1
  270. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js +2 -2
  271. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js.nft.json +1 -1
  272. package/web/.next/standalone/src/presentation/web/.next/server/app/page_client-reference-manifest.js +1 -1
  273. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/build-manifest.json +4 -4
  274. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js +1 -1
  275. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  276. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  277. package/web/.next/standalone/src/presentation/web/.next/server/app-paths-manifest.json +0 -5
  278. package/web/.next/standalone/src/presentation/web/.next/server/chunks/{403f9_next_567de315._.js → 403f9_next_435614de._.js} +7 -6
  279. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[externals]__ba6223e5._.js +3 -0
  280. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__7d5c8b74._.js +6 -0
  281. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[externals]_node:path_d28a9bfe._.js +3 -0
  282. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +12 -0
  283. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__19354aea._.js +9 -0
  284. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{[root-of-the-server]__685eaa45._.js → [root-of-the-server]__32472b89._.js} +2 -2
  285. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{[root-of-the-server]__a21ef212._.js → [root-of-the-server]__d21f0894._.js} +2 -2
  286. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__e1c44885._.js +3 -0
  287. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f12b60be._.js +1 -1
  288. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f47a461b._.js +3 -0
  289. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_285de9aa._.js +3 -0
  290. package/web/.next/{server/chunks/ssr/_94d22d37._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_b1f2507a._.js} +4 -4
  291. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_version_version-page-client_tsx_fe9db753._.js +1 -1
  292. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  293. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_ui_badge_tsx_964c2a3b._.js +1 -1
  294. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
  295. package/web/.next/standalone/src/presentation/web/.next/server/middleware-build-manifest.js +4 -4
  296. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  297. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  298. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +138 -2
  299. package/web/.next/standalone/src/presentation/web/app/actions/approve-feature.ts +38 -0
  300. package/web/.next/standalone/src/presentation/web/app/actions/create-feature.ts +81 -0
  301. package/web/.next/standalone/src/presentation/web/app/actions/delete-feature.ts +22 -0
  302. package/web/.next/standalone/src/presentation/web/app/actions/get-feature-artifact.ts +55 -0
  303. package/web/.next/standalone/src/presentation/web/app/actions/get-research-artifact.ts +42 -0
  304. package/web/.next/standalone/src/presentation/web/app/actions/open-folder.ts +44 -0
  305. package/web/.next/standalone/src/presentation/web/app/actions/open-ide.ts +37 -0
  306. package/web/.next/standalone/src/presentation/web/app/{api/shell/open/route.ts → actions/open-shell.ts} +19 -27
  307. package/web/.next/standalone/src/presentation/web/app/{api/dialog/pick-folder/route.ts → actions/pick-folder.ts} +5 -9
  308. package/web/.next/standalone/src/presentation/web/app/api/agent-events/route.ts +2 -14
  309. package/web/.next/standalone/src/presentation/web/app/api/dialog/pick-files/route.ts +8 -10
  310. package/web/.next/standalone/src/presentation/web/app/globals.css +10 -0
  311. package/web/.next/standalone/src/presentation/web/app/page.tsx +1 -0
  312. package/web/.next/standalone/src/presentation/web/components/common/add-repository-node/pick-folder.ts +7 -7
  313. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.tsx +1 -1
  314. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/pick-files.ts +6 -7
  315. package/web/.next/standalone/src/presentation/web/components/common/feature-drawer/feature-drawer.tsx +15 -19
  316. package/web/.next/standalone/src/presentation/web/components/common/feature-drawer/use-feature-actions.ts +61 -17
  317. package/web/.next/standalone/src/presentation/web/components/common/feature-node/agent-type-icons.tsx +10 -2
  318. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node-state-config.ts +2 -0
  319. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.stories.tsx +10 -0
  320. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.tsx +38 -7
  321. package/web/.next/standalone/src/presentation/web/components/common/index.ts +18 -0
  322. package/web/.next/standalone/src/presentation/web/components/common/notification-permission-banner/index.ts +1 -0
  323. package/web/.next/standalone/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.stories.tsx +52 -0
  324. package/web/.next/standalone/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.tsx +55 -0
  325. package/web/.next/standalone/src/presentation/web/components/common/open-action-menu/config.ts +10 -0
  326. package/web/.next/standalone/src/presentation/web/components/common/open-action-menu/index.ts +2 -0
  327. package/web/.next/standalone/src/presentation/web/components/common/open-action-menu/open-action-menu.stories.tsx +64 -0
  328. package/web/.next/standalone/src/presentation/web/components/common/open-action-menu/open-action-menu.tsx +111 -0
  329. package/web/.next/standalone/src/presentation/web/components/common/prd-questionnaire/index.ts +10 -0
  330. package/web/.next/standalone/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-config.ts +48 -0
  331. package/web/.next/standalone/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-drawer.tsx +34 -0
  332. package/web/.next/standalone/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.tsx +384 -0
  333. package/web/.next/standalone/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.tsx +216 -0
  334. package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-node.tsx +20 -1
  335. package/web/.next/standalone/src/presentation/web/components/common/repository-node/use-repository-actions.ts +83 -20
  336. package/web/.next/standalone/src/presentation/web/components/common/review-drawer-shell/index.ts +2 -0
  337. package/web/.next/standalone/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell-config.ts +24 -0
  338. package/web/.next/standalone/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.stories.tsx +85 -0
  339. package/web/.next/standalone/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.tsx +139 -0
  340. package/web/.next/standalone/src/presentation/web/components/common/tech-decisions-review/index.ts +8 -0
  341. package/web/.next/standalone/src/presentation/web/components/common/tech-decisions-review/tech-decisions-drawer.tsx +34 -0
  342. package/web/.next/standalone/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review-config.ts +42 -0
  343. package/web/.next/standalone/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.stories.tsx +177 -0
  344. package/web/.next/standalone/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.tsx +188 -0
  345. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +189 -2
  346. package/web/.next/standalone/src/presentation/web/components/features/control-center/use-control-center-state.ts +28 -19
  347. package/web/.next/standalone/src/presentation/web/components/layouts/app-shell/app-shell.tsx +11 -1
  348. package/web/.next/standalone/src/presentation/web/components/ui/drawer.tsx +4 -2
  349. package/web/.next/standalone/src/presentation/web/components/ui/dropdown-menu.tsx +187 -0
  350. package/web/.next/standalone/src/presentation/web/hooks/agent-events-provider.tsx +32 -0
  351. package/web/.next/standalone/src/presentation/web/hooks/use-agent-events.ts +23 -1
  352. package/web/.next/standalone/src/presentation/web/hooks/use-notifications.ts +5 -16
  353. package/web/.next/standalone/src/presentation/web/next.config.ts +6 -0
  354. package/web/.next/standalone/src/presentation/web/package.json +2 -1
  355. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  356. package/web/.next/static/chunks/{70993ebedee7eab0.js → 084314470f2144d2.js} +1 -1
  357. package/web/.next/static/chunks/36bb03a0314fb990.css +2 -0
  358. package/web/.next/static/chunks/83ff3b6bbee54bce.js +1 -0
  359. package/web/.next/static/chunks/{fe5e04e707adb039.js → 8c0b96eb95dd31a9.js} +1 -1
  360. package/web/.next/static/chunks/{df7d29673e0ac11d.js → b13aa397579082e7.js} +1 -1
  361. package/web/.next/static/chunks/{f3b4460b1496ef52.js → cfe4dc9904fcfddb.js} +1 -1
  362. package/web/.next/static/chunks/e21d644e5a584136.js +1 -0
  363. package/web/.next/static/chunks/eca1959e083d0a45.js +10 -0
  364. package/web/.next/static/chunks/f9519a5c455143e6.js +1 -0
  365. package/web/.next/static/chunks/{c4b1e95eceaa36ca.js → fe6427c156bda6b0.js} +2 -2
  366. package/web/.next/static/chunks/{37bc3e283f734dca.js → fe70e73feb07bcfd.js} +1 -1
  367. package/web/.next/static/chunks/{turbopack-a5a88a85e7ac8e8d.js → turbopack-35ff53de4dab1e56.js} +2 -2
  368. package/web/.next/trace +1 -1
  369. package/web/.next/trace-build +1 -1
  370. package/web/.next/types/link.d.ts +1 -6
  371. package/web/.next/types/routes.d.ts +1 -6
  372. package/web/.next/types/validator.ts +0 -45
  373. package/web/package.json +2 -1
  374. package/dist/src/presentation/web/app/api/dialog/pick-folder/route.d.ts +0 -11
  375. package/dist/src/presentation/web/app/api/dialog/pick-folder/route.d.ts.map +0 -1
  376. package/dist/src/presentation/web/app/api/dialog/pick-folder/route.js +0 -16
  377. package/dist/src/presentation/web/app/api/features/[id]/route.d.ts +0 -11
  378. package/dist/src/presentation/web/app/api/features/[id]/route.d.ts.map +0 -1
  379. package/dist/src/presentation/web/app/api/features/[id]/route.js +0 -17
  380. package/dist/src/presentation/web/app/api/features/create/route.d.ts +0 -5
  381. package/dist/src/presentation/web/app/api/features/create/route.d.ts.map +0 -1
  382. package/dist/src/presentation/web/app/api/features/create/route.js +0 -65
  383. package/dist/src/presentation/web/app/api/ide/open/route.d.ts +0 -9
  384. package/dist/src/presentation/web/app/api/ide/open/route.d.ts.map +0 -1
  385. package/dist/src/presentation/web/app/api/ide/open/route.js +0 -36
  386. package/dist/src/presentation/web/app/api/shell/open/route.d.ts +0 -9
  387. package/dist/src/presentation/web/app/api/shell/open/route.d.ts.map +0 -1
  388. package/dist/src/presentation/web/app/api/shell/open/route.js +0 -57
  389. package/dist/src/presentation/web/app/api/validate-toolbar-input.d.ts +0 -18
  390. package/dist/src/presentation/web/app/api/validate-toolbar-input.d.ts.map +0 -1
  391. package/dist/src/presentation/web/app/api/validate-toolbar-input.js +0 -29
  392. package/web/.next/server/app/api/dialog/pick-folder/route/app-paths-manifest.json +0 -3
  393. package/web/.next/server/app/api/dialog/pick-folder/route/build-manifest.json +0 -11
  394. package/web/.next/server/app/api/dialog/pick-folder/route/server-reference-manifest.json +0 -4
  395. package/web/.next/server/app/api/dialog/pick-folder/route.js +0 -7
  396. package/web/.next/server/app/api/dialog/pick-folder/route.js.map +0 -5
  397. package/web/.next/server/app/api/dialog/pick-folder/route.js.nft.json +0 -1
  398. package/web/.next/server/app/api/dialog/pick-folder/route_client-reference-manifest.js +0 -2
  399. package/web/.next/server/app/api/features/[id]/route/app-paths-manifest.json +0 -3
  400. package/web/.next/server/app/api/features/[id]/route/build-manifest.json +0 -11
  401. package/web/.next/server/app/api/features/[id]/route/server-reference-manifest.json +0 -4
  402. package/web/.next/server/app/api/features/[id]/route.js +0 -7
  403. package/web/.next/server/app/api/features/[id]/route.js.map +0 -5
  404. package/web/.next/server/app/api/features/[id]/route.js.nft.json +0 -1
  405. package/web/.next/server/app/api/features/[id]/route_client-reference-manifest.js +0 -2
  406. package/web/.next/server/app/api/features/create/route/app-paths-manifest.json +0 -3
  407. package/web/.next/server/app/api/features/create/route/build-manifest.json +0 -11
  408. package/web/.next/server/app/api/features/create/route/server-reference-manifest.json +0 -4
  409. package/web/.next/server/app/api/features/create/route.js +0 -7
  410. package/web/.next/server/app/api/features/create/route.js.map +0 -5
  411. package/web/.next/server/app/api/features/create/route.js.nft.json +0 -1
  412. package/web/.next/server/app/api/features/create/route_client-reference-manifest.js +0 -2
  413. package/web/.next/server/app/api/ide/open/route/app-paths-manifest.json +0 -3
  414. package/web/.next/server/app/api/ide/open/route/build-manifest.json +0 -11
  415. package/web/.next/server/app/api/ide/open/route/server-reference-manifest.json +0 -4
  416. package/web/.next/server/app/api/ide/open/route.js +0 -7
  417. package/web/.next/server/app/api/ide/open/route.js.map +0 -5
  418. package/web/.next/server/app/api/ide/open/route.js.nft.json +0 -1
  419. package/web/.next/server/app/api/ide/open/route_client-reference-manifest.js +0 -2
  420. package/web/.next/server/app/api/shell/open/route/app-paths-manifest.json +0 -3
  421. package/web/.next/server/app/api/shell/open/route/build-manifest.json +0 -11
  422. package/web/.next/server/app/api/shell/open/route/server-reference-manifest.json +0 -4
  423. package/web/.next/server/app/api/shell/open/route.js +0 -7
  424. package/web/.next/server/app/api/shell/open/route.js.map +0 -5
  425. package/web/.next/server/app/api/shell/open/route.js.nft.json +0 -1
  426. package/web/.next/server/app/api/shell/open/route_client-reference-manifest.js +0 -2
  427. package/web/.next/server/chunks/403f9_next_567de315._.js.map +0 -1
  428. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_dialog_pick-folder_route_actions_375ed12f.js +0 -3
  429. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_features_[id]_route_actions_03b9a4b5.js +0 -3
  430. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_features_create_route_actions_de49a114.js +0 -3
  431. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_features_create_route_actions_de49a114.js.map +0 -1
  432. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_shell_open_route_actions_814dc5b6.js +0 -3
  433. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_shell_open_route_actions_814dc5b6.js.map +0 -1
  434. package/web/.next/server/chunks/[root-of-the-server]__04ae3a77._.js +0 -3
  435. package/web/.next/server/chunks/[root-of-the-server]__04ae3a77._.js.map +0 -1
  436. package/web/.next/server/chunks/[root-of-the-server]__3d63a020._.js +0 -8
  437. package/web/.next/server/chunks/[root-of-the-server]__3d63a020._.js.map +0 -1
  438. package/web/.next/server/chunks/[root-of-the-server]__a6bf88cc._.js +0 -4
  439. package/web/.next/server/chunks/[root-of-the-server]__a6bf88cc._.js.map +0 -1
  440. package/web/.next/server/chunks/[root-of-the-server]__acfd2769._.js +0 -3
  441. package/web/.next/server/chunks/[root-of-the-server]__acfd2769._.js.map +0 -1
  442. package/web/.next/server/chunks/[root-of-the-server]__ec87d735._.js +0 -3
  443. package/web/.next/server/chunks/[root-of-the-server]__ec87d735._.js.map +0 -1
  444. package/web/.next/server/chunks/[root-of-the-server]__ecaf05bc._.js +0 -3
  445. package/web/.next/server/chunks/[root-of-the-server]__ecaf05bc._.js.map +0 -1
  446. package/web/.next/server/chunks/[root-of-the-server]__f32c280c._.js +0 -3
  447. package/web/.next/server/chunks/[root-of-the-server]__f32c280c._.js.map +0 -1
  448. package/web/.next/server/chunks/b1a17_presentation_web__next-internal_server_app_api_ide_open_route_actions_9fe6e1cd.js +0 -3
  449. package/web/.next/server/chunks/b1a17_presentation_web__next-internal_server_app_api_ide_open_route_actions_9fe6e1cd.js.map +0 -1
  450. package/web/.next/server/chunks/ssr/[root-of-the-server]__1eade43f._.js +0 -3
  451. package/web/.next/server/chunks/ssr/[root-of-the-server]__1eade43f._.js.map +0 -1
  452. package/web/.next/server/chunks/ssr/[root-of-the-server]__97377864._.js +0 -3
  453. package/web/.next/server/chunks/ssr/[root-of-the-server]__a21ef212._.js.map +0 -1
  454. package/web/.next/server/chunks/ssr/[root-of-the-server]__f285e474._.js +0 -3
  455. package/web/.next/server/chunks/ssr/_09afa42a._.js +0 -10
  456. package/web/.next/server/chunks/ssr/_09afa42a._.js.map +0 -1
  457. package/web/.next/server/chunks/ssr/_4676cf52._.js +0 -3
  458. package/web/.next/server/chunks/ssr/_4676cf52._.js.map +0 -1
  459. package/web/.next/server/chunks/ssr/_94d22d37._.js.map +0 -1
  460. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_a4e3cb6f.js +0 -3
  461. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_a4e3cb6f.js.map +0 -1
  462. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-folder/route/app-paths-manifest.json +0 -3
  463. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-folder/route/build-manifest.json +0 -11
  464. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-folder/route/server-reference-manifest.json +0 -4
  465. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-folder/route.js +0 -7
  466. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-folder/route.js.map +0 -5
  467. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-folder/route.js.nft.json +0 -1
  468. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-folder/route_client-reference-manifest.js +0 -2
  469. package/web/.next/standalone/src/presentation/web/.next/server/app/api/features/[id]/route/app-paths-manifest.json +0 -3
  470. package/web/.next/standalone/src/presentation/web/.next/server/app/api/features/[id]/route/build-manifest.json +0 -11
  471. package/web/.next/standalone/src/presentation/web/.next/server/app/api/features/[id]/route/server-reference-manifest.json +0 -4
  472. package/web/.next/standalone/src/presentation/web/.next/server/app/api/features/[id]/route.js +0 -7
  473. package/web/.next/standalone/src/presentation/web/.next/server/app/api/features/[id]/route.js.map +0 -5
  474. package/web/.next/standalone/src/presentation/web/.next/server/app/api/features/[id]/route.js.nft.json +0 -1
  475. package/web/.next/standalone/src/presentation/web/.next/server/app/api/features/[id]/route_client-reference-manifest.js +0 -2
  476. package/web/.next/standalone/src/presentation/web/.next/server/app/api/features/create/route/app-paths-manifest.json +0 -3
  477. package/web/.next/standalone/src/presentation/web/.next/server/app/api/features/create/route/build-manifest.json +0 -11
  478. package/web/.next/standalone/src/presentation/web/.next/server/app/api/features/create/route/server-reference-manifest.json +0 -4
  479. package/web/.next/standalone/src/presentation/web/.next/server/app/api/features/create/route.js +0 -7
  480. package/web/.next/standalone/src/presentation/web/.next/server/app/api/features/create/route.js.map +0 -5
  481. package/web/.next/standalone/src/presentation/web/.next/server/app/api/features/create/route.js.nft.json +0 -1
  482. package/web/.next/standalone/src/presentation/web/.next/server/app/api/features/create/route_client-reference-manifest.js +0 -2
  483. package/web/.next/standalone/src/presentation/web/.next/server/app/api/ide/open/route/app-paths-manifest.json +0 -3
  484. package/web/.next/standalone/src/presentation/web/.next/server/app/api/ide/open/route/build-manifest.json +0 -11
  485. package/web/.next/standalone/src/presentation/web/.next/server/app/api/ide/open/route/server-reference-manifest.json +0 -4
  486. package/web/.next/standalone/src/presentation/web/.next/server/app/api/ide/open/route.js +0 -7
  487. package/web/.next/standalone/src/presentation/web/.next/server/app/api/ide/open/route.js.map +0 -5
  488. package/web/.next/standalone/src/presentation/web/.next/server/app/api/ide/open/route.js.nft.json +0 -1
  489. package/web/.next/standalone/src/presentation/web/.next/server/app/api/ide/open/route_client-reference-manifest.js +0 -2
  490. package/web/.next/standalone/src/presentation/web/.next/server/app/api/shell/open/route/app-paths-manifest.json +0 -3
  491. package/web/.next/standalone/src/presentation/web/.next/server/app/api/shell/open/route/build-manifest.json +0 -11
  492. package/web/.next/standalone/src/presentation/web/.next/server/app/api/shell/open/route/server-reference-manifest.json +0 -4
  493. package/web/.next/standalone/src/presentation/web/.next/server/app/api/shell/open/route.js +0 -7
  494. package/web/.next/standalone/src/presentation/web/.next/server/app/api/shell/open/route.js.map +0 -5
  495. package/web/.next/standalone/src/presentation/web/.next/server/app/api/shell/open/route.js.nft.json +0 -1
  496. package/web/.next/standalone/src/presentation/web/.next/server/app/api/shell/open/route_client-reference-manifest.js +0 -2
  497. package/web/.next/standalone/src/presentation/web/.next/server/chunks/744ca_web__next-internal_server_app_api_dialog_pick-folder_route_actions_375ed12f.js +0 -3
  498. package/web/.next/standalone/src/presentation/web/.next/server/chunks/744ca_web__next-internal_server_app_api_features_[id]_route_actions_03b9a4b5.js +0 -3
  499. package/web/.next/standalone/src/presentation/web/.next/server/chunks/744ca_web__next-internal_server_app_api_features_create_route_actions_de49a114.js +0 -3
  500. package/web/.next/standalone/src/presentation/web/.next/server/chunks/744ca_web__next-internal_server_app_api_shell_open_route_actions_814dc5b6.js +0 -3
  501. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__04ae3a77._.js +0 -3
  502. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__3d63a020._.js +0 -8
  503. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__a6bf88cc._.js +0 -4
  504. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__acfd2769._.js +0 -3
  505. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__ec87d735._.js +0 -3
  506. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__ecaf05bc._.js +0 -3
  507. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__f32c280c._.js +0 -3
  508. package/web/.next/standalone/src/presentation/web/.next/server/chunks/b1a17_presentation_web__next-internal_server_app_api_ide_open_route_actions_9fe6e1cd.js +0 -3
  509. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__1eade43f._.js +0 -3
  510. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__97377864._.js +0 -3
  511. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f285e474._.js +0 -3
  512. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_09afa42a._.js +0 -10
  513. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_4676cf52._.js +0 -3
  514. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_a4e3cb6f.js +0 -3
  515. package/web/.next/standalone/src/presentation/web/app/api/features/[id]/route.ts +0 -20
  516. package/web/.next/standalone/src/presentation/web/app/api/features/create/route.ts +0 -103
  517. package/web/.next/standalone/src/presentation/web/app/api/ide/open/route.ts +0 -44
  518. package/web/.next/standalone/src/presentation/web/app/api/validate-toolbar-input.ts +0 -46
  519. package/web/.next/static/chunks/54743561bbaa307a.js +0 -8
  520. package/web/.next/static/chunks/74f27128e5fbfe52.css +0 -2
  521. package/web/.next/static/chunks/9993505b2a26c454.js +0 -1
  522. package/web/.next/static/chunks/c95b4cf170b7f301.js +0 -1
  523. package/web/.next/static/chunks/e78d1b265b8110c3.js +0 -1
  524. /package/web/.next/server/chunks/{744ca_web__next-internal_server_app_api_dialog_pick-folder_route_actions_375ed12f.js.map → [externals]__ba6223e5._.js.map} +0 -0
  525. /package/web/.next/server/chunks/{744ca_web__next-internal_server_app_api_features_[id]_route_actions_03b9a4b5.js.map → ssr/[externals]_node:path_d28a9bfe._.js.map} +0 -0
  526. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__685eaa45._.js.map → [root-of-the-server]__32472b89._.js.map} +0 -0
  527. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__f285e474._.js.map → [root-of-the-server]__e1c44885._.js.map} +0 -0
  528. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__97377864._.js.map → [root-of-the-server]__f47a461b._.js.map} +0 -0
  529. /package/web/.next/static/{O1yesm5Dga4m8eBi7EwM0 → yvV-GEMagQiZhZAF0YqQs}/_buildManifest.js +0 -0
  530. /package/web/.next/static/{O1yesm5Dga4m8eBi7EwM0 → yvV-GEMagQiZhZAF0YqQs}/_clientMiddlewareManifest.json +0 -0
  531. /package/web/.next/static/{O1yesm5Dga4m8eBi7EwM0 → yvV-GEMagQiZhZAF0YqQs}/_ssgManifest.js +0 -0
@@ -1,2 +0,0 @@
1
- .react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-border-default:1px solid #bbb;--xy-node-border-selected-default:1px solid #555;--xy-handle-background-color-default:#333;--xy-selection-background-color-default:#9696b41a;--xy-selection-border-default:1px dotted #9b9b9bcc;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));min-width:5px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{justify-content:center;align-items:center;width:26px;height:26px;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border:var(--xy-node-border,var(--xy-node-border-default));color:var(--xy-node-color,var(--xy-node-color-default))}.react-flow__node-input.selected,.react-flow__node-input:focus,.react-flow__node-input:focus-visible,.react-flow__node-default.selected,.react-flow__node-default:focus,.react-flow__node-default:focus-visible,.react-flow__node-output.selected,.react-flow__node-output:focus,.react-flow__node-output:focus-visible,.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible{border:var(--xy-node-border-selected,var(--xy-node-border-selected-default));outline:none}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-space-x-reverse:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--color-red-50:#fef2f2;--color-red-500:#fb2c36;--color-red-600:#e40014;--color-red-700:#bf000f;--color-amber-50:#fffbeb;--color-amber-500:#f99c00;--color-amber-700:#b75000;--color-emerald-50:#ecfdf5;--color-emerald-500:#00bb7f;--color-emerald-600:#009767;--color-emerald-700:#007956;--color-cyan-400:#00d2ef;--color-blue-50:#eff6ff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-blue-700:#1447e6;--color-indigo-400:#7d87ff;--color-violet-400:#a685ff;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-400:#99a1af;--color-gray-600:#4a5565;--color-zinc-100:#f4f4f5;--color-zinc-200:#e4e4e7;--color-zinc-400:#9f9fa9;--color-zinc-500:#71717b;--color-zinc-800:#27272a;--color-zinc-900:#18181b;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--animate-accordion-down:accordion-down .2s ease-out;--animate-accordion-up:accordion-up .2s ease-out;--color-background:#fff;--color-foreground:#0a0a0a;--color-primary:#3b82f6;--color-primary-foreground:#fff;--color-secondary:#f1f5f9;--color-secondary-foreground:#0f172a;--color-muted:#f1f5f9;--color-muted-foreground:#64748b;--color-accent:#f1f5f9;--color-accent-foreground:#0f172a;--color-destructive:#ef4444;--color-destructive-foreground:#fff;--color-border:#e2e8f0;--color-input:#e2e8f0;--color-ring:#3b82f6;--color-card:#fff;--color-card-foreground:#0a0a0a;--color-popover:#fff;--color-popover-foreground:#0a0a0a;--radius-full:9999px;--animate-spinner:spinner .8s linear infinite;--animate-indeterminate-progress:indeterminate-progress 1.5s ease-in-out infinite}@supports (color:lab(0% 0 0)){:root,:host{--color-red-50:lab(96.5005% 4.18508 1.52328);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-amber-50:lab(98.6252% -.635922 8.42309);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-amber-700:lab(47.2709% 42.9082 69.2966);--color-emerald-50:lab(97.8462% -6.94966 1.85487);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-emerald-700:lab(44.4871% -41.0396 11.0361);--color-cyan-400:lab(76.6045% -40.9406 -29.6231);--color-blue-50:lab(96.492% -1.14644 -5.11479);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-blue-700:lab(36.9089% 35.0961 -85.6872);--color-indigo-400:lab(59.866% 22.4834 -64.4485);--color-violet-400:lab(62.8239% 34.9159 -60.0512);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-600:lab(35.6337% -1.58697 -10.8425);--color-zinc-100:lab(96.1634% .0993311 -.364041);--color-zinc-200:lab(90.6853% .399232 -1.45452);--color-zinc-400:lab(65.6464% 1.53497 -5.42429);--color-zinc-500:lab(47.8878% 1.65477 -5.77283);--color-zinc-800:lab(15.7305% .613764 -2.16959);--color-zinc-900:lab(8.30603% .618205 -2.16572)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--color-border);outline-color:#3b82f680}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab,var(--color-ring)50%,transparent)}}body{background-color:var(--color-background);color:var(--color-foreground)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing)*3)}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-4{top:calc(var(--spacing)*4)}.top-8{top:calc(var(--spacing)*8)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-8{left:calc(var(--spacing)*8)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.my-1{margin-block:calc(var(--spacing)*1)}.-mt-1{margin-top:calc(var(--spacing)*-1)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-0\.75{margin-top:calc(var(--spacing)*.75)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-24{margin-top:calc(var(--spacing)*24)}.mt-auto{margin-top:auto}.-mr-1{margin-right:calc(var(--spacing)*-1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-24{margin-bottom:calc(var(--spacing)*24)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.size-16{width:calc(var(--spacing)*16);height:calc(var(--spacing)*16)}.size-full{width:100%;height:100%}.h-0\!{height:calc(var(--spacing)*0)!important}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-32{height:calc(var(--spacing)*32)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-96{max-height:calc(var(--spacing)*96)}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-35{min-height:calc(var(--spacing)*35)}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0\!{width:calc(var(--spacing)*0)!important}.w-1\/3{width:33.3333%}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\[180px\]{width:180px}.w-\[280px\]{width:280px}.w-\[350px\]{width:350px}.w-\[400px\]{width:400px}.w-\[420px\]{width:420px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-4{min-width:calc(var(--spacing)*4)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-indeterminate-progress{animation:var(--animate-indeterminate-progress)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.animate-spinner{animation:var(--animate-spinner)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0\!{border-style:var(--tw-border-style)!important;border-width:0!important}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border{border-color:var(--color-border)}.border-destructive\/50{border-color:#ef444480}@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab,var(--color-destructive)50%,transparent)}}.border-input{border-color:var(--color-input)}.border-muted-foreground\/30{border-color:#64748b4d}@supports (color:color-mix(in lab, red, red)){.border-muted-foreground\/30{border-color:color-mix(in oklab,var(--color-muted-foreground)30%,transparent)}}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-amber-500{border-left-color:var(--color-amber-500)}.border-l-blue-500{border-left-color:var(--color-blue-500)}.border-l-emerald-500{border-left-color:var(--color-emerald-500)}.border-l-gray-400{border-left-color:var(--color-gray-400)}.border-l-red-500{border-left-color:var(--color-red-500)}.border-l-transparent{border-left-color:#0000}.bg-accent{background-color:var(--color-accent)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-background{background-color:var(--color-background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-destructive{background-color:var(--color-destructive)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.bg-foreground{background-color:var(--color-foreground)}.bg-foreground\/30{background-color:#0a0a0a4d}@supports (color:color-mix(in lab, red, red)){.bg-foreground\/30{background-color:color-mix(in oklab,var(--color-foreground)30%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-muted{background-color:var(--color-muted)}.bg-muted\/30{background-color:#f1f5f94d}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--color-muted)30%,transparent)}}.bg-muted\/50{background-color:#f1f5f980}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--color-muted)50%,transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-secondary{background-color:var(--color-secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent{background-color:var(--sidebar-accent)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-transparent\!{background-color:#0000!important}.bg-zinc-900{background-color:var(--color-zinc-900)}.\[background-image\:radial-gradient\(circle\,_var\(--color-border\)_1px\,_transparent_1px\)\]{background-image:radial-gradient(circle,var(--color-border)1px,transparent 1px)}.\[background-size\:24px_24px\]{background-size:24px 24px}.fill-foreground{fill:var(--color-foreground)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-6{padding-left:calc(var(--spacing)*6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent-foreground{color:var(--color-accent-foreground)}.text-amber-500{color:var(--color-amber-500)}.text-amber-700{color:var(--color-amber-700)}.text-background{color:var(--color-background)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-card-foreground{color:var(--color-card-foreground)}.text-current{color:currentColor}.text-cyan-400{color:var(--color-cyan-400)}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground{color:var(--color-foreground)}.text-gray-400{color:var(--color-gray-400)}.text-gray-600{color:var(--color-gray-600)}.text-indigo-400{color:var(--color-indigo-400)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-muted-foreground\/60{color:#64748b99}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--color-muted-foreground)60%,transparent)}}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-sidebar-accent-foreground{color:var(--sidebar-accent-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.text-zinc-100{color:var(--color-zinc-100)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.uppercase{text-transform:uppercase}.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,)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-0\!{opacity:0!important}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm,.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-primary{--tw-ring-color:var(--color-primary)}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)}.group-data-\[collapsible\=icon\]\:justify-center:is(:where(.group)[data-collapsible=icon] *){justify-content:center}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius-lg)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-\[\.toast\]\:bg-muted:is(:where(.group).toast *){background-color:var(--color-muted)}.group-\[\.toast\]\:bg-primary:is(:where(.group).toast *){background-color:var(--color-primary)}.group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *){color:var(--color-muted-foreground)}.group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *){color:var(--color-primary-foreground)}.group-\[\.toaster\]\:border-border:is(:where(.group).toaster *){border-color:var(--color-border)}.group-\[\.toaster\]\:bg-background:is(:where(.group).toaster *){background-color:var(--color-background)}.group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *){color:var(--color-foreground)}.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-primary-foreground ::selection{color:var(--color-primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--color-primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}@media (hover:hover){.hover\:border-blue-500:hover{border-color:var(--color-blue-500)}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-accent\/50:hover{background-color:#f1f5f980}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--color-accent)50%,transparent)}}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-destructive\/80:hover{background-color:#ef4444cc}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab,var(--color-destructive)80%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:#ef4444e6}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive)90%,transparent)}}.hover\:bg-muted\/80:hover{background-color:#f1f5f9cc}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/80:hover{background-color:color-mix(in oklab,var(--color-muted)80%,transparent)}}.hover\:bg-primary\/80:hover{background-color:#3b82f6cc}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--color-primary)80%,transparent)}}.hover\:bg-primary\/90:hover{background-color:#3b82f6e6}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:#f1f5f9cc}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary)80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:text-blue-500:hover{color:var(--color-blue-500)}.hover\:text-destructive:hover{color:var(--color-destructive)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:text-zinc-200:hover{color:var(--color-zinc-200)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--color-ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:#ef444433}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-destructive)20%,transparent)}}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:#3b82f680}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-ring)50%,transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-6:has([data-slot=alert-dialog-media]){-moz-column-gap:calc(var(--spacing)*6);column-gap:calc(var(--spacing)*6)}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing)*1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:#ef444433}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--color-destructive)20%,transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--color-background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--color-foreground)}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--color-primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--color-primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--color-primary-foreground)}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:var(--animate-accordion-up)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.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:calc(1/2*-100%)}.data-\[state\=closed\]\:slide-out-to-right[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:calc(48%*-1)}.data-\[state\=indeterminate\]\:border-primary[data-state=indeterminate]{border-color:var(--color-primary)}.data-\[state\=indeterminate\]\:bg-primary[data-state=indeterminate]{background-color:var(--color-primary)}.data-\[state\=indeterminate\]\:text-primary-foreground[data-state=indeterminate]{color:var(--color-primary-foreground)}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:var(--animate-accordion-down)}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--color-secondary)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.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:calc(1/2*-100%)}.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:calc(48%*-1)}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-indeterminate-progress{animation:var(--animate-indeterminate-progress)}}@media (min-width:40rem){.sm\:flex{display:flex}.sm\:max-w-96{max-width:calc(var(--spacing)*96)}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:text-left{text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[size\=default\]\:sm\:max-w-lg[data-size=default]{max-width:var(--container-lg)}}@media (min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:var(--radius-xl)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing)*2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:scale-0:is(.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:scale-100:is(.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:-rotate-90:is(.dark *){rotate:-90deg}.dark\:rotate-0:is(.dark *){rotate:none}.dark\:border-destructive:is(.dark *){border-color:var(--color-destructive)}.dark\:border-input:is(.dark *){border-color:var(--color-input)}.dark\:bg-destructive\/60:is(.dark *){background-color:#ef444499}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--color-destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:#e2e8f04d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-input)30%,transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:#f1f5f980}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:#e2e8f080}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:#ef444466}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:#ef444466}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--color-destructive)40%,transparent)}}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--color-primary)}.\[\&_\[data-sidebar\=group-label\]\]\:\!mt-0 [data-sidebar=group-label]{margin-top:calc(var(--spacing)*0)!important}.\[\&_\[data-sidebar\=group-label\]\]\:\!opacity-100 [data-sidebar=group-label]{opacity:1!important}.\[\&_\[data-sidebar\=group-label\]\]\:\!transition-none [data-sidebar=group-label]{transition-property:none!important}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-8>*):is(svg:not([class*=size-])){width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing)*4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing)*4)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:var(--color-destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--color-foreground)}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing)*7)}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.dark{--color-background:#0a0a0a;--color-foreground:#fafafa;--color-primary:#3b82f6;--color-primary-foreground:#fff;--color-secondary:#1e293b;--color-secondary-foreground:#f8fafc;--color-muted:#1e293b;--color-muted-foreground:#94a3b8;--color-accent:#1e293b;--color-accent-foreground:#f8fafc;--color-destructive:#dc2626;--color-destructive-foreground:#fff;--color-border:#1e293b;--color-input:#1e293b;--color-ring:#3b82f6;--color-card:#0a0a0a;--color-card-foreground:#fafafa;--color-popover:#0a0a0a;--color-popover-foreground:#fafafa}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}to{height:0}}@keyframes spinner{to{transform:rotate(1turn)}}@keyframes indeterminate-progress{0%{transform:translate(-100%)}50%{transform:translate(200%)}to{transform:translate(400%)}}:root{--sidebar:var(--color-background);--sidebar-foreground:var(--color-foreground);--sidebar-primary:var(--color-primary);--sidebar-primary-foreground:var(--color-primary-foreground);--sidebar-accent:var(--color-accent);--sidebar-accent-foreground:var(--color-accent-foreground);--sidebar-border:var(--color-border);--sidebar-ring:var(--color-ring)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@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));filter:blur(var(--tw-enter-blur,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));filter:blur(var(--tw-exit-blur,0))}}
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24270,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},66033,e=>{"use strict";var r=e.i(79054);e.i(20314);var t=r.createContext(void 0);function n(e){let n=r.useContext(t);return e||n||"ltr"}e.s(["useDirection",()=>n])},87292,e=>{"use strict";var r,t,n,o,i,a,l,s,c,u,d,p,f,h,v,m,g,w,b,S,x,C,R,y,T=e.i(20314),E=e.i(79054),P=e.i(57638),j=e.i(31406),A=e.i(3645);let N=(0,A.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]),k=(0,A.default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);var D=e.i(3214),L=e.i(87620),_=e.i(85995),I=e.i(22528),M=e.i(5978),O=e.i(29297),H=e.i(66033),z=e.i(5192),W=e.i(91967),F="ScrollArea",[q,U]=(0,I.createContextScope)(F),[B,Y]=q(F),V=E.forwardRef((e,r)=>{let{__scopeScrollArea:t,type:n="hover",dir:o,scrollHideDelay:i=600,...a}=e,[l,s]=E.useState(null),[c,u]=E.useState(null),[d,p]=E.useState(null),[f,h]=E.useState(null),[v,m]=E.useState(null),[g,w]=E.useState(0),[b,S]=E.useState(0),[x,C]=E.useState(!1),[R,y]=E.useState(!1),P=(0,M.useComposedRefs)(r,e=>s(e)),j=(0,H.useDirection)(o);return(0,T.jsx)(B,{scope:t,type:n,dir:j,scrollHideDelay:i,scrollArea:l,viewport:c,onViewportChange:u,content:d,onContentChange:p,scrollbarX:f,onScrollbarXChange:h,scrollbarXEnabled:x,onScrollbarXEnabledChange:C,scrollbarY:v,onScrollbarYChange:m,scrollbarYEnabled:R,onScrollbarYEnabledChange:y,onCornerWidthChange:w,onCornerHeightChange:S,children:(0,T.jsx)(L.Primitive.div,{dir:j,...a,ref:P,style:{position:"relative","--radix-scroll-area-corner-width":g+"px","--radix-scroll-area-corner-height":b+"px",...e.style}})})});V.displayName=F;var X="ScrollAreaViewport",$=E.forwardRef((e,r)=>{let{__scopeScrollArea:t,children:n,nonce:o,...i}=e,a=Y(X,t),l=E.useRef(null),s=(0,M.useComposedRefs)(r,l,a.onViewportChange);return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),(0,T.jsx)(L.Primitive.div,{"data-radix-scroll-area-viewport":"",...i,ref:s,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,T.jsx)("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});$.displayName=X;var G="ScrollAreaScrollbar",K=E.forwardRef((e,r)=>{let{forceMount:t,...n}=e,o=Y(G,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:a}=o,l="horizontal"===e.orientation;return E.useEffect(()=>(l?i(!0):a(!0),()=>{l?i(!1):a(!1)}),[l,i,a]),"hover"===o.type?(0,T.jsx)(Z,{...n,ref:r,forceMount:t}):"scroll"===o.type?(0,T.jsx)(J,{...n,ref:r,forceMount:t}):"auto"===o.type?(0,T.jsx)(Q,{...n,ref:r,forceMount:t}):"always"===o.type?(0,T.jsx)(ee,{...n,ref:r}):null});K.displayName=G;var Z=E.forwardRef((e,r)=>{let{forceMount:t,...n}=e,o=Y(G,e.__scopeScrollArea),[i,a]=E.useState(!1);return E.useEffect(()=>{let e=o.scrollArea,r=0;if(e){let t=()=>{window.clearTimeout(r),a(!0)},n=()=>{r=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return e.addEventListener("pointerenter",t),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(r),e.removeEventListener("pointerenter",t),e.removeEventListener("pointerleave",n)}}},[o.scrollArea,o.scrollHideDelay]),(0,T.jsx)(_.Presence,{present:t||i,children:(0,T.jsx)(Q,{"data-state":i?"visible":"hidden",...n,ref:r})})}),J=E.forwardRef((e,r)=>{var t;let{forceMount:n,...o}=e,i=Y(G,e.__scopeScrollArea),a="horizontal"===e.orientation,l=ew(()=>c("SCROLL_END"),100),[s,c]=(t={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},E.useReducer((e,r)=>t[e][r]??e,"hidden"));return E.useEffect(()=>{if("idle"===s){let e=window.setTimeout(()=>c("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),E.useEffect(()=>{let e=i.viewport,r=a?"scrollLeft":"scrollTop";if(e){let t=e[r],n=()=>{let n=e[r];t!==n&&(c("SCROLL"),l()),t=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[i.viewport,a,c,l]),(0,T.jsx)(_.Presence,{present:n||"hidden"!==s,children:(0,T.jsx)(ee,{"data-state":"hidden"===s?"hidden":"visible",...o,ref:r,onPointerEnter:(0,W.composeEventHandlers)(e.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:(0,W.composeEventHandlers)(e.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),Q=E.forwardRef((e,r)=>{let t=Y(G,e.__scopeScrollArea),{forceMount:n,...o}=e,[i,a]=E.useState(!1),l="horizontal"===e.orientation,s=ew(()=>{if(t.viewport){let e=t.viewport.offsetWidth<t.viewport.scrollWidth,r=t.viewport.offsetHeight<t.viewport.scrollHeight;a(l?e:r)}},10);return eb(t.viewport,s),eb(t.content,s),(0,T.jsx)(_.Presence,{present:n||i,children:(0,T.jsx)(ee,{"data-state":i?"visible":"hidden",...o,ref:r})})}),ee=E.forwardRef((e,r)=>{let{orientation:t="vertical",...n}=e,o=Y(G,e.__scopeScrollArea),i=E.useRef(null),a=E.useRef(0),[l,s]=E.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=ef(l.viewport,l.content),u={...n,sizes:l,onSizesChange:s,hasThumb:!!(c>0&&c<1),onThumbChange:e=>i.current=e,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:e=>a.current=e};function d(e,r){return function(e,r,t,n="ltr"){let o=eh(t),i=r||o/2,a=t.scrollbar.paddingStart+i,l=t.scrollbar.size-t.scrollbar.paddingEnd-(o-i),s=t.content-t.viewport;return em([a,l],"ltr"===n?[0,s]:[-1*s,0])(e)}(e,a.current,l,r)}return"horizontal"===t?(0,T.jsx)(er,{...u,ref:r,onThumbPositionChange:()=>{if(o.viewport&&i.current){let e=ev(o.viewport.scrollLeft,l,o.dir);i.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{o.viewport&&(o.viewport.scrollLeft=e)},onDragScroll:e=>{o.viewport&&(o.viewport.scrollLeft=d(e,o.dir))}}):"vertical"===t?(0,T.jsx)(et,{...u,ref:r,onThumbPositionChange:()=>{if(o.viewport&&i.current){let e=ev(o.viewport.scrollTop,l);i.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{o.viewport&&(o.viewport.scrollTop=e)},onDragScroll:e=>{o.viewport&&(o.viewport.scrollTop=d(e))}}):null}),er=E.forwardRef((e,r)=>{let{sizes:t,onSizesChange:n,...o}=e,i=Y(G,e.__scopeScrollArea),[a,l]=E.useState(),s=E.useRef(null),c=(0,M.useComposedRefs)(r,s,i.onScrollbarXChange);return E.useEffect(()=>{s.current&&l(getComputedStyle(s.current))},[s]),(0,T.jsx)(ei,{"data-orientation":"horizontal",...o,ref:c,sizes:t,style:{bottom:0,left:"rtl"===i.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===i.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":eh(t)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.x),onDragScroll:r=>e.onDragScroll(r.x),onWheelScroll:(r,t)=>{if(i.viewport){var n,o;let a=i.viewport.scrollLeft+r.deltaX;e.onWheelScroll(a),n=a,o=t,n>0&&n<o&&r.preventDefault()}},onResize:()=>{s.current&&i.viewport&&a&&n({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:s.current.clientWidth,paddingStart:ep(a.paddingLeft),paddingEnd:ep(a.paddingRight)}})}})}),et=E.forwardRef((e,r)=>{let{sizes:t,onSizesChange:n,...o}=e,i=Y(G,e.__scopeScrollArea),[a,l]=E.useState(),s=E.useRef(null),c=(0,M.useComposedRefs)(r,s,i.onScrollbarYChange);return E.useEffect(()=>{s.current&&l(getComputedStyle(s.current))},[s]),(0,T.jsx)(ei,{"data-orientation":"vertical",...o,ref:c,sizes:t,style:{top:0,right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":eh(t)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.y),onDragScroll:r=>e.onDragScroll(r.y),onWheelScroll:(r,t)=>{if(i.viewport){var n,o;let a=i.viewport.scrollTop+r.deltaY;e.onWheelScroll(a),n=a,o=t,n>0&&n<o&&r.preventDefault()}},onResize:()=>{s.current&&i.viewport&&a&&n({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:s.current.clientHeight,paddingStart:ep(a.paddingTop),paddingEnd:ep(a.paddingBottom)}})}})}),[en,eo]=q(G),ei=E.forwardRef((e,r)=>{let{__scopeScrollArea:t,sizes:n,hasThumb:o,onThumbChange:i,onThumbPointerUp:a,onThumbPointerDown:l,onThumbPositionChange:s,onDragScroll:c,onWheelScroll:u,onResize:d,...p}=e,f=Y(G,t),[h,v]=E.useState(null),m=(0,M.useComposedRefs)(r,e=>v(e)),g=E.useRef(null),w=E.useRef(""),b=f.viewport,S=n.content-n.viewport,x=(0,O.useCallbackRef)(u),C=(0,O.useCallbackRef)(s),R=ew(d,10);function y(e){g.current&&c({x:e.clientX-g.current.left,y:e.clientY-g.current.top})}return E.useEffect(()=>{let e=e=>{let r=e.target;h?.contains(r)&&x(e,S)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[b,h,S,x]),E.useEffect(C,[n,C]),eb(h,R),eb(f.content,R),(0,T.jsx)(en,{scope:t,scrollbar:h,hasThumb:o,onThumbChange:(0,O.useCallbackRef)(i),onThumbPointerUp:(0,O.useCallbackRef)(a),onThumbPositionChange:C,onThumbPointerDown:(0,O.useCallbackRef)(l),children:(0,T.jsx)(L.Primitive.div,{...p,ref:m,style:{position:"absolute",...p.style},onPointerDown:(0,W.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),g.current=h.getBoundingClientRect(),w.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),y(e))}),onPointerMove:(0,W.composeEventHandlers)(e.onPointerMove,y),onPointerUp:(0,W.composeEventHandlers)(e.onPointerUp,e=>{let r=e.target;r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=w.current,f.viewport&&(f.viewport.style.scrollBehavior=""),g.current=null})})})}),ea="ScrollAreaThumb",el=E.forwardRef((e,r)=>{let{forceMount:t,...n}=e,o=eo(ea,e.__scopeScrollArea);return(0,T.jsx)(_.Presence,{present:t||o.hasThumb,children:(0,T.jsx)(es,{ref:r,...n})})}),es=E.forwardRef((e,r)=>{let{__scopeScrollArea:t,style:n,...o}=e,i=Y(ea,t),a=eo(ea,t),{onThumbPositionChange:l}=a,s=(0,M.useComposedRefs)(r,e=>a.onThumbChange(e)),c=E.useRef(void 0),u=ew(()=>{c.current&&(c.current(),c.current=void 0)},100);return E.useEffect(()=>{let e=i.viewport;if(e){let r=()=>{u(),c.current||(c.current=eg(e,l),l())};return l(),e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[i.viewport,u,l]),(0,T.jsx)(L.Primitive.div,{"data-state":a.hasThumb?"visible":"hidden",...o,ref:s,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:(0,W.composeEventHandlers)(e.onPointerDownCapture,e=>{let r=e.target.getBoundingClientRect(),t=e.clientX-r.left,n=e.clientY-r.top;a.onThumbPointerDown({x:t,y:n})}),onPointerUp:(0,W.composeEventHandlers)(e.onPointerUp,a.onThumbPointerUp)})});el.displayName=ea;var ec="ScrollAreaCorner",eu=E.forwardRef((e,r)=>{let t=Y(ec,e.__scopeScrollArea),n=!!(t.scrollbarX&&t.scrollbarY);return"scroll"!==t.type&&n?(0,T.jsx)(ed,{...e,ref:r}):null});eu.displayName=ec;var ed=E.forwardRef((e,r)=>{let{__scopeScrollArea:t,...n}=e,o=Y(ec,t),[i,a]=E.useState(0),[l,s]=E.useState(0),c=!!(i&&l);return eb(o.scrollbarX,()=>{let e=o.scrollbarX?.offsetHeight||0;o.onCornerHeightChange(e),s(e)}),eb(o.scrollbarY,()=>{let e=o.scrollbarY?.offsetWidth||0;o.onCornerWidthChange(e),a(e)}),c?(0,T.jsx)(L.Primitive.div,{...n,ref:r,style:{width:i,height:l,position:"absolute",right:"ltr"===o.dir?0:void 0,left:"rtl"===o.dir?0:void 0,bottom:0,...e.style}}):null});function ep(e){return e?parseInt(e,10):0}function ef(e,r){let t=e/r;return isNaN(t)?0:t}function eh(e){let r=ef(e.viewport,e.content),t=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-t)*r,18)}function ev(e,r,t="ltr"){let n=eh(r),o=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,i=r.scrollbar.size-o,a=r.content-r.viewport,l=function(e,[r,t]){return Math.min(t,Math.max(r,e))}(e,"ltr"===t?[0,a]:[-1*a,0]);return em([0,a],[0,i-n])(l)}function em(e,r){return t=>{if(e[0]===e[1]||r[0]===r[1])return r[0];let n=(r[1]-r[0])/(e[1]-e[0]);return r[0]+n*(t-e[0])}}var eg=(e,r=()=>{})=>{let t={left:e.scrollLeft,top:e.scrollTop},n=0;return!function o(){let i={left:e.scrollLeft,top:e.scrollTop},a=t.left!==i.left,l=t.top!==i.top;(a||l)&&r(),t=i,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function ew(e,r){let t=(0,O.useCallbackRef)(e),n=E.useRef(0);return E.useEffect(()=>()=>window.clearTimeout(n.current),[]),E.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(t,r)},[t,r])}function eb(e,r){let t=(0,O.useCallbackRef)(r);(0,z.useLayoutEffect)(()=>{let r=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(t)});return n.observe(e),()=>{window.cancelAnimationFrame(r),n.unobserve(e)}}},[e,t])}e.s(["Corner",()=>eu,"Root",()=>V,"ScrollArea",()=>V,"ScrollAreaCorner",()=>eu,"ScrollAreaScrollbar",()=>K,"ScrollAreaThumb",()=>el,"ScrollAreaViewport",()=>$,"Scrollbar",()=>K,"Thumb",()=>el,"Viewport",()=>$,"createScrollAreaScope",()=>U],87516);var eS=e.i(87516),eS=eS,ex=e.i(31777);function eC({className:e,children:r,...t}){return(0,T.jsxs)(eS.Root,{"data-slot":"scroll-area",className:(0,ex.cn)("relative",e),...t,children:[(0,T.jsx)(eS.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:r}),(0,T.jsx)(eR,{}),(0,T.jsx)(eS.Corner,{})]})}function eR({className:e,orientation:r="vertical",...t}){return(0,T.jsx)(eS.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:r,className:(0,ex.cn)("flex touch-none p-px transition-colors select-none","vertical"===r&&"h-full w-2.5 border-l border-l-transparent","horizontal"===r&&"h-2.5 flex-col border-t border-t-transparent",e),...t,children:(0,T.jsx)(eS.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}e.i(90491);var ey=e.i(90798);e.i(85462);var eT=e.i(26506);e.i(92233);var eE=e.i(10025);e.i(8356);var eP=e.i(71045);e.i(78788);var ej=e.i(91495);e.i(72028);var eA=e.i(41506),eN=e.i(40327);function ek({features:e,onNewFeature:r,onFeatureClick:t,onFeaturesFolderClick:n,onFeaturesMenuClick:o}){let i=(0,j.usePathname)(),{state:a}=(0,P.useSidebar)(),{mounted:l,visible:s}=function(e,r){let[t,n]=(0,E.useState)(!e),[o,i]=(0,E.useState)(!e);return(0,E.useEffect)(()=>{if(!e){n(!0);let e=requestAnimationFrame(()=>i(!0));return()=>cancelAnimationFrame(e)}i(!1);let r=window.setTimeout(()=>n(!1),200);return()=>window.clearTimeout(r)},[e,200]),{mounted:t,visible:o}}("collapsed"===a,0),c=eN.featureStatusOrder.map(r=>{let{label:t}=eN.featureStatusConfig[r],n=e.filter(e=>e.status===r);return{key:r,label:t,items:n}});return(0,T.jsxs)(P.Sidebar,{"data-testid":"app-sidebar",collapsible:"icon",children:[(0,T.jsx)(P.SidebarHeader,{children:(0,T.jsxs)(P.SidebarMenu,{children:[(0,T.jsx)(P.SidebarMenuItem,{children:(0,T.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[l?(0,T.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",s?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!s,children:[(0,T.jsx)(eE.ShepLogo,{className:"shrink-0",size:20}),(0,T.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,T.jsx)(eT.SidebarCollapseToggle,{className:"shrink-0 transition-all duration-200"})]})}),(0,T.jsx)(ey.SidebarNavItem,{icon:N,label:"Control Center",href:"/",active:"/"===i}),(0,T.jsx)(ey.SidebarNavItem,{icon:k,label:"Memory",href:"/memory",active:"/memory"===i})]})}),(0,T.jsx)(P.SidebarContent,{children:l?(0,T.jsxs)("div",{className:["min-w-0 overflow-hidden transition-opacity duration-200 ease-out [&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none",s?"opacity-100":"opacity-0"].join(" "),children:[(0,T.jsx)(eA.SidebarSectionHeader,{label:"Features",onFolderClick:n,onMenuClick:o}),(0,T.jsx)(eC,{children:c.map(({key:e,label:r,items:n})=>n.length>0?(0,T.jsx)(ej.FeatureStatusGroup,{label:r,count:n.length,children:n.map(e=>(0,T.jsx)(eP.FeatureListItem,{name:e.name,status:e.status,startedAt:e.startedAt,duration:e.duration,onClick:t?()=>t(e.name):void 0},e.name))},e):null)})]}):null}),(0,T.jsx)(P.SidebarFooter,{children:(0,T.jsx)(P.SidebarMenu,{children:(0,T.jsx)(P.SidebarMenuItem,{children:(0,T.jsxs)(P.SidebarMenuButton,{onClick:r,tooltip:"New feature",children:[(0,T.jsx)(D.Plus,{}),(0,T.jsx)("span",{children:"New feature"})]})})})}),(0,T.jsx)(P.SidebarRail,{})]})}e.i(53777);var eD=e.i(25732),eL=e.i(60112);(r={}).PRD="PRD",r.API="API",r.Design="Design",r.Other="Other",(t={}).Markdown="md",t.Text="txt",t.Yaml="yaml",t.Other="Other",(n={}).Todo="Todo",n.Elaborating="Elaborating",n.Done="Done",(o={}).Assistant="assistant",o.User="user",(i={}).Functional="Functional",i.NonFunctional="NonFunctional",(a={}).NotStarted="NotStarted",a.Running="Running",a.Finished="Finished",(l={}).VsCode="vscode",l.Cursor="cursor",l.Windsurf="windsurf",l.Zed="zed",l.Antigravity="antigravity",(s={}).ClaudeCode="claude-code",s.GeminiCli="gemini-cli",s.Aider="aider",s.Continue="continue",s.Cursor="cursor",(c={}).Session="session",c.Token="token",(u={}).Todo="Todo",u.WIP="Work in Progress",u.Done="Done",u.Review="Review",(d={}).Requirements="Requirements",d.ClarificationRequired="ClarificationRequired",d.Ready="Ready",(p={}).Started="Started",p.Analyze="Analyze",p.Requirements="Requirements",p.Research="Research",p.Planning="Planning",p.Implementation="Implementation",p.Review="Review",p.Maintain="Maintain",(f={}).Open="Open",f.Merged="Merged",f.Closed="Closed",(h={}).Pending="Pending",h.Success="Success",h.Failure="Failure",(v={}).VsCode="vscode",v.Cursor="cursor",v.Windsurf="windsurf",v.Zed="zed",v.Antigravity="antigravity",v.CursorCli="cursor-cli",v.ClaudeCode="claude-code",(m={}).AgentStarted="agent_started",m.PhaseCompleted="phase_completed",m.WaitingApproval="waiting_approval",m.AgentCompleted="agent_completed",m.AgentFailed="agent_failed";var e_=((g={}).Info="info",g.Warning="warning",g.Success="success",g.Error="error",g);(w={}).Idle="Idle",w.Running="Running",w.Paused="Paused",w.Stopped="Stopped",(b={}).GatheringRequirements="GatheringRequirements",b.ClarificationsRequired="ClarificationsRequired",b.DoingResearch="DoingResearch",b.AwaitingReview="AwaitingReview",b.ExecutingWorkPlan="ExecutingWorkPlan",b.Ready="Ready",(S={}).TCP="TCP",S.UDP="UDP",(x={}).DockerCompose="DockerCompose",x.Docker="Docker",x.Kubernetes="Kubernetes",x.Script="Script",x.Manual="Manual",(C={}).Booting="Booting",C.Ready="Ready",C.Stopped="Stopped",(R={}).pending="pending",R.running="running",R.completed="completed",R.failed="failed",R.interrupted="interrupted",R.cancelled="cancelled",R.waitingApproval="waiting_approval",(y={}).sessionResume="session-resume",y.streaming="streaming",y.toolScoping="tool-scoping",y.structuredOutput="structured-output",y.systemPrompt="system-prompt";let eI={[e_.Success]:"success",[e_.Error]:"error",[e_.Warning]:"warning",[e_.Info]:"info"};function eM({children:e}){!function(e){let r=(void 0)??!1,{lastEvent:t}=function(e){let[r,t]=(0,E.useState)([]),[n,o]=(0,E.useState)(null),[i,a]=(0,E.useState)("disconnected"),l=(0,E.useRef)(1e3),s=(0,E.useRef)(null),c=(0,E.useRef)(null),u=e?.runId,d=(0,E.useCallback)(()=>{if("u"<typeof EventSource)return;let e=new EventSource(u?`/api/agent-events?runId=${encodeURIComponent(u)}`:"/api/agent-events");c.current=e,a("connecting"),e.onopen=()=>{a("connected"),l.current=1e3},e.onerror=()=>{e.close(),c.current=null,a("disconnected");let r=l.current;l.current=Math.min(2*r,3e4),s.current=setTimeout(()=>{s.current=null,d()},r)},e.addEventListener("notification",e=>{let r=JSON.parse(e.data);t(e=>[...e,r]),o(r)})},[u]);return(0,E.useEffect)(()=>(d(),()=>{null!==s.current&&(clearTimeout(s.current),s.current=null),c.current&&(c.current.close(),c.current=null)}),[d]),{events:r,lastEvent:n,connectionStatus:i}}({runId:void 0}),[n,o]=(0,E.useState)(()=>void 0===globalThis.Notification?"default":globalThis.Notification.permission),i=(0,E.useRef)(new Set);(0,E.useEffect)(()=>{if(!t)return;let e=`${t.agentRunId}-${t.eventType}-${t.timestamp}`;if(!i.current.has(e)){let n;i.current.add(e),n=eI[t.severity]??"info",eL.toast[n](t.featureName,{description:t.message}),r&&globalThis.Notification?.permission==="granted"&&new Notification(t.featureName,{body:t.message})}},[t,r]),(0,E.useCallback)(async()=>{void 0===globalThis.Notification||o(await globalThis.Notification.requestPermission())},[])}();let r=(0,E.useCallback)(()=>{window.dispatchEvent(new CustomEvent("shep:open-create-drawer"))},[]);return(0,T.jsxs)(P.SidebarProvider,{children:[(0,T.jsx)(ek,{features:[],onNewFeature:r}),(0,T.jsx)(P.SidebarInset,{children:(0,T.jsxs)("div",{className:"relative h-full",children:[(0,T.jsx)("div",{className:"absolute top-3 right-3 z-50",children:(0,T.jsx)(eD.ThemeToggle,{})}),(0,T.jsx)("main",{className:"h-full",children:e})]})})]})}e.s(["AppShell",()=>eM],87292)},25251,e=>{"use strict";var r=e.i(20314),t=e.i(60112);let n=({...e})=>(0,r.jsx)(t.Toaster,{className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e});e.s(["Toaster",()=>n])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,e=>{"use strict";var t=e.i(20314),r=e.i(94237),s=e.i(31777);let i=(0,r.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function n({className:e,variant:r,...n}){return(0,t.jsx)("div",{className:(0,s.cn)(i({variant:r}),e),...n})}e.s(["Badge",()=>n])},1699,e=>{"use strict";var t=e.i(20314),r=e.i(24035),s=e.i(79054),i=e.i(31777);let n=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)("div",{ref:s,className:(0,i.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...r}));n.displayName="Card";let a=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)("div",{ref:s,className:(0,i.cn)("flex flex-col space-y-1.5 p-6",e),...r}));a.displayName="CardHeader";let l=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)("div",{ref:s,className:(0,i.cn)("leading-none font-semibold tracking-tight",e),...r}));l.displayName="CardTitle";let o=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)("div",{ref:s,className:(0,i.cn)("text-muted-foreground text-sm",e),...r}));o.displayName="CardDescription";let d=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)("div",{ref:s,className:(0,i.cn)("p-6 pt-0",e),...r}));d.displayName="CardContent",s.forwardRef(({className:e,...r},s)=>(0,t.jsx)("div",{ref:s,className:(0,i.cn)("flex items-center p-6 pt-0",e),...r})).displayName="CardFooter";var c=e.i(81846),u=e.i(35364),f=e.i(91967),h=e.i(22528),p=e.i(5978),m=e.i(86874),v=new WeakMap;function x(e,t){var r,s;let i,n,a;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let l=(r=e,s=t,i=r.length,(a=(n=g(s))>=0?n:i+n)<0||a>=i?-1:a);return -1===l?void 0:e[l]}function g(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],v.set(this,!0)}set(e,t){return v.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let s,i=this.has(t),n=this.#e.length,a=g(e),l=a>=0?a:n+a,o=l<0||l>=n?-1:l;if(o===this.size||i&&o===this.size-1||-1===o)return this.set(t,r),this;let d=this.size+ +!i;a<0&&l++;let c=[...this.#e],u=!1;for(let e=l;e<d;e++)if(l===e){let n=c[e];c[e]===t&&(n=c[e+1]),i&&this.delete(t),s=this.get(n),this.set(t,r)}else{u||c[e-1]!==t||(u=!0);let r=c[u?e:e-1],i=s;s=this.get(r),this.delete(r),this.set(r,i)}return this}with(t,r,s){let i=new e(this);return i.insert(t,r,s),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=x(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=x(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return x(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.at(s)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return s;r++}}findIndex(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return r;r++}return -1}filter(t,r){let s=[],i=0;for(let e of this)Reflect.apply(t,r,[e,i,this])&&s.push(e),i++;return new e(s)}map(t,r){let s=[],i=0;for(let e of this)s.push([e[0],Reflect.apply(t,r,[e,i,this])]),i++;return new e(s)}reduce(...e){let[t,r]=e,s=0,i=r??this.at(0);for(let r of this)i=0===s&&1===e.length?r:Reflect.apply(t,this,[i,r,s,this]),s++;return i}reduceRight(...e){let[t,r]=e,s=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let i=this.at(r);s=r===this.size-1&&1===e.length?i:Reflect.apply(t,this,[s,i,r,this])}return s}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),s=this.get(r);t.set(r,s)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let s=new e,i=this.size-1;if(void 0===t)return s;t<0&&(t+=this.size),void 0!==r&&r>0&&(i=r-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),r=this.get(t);s.set(t,r)}return s}every(e,t){let r=0;for(let s of this){if(!Reflect.apply(e,t,[s,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return!0;r++}return!1}});var y=e.i(13123),b=e.i(87620),j=e.i(29297),w=e.i(36589),R=e.i(66033),N="rovingFocusGroup.onEntryFocus",C={bubbles:!1,cancelable:!0},k="RovingFocusGroup",[A,I,S]=function(e){let r=e+"CollectionProvider",[i,n]=(0,h.createContextScope)(r),[a,l]=i(r,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:r,children:i}=e,n=s.default.useRef(null),l=s.default.useRef(new Map).current;return(0,t.jsx)(a,{scope:r,itemMap:l,collectionRef:n,children:i})};o.displayName=r;let d=e+"CollectionSlot",c=(0,m.createSlot)(d),u=s.default.forwardRef((e,r)=>{let{scope:s,children:i}=e,n=l(d,s),a=(0,p.useComposedRefs)(r,n.collectionRef);return(0,t.jsx)(c,{ref:a,children:i})});u.displayName=d;let f=e+"CollectionItemSlot",v="data-radix-collection-item",x=(0,m.createSlot)(f),g=s.default.forwardRef((e,r)=>{let{scope:i,children:n,...a}=e,o=s.default.useRef(null),d=(0,p.useComposedRefs)(r,o),c=l(f,i);return s.default.useEffect(()=>(c.itemMap.set(o,{ref:o,...a}),()=>void c.itemMap.delete(o))),(0,t.jsx)(x,{...{[v]:""},ref:d,children:n})});return g.displayName=f,[{Provider:o,Slot:u,ItemSlot:g},function(t){let r=l(e+"CollectionConsumer",t);return s.default.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${v}]`));return Array.from(r.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[r.collectionRef,r.itemMap])},n]}(k),[T,F]=(0,h.createContextScope)(k,[S]),[D,E]=T(k),P=s.forwardRef((e,r)=>(0,t.jsx)(A.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(A.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(M,{...e,ref:r})})}));P.displayName=k;var M=s.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:i,orientation:n,loop:a=!1,dir:l,currentTabStopId:o,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:c,onEntryFocus:u,preventScrollOnEntryFocus:h=!1,...m}=e,v=s.useRef(null),x=(0,p.useComposedRefs)(r,v),g=(0,R.useDirection)(l),[y,A]=(0,w.useControllableState)({prop:o,defaultProp:d??null,onChange:c,caller:k}),[S,T]=s.useState(!1),F=(0,j.useCallbackRef)(u),E=I(i),P=s.useRef(!1),[M,B]=s.useState(0);return s.useEffect(()=>{let e=v.current;if(e)return e.addEventListener(N,F),()=>e.removeEventListener(N,F)},[F]),(0,t.jsx)(D,{scope:i,orientation:n,dir:g,loop:a,currentTabStopId:y,onItemFocus:s.useCallback(e=>A(e),[A]),onItemShiftTab:s.useCallback(()=>T(!0),[]),onFocusableItemAdd:s.useCallback(()=>B(e=>e+1),[]),onFocusableItemRemove:s.useCallback(()=>B(e=>e-1),[]),children:(0,t.jsx)(b.Primitive.div,{tabIndex:S||0===M?-1:0,"data-orientation":n,...m,ref:x,style:{outline:"none",...e.style},onMouseDown:(0,f.composeEventHandlers)(e.onMouseDown,()=>{P.current=!0}),onFocus:(0,f.composeEventHandlers)(e.onFocus,e=>{let t=!P.current;if(e.target===e.currentTarget&&t&&!S){let t=new CustomEvent(N,C);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=E().filter(e=>e.focusable);L([e.find(e=>e.active),e.find(e=>e.id===y),...e].filter(Boolean).map(e=>e.ref.current),h)}}P.current=!1}),onBlur:(0,f.composeEventHandlers)(e.onBlur,()=>T(!1))})})}),B="RovingFocusGroupItem",O=s.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:i,focusable:n=!0,active:a=!1,tabStopId:l,children:o,...d}=e,c=(0,y.useId)(),u=l||c,h=E(B,i),p=h.currentTabStopId===u,m=I(i),{onFocusableItemAdd:v,onFocusableItemRemove:x,currentTabStopId:g}=h;return s.useEffect(()=>{if(n)return v(),()=>x()},[n,v,x]),(0,t.jsx)(A.ItemSlot,{scope:i,id:u,focusable:n,active:a,children:(0,t.jsx)(b.Primitive.span,{tabIndex:p?0:-1,"data-orientation":h.orientation,...d,ref:r,onMouseDown:(0,f.composeEventHandlers)(e.onMouseDown,e=>{n?h.onItemFocus(u):e.preventDefault()}),onFocus:(0,f.composeEventHandlers)(e.onFocus,()=>h.onItemFocus(u)),onKeyDown:(0,f.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void h.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var s;let i=(s=e.key,"rtl"!==r?s:"ArrowLeft"===s?"ArrowRight":"ArrowRight"===s?"ArrowLeft":s);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(i))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(i)))return z[i]}(e,h.orientation,h.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let i=m().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)i.reverse();else if("prev"===t||"next"===t){var r,s;"prev"===t&&i.reverse();let n=i.indexOf(e.currentTarget);i=h.loop?(r=i,s=n+1,r.map((e,t)=>r[(s+t)%r.length])):i.slice(n+1)}setTimeout(()=>L(i))}}),children:"function"==typeof o?o({isCurrentTabStop:p,hasTabStop:null!=g}):o})})});O.displayName=B;var z={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function L(e,t=!1){let r=document.activeElement;for(let s of e)if(s===r||(s.focus({preventScroll:t}),document.activeElement!==r))return}var H=e.i(85995),K="Tabs",[V,$]=(0,h.createContextScope)(K,[F]),G=F(),[U,_]=V(K),W=s.forwardRef((e,r)=>{let{__scopeTabs:s,value:i,onValueChange:n,defaultValue:a,orientation:l="horizontal",dir:o,activationMode:d="automatic",...c}=e,u=(0,R.useDirection)(o),[f,h]=(0,w.useControllableState)({prop:i,onChange:n,defaultProp:a??"",caller:K});return(0,t.jsx)(U,{scope:s,baseId:(0,y.useId)(),value:f,onValueChange:h,orientation:l,dir:u,activationMode:d,children:(0,t.jsx)(b.Primitive.div,{dir:u,"data-orientation":l,...c,ref:r})})});W.displayName=K;var q="TabsList",J=s.forwardRef((e,r)=>{let{__scopeTabs:s,loop:i=!0,...n}=e,a=_(q,s),l=G(s);return(0,t.jsx)(P,{asChild:!0,...l,orientation:a.orientation,dir:a.dir,loop:i,children:(0,t.jsx)(b.Primitive.div,{role:"tablist","aria-orientation":a.orientation,...n,ref:r})})});J.displayName=q;var Q="TabsTrigger",X=s.forwardRef((e,r)=>{let{__scopeTabs:s,value:i,disabled:n=!1,...a}=e,l=_(Q,s),o=G(s),d=ee(l.baseId,i),c=et(l.baseId,i),u=i===l.value;return(0,t.jsx)(O,{asChild:!0,...o,focusable:!n,active:u,children:(0,t.jsx)(b.Primitive.button,{type:"button",role:"tab","aria-selected":u,"aria-controls":c,"data-state":u?"active":"inactive","data-disabled":n?"":void 0,disabled:n,id:d,...a,ref:r,onMouseDown:(0,f.composeEventHandlers)(e.onMouseDown,e=>{n||0!==e.button||!1!==e.ctrlKey?e.preventDefault():l.onValueChange(i)}),onKeyDown:(0,f.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&l.onValueChange(i)}),onFocus:(0,f.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==l.activationMode;u||n||!e||l.onValueChange(i)})})})});X.displayName=Q;var Y="TabsContent",Z=s.forwardRef((e,r)=>{let{__scopeTabs:i,value:n,forceMount:a,children:l,...o}=e,d=_(Y,i),c=ee(d.baseId,n),u=et(d.baseId,n),f=n===d.value,h=s.useRef(f);return s.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(H.Presence,{present:a||f,children:({present:s})=>(0,t.jsx)(b.Primitive.div,{"data-state":f?"active":"inactive","data-orientation":d.orientation,role:"tabpanel","aria-labelledby":c,hidden:!s,id:u,tabIndex:0,...o,ref:r,style:{...e.style,animationDuration:h.current?"0s":void 0},children:s&&l})})});function ee(e,t){return`${e}-trigger-${t}`}function et(e,t){return`${e}-content-${t}`}Z.displayName=Y,e.s(["Content",()=>Z,"List",()=>J,"Root",()=>W,"Tabs",()=>W,"TabsContent",()=>Z,"TabsList",()=>J,"TabsTrigger",()=>X,"Trigger",()=>X,"createTabsScope",()=>$],43133);var er=e.i(43133),er=er;let es=er.Root,ei=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)(er.List,{ref:s,className:(0,i.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...r}));ei.displayName=er.List.displayName;let en=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)(er.Trigger,{ref:s,className:(0,i.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...r}));en.displayName=er.Trigger.displayName;let ea=s.forwardRef(({className:e,...r},s)=>(0,t.jsx)(er.Content,{ref:s,className:(0,i.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...r}));function el({label:e,value:r,badge:s,badgeVariant:i="secondary"}){return(0,t.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-sm",children:e}),s?(0,t.jsx)(c.Badge,{variant:i,children:r}):(0,t.jsx)("span",{className:"font-mono text-sm",children:r})]})}function eo({versionInfo:e,systemInfo:s}){return(0,t.jsx)("div",{className:"flex flex-col items-center justify-center p-4",children:(0,t.jsxs)("div",{className:"w-full max-w-2xl space-y-6",children:[(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:e.name}),(0,t.jsx)("p",{className:"text-muted-foreground mt-2",children:e.description}),(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsxs)(c.Badge,{variant:"default","data-testid":"version-badge",children:["v",e.version]})})]}),(0,t.jsxs)(es,{defaultValue:"overview",className:"w-full",children:[(0,t.jsxs)(ei,{className:"grid w-full grid-cols-3",children:[(0,t.jsx)(en,{value:"overview",children:"Overview"}),(0,t.jsx)(en,{value:"system",children:"System"}),(0,t.jsx)(en,{value:"features",children:"Features"})]}),(0,t.jsx)(ea,{value:"overview",children:(0,t.jsxs)(n,{children:[(0,t.jsxs)(a,{children:[(0,t.jsx)(l,{children:"Package Information"}),(0,t.jsx)(o,{children:"Details about the Shep AI CLI package"})]}),(0,t.jsxs)(d,{className:"space-y-1",children:[(0,t.jsx)(el,{label:"Package",value:e.name}),(0,t.jsx)(el,{label:"Version",value:`v${e.version}`,badge:!0,badgeVariant:"default"}),(0,t.jsx)(el,{label:"License",value:"MIT",badge:!0,badgeVariant:"outline"}),(0,t.jsx)(el,{label:"Author",value:"Shep AI"})]})]})}),(0,t.jsx)(ea,{value:"system",children:(0,t.jsxs)(n,{children:[(0,t.jsxs)(a,{children:[(0,t.jsx)(l,{children:"System Information"}),(0,t.jsx)(o,{children:"Runtime environment details"})]}),(0,t.jsxs)(d,{className:"space-y-1",children:[(0,t.jsx)(el,{label:"Node.js",value:s.nodeVersion,badge:!0,badgeVariant:"secondary"}),(0,t.jsx)(el,{label:"Platform",value:`${s.platform} ${s.arch}`})]})]})}),(0,t.jsx)(ea,{value:"features",children:(0,t.jsxs)(n,{children:[(0,t.jsxs)(a,{children:[(0,t.jsx)(l,{children:"Key Features"}),(0,t.jsx)(o,{children:"What Shep AI can do for you"})]}),(0,t.jsx)(d,{children:(0,t.jsxs)("ul",{className:"space-y-2 text-sm",children:[(0,t.jsxs)("li",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Badge,{variant:"outline",children:"AI"}),(0,t.jsx)("span",{children:"Autonomous code generation"})]}),(0,t.jsxs)("li",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Badge,{variant:"outline",children:"SDLC"}),(0,t.jsx)("span",{children:"Full development lifecycle automation"})]}),(0,t.jsxs)("li",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Badge,{variant:"outline",children:"CLI"}),(0,t.jsx)("span",{children:"Powerful command-line interface"})]}),(0,t.jsxs)("li",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Badge,{variant:"outline",children:"Web"}),(0,t.jsx)("span",{children:"Modern web UI dashboard"})]})]})})]})})]}),(0,t.jsxs)("div",{className:"flex justify-center gap-4",children:[(0,t.jsx)(u.Button,{asChild:!0,variant:"outline",children:(0,t.jsx)(r.default,{href:"/",children:"Back to Home"})}),(0,t.jsx)(u.Button,{asChild:!0,children:(0,t.jsx)("a",{href:"https://github.com/shep-ai/cli",target:"_blank",rel:"noopener noreferrer",children:"View on GitHub"})})]})]})})}ea.displayName=er.Content.displayName,e.s(["default",()=>eo],1699)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,r=>{"use strict";var e=r.i(20314),t=r.i(94237),o=r.i(31777);let n=(0,t.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function a({className:r,variant:t,...a}){return(0,e.jsx)("div",{className:(0,o.cn)(n({variant:t}),r),...a})}r.s(["Badge",()=>a])}]);