@leanspec/ui 0.2.9-dev.20251205030455 → 0.2.10

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 (516) hide show
  1. package/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  2. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  3. package/.next/standalone/packages/ui/.next/app-path-routes-manifest.json +5 -0
  4. package/.next/standalone/packages/ui/.next/build-manifest.json +2 -2
  5. package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/packages/ui/.next/required-server-files.json +4 -4
  7. package/.next/standalone/packages/ui/.next/routes-manifest.json +40 -0
  8. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +1 -1
  9. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  10. package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  12. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
  13. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  14. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  15. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +2 -2
  18. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  21. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +18 -20
  22. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +18 -20
  23. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +23 -26
  24. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  25. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  26. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -5
  27. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js +1 -1
  28. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js.nft.json +1 -1
  29. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js +1 -1
  30. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.nft.json +1 -1
  31. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
  33. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
  34. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
  35. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js +1 -1
  36. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.nft.json +1 -1
  37. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js +1 -1
  38. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.nft.json +1 -1
  39. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  40. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route/app-paths-manifest.json +3 -0
  41. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route/build-manifest.json +11 -0
  42. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route/server-reference-manifest.json +4 -0
  43. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route.js +8 -0
  44. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route.js.map +5 -0
  45. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route.js.nft.json +1 -0
  46. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route_client-reference-manifest.js +2 -0
  47. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route/app-paths-manifest.json +3 -0
  48. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route/build-manifest.json +11 -0
  49. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route/server-reference-manifest.json +4 -0
  50. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route.js +8 -0
  51. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route.js.map +5 -0
  52. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route.js.nft.json +1 -0
  53. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route_client-reference-manifest.js +2 -0
  54. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +1 -1
  55. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
  56. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js +1 -1
  57. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
  58. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +1 -1
  59. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  60. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js +1 -1
  61. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
  62. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route/app-paths-manifest.json +3 -0
  63. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route/build-manifest.json +11 -0
  64. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route/server-reference-manifest.json +4 -0
  65. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route.js +8 -0
  66. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route.js.map +5 -0
  67. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route.js.nft.json +1 -0
  68. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route_client-reference-manifest.js +2 -0
  69. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.nft.json +1 -1
  70. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  71. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  72. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +1 -1
  73. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  74. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route/app-paths-manifest.json +3 -0
  75. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route/build-manifest.json +11 -0
  76. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route/server-reference-manifest.json +4 -0
  77. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route.js +8 -0
  78. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route.js.map +5 -0
  79. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route.js.nft.json +1 -0
  80. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route_client-reference-manifest.js +2 -0
  81. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +1 -1
  82. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  83. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
  84. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +1 -1
  85. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  86. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +1 -1
  87. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  88. package/.next/standalone/packages/ui/.next/server/app/api/tags/route/app-paths-manifest.json +3 -0
  89. package/.next/standalone/packages/ui/.next/server/app/api/tags/route/build-manifest.json +11 -0
  90. package/.next/standalone/packages/ui/.next/server/app/api/tags/route/server-reference-manifest.json +4 -0
  91. package/.next/standalone/packages/ui/.next/server/app/api/tags/route.js +8 -0
  92. package/.next/standalone/packages/ui/.next/server/app/api/tags/route.js.map +5 -0
  93. package/.next/standalone/packages/ui/.next/server/app/api/tags/route.js.nft.json +1 -0
  94. package/.next/standalone/packages/ui/.next/server/app/api/tags/route_client-reference-manifest.js +2 -0
  95. package/.next/standalone/packages/ui/.next/server/app/context/page.js +4 -3
  96. package/.next/standalone/packages/ui/.next/server/app/context/page.js.nft.json +1 -1
  97. package/.next/standalone/packages/ui/.next/server/app/context/page_client-reference-manifest.js +1 -1
  98. package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js +4 -3
  99. package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js.nft.json +1 -1
  100. package/.next/standalone/packages/ui/.next/server/app/dependencies/page_client-reference-manifest.js +1 -1
  101. package/.next/standalone/packages/ui/.next/server/app/page.js +2 -2
  102. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  103. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  104. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js +2 -2
  105. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.nft.json +1 -1
  106. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page_client-reference-manifest.js +1 -1
  107. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js +2 -2
  108. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.nft.json +1 -1
  109. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page_client-reference-manifest.js +1 -1
  110. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +2 -2
  111. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  112. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
  113. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +2 -2
  114. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
  115. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
  116. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +2 -2
  117. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
  118. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
  119. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js +2 -2
  120. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.nft.json +1 -1
  121. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page_client-reference-manifest.js +1 -1
  122. package/.next/standalone/packages/ui/.next/server/app/projects/page.js +2 -2
  123. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
  124. package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  125. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
  126. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +24 -25
  127. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +24 -25
  128. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +20 -24
  129. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  130. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  131. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  132. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +2 -2
  133. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  134. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  135. package/.next/standalone/packages/ui/.next/server/app/specs/page.js +4 -3
  136. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  137. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  138. package/.next/standalone/packages/ui/.next/server/app/stats/page.js +4 -3
  139. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  140. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  141. package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +5 -0
  142. package/.next/standalone/packages/ui/.next/server/chunks/284a8_app_api_projects_[id]_specs_[spec]_dependency-graph_route_actions_f18476ed.js +3 -0
  143. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_tags_route_actions_40899744.js +3 -0
  144. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_specs_[id]_metadata_route_actions_139bb09f.js +3 -0
  145. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0afcada7._.js +3 -0
  146. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0e63a440._.js +3 -0
  147. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0ec6f9b0._.js +3 -0
  148. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0edb782a._.js +3 -0
  149. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0fbfea15._.js +1 -1
  150. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1706515f._.js +1 -1
  151. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1f037512._.js +1 -1
  152. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__38780e00._.js +3 -0
  153. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3a535244._.js +3 -0
  154. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__41f43652._.js +3 -0
  155. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__5081ac6f._.js +3 -0
  156. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__526764b2._.js +3 -0
  157. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__548e27d4._.js +1 -1
  158. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__71d98924._.js +1 -1
  159. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__74af400b._.js +3 -0
  160. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8075fe29._.js +1 -1
  161. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9ce722b4._.js +1 -1
  162. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9cf3bf21._.js +3 -0
  163. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2d7cbed._.js +1 -1
  164. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b1ad8b69._.js +1 -1
  165. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__c7a4906b._.js +3 -0
  166. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__de15d2aa._.js +3 -0
  167. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e16f7651._.js +3 -0
  168. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e2fcb5c6._.js +3 -0
  169. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e8d9903e._.js +3 -0
  170. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f6936b89._.js +3 -0
  171. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_projects_[id]_specs_[spec]_metadata_route_actions_35af9a8c.js +3 -0
  172. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_tags_route_actions_64625b2c.js +3 -0
  173. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__01bfc8ff._.js +3 -0
  174. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__13f96ef4._.js → [root-of-the-server]__174e1ca1._.js} +2 -2
  175. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__38c56adc._.js → [root-of-the-server]__2d9202e8._.js} +2 -2
  176. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__338c65fe._.js +1 -1
  177. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__366688dd._.js +1 -1
  178. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__44b603f9._.js +1 -1
  179. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4ec37765._.js +3 -0
  180. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__69a0d63a._.js +1 -1
  181. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__7f55abaa._.js +1 -1
  182. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c158c9a9._.js +3 -0
  183. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c7735439._.js +3 -0
  184. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__e2c760eb._.js +3 -0
  185. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__84124d4b._.js → [root-of-the-server]__ead1539c._.js} +2 -2
  186. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ec5b96a5._.js +1 -1
  187. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  188. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_adb9d7cb._.js → _22274047._.js} +2 -2
  189. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_59616aa6._.js +3 -0
  190. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_5e1484f9._.js +7 -0
  191. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8ab6f9ca._.js +1 -1
  192. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_be836d6a._.js +5 -0
  193. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ec637d7c._.js +1 -1
  194. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +1 -1
  195. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
  196. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_spec-detail-wrapper_tsx_fd35401c._.js +1 -1
  197. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  198. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  199. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  200. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  201. package/.next/standalone/packages/ui/.next/static/chunks/0c7bbb59865774a1.js +1 -0
  202. package/.next/standalone/packages/ui/.next/static/chunks/0fe978002ba489fb.js +3 -0
  203. package/.next/standalone/packages/ui/.next/static/chunks/1169d4ac8f9df687.js +1 -0
  204. package/.next/standalone/packages/ui/.next/static/chunks/241b6b1c83610ebf.js +1 -0
  205. package/.next/standalone/packages/ui/.next/static/chunks/39931c5cecf4c4b7.js +1 -0
  206. package/.next/standalone/packages/ui/.next/static/chunks/6d7922838a3513a4.js +1 -0
  207. package/.next/{static/chunks/7a00633903e066b4.js → standalone/packages/ui/.next/static/chunks/781328ee279ffc41.js} +1 -1
  208. package/.next/standalone/packages/ui/.next/static/chunks/937cb3894a606899.js +5 -0
  209. package/.next/standalone/packages/ui/.next/static/chunks/9cf644b700f37825.css +1 -0
  210. package/.next/standalone/packages/ui/.next/static/chunks/bc0f8f7f8dc0a352.js +1 -0
  211. package/.next/standalone/packages/ui/.next/static/chunks/dbce73f7087f2470.js +10 -0
  212. package/.next/standalone/packages/ui/.next/static/chunks/f0a083ac29b4b6c2.js +1 -0
  213. package/.next/standalone/packages/ui/dist/BUILD_ID +1 -0
  214. package/.next/standalone/packages/ui/dist/public/f864aa7e7061c0600e35cf3d879b27cf.txt +1 -0
  215. package/.next/standalone/packages/ui/dist/public/favicon.ico +0 -0
  216. package/.next/standalone/packages/ui/dist/public/file.svg +1 -0
  217. package/.next/standalone/packages/ui/dist/public/github-mark-white.svg +1 -0
  218. package/.next/standalone/packages/ui/dist/public/github-mark.svg +1 -0
  219. package/.next/standalone/packages/ui/dist/public/globe.svg +1 -0
  220. package/.next/standalone/packages/ui/dist/public/icon.svg +7 -0
  221. package/.next/standalone/packages/ui/dist/public/logo-dark-bg.svg +17 -0
  222. package/.next/standalone/packages/ui/dist/public/logo-with-bg.svg +17 -0
  223. package/.next/standalone/packages/ui/dist/public/logo.svg +17 -0
  224. package/.next/standalone/packages/ui/dist/public/next.svg +1 -0
  225. package/.next/standalone/packages/ui/dist/public/vercel.svg +1 -0
  226. package/.next/standalone/packages/ui/dist/public/window.svg +1 -0
  227. package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +196 -0
  228. package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +75 -0
  229. package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +44 -0
  230. package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +175 -0
  231. package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +317 -0
  232. package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +261 -0
  233. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +380 -0
  234. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +230 -0
  235. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +285 -0
  236. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +358 -0
  237. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +303 -0
  238. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +368 -0
  239. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +327 -0
  240. package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +117 -0
  241. package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +73 -0
  242. package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +109 -0
  243. package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +107 -0
  244. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +244 -0
  245. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +429 -0
  246. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +302 -0
  247. package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +158 -0
  248. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +359 -0
  249. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +86 -0
  250. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +437 -0
  251. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +365 -0
  252. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +203 -0
  253. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +174 -0
  254. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +156 -0
  255. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +183 -0
  256. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +229 -0
  257. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +243 -0
  258. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +217 -0
  259. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +166 -0
  260. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +126 -0
  261. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +108 -0
  262. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +382 -0
  263. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +144 -0
  264. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +146 -0
  265. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +208 -0
  266. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +182 -0
  267. package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +314 -0
  268. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +113 -0
  269. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +237 -0
  270. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +149 -0
  271. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +175 -0
  272. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +254 -0
  273. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +376 -0
  274. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +240 -0
  275. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +175 -0
  276. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +374 -0
  277. package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +339 -0
  278. package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +128 -0
  279. package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +97 -0
  280. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +93 -0
  281. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +146 -0
  282. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +175 -0
  283. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +397 -0
  284. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +342 -0
  285. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +44 -0
  286. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +150 -0
  287. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +351 -0
  288. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +238 -0
  289. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +280 -0
  290. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +372 -0
  291. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +466 -0
  292. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +178 -0
  293. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +174 -0
  294. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +295 -0
  295. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +487 -0
  296. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +241 -0
  297. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +279 -0
  298. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +642 -0
  299. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +125 -0
  300. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +286 -0
  301. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +392 -0
  302. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +1002 -0
  303. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +411 -0
  304. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +812 -0
  305. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +504 -0
  306. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +724 -0
  307. package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +125 -0
  308. package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +299 -0
  309. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +174 -0
  310. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +265 -0
  311. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +36 -0
  312. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +243 -0
  313. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +82 -0
  314. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +338 -0
  315. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +354 -0
  316. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +189 -0
  317. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +119 -0
  318. package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +170 -0
  319. package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +158 -0
  320. package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +842 -0
  321. package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +358 -0
  322. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +444 -0
  323. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +357 -0
  324. package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +551 -0
  325. package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +372 -0
  326. package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +489 -0
  327. package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +285 -0
  328. package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +323 -0
  329. package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +136 -0
  330. package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +399 -0
  331. package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +301 -0
  332. package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +235 -0
  333. package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +303 -0
  334. package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +196 -0
  335. package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +388 -0
  336. package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +824 -0
  337. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +111 -0
  338. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +69 -0
  339. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +77 -0
  340. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +184 -0
  341. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +496 -0
  342. package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +490 -0
  343. package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +389 -0
  344. package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +920 -0
  345. package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +146 -0
  346. package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +607 -0
  347. package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +104 -0
  348. package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +124 -0
  349. package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +129 -0
  350. package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +244 -0
  351. package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +148 -0
  352. package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +54 -0
  353. package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +37 -0
  354. package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +60 -0
  355. package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +113 -0
  356. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +69 -0
  357. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +112 -0
  358. package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +229 -0
  359. package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +406 -0
  360. package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +168 -0
  361. package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +174 -0
  362. package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +212 -0
  363. package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +249 -0
  364. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +60 -0
  365. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +139 -0
  366. package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +722 -0
  367. package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +413 -0
  368. package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +255 -0
  369. package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +252 -0
  370. package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +253 -0
  371. package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +612 -0
  372. package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +794 -0
  373. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +834 -0
  374. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +255 -0
  375. package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +454 -0
  376. package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +172 -0
  377. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +152 -0
  378. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +95 -0
  379. package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +87 -0
  380. package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +230 -0
  381. package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +89 -0
  382. package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +89 -0
  383. package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +166 -0
  384. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +276 -0
  385. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +122 -0
  386. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +198 -0
  387. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +192 -0
  388. package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +171 -0
  389. package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +200 -0
  390. package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +317 -0
  391. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +276 -0
  392. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +241 -0
  393. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +139 -0
  394. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +328 -0
  395. package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +400 -0
  396. package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +1 -0
  397. package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +1 -0
  398. package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +1 -0
  399. package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +1 -0
  400. package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +1 -0
  401. package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +3 -0
  402. package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +1 -0
  403. package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +1 -0
  404. package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +1 -0
  405. package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +1 -0
  406. package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +1 -0
  407. package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +1 -0
  408. package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +1 -0
  409. package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +1 -0
  410. package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +1 -0
  411. package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +1 -0
  412. package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +1 -0
  413. package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +1 -0
  414. package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +5 -0
  415. package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +1 -0
  416. package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +1 -0
  417. package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +4 -0
  418. package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +2 -0
  419. package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +19 -0
  420. package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +3 -0
  421. package/.next/standalone/packages/ui/package.json +1 -1
  422. package/.next/standalone/packages/ui/server.js +1 -1
  423. package/.next/standalone/packages/ui/src/app/api/dependencies/route.ts +4 -67
  424. package/.next/standalone/packages/ui/src/app/api/projects/[id]/dependencies/route.ts +3 -52
  425. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/dependency-graph/route.ts +129 -0
  426. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/metadata/route.ts +170 -0
  427. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/status/route.ts +9 -2
  428. package/.next/standalone/packages/ui/src/app/api/projects/[id]/tags/route.ts +25 -0
  429. package/.next/standalone/packages/ui/src/app/api/specs/[id]/metadata/route.ts +184 -0
  430. package/.next/standalone/packages/ui/src/app/api/tags/route.ts +16 -0
  431. package/.next/standalone/packages/ui/src/app/context/page.tsx +22 -0
  432. package/.next/standalone/packages/ui/src/app/dashboard-client.tsx +14 -4
  433. package/.next/standalone/packages/ui/src/app/dependencies/dependencies-client.tsx +2 -2
  434. package/.next/standalone/packages/ui/src/app/dependencies/page.tsx +25 -13
  435. package/.next/standalone/packages/ui/src/app/projects/[projectId]/dependencies/page.tsx +1 -14
  436. package/.next/standalone/packages/ui/src/app/projects/page.tsx +234 -113
  437. package/.next/standalone/packages/ui/src/app/specs/[id]/page.tsx +24 -1
  438. package/.next/standalone/packages/ui/src/app/specs/page.tsx +22 -0
  439. package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +1 -1
  440. package/.next/standalone/packages/ui/src/app/stats/page.tsx +22 -0
  441. package/.next/standalone/packages/ui/src/components/editable-spec-metadata.tsx +152 -0
  442. package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +6 -0
  443. package/.next/standalone/packages/ui/src/components/priority-editor.tsx +153 -0
  444. package/.next/standalone/packages/ui/src/components/project-switcher.tsx +53 -8
  445. package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +23 -20
  446. package/.next/standalone/packages/ui/src/components/status-editor.tsx +153 -0
  447. package/.next/standalone/packages/ui/src/components/tags-editor.tsx +238 -0
  448. package/.next/standalone/packages/ui/src/components/ui/command.tsx +1 -1
  449. package/.next/standalone/packages/ui/src/lib/db/service-queries.ts +151 -15
  450. package/.next/standalone/packages/ui/src/lib/projects/registry.ts +1 -1
  451. package/.next/standalone/packages/ui/src/lib/specs/sources/multi-project-source.ts +21 -5
  452. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  453. package/.next/static/chunks/0c7bbb59865774a1.js +1 -0
  454. package/.next/static/chunks/0fe978002ba489fb.js +3 -0
  455. package/.next/static/chunks/1169d4ac8f9df687.js +1 -0
  456. package/.next/static/chunks/241b6b1c83610ebf.js +1 -0
  457. package/.next/static/chunks/39931c5cecf4c4b7.js +1 -0
  458. package/.next/static/chunks/6d7922838a3513a4.js +1 -0
  459. package/.next/{standalone/packages/ui/.next/static/chunks/7a00633903e066b4.js → static/chunks/781328ee279ffc41.js} +1 -1
  460. package/.next/static/chunks/937cb3894a606899.js +5 -0
  461. package/.next/static/chunks/9cf644b700f37825.css +1 -0
  462. package/.next/static/chunks/bc0f8f7f8dc0a352.js +1 -0
  463. package/.next/static/chunks/dbce73f7087f2470.js +10 -0
  464. package/.next/static/chunks/f0a083ac29b4b6c2.js +1 -0
  465. package/.next/static/s9uUE9DnvJD2xIz-iBGMe/_buildManifest.js +11 -0
  466. package/.next/static/s9uUE9DnvJD2xIz-iBGMe/_clientMiddlewareManifest.json +1 -0
  467. package/.next/static/s9uUE9DnvJD2xIz-iBGMe/_ssgManifest.js +1 -0
  468. package/package.json +2 -2
  469. package/.next/standalone/node_modules/.pnpm/source-map@0.8.0-beta.0/node_modules/source-map/package.json +0 -95
  470. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__18aca702._.js +0 -3
  471. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__27348781._.js +0 -3
  472. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3a7f0840._.js +0 -3
  473. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3e17db24._.js +0 -3
  474. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__6e06fd2a._.js +0 -3
  475. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__97b99cc0._.js +0 -3
  476. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9d9758e1._.js +0 -3
  477. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b212b9bd._.js +0 -3
  478. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b9c03a57._.js +0 -3
  479. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e99e7672._.js +0 -3
  480. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f38a5f20._.js +0 -3
  481. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fa8cf2bc._.js +0 -3
  482. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__53f4506c._.js +0 -3
  483. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__921689ca._.js +0 -3
  484. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a9d7fd42._.js +0 -3
  485. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b27b2469._.js +0 -3
  486. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b3633d6e._.js +0 -3
  487. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_03aa8d19._.js +0 -7
  488. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_28fe1532._.js +0 -5
  489. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_90eed09a._.js +0 -3
  490. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f9129aae._.js +0 -3
  491. package/.next/standalone/packages/ui/.next/static/chunks/04de9ed512b8098b.js +0 -10
  492. package/.next/standalone/packages/ui/.next/static/chunks/3d12a8c3152b526d.js +0 -3
  493. package/.next/standalone/packages/ui/.next/static/chunks/7931c6cb379305b1.js +0 -1
  494. package/.next/standalone/packages/ui/.next/static/chunks/7f9a218732be8099.js +0 -5
  495. package/.next/standalone/packages/ui/.next/static/chunks/8a6e8f3394240dbb.js +0 -1
  496. package/.next/standalone/packages/ui/.next/static/chunks/8d8c106c6848d15b.js +0 -1
  497. package/.next/standalone/packages/ui/.next/static/chunks/a640b005f2e15d98.js +0 -1
  498. package/.next/standalone/packages/ui/.next/static/chunks/a7075a240adea8e8.js +0 -1
  499. package/.next/standalone/packages/ui/.next/static/chunks/ddb2935cfe5310c7.css +0 -1
  500. package/.next/standalone/packages/ui/.next/static/chunks/f924ae32752e1583.js +0 -1
  501. package/.next/static/chunks/04de9ed512b8098b.js +0 -10
  502. package/.next/static/chunks/3d12a8c3152b526d.js +0 -3
  503. package/.next/static/chunks/7931c6cb379305b1.js +0 -1
  504. package/.next/static/chunks/7f9a218732be8099.js +0 -5
  505. package/.next/static/chunks/8a6e8f3394240dbb.js +0 -1
  506. package/.next/static/chunks/8d8c106c6848d15b.js +0 -1
  507. package/.next/static/chunks/a640b005f2e15d98.js +0 -1
  508. package/.next/static/chunks/a7075a240adea8e8.js +0 -1
  509. package/.next/static/chunks/ddb2935cfe5310c7.css +0 -1
  510. package/.next/static/chunks/f924ae32752e1583.js +0 -1
  511. /package/.next/standalone/packages/ui/.next/static/{T8X9UGfigRL0qWZiBHNjy → s9uUE9DnvJD2xIz-iBGMe}/_buildManifest.js +0 -0
  512. /package/.next/standalone/packages/ui/.next/static/{T8X9UGfigRL0qWZiBHNjy → s9uUE9DnvJD2xIz-iBGMe}/_clientMiddlewareManifest.json +0 -0
  513. /package/.next/standalone/packages/ui/.next/static/{T8X9UGfigRL0qWZiBHNjy → s9uUE9DnvJD2xIz-iBGMe}/_ssgManifest.js +0 -0
  514. /package/.next/{static/T8X9UGfigRL0qWZiBHNjy → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_buildManifest.js +0 -0
  515. /package/.next/{static/T8X9UGfigRL0qWZiBHNjy → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_clientMiddlewareManifest.json +0 -0
  516. /package/.next/{static/T8X9UGfigRL0qWZiBHNjy → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,918412,e=>{"use strict";let t;var r=e.i(890022),s=e.i(431231),a=e.i(417612),i=e.i(230827),n=e.i(334960);e.s(["ERROR_REVALIDATE_EVENT",()=>3,"FOCUS_EVENT",()=>0,"MUTATE_EVENT",()=>2,"RECONNECT_EVENT",()=>1],89601);var l=Object.prototype.hasOwnProperty;let o=new WeakMap,c=()=>{},d=c(),u=Object,p=e=>e===d,m=(e,t)=>({...e,...t}),h={},x={},f="undefined",g=typeof window!=f,b=typeof document!=f,j=g&&"Deno"in window,y=(e,t)=>{let r=o.get(e);return[()=>!p(t)&&e.get(t)||h,s=>{if(!p(t)){let a=e.get(t);t in x||(x[t]=a),r[5](t,m(a,s),a||h)}},r[6],()=>!p(t)&&t in x?x[t]:!p(t)&&e.get(t)||h]},v=!0,[N,w]=g&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[c,c],k={initFocus:e=>(b&&document.addEventListener("visibilitychange",e),N("focus",e),()=>{b&&document.removeEventListener("visibilitychange",e),w("focus",e)}),initReconnect:e=>{let t=()=>{v=!0,e()},r=()=>{v=!1};return N("online",t),N("offline",r),()=>{w("online",t),w("offline",r)}}},S=!s.default.useId,C=!g||j,E=C?s.useEffect:s.useLayoutEffect,T="undefined"!=typeof navigator&&navigator.connection,A=!C&&T&&(["slow-2g","2g"].includes(T.effectiveType)||T.saveData),O=new WeakMap,R=(e,t)=>e===`[object ${t}]`,P=0,$=e=>{let t,r,s=typeof e,a=u.prototype.toString.call(e),i=R(a,"Date"),n=R(a,"RegExp"),l=R(a,"Object");if(u(e)!==e||i||n)t=i?e.toJSON():"symbol"==s?e.toString():"string"==s?JSON.stringify(e):""+e;else{if(t=O.get(e))return t;if(t=++P+"~",O.set(e,t),Array.isArray(e)){for(r=0,t="@";r<e.length;r++)t+=$(e[r])+",";O.set(e,t)}if(l){t="#";let s=u.keys(e).sort();for(;!p(r=s.pop());)p(e[r])||(t+=r+":"+$(e[r])+",");O.set(e,t)}}return t},L=e=>{if("function"==typeof e)try{e=e()}catch(t){e=""}let t=e;return[e="string"==typeof e?e:(Array.isArray(e)?e.length:e)?$(e):"",t]},F=0,D=()=>++F;async function V(...e){let[t,r,s,a]=e,i=m({populateCache:!0,throwOnError:!0},"boolean"==typeof a?{revalidate:a}:a||{}),n=i.populateCache,l=i.rollbackOnError,c=i.optimisticData,u=i.throwOnError;if("function"==typeof r){let e=[];for(let s of t.keys())!/^\$(inf|sub)\$/.test(s)&&r(t.get(s)._k)&&e.push(s);return Promise.all(e.map(h))}return h(r);async function h(r){let a,[m]=L(r);if(!m)return;let[h,x]=y(t,m),[f,g,b,j]=o.get(t),v=()=>{let e=f[m];return("function"==typeof i.revalidate?i.revalidate(h().data,r):!1!==i.revalidate)&&(delete b[m],delete j[m],e&&e[0])?e[0](2).then(()=>h().data):h().data};if(e.length<3)return v();let N=s,w=!1,k=D();g[m]=[k,0];let S=!p(c),C=h(),E=C.data,T=C._c,A=p(T)?E:T;if(S&&x({data:c="function"==typeof c?c(A,E):c,_c:A}),"function"==typeof N)try{N=N(A)}catch(e){a=e,w=!0}if(N&&"function"==typeof N.then){let e;if(N=await N.catch(e=>{a=e,w=!0}),k!==g[m][0]){if(w)throw a;return N}w&&S&&(e=a,"function"==typeof l?l(e):!1!==l)&&(n=!0,x({data:A,_c:d}))}if(n&&!w&&("function"==typeof n?x({data:n(N,A),error:d,_c:d}):x({data:N,error:d,_c:d})),g[m][1]=D(),Promise.resolve(v()).then(()=>{x({_c:d})}),w){if(u)throw a;return}return N}}let M=(e,t)=>{for(let r in e)e[r][0]&&e[r][0](t)},_=(e,t)=>{if(!o.has(e)){let r=m(k,t),s=Object.create(null),a=V.bind(d,e),i=c,n=Object.create(null),l=(e,t)=>{let r=n[e]||[];return n[e]=r,r.push(t),()=>r.splice(r.indexOf(t),1)},u=(t,r,s)=>{e.set(t,r);let a=n[t];if(a)for(let e of a)e(r,s)},p=()=>{if(!o.has(e)&&(o.set(e,[s,Object.create(null),Object.create(null),Object.create(null),a,u,l]),!C)){let t=r.initFocus(setTimeout.bind(d,M.bind(d,s,0))),a=r.initReconnect(setTimeout.bind(d,M.bind(d,s,1)));i=()=>{t&&t(),a&&a(),o.delete(e)}}};return p(),[e,a,p,i]}return[e,o.get(e)[4]]},[I,z]=_(new Map),B=m({onLoadingSlow:c,onSuccess:c,onError:c,onErrorRetry:(e,t,r,s,a)=>{let i=r.errorRetryCount,n=a.retryCount,l=~~((Math.random()+.5)*(1<<(n<8?n:8)))*r.errorRetryInterval;(p(i)||!(n>i))&&setTimeout(s,l,a)},onDiscarded:c,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:A?1e4:5e3,focusThrottleInterval:5e3,dedupingInterval:2e3,loadingTimeout:A?5e3:3e3,compare:function e(t,r){var s,a;if(t===r)return!0;if(t&&r&&(s=t.constructor)===r.constructor){if(s===Date)return t.getTime()===r.getTime();if(s===RegExp)return t.toString()===r.toString();if(s===Array){if((a=t.length)===r.length)for(;a--&&e(t[a],r[a]););return -1===a}if(!s||"object"==typeof t){for(s in a=0,t)if(l.call(t,s)&&++a&&!l.call(r,s)||!(s in r)||!e(t[s],r[s]))return!1;return Object.keys(r).length===a}}return t!=t&&r!=r},isPaused:()=>!1,cache:I,mutate:z,fallback:{}},{isOnline:()=>v,isVisible:()=>{let e=b&&document.visibilityState;return p(e)||"hidden"!==e}}),W=(e,t)=>{let r=m(e,t);if(t){let{use:s,fallback:a}=e,{use:i,fallback:n}=t;s&&i&&(r.use=s.concat(i)),a&&n&&(r.fallback=m(a,n))}return r},q=(0,s.createContext)({});var H=e.i(89601);let U=g&&window.__SWR_DEVTOOLS_USE__,G=(U?window.__SWR_DEVTOOLS_USE__:[]).concat(e=>(t,r,s)=>{let a=r&&((...e)=>{let[s]=L(t),[,,,a]=o.get(I);if(s.startsWith("$inf$"))return r(...e);let i=a[s];return p(i)?r(...e):(delete a[s],i)});return e(t,a,s)});U&&(window.__SWR_DEVTOOLS_REACT__=s.default);let J=()=>{},K=J(),Z=(new WeakMap,s.default.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}})),Q={dedupe:!0},X=Promise.resolve(d);u.defineProperty(e=>{let{value:t}=e,r=(0,s.useContext)(q),a="function"==typeof t,i=(0,s.useMemo)(()=>a?t(r):t,[a,r,t]),n=(0,s.useMemo)(()=>a?i:W(r,i),[a,r,i]),l=i&&i.provider,o=(0,s.useRef)(d);l&&!o.current&&(o.current=_(l(n.cache||I),i));let c=o.current;return c&&(n.cache=c[0],n.mutate=c[1]),E(()=>{if(c)return c[2]&&c[2](),c[3]},[]),(0,s.createElement)(q.Provider,m(e,{value:n}))},"defaultValue",{value:B});let Y=(t=(e,t,r)=>{let{cache:a,compare:i,suspense:l,fallbackData:c,revalidateOnMount:u,revalidateIfStale:h,refreshInterval:x,refreshWhenHidden:b,refreshWhenOffline:j,keepPreviousData:v}=r,[N,w,k,T]=o.get(a),[A,O]=L(e),R=(0,s.useRef)(!1),P=(0,s.useRef)(!1),$=(0,s.useRef)(A),F=(0,s.useRef)(t),M=(0,s.useRef)(r),_=()=>M.current.isVisible()&&M.current.isOnline(),[I,z,B,W]=y(a,A),q=(0,s.useRef)({}).current,U=p(c)?p(r.fallback)?d:r.fallback[A]:c,G=(e,t)=>{for(let r in q)if("data"===r){if(!i(e[r],t[r])&&(!p(e[r])||!i(ei,t[r])))return!1}else if(t[r]!==e[r])return!1;return!0},J=(0,s.useMemo)(()=>{let e=!!A&&!!t&&(p(u)?!M.current.isPaused()&&!l&&!1!==h:u),r=t=>{let r=m(t);return(delete r._k,e)?{isValidating:!0,isLoading:!0,...r}:r},s=I(),a=W(),i=r(s),n=s===a?i:r(a),o=i;return[()=>{let e=r(I());return G(e,o)?(o.data=e.data,o.isLoading=e.isLoading,o.isValidating=e.isValidating,o.error=e.error,o):(o=e,e)},()=>n]},[a,A]),K=(0,n.useSyncExternalStore)((0,s.useCallback)(e=>B(A,(t,r)=>{G(r,t)||e()}),[a,A]),J[0],J[1]),Y=!R.current,ee=N[A]&&N[A].length>0,et=K.data,er=p(et)?U&&"function"==typeof U.then?Z(U):U:et,es=K.error,ea=(0,s.useRef)(er),ei=v?p(et)?p(ea.current)?er:ea.current:et:er,en=(!ee||!!p(es))&&(Y&&!p(u)?u:!M.current.isPaused()&&(l?!p(er)&&h:p(er)||h)),el=!!(A&&t&&Y&&en),eo=p(K.isValidating)?el:K.isValidating,ec=p(K.isLoading)?el:K.isLoading,ed=(0,s.useCallback)(async e=>{let t,s,a=F.current;if(!A||!a||P.current||M.current.isPaused())return!1;let n=!0,l=e||{},o=!k[A]||!l.dedupe,c=()=>S?!P.current&&A===$.current&&R.current:A===$.current,u={isValidating:!1,isLoading:!1},m=()=>{z(u)},h=()=>{let e=k[A];e&&e[1]===s&&delete k[A]},x={isValidating:!0};p(I().data)&&(x.isLoading=!0);try{if(o&&(z(x),r.loadingTimeout&&p(I().data)&&setTimeout(()=>{n&&c()&&M.current.onLoadingSlow(A,r)},r.loadingTimeout),k[A]=[a(O),D()]),[t,s]=k[A],t=await t,o&&setTimeout(h,r.dedupingInterval),!k[A]||k[A][1]!==s)return o&&c()&&M.current.onDiscarded(A),!1;u.error=d;let e=w[A];if(!p(e)&&(s<=e[0]||s<=e[1]||0===e[1]))return m(),o&&c()&&M.current.onDiscarded(A),!1;let l=I().data;u.data=i(l,t)?l:t,o&&c()&&M.current.onSuccess(t,A,r)}catch(r){h();let e=M.current,{shouldRetryOnError:t}=e;!e.isPaused()&&(u.error=r,o&&c())&&(e.onError(r,A,e),(!0===t||"function"==typeof t&&t(r))&&(!M.current.revalidateOnFocus||!M.current.revalidateOnReconnect||_())&&e.onErrorRetry(r,A,e,e=>{let t=N[A];t&&t[0]&&t[0](H.ERROR_REVALIDATE_EVENT,e)},{retryCount:(l.retryCount||0)+1,dedupe:!0}))}return n=!1,m(),!0},[A,a]),eu=(0,s.useCallback)((...e)=>V(a,$.current,...e),[]);if(E(()=>{F.current=t,M.current=r,p(et)||(ea.current=et)}),E(()=>{var e;let t;if(!A)return;let r=ed.bind(d,Q),s=0;M.current.revalidateOnFocus&&(s=Date.now()+M.current.focusThrottleInterval);let a=(e=(e,t={})=>{if(e==H.FOCUS_EVENT){let e=Date.now();M.current.revalidateOnFocus&&e>s&&_()&&(s=e+M.current.focusThrottleInterval,r())}else if(e==H.RECONNECT_EVENT)M.current.revalidateOnReconnect&&_()&&r();else if(e==H.MUTATE_EVENT)return ed();else if(e==H.ERROR_REVALIDATE_EVENT)return ed(t)},(t=N[A]||(N[A]=[])).push(e),()=>{let r=t.indexOf(e);r>=0&&(t[r]=t[t.length-1],t.pop())});if(P.current=!1,$.current=A,R.current=!0,z({_k:O}),en&&!k[A])if(p(er)||C)r();else g&&typeof window.requestAnimationFrame!=f?window.requestAnimationFrame(r):setTimeout(r,1);return()=>{P.current=!0,a()}},[A]),E(()=>{let e;function t(){let t="function"==typeof x?x(I().data):x;t&&-1!==e&&(e=setTimeout(r,t))}function r(){!I().error&&(b||M.current.isVisible())&&(j||M.current.isOnline())?ed(Q).then(t):t()}return t(),()=>{e&&(clearTimeout(e),e=-1)}},[x,b,j,A]),(0,s.useDebugValue)(ei),l){let e=A&&p(er);if(!S&&C&&e)throw Error("Fallback data is required when using Suspense in SSR.");e&&(F.current=t,M.current=r,P.current=!1);let s=T[A];if(Z(!p(s)&&e?eu(s):X),!p(es)&&e)throw es;let a=e?ed(Q):X;!p(ei)&&e&&(a.status="fulfilled",a.value=!0),Z(a)}return{mutate:eu,get data(){return q.data=!0,ei},get error(){return q.error=!0,es},get isValidating(){return q.isValidating=!0,eo},get isLoading(){return q.isLoading=!0,ec}}},function(...e){let r,a=(r=(0,s.useContext)(q),(0,s.useMemo)(()=>m(B,r),[r])),[i,n,l]="function"==typeof e[1]?[e[0],e[1],e[2]||{}]:[e[0],null,(null===e[1]?e[2]:e[1])||{}],o=W(a,l),c=t,{use:d}=o,u=(d||[]).concat(G);for(let e=u.length;e--;)c=u[e](c);return c(i,n||o.fetcher||null,o)});var ee=e.i(603921),et=e.i(812878),er=e.i(188168),es=e.i(237545),ea=e.i(235893),ei=e.i(40843),en=e.i(75364),el=e.i(196812),eo=e.i(490225),ec=e.i(443991),ed=e.i(145878),eu=e.i(632137);function ep({createdAt:e,updatedAt:t,completedAt:s,status:a,className:i}){let n=[];return(e&&n.push({label:"Created",date:e,isActive:!0,isFuture:!1,icon:ei.Clock,color:"text-blue-600"}),"in-progress"===a||"complete"===a||"archived"===a?n.push({label:"In Progress",date:t||e,isActive:!0,isFuture:!1,icon:en.PlayCircle,color:"text-orange-600"}):n.push({label:"In Progress",date:null,isActive:!1,isFuture:!0,icon:ec.Circle,color:"text-muted-foreground"}),"complete"===a||"archived"===a?n.push({label:"Complete",date:s||t,isActive:!0,isFuture:!1,icon:el.CheckCircle2,color:"text-green-600"}):n.push({label:"Complete",date:null,isActive:!1,isFuture:!0,icon:ec.Circle,color:"text-muted-foreground"}),"archived"===a&&n.push({label:"Archived",date:t,isActive:!0,isFuture:!1,icon:eo.Archive,color:"text-gray-600"}),0===n.length)?null:(0,r.jsx)("div",{className:(0,eu.cn)("flex items-start gap-2",i),children:n.map((e,t)=>{let s=e.icon,a=t===n.length-1,i=a?null:n[t+1],l=e.date&&i?.date&&!i.isFuture?(0,ed.formatDuration)(e.date,i.date):"";return(0,r.jsxs)("div",{className:"flex items-center gap-2 flex-1",children:[(0,r.jsxs)("div",{className:"flex flex-col items-center gap-1 min-w-0",children:[(0,r.jsx)("div",{className:(0,eu.cn)("w-8 h-8 rounded-full border-2 bg-background flex items-center justify-center shrink-0",e.isActive&&!e.isFuture?"border-primary":"border-muted-foreground/40"),children:s&&(0,r.jsx)(s,{className:(0,eu.cn)("h-4 w-4",e.isActive&&!e.isFuture?"text-primary":"text-muted-foreground/60")})}),(0,r.jsx)("div",{className:(0,eu.cn)("text-xs font-medium text-center whitespace-nowrap",e.isActive&&!e.isFuture?"text-foreground":"text-muted-foreground"),children:e.label}),(0,r.jsxs)("div",{className:"text-[10px] text-center min-h-[14px]",children:[e.date&&!e.isFuture&&(0,r.jsx)("span",{className:"text-muted-foreground",children:(0,ed.formatRelativeTime)(e.date)}),!e.date&&e.isFuture&&(0,r.jsx)("span",{className:"text-muted-foreground/70",children:"Awaiting start"}),e.date&&e.isFuture&&(0,r.jsx)("span",{className:"text-muted-foreground/70",children:"Queued"}),!e.date&&!e.isFuture&&(0,r.jsx)("span",{className:"text-muted-foreground/60",children:"Pending update"})]})]}),!a&&(0,r.jsxs)("div",{className:"flex flex-col items-center flex-1 min-w-4 gap-0.5",children:[(0,r.jsx)("div",{className:(0,eu.cn)("h-0.5 w-full",e.isActive&&!e.isFuture?"bg-primary":"bg-muted-foreground/40")}),l&&(0,r.jsx)("div",{className:"text-[10px] text-muted-foreground font-medium whitespace-nowrap",children:l})]})]},t)})})}var em=e.i(168497),eh=e.i(597705),ex=e.i(787949);e.i(178420);var ef=e.i(995403),eg=e.i(708737);let eb=["planned","in-progress","complete","archived"],ej={planned:{icon:ei.Clock,label:"Planned",className:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"},"in-progress":{icon:en.PlayCircle,label:"In Progress",className:"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-400"},complete:{icon:el.CheckCircle2,label:"Complete",className:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400"},archived:{icon:eo.Archive,label:"Archived",className:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-400"}};function ey({specId:e,currentStatus:t,onUpdate:a,disabled:i=!1,projectId:n}){let[l,o]=s.useState(t||"planned"),[c,d]=s.useState(!1),[u,p]=s.useState(null),m=async t=>{if(t!==l){o(t),d(!0),p(null);try{let r=n?`/api/projects/${n}/specs/${e}/metadata`:`/api/specs/${e}/metadata`,s=await fetch(r,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:t})});if(!s.ok){let e=await s.json();throw Error(e.error||"Failed to update status")}a?.(t),ef.toast.success("Status updated")}catch(t){o(l);let e=t instanceof Error?t.message:"Failed to update";p(e),ef.toast.error("Failed to update status",{description:e}),console.error("Status update failed:",t)}finally{d(!1)}}},h=ej[l]||ej.planned,x=h.icon;return(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)(eg.Select,{value:l,onValueChange:e=>m(e),disabled:i||c,children:[(0,r.jsx)(eg.SelectTrigger,{className:(0,eu.cn)("h-7 w-fit min-w-[120px] border-0 px-2 text-xs font-medium",h.className,c&&"opacity-70"),"aria-label":"Change spec status",children:(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[c?(0,r.jsx)(ex.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(x,{className:"h-3.5 w-3.5"}),(0,r.jsx)(eg.SelectValue,{children:h.label})]})}),(0,r.jsx)(eg.SelectContent,{children:eb.map(e=>{let t=ej[e],s=t.icon;return(0,r.jsx)(eg.SelectItem,{value:e,className:"pl-2",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(s,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:t.label})]})},e)})})]}),u&&(0,r.jsx)("div",{className:"absolute top-full left-0 mt-1 text-xs text-destructive",children:u})]})}var ev=e.i(94176),eN=e.i(606751),ew=e.i(755541),ek=e.i(374231);let eS=["low","medium","high","critical"],eC={critical:{icon:ev.AlertCircle,label:"Critical",className:"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"},high:{icon:eN.ArrowUp,label:"High",className:"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-400"},medium:{icon:ew.Minus,label:"Medium",className:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"},low:{icon:ek.ArrowDown,label:"Low",className:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-400"}};function eE({specId:e,currentPriority:t,onUpdate:a,disabled:i=!1,projectId:n}){let[l,o]=s.useState(t||"medium"),[c,d]=s.useState(!1),[u,p]=s.useState(null),m=async t=>{if(t!==l){o(t),d(!0),p(null);try{let r=n?`/api/projects/${n}/specs/${e}/metadata`:`/api/specs/${e}/metadata`,s=await fetch(r,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:t})});if(!s.ok){let e=await s.json();throw Error(e.error||"Failed to update priority")}a?.(t),ef.toast.success("Priority updated")}catch(t){o(l);let e=t instanceof Error?t.message:"Failed to update";p(e),ef.toast.error("Failed to update priority",{description:e}),console.error("Priority update failed:",t)}finally{d(!1)}}},h=eC[l]||eC.medium,x=h.icon;return(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)(eg.Select,{value:l,onValueChange:e=>m(e),disabled:i||c,children:[(0,r.jsx)(eg.SelectTrigger,{className:(0,eu.cn)("h-7 w-fit min-w-[100px] border-0 px-2 text-xs font-medium",h.className,c&&"opacity-70"),"aria-label":"Change spec priority",children:(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[c?(0,r.jsx)(ex.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(x,{className:"h-3.5 w-3.5"}),(0,r.jsx)(eg.SelectValue,{children:h.label})]})}),(0,r.jsx)(eg.SelectContent,{children:eS.map(e=>{let t=eC[e],s=t.icon;return(0,r.jsx)(eg.SelectItem,{value:e,className:"pl-2",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(s,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:t.label})]})},e)})})]}),u&&(0,r.jsx)("div",{className:"absolute top-full left-0 mt-1 text-xs text-destructive",children:u})]})}var eT=e.i(644021),eA=e.i(963781),eO=e.i(323490),eR=e.i(341965),eP=e.i(694541);function e$({specId:e,currentTags:t,onUpdate:a,disabled:i=!1,projectId:n}){let[l,o]=s.useState(t||[]),[c,d]=s.useState([]),[u,p]=s.useState(!1),[m,h]=s.useState(null),[x,f]=s.useState(!1),[g,b]=s.useState("");s.useEffect(()=>{x&&0===c.length&&(async()=>{try{let e=n?`/api/projects/${n}/tags`:"/api/tags",t=await fetch(e);if(t.ok){let e=await t.json();d(e.tags||[])}}catch(e){console.error("Failed to fetch tags:",e)}})()},[x,c.length,n]);let j=async t=>{o(t),p(!0),h(null);try{let r=n?`/api/projects/${n}/specs/${e}/metadata`:`/api/specs/${e}/metadata`,s=await fetch(r,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({tags:t})});if(!s.ok){let e=await s.json();throw Error(e.error||"Failed to update tags")}a?.(t),ef.toast.success("Tags updated")}catch(t){o(l);let e=t instanceof Error?t.message:"Failed to update";h(e),ef.toast.error("Failed to update tags",{description:e}),console.error("Tags update failed:",t)}finally{p(!1)}},y=e=>{let t=e.trim().toLowerCase();t&&(l.includes(t)?h("Tag already exists"):(j([...l,t]),b(""),f(!1)))},v=s.useMemo(()=>{let e=g.toLowerCase();return c.filter(e=>!l.includes(e)).filter(t=>!e||t.toLowerCase().includes(e))},[c,l,g]),N=g.trim()&&!l.includes(g.trim().toLowerCase())&&!c.includes(g.trim().toLowerCase());return(0,r.jsx)("div",{className:"relative",children:(0,r.jsxs)("div",{className:"flex gap-1 flex-wrap items-center",children:[l.map(e=>(0,r.jsxs)(eO.Badge,{variant:"outline",className:(0,eu.cn)("text-xs pr-1 gap-1",i&&"opacity-50"),children:[e,!i&&(0,r.jsx)("button",{onClick:()=>{j(l.filter(t=>t!==e))},disabled:u,className:"ml-1 rounded-full hover:bg-muted p-0.5 transition-colors","aria-label":`Remove ${e} tag`,children:(0,r.jsx)(eT.X,{className:"h-3 w-3"})})]},e)),!i&&(0,r.jsxs)(eR.Popover,{open:x,onOpenChange:f,children:[(0,r.jsx)(eR.PopoverTrigger,{asChild:!0,children:(0,r.jsx)(ea.Button,{variant:"outline",size:"sm",className:"h-6 px-2 text-xs",disabled:u,"aria-label":"Add new tag",children:u?(0,r.jsx)(ex.Loader2,{className:"h-3 w-3 animate-spin"}):(0,r.jsx)(eA.Plus,{className:"h-3 w-3"})})}),(0,r.jsxs)(eR.PopoverContent,{className:"w-56 p-0",align:"start",children:[(0,r.jsxs)(eP.Command,{children:[(0,r.jsx)(eP.CommandInput,{placeholder:"Search or create tag...",value:g,onValueChange:b}),(0,r.jsxs)(eP.CommandList,{children:[(0,r.jsx)(eP.CommandEmpty,{children:N?(0,r.jsxs)(eP.CommandItem,{onSelect:()=>y(g),className:"cursor-pointer",children:[(0,r.jsx)(eA.Plus,{className:"mr-2 h-4 w-4"}),'Create "',g.trim().toLowerCase(),'"']}):(0,r.jsx)("span",{className:"text-muted-foreground px-2 py-1.5 text-sm",children:"No tags found."})}),v.length>0&&(0,r.jsx)(eP.CommandGroup,{heading:"Existing tags",children:v.slice(0,10).map(e=>(0,r.jsx)(eP.CommandItem,{value:e,onSelect:()=>y(e),className:"cursor-pointer",children:e},e))}),N&&v.length>0&&(0,r.jsx)(eP.CommandGroup,{heading:"Create new",children:(0,r.jsxs)(eP.CommandItem,{onSelect:()=>y(g),className:"cursor-pointer",children:[(0,r.jsx)(eA.Plus,{className:"mr-2 h-4 w-4"}),'Create "',g.trim().toLowerCase(),'"']})})]})]}),m&&(0,r.jsx)("p",{className:"text-xs text-destructive px-2 pb-2",children:m})]})]})]})})}var eL=e.i(987985);function eF({href:e,children:t,currentSpecNumber:s,projectId:a,...i}){if(!e)return(0,r.jsx)("a",{...i,children:t});let n=function(e,t,r){if(e.startsWith("#")||e.startsWith("http://")||e.startsWith("https://"))return e;let s=(e,t)=>{let s=r?`/projects/${r}/specs/${e}`:`/specs/${e}`;return t?`${s}?subspec=${t}`:s},a=e.match(/^\.\/([^/]+\.md)$/);if(a&&t){let e=a[1];return"README.md"!==e?s(t,e):s(t)}let i=e.match(/^\.\.\/(\d+)-[^/]+\/?([^/]+\.md)?$/);if(i){let e=parseInt(i[1],10),t=i[2];return t&&"README.md"!==t?s(e,t):s(e)}return e}(e,s,a),l=n.startsWith("http://")||n.startsWith("https://"),o=n.startsWith("#");return l||o?(0,r.jsx)("a",{href:n,...i,target:l?"_blank":void 0,rel:l?"noopener noreferrer":void 0,children:t}):(0,r.jsx)(eL.default,{href:n,...i,className:"text-primary hover:underline",children:t})}var eD=e.i(998489),eV=e.i(656756),eM=e.i(35380),e_=e.i(910338),eI=e.i(555141),ez=e.i(252294),eB=e.i(771864);let eW="#f59e0b",eq="#ef4444",eH={current:"border-primary/70 bg-primary/5 text-foreground",precedence:"border-amber-400/70 bg-amber-400/10 text-amber-900 dark:text-amber-200","required-by":"border-red-400/70 bg-red-400/10 text-red-900 dark:text-red-200"},eU={rankdir:"LR",align:"UL",nodesep:60,ranksep:120,marginx:40,marginy:40},eG=s.memo(function({data:e}){return(0,r.jsxs)("div",{className:(0,eu.cn)("flex w-[280px] flex-col gap-1.5 rounded-xl border-2 px-5 py-4 text-base shadow-md transition-colors",eH[e.tone],e.interactive&&"cursor-pointer hover:border-primary/70 hover:shadow-lg"),children:[(0,r.jsx)(eB.Handle,{type:"target",position:eB.Position.Left,className:"opacity-0"}),(0,r.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground/70",children:e.badge}),(0,r.jsx)("span",{className:"text-base font-semibold leading-snug",children:e.label}),e.subtitle&&(0,r.jsx)("span",{className:"text-sm text-muted-foreground/80",children:e.subtitle}),(0,r.jsx)(eB.Handle,{type:"source",position:eB.Position.Right,className:"opacity-0"})]})});eG.displayName="SpecNode";let eJ={specNode:eG};function eK(e){let t=e.trim();if(!t)return"Unknown Spec";let r=t.match(/^(\d+)[-_]?(.*)$/);if(!r)return t;let s=r[1].padStart(3,"0"),a=r[2]?.replace(/[-_]/g," ").trim();return a?`#${s} ${a}`:`#${s}`}function eZ(e,t){let r=e.trim(),s=r.match(/^(\d+)/),a=s?parseInt(s[1],10):r;return t?`/projects/${t}/specs/${a}`:`/specs/${a}`}function eQ(e,t,r){return`${e}-${r}-${t.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-")||r}`}function eX({relationships:e,specNumber:t,specTitle:a,projectId:n}){let l=(0,i.useRouter)(),[o,c]=s.useState(null),d=s.useMemo(()=>{let r,s,i,l;return r=[],s=[],i={id:"current-spec",type:"specNode",data:{label:t?`#${t.toString().padStart(3,"0")} ${a}`:a,badge:"Current Spec",subtitle:"This spec",tone:"current",interactive:!1},position:{x:0,y:0},draggable:!1,selectable:!1,sourcePosition:eB.Position.Right,targetPosition:eB.Position.Left},r.push(i),e.dependsOn?.forEach((e,t)=>{let a=eQ("precedence",e,t);r.push({id:a,type:"specNode",data:{label:eK(e),badge:"Depends On",subtitle:"Must complete first",tone:"precedence",href:eZ(e,n),interactive:!0},position:{x:0,y:0},draggable:!1,selectable:!0,sourcePosition:eB.Position.Right,targetPosition:eB.Position.Left}),s.push({id:`edge-${a}-current`,source:a,target:i.id,type:"smoothstep",markerEnd:{type:eB.MarkerType.ArrowClosed,color:eW,width:28,height:28},style:{stroke:eW,strokeWidth:3}})}),e.requiredBy?.forEach((e,t)=>{let a=eQ("required-by",e,t);r.push({id:a,type:"specNode",data:{label:eK(e),badge:"Required By",subtitle:"Blocked by this spec",tone:"required-by",href:eZ(e,n),interactive:!0},position:{x:0,y:0},draggable:!1,selectable:!0,sourcePosition:eB.Position.Right,targetPosition:eB.Position.Left}),s.push({id:`edge-current-${a}`,source:i.id,target:a,type:"smoothstep",markerEnd:{type:eB.MarkerType.ArrowClosed,color:eq,width:28,height:28},style:{stroke:eq,strokeWidth:3}})}),(l=new eM.default.graphlib.Graph).setGraph(eU),l.setDefaultEdgeLabel(()=>({})),r.forEach(e=>{l.setNode(e.id,{width:280,height:110})}),s.forEach(e=>{l.setEdge(e.source,e.target)}),eM.default.layout(l),{nodes:r.map(e=>{let{x:t,y:r}=l.node(e.id);return{...e,position:{x:t-140,y:r-55}}}),edges:s}},[e,t,a,n]),u=s.useCallback(e=>{c(e),requestAnimationFrame(()=>{e.fitView({padding:.4,duration:350})})},[]);s.useEffect(()=>{o&&o.fitView({padding:.4,duration:350})},[o,d.nodes]);let p=s.useCallback((e,t)=>{!t?.data||t.data.href&&l.push(t.data.href)},[l]);return(0,r.jsxs)("div",{className:"flex h-full flex-col gap-4",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 text-sm text-muted-foreground",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide",children:"Dependency Map"}),(0,r.jsx)("p",{className:"text-base text-foreground",children:"Explore precedence and connected work"})]}),(0,r.jsx)("div",{className:"rounded-full border border-border px-3 py-1.5 text-sm font-medium uppercase tracking-wide",children:"React Flow DAG"})]}),(0,r.jsx)("div",{className:"flex-1 overflow-hidden rounded-2xl border border-border bg-muted/30",children:(0,r.jsxs)(e_.default,{nodes:d.nodes,edges:d.edges,nodeTypes:eJ,onInit:u,className:"h-full w-full",fitView:!0,proOptions:{hideAttribution:!0},nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,panOnScroll:!0,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,minZoom:.4,maxZoom:1.6,onNodeClick:p,children:[(0,r.jsx)(eI.Background,{gap:24,size:1,color:"rgba(148, 163, 184, 0.3)"}),(0,r.jsx)(ez.Controls,{showInteractive:!1})]})}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-4 text-sm text-muted-foreground",children:[(0,r.jsxs)("span",{className:"inline-flex items-center gap-2 font-medium",children:[(0,r.jsx)("span",{className:"inline-block h-2.5 w-8 rounded-full bg-amber-400/80"}),"Depends On → blocks until complete"]}),(0,r.jsxs)("span",{className:"inline-flex items-center gap-2 font-medium",children:[(0,r.jsx)("span",{className:"inline-block h-2.5 w-8 rounded-full bg-red-400/80"}),"Required By ← blocked by this spec"]}),(0,r.jsxs)("span",{className:"inline-flex items-center gap-2 font-medium",children:[(0,r.jsx)("span",{className:"inline-block h-2.5 w-8 rounded-full bg-sky-400/80"}),"Related ↔ connected work (bidirectional)"]}),(0,r.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,r.jsx)("span",{className:"inline-block h-2.5 w-8 rounded-full bg-primary/60"}),"Drag to pan • Scroll / pinch to zoom."]})]})]})}var eY=e.i(715683),e0=e.i(439779),e1=e.i(20648),e2=e.i(20315),e5=e.i(122436);let e3=(0,e5.default)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]),e4=(0,e5.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]),e8=(0,e5.default)("test-tube",[["path",{d:"M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2",key:"125lnx"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M14.5 16h-5",key:"1ox875"}]]),e6=(0,e5.default)("square-check-big",[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),e9=(0,e5.default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]),e7=(0,e5.default)("map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]]);var te=e.i(730885),tt=e.i(497332),tr=e.i(296026),ts=e.i(635389),ta=e.i(340982),ti=e.i(522764),tn=e.i(765213),tl=e.i(446207);let to=()=>e=>{(0,tl.visit)(e,"html",e=>{"string"==typeof e.value&&e.value.trim().startsWith("<!--")&&(e.value="")})},tc={FileText:e2.FileText,Palette:e3,Code:e4,TestTube:e8,CheckSquare:e6,Wrench:e9,Map:e7,GitBranch:te.GitBranch,Home:tt.Home,TrendingUp:tr.TrendingUp},td=e=>fetch(e).then(e=>{if(!e.ok)throw Error(`HTTP error! status: ${e.status}`);return e.json()});function tu({initialSpec:e,initialSubSpec:t,isFocusMode:a=!1,onToggleFocusMode:n}){let l=(0,i.useRouter)(),o=(0,i.useSearchParams)().get("subspec")||t,[c,d]=s.useState(!1),[u,p]=s.useState(!1),{getSpecUrl:m,projectId:h}=(0,e1.useProjectUrl)(),x=h?`/api/projects/${h}/specs/${e.specNumber||e.id}`:`/api/specs/${e.specNumber||e.id}`,f=h?`/api/projects/${h}/specs/${e.specNumber||e.id}/dependency-graph`:`/api/specs/${e.specNumber||e.id}/dependency-graph`,{data:g,error:b,isLoading:j}=Y(x,td,{fallbackData:{spec:e},revalidateOnFocus:!1,dedupingInterval:5e3}),{data:y}=Y(u?f:null,td,{revalidateOnFocus:!1,dedupingInterval:6e4}),v=g?.spec||e,N=s.useMemo(()=>v.tags||[],[v.tags]),w=v.updatedAt?(0,ed.formatRelativeTime)(v.updatedAt):"N/A",k=v.relationships,S=y?{dependsOn:y.dependsOn.map(e=>e.specName),requiredBy:y.requiredBy.map(e=>e.specName)}:k,C=!!(k&&((k.dependsOn?.length??0)>0||(k.requiredBy?.length??0)>0));s.useEffect(()=>{C||p(!1)},[C]);let E=(0,eu.extractH1Title)(v.contentMd)||v.title||v.specName,T=v.contentMd;if(o&&v.subSpecs){let e=v.subSpecs.find(e=>e.file===o);e&&(T=e.content)}let A=e=>e?new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):"N/A",O=e=>{let t=e?m(v.specNumber||v.id,e):m(v.specNumber||v.id);l.push(t,{scroll:!1})},R=s.useRef(null);return s.useEffect(()=>{let e=()=>{let e=56;window.innerWidth>=1024&&R.current&&(e+=R.current.offsetHeight-56),document.documentElement.style.scrollPaddingTop=`${e}px`};e(),window.addEventListener("resize",e);let t=new ResizeObserver(e);return R.current&&t.observe(R.current),()=>{window.removeEventListener("resize",e),t.disconnect(),document.documentElement.style.scrollPaddingTop=""}},[v,N]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("header",{ref:R,className:"lg:sticky lg:top-14 lg:z-20 border-b bg-card",children:[(0,r.jsx)("div",{className:(0,eu.cn)("px-3 sm:px-6",a?"py-1.5":"py-2 sm:py-3"),children:a?(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,r.jsxs)("h1",{className:"text-base font-semibold tracking-tight truncate",children:[v.specNumber&&(0,r.jsxs)("span",{className:"text-muted-foreground",children:["#",v.specNumber.toString().padStart(3,"0")," "]}),E]}),(0,r.jsx)(em.StatusBadge,{status:v.status||"planned"}),(0,r.jsx)(eh.PriorityBadge,{priority:v.priority||"medium"})]}),(0,r.jsx)(ea.Button,{type:"button",variant:"ghost",size:"sm",onClick:n,className:"h-7 px-2 text-xs text-muted-foreground hover:text-foreground shrink-0",title:"Exit focus mode",children:(0,r.jsx)(ta.Minimize2,{className:"h-4 w-4"})})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2 mb-1.5 sm:mb-2",children:[(0,r.jsxs)("h1",{className:"text-lg sm:text-xl font-bold tracking-tight",children:[v.specNumber&&(0,r.jsxs)("span",{className:"text-muted-foreground",children:["#",v.specNumber.toString().padStart(3,"0")," "]}),E]}),(0,r.jsxs)(ea.Button,{variant:"ghost",size:"icon",className:"lg:hidden h-8 w-8 -mr-2 shrink-0 text-muted-foreground",onClick:()=>{window.toggleSpecsSidebar&&window.toggleSpecsSidebar()},children:[(0,r.jsx)(ti.List,{className:"h-5 w-5"}),(0,r.jsx)("span",{className:"sr-only",children:"Toggle specs list"})]})]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)(ey,{specId:v.specNumber?.toString()||v.id,currentStatus:v.status||"planned",projectId:h}),(0,r.jsx)(eE,{specId:v.specNumber?.toString()||v.id,currentPriority:v.priority||"medium",projectId:h}),(0,r.jsx)("div",{className:"h-4 w-px bg-border mx-1 hidden sm:block"}),(0,r.jsx)(e$,{specId:v.specNumber?.toString()||v.id,currentTags:N,projectId:h})]}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-2 sm:gap-4 text-xs text-muted-foreground mt-1.5 sm:mt-2",children:[(0,r.jsxs)("span",{className:"hidden sm:inline",children:["Created: ",A(v.createdAt)]}),(0,r.jsx)("span",{className:"hidden sm:inline",children:"•"}),(0,r.jsxs)("span",{children:["Updated: ",A(v.updatedAt),v.updatedAt&&(0,r.jsxs)("span",{className:"ml-1 text-[11px] text-muted-foreground/80",children:["(",w,")"]})]}),(0,r.jsx)("span",{className:"hidden sm:inline",children:"•"}),(0,r.jsxs)("span",{className:"hidden md:inline",children:["Name: ",v.specName]}),v.assignee&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"hidden sm:inline",children:"•"}),(0,r.jsxs)("span",{className:"hidden sm:inline",children:["Assignee: ",v.assignee]})]})]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mt-2",children:[(0,r.jsxs)(e0.Dialog,{open:c,onOpenChange:d,children:[(0,r.jsxs)(ea.Button,{type:"button",variant:"outline",size:"sm","aria-haspopup":"dialog","aria-expanded":c,onClick:()=>d(!0),className:"h-8 rounded-full border px-3 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground",children:[(0,r.jsx)(ei.Clock,{className:"mr-1.5 h-3.5 w-3.5"}),"View Timeline",(0,r.jsx)(ts.Maximize2,{className:"ml-1.5 h-3.5 w-3.5"})]}),(0,r.jsxs)(e0.DialogContent,{className:"w-[min(900px,90vw)] max-w-3xl max-h-[90vh] overflow-y-auto",children:[(0,r.jsxs)(e0.DialogHeader,{children:[(0,r.jsx)(e0.DialogTitle,{children:"Spec Timeline"}),(0,r.jsx)(e0.DialogDescription,{children:"Created, updated, and completion milestones."})]}),(0,r.jsx)("div",{className:"rounded-xl border border-border bg-muted/30 p-4",children:(0,r.jsx)(ep,{createdAt:v.createdAt,updatedAt:v.updatedAt,completedAt:v.completedAt,status:v.status||"planned"})})]})]}),(0,r.jsxs)(e0.Dialog,{open:u,onOpenChange:p,children:[(0,r.jsxs)(ea.Button,{type:"button",variant:"outline",size:"sm","aria-haspopup":"dialog","aria-expanded":u,onClick:()=>p(!0),disabled:!C,className:(0,eu.cn)("h-8 rounded-full border px-3 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground",!C&&"cursor-not-allowed opacity-50"),children:[(0,r.jsx)(te.GitBranch,{className:"mr-1.5 h-3.5 w-3.5"}),"View Dependencies",(0,r.jsx)(ts.Maximize2,{className:"ml-1.5 h-3.5 w-3.5"})]}),(0,r.jsxs)(e0.DialogContent,{className:"flex h-[85vh] w-[min(1200px,95vw)] max-w-6xl flex-col gap-4 overflow-hidden",children:[(0,r.jsxs)(e0.DialogHeader,{children:[(0,r.jsx)(e0.DialogTitle,{children:"Dependency Graph"}),(0,r.jsxs)(e0.DialogDescription,{className:"flex flex-col gap-2",children:[(0,r.jsx)("span",{children:"Precedence requirements and connected specs rendered with automatic layout."}),(0,r.jsxs)(eL.default,{href:h?`/projects/${h}/dependencies?spec=${v.specNumber||v.id}`:`/dependencies?spec=${v.specNumber||v.id}`,className:"inline-flex items-center gap-1.5 text-xs text-primary hover:underline w-fit",onClick:()=>p(!1),children:[(0,r.jsx)(tn.ExternalLink,{className:"h-3 w-3"}),"View in full dependencies page"]})]})]}),(0,r.jsx)("div",{className:"min-h-0 flex-1",children:S&&(0,r.jsx)(eX,{relationships:S,specNumber:v.specNumber,specTitle:E,projectId:h})})]})]}),n&&(0,r.jsxs)(ea.Button,{type:"button",variant:"outline",size:"sm",onClick:n,className:"hidden lg:inline-flex h-8 rounded-full border px-3 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground",title:"Enter focus mode",children:[(0,r.jsx)(ts.Maximize2,{className:"mr-1.5 h-3.5 w-3.5"}),"Focus"]})]})]})}),v.subSpecs&&v.subSpecs.length>0&&(0,r.jsx)("div",{className:"border-t bg-muted/30",children:(0,r.jsx)("div",{className:"px-3 sm:px-6 overflow-x-auto",children:(0,r.jsxs)("div",{className:"flex gap-1 py-2 min-w-max",children:[(0,r.jsxs)("button",{onClick:()=>O(null),className:`flex items-center gap-2 px-3 sm:px-4 py-2 text-xs sm:text-sm font-medium rounded-md whitespace-nowrap transition-colors ${!o?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,children:[(0,r.jsx)(tt.Home,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"hidden sm:inline",children:"Overview"})]}),v.subSpecs.map(e=>{let t=tc[e.iconName]||e2.FileText;return(0,r.jsxs)("button",{onClick:()=>O(e.file),className:`flex items-center gap-2 px-3 sm:px-4 py-2 text-xs sm:text-sm font-medium rounded-md whitespace-nowrap transition-colors ${o===e.file?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,children:[(0,r.jsx)(t,{className:`h-4 w-4 ${e.color}`}),(0,r.jsx)("span",{className:"hidden sm:inline",children:e.name})]},e.file)})]})})})]}),(0,r.jsxs)("div",{className:"flex flex-col xl:flex-row xl:items-start",children:[(0,r.jsx)("main",{className:"flex-1 px-3 sm:px-6 py-3 sm:py-6 min-w-0",children:(0,r.jsxs)("div",{className:"space-y-4",children:[j&&(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:"Loading..."}),b&&(0,r.jsx)("div",{className:"text-sm text-destructive",children:"Error loading spec"}),(0,r.jsx)("article",{className:"prose prose-slate dark:prose-invert max-w-none prose-sm sm:prose-base",children:(0,r.jsx)(ee.default,{remarkPlugins:[et.default,to],rehypePlugins:[er.default,es.default],components:{a:e=>(0,r.jsx)(eF,{...e,currentSpecNumber:v.specNumber||void 0,projectId:h}),pre:({children:e,...t})=>{let a=s.Children.toArray(e)[0];if(s.isValidElement(a)&&"code"===a.type&&"string"==typeof a.props.className&&a.props.className?.includes("language-mermaid")){let e=a.props,t="string"==typeof e.children?e.children:"";return(0,r.jsx)(eY.MermaidDiagram,{code:t})}return(0,r.jsx)("pre",{...t,children:e})}},children:T})})]})}),(0,r.jsx)("aside",{className:"hidden xl:block w-72 shrink-0 px-6 py-6 sticky top-32 h-[calc(100vh-8rem)] overflow-y-auto scrollbar-auto-hide",children:(0,r.jsx)(eD.TableOfContentsSidebar,{content:T})})]}),(0,r.jsx)("div",{className:"xl:hidden",children:(0,r.jsx)(eD.TableOfContents,{content:T})}),(0,r.jsx)(eV.BackToTop,{})]})}var tp=e.i(293821);function tm({spec:e,allSpecs:t,currentSubSpec:i}){let[n,l]=s.useState(()=>"true"===localStorage.getItem("spec-detail-focus-mode")),o=s.useCallback(()=>{l(e=>{let t=!e;return localStorage.setItem("spec-detail-focus-mode",String(t)),t})},[]),c=s.useMemo(()=>t.map(e=>({id:e.id,specNumber:e.specNumber,title:e.title,specName:e.specName,status:e.status,priority:e.priority,tags:e.tags,updatedAt:e.updatedAt,subSpecsCount:"subSpecsCount"in e?e.subSpecsCount:void 0})),[t]);s.useEffect(()=>{(0,tp.primeSpecsSidebar)(c)},[c]),s.useEffect(()=>{(0,tp.setActiveSidebarSpec)(e.id)},[e.id]);let d=s.useCallback(e=>{fetch(`/api/specs/${e}`).catch(()=>{})},[]);return(0,r.jsxs)("div",{className:"flex min-h-[calc(100vh-3.5rem)] w-full min-w-0",children:[(0,r.jsx)(a.SpecsNavSidebar,{initialSpecs:c,currentSpecId:e.id,currentSubSpec:i,onSpecHover:d,className:(0,eu.cn)(n&&"hidden")}),(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)(tu,{initialSpec:e,initialSubSpec:i,isFocusMode:n,onToggleFocusMode:o})})]})}e.s(["SpecDetailWrapper",()=>tm],918412)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,296026,e=>{"use strict";let s=(0,e.i(122436).default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);e.s(["TrendingUp",()=>s],296026)},76075,e=>{"use strict";var s=e.i(890022),t=e.i(431231),a=e.i(632137);let r=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow",e),...t}));r.displayName="Card";let l=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("flex flex-col space-y-1.5 p-6",e),...t}));l.displayName="CardHeader";let d=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("font-semibold leading-none tracking-tight",e),...t}));d.displayName="CardTitle";let i=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("text-sm text-muted-foreground",e),...t}));i.displayName="CardDescription";let c=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("p-6 pt-0",e),...t}));c.displayName="CardContent",t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("flex items-center p-6 pt-0",e),...t})).displayName="CardFooter",e.s(["Card",()=>r,"CardContent",()=>c,"CardDescription",()=>i,"CardHeader",()=>l,"CardTitle",()=>d])},522764,e=>{"use strict";let s=(0,e.i(122436).default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>s],522764)},416992,e=>{"use strict";let s=(0,e.i(122436).default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);e.s(["LayoutGrid",()=>s],416992)},506116,e=>{"use strict";var s=e.i(890022),t=e.i(431231),a=e.i(987985),r=e.i(20648),l=e.i(76075),d=e.i(235893),i=e.i(20315),c=e.i(196812),n=e.i(75364),o=e.i(40843),x=e.i(416992),m=e.i(522764),h=e.i(296026);let p=(0,e.i(122436).default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);var u=e.i(787949),j=e.i(168497),f=e.i(597705),N=e.i(323490);function g({spec:e,projectId:t}){let r=e.title||e.specName,l=t?`/projects/${t}/specs/${e.specNumber}`:`/specs/${e.specNumber}`;return(0,s.jsx)(a.default,{href:l,className:"block p-3 rounded-lg hover:bg-accent transition-colors",title:e.specName,children:(0,s.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[e.specNumber&&(0,s.jsxs)("span",{className:"text-sm font-mono text-muted-foreground shrink-0",children:["#",e.specNumber.toString().padStart(3,"0")]}),(0,s.jsx)("h4",{className:"text-sm font-medium truncate",children:r})]}),r!==e.specName&&(0,s.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:e.specName}),e.tags&&e.tags.length>0&&(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:e.tags.slice(0,3).map(e=>(0,s.jsx)(N.Badge,{variant:"secondary",className:"text-xs",children:e},e))})]}),(0,s.jsxs)("div",{className:"flex flex-col items-end gap-1 shrink-0",children:[e.status&&(0,s.jsx)(j.StatusBadge,{status:e.status,className:"text-xs scale-90"}),e.priority&&(0,s.jsx)(f.PriorityBadge,{priority:e.priority,className:"text-xs scale-90"})]})]})})}function v({spec:e,action:t,time:r,projectId:l}){let d=e.title||e.specName,i=l?`/projects/${l}/specs/${e.specNumber}`:`/specs/${e.specNumber}`;return(0,s.jsxs)("div",{className:"flex items-start gap-3 py-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 rounded-full bg-primary mt-2 shrink-0"}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("p",{className:"text-sm",children:[(0,s.jsxs)(a.default,{href:i,className:"font-medium hover:underline",title:e.specName,children:["#",e.specNumber?.toString().padStart(3,"0")," ",d]})," ",(0,s.jsx)("span",{className:"text-muted-foreground",children:t})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:function(e){if(!e)return"Unknown";let s=Math.floor((new Date().getTime()-e.getTime())/36e5),t=Math.floor(s/24);return s<1?"Just now":s<24?`${s} hour${s>1?"s":""} ago`:t<7?`${t} day${t>1?"s":""} ago`:t<30?`${Math.floor(t/7)} week${Math.floor(t/7)>1?"s":""} ago`:e.toLocaleDateString()}(r)})]})]})}function C({initialSpecs:e,initialStats:j,projectId:f}){let{mode:N,currentProject:C,isLoading:y}=(0,r.useProject)(),[b,w]=(0,t.useState)(e),[k,T]=(0,t.useState)(j);if((0,t.useEffect)(()=>{w(e),T(j)},[e,j]),"multi-project"===N&&!f&&!C)return y?(0,s.jsx)("div",{className:"flex items-center justify-center h-screen",children:(0,s.jsx)(u.Loader2,{className:"animate-spin"})}):(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center h-[calc(100vh-4rem)] text-center p-8",children:[(0,s.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"Welcome to LeanSpec"}),(0,s.jsx)("p",{className:"text-muted-foreground mb-4",children:"Select a project from the sidebar or create a new one to get started."})]});let S=b.filter(e=>"in-progress"===e.status).sort((e,s)=>(s.specNumber||0)-(e.specNumber||0)).slice(0,5),A=b.filter(e=>"planned"===e.status).sort((e,s)=>(s.specNumber||0)-(e.specNumber||0)).slice(0,5),M=b.sort((e,s)=>e.createdAt?s.createdAt?s.createdAt.getTime()-e.createdAt.getTime():-1:1).slice(0,5),B=b.filter(e=>e.updatedAt).sort((e,s)=>e.updatedAt?s.updatedAt?s.updatedAt.getTime()-e.updatedAt.getTime():-1:1).slice(0,10),$=k.specsByStatus.find(e=>"complete"===e.status)?.count||0;return(0,s.jsx)("div",{className:"min-h-screen bg-background p-4 sm:p-8",children:(0,s.jsxs)("div",{className:"max-w-7xl mx-auto space-y-6 sm:space-y-8",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-3xl sm:text-4xl font-bold tracking-tight",children:"Dashboard"}),(0,s.jsx)("p",{className:"text-muted-foreground mt-2",children:"Project overview and recent activity"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3 sm:gap-4",children:[(0,s.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-blue-500/10 to-transparent"}),(0,s.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"Total Specs"}),(0,s.jsx)(i.FileText,{className:"h-5 w-5 text-blue-600"})]})}),(0,s.jsx)(l.CardContent,{className:"relative",children:(0,s.jsx)("div",{className:"text-3xl font-bold",children:k.totalSpecs})})]}),(0,s.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-orange-500/10 to-transparent"}),(0,s.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"In Progress"}),(0,s.jsx)(n.PlayCircle,{className:"h-5 w-5 text-orange-600"})]})}),(0,s.jsx)(l.CardContent,{className:"relative",children:(0,s.jsx)("div",{className:"text-3xl font-bold",children:k.specsByStatus.find(e=>"in-progress"===e.status)?.count||0})})]}),(0,s.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-green-500/10 to-transparent"}),(0,s.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"Completed"}),(0,s.jsx)(c.CheckCircle2,{className:"h-5 w-5 text-green-600"})]})}),(0,s.jsxs)(l.CardContent,{className:"relative",children:[(0,s.jsx)("div",{className:"text-3xl font-bold",children:$}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground mt-1 flex items-center gap-1",children:[(0,s.jsx)(h.TrendingUp,{className:"h-3 w-3"}),k.completionRate.toFixed(1),"% completion rate"]})]})]}),(0,s.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-purple-500/10 to-transparent"}),(0,s.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"Planned"}),(0,s.jsx)(o.Clock,{className:"h-5 w-5 text-purple-600"})]})}),(0,s.jsx)(l.CardContent,{className:"relative",children:(0,s.jsx)("div",{className:"text-3xl font-bold",children:k.specsByStatus.find(e=>"planned"===e.status)?.count||0})})]})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-4 sm:gap-6",children:[(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)(l.CardTitle,{className:"text-lg flex items-center gap-2",children:[(0,s.jsx)(p,{className:"h-5 w-5 text-blue-600"}),"Recently Added"]})}),(0,s.jsx)(l.CardContent,{className:"space-y-1",children:M.slice(0,5).map(e=>(0,s.jsx)(g,{spec:e,projectId:f},e.id))})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)(l.CardTitle,{className:"text-lg flex items-center gap-2",children:[(0,s.jsx)(o.Clock,{className:"h-5 w-5 text-purple-600"}),"Planned (",A.length,")"]})}),(0,s.jsx)(l.CardContent,{className:"space-y-1",children:A.length>0?A.map(e=>(0,s.jsx)(g,{spec:e,projectId:f},e.id)):(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"No planned specs"})})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)(l.CardTitle,{className:"text-lg flex items-center gap-2",children:[(0,s.jsx)(n.PlayCircle,{className:"h-5 w-5 text-orange-600"}),"In Progress (",S.length,")"]})}),(0,s.jsx)(l.CardContent,{className:"space-y-1",children:S.length>0?S.map(e=>(0,s.jsx)(g,{spec:e,projectId:f},e.id)):(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"No specs in progress"})})]})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsx)(l.CardTitle,{className:"text-lg",children:"Recent Activity"})}),(0,s.jsx)(l.CardContent,{children:(0,s.jsx)("div",{className:"border-l-2 border-muted pl-4 space-y-1",children:B.map(e=>(0,s.jsx)(v,{spec:e,action:"updated",time:e.updatedAt,projectId:f},e.id))})})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsx)(l.CardTitle,{className:"text-lg",children:"Quick Actions"})}),(0,s.jsx)(l.CardContent,{children:(0,s.jsxs)("div",{className:"flex flex-wrap gap-3",children:[(0,s.jsx)(d.Button,{asChild:!0,children:(0,s.jsxs)(a.default,{href:"/specs",children:[(0,s.jsx)(m.List,{className:"h-4 w-4 mr-2"}),"View All Specs"]})}),(0,s.jsx)(d.Button,{variant:"outline",asChild:!0,children:(0,s.jsxs)(a.default,{href:"/specs?view=board",children:[(0,s.jsx)(x.LayoutGrid,{className:"h-4 w-4 mr-2"}),"Board View"]})}),(0,s.jsx)(d.Button,{variant:"outline",asChild:!0,children:(0,s.jsxs)(a.default,{href:"/stats",children:[(0,s.jsx)(h.TrendingUp,{className:"h-4 w-4 mr-2"}),"View Stats"]})})]})})]})]})})}e.s(["DashboardClient",()=>C],506116)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,296026,e=>{"use strict";let s=(0,e.i(122436).default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);e.s(["TrendingUp",()=>s],296026)},76075,e=>{"use strict";var s=e.i(890022),t=e.i(431231),a=e.i(632137);let r=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow",e),...t}));r.displayName="Card";let l=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("flex flex-col space-y-1.5 p-6",e),...t}));l.displayName="CardHeader";let d=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("font-semibold leading-none tracking-tight",e),...t}));d.displayName="CardTitle";let i=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("text-sm text-muted-foreground",e),...t}));i.displayName="CardDescription";let c=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("p-6 pt-0",e),...t}));c.displayName="CardContent",t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("flex items-center p-6 pt-0",e),...t})).displayName="CardFooter",e.s(["Card",()=>r,"CardContent",()=>c,"CardDescription",()=>i,"CardHeader",()=>l,"CardTitle",()=>d])},522764,e=>{"use strict";let s=(0,e.i(122436).default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>s],522764)},416992,e=>{"use strict";let s=(0,e.i(122436).default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);e.s(["LayoutGrid",()=>s],416992)},506116,e=>{"use strict";var s=e.i(890022),t=e.i(431231),a=e.i(987985),r=e.i(20648),l=e.i(76075),d=e.i(235893),i=e.i(20315),c=e.i(196812),n=e.i(75364),o=e.i(40843),x=e.i(416992),m=e.i(522764),h=e.i(296026);let p=(0,e.i(122436).default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);var u=e.i(787949),j=e.i(168497),f=e.i(597705),N=e.i(323490);function g({spec:e,projectId:t}){let r=e.title||e.specName,l=t?`/projects/${t}/specs/${e.specNumber}`:`/specs/${e.specNumber}`;return(0,s.jsx)(a.default,{href:l,className:"block p-3 rounded-lg hover:bg-accent transition-colors",title:e.specName,children:(0,s.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[e.specNumber&&(0,s.jsxs)("span",{className:"text-sm font-mono text-muted-foreground shrink-0",children:["#",e.specNumber.toString().padStart(3,"0")]}),(0,s.jsx)("h4",{className:"text-sm font-medium truncate",children:r})]}),r!==e.specName&&(0,s.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:e.specName}),e.tags&&e.tags.length>0&&(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:e.tags.slice(0,3).map(e=>(0,s.jsx)(N.Badge,{variant:"secondary",className:"text-xs",children:e},e))})]}),(0,s.jsxs)("div",{className:"flex flex-col items-end gap-1 shrink-0",children:[e.status&&(0,s.jsx)(j.StatusBadge,{status:e.status,className:"text-xs scale-90"}),e.priority&&(0,s.jsx)(f.PriorityBadge,{priority:e.priority,className:"text-xs scale-90"})]})]})})}function v({spec:e,action:t,time:r,projectId:l}){let d=e.title||e.specName,i=l?`/projects/${l}/specs/${e.specNumber}`:`/specs/${e.specNumber}`;return(0,s.jsxs)("div",{className:"flex items-start gap-3 py-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 rounded-full bg-primary mt-2 shrink-0"}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("p",{className:"text-sm",children:[(0,s.jsxs)(a.default,{href:i,className:"font-medium hover:underline",title:e.specName,children:["#",e.specNumber?.toString().padStart(3,"0")," ",d]})," ",(0,s.jsx)("span",{className:"text-muted-foreground",children:t})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:function(e){if(!e)return"Unknown";let s=Math.floor((new Date().getTime()-e.getTime())/36e5),t=Math.floor(s/24);return s<1?"Just now":s<24?`${s} hour${s>1?"s":""} ago`:t<7?`${t} day${t>1?"s":""} ago`:t<30?`${Math.floor(t/7)} week${Math.floor(t/7)>1?"s":""} ago`:e.toLocaleDateString()}(r)})]})]})}function C({initialSpecs:e,initialStats:j,projectId:f}){let{mode:N,currentProject:C,isLoading:y}=(0,r.useProject)(),[b,w]=(0,t.useState)(e),[k,T]=(0,t.useState)(j);if((0,t.useEffect)(()=>{w(e),T(j)},[e,j]),"multi-project"===N&&!f&&!C)return y?(0,s.jsx)("div",{className:"flex items-center justify-center h-screen",children:(0,s.jsx)(u.Loader2,{className:"animate-spin"})}):(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center h-[calc(100vh-4rem)] text-center p-8",children:[(0,s.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"Welcome to LeanSpec"}),(0,s.jsx)("p",{className:"text-muted-foreground mb-4",children:"Select a project from the sidebar or create a new one to get started."})]});let S=b.filter(e=>"in-progress"===e.status).sort((e,s)=>(s.specNumber||0)-(e.specNumber||0)).slice(0,5),A=b.filter(e=>"planned"===e.status).sort((e,s)=>(s.specNumber||0)-(e.specNumber||0)).slice(0,5),M=b.sort((e,s)=>e.createdAt?s.createdAt?s.createdAt.getTime()-e.createdAt.getTime():-1:1).slice(0,5),$=b.filter(e=>e.updatedAt).sort((e,s)=>e.updatedAt?s.updatedAt?s.updatedAt.getTime()-e.updatedAt.getTime():-1:1).slice(0,10),B=k.specsByStatus.find(e=>"complete"===e.status)?.count||0;return(0,s.jsx)("div",{className:"min-h-screen bg-background p-4 sm:p-8",children:(0,s.jsxs)("div",{className:"max-w-7xl mx-auto space-y-6 sm:space-y-8",children:[(0,s.jsx)("div",{children:(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[C?.color&&(0,s.jsx)("div",{className:"h-8 w-2 rounded-full shrink-0",style:{backgroundColor:C.color}}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-3xl sm:text-4xl font-bold tracking-tight",children:"Dashboard"}),(0,s.jsx)("p",{className:"text-muted-foreground mt-2",children:C?`${C.name} — overview and recent activity`:"Project overview and recent activity"})]})]})}),(0,s.jsxs)("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3 sm:gap-4",children:[(0,s.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-blue-500/10 to-transparent"}),(0,s.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"Total Specs"}),(0,s.jsx)(i.FileText,{className:"h-5 w-5 text-blue-600"})]})}),(0,s.jsx)(l.CardContent,{className:"relative",children:(0,s.jsx)("div",{className:"text-3xl font-bold",children:k.totalSpecs})})]}),(0,s.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-orange-500/10 to-transparent"}),(0,s.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"In Progress"}),(0,s.jsx)(n.PlayCircle,{className:"h-5 w-5 text-orange-600"})]})}),(0,s.jsx)(l.CardContent,{className:"relative",children:(0,s.jsx)("div",{className:"text-3xl font-bold",children:k.specsByStatus.find(e=>"in-progress"===e.status)?.count||0})})]}),(0,s.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-green-500/10 to-transparent"}),(0,s.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"Completed"}),(0,s.jsx)(c.CheckCircle2,{className:"h-5 w-5 text-green-600"})]})}),(0,s.jsxs)(l.CardContent,{className:"relative",children:[(0,s.jsx)("div",{className:"text-3xl font-bold",children:B}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground mt-1 flex items-center gap-1",children:[(0,s.jsx)(h.TrendingUp,{className:"h-3 w-3"}),k.completionRate.toFixed(1),"% completion rate"]})]})]}),(0,s.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-purple-500/10 to-transparent"}),(0,s.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"Planned"}),(0,s.jsx)(o.Clock,{className:"h-5 w-5 text-purple-600"})]})}),(0,s.jsx)(l.CardContent,{className:"relative",children:(0,s.jsx)("div",{className:"text-3xl font-bold",children:k.specsByStatus.find(e=>"planned"===e.status)?.count||0})})]})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-4 sm:gap-6",children:[(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)(l.CardTitle,{className:"text-lg flex items-center gap-2",children:[(0,s.jsx)(p,{className:"h-5 w-5 text-blue-600"}),"Recently Added"]})}),(0,s.jsx)(l.CardContent,{className:"space-y-1",children:M.slice(0,5).map(e=>(0,s.jsx)(g,{spec:e,projectId:f},e.id))})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)(l.CardTitle,{className:"text-lg flex items-center gap-2",children:[(0,s.jsx)(o.Clock,{className:"h-5 w-5 text-purple-600"}),"Planned (",A.length,")"]})}),(0,s.jsx)(l.CardContent,{className:"space-y-1",children:A.length>0?A.map(e=>(0,s.jsx)(g,{spec:e,projectId:f},e.id)):(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"No planned specs"})})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)(l.CardTitle,{className:"text-lg flex items-center gap-2",children:[(0,s.jsx)(n.PlayCircle,{className:"h-5 w-5 text-orange-600"}),"In Progress (",S.length,")"]})}),(0,s.jsx)(l.CardContent,{className:"space-y-1",children:S.length>0?S.map(e=>(0,s.jsx)(g,{spec:e,projectId:f},e.id)):(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"No specs in progress"})})]})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsx)(l.CardTitle,{className:"text-lg",children:"Recent Activity"})}),(0,s.jsx)(l.CardContent,{children:(0,s.jsx)("div",{className:"border-l-2 border-muted pl-4 space-y-1",children:$.map(e=>(0,s.jsx)(v,{spec:e,action:"updated",time:e.updatedAt,projectId:f},e.id))})})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsx)(l.CardTitle,{className:"text-lg",children:"Quick Actions"})}),(0,s.jsx)(l.CardContent,{children:(0,s.jsxs)("div",{className:"flex flex-wrap gap-3",children:[(0,s.jsx)(d.Button,{asChild:!0,children:(0,s.jsxs)(a.default,{href:"/specs",children:[(0,s.jsx)(m.List,{className:"h-4 w-4 mr-2"}),"View All Specs"]})}),(0,s.jsx)(d.Button,{variant:"outline",asChild:!0,children:(0,s.jsxs)(a.default,{href:"/specs?view=board",children:[(0,s.jsx)(x.LayoutGrid,{className:"h-4 w-4 mr-2"}),"Board View"]})}),(0,s.jsx)(d.Button,{variant:"outline",asChild:!0,children:(0,s.jsxs)(a.default,{href:"/stats",children:[(0,s.jsx)(h.TrendingUp,{className:"h-4 w-4 mr-2"}),"View Stats"]})})]})})]})]})})}e.s(["DashboardClient",()=>C],506116)}]);
@@ -0,0 +1,5 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,111052,e=>{"use strict";var t=e.i(431231),a=e.i(430406),r=e.i(943988),n=e=>{var n;let o,i,{present:l,children:d}=e,c=function(e){var a,n;let[o,i]=t.useState(),l=t.useRef(null),d=t.useRef(e),c=t.useRef("none"),[u,p]=(a=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},t.useReducer((e,t)=>n[e][t]??e,a));return t.useEffect(()=>{let e=s(l.current);c.current="mounted"===u?e:"none"},[u]),(0,r.useLayoutEffect)(()=>{let t=l.current,a=d.current;if(a!==e){let r=c.current,n=s(t);e?p("MOUNT"):"none"===n||t?.display==="none"?p("UNMOUNT"):a&&r!==n?p("ANIMATION_OUT"):p("UNMOUNT"),d.current=e}},[e,p]),(0,r.useLayoutEffect)(()=>{if(o){let e,t=o.ownerDocument.defaultView??window,a=a=>{let r=s(l.current).includes(CSS.escape(a.animationName));if(a.target===o&&r&&(p("ANIMATION_END"),!d.current)){let a=o.style.animationFillMode;o.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===o.style.animationFillMode&&(o.style.animationFillMode=a)})}},r=e=>{e.target===o&&(c.current=s(l.current))};return o.addEventListener("animationstart",r),o.addEventListener("animationcancel",a),o.addEventListener("animationend",a),()=>{t.clearTimeout(e),o.removeEventListener("animationstart",r),o.removeEventListener("animationcancel",a),o.removeEventListener("animationend",a)}}p("ANIMATION_END")},[o,p]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:t.useCallback(e=>{l.current=e?getComputedStyle(e):null,i(e)},[])}}(l),u="function"==typeof d?d({present:c.isPresent}):t.Children.only(d),p=(0,a.useComposedRefs)(c.ref,(n=u,(i=(o=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in o&&o.isReactWarning)?n.ref:(i=(o=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in o&&o.isReactWarning)?n.props.ref:n.props.ref||n.ref));return"function"==typeof d||c.isPresent?t.cloneElement(u,{ref:p}):null};function s(e){return e?.animationName||"none"}n.displayName="Presence",e.s(["Presence",()=>n])},644021,e=>{"use strict";let t=(0,e.i(122436).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],644021)},222850,e=>{"use strict";var t=e.i(890022),a=e.i(632137);function r({className:e,...r}){return(0,t.jsx)("div",{className:(0,a.cn)("animate-pulse rounded-md bg-muted",e),...r})}e.s(["Skeleton",()=>r])},439779,739065,e=>{"use strict";var t=e.i(890022),a=e.i(431231),r=e.i(291967),n=e.i(430406),s=e.i(79014),o=e.i(315599),i=e.i(393136),l=e.i(255235),d=e.i(31007),c=e.i(214260),u=e.i(111052),p=e.i(122925),f=e.i(254440),m=e.i(97496),g=e.i(73772),h=e.i(665489),x="Dialog",[v,y]=(0,s.createContextScope)(x),[j,N]=v(x),b=e=>{let{__scopeDialog:r,children:n,open:s,defaultOpen:l,onOpenChange:d,modal:c=!0}=e,u=a.useRef(null),p=a.useRef(null),[f,m]=(0,i.useControllableState)({prop:s,defaultProp:l??!1,onChange:d,caller:x});return(0,t.jsx)(j,{scope:r,triggerRef:u,contentRef:p,contentId:(0,o.useId)(),titleId:(0,o.useId)(),descriptionId:(0,o.useId)(),open:f,onOpenChange:m,onOpenToggle:a.useCallback(()=>m(e=>!e),[m]),modal:c,children:n})};b.displayName=x;var w="DialogTrigger",D=a.forwardRef((e,a)=>{let{__scopeDialog:s,...o}=e,i=N(w,s),l=(0,n.useComposedRefs)(a,i.triggerRef);return(0,t.jsx)(p.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":$(i.open),...o,ref:l,onClick:(0,r.composeEventHandlers)(e.onClick,i.onOpenToggle)})});D.displayName=w;var k="DialogPortal",[C,R]=v(k,{forceMount:void 0}),O=e=>{let{__scopeDialog:r,forceMount:n,children:s,container:o}=e,i=N(k,r);return(0,t.jsx)(C,{scope:r,forceMount:n,children:a.Children.map(s,e=>(0,t.jsx)(u.Presence,{present:n||i.open,children:(0,t.jsx)(c.Portal,{asChild:!0,container:o,children:e})}))})};O.displayName=k;var P="DialogOverlay",E=a.forwardRef((e,a)=>{let r=R(P,e.__scopeDialog),{forceMount:n=r.forceMount,...s}=e,o=N(P,e.__scopeDialog);return o.modal?(0,t.jsx)(u.Presence,{present:n||o.open,children:(0,t.jsx)(I,{...s,ref:a})}):null});E.displayName=P;var S=(0,h.createSlot)("DialogOverlay.RemoveScroll"),I=a.forwardRef((e,a)=>{let{__scopeDialog:r,...n}=e,s=N(P,r);return(0,t.jsx)(m.RemoveScroll,{as:S,allowPinchZoom:!0,shards:[s.contentRef],children:(0,t.jsx)(p.Primitive.div,{"data-state":$(s.open),...n,ref:a,style:{pointerEvents:"auto",...n.style}})})}),T="DialogContent",A=a.forwardRef((e,a)=>{let r=R(T,e.__scopeDialog),{forceMount:n=r.forceMount,...s}=e,o=N(T,e.__scopeDialog);return(0,t.jsx)(u.Presence,{present:n||o.open,children:o.modal?(0,t.jsx)(F,{...s,ref:a}):(0,t.jsx)(M,{...s,ref:a})})});A.displayName=T;var F=a.forwardRef((e,s)=>{let o=N(T,e.__scopeDialog),i=a.useRef(null),l=(0,n.useComposedRefs)(s,o.contentRef,i);return a.useEffect(()=>{let e=i.current;if(e)return(0,g.hideOthers)(e)},[]),(0,t.jsx)(L,{...e,ref:l,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,r.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),o.triggerRef.current?.focus()}),onPointerDownOutside:(0,r.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,a=0===t.button&&!0===t.ctrlKey;(2===t.button||a)&&e.preventDefault()}),onFocusOutside:(0,r.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})}),M=a.forwardRef((e,r)=>{let n=N(T,e.__scopeDialog),s=a.useRef(!1),o=a.useRef(!1);return(0,t.jsx)(L,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(s.current||n.triggerRef.current?.focus(),t.preventDefault()),s.current=!1,o.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(s.current=!0,"pointerdown"===t.detail.originalEvent.type&&(o.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&o.current&&t.preventDefault()}})}),L=a.forwardRef((e,r)=>{let{__scopeDialog:s,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:c,...u}=e,p=N(T,s),m=a.useRef(null),g=(0,n.useComposedRefs)(r,m);return(0,f.useFocusGuards)(),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:i,onUnmountAutoFocus:c,children:(0,t.jsx)(l.DismissableLayer,{role:"dialog",id:p.contentId,"aria-describedby":p.descriptionId,"aria-labelledby":p.titleId,"data-state":$(p.open),...u,ref:g,onDismiss:()=>p.onOpenChange(!1)})}),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(X,{titleId:p.titleId}),(0,t.jsx)(Z,{contentRef:m,descriptionId:p.descriptionId})]})]})}),_="DialogTitle",B=a.forwardRef((e,a)=>{let{__scopeDialog:r,...n}=e,s=N(_,r);return(0,t.jsx)(p.Primitive.h2,{id:s.titleId,...n,ref:a})});B.displayName=_;var H="DialogDescription",U=a.forwardRef((e,a)=>{let{__scopeDialog:r,...n}=e,s=N(H,r);return(0,t.jsx)(p.Primitive.p,{id:s.descriptionId,...n,ref:a})});U.displayName=H;var z="DialogClose",W=a.forwardRef((e,a)=>{let{__scopeDialog:n,...s}=e,o=N(z,n);return(0,t.jsx)(p.Primitive.button,{type:"button",...s,ref:a,onClick:(0,r.composeEventHandlers)(e.onClick,()=>o.onOpenChange(!1))})});function $(e){return e?"open":"closed"}W.displayName=z;var V="DialogTitleWarning",[G,K]=(0,s.createContext)(V,{contentName:T,titleName:_,docsSlug:"dialog"}),X=({titleId:e})=>{let t=K(V),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
2
+
3
+ If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
4
+
5
+ For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return a.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},Z=({contentRef:e,descriptionId:t})=>{let r=K("DialogDescriptionWarning"),n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${r.contentName}}.`;return a.useEffect(()=>{let a=e.current?.getAttribute("aria-describedby");t&&a&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null};e.s(["Close",()=>W,"Content",()=>A,"Description",()=>U,"Overlay",()=>E,"Portal",()=>O,"Root",()=>b,"Title",()=>B,"Trigger",()=>D],739065);var q=e.i(644021),J=e.i(632137);let Q=a.forwardRef(({className:e,...a},r)=>(0,t.jsx)(E,{ref:r,className:(0,J.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...a}));Q.displayName=E.displayName;let Y=a.forwardRef(({className:e,children:a,...r},n)=>(0,t.jsxs)(O,{children:[(0,t.jsx)(Q,{}),(0,t.jsxs)(A,{ref:n,className:(0,J.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...r,children:[a,(0,t.jsxs)(W,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,t.jsx)(q.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));Y.displayName=A.displayName;let ee=({className:e,...a})=>(0,t.jsx)("div",{className:(0,J.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...a});ee.displayName="DialogHeader";let et=({className:e,...a})=>(0,t.jsx)("div",{className:(0,J.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});et.displayName="DialogFooter";let ea=a.forwardRef(({className:e,...a},r)=>(0,t.jsx)(B,{ref:r,className:(0,J.cn)("text-lg font-semibold leading-none tracking-tight",e),...a}));ea.displayName=B.displayName;let er=a.forwardRef(({className:e,...a},r)=>(0,t.jsx)(U,{ref:r,className:(0,J.cn)("text-sm text-muted-foreground",e),...a}));er.displayName=U.displayName,e.s(["Dialog",()=>b,"DialogContent",()=>Y,"DialogDescription",()=>er,"DialogFooter",()=>et,"DialogHeader",()=>ee,"DialogTitle",()=>ea],439779)},753938,e=>{"use strict";let t=(0,e.i(122436).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],753938)},954049,e=>{"use strict";let t=(0,e.i(122436).default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);e.s(["BookOpen",()=>t],954049)},828666,e=>{"use strict";let t=(0,e.i(122436).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Settings",()=>t],828666)},828964,409560,e=>{"use strict";var t=e.i(122436);let a=(0,t.default)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);e.s(["Star",()=>a],828964);var r=e.i(890022),n=e.i(431231),s=e.i(235893);let o=(0,t.default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var i=e.i(787949),l=e.i(753938),d=e.i(497332),c=e.i(525761),u=e.i(632137);function p({onSelect:e,onCancel:t,initialPath:a,actionLabel:p="Select This Folder",isLoading:f}){let[m,g]=(0,n.useState)(a||""),[h,x]=(0,n.useState)([]),[v,y]=(0,n.useState)(!1),[j,N]=(0,n.useState)(null),b=(0,n.useRef)(null),w=f||v;(0,n.useEffect)(()=>{D(m)},[m]),(0,n.useEffect)(()=>{b.current&&(b.current.scrollLeft=b.current.scrollWidth)},[m]);let D=async e=>{try{y(!0),N(null);let t=await fetch("/api/local-projects/list-directory",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!t.ok)throw Error("Failed to list directory");let a=await t.json();x(a.items),e||g(a.path)}catch(e){N(e instanceof Error?e.message:String(e))}finally{y(!1)}},k=e=>{g(e)},C=h.find(e=>".."===e.name),R=h.filter(e=>".."!==e.name),O=(e=>{if(!e)return[];let t=e.includes("\\")?"\\":"/",a=e.split(t).filter(Boolean),r=e.startsWith("/");return a.map((e,n)=>{let s=a.slice(0,n+1).join(t);return r&&(s="/"+s),{name:e,path:s}})})(m);return(0,r.jsxs)("div",{className:"flex flex-col h-[400px] gap-4 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center border rounded-md p-1 gap-1 bg-muted/30",children:[(0,r.jsx)(s.Button,{variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0",disabled:!C||w,onClick:()=>C&&k(C.path),title:"Go to parent directory",children:(0,r.jsx)(l.ArrowLeft,{className:"h-4 w-4"})}),(0,r.jsx)("div",{className:"w-px h-5 bg-border mx-1"}),(0,r.jsxs)("div",{ref:b,className:"flex-1 overflow-x-auto whitespace-nowrap flex items-center scrollbar-hide px-1 min-w-0",title:m,children:[(0,r.jsx)("button",{onClick:()=>k("/"),className:"hover:bg-accent p-1 rounded-sm transition-colors shrink-0",title:"Go to root",children:(0,r.jsx)(d.Home,{className:"h-4 w-4 text-muted-foreground"})}),O.map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center shrink-0",children:[(0,r.jsx)(c.ChevronRight,{className:"h-3 w-3 text-muted-foreground mx-0.5 shrink-0"}),(0,r.jsx)("button",{onClick:()=>k(e.path),className:(0,u.cn)("px-1.5 py-0.5 rounded-sm transition-colors text-sm hover:bg-accent hover:text-accent-foreground",t===O.length-1?"font-medium text-foreground":"text-muted-foreground"),children:e.name})]},e.path))]})]}),(0,r.jsxs)("div",{className:"flex-1 border rounded-md overflow-hidden relative bg-background min-h-0",children:[w&&(0,r.jsx)("div",{className:"absolute inset-0 bg-background/50 flex items-center justify-center z-10",children:(0,r.jsx)(i.Loader2,{className:"h-6 w-6 animate-spin"})}),j?(0,r.jsxs)("div",{className:"p-4 text-destructive text-sm text-center",children:[j,(0,r.jsx)(s.Button,{variant:"link",onClick:()=>D(m),className:"block mx-auto mt-2",children:"Retry"})]}):(0,r.jsx)("div",{className:"h-full overflow-auto",children:(0,r.jsx)("div",{className:"p-1",children:0!==R.length||w?R.map(e=>(0,r.jsxs)("button",{onClick:()=>k(e.path),className:"flex items-center gap-3 w-full px-3 py-2 text-sm rounded-sm hover:bg-accent hover:text-accent-foreground text-left group transition-colors",children:[(0,r.jsx)(o,{className:"h-4 w-4 text-blue-500 fill-blue-500/20 group-hover:fill-blue-500/30 transition-colors shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:e.name})]},e.path)):(0,r.jsx)("div",{className:"p-4 text-center text-sm text-muted-foreground",children:"Empty directory"})})})]}),(0,r.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,r.jsx)(s.Button,{variant:"outline",onClick:t,disabled:w,children:"Cancel"}),(0,r.jsx)(s.Button,{onClick:()=>e(m),disabled:w||!m,children:p})]})]})}e.s(["DirectoryPicker",()=>p],409560)},723882,e=>{"use strict";let t=(0,e.i(122436).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],723882)},361877,e=>{"use strict";var t=e.i(890022),a=e.i(431231),r=e.i(20648),n=e.i(235893),s=e.i(21079),o=e.i(409560),i=e.i(723882),l=e.i(439779),d=e.i(995403);function c({open:e,onOpenChange:c}){let{addProject:u}=(0,r.useProject)(),[p,f]=(0,a.useState)(""),[m,g]=(0,a.useState)(!1),[h,x]=(0,a.useState)("picker");(0,a.useEffect)(()=>{e&&(x("picker"),f(""))},[e]);let v=async e=>{try{g(!0);let t=await u(e);d.toast.success("Project added successfully"),c(!1),window.location.href=`/projects/${t.id}/specs`}catch(t){let e=t instanceof Error?t.message:"Failed to add project";d.toast.error(e)}finally{g(!1)}};return(0,t.jsx)(l.Dialog,{open:e,onOpenChange:c,children:(0,t.jsxs)(l.DialogContent,{className:"sm:max-w-[600px]",children:[(0,t.jsxs)(l.DialogHeader,{children:[(0,t.jsx)(l.DialogTitle,{children:"Add Project"}),(0,t.jsx)(l.DialogDescription,{children:"picker"===h?"Browse and select the project directory.":"Enter the absolute path to your local project directory."})]}),"picker"===h?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(o.DirectoryPicker,{onSelect:v,onCancel:()=>c(!1),initialPath:p,actionLabel:m?"Adding...":"Add Project",isLoading:m}),(0,t.jsx)("div",{className:"flex justify-center",children:(0,t.jsx)(n.Button,{variant:"link",size:"sm",onClick:()=>x("manual"),className:"text-muted-foreground",children:"Enter path manually"})})]}):(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),p&&v(p)},children:[(0,t.jsx)("div",{className:"grid gap-4 py-4",children:(0,t.jsxs)("div",{className:"grid gap-2",children:[(0,t.jsx)("label",{htmlFor:"path",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Project Path"}),(0,t.jsx)("div",{className:"flex gap-2",children:(0,t.jsx)(s.Input,{id:"path",value:p,onChange:e=>f(e.target.value),placeholder:"/path/to/your/project",className:"flex-1",disabled:m})}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Select the root directory of your project."})]})}),(0,t.jsxs)(l.DialogFooter,{className:"flex-col sm:flex-row gap-2",children:[(0,t.jsx)("div",{className:"flex-1 flex justify-start",children:(0,t.jsxs)(n.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>x("picker"),children:[(0,t.jsx)(i.FolderOpen,{className:"h-4 w-4 mr-2"}),"Browse folders"]})}),(0,t.jsx)(n.Button,{type:"button",variant:"outline",onClick:()=>c(!1),disabled:m,children:"Cancel"}),(0,t.jsx)(n.Button,{type:"submit",disabled:m||!p,children:m?"Adding...":"Add Project"})]})]})]})})}e.s(["CreateProjectDialog",()=>c])}]);
@@ -0,0 +1 @@
1
+ *,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:221.2 83.2% 53.3%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:221.2 83.2% 53.3%;--radius:.5rem}.dark{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:217.2 91.2% 59.8%;--primary-foreground:222.2 47.4% 11.2%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:224.3 76.3% 48%}*{border-color:hsl(var(--border))}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:#1118271a;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-slate{--tw-prose-body:#334155;--tw-prose-headings:#0f172a;--tw-prose-lead:#475569;--tw-prose-links:#0f172a;--tw-prose-bold:#0f172a;--tw-prose-counters:#64748b;--tw-prose-bullets:#cbd5e1;--tw-prose-hr:#e2e8f0;--tw-prose-quotes:#0f172a;--tw-prose-quote-borders:#e2e8f0;--tw-prose-captions:#64748b;--tw-prose-kbd:#0f172a;--tw-prose-kbd-shadows:#0f172a1a;--tw-prose-code:#0f172a;--tw-prose-pre-code:#e2e8f0;--tw-prose-pre-bg:#1e293b;--tw-prose-th-borders:#cbd5e1;--tw-prose-td-borders:#e2e8f0;--tw-prose-invert-body:#cbd5e1;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#94a3b8;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#94a3b8;--tw-prose-invert-bullets:#475569;--tw-prose-invert-hr:#334155;--tw-prose-invert-quotes:#f1f5f9;--tw-prose-invert-quote-borders:#334155;--tw-prose-invert-captions:#94a3b8;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#cbd5e1;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#475569;--tw-prose-invert-td-borders:#334155}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.bottom-24{bottom:6rem}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.left-\[calc\(var\(--main-sidebar-width\,240px\)\)\]{left:calc(var(--main-sidebar-width,240px))}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-14{top:3.5rem}.top-2\.5{top:.625rem}.top-20{top:5rem}.top-32{top:8rem}.top-4{top:1rem}.top-8{top:2rem}.top-\[50\%\]{top:50%}.top-full{top:100%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[60\]{z-index:60}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-ml-2{margin-left:-.5rem}.-mr-2{margin-right:-.5rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[400px\]{height:400px}.h-\[85vh\]{height:85vh}.h-\[calc\(100vh-3\.5rem\)\]{height:calc(100vh - 3.5rem)}.h-\[calc\(100vh-4rem\)\]{height:calc(100vh - 4rem)}.h-\[calc\(100vh-7rem\)\]{height:calc(100vh - 7rem)}.h-\[calc\(100vh-8rem\)\]{height:calc(100vh - 8rem)}.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}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[500px\]{max-height:500px}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:0}.min-h-\[14px\]{min-height:14px}.min-h-\[calc\(100vh-3\.5rem\)\]{min-height:calc(100vh - 3.5rem)}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\/3{width:66.6667%}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[110px\]{width:110px}.w-\[130px\]{width:130px}.w-\[140px\]{width:140px}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[280px\]{width:280px}.w-\[min\(1200px\,95vw\)\]{width:min(1200px,95vw)}.w-\[min\(900px\,90vw\)\]{width:min(900px,90vw)}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-4{min-width:1rem}.min-w-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-max{min-width:max-content}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[300px\]{max-width:300px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.-translate-y-1{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate:0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.\!rounded-md{border-radius:calc(var(--radius) - 2px)!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-bl-lg{border-bottom-left-radius:var(--radius)}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.\!border-border{border-color:hsl(var(--border))!important}.border-amber-400\/70{border-color:#fbbf24b3}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-500\/60{border-color:#3b82f699}.border-border{border-color:hsl(var(--border))}.border-destructive\/30{border-color:hsl(var(--destructive)/.3)}.border-destructive\/50{border-color:hsl(var(--destructive)/.5)}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-gray-500\/60{border-color:#6b728099}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-green-500\/60{border-color:#22c55e99}.border-input{border-color:hsl(var(--input))}.border-muted{border-color:hsl(var(--muted))}.border-muted-foreground\/40{border-color:hsl(var(--muted-foreground)/.4)}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.border-orange-500\/60{border-color:#f9731699}.border-primary{border-color:hsl(var(--primary))}.border-primary\/40{border-color:hsl(var(--primary)/.4)}.border-primary\/50{border-color:hsl(var(--primary)/.5)}.border-primary\/60{border-color:hsl(var(--primary)/.6)}.border-primary\/70{border-color:hsl(var(--primary)/.7)}.border-red-400\/70{border-color:#f87171b3}.border-red-500\/40{border-color:#ef444466}.border-transparent{border-color:#0000}.border-violet-500\/60{border-color:#8b5cf699}.border-l-amber-500{--tw-border-opacity:1;border-left-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-l-blue-500{--tw-border-opacity:1;border-left-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-l-emerald-500{--tw-border-opacity:1;border-left-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-l-gray-300{--tw-border-opacity:1;border-left-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-l-gray-400{--tw-border-opacity:1;border-left-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-l-orange-500{--tw-border-opacity:1;border-left-color:rgb(249 115 22/var(--tw-border-opacity,1))}.border-l-primary{border-left-color:hsl(var(--primary))}.border-l-red-500{--tw-border-opacity:1;border-left-color:rgb(239 68 68/var(--tw-border-opacity,1))}.\!bg-background\/90{background-color:hsl(var(--background)/.9)!important}.\!bg-white\/95{background-color:#fffffff2!important}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-400\/10{background-color:#fbbf241a}.bg-amber-400\/80{background-color:#fbbf24cc}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-background{background-color:hsl(var(--background))}.bg-background\/50{background-color:hsl(var(--background)/.5)}.bg-background\/80{background-color:hsl(var(--background)/.8)}.bg-background\/95{background-color:hsl(var(--background)/.95)}.bg-black\/50{background-color:#00000080}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-500\/30{background-color:#3b82f64d}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-card\/50{background-color:hsl(var(--card)/.5)}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive)/.1)}.bg-destructive\/20{background-color:hsl(var(--destructive)/.2)}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-500\/20{background-color:#6b728033}.bg-gray-500\/30{background-color:#6b72804d}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500\/20{background-color:#22c55e33}.bg-green-500\/30{background-color:#22c55e4d}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground)/.4)}.bg-muted\/10{background-color:hsl(var(--muted)/.1)}.bg-muted\/20{background-color:hsl(var(--muted)/.2)}.bg-muted\/30{background-color:hsl(var(--muted)/.3)}.bg-muted\/40{background-color:hsl(var(--muted)/.4)}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-500\/20{background-color:#f9731633}.bg-orange-500\/30{background-color:#f973164d}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-primary\/20{background-color:hsl(var(--primary)/.2)}.bg-primary\/5{background-color:hsl(var(--primary)/.05)}.bg-primary\/60{background-color:hsl(var(--primary)/.6)}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-400\/10{background-color:#f871711a}.bg-red-400\/80{background-color:#f87171cc}.bg-red-500\/10{background-color:#ef44441a}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sky-400\/80{background-color:#38bdf8cc}.bg-transparent{background-color:#0000}.bg-violet-500\/20{background-color:#8b5cf633}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-blue-500\/10{--tw-gradient-from:#3b82f61a var(--tw-gradient-from-position);--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500\/10{--tw-gradient-from:#22c55e1a var(--tw-gradient-from-position);--tw-gradient-to:#22c55e00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500\/10{--tw-gradient-from:#f973161a var(--tw-gradient-from-position);--tw-gradient-to:#f9731600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500\/10{--tw-gradient-from:#a855f71a var(--tw-gradient-from-position);--tw-gradient-to:#a855f700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.fill-blue-500\/20{fill:#3b82f633}.fill-current{fill:currentColor}.fill-yellow-500{fill:#eab308}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-14{padding-left:3.5rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/40{color:hsl(var(--muted-foreground)/.4)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground)/.5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground)/.6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground)/.7)}.text-muted-foreground\/80{color:hsl(var(--muted-foreground)/.8)}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-gray-400{--tw-ring-opacity:1;--tw-ring-color:rgb(156 163 175/var(--tw-ring-opacity,1))}.ring-gray-800{--tw-ring-opacity:1;--tw-ring-color:rgb(31 41 55/var(--tw-ring-opacity,1))}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.filter{filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.scrollbar-thin{scrollbar-width:thin}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground)/.2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground)/.4)}.overflow-x-hidden{overflow-x:hidden!important}.vertical-text{writing-mode:vertical-rl;transform:rotate(180deg)}.scrollbar-auto-hide{scrollbar-width:thin;scrollbar-color:transparent transparent}.scrollbar-auto-hide:hover{scrollbar-color:hsl(var(--muted-foreground)/.3)transparent}.scrollbar-auto-hide::-webkit-scrollbar{width:4px}.scrollbar-auto-hide::-webkit-scrollbar-track{background:0 0}.scrollbar-auto-hide::-webkit-scrollbar-thumb{background-color:#0000;border-radius:20px}.scrollbar-auto-hide:hover::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground)/.3)}.touch-manipulation{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.snap-x{scroll-snap-type:x mandatory}.snap-start{scroll-snap-align:start}.snap-mandatory{scroll-snap-type:x mandatory}body{font-family:system-ui,-apple-system,sans-serif}*{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:where([class*=transform],[class*=scale],[class*=translate]){transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}html.changing-theme *{transition:none!important}.hljs{color:#16181d;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.25rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.7;overflow-x:auto;box-shadow:0 1px 3px #0000001a}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#a833cc;font-weight:600}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:#157cd1}.hljs-string,.hljs-doctag{color:#608d3f}.hljs-title,.hljs-section,.hljs-selector-id{color:#b17135;font-weight:600}.hljs-type,.hljs-class .hljs-title{color:#d5992a}.hljs-tag,.hljs-name,.hljs-attribute{color:#d7424e;font-weight:400}.hljs-regexp,.hljs-link{color:#3d9ca9}.hljs-symbol,.hljs-bullet{color:#c3983c}.hljs-built_in,.hljs-builtin-name{color:#3d9ca9}.hljs-meta{color:#586174}.hljs-deletion{color:#900;background:#fcc}.hljs-addition{color:green;background:#cfc}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.dark .hljs{color:#f3f4f6;background:#1f2228;border-color:#2c313a;box-shadow:0 1px 2px #0000004d}.dark .hljs-comment,.dark .hljs-quote{color:#676f7e}.dark .hljs-keyword,.dark .hljs-selector-tag,.dark .hljs-subst{color:#ce8de2}.dark .hljs-number,.dark .hljs-literal,.dark .hljs-variable,.dark .hljs-template-variable,.dark .hljs-tag .hljs-attr{color:#78bbf2}.dark .hljs-string,.dark .hljs-doctag{color:#a6cb8b}.dark .hljs-title,.dark .hljs-section,.dark .hljs-selector-id{color:#d7a779}.dark .hljs-type,.dark .hljs-class .hljs-title{color:#e9ca90}.dark .hljs-tag,.dark .hljs-name,.dark .hljs-attribute{color:#e48189}.dark .hljs-regexp,.dark .hljs-link{color:#69bec9}.dark .hljs-symbol,.dark .hljs-bullet{color:#ddc592}.dark .hljs-built_in,.dark .hljs-builtin-name{color:#69bec9}.dark .hljs-meta{color:#b9bfca}.dark .hljs-deletion{color:#fcc;background:maroon}.dark .hljs-addition{color:#cfc;background:green}.prose{color:#020817;max-width:none;font-size:1rem;line-height:1.75}@media (max-width:640px){.prose{font-size:.9375rem;line-height:1.65}.prose h1{font-size:1.75em}.prose h2{font-size:1.5em}.prose h3{font-size:1.25em}.prose h4{font-size:1.125em}.prose pre{border-radius:0;margin-left:-.75rem;margin-right:-.75rem}.prose table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:#020817;margin-top:1.5em;margin-bottom:.5em;scroll-margin-top:5rem;font-weight:600;line-height:1.25}.prose h1{border-bottom:1px solid #e2e8f0;margin-top:0;padding-bottom:.25em;font-size:2em}.prose h2{border-bottom:1px solid #e2e8f0;padding-bottom:.25em;font-size:1.65em}.prose h3{font-size:1.35em}.prose h4{font-size:1.15em}.prose h5{font-size:1.05em}.prose h6{font-size:1em}.prose p{margin-top:1em;margin-bottom:1em;line-height:1.7}.prose a{color:#2463eb;-webkit-text-decoration:underline #2463eb4d;text-decoration:underline #2463eb4d;transition:all .2s}.prose a:hover{color:#134cc9;text-decoration-color:#2463eb}.prose :not(pre)>code{color:#bd2835;background:#f1f2f4;border:1px solid #dcdfe4;border-radius:.25rem;padding:.2em .4em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875em;font-weight:600}.prose pre{border:1px solid #e5e7eb;border-radius:.5rem;margin:1.25em 0;overflow-x:auto;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.prose pre code{color:inherit;font-size:.875em;font-weight:400;line-height:1.7;display:block;background:0 0!important;border:none!important;border-radius:0!important}.prose ul,.prose ol{margin-top:.75em;margin-bottom:.75em;padding-left:1.625em}.prose li{margin-top:.5em;margin-bottom:.5em}.prose blockquote{color:#4f5b6d;background:#f8fafc;border-left:4px solid #2463eb;border-radius:0 .25rem .25rem 0;margin:1em 0;padding-top:.25em;padding-bottom:.25em;padding-left:1em}.prose blockquote p{margin:.5em 0}.prose table{border-collapse:collapse;width:100%;margin:1.5em 0}.prose th,.prose td{text-align:left;border:1px solid #e2e8f0;padding:.5em 1em}.prose th{background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-weight:600}.prose hr{border:none;border-top:1px solid #e2e8f0;margin:2em 0}.prose img{border-radius:.5rem;max-width:100%;height:auto;margin:1.5em 0}.prose strong,.prose b{color:#020817;font-weight:600}.dark .prose{color:#f8fafc}.dark .prose strong,.dark .prose b{color:#f8fafc;font-weight:600}.dark .prose h1,.dark .prose h2,.dark .prose h3,.dark .prose h4,.dark .prose h5,.dark .prose h6{color:#f8fafc}.dark .prose h1,.dark .prose h2{border-bottom-color:#1e293b}.dark .prose a{color:#6da2f8;text-decoration-color:#6da2f84d}.dark .prose a:hover{color:#9ec1fa;text-decoration-color:#6da2f8}.dark .prose :not(pre)>code{color:#e48189;background:#282c34;border-color:#373d48;font-weight:600}.dark .prose pre{border-color:#2c313a;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0000004d}.dark .prose blockquote{color:#b3bdcc;background:#151c29;border-left-color:#6da2f8}.dark .prose th,.dark .prose td{border-color:#1e293b}.dark .prose th{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.dark .prose hr{border-top-color:#1e293b}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}@media (min-width:640px){.sm\:prose-base{font-size:1rem;line-height:1.75}.sm\:prose-base :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.sm\:prose-base :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.sm\:prose-base :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.sm\:prose-base :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.888889em;font-size:2.25em;line-height:1.11111}.sm\:prose-base :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:1em;font-size:1.5em;line-height:1.33333}.sm\:prose-base :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;line-height:1.6}.sm\:prose-base :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.sm\:prose-base :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.sm\:prose-base :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.sm\:prose-base :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.sm\:prose-base :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.sm\:prose-base :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-size:.875em}.sm\:prose-base :where(code):not(:where([class~=not-prose],[class~=not-prose] *)),.sm\:prose-base :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.sm\:prose-base :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.sm\:prose-base :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;line-height:1.71429}.sm\:prose-base :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.sm\:prose-base :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.sm\:prose-base :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.sm\:prose-base :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.sm\:prose-base :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.sm\:prose-base :where(.sm\:prose-base>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.sm\:prose-base :where(.sm\:prose-base>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.sm\:prose-base :where(.sm\:prose-base>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.sm\:prose-base :where(.sm\:prose-base>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.sm\:prose-base :where(.sm\:prose-base>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.sm\:prose-base :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.sm\:prose-base :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.sm\:prose-base :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.sm\:prose-base :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.sm\:prose-base :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3em;margin-bottom:3em}.sm\:prose-base :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.sm\:prose-base :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.sm\:prose-base :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.sm\:prose-base :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.sm\:prose-base :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.71429}.sm\:prose-base :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.sm\:prose-base :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.sm\:prose-base :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.sm\:prose-base :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.sm\:prose-base :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.sm\:prose-base :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.sm\:prose-base :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.sm\:prose-base :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.sm\:prose-base :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.857143em;font-size:.875em;line-height:1.42857}.sm\:prose-base :where(.sm\:prose-base>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.sm\:prose-base :where(.sm\:prose-base>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.01\]:hover{--tw-scale-x:1.01;--tw-scale-y:1.01;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.hover\:border-foreground\/20:hover{border-color:hsl(var(--foreground)/.2)}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:border-primary\/20:hover{border-color:hsl(var(--primary)/.2)}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary)/.4)}.hover\:border-primary\/70:hover{border-color:hsl(var(--primary)/.7)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent)/.5)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}.hover\:bg-primary\/30:hover{background-color:hsl(var(--primary)/.3)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-red-500\/20:hover{background-color:#ef444433}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-primary:focus{--tw-ring-color:hsl(var(--primary))}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:scale-\[0\.99\]:active{--tw-scale-x:.99;--tw-scale-y:.99;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.active\:opacity-70:active{opacity:.7}.active\:shadow-xl:active{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:fill-blue-500\/30{fill:#3b82f64d}.group:hover .group-hover\:text-primary\/60{color:hsl(var(--primary)/.6)}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:opacity-100{opacity:1}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[state\=active\]\:border-b-2[data-state=active]{border-bottom-width:2px}.data-\[state\=active\]\:border-primary[data-state=active]{border-color:hsl(var(--primary))}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:-rotate-90:is(.dark *){--tw-rotate:-90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.dark\:rotate-0:is(.dark *){--tw-rotate:0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.dark\:scale-0:is(.dark *){--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.dark\:scale-100:is(.dark *){--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.dark\:divide-gray-800:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(31 41 55/var(--tw-divide-opacity,1))}.dark\:border-blue-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.dark\:border-gray-500\/80:is(.dark *){border-color:#6b7280cc}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-gray-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.dark\:border-green-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.dark\:border-orange-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.dark\:\!bg-background\/95:is(.dark *){background-color:hsl(var(--background)/.95)!important}.dark\:bg-\[\#080c14\]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(8 12 20/var(--tw-bg-opacity,1))}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1e3a8a4d}.dark\:bg-blue-950\/60:is(.dark *){background-color:#17255499}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-900\/20:is(.dark *){background-color:#11182733}.dark\:bg-gray-900\/60:is(.dark *){background-color:#11182799}.dark\:bg-green-900\/20:is(.dark *){background-color:#14532d33}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-green-950\/60:is(.dark *){background-color:#052e1699}.dark\:bg-orange-900\/20:is(.dark *){background-color:#7c2d1233}.dark\:bg-orange-900\/30:is(.dark *){background-color:#7c2d124d}.dark\:bg-orange-950\/60:is(.dark *){background-color:#43140799}.dark\:bg-red-900\/30:is(.dark *){background-color:#7f1d1d4d}.dark\:bg-yellow-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity,1))}.dark\:bg-yellow-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.dark\:text-amber-200:is(.dark *){--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-orange-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-violet-300:is(.dark *){--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:ring-white:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.dark\:ring-white\/40:is(.dark *){--tw-ring-color:#fff6}.dark\:hover\:border-white\/50:hover:is(.dark *){border-color:#ffffff80}@media (min-width:640px){.sm\:mx-0{margin-left:0;margin-right:0}.sm\:mb-2{margin-bottom:.5rem}.sm\:mb-4{margin-bottom:1rem}.sm\:mt-1\.5{margin-top:.375rem}.sm\:mt-2{margin-top:.5rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:h-10{height:2.5rem}.sm\:h-3\.5{height:.875rem}.sm\:h-4{height:1rem}.sm\:h-5{height:1.25rem}.sm\:h-8{height:2rem}.sm\:h-auto{height:auto}.sm\:w-10{width:2.5rem}.sm\:w-3\.5{width:.875rem}.sm\:w-4{width:1rem}.sm\:w-5{width:1.25rem}.sm\:w-8{width:2rem}.sm\:w-\[130px\]{width:130px}.sm\:w-\[170px\]{width:170px}.sm\:w-\[180px\]{width:180px}.sm\:max-w-\[600px\]{max-width:600px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-1{gap:.25rem}.sm\:gap-1\.5{gap:.375rem}.sm\:gap-2{gap:.5rem}.sm\:gap-2\.5{gap:.625rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-6{gap:1.5rem}.sm\:gap-8{gap:2rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.sm\:space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.sm\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:p-1{padding:.25rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-8{padding:2rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-1\.5{padding-left:.375rem;padding-right:.375rem}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:pb-0{padding-bottom:0}.sm\:pb-2{padding-bottom:.5rem}.sm\:pb-2\.5{padding-bottom:.625rem}.sm\:pb-3{padding-bottom:.75rem}.sm\:pb-4{padding-bottom:1rem}.sm\:pl-9{padding-left:2.25rem}.sm\:pt-1{padding-top:.25rem}.sm\:pt-2{padding-top:.5rem}.sm\:pt-4{padding-top:1rem}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-\[10px\]{font-size:10px}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}.sm\:leading-normal{line-height:1.5}}@media (min-width:768px){@media (min-width:640px){.md\:sm\:min-w-\[280px\]{min-width:280px}.md\:sm\:min-w-\[3\.5rem\]{min-width:3.5rem}.md\:sm\:w-14{width:3.5rem}}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:hidden{display:none}.md\:h-full{height:100%}.md\:w-12{width:3rem}.md\:w-auto{width:auto}@media (min-width:768px){.md\:md\:min-w-\[300px\]{min-width:300px}}.md\:min-w-\[260px\]{min-width:260px}.md\:min-w-\[3rem\]{min-width:3rem}.md\:shrink-0{flex-shrink:0}.md\:cursor-default{cursor:default}.md\:snap-mandatory{--tw-scroll-snap-strictness:mandatory}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-2{gap:.5rem}.md\:gap-4{gap:1rem}.md\:gap-6{gap:1.5rem}.md\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.md\:overflow-x-auto{overflow-x:auto}.md\:overflow-y-hidden{overflow-y:hidden}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:pb-3{padding-bottom:.75rem}.md\:pb-6{padding-bottom:1.5rem}.md\:pb-8{padding-bottom:2rem}.md\:pt-6{padding-top:1.5rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:snap-x,.md\:snap-mandatory{scroll-snap-type:x mandatory}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-14{top:3.5rem}.lg\:z-20{z-index:20}.lg\:z-30{z-index:30}.lg\:z-40{z-index:40}.lg\:block{display:block}.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:inline-flex{display:inline-flex}.lg\:hidden{display:none}.lg\:h-\[calc\(100vh-3\.5rem\)\]{height:calc(100vh - 3.5rem)}.lg\:w-0{width:0}.lg\:w-\[240px\]{width:240px}.lg\:w-\[280px\]{width:280px}.lg\:w-\[60px\]{width:60px}.lg\:w-\[calc\(100vw-var\(--main-sidebar-width\,240px\)\)\]{width:calc(100vw - var(--main-sidebar-width,240px))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:items-center{align-items:center}.lg\:justify-center{justify-content:center}.lg\:border-r-0{border-right-width:0}}@media (min-width:1280px){.xl\:block{display:block}.xl\:hidden{display:none}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,585458,(e,t,r)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",r="minute",n="hour",i="week",s="month",a="quarter",l="year",o="date",c="Invalid Date",u=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f=function(e,t,r){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(r)+e},h="en",m={};m[h]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}};var x="$isDayjsObject",g=function(e){return e instanceof y||!(!e||!e[x])},p=function e(t,r,n){var i;if(!t)return h;if("string"==typeof t){var s=t.toLowerCase();m[s]&&(i=s),r&&(m[s]=r,i=s);var a=t.split("-");if(!i&&a.length>1)return e(a[0])}else{var l=t.name;m[l]=t,i=l}return!n&&i&&(h=i),i||!n&&h},b=function(e,t){if(g(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new y(r)},v={s:f,z:function(e){var t=-e.utcOffset(),r=Math.abs(t);return(t<=0?"+":"-")+f(Math.floor(r/60),2,"0")+":"+f(r%60,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var n=12*(r.year()-t.year())+(r.month()-t.month()),i=t.clone().add(n,s),a=r-i<0,l=t.clone().add(n+(a?-1:1),s);return+(-(n+(r-i)/(a?i-l:l-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return({M:s,y:l,w:i,d:"day",D:o,h:n,m:r,s:t,ms:e,Q:a})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};v.l=p,v.i=g,v.w=function(e,t){return b(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var y=function(){function f(e){this.$L=p(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var h=f.prototype;return h.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(v.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(u);if(n){var i=n[2]-1||0,s=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)):new Date(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)}}return new Date(t)}(e),this.init()},h.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},h.$utils=function(){return v},h.isValid=function(){return this.$d.toString()!==c},h.isSame=function(e,t){var r=b(e);return this.startOf(t)<=r&&r<=this.endOf(t)},h.isAfter=function(e,t){return b(e)<this.startOf(t)},h.isBefore=function(e,t){return this.endOf(t)<b(e)},h.$g=function(e,t,r){return v.u(e)?this[t]:this.set(r,e)},h.unix=function(){return Math.floor(this.valueOf()/1e3)},h.valueOf=function(){return this.$d.getTime()},h.startOf=function(e,a){var c=this,u=!!v.u(a)||a,d=v.p(e),f=function(e,t){var r=v.w(c.$u?Date.UTC(c.$y,t,e):new Date(c.$y,t,e),c);return u?r:r.endOf("day")},h=function(e,t){return v.w(c.toDate()[e].apply(c.toDate("s"),(u?[0,0,0,0]:[23,59,59,999]).slice(t)),c)},m=this.$W,x=this.$M,g=this.$D,p="set"+(this.$u?"UTC":"");switch(d){case l:return u?f(1,0):f(31,11);case s:return u?f(1,x):f(0,x+1);case i:var b=this.$locale().weekStart||0,y=(m<b?m+7:m)-b;return f(u?g-y:g+(6-y),x);case"day":case o:return h(p+"Hours",0);case n:return h(p+"Minutes",1);case r:return h(p+"Seconds",2);case t:return h(p+"Milliseconds",3);default:return this.clone()}},h.endOf=function(e){return this.startOf(e,!1)},h.$set=function(i,a){var c,u=v.p(i),d="set"+(this.$u?"UTC":""),f=((c={}).day=d+"Date",c[o]=d+"Date",c[s]=d+"Month",c[l]=d+"FullYear",c[n]=d+"Hours",c[r]=d+"Minutes",c[t]=d+"Seconds",c[e]=d+"Milliseconds",c)[u],h="day"===u?this.$D+(a-this.$W):a;if(u===s||u===l){var m=this.clone().set(o,1);m.$d[f](h),m.init(),this.$d=m.set(o,Math.min(this.$D,m.daysInMonth())).$d}else f&&this.$d[f](h);return this.init(),this},h.set=function(e,t){return this.clone().$set(e,t)},h.get=function(e){return this[v.p(e)]()},h.add=function(e,a){var o,c=this;e=Number(e);var u=v.p(a),d=function(t){var r=b(c);return v.w(r.date(r.date()+Math.round(t*e)),c)};if(u===s)return this.set(s,this.$M+e);if(u===l)return this.set(l,this.$y+e);if("day"===u)return d(1);if(u===i)return d(7);var f=((o={})[r]=6e4,o[n]=36e5,o[t]=1e3,o)[u]||1,h=this.$d.getTime()+e*f;return v.w(h,this)},h.subtract=function(e,t){return this.add(-1*e,t)},h.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||c;var n=e||"YYYY-MM-DDTHH:mm:ssZ",i=v.z(this),s=this.$H,a=this.$m,l=this.$M,o=r.weekdays,u=r.months,f=r.meridiem,h=function(e,r,i,s){return e&&(e[r]||e(t,n))||i[r].slice(0,s)},m=function(e){return v.s(s%12||12,e,"0")},x=f||function(e,t,r){var n=e<12?"AM":"PM";return r?n.toLowerCase():n};return n.replace(d,function(e,n){return n||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return v.s(t.$y,4,"0");case"M":return l+1;case"MM":return v.s(l+1,2,"0");case"MMM":return h(r.monthsShort,l,u,3);case"MMMM":return h(u,l);case"D":return t.$D;case"DD":return v.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return h(r.weekdaysMin,t.$W,o,2);case"ddd":return h(r.weekdaysShort,t.$W,o,3);case"dddd":return o[t.$W];case"H":return String(s);case"HH":return v.s(s,2,"0");case"h":return m(1);case"hh":return m(2);case"a":return x(s,a,!0);case"A":return x(s,a,!1);case"m":return String(a);case"mm":return v.s(a,2,"0");case"s":return String(t.$s);case"ss":return v.s(t.$s,2,"0");case"SSS":return v.s(t.$ms,3,"0");case"Z":return i}return null}(e)||i.replace(":","")})},h.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},h.diff=function(e,o,c){var u,d=this,f=v.p(o),h=b(e),m=(h.utcOffset()-this.utcOffset())*6e4,x=this-h,g=function(){return v.m(d,h)};switch(f){case l:u=g()/12;break;case s:u=g();break;case a:u=g()/3;break;case i:u=(x-m)/6048e5;break;case"day":u=(x-m)/864e5;break;case n:u=x/36e5;break;case r:u=x/6e4;break;case t:u=x/1e3;break;default:u=x}return c?u:v.a(u)},h.daysInMonth=function(){return this.endOf(s).$D},h.$locale=function(){return m[this.$L]},h.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),n=p(e,t,!0);return n&&(r.$L=n),r},h.clone=function(){return v.w(this.$d,this)},h.toDate=function(){return new Date(this.valueOf())},h.toJSON=function(){return this.isValid()?this.toISOString():null},h.toISOString=function(){return this.$d.toISOString()},h.toString=function(){return this.$d.toUTCString()},f}(),w=y.prototype;return b.prototype=w,[["$ms",e],["$s",t],["$m",r],["$H",n],["$W","day"],["$M",s],["$y",l],["$D",o]].forEach(function(e){w[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),b.extend=function(e,t){return e.$i||(e(t,y,b),e.$i=!0),b},b.locale=p,b.isDayjs=g,b.unix=function(e){return b(1e3*e)},b.en=m[h],b.Ls=m,b.p={},b}()},842541,e=>{"use strict";e.s(["default",0,function(e,t){return e*=1,t*=1,function(r){return e*(1-r)+t*r}}])},161610,189517,321137,e=>{"use strict";function t(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function r(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}function n(){}e.s(["default",0,t,"extend",()=>r],189517);var i="\\s*([+-]?\\d+)\\s*",s="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",a="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",l=/^#([0-9a-f]{3,8})$/,o=RegExp(`^rgb\\(${i},${i},${i}\\)$`),c=RegExp(`^rgb\\(${a},${a},${a}\\)$`),u=RegExp(`^rgba\\(${i},${i},${i},${s}\\)$`),d=RegExp(`^rgba\\(${a},${a},${a},${s}\\)$`),f=RegExp(`^hsl\\(${s},${a},${a}\\)$`),h=RegExp(`^hsla\\(${s},${a},${a},${s}\\)$`),m={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function x(){return this.rgb().formatHex()}function g(){return this.rgb().formatRgb()}function p(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=l.exec(e))?(r=t[1].length,t=parseInt(t[1],16),6===r?b(t):3===r?new S(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?v(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?v(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=o.exec(e))?new S(t[1],t[2],t[3],1):(t=c.exec(e))?new S(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=u.exec(e))?v(t[1],t[2],t[3],t[4]):(t=d.exec(e))?v(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=f.exec(e))?C(t[1],t[2]/100,t[3]/100,1):(t=h.exec(e))?C(t[1],t[2]/100,t[3]/100,t[4]):m.hasOwnProperty(e)?b(m[e]):"transparent"===e?new S(NaN,NaN,NaN,0):null}function b(e){return new S(e>>16&255,e>>8&255,255&e,1)}function v(e,t,r,n){return n<=0&&(e=t=r=NaN),new S(e,t,r,n)}function y(e){return(e instanceof n||(e=p(e)),e)?new S((e=e.rgb()).r,e.g,e.b,e.opacity):new S}function w(e,t,r,n){return 1==arguments.length?y(e):new S(e,t,r,null==n?1:n)}function S(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function $(){return`#${N(this.r)}${N(this.g)}${N(this.b)}`}function j(){let e=k(this.opacity);return`${1===e?"rgb(":"rgba("}${M(this.r)}, ${M(this.g)}, ${M(this.b)}${1===e?")":`, ${e})`}`}function k(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function M(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function N(e){return((e=M(e))<16?"0":"")+e.toString(16)}function C(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new z(e,t,r,n)}function O(e){if(e instanceof z)return new z(e.h,e.s,e.l,e.opacity);if(e instanceof n||(e=p(e)),!e)return new z;if(e instanceof z)return e;var t=(e=e.rgb()).r/255,r=e.g/255,i=e.b/255,s=Math.min(t,r,i),a=Math.max(t,r,i),l=NaN,o=a-s,c=(a+s)/2;return o?(l=t===a?(r-i)/o+(r<i)*6:r===a?(i-t)/o+2:(t-r)/o+4,o/=c<.5?a+s:2-a-s,l*=60):o=c>0&&c<1?0:l,new z(l,o,c,e.opacity)}function z(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function I(e){return(e=(e||0)%360)<0?e+360:e}function T(e){return Math.max(0,Math.min(1,e||0))}function E(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}t(n,p,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return O(this).formatHsl()},formatRgb:g,toString:g}),t(S,w,r(n,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new S(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new S(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new S(M(this.r),M(this.g),M(this.b),k(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:$,formatHex:$,formatHex8:function(){return`#${N(this.r)}${N(this.g)}${N(this.b)}${N((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:j,toString:j})),t(z,function(e,t,r,n){return 1==arguments.length?O(e):new z(e,t,r,null==n?1:n)},r(n,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new z(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new z(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new S(E(e>=240?e-240:e+120,i,n),E(e,i,n),E(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new z(I(this.h),T(this.s),T(this.l),k(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=k(this.opacity);return`${1===e?"hsl(":"hsla("}${I(this.h)}, ${100*T(this.s)}%, ${100*T(this.l)}%${1===e?")":`, ${e})`}`}})),e.s(["Color",()=>n,"Rgb",()=>S,"default",()=>p,"rgb",()=>w,"rgbConvert",()=>y],321137),e.s(["color",()=>p],161610)},77075,e=>{"use strict";var t=e.i(842541);e.s(["interpolateNumber",()=>t.default])},145665,181503,425902,e=>{"use strict";var t=e.i(321137);function r(e,t,r,n,i){var s=e*e,a=s*e;return((1-3*e+3*s-a)*t+(4-6*s+3*a)*r+(1+3*e+3*s-3*a)*n+a*i)/6}let n=e=>()=>e;function i(e,t){return function(r){return e+r*t}}function s(e,t){var r=t-e;return r?i(e,r>180||r<-180?r-360*Math.round(r/360):r):n(isNaN(e)?t:e)}function a(e){return 1==(e*=1)?l:function(t,r){var i,s,a;return r-t?(i=t,s=r,i=Math.pow(i,a=e),s=Math.pow(s,a)-i,a=1/a,function(e){return Math.pow(i+e*s,a)}):n(isNaN(t)?r:t)}}function l(e,t){var r=t-e;return r?i(e,r):n(isNaN(e)?t:e)}e.s(["default",0,n],181503),e.s(["default",()=>l,"gamma",()=>a,"hue",()=>s],425902);let o=function e(r){var n=a(r);function i(e,r){var i=n((e=(0,t.rgb)(e)).r,(r=(0,t.rgb)(r)).r),s=n(e.g,r.g),a=n(e.b,r.b),o=l(e.opacity,r.opacity);return function(t){return e.r=i(t),e.g=s(t),e.b=a(t),e.opacity=o(t),e+""}}return i.gamma=e,i}(1);function c(e){return function(r){var n,i,s=r.length,a=Array(s),l=Array(s),o=Array(s);for(n=0;n<s;++n)i=(0,t.rgb)(r[n]),a[n]=i.r||0,l[n]=i.g||0,o[n]=i.b||0;return a=e(a),l=e(l),o=e(o),i.opacity=1,function(e){return i.r=a(e),i.g=l(e),i.b=o(e),i+""}}}c(function(e){var t=e.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),s=e[i],a=e[i+1],l=i>0?e[i-1]:2*s-a,o=i<t-1?e[i+2]:2*a-s;return r((n-i/t)*t,l,s,a,o)}}),c(function(e){var t=e.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*t),s=e[(i+t-1)%t],a=e[i%t],l=e[(i+1)%t],o=e[(i+2)%t];return r((n-i/t)*t,s,a,l,o)}}),e.s(["default",0,o],145665)},647483,e=>{"use strict";var t=e.i(842541),r=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,n=RegExp(r.source,"g");e.s(["default",0,function(e,i){var s,a,l,o,c,u=r.lastIndex=n.lastIndex=0,d=-1,f=[],h=[];for(e+="",i+="";(l=r.exec(e))&&(o=n.exec(i));)(c=o.index)>u&&(c=i.slice(u,c),f[d]?f[d]+=c:f[++d]=c),(l=l[0])===(o=o[0])?f[d]?f[d]+=o:f[++d]=o:(f[++d]=null,h.push({i:d,x:(0,t.default)(l,o)})),u=n.lastIndex;return u<i.length&&(c=i.slice(u),f[d]?f[d]+=c:f[++d]=c),f.length<2?h[0]?(s=h[0].x,function(e){return s(e)+""}):(a=i,function(){return a}):(i=h.length,function(e){for(var t,r=0;r<i;++r)f[(t=h[r]).i]=t.x(e);return f.join("")})}])},170305,(e,t,r)=>{"use strict";var n=e.r(431231),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},s=n.useState,a=n.useEffect,l=n.useLayoutEffect,o=n.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!i(e,r)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=s({inst:{value:r,getSnapshot:t}}),i=n[0].inst,u=n[1];return l(function(){i.value=r,i.getSnapshot=t,c(i)&&u({inst:i})},[e,r,t]),a(function(){return c(i)&&u({inst:i}),e(function(){c(i)&&u({inst:i})})},[e]),o(r),r};r.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:u},334960,(e,t,r)=>{"use strict";t.exports=e.r(170305)},721665,(e,t,r)=>{"use strict";var n=e.r(431231),i=e.r(334960),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=i.useSyncExternalStore,l=n.useRef,o=n.useEffect,c=n.useMemo,u=n.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,n,i){var d=l(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;var h=a(e,(d=c(function(){function e(e){if(!o){if(o=!0,a=e,e=n(e),void 0!==i&&f.hasValue){var t=f.value;if(i(t,e))return l=t}return l=e}if(t=l,s(a,e))return t;var r=n(e);return void 0!==i&&i(t,r)?(a=e,t):(a=e,l=r)}var a,l,o=!1,c=void 0===r?null:r;return[function(){return e(t())},null===c?void 0:function(){return e(c())}]},[t,r,n,i]))[0],d[1]);return o(function(){f.hasValue=!0,f.value=h},[h]),u(h),h}},596177,(e,t,r)=>{"use strict";t.exports=e.r(721665)},296026,e=>{"use strict";let t=(0,e.i(122436).default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);e.s(["TrendingUp",()=>t],296026)},522764,e=>{"use strict";let t=(0,e.i(122436).default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>t],522764)},635389,e=>{"use strict";let t=(0,e.i(122436).default)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]);e.s(["Maximize2",()=>t],635389)},730885,340982,e=>{"use strict";var t=e.i(122436);let r=(0,t.default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>r],730885);let n=(0,t.default)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]);e.s(["Minimize2",()=>n],340982)},443991,e=>{"use strict";let t=(0,e.i(122436).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],443991)},417612,293821,e=>{"use strict";var t=e.i(890022),r=e.i(431231),n=e.i(987985);let i="u">typeof window?r.useLayoutEffect:r.useEffect;function s(e){if(void 0!==e)switch(typeof e){case"number":return e;case"string":if(e.endsWith("px"))return parseFloat(e)}}let a=null;function l({containerElement:e,direction:t,isRtl:r,scrollOffset:n}){if("horizontal"===t&&r)switch(function(e=!1){if(null===a||e){let e=document.createElement("div"),t=e.style;t.width="50px",t.height="50px",t.overflow="scroll",t.direction="rtl";let r=document.createElement("div"),n=r.style;return n.width="100px",n.height="100px",e.appendChild(r),document.body.appendChild(e),e.scrollLeft>0?a="positive-descending":(e.scrollLeft=1,a=0===e.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(e),a}return a}()){case"negative":return-n;case"positive-descending":if(e){let{clientWidth:t,scrollLeft:r,scrollWidth:n}=e;return n-t-r}}return n}function o(e,t="Assertion error"){if(!e)throw console.error(t),Error(t)}function c(e,t){if(e===t)return!0;if(!!e!=!!t||(o(void 0!==e),o(void 0!==t),Object.keys(e).length!==Object.keys(t).length))return!1;for(let r in e)if(!Object.is(t[r],e[r]))return!1;return!0}function u({cachedBounds:e,itemCount:t,itemSize:r}){if(0===t)return 0;if("number"==typeof r)return t*r;{let r=e.get(0===e.size?0:e.size-1);return o(void 0!==r,"Unexpected bounds cache miss"),t*((r.scrollOffset+r.size)/e.size)}}function d({cachedBounds:e,containerScrollOffset:t,containerSize:r,itemCount:n,overscanCount:i}){let s=n-1,a=0,l=-1,o=0,c=-1,u=0;for(;u<s;){let r=e.get(u);if(r.scrollOffset+r.size>t)break;u++}for(o=Math.max(0,(a=u)-i);u<s;){let n=e.get(u);if(n.scrollOffset+n.size>=t+r)break;u++}return c=Math.min(n-1,(l=Math.min(s,u))+i),a<0&&(a=0,l=-1,o=0,c=-1),{startIndexVisible:a,stopIndexVisible:l,startIndexOverscan:o,stopIndexOverscan:c}}function f(e,t){let{ariaAttributes:r,style:n,...i}=e,{ariaAttributes:s,style:a,...l}=t;return c(r,s)&&c(n,a)&&c(i,l)}function h({children:e,className:n,defaultHeight:a=0,listRef:h,onResize:m,onRowsRendered:x,overscanCount:g=3,rowComponent:p,rowCount:b,rowHeight:v,rowProps:y,tagName:w="div",style:S,...$}){let j=(0,r.useMemo)(()=>y,Object.values(y)),k=(0,r.useMemo)(()=>(0,r.memo)(p,f),[p]),[M,N]=(0,r.useState)(null),C=null!=v&&"object"==typeof v&&"getAverageRowHeight"in v&&"function"==typeof v.getAverageRowHeight,{getCellBounds:O,getEstimatedSize:z,scrollToIndex:I,startIndexOverscan:T,startIndexVisible:E,stopIndexOverscan:R,stopIndexVisible:A}=function({containerElement:e,containerStyle:t,defaultContainerSize:n=0,direction:a,isRtl:f=!1,itemCount:h,itemProps:m,itemSize:x,onResize:g,overscanCount:p}){var b;let v,[y,w]=(0,r.useState)({startIndexVisible:0,startIndexOverscan:0,stopIndexVisible:-1,stopIndexOverscan:-1}),{startIndexVisible:S,startIndexOverscan:$,stopIndexVisible:j,stopIndexOverscan:k}={startIndexVisible:Math.min(h-1,y.startIndexVisible),startIndexOverscan:Math.min(h-1,y.startIndexOverscan),stopIndexVisible:Math.min(h-1,y.stopIndexVisible),stopIndexOverscan:Math.min(h-1,y.stopIndexOverscan)},{height:M=n,width:N=n}=function({box:e,defaultHeight:t,defaultWidth:n,disabled:a,element:l,mode:o,style:c}){let{styleHeight:u,styleWidth:d}=(0,r.useMemo)(()=>({styleHeight:s(c?.height),styleWidth:s(c?.width)}),[c?.height,c?.width]),[f,h]=(0,r.useState)({height:t,width:n}),m=a||"only-height"===o&&void 0!==u||"only-width"===o&&void 0!==d||void 0!==u&&void 0!==d;return i(()=>{if(null===l||m)return;let t=new ResizeObserver(e=>{for(let t of e){let{contentRect:e,target:r}=t;l===r&&h(t=>t.height===e.height&&t.width===e.width?t:{height:e.height,width:e.width})}});return t.observe(l,{box:e}),()=>{t?.unobserve(l)}},[e,m,l,u,d]),(0,r.useMemo)(()=>({height:u??f.height,width:d??f.width}),[f,u,d])}({defaultHeight:"vertical"===a?n:void 0,defaultWidth:"horizontal"===a?n:void 0,element:e,mode:"vertical"===a?"only-height":"only-width",style:t}),C=(0,r.useRef)({height:0,width:0}),O="vertical"===a?M:N,z=function({containerSize:e,itemSize:t}){let r;return"string"==typeof t?(o(t.endsWith("%"),`Invalid item size: "${t}"; string values must be percentages (e.g. "100%")`),o(void 0!==e,"Container size must be defined if a percentage item size is specified"),r=e*parseInt(t)/100):r=t,r}({containerSize:O,itemSize:x});(0,r.useLayoutEffect)(()=>{if("function"==typeof g){let e=C.current;(e.height!==M||e.width!==N)&&(g({height:M,width:N},{...e}),e.height=M,e.width=N)}},[M,g,N]);let I=function({itemCount:e,itemProps:t,itemSize:n}){return(0,r.useMemo)(()=>(function({itemCount:e,itemProps:t,itemSize:r}){let n=new Map;return{get(i){for(o(i<e,`Invalid index ${i}`);n.size-1<i;){let e,s=n.size;switch(typeof r){case"function":e=r(s,t);break;case"number":e=r}if(0===s)n.set(s,{size:e,scrollOffset:0});else{let t=n.get(s-1);o(void 0!==t,`Unexpected bounds cache miss for index ${i}`),n.set(s,{scrollOffset:t.scrollOffset+t.size,size:e})}}let s=n.get(i);return o(void 0!==s,`Unexpected bounds cache miss for index ${i}`),s},set(e,t){n.set(e,t)},get size(){return n.size}}})({itemCount:e,itemProps:t,itemSize:n}),[e,t,n])}({itemCount:h,itemProps:m,itemSize:z}),T=(0,r.useCallback)(e=>I.get(e),[I]),E=(0,r.useCallback)(()=>u({cachedBounds:I,itemCount:h,itemSize:z}),[I,h,z]),R=(0,r.useCallback)(t=>d({cachedBounds:I,containerScrollOffset:l({containerElement:e,direction:a,isRtl:f,scrollOffset:t}),containerSize:O,itemCount:h,overscanCount:p}),[I,e,O,a,f,h,p]);return i(()=>{w(R(("vertical"===a?e?.scrollTop:e?.scrollLeft)??0))},[e,a,R]),i(()=>{if(!e)return;let t=()=>{w(t=>{let{scrollLeft:r,scrollTop:n}=e,i=d({cachedBounds:I,containerScrollOffset:l({containerElement:e,direction:a,isRtl:f,scrollOffset:"vertical"===a?n:r}),containerSize:O,itemCount:h,overscanCount:p});return c(i,t)?t:i})};return e.addEventListener("scroll",t),()=>{e.removeEventListener("scroll",t)}},[I,e,O,a,h,p]),{getCellBounds:T,getEstimatedSize:E,scrollToIndex:(b=({align:t="auto",containerScrollOffset:r,index:n})=>{let i=function({align:e,cachedBounds:t,index:r,itemCount:n,itemSize:i,containerScrollOffset:s,containerSize:a}){if(r<0||r>=n)throw RangeError(`Invalid index specified: ${r}`,{cause:`Index ${r} is not within the range of 0 - ${n-1}`});let l=u({cachedBounds:t,itemCount:n,itemSize:i}),o=t.get(r),c=Math.max(0,Math.min(l-a,o.scrollOffset)),d=Math.max(0,o.scrollOffset-a+o.size);switch("smart"===e&&(e=s>=d&&s<=c?"auto":"center"),e){case"start":return c;case"end":return d;case"center":return o.scrollOffset<=a/2?0:o.scrollOffset+o.size/2>=l-a/2?l-a:o.scrollOffset+o.size/2-a/2;default:return s>=d&&s<=c?s:s<d?d:c}}({align:t,cachedBounds:I,containerScrollOffset:r,containerSize:O,index:n,itemCount:h,itemSize:z});if(e){if(i=l({containerElement:e,direction:a,isRtl:f,scrollOffset:i}),"function"!=typeof e.scrollTo){let e=R(i);c(y,e)||w(e)}return i}},v=(0,r.useRef)(()=>{throw Error("Cannot call during render.")}),i(()=>{v.current=b},[b]),(0,r.useCallback)(e=>v.current?.(e),[v])),startIndexOverscan:$,startIndexVisible:S,stopIndexOverscan:k,stopIndexVisible:j}}({containerElement:M,containerStyle:S,defaultContainerSize:a,direction:"vertical",itemCount:b,itemProps:j,itemSize:(0,r.useMemo)(()=>C?e=>v.getRowHeight(e)??v.getAverageRowHeight():v,[C,v]),onResize:m,overscanCount:g});(0,r.useImperativeHandle)(h,()=>({get element(){return M},scrollToRow({align:e="auto",behavior:t="auto",index:r}){let n=I({align:e,containerScrollOffset:M?.scrollTop??0,index:r});"function"==typeof M?.scrollTo&&M.scrollTo({behavior:t,top:n})}}),[M,I]),i(()=>{if(!M)return;let e=Array.from(M.children).filter((e,t)=>{if(e.hasAttribute("aria-hidden"))return!1;let r=`${T+t}`;return e.setAttribute("data-react-window-index",r),!0});if(C)return v.observeRowElements(e)},[M,C,v,T,R]),(0,r.useEffect)(()=>{T>=0&&R>=0&&x&&x({startIndex:E,stopIndex:A},{startIndex:T,stopIndex:R})},[x,T,E,R,A]);let D=(0,r.useMemo)(()=>{let e=[];if(b>0)for(let t=T;t<=R;t++){let n=O(t);e.push((0,r.createElement)(k,{...j,ariaAttributes:{"aria-posinset":t+1,"aria-setsize":b,role:"listitem"},key:t,index:t,style:{position:"absolute",left:0,transform:`translateY(${n.scrollOffset}px)`,height:C?void 0:n.size,width:"100%"}}))}return e},[k,O,C,b,j,T,R]),H=(0,t.jsx)("div",{"aria-hidden":!0,style:{height:z(),width:"100%",zIndex:-1}});return(0,r.createElement)(w,{role:"list",...$,className:n,ref:N,style:{position:"relative",maxHeight:"100%",flexGrow:1,overflowY:"auto",...S}},D,e,H)}r.useState,r.useRef,r.useState,r.useRef;var m=e.i(300329),x=e.i(158362),g=e.i(525761),p=e.i(644021);let b=(0,e.i(122436).default)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);var v=e.i(21079),y=e.i(235893),w=e.i(168497),S=e.i(308402),$=e.i(708737),j=e.i(632137),k=e.i(597705),M=e.i(145878);let N={specs:[],signature:null,scrollTop:0,activeSpecId:null},C=[],O=new Set,z=new Set,I=new Set;function T(){for(let e of O)e()}function E(e){return O.add(e),()=>{O.delete(e)}}function R(){return N}function A(){return(0,r.useSyncExternalStore)(E,R,()=>N)}function D(){let e=r.useCallback(e=>(z.add(e),()=>{z.delete(e)}),[]);return(0,r.useSyncExternalStore)(e,()=>R().specs,()=>C)}function H(){let e=r.useCallback(e=>(I.add(e),()=>{I.delete(e)}),[]);return(0,r.useSyncExternalStore)(e,()=>R().activeSpecId,()=>null)}function L(e){if(0===e.length)return;let t=e.map(e=>[e.id,e.specNumber??"",e.title??"",e.status??"",e.priority??"",e.updatedAt?new Date(e.updatedAt).getTime():0].join(":")).join("|");if(t!==N.signature)for(let r of(N={...N,specs:e,signature:t},T(),z))r()}function V(e){if(N.activeSpecId!==e)for(let t of(N={...N,activeSpecId:e},T(),I))t()}function P(e){1>Math.abs(e-N.scrollTop)||(N={...N,scrollTop:e})}function B(){return N.scrollTop}e.s(["getSidebarScrollTop",()=>B,"primeSpecsSidebar",()=>L,"setActiveSidebarSpec",()=>V,"updateSidebarScrollTop",()=>P,"useSpecsSidebarActiveSpec",()=>H,"useSpecsSidebarSpecs",()=>D,"useSpecsSidebarState",()=>A],293821);var _=e.i(20648);let q=r.useLayoutEffect;function W({initialSpecs:e=[],currentSpecId:i,currentSubSpec:s,onSpecHover:a,className:l}){let[o,c]=r.useState(""),[u,d]=r.useState("all"),[f,N]=r.useState("all"),[C,O]=r.useState("all"),[z,I]=r.useState(!1),[T,E]=r.useState(()=>"true"===localStorage.getItem("specs-nav-sidebar-collapsed")),[R,A]=r.useState(!1),[L,V]=r.useState(!1),W=r.useRef(null),Y=r.useRef(null),F=r.useRef(!1),U=r.useRef(null),J=r.useRef(0),Z=r.useRef(!1),G=r.useRef(!0),K=D(),Q=H(),X=r.useMemo(()=>K.length>0?K:e,[K,e]),ee=i||Q||"";r.useEffect(()=>{V(!0)},[]),r.useEffect(()=>{document.documentElement.style.setProperty("--specs-nav-sidebar-width",T?"0px":"280px"),localStorage.setItem("specs-nav-sidebar-collapsed",String(T))},[T]),r.useEffect(()=>{A(!1)},[ee,s]);let et=r.useMemo(()=>{let e=X;if(o){let t=o.toLowerCase();e=e.filter(e=>e.title?.toLowerCase().includes(t)||e.specName.toLowerCase().includes(t)||e.specNumber?.toString().includes(t))}return"all"!==u&&(e=e.filter(e=>e.status===u)),"all"!==f&&(e=e.filter(e=>e.priority===f)),"all"!==C&&(e=e.filter(e=>e.tags?.includes(C))),console.debug(e),e},[X,o,u,f,C]),er=r.useMemo(()=>{let e=new Set;return X.forEach(t=>{t.tags?.forEach(t=>e.add(t))}),Array.from(e).sort()},[X]),en="all"!==u||"all"!==f||"all"!==C,ei=r.useMemo(()=>[...et].sort((e,t)=>(t.specNumber||0)-(e.specNumber||0)),[et]);q(()=>{let e=null,t=null;J.current=B(),Z.current=J.current>0;let r=()=>{let n=U.current?.element;if(!n){e=window.requestAnimationFrame(r);return}F.current||(J.current>0&&(n.scrollTop=J.current),F.current=!0);let i=()=>{null===Y.current&&(Y.current=window.requestAnimationFrame(()=>{Y.current=null,J.current=n.scrollTop,P(n.scrollTop)}))};n.addEventListener("scroll",i,{passive:!0}),t=()=>{n.removeEventListener("scroll",i)}};return r(),()=>{t&&t(),null!==e&&window.cancelAnimationFrame(e),null!==Y.current&&(window.cancelAnimationFrame(Y.current),Y.current=null)}},[]),q(()=>{if(!G.current||(G.current=!1,Z.current||!ee))return;let e=null,t=()=>{if(Z.current)return;if(!F.current||!U.current){e=window.requestAnimationFrame(t);return}let r=ei.findIndex(e=>e.id===ee);-1!==r&&(Z.current=!0,U.current.scrollToRow({index:r,align:"center"}))};return t(),()=>{null!==e&&window.cancelAnimationFrame(e)}},[ei,ee]),r.useEffect(()=>(window.toggleSpecsSidebar=()=>A(e=>!e),()=>{window.toggleSpecsSidebar=void 0}),[]);let{getSpecUrl:es}=(0,_.useProjectUrl)(),ea=r.useCallback(e=>{let{index:r,style:i}=e,l=ei[r],o=l.id===ee,c=l.title||l.specName,u=es(l.specNumber||l.id);return(0,t.jsx)("div",{style:i,className:"px-1",children:(0,t.jsx)("div",{className:"mb-0.5",children:(0,t.jsx)("div",{className:"flex items-center gap-0.5",children:(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)(n.default,{ref:o&&!s?W:null,href:u,onMouseEnter:()=>a?.(l.specNumber?.toString()||l.id),className:(0,j.cn)("w-full flex flex-col gap-1 p-1.5 rounded-md text-sm transition-colors",o?"bg-accent text-accent-foreground font-medium":"hover:bg-accent/50"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[l.specNumber&&(0,t.jsxs)("span",{className:"text-xs font-mono text-muted-foreground shrink-0",children:["#",l.specNumber.toString().padStart(3,"0")]}),(0,t.jsx)("span",{className:"truncate text-xs leading-relaxed",children:c})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[l.status&&(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(w.StatusBadge,{status:l.status,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,t.jsx)(S.TooltipContent,{side:"right",children:(0,w.getStatusLabel)(l.status)})]}),l.priority&&(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(k.PriorityBadge,{priority:l.priority,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,t.jsx)(S.TooltipContent,{side:"right",children:(0,k.getPriorityLabel)(l.priority)})]}),"number"==typeof l.subSpecsCount&&l.subSpecsCount>0&&(0,t.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:["+",l.subSpecsCount," files"]}),l.updatedAt&&(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:(0,M.formatRelativeTime)(l.updatedAt)})]})]})}),(0,t.jsx)(S.TooltipContent,{side:"right",className:"max-w-[300px]",children:(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("div",{className:"font-semibold",children:c}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:l.specName})]})})]})})})})},[ei,ee,s,a,es]),el=r.useMemo(()=>window.innerHeight-56-180,[]),eo=r.useMemo(()=>r.memo(h),[]);return(0,t.jsxs)(S.TooltipProvider,{delayDuration:700,children:[R&&(0,t.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>A(!1)}),(0,t.jsxs)("div",{className:(0,j.cn)("relative flex-shrink-0",l),children:[(0,t.jsxs)("aside",{className:(0,j.cn)("border-r border-border bg-background flex flex-col overflow-hidden transition-all duration-300","hidden lg:flex lg:sticky lg:top-14 lg:h-[calc(100vh-3.5rem)]",L&&T?"lg:w-0 lg:border-r-0":"lg:w-[280px]",R&&"fixed inset-y-0 left-0 z-[60] flex w-[280px]"),children:[(0,t.jsxs)("div",{className:"p-4 border-b border-border",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsx)("h2",{className:"font-semibold text-sm",children:"Specifications"}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(y.Button,{variant:z||en?"default":"ghost",size:"sm",onClick:()=>I(!z),className:"h-6 w-6 p-0",children:(0,t.jsx)(b,{className:"h-4 w-4"})})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:z?"Hide filters":"Show filters"})]}),(0,t.jsx)(y.Button,{variant:"ghost",size:"sm",onClick:()=>A(!1),className:"h-6 w-6 p-0 lg:hidden",children:(0,t.jsx)(p.X,{className:"h-4 w-4"})}),(0,t.jsx)(y.Button,{variant:"ghost",size:"sm",onClick:()=>E(!0),className:"h-6 w-6 p-0 hidden lg:flex lg:items-center lg:justify-center",children:(0,t.jsx)(x.ChevronLeft,{className:"h-4 w-4"})})]})]}),z&&(0,t.jsxs)("div",{className:"space-y-2 mb-3 pb-3 border-b border-border",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"Filters"}),en&&(0,t.jsx)(y.Button,{variant:"ghost",size:"sm",onClick:()=>{d("all"),N("all"),O("all")},className:"h-5 text-xs px-2 py-0",children:"Clear"})]}),(0,t.jsxs)($.Select,{value:u,onValueChange:d,children:[(0,t.jsx)($.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)($.SelectValue,{placeholder:"Status"})}),(0,t.jsxs)($.SelectContent,{children:[(0,t.jsx)($.SelectItem,{value:"all",children:"All Status"}),(0,t.jsx)($.SelectItem,{value:"planned",children:"Planned"}),(0,t.jsx)($.SelectItem,{value:"in-progress",children:"In Progress"}),(0,t.jsx)($.SelectItem,{value:"complete",children:"Complete"}),(0,t.jsx)($.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,t.jsxs)($.Select,{value:f,onValueChange:N,children:[(0,t.jsx)($.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)($.SelectValue,{placeholder:"Priority"})}),(0,t.jsxs)($.SelectContent,{children:[(0,t.jsx)($.SelectItem,{value:"all",children:"All Priority"}),(0,t.jsx)($.SelectItem,{value:"low",children:"Low"}),(0,t.jsx)($.SelectItem,{value:"medium",children:"Medium"}),(0,t.jsx)($.SelectItem,{value:"high",children:"High"}),(0,t.jsx)($.SelectItem,{value:"critical",children:"Critical"})]})]}),er.length>0&&(0,t.jsxs)($.Select,{value:C,onValueChange:O,children:[(0,t.jsx)($.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)($.SelectValue,{placeholder:"Tag"})}),(0,t.jsxs)($.SelectContent,{children:[(0,t.jsx)($.SelectItem,{value:"all",children:"All Tags"}),er.map(e=>(0,t.jsx)($.SelectItem,{value:e,children:e},e))]})]})]}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(m.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),(0,t.jsx)(v.Input,{placeholder:"Search specs...",value:o,onChange:e=>c(e.target.value),className:"pl-8 h-9 border-border"})]})]}),(0,t.jsx)("div",{className:"flex-1 overflow-hidden",children:0===ei.length?(0,t.jsx)("div",{className:"text-center py-8 text-sm text-muted-foreground",children:"No specs found"}):(0,t.jsx)(eo,{listRef:U,defaultHeight:el,rowCount:ei.length,rowHeight:72,overscanCount:5,rowComponent:ea,rowProps:{}})})]}),L&&T&&(0,t.jsx)(y.Button,{variant:"ghost",size:"sm",onClick:()=>E(!1),className:"hidden lg:items-center lg:justify-center lg:flex h-6 w-6 p-0 fixed z-50 top-20 -translate-y-1 -translate-x-1/2 left-[calc(var(--main-sidebar-width,240px))] bg-background border",children:(0,t.jsx)(g.ChevronRight,{className:"h-4 w-4"})})]})]})}e.s(["SpecsNavSidebar",()=>W],417612)},172381,e=>{e.v(t=>Promise.all(["static/chunks/e5aab2c562822175.js","static/chunks/192b2f6118d057e2.js","static/chunks/038fb2d565c88582.js","static/chunks/2136b3131f74188f.js","static/chunks/414a78f7b9b58d11.js","static/chunks/97c8160044aea609.js","static/chunks/d52a048b511c32bd.js"].map(t=>e.l(t))).then(()=>t(396758)))}]);