@leanspec/ui 0.2.9 → 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 (609) hide show
  1. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/README.md +2 -2
  2. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
  3. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
  4. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/package.json +11 -5
  5. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  6. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  7. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  8. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  9. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  10. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  11. package/.next/standalone/node_modules/.pnpm/@img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  12. package/.next/standalone/node_modules/.pnpm/{@img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64 → @img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64}/package.json +13 -7
  13. package/.next/standalone/node_modules/.pnpm/@img+sharp-linuxmusl-x64@0.34.5/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  14. package/.next/standalone/node_modules/.pnpm/@img+sharp-linuxmusl-x64@0.34.5/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  15. package/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  16. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  17. package/.next/standalone/packages/ui/.next/app-path-routes-manifest.json +11 -0
  18. package/.next/standalone/packages/ui/.next/build-manifest.json +2 -2
  19. package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
  20. package/.next/standalone/packages/ui/.next/required-server-files.json +4 -4
  21. package/.next/standalone/packages/ui/.next/routes-manifest.json +88 -0
  22. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  23. package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  25. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
  26. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  27. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  28. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  29. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  30. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  31. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  33. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +18 -20
  34. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +18 -20
  35. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +23 -26
  36. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  37. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  38. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -5
  39. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js +1 -1
  40. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js.nft.json +1 -1
  41. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js +1 -1
  42. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.nft.json +1 -1
  43. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
  44. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
  45. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
  46. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
  47. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/app-paths-manifest.json +3 -0
  48. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/build-manifest.json +11 -0
  49. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/server-reference-manifest.json +4 -0
  50. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js +8 -0
  51. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.map +5 -0
  52. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.nft.json +1 -0
  53. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route_client-reference-manifest.js +2 -0
  54. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/app-paths-manifest.json +3 -0
  55. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/build-manifest.json +11 -0
  56. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/server-reference-manifest.json +4 -0
  57. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js +8 -0
  58. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.map +5 -0
  59. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.nft.json +1 -0
  60. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route_client-reference-manifest.js +2 -0
  61. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js +1 -3
  62. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  63. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route/app-paths-manifest.json +3 -0
  64. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route/build-manifest.json +11 -0
  65. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route/server-reference-manifest.json +4 -0
  66. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route.js +8 -0
  67. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route.js.map +5 -0
  68. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route.js.nft.json +1 -0
  69. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route_client-reference-manifest.js +2 -0
  70. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route/app-paths-manifest.json +3 -0
  71. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route/build-manifest.json +11 -0
  72. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route/server-reference-manifest.json +4 -0
  73. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route.js +8 -0
  74. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route.js.map +5 -0
  75. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route.js.nft.json +1 -0
  76. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route_client-reference-manifest.js +2 -0
  77. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +1 -2
  78. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
  79. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js +1 -1
  80. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
  81. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +1 -2
  82. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  83. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js +1 -1
  84. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
  85. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route/app-paths-manifest.json +3 -0
  86. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route/build-manifest.json +11 -0
  87. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route/server-reference-manifest.json +4 -0
  88. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route.js +8 -0
  89. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route.js.map +5 -0
  90. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route.js.nft.json +1 -0
  91. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route_client-reference-manifest.js +2 -0
  92. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/app-paths-manifest.json +3 -0
  93. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/build-manifest.json +11 -0
  94. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/server-reference-manifest.json +4 -0
  95. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js +6 -0
  96. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.map +5 -0
  97. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.nft.json +1 -0
  98. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route_client-reference-manifest.js +2 -0
  99. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +1 -3
  100. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  101. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +1 -1
  102. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  103. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +1 -1
  104. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  105. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route/app-paths-manifest.json +3 -0
  106. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route/build-manifest.json +11 -0
  107. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route/server-reference-manifest.json +4 -0
  108. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route.js +8 -0
  109. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route.js.map +5 -0
  110. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route.js.nft.json +1 -0
  111. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route_client-reference-manifest.js +2 -0
  112. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +1 -1
  113. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  114. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
  115. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +1 -1
  116. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  117. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +1 -1
  118. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  119. package/.next/standalone/packages/ui/.next/server/app/api/tags/route/app-paths-manifest.json +3 -0
  120. package/.next/standalone/packages/ui/.next/server/app/api/tags/route/build-manifest.json +11 -0
  121. package/.next/standalone/packages/ui/.next/server/app/api/tags/route/server-reference-manifest.json +4 -0
  122. package/.next/standalone/packages/ui/.next/server/app/api/tags/route.js +8 -0
  123. package/.next/standalone/packages/ui/.next/server/app/api/tags/route.js.map +5 -0
  124. package/.next/standalone/packages/ui/.next/server/app/api/tags/route.js.nft.json +1 -0
  125. package/.next/standalone/packages/ui/.next/server/app/api/tags/route_client-reference-manifest.js +2 -0
  126. package/.next/standalone/packages/ui/.next/server/app/context/page.js +2 -1
  127. package/.next/standalone/packages/ui/.next/server/app/context/page.js.nft.json +1 -1
  128. package/.next/standalone/packages/ui/.next/server/app/context/page_client-reference-manifest.js +1 -1
  129. package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js +2 -1
  130. package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js.nft.json +1 -1
  131. package/.next/standalone/packages/ui/.next/server/app/dependencies/page_client-reference-manifest.js +1 -1
  132. package/.next/standalone/packages/ui/.next/server/app/page.js +2 -1
  133. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  134. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  135. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/app-paths-manifest.json +3 -0
  136. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/build-manifest.json +18 -0
  137. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/next-font-manifest.json +6 -0
  138. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/react-loadable-manifest.json +1 -0
  139. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/server-reference-manifest.json +4 -0
  140. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js +21 -0
  141. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.map +5 -0
  142. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.nft.json +1 -0
  143. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page_client-reference-manifest.js +2 -0
  144. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/app-paths-manifest.json +3 -0
  145. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/build-manifest.json +18 -0
  146. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/next-font-manifest.json +6 -0
  147. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/react-loadable-manifest.json +1 -0
  148. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/server-reference-manifest.json +4 -0
  149. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js +21 -0
  150. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.map +5 -0
  151. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.nft.json +1 -0
  152. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page_client-reference-manifest.js +2 -0
  153. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +5 -5
  154. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  155. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
  156. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +6 -5
  157. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
  158. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
  159. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +5 -4
  160. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
  161. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
  162. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/app-paths-manifest.json +3 -0
  163. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/build-manifest.json +18 -0
  164. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/next-font-manifest.json +6 -0
  165. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/react-loadable-manifest.json +1 -0
  166. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/server-reference-manifest.json +4 -0
  167. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js +21 -0
  168. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.map +5 -0
  169. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.nft.json +1 -0
  170. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page_client-reference-manifest.js +2 -0
  171. package/.next/standalone/packages/ui/.next/server/app/projects/page.js +5 -4
  172. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
  173. package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  174. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
  175. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +24 -25
  176. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +24 -25
  177. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +20 -24
  178. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  179. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  180. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  181. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  182. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  183. package/.next/standalone/packages/ui/.next/server/app/specs/page.js +2 -1
  184. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  185. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  186. package/.next/standalone/packages/ui/.next/server/app/stats/page.js +2 -1
  187. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  188. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  189. package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +11 -0
  190. package/.next/standalone/packages/ui/.next/server/chunks/284a8_app_api_projects_[id]_specs_[spec]_dependency-graph_route_actions_f18476ed.js +3 -0
  191. package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_projects_[id]_dependencies_route_actions_7ac49581.js +3 -0
  192. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_context_route_actions_96adca70.js +3 -0
  193. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_tags_route_actions_40899744.js +3 -0
  194. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_validate_route_actions_b60372c9.js +3 -0
  195. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_specs_[id]_metadata_route_actions_139bb09f.js +3 -0
  196. package/.next/standalone/packages/ui/.next/server/chunks/[externals]_better-sqlite3_a1cc22cb._.js +3 -0
  197. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0afcada7._.js +3 -0
  198. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0e63a440._.js +3 -0
  199. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0ec6f9b0._.js +3 -0
  200. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0edb782a._.js +3 -0
  201. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0fbfea15._.js +1 -1
  202. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1706515f._.js +3 -0
  203. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1f037512._.js +1 -1
  204. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__38780e00._.js +3 -0
  205. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3a535244._.js +3 -0
  206. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__41f43652._.js +3 -0
  207. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__5081ac6f._.js +3 -0
  208. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__526764b2._.js +3 -0
  209. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__548e27d4._.js +1 -1
  210. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__5f1e0195._.js +3 -0
  211. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__71d98924._.js +3 -0
  212. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__74af400b._.js +3 -0
  213. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8075fe29._.js +1 -1
  214. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9ce722b4._.js +1 -1
  215. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9cf3bf21._.js +3 -0
  216. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2d7cbed._.js +1 -1
  217. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b1ad8b69._.js +3 -0
  218. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__c7a4906b._.js +3 -0
  219. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__de15d2aa._.js +3 -0
  220. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e16f7651._.js +3 -0
  221. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e2fcb5c6._.js +3 -0
  222. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e8d9903e._.js +3 -0
  223. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f6936b89._.js +3 -0
  224. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_projects_[id]_specs_[spec]_metadata_route_actions_35af9a8c.js +3 -0
  225. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_tags_route_actions_64625b2c.js +3 -0
  226. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_b8c1af87._.js +3 -0
  227. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +72 -1
  228. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_context_page_actions_e4940a48.js +3 -0
  229. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_stats_page_actions_82a85203.js +3 -0
  230. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__0f0dade1._.js +1 -1
  231. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__174e1ca1._.js +3 -0
  232. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__212c8580._.js +3 -0
  233. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__2b66bcca._.js +3 -0
  234. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__a965a67b._.js → [root-of-the-server]__2d9202e8._.js} +2 -2
  235. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__312221a2._.js +3 -0
  236. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__338c65fe._.js +1 -1
  237. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__366688dd._.js +3 -0
  238. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__44b603f9._.js +1 -1
  239. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__46b71f61._.js +3 -0
  240. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__665ae766._.js +3 -0
  241. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__69a0d63a._.js +1 -1
  242. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__7f55abaa._.js +1 -1
  243. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a34731d8._.js +3 -0
  244. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__12b4eb41._.js → [root-of-the-server]__b0d6e2ad._.js} +2 -2
  245. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c158c9a9._.js +3 -0
  246. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c7735439._.js +3 -0
  247. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__dcee62dd._.js +3 -0
  248. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__e2c760eb._.js +3 -0
  249. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ead1539c._.js +1 -1
  250. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ec5b96a5._.js +1 -1
  251. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  252. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_39562b2a._.js → _170362f4._.js} +3 -3
  253. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_1a642e67._.js +4 -0
  254. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_adb9d7cb._.js → _22274047._.js} +2 -2
  255. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_85effc18._.js → _2bc76f88._.js} +3 -3
  256. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_fdd7780b._.js → _3f059230._.js} +3 -3
  257. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_58b98a8f._.js +4 -0
  258. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_59616aa6._.js +3 -0
  259. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_5e1484f9._.js +7 -0
  260. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8ab6f9ca._.js +3 -0
  261. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b303aeea._.js +3 -0
  262. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_bae6d2b8._.js → _b421ba4a._.js} +3 -3
  263. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_be836d6a._.js +5 -0
  264. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_d840ffc6._.js +3 -0
  265. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ec637d7c._.js +3 -0
  266. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f05260d6._.js +4 -0
  267. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_dependencies_page_actions_ba2321b8.js +3 -0
  268. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_0056f1f2._.js +3 -0
  269. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_30b0b05a._.js +3 -0
  270. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_478d57e5._.js +3 -0
  271. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_151891de._.js → node_modules__pnpm_4e3e790c._.js} +2 -2
  272. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_f5b29533._.js → node_modules__pnpm_8680dc29._.js} +2 -2
  273. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_e175b92a._.js → node_modules__pnpm_94a0b1f5._.js} +2 -2
  274. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_1120b57c._.js → node_modules__pnpm_b4ff5c78._.js} +2 -2
  275. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_7791e3b8._.js → node_modules__pnpm_d3262b3d._.js} +2 -2
  276. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_context_context-client_tsx_4ba99a62._.js +2 -2
  277. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_dependencies_dependencies-client_tsx_0e82443a._.js +1 -1
  278. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_layout_tsx_86c2ce0f._.js +3 -0
  279. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +1 -1
  280. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
  281. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_spec-detail-wrapper_tsx_fd35401c._.js +1 -1
  282. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +1 -1
  283. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  284. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  285. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  286. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  287. package/.next/standalone/packages/ui/.next/static/chunks/0c7bbb59865774a1.js +1 -0
  288. package/.next/standalone/packages/ui/.next/static/chunks/0fe978002ba489fb.js +3 -0
  289. package/.next/standalone/packages/ui/.next/static/chunks/1169d4ac8f9df687.js +1 -0
  290. package/.next/standalone/packages/ui/.next/static/chunks/1e0689744f87e958.js +2 -0
  291. package/.next/standalone/packages/ui/.next/static/chunks/241b6b1c83610ebf.js +1 -0
  292. package/.next/standalone/packages/ui/.next/static/chunks/39931c5cecf4c4b7.js +1 -0
  293. package/.next/{static/chunks/6d938a49daa10208.js → standalone/packages/ui/.next/static/chunks/4610aea3ca2e69eb.js} +1 -1
  294. package/.next/standalone/packages/ui/.next/static/chunks/6d7922838a3513a4.js +1 -0
  295. package/.next/standalone/packages/ui/.next/static/chunks/781328ee279ffc41.js +1 -0
  296. package/.next/standalone/packages/ui/.next/static/chunks/{942cf63b4032c808.js → 7df6308e6cfcf902.js} +1 -1
  297. package/.next/standalone/packages/ui/.next/static/chunks/840c6743a491a398.js +1 -0
  298. package/.next/standalone/packages/ui/.next/static/chunks/937cb3894a606899.js +5 -0
  299. package/.next/standalone/packages/ui/.next/static/chunks/9cf644b700f37825.css +1 -0
  300. package/.next/{static/chunks/a3d7e1be47de010b.js → standalone/packages/ui/.next/static/chunks/bbd498aa5689c057.js} +1 -1
  301. package/.next/standalone/packages/ui/.next/static/chunks/bc0f8f7f8dc0a352.js +1 -0
  302. package/.next/{static/chunks/979625373d5474b6.js → standalone/packages/ui/.next/static/chunks/c26909a25ca9fc9b.js} +1 -1
  303. package/.next/{static/chunks/e3bc96a996e2a314.js → standalone/packages/ui/.next/static/chunks/d26f4109b44eb240.js} +1 -1
  304. package/.next/standalone/packages/ui/.next/static/chunks/{3276ca6fd9005903.js → d52a048b511c32bd.js} +1 -1
  305. package/.next/standalone/packages/ui/.next/static/chunks/dbce73f7087f2470.js +10 -0
  306. package/.next/standalone/packages/ui/.next/static/chunks/e399b4afc7936907.js +1 -0
  307. package/.next/standalone/packages/ui/.next/static/chunks/f0a083ac29b4b6c2.js +1 -0
  308. package/.next/standalone/packages/ui/dist/BUILD_ID +1 -0
  309. package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +1 -9
  310. package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +1 -1
  311. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +3 -7
  312. package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +3 -5
  313. package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +1 -2
  314. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +3 -8
  315. package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +259 -73
  316. package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +3 -5
  317. package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +3 -5
  318. package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +3 -5
  319. package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +23 -33
  320. package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +3 -7
  321. package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +14 -25
  322. package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +1 -0
  323. package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +1 -0
  324. package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +1 -0
  325. package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +1 -0
  326. package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +1 -0
  327. package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +3 -0
  328. package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +1 -0
  329. package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +1 -0
  330. package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +1 -0
  331. package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +1 -0
  332. package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +1 -0
  333. package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +1 -0
  334. package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +1 -0
  335. package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +1 -0
  336. package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +1 -0
  337. package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +1 -0
  338. package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +1 -0
  339. package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +1 -0
  340. package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +5 -0
  341. package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +1 -0
  342. package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +1 -0
  343. package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +4 -0
  344. package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +2 -0
  345. package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +19 -0
  346. package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +3 -0
  347. package/.next/standalone/packages/ui/package.json +1 -1
  348. package/.next/standalone/packages/ui/server.js +1 -1
  349. package/.next/standalone/packages/ui/src/app/api/dependencies/route.ts +4 -67
  350. package/.next/standalone/packages/ui/src/app/api/projects/[id]/context/route.ts +39 -0
  351. package/.next/standalone/packages/ui/src/app/api/projects/[id]/dependencies/route.ts +20 -0
  352. package/.next/standalone/packages/ui/src/app/api/projects/[id]/route.ts +25 -9
  353. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/dependency-graph/route.ts +129 -0
  354. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/metadata/route.ts +170 -0
  355. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/route.ts +14 -14
  356. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/status/route.ts +9 -2
  357. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/route.ts +9 -8
  358. package/.next/standalone/packages/ui/src/app/api/projects/[id]/tags/route.ts +25 -0
  359. package/.next/standalone/packages/ui/src/app/api/projects/[id]/validate/route.ts +49 -0
  360. package/.next/standalone/packages/ui/src/app/api/projects/route.ts +18 -5
  361. package/.next/standalone/packages/ui/src/app/api/specs/[id]/dependency-graph/route.test.ts +0 -2
  362. package/.next/standalone/packages/ui/src/app/api/specs/[id]/dependency-graph/route.ts +0 -15
  363. package/.next/standalone/packages/ui/src/app/api/specs/[id]/metadata/route.ts +184 -0
  364. package/.next/standalone/packages/ui/src/app/api/tags/route.ts +16 -0
  365. package/.next/standalone/packages/ui/src/app/context/page.tsx +22 -0
  366. package/.next/standalone/packages/ui/src/app/dashboard-client.tsx +43 -62
  367. package/.next/standalone/packages/ui/src/app/dependencies/constants.ts +9 -8
  368. package/.next/standalone/packages/ui/src/app/dependencies/dependencies-client.tsx +95 -20
  369. package/.next/standalone/packages/ui/src/app/dependencies/page.tsx +25 -13
  370. package/.next/standalone/packages/ui/src/app/dependencies/spec-node.tsx +8 -8
  371. package/.next/standalone/packages/ui/src/app/dependencies/spec-sidebar.tsx +40 -67
  372. package/.next/standalone/packages/ui/src/app/page.tsx +24 -0
  373. package/.next/standalone/packages/ui/src/app/projects/[projectId]/context/page.tsx +41 -0
  374. package/.next/standalone/packages/ui/src/app/projects/[projectId]/dependencies/page.tsx +30 -0
  375. package/.next/standalone/packages/ui/src/app/projects/[projectId]/page.tsx +18 -2
  376. package/.next/standalone/packages/ui/src/app/projects/[projectId]/stats/page.tsx +24 -0
  377. package/.next/standalone/packages/ui/src/app/projects/layout.tsx +7 -0
  378. package/.next/standalone/packages/ui/src/app/projects/page.tsx +375 -107
  379. package/.next/standalone/packages/ui/src/app/specs/[id]/page.tsx +24 -1
  380. package/.next/standalone/packages/ui/src/app/specs/page.tsx +22 -0
  381. package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +28 -18
  382. package/.next/standalone/packages/ui/src/app/stats/page.tsx +22 -0
  383. package/.next/standalone/packages/ui/src/components/color-picker.tsx +73 -0
  384. package/.next/standalone/packages/ui/src/components/create-project-dialog.tsx +3 -5
  385. package/.next/standalone/packages/ui/src/components/directory-picker.tsx +1 -0
  386. package/.next/standalone/packages/ui/{dist/standalone/packages/web/src/components/spec-metadata.tsx → src/components/editable-spec-metadata.tsx} +46 -30
  387. package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +28 -6
  388. package/.next/standalone/packages/ui/src/components/markdown-link.tsx +15 -8
  389. package/.next/standalone/packages/ui/src/components/priority-editor.tsx +153 -0
  390. package/.next/standalone/packages/ui/src/components/project-switcher.tsx +74 -10
  391. package/.next/standalone/packages/ui/src/components/quick-search.tsx +3 -1
  392. package/.next/standalone/packages/ui/src/components/spec-dependency-graph.tsx +13 -52
  393. package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +58 -30
  394. package/.next/standalone/packages/ui/src/components/spec-detail-wrapper.tsx +3 -4
  395. package/.next/standalone/packages/ui/src/components/specs-nav-sidebar.tsx +8 -6
  396. package/.next/standalone/packages/ui/src/components/status-editor.tsx +153 -0
  397. package/.next/standalone/packages/ui/src/components/tags-editor.tsx +238 -0
  398. package/.next/standalone/packages/ui/src/components/ui/command.tsx +1 -1
  399. package/.next/standalone/packages/ui/src/contexts/project-context.tsx +24 -0
  400. package/.next/standalone/packages/ui/src/lib/db/service-queries.ts +230 -40
  401. package/.next/standalone/packages/ui/src/lib/dependency-graph.ts +0 -13
  402. package/.next/standalone/packages/ui/src/lib/projects/registry.ts +1 -1
  403. package/.next/standalone/packages/ui/src/lib/specs/sources/multi-project-source.ts +21 -5
  404. package/.next/standalone/packages/ui/src/types/specs.ts +6 -4
  405. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  406. package/.next/static/chunks/0c7bbb59865774a1.js +1 -0
  407. package/.next/static/chunks/0fe978002ba489fb.js +3 -0
  408. package/.next/static/chunks/1169d4ac8f9df687.js +1 -0
  409. package/.next/static/chunks/1e0689744f87e958.js +2 -0
  410. package/.next/static/chunks/241b6b1c83610ebf.js +1 -0
  411. package/.next/static/chunks/39931c5cecf4c4b7.js +1 -0
  412. package/.next/{standalone/packages/ui/.next/static/chunks/6d938a49daa10208.js → static/chunks/4610aea3ca2e69eb.js} +1 -1
  413. package/.next/static/chunks/6d7922838a3513a4.js +1 -0
  414. package/.next/static/chunks/781328ee279ffc41.js +1 -0
  415. package/.next/static/chunks/{942cf63b4032c808.js → 7df6308e6cfcf902.js} +1 -1
  416. package/.next/static/chunks/840c6743a491a398.js +1 -0
  417. package/.next/static/chunks/937cb3894a606899.js +5 -0
  418. package/.next/static/chunks/9cf644b700f37825.css +1 -0
  419. package/.next/{standalone/packages/ui/.next/static/chunks/a3d7e1be47de010b.js → static/chunks/bbd498aa5689c057.js} +1 -1
  420. package/.next/static/chunks/bc0f8f7f8dc0a352.js +1 -0
  421. package/.next/{standalone/packages/ui/.next/static/chunks/979625373d5474b6.js → static/chunks/c26909a25ca9fc9b.js} +1 -1
  422. package/.next/{standalone/packages/ui/.next/static/chunks/e3bc96a996e2a314.js → static/chunks/d26f4109b44eb240.js} +1 -1
  423. package/.next/static/chunks/{3276ca6fd9005903.js → d52a048b511c32bd.js} +1 -1
  424. package/.next/static/chunks/dbce73f7087f2470.js +10 -0
  425. package/.next/static/chunks/e399b4afc7936907.js +1 -0
  426. package/.next/static/chunks/f0a083ac29b4b6c2.js +1 -0
  427. package/.next/static/s9uUE9DnvJD2xIz-iBGMe/_buildManifest.js +11 -0
  428. package/.next/static/s9uUE9DnvJD2xIz-iBGMe/_clientMiddlewareManifest.json +1 -0
  429. package/.next/static/s9uUE9DnvJD2xIz-iBGMe/_ssgManifest.js +1 -0
  430. package/package.json +2 -2
  431. package/.next/standalone/node_modules/.pnpm/@img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  432. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__126dea7b._.js +0 -3
  433. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +0 -3
  434. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +0 -3
  435. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +0 -3
  436. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +0 -3
  437. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +0 -3
  438. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8a9ab1a3._.js +0 -3
  439. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +0 -3
  440. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ae726e9c._.js +0 -3
  441. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b0969111._.js +0 -3
  442. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +0 -3
  443. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f06435b0._.js +0 -3
  444. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +0 -3
  445. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +0 -3
  446. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +0 -74
  447. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +0 -3
  448. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__3c77d95b._.js +0 -3
  449. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__50122e7e._.js +0 -3
  450. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__8608a6fa._.js +0 -3
  451. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +0 -3
  452. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +0 -3
  453. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +0 -3
  454. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daedd80e._.js +0 -3
  455. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__dc176c61._.js +0 -3
  456. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_03aa8d19._.js +0 -7
  457. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_28fe1532._.js +0 -5
  458. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +0 -3
  459. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8cec504f._.js +0 -3
  460. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ea899b87._.js +0 -3
  461. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_fe120f8a._.js +0 -3
  462. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_1c916fe3._.js +0 -3
  463. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ba1438c._.js +0 -3
  464. package/.next/standalone/packages/ui/.next/static/chunks/094cf9f4e3553261.js +0 -1
  465. package/.next/standalone/packages/ui/.next/static/chunks/1c015eb9eaaf9f9c.js +0 -1
  466. package/.next/standalone/packages/ui/.next/static/chunks/1d36660b2877d213.js +0 -3
  467. package/.next/standalone/packages/ui/.next/static/chunks/20f4141ccb5d4eb4.js +0 -1
  468. package/.next/standalone/packages/ui/.next/static/chunks/2c85b8059e42248a.js +0 -1
  469. package/.next/standalone/packages/ui/.next/static/chunks/3b6b058ebd14dbed.js +0 -1
  470. package/.next/standalone/packages/ui/.next/static/chunks/4d29ca0fa6843070.js +0 -2
  471. package/.next/standalone/packages/ui/.next/static/chunks/59854b15bf046467.js +0 -1
  472. package/.next/standalone/packages/ui/.next/static/chunks/5fd8101e32b076b1.js +0 -1
  473. package/.next/standalone/packages/ui/.next/static/chunks/a33f10af6abef4df.js +0 -10
  474. package/.next/standalone/packages/ui/.next/static/chunks/b7f19087afe1d2c9.css +0 -1
  475. package/.next/standalone/packages/ui/.next/static/chunks/ddd87cd0d26bc2f5.js +0 -1
  476. package/.next/standalone/packages/ui/.next/static/chunks/eeec245955b3b600.js +0 -5
  477. package/.next/standalone/packages/ui/dist/standalone/packages/web/components.json +0 -20
  478. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0000_reflective_thena.sql +0 -59
  479. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0001_fresh_carmella_unuscione.sql +0 -1
  480. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0000_snapshot.json +0 -427
  481. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0001_snapshot.json +0 -436
  482. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/_journal.json +0 -20
  483. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle.config.ts +0 -10
  484. package/.next/standalone/packages/ui/dist/standalone/packages/web/eslint.config.mjs +0 -18
  485. package/.next/standalone/packages/ui/dist/standalone/packages/web/next.config.ts +0 -7
  486. package/.next/standalone/packages/ui/dist/standalone/packages/web/postcss.config.mjs +0 -8
  487. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/[id]/specs/route.ts +0 -23
  488. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/route.ts +0 -19
  489. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/revalidate/route.ts +0 -63
  490. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.test.ts +0 -51
  491. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.ts +0 -171
  492. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/route.ts +0 -36
  493. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/subspecs/[file]/route.ts +0 -46
  494. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/stats/route.ts +0 -19
  495. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/board-client.tsx +0 -162
  496. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/loading.tsx +0 -43
  497. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/page.tsx +0 -18
  498. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/dashboard-client.tsx +0 -364
  499. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/error.tsx +0 -43
  500. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/globals.css +0 -531
  501. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/home-client.tsx +0 -277
  502. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/layout.tsx +0 -70
  503. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/loading.tsx +0 -87
  504. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/not-found.tsx +0 -27
  505. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/page.tsx +0 -18
  506. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/loading.tsx +0 -5
  507. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/page.tsx +0 -43
  508. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/page.tsx +0 -18
  509. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/specs-client.tsx +0 -425
  510. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/page.tsx +0 -18
  511. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/stats-client.tsx +0 -283
  512. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/back-to-top.tsx +0 -46
  513. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/empty-state.tsx +0 -52
  514. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/main-sidebar.tsx +0 -175
  515. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.test.ts +0 -96
  516. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.tsx +0 -95
  517. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/navigation.tsx +0 -210
  518. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/priority-badge.tsx +0 -53
  519. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/quick-search.tsx +0 -180
  520. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/skeletons.tsx +0 -119
  521. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-dependency-graph.tsx +0 -369
  522. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-client.tsx +0 -372
  523. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-loading-shell.tsx +0 -42
  524. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-wrapper.tsx +0 -70
  525. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-sidebar.tsx +0 -127
  526. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-timeline.tsx +0 -186
  527. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/specs-nav-sidebar.tsx +0 -561
  528. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/status-badge.tsx +0 -53
  529. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/sub-spec-tabs.tsx +0 -143
  530. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/table-of-contents.tsx +0 -130
  531. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-provider.tsx +0 -11
  532. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-toggle.tsx +0 -37
  533. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/avatar.tsx +0 -50
  534. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/badge.tsx +0 -36
  535. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/breadcrumb.tsx +0 -110
  536. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/button.tsx +0 -57
  537. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/card.tsx +0 -76
  538. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/command.tsx +0 -153
  539. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/dialog.tsx +0 -122
  540. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/input.tsx +0 -24
  541. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/select.tsx +0 -159
  542. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/separator.tsx +0 -31
  543. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/skeleton.tsx +0 -15
  544. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tabs.tsx +0 -55
  545. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/toast.tsx +0 -30
  546. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tooltip.tsx +0 -32
  547. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/date-utils.ts +0 -76
  548. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/index.ts +0 -42
  549. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/migrate.ts +0 -18
  550. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/queries.ts +0 -114
  551. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/schema.ts +0 -123
  552. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/seed.ts +0 -156
  553. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/service-queries.ts +0 -216
  554. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/dependency-graph.ts +0 -105
  555. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/service.ts +0 -120
  556. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/database-source.ts +0 -94
  557. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/filesystem-source.ts +0 -249
  558. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/types.ts +0 -55
  559. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/stores/specs-sidebar-store.ts +0 -152
  560. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/sub-specs.ts +0 -171
  561. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/utils.ts +0 -17
  562. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/types/specs.ts +0 -18
  563. package/.next/standalone/packages/ui/dist/standalone/packages/web/tailwind.config.ts +0 -58
  564. package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.json +0 -34
  565. package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.tsbuildinfo +0 -1
  566. package/.next/standalone/packages/ui/dist/standalone/packages/web/vitest.config.ts +0 -14
  567. package/.next/standalone/packages/ui/dist/standalone/specs/094-ai-chatbot-web-integration/README.md +0 -332
  568. package/.next/standalone/packages/ui/dist/standalone/specs/095-pr-migration-verification/README.md +0 -339
  569. package/.next/standalone/packages/ui/dist/standalone/specs/096-docs-beginner-first-reorg/README.md +0 -399
  570. package/.next/standalone/packages/ui/dist/standalone/specs/097-dag-visualization-library/README.md +0 -525
  571. package/.next/standalone/packages/ui/dist/standalone/specs/098-github-multi-project-integration/README.md +0 -387
  572. package/.next/standalone/packages/ui/dist/standalone/specs/099-enhanced-dependency-commands-cli-mcp/README.md +0 -613
  573. package/.next/standalone/packages/ui/dist/standalone/specs/100-release-process-typecheck-failure/README.md +0 -266
  574. package/.next/standalone/packages/ui/dist/standalone/specs/101-sidebar-scroll-position-drift/README.md +0 -100
  575. package/.next/standalone/packages/ui/dist/standalone/specs/102-mcp-wrapper-package/README.md +0 -172
  576. package/.next/static/chunks/094cf9f4e3553261.js +0 -1
  577. package/.next/static/chunks/1c015eb9eaaf9f9c.js +0 -1
  578. package/.next/static/chunks/1d36660b2877d213.js +0 -3
  579. package/.next/static/chunks/20f4141ccb5d4eb4.js +0 -1
  580. package/.next/static/chunks/2c85b8059e42248a.js +0 -1
  581. package/.next/static/chunks/3b6b058ebd14dbed.js +0 -1
  582. package/.next/static/chunks/4d29ca0fa6843070.js +0 -2
  583. package/.next/static/chunks/59854b15bf046467.js +0 -1
  584. package/.next/static/chunks/5fd8101e32b076b1.js +0 -1
  585. package/.next/static/chunks/a33f10af6abef4df.js +0 -10
  586. package/.next/static/chunks/b7f19087afe1d2c9.css +0 -1
  587. package/.next/static/chunks/ddd87cd0d26bc2f5.js +0 -1
  588. package/.next/static/chunks/eeec245955b3b600.js +0 -5
  589. /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/lib/index.js +0 -0
  590. /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/versions.json +0 -0
  591. /package/.next/standalone/packages/ui/.next/static/{8PwFWS-09QjFSbDbfp15t → s9uUE9DnvJD2xIz-iBGMe}/_buildManifest.js +0 -0
  592. /package/.next/standalone/packages/ui/.next/static/{8PwFWS-09QjFSbDbfp15t → s9uUE9DnvJD2xIz-iBGMe}/_clientMiddlewareManifest.json +0 -0
  593. /package/.next/standalone/packages/ui/.next/static/{8PwFWS-09QjFSbDbfp15t → s9uUE9DnvJD2xIz-iBGMe}/_ssgManifest.js +0 -0
  594. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -0
  595. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/favicon.ico +0 -0
  596. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/file.svg +0 -0
  597. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/github-mark-white.svg +0 -0
  598. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/github-mark.svg +0 -0
  599. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/globe.svg +0 -0
  600. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/icon.svg +0 -0
  601. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/logo-dark-bg.svg +0 -0
  602. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/logo-with-bg.svg +0 -0
  603. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/logo.svg +0 -0
  604. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/next.svg +0 -0
  605. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/vercel.svg +0 -0
  606. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/window.svg +0 -0
  607. /package/.next/{static/8PwFWS-09QjFSbDbfp15t → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_buildManifest.js +0 -0
  608. /package/.next/{static/8PwFWS-09QjFSbDbfp15t → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_clientMiddlewareManifest.json +0 -0
  609. /package/.next/{static/8PwFWS-09QjFSbDbfp15t → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
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),n=e.i(417612),i=e.i(230827),a=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,d=()=>{},c=d(),u=Object,p=e=>e===c,m=(e,t)=>({...e,...t}),f={},h={},x="undefined",g=typeof window!=x,b=typeof document!=x,y=g&&"Deno"in window,v=(e,t)=>{let r=o.get(e);return[()=>!p(t)&&e.get(t)||f,s=>{if(!p(t)){let n=e.get(t);t in h||(h[t]=n),r[5](t,m(n,s),n||f)}},r[6],()=>!p(t)&&t in h?h[t]:!p(t)&&e.get(t)||f]},w=!0,[j,N]=g&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[d,d],k={initFocus:e=>(b&&document.addEventListener("visibilitychange",e),j("focus",e),()=>{b&&document.removeEventListener("visibilitychange",e),N("focus",e)}),initReconnect:e=>{let t=()=>{w=!0,e()},r=()=>{w=!1};return j("online",t),j("offline",r),()=>{N("online",t),N("offline",r)}}},E=!s.default.useId,S=!g||y,T=S?s.useEffect:s.useLayoutEffect,C="undefined"!=typeof navigator&&navigator.connection,O=!S&&C&&(["slow-2g","2g"].includes(C.effectiveType)||C.saveData),R=new WeakMap,A=(e,t)=>e===`[object ${t}]`,D=0,P=e=>{let t,r,s=typeof e,n=u.prototype.toString.call(e),i=A(n,"Date"),a=A(n,"RegExp"),l=A(n,"Object");if(u(e)!==e||i||a)t=i?e.toJSON():"symbol"==s?e.toString():"string"==s?JSON.stringify(e):""+e;else{if(t=R.get(e))return t;if(t=++D+"~",R.set(e,t),Array.isArray(e)){for(r=0,t="@";r<e.length;r++)t+=P(e[r])+",";R.set(e,t)}if(l){t="#";let s=u.keys(e).sort();for(;!p(r=s.pop());)p(e[r])||(t+=r+":"+P(e[r])+",");R.set(e,t)}}return t},M=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)?P(e):"",t]},_=0,F=()=>++_;async function V(...e){let[t,r,s,n]=e,i=m({populateCache:!0,throwOnError:!0},"boolean"==typeof n?{revalidate:n}:n||{}),a=i.populateCache,l=i.rollbackOnError,d=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(f))}return f(r);async function f(r){let n,[m]=M(r);if(!m)return;let[f,h]=v(t,m),[x,g,b,y]=o.get(t),w=()=>{let e=x[m];return("function"==typeof i.revalidate?i.revalidate(f().data,r):!1!==i.revalidate)&&(delete b[m],delete y[m],e&&e[0])?e[0](2).then(()=>f().data):f().data};if(e.length<3)return w();let j=s,N=!1,k=F();g[m]=[k,0];let E=!p(d),S=f(),T=S.data,C=S._c,O=p(C)?T:C;if(E&&h({data:d="function"==typeof d?d(O,T):d,_c:O}),"function"==typeof j)try{j=j(O)}catch(e){n=e,N=!0}if(j&&"function"==typeof j.then){let e;if(j=await j.catch(e=>{n=e,N=!0}),k!==g[m][0]){if(N)throw n;return j}N&&E&&(e=n,"function"==typeof l?l(e):!1!==l)&&(a=!0,h({data:O,_c:c}))}if(a&&!N&&("function"==typeof a?h({data:a(j,O),error:c,_c:c}):h({data:j,error:c,_c:c})),g[m][1]=F(),Promise.resolve(w()).then(()=>{h({_c:c})}),N){if(u)throw n;return}return j}}let L=(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),n=V.bind(c,e),i=d,a=Object.create(null),l=(e,t)=>{let r=a[e]||[];return a[e]=r,r.push(t),()=>r.splice(r.indexOf(t),1)},u=(t,r,s)=>{e.set(t,r);let n=a[t];if(n)for(let e of n)e(r,s)},p=()=>{if(!o.has(e)&&(o.set(e,[s,Object.create(null),Object.create(null),Object.create(null),n,u,l]),!S)){let t=r.initFocus(setTimeout.bind(c,L.bind(c,s,0))),n=r.initReconnect(setTimeout.bind(c,L.bind(c,s,1)));i=()=>{t&&t(),n&&n(),o.delete(e)}}};return p(),[e,n,p,i]}return[e,o.get(e)[4]]},[B,I]=$(new Map),z=m({onLoadingSlow:d,onSuccess:d,onError:d,onErrorRetry:(e,t,r,s,n)=>{let i=r.errorRetryCount,a=n.retryCount,l=~~((Math.random()+.5)*(1<<(a<8?a:8)))*r.errorRetryInterval;(p(i)||!(a>i))&&setTimeout(s,l,n)},onDiscarded:d,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:O?1e4:5e3,focusThrottleInterval:5e3,dedupingInterval:2e3,loadingTimeout:O?5e3:3e3,compare:function e(t,r){var s,n;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((n=t.length)===r.length)for(;n--&&e(t[n],r[n]););return -1===n}if(!s||"object"==typeof t){for(s in n=0,t)if(l.call(t,s)&&++n&&!l.call(r,s)||!(s in r)||!e(t[s],r[s]))return!1;return Object.keys(r).length===n}}return t!=t&&r!=r},isPaused:()=>!1,cache:B,mutate:I,fallback:{}},{isOnline:()=>w,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:n}=e,{use:i,fallback:a}=t;s&&i&&(r.use=s.concat(i)),n&&a&&(r.fallback=m(n,a))}return r},q=(0,s.createContext)({});var U=e.i(89601);let H=g&&window.__SWR_DEVTOOLS_USE__,G=(H?window.__SWR_DEVTOOLS_USE__:[]).concat(e=>(t,r,s)=>{let n=r&&((...e)=>{let[s]=M(t),[,,,n]=o.get(B);if(s.startsWith("$inf$"))return r(...e);let i=n[s];return p(i)?r(...e):(delete n[s],i)});return e(t,n,s)});H&&(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(c);u.defineProperty(e=>{let{value:t}=e,r=(0,s.useContext)(q),n="function"==typeof t,i=(0,s.useMemo)(()=>n?t(r):t,[n,r,t]),a=(0,s.useMemo)(()=>n?i:W(r,i),[n,r,i]),l=i&&i.provider,o=(0,s.useRef)(c);l&&!o.current&&(o.current=$(l(a.cache||B),i));let d=o.current;return d&&(a.cache=d[0],a.mutate=d[1]),T(()=>{if(d)return d[2]&&d[2](),d[3]},[]),(0,s.createElement)(q.Provider,m(e,{value:a}))},"defaultValue",{value:z});let Y=(t=(e,t,r)=>{let{cache:n,compare:i,suspense:l,fallbackData:d,revalidateOnMount:u,revalidateIfStale:f,refreshInterval:h,refreshWhenHidden:b,refreshWhenOffline:y,keepPreviousData:w}=r,[j,N,k,C]=o.get(n),[O,R]=M(e),A=(0,s.useRef)(!1),D=(0,s.useRef)(!1),P=(0,s.useRef)(O),_=(0,s.useRef)(t),L=(0,s.useRef)(r),$=()=>L.current.isVisible()&&L.current.isOnline(),[B,I,z,W]=v(n,O),q=(0,s.useRef)({}).current,H=p(d)?p(r.fallback)?c:r.fallback[O]:d,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=!!O&&!!t&&(p(u)?!L.current.isPaused()&&!l&&!1!==f:u),r=t=>{let r=m(t);return(delete r._k,e)?{isValidating:!0,isLoading:!0,...r}:r},s=B(),n=W(),i=r(s),a=s===n?i:r(n),o=i;return[()=>{let e=r(B());return G(e,o)?(o.data=e.data,o.isLoading=e.isLoading,o.isValidating=e.isValidating,o.error=e.error,o):(o=e,e)},()=>a]},[n,O]),K=(0,a.useSyncExternalStore)((0,s.useCallback)(e=>z(O,(t,r)=>{G(r,t)||e()}),[n,O]),J[0],J[1]),Y=!A.current,ee=j[O]&&j[O].length>0,et=K.data,er=p(et)?H&&"function"==typeof H.then?Z(H):H:et,es=K.error,en=(0,s.useRef)(er),ei=w?p(et)?p(en.current)?er:en.current:et:er,ea=(!ee||!!p(es))&&(Y&&!p(u)?u:!L.current.isPaused()&&(l?!p(er)&&f:p(er)||f)),el=!!(O&&t&&Y&&ea),eo=p(K.isValidating)?el:K.isValidating,ed=p(K.isLoading)?el:K.isLoading,ec=(0,s.useCallback)(async e=>{let t,s,n=_.current;if(!O||!n||D.current||L.current.isPaused())return!1;let a=!0,l=e||{},o=!k[O]||!l.dedupe,d=()=>E?!D.current&&O===P.current&&A.current:O===P.current,u={isValidating:!1,isLoading:!1},m=()=>{I(u)},f=()=>{let e=k[O];e&&e[1]===s&&delete k[O]},h={isValidating:!0};p(B().data)&&(h.isLoading=!0);try{if(o&&(I(h),r.loadingTimeout&&p(B().data)&&setTimeout(()=>{a&&d()&&L.current.onLoadingSlow(O,r)},r.loadingTimeout),k[O]=[n(R),F()]),[t,s]=k[O],t=await t,o&&setTimeout(f,r.dedupingInterval),!k[O]||k[O][1]!==s)return o&&d()&&L.current.onDiscarded(O),!1;u.error=c;let e=N[O];if(!p(e)&&(s<=e[0]||s<=e[1]||0===e[1]))return m(),o&&d()&&L.current.onDiscarded(O),!1;let l=B().data;u.data=i(l,t)?l:t,o&&d()&&L.current.onSuccess(t,O,r)}catch(r){f();let e=L.current,{shouldRetryOnError:t}=e;!e.isPaused()&&(u.error=r,o&&d())&&(e.onError(r,O,e),(!0===t||"function"==typeof t&&t(r))&&(!L.current.revalidateOnFocus||!L.current.revalidateOnReconnect||$())&&e.onErrorRetry(r,O,e,e=>{let t=j[O];t&&t[0]&&t[0](U.ERROR_REVALIDATE_EVENT,e)},{retryCount:(l.retryCount||0)+1,dedupe:!0}))}return a=!1,m(),!0},[O,n]),eu=(0,s.useCallback)((...e)=>V(n,P.current,...e),[]);if(T(()=>{_.current=t,L.current=r,p(et)||(en.current=et)}),T(()=>{var e;let t;if(!O)return;let r=ec.bind(c,Q),s=0;L.current.revalidateOnFocus&&(s=Date.now()+L.current.focusThrottleInterval);let n=(e=(e,t={})=>{if(e==U.FOCUS_EVENT){let e=Date.now();L.current.revalidateOnFocus&&e>s&&$()&&(s=e+L.current.focusThrottleInterval,r())}else if(e==U.RECONNECT_EVENT)L.current.revalidateOnReconnect&&$()&&r();else if(e==U.MUTATE_EVENT)return ec();else if(e==U.ERROR_REVALIDATE_EVENT)return ec(t)},(t=j[O]||(j[O]=[])).push(e),()=>{let r=t.indexOf(e);r>=0&&(t[r]=t[t.length-1],t.pop())});if(D.current=!1,P.current=O,A.current=!0,I({_k:R}),ea&&!k[O])if(p(er)||S)r();else g&&typeof window.requestAnimationFrame!=x?window.requestAnimationFrame(r):setTimeout(r,1);return()=>{D.current=!0,n()}},[O]),T(()=>{let e;function t(){let t="function"==typeof h?h(B().data):h;t&&-1!==e&&(e=setTimeout(r,t))}function r(){!B().error&&(b||L.current.isVisible())&&(y||L.current.isOnline())?ec(Q).then(t):t()}return t(),()=>{e&&(clearTimeout(e),e=-1)}},[h,b,y,O]),(0,s.useDebugValue)(ei),l){let e=O&&p(er);if(!E&&S&&e)throw Error("Fallback data is required when using Suspense in SSR.");e&&(_.current=t,L.current=r,D.current=!1);let s=C[O];if(Z(!p(s)&&e?eu(s):X),!p(es)&&e)throw es;let n=e?ec(Q):X;!p(ei)&&e&&(n.status="fulfilled",n.value=!0),Z(n)}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,ed}}},function(...e){let r,n=(r=(0,s.useContext)(q),(0,s.useMemo)(()=>m(z,r),[r])),[i,a,l]="function"==typeof e[1]?[e[0],e[1],e[2]||{}]:[e[0],null,(null===e[1]?e[2]:e[1])||{}],o=W(n,l),d=t,{use:c}=o,u=(c||[]).concat(G);for(let e=u.length;e--;)d=u[e](d);return d(i,a||o.fetcher||null,o)});var ee=e.i(603921),et=e.i(812878),er=e.i(188168),es=e.i(237545),en=e.i(323490),ei=e.i(235893),ea=e.i(40843),el=e.i(75364),eo=e.i(196812),ed=e.i(490225),ec=e.i(443991),eu=e.i(145878),ep=e.i(632137);function em({createdAt:e,updatedAt:t,completedAt:s,status:n,className:i}){let a=[];return(e&&a.push({label:"Created",date:e,isActive:!0,isFuture:!1,icon:ea.Clock,color:"text-blue-600"}),"in-progress"===n||"complete"===n||"archived"===n?a.push({label:"In Progress",date:t||e,isActive:!0,isFuture:!1,icon:el.PlayCircle,color:"text-orange-600"}):a.push({label:"In Progress",date:null,isActive:!1,isFuture:!0,icon:ec.Circle,color:"text-muted-foreground"}),"complete"===n||"archived"===n?a.push({label:"Complete",date:s||t,isActive:!0,isFuture:!1,icon:eo.CheckCircle2,color:"text-green-600"}):a.push({label:"Complete",date:null,isActive:!1,isFuture:!0,icon:ec.Circle,color:"text-muted-foreground"}),"archived"===n&&a.push({label:"Archived",date:t,isActive:!0,isFuture:!1,icon:ed.Archive,color:"text-gray-600"}),0===a.length)?null:(0,r.jsx)("div",{className:(0,ep.cn)("flex items-start gap-2",i),children:a.map((e,t)=>{let s=e.icon,n=t===a.length-1,i=n?null:a[t+1],l=e.date&&i?.date&&!i.isFuture?(0,eu.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,ep.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,ep.cn)("h-4 w-4",e.isActive&&!e.isFuture?"text-primary":"text-muted-foreground/60")})}),(0,r.jsx)("div",{className:(0,ep.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,eu.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"})]})]}),!n&&(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,ep.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 ef=e.i(168497),eh=e.i(597705),ex=e.i(987985);function eg({href:e,children:t,currentSpecNumber:s,...n}){if(!e)return(0,r.jsx)("a",{...n,children:t});let i=function(e,t){if(e.startsWith("#")||e.startsWith("http://")||e.startsWith("https://"))return e;let r=e.match(/^\.\/([^/]+\.md)$/);if(r&&t){let e=r[1];return"README.md"!==e?`/specs/${t}?subspec=${e}`:`/specs/${t}`}let s=e.match(/^\.\.\/(\d+)-[^/]+\/?([^/]+\.md)?$/);if(s){let e=parseInt(s[1],10),t=s[2];return t&&"README.md"!==t?`/specs/${e}?subspec=${t}`:`/specs/${e}`}return e}(e,s),a=i.startsWith("http://")||i.startsWith("https://"),l=i.startsWith("#");return a||l?(0,r.jsx)("a",{href:i,...n,target:a?"_blank":void 0,rel:a?"noopener noreferrer":void 0,children:t}):(0,r.jsx)(ex.default,{href:i,...n,className:"text-primary hover:underline",children:t})}var eb=e.i(998489),ey=e.i(656756),ev=e.i(35380),ew=e.i(910338),ej=e.i(555141),eN=e.i(252294),ek=e.i(771864);let eE="#f59e0b",eS="#38bdf8",eT="#ef4444",eC={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",related:"border-sky-400/70 bg-sky-400/10 text-sky-900 dark:text-sky-200","required-by":"border-red-400/70 bg-red-400/10 text-red-900 dark:text-red-200"},eO={rankdir:"LR",align:"UL",nodesep:60,ranksep:120,marginx:40,marginy:40},eR=s.memo(function({data:e}){return(0,r.jsxs)("div",{className:(0,ep.cn)("flex w-[280px] flex-col gap-1.5 rounded-xl border-2 px-5 py-4 text-base shadow-md transition-colors",eC[e.tone],e.interactive&&"cursor-pointer hover:border-primary/70 hover:shadow-lg"),children:[(0,r.jsx)(ek.Handle,{type:"target",position:ek.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)(ek.Handle,{type:"source",position:ek.Position.Right,className:"opacity-0"})]})});eR.displayName="SpecNode";let eA={specNode:eR};function eD(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"),n=r[2]?.replace(/[-_]/g," ").trim();return n?`#${s} ${n}`:`#${s}`}function eP(e){let t=e.trim(),r=t.match(/^(\d+)/);return r?`/specs/${parseInt(r[1],10)}`:`/specs/${t}`}function eM(e,t,r){return`${e}-${r}-${t.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-")||r}`}function e_({relationships:e,specNumber:t,specTitle:n}){let a=(0,i.useRouter)(),[l,o]=s.useState(null),d=s.useMemo(()=>{let r,s,i,a;return r=[],s=[],i={id:"current-spec",type:"specNode",data:{label:t?`#${t.toString().padStart(3,"0")} ${n}`:n,badge:"Current Spec",subtitle:"This spec",tone:"current",interactive:!1},position:{x:0,y:0},draggable:!1,selectable:!1,sourcePosition:ek.Position.Right,targetPosition:ek.Position.Left},r.push(i),e.dependsOn?.forEach((e,t)=>{let n=eM("precedence",e,t);r.push({id:n,type:"specNode",data:{label:eD(e),badge:"Depends On",subtitle:"Must complete first",tone:"precedence",href:eP(e),interactive:!0},position:{x:0,y:0},draggable:!1,selectable:!0,sourcePosition:ek.Position.Right,targetPosition:ek.Position.Left}),s.push({id:`edge-${n}-current`,source:n,target:i.id,type:"smoothstep",markerEnd:{type:ek.MarkerType.ArrowClosed,color:eE,width:28,height:28},style:{stroke:eE,strokeWidth:3}})}),e.requiredBy?.forEach((e,t)=>{let n=eM("required-by",e,t);r.push({id:n,type:"specNode",data:{label:eD(e),badge:"Required By",subtitle:"Blocked by this spec",tone:"required-by",href:eP(e),interactive:!0},position:{x:0,y:0},draggable:!1,selectable:!0,sourcePosition:ek.Position.Right,targetPosition:ek.Position.Left}),s.push({id:`edge-current-${n}`,source:i.id,target:n,type:"smoothstep",markerEnd:{type:ek.MarkerType.ArrowClosed,color:eT,width:28,height:28},style:{stroke:eT,strokeWidth:3}})}),e.related?.forEach((e,t)=>{let n=eM("related",e,t);r.push({id:n,type:"specNode",data:{label:eD(e),badge:"Related",subtitle:"Connected work",tone:"related",href:eP(e),interactive:!0},position:{x:0,y:0},draggable:!1,selectable:!0,sourcePosition:ek.Position.Right,targetPosition:ek.Position.Left}),s.push({id:`edge-current-${n}`,source:i.id,target:n,type:"smoothstep",markerEnd:{type:ek.MarkerType.ArrowClosed,color:eS,width:24,height:24},style:{stroke:eS,strokeWidth:3,strokeDasharray:"10 8"}})}),(a=new ev.default.graphlib.Graph).setGraph(eO),a.setDefaultEdgeLabel(()=>({})),r.forEach(e=>{a.setNode(e.id,{width:280,height:110})}),s.forEach(e=>{a.setEdge(e.source,e.target)}),ev.default.layout(a),{nodes:r.map(e=>{let{x:t,y:r}=a.node(e.id);return{...e,position:{x:t-140,y:r-55}}}),edges:s}},[e,t,n]),c=s.useCallback(e=>{o(e),requestAnimationFrame(()=>{e.fitView({padding:.4,duration:350})})},[]);s.useEffect(()=>{l&&l.fitView({padding:.4,duration:350})},[l,d.nodes]);let u=s.useCallback((e,t)=>{!t?.data||t.data.href&&a.push(t.data.href)},[a]);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)(ew.default,{nodes:d.nodes,edges:d.edges,nodeTypes:eA,onInit:c,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:u,children:[(0,r.jsx)(ej.Background,{gap:24,size:1,color:"rgba(148, 163, 184, 0.3)"}),(0,r.jsx)(eN.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 eF=e.i(715683),eV=e.i(439779),eL=e.i(20315),e$=e.i(122436);let eB=(0,e$.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"}]]),eI=(0,e$.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]),ez=(0,e$.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"}]]),eW=(0,e$.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"}]]),eq=(0,e$.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"}]]),eU=(0,e$.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 eH=e.i(730885),eG=e.i(497332),eJ=e.i(296026),eK=e.i(635389),eZ=e.i(340982),eQ=e.i(522764),eX=e.i(446207);let eY=()=>e=>{(0,eX.visit)(e,"html",e=>{"string"==typeof e.value&&e.value.trim().startsWith("<!--")&&(e.value="")})},e0={FileText:eL.FileText,Palette:eB,Code:eI,TestTube:ez,CheckSquare:eW,Wrench:eq,Map:eU,GitBranch:eH.GitBranch,Home:eG.Home,TrendingUp:eJ.TrendingUp},e1=e=>fetch(e).then(e=>{if(!e.ok)throw Error(`HTTP error! status: ${e.status}`);return e.json()});function e2({initialSpec:e,initialSubSpec:t,isFocusMode:n=!1,onToggleFocusMode:a}){let l=(0,i.useRouter)(),o=(0,i.useSearchParams)().get("subspec")||t,[d,c]=s.useState(!1),[u,p]=s.useState(!1),{data:m,error:f,isLoading:h}=Y(`/api/specs/${e.specNumber||e.id}`,e1,{fallbackData:{spec:e},revalidateOnFocus:!1,dedupingInterval:5e3}),{data:x}=Y(u?`/api/specs/${e.specNumber||e.id}/dependency-graph`:null,e1,{revalidateOnFocus:!1,dedupingInterval:6e4}),g=m?.spec||e,b=s.useMemo(()=>g.tags||[],[g.tags]),y=g.updatedAt?(0,eu.formatRelativeTime)(g.updatedAt):"N/A",v=g.relationships,w=x?{dependsOn:x.dependsOn.map(e=>e.specName),requiredBy:x.requiredBy.map(e=>e.specName),related:x.related.map(e=>e.specName)}:v,j=!!(v&&((v.dependsOn?.length??0)>0||(v.related?.length??0)>0));s.useEffect(()=>{j||p(!1)},[j]);let N=(0,ep.extractH1Title)(g.contentMd)||g.title||g.specName,k=g.contentMd;if(o&&g.subSpecs){let e=g.subSpecs.find(e=>e.file===o);e&&(k=e.content)}let E=e=>e?new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):"N/A",S=e=>{let t=e?`/specs/${g.specNumber||g.id}?subspec=${e}`:`/specs/${g.specNumber||g.id}`;l.push(t,{scroll:!1})},T=s.useRef(null);return s.useEffect(()=>{let e=()=>{let e=56;window.innerWidth>=1024&&T.current&&(e+=T.current.offsetHeight-56),document.documentElement.style.scrollPaddingTop=`${e}px`};e(),window.addEventListener("resize",e);let t=new ResizeObserver(e);return T.current&&t.observe(T.current),()=>{window.removeEventListener("resize",e),t.disconnect(),document.documentElement.style.scrollPaddingTop=""}},[g,b]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("header",{ref:T,className:"lg:sticky lg:top-14 lg:z-20 border-b bg-card",children:[(0,r.jsx)("div",{className:(0,ep.cn)("px-3 sm:px-6",n?"py-1.5":"py-2 sm:py-3"),children:n?(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:[g.specNumber&&(0,r.jsxs)("span",{className:"text-muted-foreground",children:["#",g.specNumber.toString().padStart(3,"0")," "]}),N]}),(0,r.jsx)(ef.StatusBadge,{status:g.status||"planned"}),(0,r.jsx)(eh.PriorityBadge,{priority:g.priority||"medium"})]}),(0,r.jsx)(ei.Button,{type:"button",variant:"ghost",size:"sm",onClick:a,className:"h-7 px-2 text-xs text-muted-foreground hover:text-foreground shrink-0",title:"Exit focus mode",children:(0,r.jsx)(eZ.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:[g.specNumber&&(0,r.jsxs)("span",{className:"text-muted-foreground",children:["#",g.specNumber.toString().padStart(3,"0")," "]}),N]}),(0,r.jsxs)(ei.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)(eQ.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)(ef.StatusBadge,{status:g.status||"planned"}),(0,r.jsx)(eh.PriorityBadge,{priority:g.priority||"medium"}),b.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"h-4 w-px bg-border mx-1 hidden sm:block"}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-1",children:[b.slice(0,5).map(e=>(0,r.jsx)(en.Badge,{variant:"secondary",className:"text-xs",children:e},e)),b.length>5&&(0,r.jsxs)(en.Badge,{variant:"secondary",className:"text-xs",children:["+",b.length-5," more"]})]})]})]}),(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: ",E(g.createdAt)]}),(0,r.jsx)("span",{className:"hidden sm:inline",children:"•"}),(0,r.jsxs)("span",{children:["Updated: ",E(g.updatedAt),g.updatedAt&&(0,r.jsxs)("span",{className:"ml-1 text-[11px] text-muted-foreground/80",children:["(",y,")"]})]}),(0,r.jsx)("span",{className:"hidden sm:inline",children:"•"}),(0,r.jsxs)("span",{className:"hidden md:inline",children:["Name: ",g.specName]}),g.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: ",g.assignee]})]})]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mt-2",children:[(0,r.jsxs)(eV.Dialog,{open:d,onOpenChange:c,children:[(0,r.jsxs)(ei.Button,{type:"button",variant:"outline",size:"sm","aria-haspopup":"dialog","aria-expanded":d,onClick:()=>c(!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)(ea.Clock,{className:"mr-1.5 h-3.5 w-3.5"}),"View Timeline",(0,r.jsx)(eK.Maximize2,{className:"ml-1.5 h-3.5 w-3.5"})]}),(0,r.jsxs)(eV.DialogContent,{className:"w-[min(900px,90vw)] max-w-3xl max-h-[90vh] overflow-y-auto",children:[(0,r.jsxs)(eV.DialogHeader,{children:[(0,r.jsx)(eV.DialogTitle,{children:"Spec Timeline"}),(0,r.jsx)(eV.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)(em,{createdAt:g.createdAt,updatedAt:g.updatedAt,completedAt:g.completedAt,status:g.status||"planned"})})]})]}),(0,r.jsxs)(eV.Dialog,{open:u,onOpenChange:p,children:[(0,r.jsxs)(ei.Button,{type:"button",variant:"outline",size:"sm","aria-haspopup":"dialog","aria-expanded":u,onClick:()=>p(!0),disabled:!j,className:(0,ep.cn)("h-8 rounded-full border px-3 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground",!j&&"cursor-not-allowed opacity-50"),children:[(0,r.jsx)(eH.GitBranch,{className:"mr-1.5 h-3.5 w-3.5"}),"View Dependencies",(0,r.jsx)(eK.Maximize2,{className:"ml-1.5 h-3.5 w-3.5"})]}),(0,r.jsxs)(eV.DialogContent,{className:"flex h-[85vh] w-[min(1200px,95vw)] max-w-6xl flex-col gap-4 overflow-hidden",children:[(0,r.jsxs)(eV.DialogHeader,{children:[(0,r.jsx)(eV.DialogTitle,{children:"Dependency Graph"}),(0,r.jsx)(eV.DialogDescription,{children:"Precedence requirements and connected specs rendered with automatic layout."})]}),(0,r.jsx)("div",{className:"min-h-0 flex-1",children:w&&(0,r.jsx)(e_,{relationships:w,specNumber:g.specNumber,specTitle:N})})]})]}),a&&(0,r.jsxs)(ei.Button,{type:"button",variant:"outline",size:"sm",onClick:a,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)(eK.Maximize2,{className:"mr-1.5 h-3.5 w-3.5"}),"Focus"]})]})]})}),g.subSpecs&&g.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:()=>S(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)(eG.Home,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"hidden sm:inline",children:"Overview"})]}),g.subSpecs.map(e=>{let t=e0[e.iconName]||eL.FileText;return(0,r.jsxs)("button",{onClick:()=>S(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:[h&&(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:"Loading..."}),f&&(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,eY],rehypePlugins:[er.default,es.default],components:{a:e=>(0,r.jsx)(eg,{...e,currentSpecNumber:g.specNumber||void 0}),pre:({children:e,...t})=>{let n=s.Children.toArray(e)[0];if(s.isValidElement(n)&&"code"===n.type&&"string"==typeof n.props.className&&n.props.className?.includes("language-mermaid")){let e=n.props,t="string"==typeof e.children?e.children:"";return(0,r.jsx)(eF.MermaidDiagram,{code:t})}return(0,r.jsx)("pre",{...t,children:e})}},children:k})})]})}),(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)(eb.TableOfContentsSidebar,{content:k})})]}),(0,r.jsx)("div",{className:"xl:hidden",children:(0,r.jsx)(eb.TableOfContents,{content:k})}),(0,r.jsx)(ey.BackToTop,{})]})}var e5=e.i(293821);function e3({spec:e,allSpecs:t,currentSubSpec:i}){let[a,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})},[]),d=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,contentMd:e.contentMd,updatedAt:e.updatedAt,subSpecsCount:"subSpecsCount"in e?e.subSpecsCount:void 0})),[t]);s.useEffect(()=>{(0,e5.primeSpecsSidebar)(d)},[d]),s.useEffect(()=>{(0,e5.setActiveSidebarSpec)(e.id)},[e.id]);let c=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)(n.SpecsNavSidebar,{initialSpecs:d,currentSpecId:e.id,currentSubSpec:i,onSpecHover:c,className:(0,ep.cn)(a&&"hidden")}),(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)(e2,{initialSpec:e,initialSubSpec:i,isFocusMode:a,onToggleFocusMode:o})})]})}e.s(["SpecDetailWrapper",()=>e3],918412)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,995403,t=>{"use strict";var e=t.i(431231),a=t.i(395635);let r=Array(12).fill(0),o=({visible:t,className:a})=>e.default.createElement("div",{className:["sonner-loading-wrapper",a].filter(Boolean).join(" "),"data-visible":t},e.default.createElement("div",{className:"sonner-spinner"},r.map((t,a)=>e.default.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${a}`})))),s=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),n=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),i=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),l=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),d=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},e.default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),c=1,u=new class{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{let e=this.subscribers.indexOf(t);this.subscribers.splice(e,1)}),this.publish=t=>{this.subscribers.forEach(e=>e(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var e;let{message:a,...r}=t,o="number"==typeof(null==t?void 0:t.id)||(null==(e=t.id)?void 0:e.length)>0?t.id:c++,s=this.toasts.find(t=>t.id===o),n=void 0===t.dismissible||t.dismissible;return this.dismissedToasts.has(o)&&this.dismissedToasts.delete(o),s?this.toasts=this.toasts.map(e=>e.id===o?(this.publish({...e,...t,id:o,title:a}),{...e,...t,id:o,dismissible:n,title:a}):e):this.addToast({title:a,...r,dismissible:n,id:o}),o},this.dismiss=t=>(t?(this.dismissedToasts.add(t),requestAnimationFrame(()=>this.subscribers.forEach(e=>e({id:t,dismiss:!0})))):this.toasts.forEach(t=>{this.subscribers.forEach(e=>e({id:t.id,dismiss:!0}))}),t),this.message=(t,e)=>this.create({...e,message:t}),this.error=(t,e)=>this.create({...e,message:t,type:"error"}),this.success=(t,e)=>this.create({...e,type:"success",message:t}),this.info=(t,e)=>this.create({...e,type:"info",message:t}),this.warning=(t,e)=>this.create({...e,type:"warning",message:t}),this.loading=(t,e)=>this.create({...e,type:"loading",message:t}),this.promise=(t,a)=>{let r,o;if(!a)return;void 0!==a.loading&&(o=this.create({...a,promise:t,type:"loading",message:a.loading,description:"function"!=typeof a.description?a.description:void 0}));let s=Promise.resolve(t instanceof Function?t():t),n=void 0!==o,i=s.then(async t=>{if(r=["resolve",t],e.default.isValidElement(t))n=!1,this.create({id:o,type:"default",message:t});else if(f(t)&&!t.ok){n=!1;let r="function"==typeof a.error?await a.error(`HTTP error! status: ${t.status}`):a.error,s="function"==typeof a.description?await a.description(`HTTP error! status: ${t.status}`):a.description,i="object"!=typeof r||e.default.isValidElement(r)?{message:r}:r;this.create({id:o,type:"error",description:s,...i})}else if(t instanceof Error){n=!1;let r="function"==typeof a.error?await a.error(t):a.error,s="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof r||e.default.isValidElement(r)?{message:r}:r;this.create({id:o,type:"error",description:s,...i})}else if(void 0!==a.success){n=!1;let r="function"==typeof a.success?await a.success(t):a.success,s="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof r||e.default.isValidElement(r)?{message:r}:r;this.create({id:o,type:"success",description:s,...i})}}).catch(async t=>{if(r=["reject",t],void 0!==a.error){n=!1;let r="function"==typeof a.error?await a.error(t):a.error,s="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof r||e.default.isValidElement(r)?{message:r}:r;this.create({id:o,type:"error",description:s,...i})}}).finally(()=>{n&&(this.dismiss(o),o=void 0),null==a.finally||a.finally.call(a)}),l=()=>new Promise((t,e)=>i.then(()=>"reject"===r[0]?e(r[1]):t(r[1])).catch(e));return"string"!=typeof o&&"number"!=typeof o?{unwrap:l}:Object.assign(o,{unwrap:l})},this.custom=(t,e)=>{let a=(null==e?void 0:e.id)||c++;return this.create({jsx:t(a),id:a,...e}),a},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},f=t=>t&&"object"==typeof t&&"ok"in t&&"boolean"==typeof t.ok&&"status"in t&&"number"==typeof t.status,m=Object.assign((t,e)=>{let a=(null==e?void 0:e.id)||c++;return u.addToast({title:t,...e,id:a}),a},{success:u.success,info:u.info,warning:u.warning,error:u.error,custom:u.custom,message:u.message,promise:u.promise,dismiss:u.dismiss,loading:u.loading},{getHistory:()=>u.toasts,getToasts:()=>u.getActiveToasts()});function p(t){return void 0!==t.label}function h(...t){return t.filter(Boolean).join(" ")}!function(t){if(!t||"undefined"==typeof document)return;let e=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",e.appendChild(a),a.styleSheet?a.styleSheet.cssText=t:a.appendChild(document.createTextNode(t))}("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");let g=t=>{var a,r,c,u,f,m,g,v,y,b,x,w,j;let{invert:k,toast:E,unstyled:N,interacting:C,setHeights:S,visibleToasts:T,heights:B,index:M,toasts:P,expanded:z,removeToast:D,defaultRichColors:A,closeButton:R,style:L,cancelButtonStyle:F,actionButtonStyle:$,className:Y="",descriptionClassName:H="",duration:I,position:O,gap:V,expandByDefault:U,classNames:X,icons:K,closeButtonAriaLabel:J="Close toast"}=t,[W,q]=e.default.useState(null),[G,Z]=e.default.useState(null),[Q,_]=e.default.useState(!1),[tt,te]=e.default.useState(!1),[ta,tr]=e.default.useState(!1),[to,ts]=e.default.useState(!1),[tn,ti]=e.default.useState(!1),[tl,td]=e.default.useState(0),[tc,tu]=e.default.useState(0),tf=e.default.useRef(E.duration||I||4e3),tm=e.default.useRef(null),tp=e.default.useRef(null),th=0===M,tg=M+1<=T,tv=E.type,ty=!1!==E.dismissible,tb=E.className||"",tx=E.descriptionClassName||"",tw=e.default.useMemo(()=>B.findIndex(t=>t.toastId===E.id)||0,[B,E.id]),tj=e.default.useMemo(()=>{var t;return null!=(t=E.closeButton)?t:R},[E.closeButton,R]),tk=e.default.useMemo(()=>E.duration||I||4e3,[E.duration,I]),tE=e.default.useRef(0),tN=e.default.useRef(0),tC=e.default.useRef(0),tS=e.default.useRef(null),[tT,tB]=O.split("-"),tM=e.default.useMemo(()=>B.reduce((t,e,a)=>a>=tw?t:t+e.height,0),[B,tw]),tP=(()=>{let[t,a]=e.default.useState(document.hidden);return e.default.useEffect(()=>{let t=()=>{a(document.hidden)};return document.addEventListener("visibilitychange",t),()=>window.removeEventListener("visibilitychange",t)},[]),t})(),tz=E.invert||k,tD="loading"===tv;tN.current=e.default.useMemo(()=>tw*V+tM,[tw,tM]),e.default.useEffect(()=>{tf.current=tk},[tk]),e.default.useEffect(()=>{_(!0)},[]),e.default.useEffect(()=>{let t=tp.current;if(t){let e=t.getBoundingClientRect().height;return tu(e),S(t=>[{toastId:E.id,height:e,position:E.position},...t]),()=>S(t=>t.filter(t=>t.toastId!==E.id))}},[S,E.id]),e.default.useLayoutEffect(()=>{if(!Q)return;let t=tp.current,e=t.style.height;t.style.height="auto";let a=t.getBoundingClientRect().height;t.style.height=e,tu(a),S(t=>t.find(t=>t.toastId===E.id)?t.map(t=>t.toastId===E.id?{...t,height:a}:t):[{toastId:E.id,height:a,position:E.position},...t])},[Q,E.title,E.description,S,E.id,E.jsx,E.action,E.cancel]);let tA=e.default.useCallback(()=>{te(!0),td(tN.current),S(t=>t.filter(t=>t.toastId!==E.id)),setTimeout(()=>{D(E)},200)},[E,D,S,tN]);e.default.useEffect(()=>{let t;if((!E.promise||"loading"!==tv)&&E.duration!==1/0&&"loading"!==E.type){if(z||C||tP){if(tC.current<tE.current){let t=new Date().getTime()-tE.current;tf.current=tf.current-t}tC.current=new Date().getTime()}else tf.current!==1/0&&(tE.current=new Date().getTime(),t=setTimeout(()=>{null==E.onAutoClose||E.onAutoClose.call(E,E),tA()},tf.current));return()=>clearTimeout(t)}},[z,C,E,tv,tP,tA]),e.default.useEffect(()=>{E.delete&&(tA(),null==E.onDismiss||E.onDismiss.call(E,E))},[tA,E.delete]);let tR=E.icon||(null==K?void 0:K[tv])||(t=>{switch(t){case"success":return s;case"info":return i;case"warning":return n;case"error":return l;default:return null}})(tv);return e.default.createElement("li",{tabIndex:0,ref:tp,className:h(Y,tb,null==X?void 0:X.toast,null==E||null==(a=E.classNames)?void 0:a.toast,null==X?void 0:X.default,null==X?void 0:X[tv],null==E||null==(r=E.classNames)?void 0:r[tv]),"data-sonner-toast":"","data-rich-colors":null!=(b=E.richColors)?b:A,"data-styled":!(E.jsx||E.unstyled||N),"data-mounted":Q,"data-promise":!!E.promise,"data-swiped":tn,"data-removed":tt,"data-visible":tg,"data-y-position":tT,"data-x-position":tB,"data-index":M,"data-front":th,"data-swiping":ta,"data-dismissible":ty,"data-type":tv,"data-invert":tz,"data-swipe-out":to,"data-swipe-direction":G,"data-expanded":!!(z||U&&Q),"data-testid":E.testId,style:{"--index":M,"--toasts-before":M,"--z-index":P.length-M,"--offset":`${tt?tl:tN.current}px`,"--initial-height":U?"auto":`${tc}px`,...L,...E.style},onDragEnd:()=>{tr(!1),q(null),tS.current=null},onPointerDown:t=>{2===t.button||tD||!ty||(tm.current=new Date,td(tN.current),t.target.setPointerCapture(t.pointerId),"BUTTON"!==t.target.tagName&&(tr(!0),tS.current={x:t.clientX,y:t.clientY}))},onPointerUp:()=>{var t,e,a,r,o;if(to||!ty)return;tS.current=null;let s=Number((null==(t=tp.current)?void 0:t.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),n=Number((null==(e=tp.current)?void 0:e.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),i=new Date().getTime()-(null==(a=tm.current)?void 0:a.getTime()),l="x"===W?s:n,d=Math.abs(l)/i;if(Math.abs(l)>=45||d>.11){td(tN.current),null==E.onDismiss||E.onDismiss.call(E,E),"x"===W?Z(s>0?"right":"left"):Z(n>0?"down":"up"),tA(),ts(!0);return}null==(r=tp.current)||r.style.setProperty("--swipe-amount-x","0px"),null==(o=tp.current)||o.style.setProperty("--swipe-amount-y","0px"),ti(!1),tr(!1),q(null)},onPointerMove:e=>{var a,r,o,s;if(!tS.current||!ty||(null==(a=window.getSelection())?void 0:a.toString().length)>0)return;let n=e.clientY-tS.current.y,i=e.clientX-tS.current.x,l=null!=(s=t.swipeDirections)?s:function(t){let[e,a]=t.split("-"),r=[];return e&&r.push(e),a&&r.push(a),r}(O);!W&&(Math.abs(i)>1||Math.abs(n)>1)&&q(Math.abs(i)>Math.abs(n)?"x":"y");let d={x:0,y:0},c=t=>1/(1.5+Math.abs(t)/20);if("y"===W){if(l.includes("top")||l.includes("bottom"))if(l.includes("top")&&n<0||l.includes("bottom")&&n>0)d.y=n;else{let t=n*c(n);d.y=Math.abs(t)<Math.abs(n)?t:n}}else if("x"===W&&(l.includes("left")||l.includes("right")))if(l.includes("left")&&i<0||l.includes("right")&&i>0)d.x=i;else{let t=i*c(i);d.x=Math.abs(t)<Math.abs(i)?t:i}(Math.abs(d.x)>0||Math.abs(d.y)>0)&&ti(!0),null==(r=tp.current)||r.style.setProperty("--swipe-amount-x",`${d.x}px`),null==(o=tp.current)||o.style.setProperty("--swipe-amount-y",`${d.y}px`)}},tj&&!E.jsx&&"loading"!==tv?e.default.createElement("button",{"aria-label":J,"data-disabled":tD,"data-close-button":!0,onClick:tD||!ty?()=>{}:()=>{tA(),null==E.onDismiss||E.onDismiss.call(E,E)},className:h(null==X?void 0:X.closeButton,null==E||null==(c=E.classNames)?void 0:c.closeButton)},null!=(x=null==K?void 0:K.close)?x:d):null,(tv||E.icon||E.promise)&&null!==E.icon&&((null==K?void 0:K[tv])!==null||E.icon)?e.default.createElement("div",{"data-icon":"",className:h(null==X?void 0:X.icon,null==E||null==(u=E.classNames)?void 0:u.icon)},E.promise||"loading"===E.type&&!E.icon?E.icon||((null==K?void 0:K.loading)?e.default.createElement("div",{className:h(null==X?void 0:X.loader,null==E||null==(j=E.classNames)?void 0:j.loader,"sonner-loader"),"data-visible":"loading"===tv},K.loading):e.default.createElement(o,{className:h(null==X?void 0:X.loader,null==E||null==(w=E.classNames)?void 0:w.loader),visible:"loading"===tv})):null,"loading"!==E.type?tR:null):null,e.default.createElement("div",{"data-content":"",className:h(null==X?void 0:X.content,null==E||null==(f=E.classNames)?void 0:f.content)},e.default.createElement("div",{"data-title":"",className:h(null==X?void 0:X.title,null==E||null==(m=E.classNames)?void 0:m.title)},E.jsx?E.jsx:"function"==typeof E.title?E.title():E.title),E.description?e.default.createElement("div",{"data-description":"",className:h(H,tx,null==X?void 0:X.description,null==E||null==(g=E.classNames)?void 0:g.description)},"function"==typeof E.description?E.description():E.description):null),e.default.isValidElement(E.cancel)?E.cancel:E.cancel&&p(E.cancel)?e.default.createElement("button",{"data-button":!0,"data-cancel":!0,style:E.cancelButtonStyle||F,onClick:t=>{!p(E.cancel)||ty&&(null==E.cancel.onClick||E.cancel.onClick.call(E.cancel,t),tA())},className:h(null==X?void 0:X.cancelButton,null==E||null==(v=E.classNames)?void 0:v.cancelButton)},E.cancel.label):null,e.default.isValidElement(E.action)?E.action:E.action&&p(E.action)?e.default.createElement("button",{"data-button":!0,"data-action":!0,style:E.actionButtonStyle||$,onClick:t=>{!p(E.action)||(null==E.action.onClick||E.action.onClick.call(E.action,t),t.defaultPrevented||tA())},className:h(null==X?void 0:X.actionButton,null==E||null==(y=E.classNames)?void 0:y.actionButton)},E.action.label):null)};function v(){if("undefined"==typeof window||"undefined"==typeof document)return"ltr";let t=document.documentElement.getAttribute("dir");return"auto"!==t&&t?t:window.getComputedStyle(document.documentElement).direction}let y=e.default.forwardRef(function(t,r){let{id:o,invert:s,position:n="bottom-right",hotkey:i=["altKey","KeyT"],expand:l,closeButton:d,className:c,offset:f,mobileOffset:m,theme:p="light",richColors:h,duration:y,style:b,visibleToasts:x=3,toastOptions:w,dir:j=v(),gap:k=14,icons:E,containerAriaLabel:N="Notifications"}=t,[C,S]=e.default.useState([]),T=e.default.useMemo(()=>o?C.filter(t=>t.toasterId===o):C.filter(t=>!t.toasterId),[C,o]),B=e.default.useMemo(()=>Array.from(new Set([n].concat(T.filter(t=>t.position).map(t=>t.position)))),[T,n]),[M,P]=e.default.useState([]),[z,D]=e.default.useState(!1),[A,R]=e.default.useState(!1),[L,F]=e.default.useState("system"!==p?p:"undefined"!=typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),$=e.default.useRef(null),Y=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),H=e.default.useRef(null),I=e.default.useRef(!1),O=e.default.useCallback(t=>{S(e=>{var a;return(null==(a=e.find(e=>e.id===t.id))?void 0:a.delete)||u.dismiss(t.id),e.filter(({id:e})=>e!==t.id)})},[]);return e.default.useEffect(()=>u.subscribe(t=>{t.dismiss?requestAnimationFrame(()=>{S(e=>e.map(e=>e.id===t.id?{...e,delete:!0}:e))}):setTimeout(()=>{a.default.flushSync(()=>{S(e=>{let a=e.findIndex(e=>e.id===t.id);return -1!==a?[...e.slice(0,a),{...e[a],...t},...e.slice(a+1)]:[t,...e]})})})}),[C]),e.default.useEffect(()=>{if("system"!==p)return void F(p);if("system"===p&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?F("dark"):F("light")),"undefined"==typeof window)return;let t=window.matchMedia("(prefers-color-scheme: dark)");try{t.addEventListener("change",({matches:t})=>{t?F("dark"):F("light")})}catch(e){t.addListener(({matches:t})=>{try{t?F("dark"):F("light")}catch(t){console.error(t)}})}},[p]),e.default.useEffect(()=>{C.length<=1&&D(!1)},[C]),e.default.useEffect(()=>{let t=t=>{var e,a;i.every(e=>t[e]||t.code===e)&&(D(!0),null==(a=$.current)||a.focus()),"Escape"===t.code&&(document.activeElement===$.current||(null==(e=$.current)?void 0:e.contains(document.activeElement)))&&D(!1)};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[i]),e.default.useEffect(()=>{if($.current)return()=>{H.current&&(H.current.focus({preventScroll:!0}),H.current=null,I.current=!1)}},[$.current]),e.default.createElement("section",{ref:r,"aria-label":`${N} ${Y}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},B.map((a,r)=>{var o;let n,[i,u]=a.split("-");return T.length?e.default.createElement("ol",{key:a,dir:"auto"===j?v():j,tabIndex:-1,ref:$,className:c,"data-sonner-toaster":!0,"data-sonner-theme":L,"data-y-position":i,"data-x-position":u,style:{"--front-toast-height":`${(null==(o=M[0])?void 0:o.height)||0}px`,"--width":"356px","--gap":`${k}px`,...b,...(n={},[f,m].forEach((t,e)=>{let a=1===e,r=a?"--mobile-offset":"--offset",o=a?"16px":"24px";function s(t){["top","right","bottom","left"].forEach(e=>{n[`${r}-${e}`]="number"==typeof t?`${t}px`:t})}"number"==typeof t||"string"==typeof t?s(t):"object"==typeof t?["top","right","bottom","left"].forEach(e=>{void 0===t[e]?n[`${r}-${e}`]=o:n[`${r}-${e}`]="number"==typeof t[e]?`${t[e]}px`:t[e]}):s(o)}),n)},onBlur:t=>{I.current&&!t.currentTarget.contains(t.relatedTarget)&&(I.current=!1,H.current&&(H.current.focus({preventScroll:!0}),H.current=null))},onFocus:t=>{!(t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible)&&(I.current||(I.current=!0,H.current=t.relatedTarget))},onMouseEnter:()=>D(!0),onMouseMove:()=>D(!0),onMouseLeave:()=>{A||D(!1)},onDragEnd:()=>D(!1),onPointerDown:t=>{t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible||R(!0)},onPointerUp:()=>R(!1)},T.filter(t=>!t.position&&0===r||t.position===a).map((r,o)=>{var n,i;return e.default.createElement(g,{key:r.id,icons:E,index:o,toast:r,defaultRichColors:h,duration:null!=(n=null==w?void 0:w.duration)?n:y,className:null==w?void 0:w.className,descriptionClassName:null==w?void 0:w.descriptionClassName,invert:s,visibleToasts:x,closeButton:null!=(i=null==w?void 0:w.closeButton)?i:d,interacting:A,position:a,style:null==w?void 0:w.style,unstyled:null==w?void 0:w.unstyled,classNames:null==w?void 0:w.classNames,cancelButtonStyle:null==w?void 0:w.cancelButtonStyle,actionButtonStyle:null==w?void 0:w.actionButtonStyle,closeButtonAriaLabel:null==w?void 0:w.closeButtonAriaLabel,removeToast:O,toasts:T.filter(t=>t.position==r.position),heights:M.filter(t=>t.position==r.position),setHeights:P,expandByDefault:l,gap:k,expanded:z,swipeDirections:t.swipeDirections})})):null}))});t.s(["Toaster",()=>y,"toast",()=>m])},178420,t=>{"use strict";var e=t.i(890022),a=t.i(995403),r=t.i(81795);function o(){let{theme:t}=(0,r.useTheme)();return(0,e.jsx)(a.Toaster,{theme:t,position:"bottom-right",richColors:!0,closeButton:!0,expand:!1,duration:4e3,toastOptions:{classNames:{toast:"group",title:"font-semibold",description:"text-sm opacity-90",actionButton:"bg-primary text-primary-foreground",cancelButton:"bg-muted text-muted-foreground"}}})}t.s(["Toast",()=>o])},753938,t=>{"use strict";let e=(0,t.i(122436).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);t.s(["ArrowLeft",()=>e],753938)},954049,t=>{"use strict";let e=(0,t.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"}]]);t.s(["BookOpen",()=>e],954049)},20648,t=>{"use strict";var e=t.i(890022),a=t.i(431231);let r=(0,a.createContext)(null);function o(){let t=(0,a.useContext)(r);if(!t)throw Error("useProject must be used within ProjectProvider");return t}function s({children:t,initialProjectId:o}){let[s,n]=(0,a.useState)("single-project"),[i,l]=(0,a.useState)(null),[d,c]=(0,a.useState)([]),[u,f]=(0,a.useState)([]),[m,p]=(0,a.useState)([]),[h,g]=(0,a.useState)(!0),[v,y]=(0,a.useState)(null),b=(0,a.useCallback)(async()=>{try{g(!0),y(null);let t=await fetch("/api/projects");if(!t.ok)throw Error("Failed to fetch projects");let e=await t.json();if(n(e.mode||"single-project"),c(e.projects||[]),f(e.recentProjects||[]),p(e.favoriteProjects||[]),!i&&e.projects.length>0){let t=o?e.projects.find(t=>t.id===o):e.recentProjects?.[0]||e.projects[0];t&&l(t)}}catch(t){console.error("Error fetching projects:",t),y(t instanceof Error?t.message:"Failed to load projects")}finally{g(!1)}},[i,o]),x=(0,a.useCallback)(async t=>{try{let e=await fetch(`/api/projects/${t}`);if(!e.ok)throw Error("Failed to fetch project");let a=await e.json();l(a.project),await b()}catch(t){throw console.error("Error switching project:",t),y(t instanceof Error?t.message:"Failed to switch project"),t}},[b]),w=(0,a.useCallback)(async(t,e)=>{try{let a=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t,...e})});if(!a.ok){let t=await a.json();throw Error(t.details||"Failed to add project")}let r=await a.json();return await b(),r.project}catch(t){throw console.error("Error adding project:",t),y(t instanceof Error?t.message:"Failed to add project"),t}},[b]),j=(0,a.useCallback)(async t=>{try{if(!(await fetch(`/api/projects/${t}`,{method:"DELETE"})).ok)throw Error("Failed to remove project");if(i?.id===t){let e=d.find(e=>e.id!==t);l(e||null)}await b()}catch(t){throw console.error("Error removing project:",t),y(t instanceof Error?t.message:"Failed to remove project"),t}},[i,d,b]),k=(0,a.useCallback)(async t=>{try{if(!(await fetch(`/api/projects/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({favorite:!0})})).ok)throw Error("Failed to toggle favorite");await b()}catch(t){throw console.error("Error toggling favorite:",t),y(t instanceof Error?t.message:"Failed to toggle favorite"),t}},[b]),E=(0,a.useCallback)(async(t,e)=>{try{if(!(await fetch(`/api/projects/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).ok)throw Error("Failed to update project");await b()}catch(t){throw console.error("Error updating project:",t),y(t instanceof Error?t.message:"Failed to update project"),t}},[b]);return(0,a.useEffect)(()=>{b()},[b]),(0,e.jsx)(r.Provider,{value:{mode:s,currentProject:i,projects:d,recentProjects:u,favoriteProjects:m,isLoading:h,error:v,switchProject:x,addProject:w,removeProject:j,toggleFavorite:k,updateProject:E,refreshProjects:b},children:t})}t.s(["ProjectProvider",()=>s,"useProject",()=>o])},787949,t=>{"use strict";let e=(0,t.i(122436).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);t.s(["Loader2",()=>e],787949)},963781,723882,828964,361877,t=>{"use strict";var e=t.i(122436);let a=(0,e.default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);t.s(["Plus",()=>a],963781);let r=(0,e.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"}]]);t.s(["FolderOpen",()=>r],723882);let o=(0,e.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"}]]);t.s(["Star",()=>o],828964);var s=t.i(890022),n=t.i(431231),i=t.i(230827),l=t.i(20648),d=t.i(235893),c=t.i(21079);let u=(0,e.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 f=t.i(787949),m=t.i(753938),p=t.i(497332),h=t.i(525761),g=t.i(632137);function v({onSelect:t,onCancel:e,initialPath:a,actionLabel:r="Select This Folder",isLoading:o}){let[i,l]=(0,n.useState)(a||""),[c,v]=(0,n.useState)([]),[y,b]=(0,n.useState)(!1),[x,w]=(0,n.useState)(null),j=(0,n.useRef)(null),k=o||y;(0,n.useEffect)(()=>{E(i)},[i]),(0,n.useEffect)(()=>{j.current&&(j.current.scrollLeft=j.current.scrollWidth)},[i]);let E=async t=>{try{b(!0),w(null);let e=await fetch("/api/local-projects/list-directory",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!e.ok)throw Error("Failed to list directory");let a=await e.json();v(a.items),t||l(a.path)}catch(t){w(t instanceof Error?t.message:String(t))}finally{b(!1)}},N=t=>{l(t)},C=c.find(t=>".."===t.name),S=c.filter(t=>".."!==t.name),T=(t=>{if(!t)return[];let e=t.includes("\\")?"\\":"/",a=t.split(e).filter(Boolean),r=t.startsWith("/");return a.map((t,o)=>{let s=a.slice(0,o+1).join(e);return r&&(s="/"+s),{name:t,path:s}})})(i);return(0,s.jsxs)("div",{className:"flex flex-col h-[400px] gap-4 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center border rounded-md p-1 gap-1 bg-muted/30",children:[(0,s.jsx)(d.Button,{variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0",disabled:!C||k,onClick:()=>C&&N(C.path),title:"Go to parent directory",children:(0,s.jsx)(m.ArrowLeft,{className:"h-4 w-4"})}),(0,s.jsx)("div",{className:"w-px h-5 bg-border mx-1"}),(0,s.jsxs)("div",{ref:j,className:"flex-1 overflow-x-auto whitespace-nowrap flex items-center scrollbar-hide px-1 min-w-0",children:[(0,s.jsx)("button",{onClick:()=>N("/"),className:"hover:bg-accent p-1 rounded-sm transition-colors shrink-0",title:"Go to root",children:(0,s.jsx)(p.Home,{className:"h-4 w-4 text-muted-foreground"})}),T.map((t,e)=>(0,s.jsxs)("div",{className:"flex items-center shrink-0",children:[(0,s.jsx)(h.ChevronRight,{className:"h-3 w-3 text-muted-foreground mx-0.5 shrink-0"}),(0,s.jsx)("button",{onClick:()=>N(t.path),className:(0,g.cn)("px-1.5 py-0.5 rounded-sm transition-colors text-sm hover:bg-accent hover:text-accent-foreground",e===T.length-1?"font-medium text-foreground":"text-muted-foreground"),children:t.name})]},t.path))]})]}),(0,s.jsxs)("div",{className:"flex-1 border rounded-md overflow-hidden relative bg-background min-h-0",children:[k&&(0,s.jsx)("div",{className:"absolute inset-0 bg-background/50 flex items-center justify-center z-10",children:(0,s.jsx)(f.Loader2,{className:"h-6 w-6 animate-spin"})}),x?(0,s.jsxs)("div",{className:"p-4 text-destructive text-sm text-center",children:[x,(0,s.jsx)(d.Button,{variant:"link",onClick:()=>E(i),className:"block mx-auto mt-2",children:"Retry"})]}):(0,s.jsx)("div",{className:"h-full overflow-auto",children:(0,s.jsx)("div",{className:"p-1",children:0!==S.length||k?S.map(t=>(0,s.jsxs)("button",{onClick:()=>N(t.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,s.jsx)(u,{className:"h-4 w-4 text-blue-500 fill-blue-500/20 group-hover:fill-blue-500/30 transition-colors shrink-0"}),(0,s.jsx)("span",{className:"truncate",children:t.name})]},t.path)):(0,s.jsx)("div",{className:"p-4 text-center text-sm text-muted-foreground",children:"Empty directory"})})})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,s.jsx)(d.Button,{variant:"outline",onClick:e,disabled:k,children:"Cancel"}),(0,s.jsx)(d.Button,{onClick:()=>t(i),disabled:k||!i,children:r})]})]})}var y=t.i(439779),b=t.i(995403);function x({open:t,onOpenChange:e}){let{addProject:a,switchProject:o}=(0,l.useProject)(),[u,f]=(0,n.useState)(""),[m,p]=(0,n.useState)(!1),[h,g]=(0,n.useState)("picker"),x=(0,i.useRouter)();(0,n.useEffect)(()=>{t&&(g("picker"),f(""))},[t]);let w=async t=>{try{p(!0);let r=await a(t);await o(r.id),b.toast.success("Project added successfully"),e(!1),x.push("/")}catch(e){let t=e instanceof Error?e.message:"Failed to add project";b.toast.error(t)}finally{p(!1)}};return(0,s.jsx)(y.Dialog,{open:t,onOpenChange:e,children:(0,s.jsxs)(y.DialogContent,{className:"sm:max-w-[600px]",children:[(0,s.jsxs)(y.DialogHeader,{children:[(0,s.jsx)(y.DialogTitle,{children:"Add Project"}),(0,s.jsx)(y.DialogDescription,{children:"picker"===h?"Browse and select the project directory.":"Enter the absolute path to your local project directory."})]}),"picker"===h?(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(v,{onSelect:w,onCancel:()=>e(!1),initialPath:u,actionLabel:m?"Adding...":"Add Project",isLoading:m}),(0,s.jsx)("div",{className:"flex justify-center",children:(0,s.jsx)(d.Button,{variant:"link",size:"sm",onClick:()=>g("manual"),className:"text-muted-foreground",children:"Enter path manually"})})]}):(0,s.jsxs)("form",{onSubmit:t=>{t.preventDefault(),u&&w(u)},children:[(0,s.jsx)("div",{className:"grid gap-4 py-4",children:(0,s.jsxs)("div",{className:"grid gap-2",children:[(0,s.jsx)("label",{htmlFor:"path",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Project Path"}),(0,s.jsx)("div",{className:"flex gap-2",children:(0,s.jsx)(c.Input,{id:"path",value:u,onChange:t=>f(t.target.value),placeholder:"/path/to/your/project",className:"flex-1",disabled:m})}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Select the root directory of your project."})]})}),(0,s.jsxs)(y.DialogFooter,{className:"flex-col sm:flex-row gap-2",children:[(0,s.jsx)("div",{className:"flex-1 flex justify-start",children:(0,s.jsxs)(d.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>g("picker"),children:[(0,s.jsx)(r,{className:"h-4 w-4 mr-2"}),"Browse folders"]})}),(0,s.jsx)(d.Button,{type:"button",variant:"outline",onClick:()=>e(!1),disabled:m,children:"Cancel"}),(0,s.jsx)(d.Button,{type:"submit",disabled:m||!u,children:m?"Adding...":"Add Project"})]})]})]})})}t.s(["CreateProjectDialog",()=>x],361877)}]);
@@ -1,10 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,76075,e=>{"use strict";var t=e.i(890022),s=e.i(431231),a=e.i(632137);let n=s.forwardRef(({className:e,...s},n)=>(0,t.jsx)("div",{ref:n,className:(0,a.cn)("rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow",e),...s}));n.displayName="Card";let r=s.forwardRef(({className:e,...s},n)=>(0,t.jsx)("div",{ref:n,className:(0,a.cn)("flex flex-col space-y-1.5 p-6",e),...s}));r.displayName="CardHeader";let l=s.forwardRef(({className:e,...s},n)=>(0,t.jsx)("div",{ref:n,className:(0,a.cn)("font-semibold leading-none tracking-tight",e),...s}));l.displayName="CardTitle";let i=s.forwardRef(({className:e,...s},n)=>(0,t.jsx)("div",{ref:n,className:(0,a.cn)("text-sm text-muted-foreground",e),...s}));i.displayName="CardDescription";let c=s.forwardRef(({className:e,...s},n)=>(0,t.jsx)("div",{ref:n,className:(0,a.cn)("p-6 pt-0",e),...s}));c.displayName="CardContent",s.forwardRef(({className:e,...s},n)=>(0,t.jsx)("div",{ref:n,className:(0,a.cn)("flex items-center p-6 pt-0",e),...s})).displayName="CardFooter",e.s(["Card",()=>n,"CardContent",()=>c,"CardDescription",()=>i,"CardHeader",()=>r,"CardTitle",()=>l])},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)},222850,e=>{"use strict";var t=e.i(890022),s=e.i(632137);function a({className:e,...a}){return(0,t.jsx)("div",{className:(0,s.cn)("animate-pulse rounded-md bg-muted",e),...a})}e.s(["Skeleton",()=>a])},549914,e=>{"use strict";var t=e.i(890022),s=e.i(431231),a=e.i(954049),n=e.i(122436);let r=(0,n.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"}]]);var l=e.i(20315);let i=(0,n.default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);var c=e.i(686266),o=e.i(94176);let d=(0,n.default)("coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]),m=(0,n.default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var x=e.i(300329),h=e.i(644021),p=e.i(76075),u=e.i(235893),g=e.i(323490),f=e.i(21079),j=e.i(40843);let y=(0,n.default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);var k=e.i(635389);let N=(0,n.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),w=(0,n.default)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]),v=(0,n.default)("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]),b=(0,n.default)("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]),C=(0,n.default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]),M=(0,n.default)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]),S=(0,n.default)("scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]]),T=(0,n.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);var B=e.i(632137),z=e.i(603921),R=e.i(812878),L=e.i(188168);function A(e,t){if(!t||t.length<2)return 0;let s=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),a=e.match(RegExp(s,"gi"));return a?a.length:0}function O({name:e,path:n,content:l,tokenCount:o,lastModified:m,isExpanded:x=!1,onToggle:h,className:f,searchQuery:O,projectRoot:$,onViewDetail:D}){let V,E,[F,P]=s.useState(!1),I=O?A(l,O):0,H=async e=>{e.stopPropagation();try{await navigator.clipboard.writeText(l),P(!0),setTimeout(()=>P(!1),2e3)}catch(e){console.error("Failed to copy content:",e)}},W=e.endsWith(".json"),q=e.endsWith(".md"),Q="agents.md"===(V=e.toLowerCase())||V.includes("agent")?N:"gemini.md"===V?T:"claude.md"===V||"copilot.md"===V||"copilot-instructions.md"===V?N:"readme.md"===V?a.BookOpen:"contributing.md"===V?C:"changelog.md"===V?b:"license.md"===V||"license"===V?S:"security.md"===V?M:V.endsWith(".json")||"config.json"===V?r:V.includes("api")||V.includes("spec")?v:w,G="agents.md"===(E=e.toLowerCase())||E.includes("agent")?"text-purple-500":"gemini.md"===E?"text-blue-500":"claude.md"===E?"text-orange-500":"copilot.md"===E||"copilot-instructions.md"===E?"text-sky-500":"readme.md"===E?"text-green-500":"contributing.md"===E?"text-pink-500":"changelog.md"===E?"text-amber-500":"license.md"===E||"license"===E?"text-slate-500":"security.md"===E?"text-red-500":E.endsWith(".json")?"text-yellow-500":"text-muted-foreground",J=e=>{if(O&&O.length>=2){if(!O||O.length<2)return e;let s=O.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),a=RegExp(`(${s})`,"gi");return e.split(a).map((e,s)=>a.test(e)?(0,t.jsx)("mark",{className:"bg-yellow-200 dark:bg-yellow-800 rounded px-0.5",children:e},s):e)}return e};return(0,t.jsxs)(p.Card,{className:(0,B.cn)("overflow-hidden",f),children:[(0,t.jsx)(p.CardHeader,{className:(0,B.cn)("cursor-pointer hover:bg-muted/50 transition-colors py-3 px-4",x&&"border-b"),onClick:h,children:(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,t.jsx)(Q,{className:(0,B.cn)("h-4 w-4 shrink-0",G)}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(p.CardTitle,{className:"text-sm font-medium truncate",children:e}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:n})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[O&&I>0&&(0,t.jsxs)(g.Badge,{variant:"secondary",className:"text-xs bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200",children:[I," match",1!==I?"es":""]}),(0,t.jsxs)(g.Badge,{variant:"outline",className:(0,B.cn)("text-xs",o<2e3?"text-green-600 dark:text-green-400":o<3500?"text-blue-600 dark:text-blue-400":o<5e3?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"),children:[(0,t.jsx)(d,{className:"h-3 w-3 mr-1"}),o.toLocaleString()," tokens"]}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground hidden sm:inline",children:o<2e3?"Optimal":o<3500?"Good":o<5e3?"Large":"Very Large"}),D&&(0,t.jsx)(u.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:e=>{e.stopPropagation(),D?.()},title:"View full page",children:(0,t.jsx)(k.Maximize2,{className:"h-3.5 w-3.5"})}),$&&(0,t.jsx)(u.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:e=>{let t;e.stopPropagation(),$&&window.open((t=n.startsWith("/")?n:`${$}/${n}`,`vscode://file${t}`),"_blank")},title:"Open in VS Code",children:(0,t.jsx)(y,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(u.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:H,title:"Copy content",children:F?(0,t.jsx)(c.Check,{className:"h-3.5 w-3.5 text-green-600"}):(0,t.jsx)(i,{className:"h-3.5 w-3.5"})})]})]})}),x&&(0,t.jsxs)(p.CardContent,{className:"p-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4 px-4 py-2 bg-muted/30 text-xs text-muted-foreground border-b",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)(j.Clock,{className:"h-3 w-3"}),"Modified ",("string"==typeof m?new Date(m):m).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})]}),(0,t.jsxs)("span",{children:[l.split("\n").length," lines"]})]}),(0,t.jsx)("div",{className:"max-h-[500px] overflow-auto",children:W?(0,t.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 whitespace-pre-wrap",children:J(JSON.stringify(JSON.parse(l),null,2))}):q?O&&O.length>=2?(0,t.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 whitespace-pre-wrap font-mono",children:J(l)}):(0,t.jsx)("article",{className:"prose prose-slate dark:prose-invert max-w-none prose-sm p-4",children:(0,t.jsx)(z.default,{remarkPlugins:[R.default],rehypePlugins:[L.default],children:l})}):(0,t.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 whitespace-pre-wrap",children:J(l)})})]})]})}function $({name:e,path:a,content:n,tokenCount:r,lastModified:l,className:i,searchQuery:c,projectRoot:o,onViewDetail:d}){let[m,x]=s.useState(!1);return s.useEffect(()=>{c&&c.length>=2&&A(n,c)>0&&x(!0)},[c,n]),(0,t.jsx)(O,{name:e,path:a,content:n,tokenCount:r,lastModified:l,isExpanded:m,onToggle:()=>x(!m),className:i,searchQuery:c,projectRoot:o,onViewDetail:d})}var D=e.i(237545),V=e.i(753938),E=e.i(998489),F=e.i(656756),P=e.i(715683);function I({file:e,projectRoot:n,onBack:l}){var o,m,x;let h,p,[f,k]=s.useState(!1),A="agents.md"===(h=e.name.toLowerCase())||h.includes("agent")?N:"gemini.md"===h?T:"claude.md"===h||"copilot.md"===h||"copilot-instructions.md"===h?N:"readme.md"===h?a.BookOpen:"contributing.md"===h?C:"changelog.md"===h?b:"license.md"===h||"license"===h?S:"security.md"===h?M:h.endsWith(".json")||"config.json"===h?r:h.includes("api")||h.includes("spec")?v:w,O="agents.md"===(p=e.name.toLowerCase())||p.includes("agent")?"text-purple-500":"gemini.md"===p?"text-blue-500":"claude.md"===p?"text-orange-500":"copilot.md"===p||"copilot-instructions.md"===p?"text-sky-500":"readme.md"===p?"text-green-500":"contributing.md"===p?"text-pink-500":"changelog.md"===p?"text-amber-500":"license.md"===p||"license"===p?"text-slate-500":"security.md"===p?"text-red-500":p.endsWith(".json")?"text-yellow-500":"text-muted-foreground",$=async()=>{try{await navigator.clipboard.writeText(e.content),k(!0),setTimeout(()=>k(!1),2e3)}catch(e){console.error("Failed to copy content:",e)}},I=e.name.endsWith(".md"),H=e.name.endsWith(".json");return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("header",{className:"lg:sticky lg:top-14 lg:z-20 border-b bg-card",children:(0,t.jsxs)("div",{className:"px-3 sm:px-6 py-2 sm:py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 mb-1.5 sm:mb-2",children:[(0,t.jsxs)(u.Button,{variant:"ghost",size:"sm",onClick:l,className:"h-8 px-2 -ml-2",children:[(0,t.jsx)(V.ArrowLeft,{className:"h-4 w-4 mr-1"}),"Back"]}),(0,t.jsx)(A,{className:(0,B.cn)("h-5 w-5 shrink-0",O)}),(0,t.jsx)("h1",{className:"text-lg sm:text-xl font-bold tracking-tight truncate",children:e.name})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)(g.Badge,{variant:"outline",className:(0,B.cn)("text-xs",(o=e.tokenCount)<2e3?"text-green-600 dark:text-green-400":o<3500?"text-blue-600 dark:text-blue-400":o<5e3?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"),children:[(0,t.jsx)(d,{className:"h-3 w-3 mr-1"}),e.tokenCount.toLocaleString()," tokens"]}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:(m=e.tokenCount)<2e3?"Optimal":m<3500?"Good":m<5e3?"Large":"Very Large"}),(0,t.jsx)("div",{className:"h-4 w-px bg-border mx-1 hidden sm:block"}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground flex items-center gap-1",children:[(0,t.jsx)(j.Clock,{className:"h-3 w-3"}),"Modified ",("string"==typeof(x=e.lastModified)?new Date(x):x).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})]}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"•"}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:[e.content.split("\n").length," lines"]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2 mt-1.5 sm:mt-2",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:e.path}),(0,t.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[n&&(0,t.jsxs)(u.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>{var t;let s;n&&window.open((s=(t=e.path).startsWith("/")?t:`${n}/${t}`,`vscode://file${s}`),"_blank")},title:"Open in VS Code",children:[(0,t.jsx)(y,{className:"h-3.5 w-3.5 mr-1"}),"Open in Editor"]}),(0,t.jsx)(u.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:$,title:"Copy content",children:f?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.Check,{className:"h-3.5 w-3.5 mr-1 text-green-600"}),"Copied!"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i,{className:"h-3.5 w-3.5 mr-1"}),"Copy"]})})]})]})]})}),(0,t.jsxs)("div",{className:"flex flex-col xl:flex-row xl:items-start",children:[(0,t.jsx)("main",{className:"flex-1 px-3 sm:px-6 py-3 sm:py-6 min-w-0",children:(0,t.jsx)("div",{className:"space-y-4",children:H?(0,t.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 rounded-lg border whitespace-pre-wrap",children:JSON.stringify(JSON.parse(e.content),null,2)}):I?(0,t.jsx)("article",{className:"prose prose-slate dark:prose-invert max-w-none prose-sm sm:prose-base",children:(0,t.jsx)(z.default,{remarkPlugins:[R.default],rehypePlugins:[L.default,D.default],components:{pre:({children:e,...a})=>{let n=s.Children.toArray(e)[0];if(s.isValidElement(n)&&"code"===n.type&&"string"==typeof n.props.className&&n.props.className?.includes("language-mermaid")){let e=n.props,s="string"==typeof e.children?e.children:"";return(0,t.jsx)(P.MermaidDiagram,{code:s})}return(0,t.jsx)("pre",{...a,children:e})}},children:e.content})}):(0,t.jsx)("pre",{className:"p-4 text-sm overflow-x-auto bg-muted/20 rounded-lg border whitespace-pre-wrap",children:e.content})})}),I&&(0,t.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,t.jsx)(E.TableOfContentsSidebar,{content:e.content})})]}),I&&(0,t.jsx)("div",{className:"xl:hidden",children:(0,t.jsx)(E.TableOfContents,{content:e.content})}),(0,t.jsx)(F.BackToTop,{})]})}function H(e){return e<5e3?"text-green-600 dark:text-green-400":e<1e4?"text-blue-600 dark:text-blue-400":e<2e4?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"}function W({icon:e,title:s,description:a,suggestion:n}){return(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[(0,t.jsx)(e,{className:"h-12 w-12 text-muted-foreground/50 mb-4"}),(0,t.jsx)("h3",{className:"text-sm font-medium text-muted-foreground",children:s}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1 max-w-xs",children:a}),n&&(0,t.jsx)("p",{className:"text-xs text-primary mt-2",children:n})]})}function q({title:e,description:a,icon:n,files:r,emptyMessage:l,emptySuggestion:i,defaultExpanded:c=!0,searchQuery:m,projectRoot:x,onFileSelect:h}){let u=r.reduce((e,t)=>e+t.tokenCount,0),f=s.useMemo(()=>!m||m.length<2?r:r.filter(e=>{let t=A(e.content,m),s=e.name.toLowerCase().includes(m.toLowerCase());return t>0||s}),[r,m]),j=s.useMemo(()=>!m||m.length<2?0:f.reduce((e,t)=>e+A(t.content,m),0),[f,m]);return(0,t.jsxs)(p.Card,{children:[(0,t.jsx)(p.CardHeader,{className:"pb-3",children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"p-2 rounded-lg bg-primary/10",children:(0,t.jsx)(n,{className:"h-5 w-5 text-primary"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(p.CardTitle,{className:"text-lg",children:e}),(0,t.jsx)(p.CardDescription,{children:a})]})]}),r.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[m&&j>0&&(0,t.jsxs)(g.Badge,{variant:"secondary",className:"text-xs bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200",children:[j," match",1!==j?"es":""]}),(0,t.jsxs)(g.Badge,{variant:"secondary",className:"text-xs",children:[f.length,f.length!==r.length?`/${r.length}`:""," file",1!==r.length?"s":""]}),(0,t.jsxs)(g.Badge,{variant:"outline",className:(0,B.cn)("text-xs",H(u)),children:[(0,t.jsx)(d,{className:"h-3 w-3 mr-1"}),u.toLocaleString()," tokens"]})]})]})}),(0,t.jsx)(p.CardContent,{children:0===f.length?(0,t.jsx)(W,{icon:o.AlertCircle,title:m?"No matches found":l,description:m?"Try a different search term":"No files found in this category",suggestion:m?void 0:i}):(0,t.jsx)("div",{className:"space-y-3",children:f.map(e=>(0,t.jsx)($,{name:e.name,path:e.path,content:e.content,tokenCount:e.tokenCount,lastModified:e.lastModified,searchQuery:m,projectRoot:x,onViewDetail:h?()=>h(e):void 0},e.path))})})]})}function Q({context:e}){let[n,o]=s.useState(!1),[j,y]=s.useState(""),[k,N]=s.useState(null),w=async()=>{let t=[];for(let s of e.agentInstructions)t.push(`# ${s.path}
2
-
3
- ${s.content}
4
- `);for(let s of(e.config.file&&t.push(`# ${e.config.file.path}
5
-
6
- ${e.config.file.content}
7
- `),e.projectDocs))t.push(`# ${s.path}
8
-
9
- ${s.content}
10
- `);try{await navigator.clipboard.writeText(t.join("\n---\n\n")),o(!0),setTimeout(()=>o(!1),2e3)}catch(e){console.error("Failed to copy all content:",e)}},v=e.agentInstructions.length>0||null!==e.config.file||e.projectDocs.length>0,b=s.useMemo(()=>{if(!j||j.length<2)return 0;let t=0;for(let s of e.agentInstructions)t+=A(s.content,j);for(let s of(e.config.file&&(t+=A(e.config.file.content,j)),e.projectDocs))t+=A(s.content,j);return t},[e,j]);return k?(0,t.jsx)("div",{className:"min-h-screen bg-background",children:(0,t.jsx)(I,{file:k,projectRoot:e.projectRoot,onBack:()=>N(null)})}):(0,t.jsx)("div",{className:"min-h-screen bg-background",children:(0,t.jsxs)("div",{className:"container mx-auto px-4 py-8 max-w-5xl",children:[(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("h1",{className:"text-3xl sm:text-4xl font-bold tracking-tight flex items-center gap-3",children:[(0,t.jsx)(a.BookOpen,{className:"h-8 w-8 text-primary"}),"Project Context"]}),(0,t.jsx)("p",{className:"text-muted-foreground mt-2",children:"View project-level context files that inform AI agents and development workflows"})]}),v&&(0,t.jsx)(u.Button,{variant:"outline",size:"sm",onClick:w,className:"shrink-0",children:n?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.Check,{className:"h-4 w-4 mr-2 text-green-600"}),"Copied!"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i,{className:"h-4 w-4 mr-2"}),"Copy All"]})})]}),v&&(0,t.jsxs)("div",{className:"mt-6 space-y-4",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(x.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,t.jsx)(f.Input,{type:"text",placeholder:"Search within context files...",value:j,onChange:e=>y(e.target.value),className:"pl-10 pr-10"}),j&&(0,t.jsx)(u.Button,{variant:"ghost",size:"sm",className:"absolute right-1 top-1/2 -translate-y-1/2 h-7 w-7 p-0",onClick:()=>y(""),children:(0,t.jsx)(h.X,{className:"h-4 w-4"})})]}),j&&j.length>=2&&(0,t.jsx)("div",{className:"flex items-center gap-2 text-sm",children:b>0?(0,t.jsxs)(g.Badge,{variant:"secondary",className:"bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200",children:[b," match",1!==b?"es":""," found"]}):(0,t.jsxs)("span",{className:"text-muted-foreground",children:['No matches found for "',j,'"']})}),(0,t.jsx)(p.Card,{className:"bg-muted/30",children:(0,t.jsx)(p.CardContent,{className:"py-4",children:(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-4 sm:gap-8",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d,{className:(0,B.cn)("h-5 w-5",H(e.totalTokens))}),(0,t.jsxs)("span",{className:"text-sm",children:[(0,t.jsx)("strong",{className:H(e.totalTokens),children:e.totalTokens.toLocaleString()})," ","total tokens"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(m,{className:"h-4 w-4"}),"Context budget for AI agents"]})]})})})]})]}),(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(q,{title:"Agent Instructions",description:"System prompts and guidelines for AI agents",icon:a.BookOpen,files:e.agentInstructions,emptyMessage:"No agent instructions found",emptySuggestion:"Create an AGENTS.md file in your project root",defaultExpanded:e.agentInstructions.length<=2,searchQuery:j,projectRoot:e.projectRoot,onFileSelect:N}),(0,t.jsx)(q,{title:"Configuration",description:"LeanSpec project configuration and settings",icon:r,files:e.config.file?[e.config.file]:[],emptyMessage:"No configuration found",emptySuggestion:"Run 'lean-spec init' to create a config file",defaultExpanded:!0,searchQuery:j,projectRoot:e.projectRoot,onFileSelect:N}),(0,t.jsx)(q,{title:"Project Documentation",description:"README, contributing guidelines, and changelog",icon:l.FileText,files:e.projectDocs,emptyMessage:"No project docs found",emptySuggestion:"Create a README.md file in your project root",defaultExpanded:!1,searchQuery:j,projectRoot:e.projectRoot,onFileSelect:N})]}),!v&&(0,t.jsx)(p.Card,{className:"mt-8",children:(0,t.jsx)(p.CardContent,{className:"py-12",children:(0,t.jsx)(W,{icon:a.BookOpen,title:"No project context found",description:"This project doesn't have any context files yet. Context files help AI agents understand your project better.",suggestion:"Start by creating AGENTS.md or running 'lean-spec init'"})})})]})})}e.s(["ContextClient",()=>Q],549914)},172381,e=>{e.v(t=>Promise.all(["static/chunks/e5aab2c562822175.js","static/chunks/192b2f6118d057e2.js","static/chunks/c658e22a605e0ed1.js","static/chunks/2136b3131f74188f.js","static/chunks/97c8160044aea609.js","static/chunks/414a78f7b9b58d11.js","static/chunks/6d938a49daa10208.js","static/chunks/3276ca6fd9005903.js"].map(t=>e.l(t))).then(()=>t(396758)))}]);
@@ -1 +0,0 @@
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-10{right:2.5rem}.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{top:.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%}.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}.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-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\/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-\[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-\[150px\]{max-width:150px}.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))}.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))}.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))}.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}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-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\/60{border-color:#3b82f699}.border-blue-500\/80{border-color:#3b82f6cc}.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-500\/60{border-color:#6b728099}.border-gray-500\/80{border-color:#6b7280cc}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-500\/60{border-color:#22c55e99}.border-green-500\/80{border-color:#22c55ecc}.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\/60{border-color:#f9731699}.border-orange-500\/80{border-color:#f97316cc}.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-sky-400\/70{border-color:#38bdf8b3}.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-background\/95{background-color:hsl(var(--background)/.95)!important}.bg-\[\#080c14\]{--tw-bg-opacity:1;background-color:rgb(8 12 20/var(--tw-bg-opacity,1))}.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-amber-500\/20{background-color:#f59e0b33}.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-blue-950\/60{background-color:#17255499}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.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-emerald-500\/20{background-color:#10b98133}.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-gray-900\/60{background-color:#11182799}.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-green-950\/60{background-color:#052e1699}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground)/.4)}.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-orange-950\/60{background-color:#43140799}.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\/10{background-color:#38bdf81a}.bg-sky-400\/80{background-color:#38bdf8cc}.bg-sky-500\/20{background-color:#0ea5e933}.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-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}.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-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-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.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-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/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-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-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/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-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/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-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-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.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-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-300{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-sky-900{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/90{color:#ffffffe6}.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-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.ring-white\/40{--tw-ring-color:#fff6}.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)}.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-primary\/40:hover{border-color:hsl(var(--primary)/.4)}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary)/.5)}.hover\:border-primary\/70:hover{border-color:hsl(var(--primary)/.7)}.hover\:border-white\/50:hover{border-color:#ffffff80}.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-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}.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-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-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1e3a8a4d}.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-green-900\/20:is(.dark *){background-color:#14532d33}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-orange-900\/20:is(.dark *){background-color:#7c2d1233}.dark\:bg-orange-900\/30:is(.dark *){background-color:#7c2d124d}.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-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/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-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/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-sky-200:is(.dark *){--tw-text-opacity:1;color:rgb(186 230 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))}@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\: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}
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,585458,(e,t,n)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",n="minute",r="hour",s="week",i="month",l="quarter",a="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,h=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},f="en",m={};m[f]={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"],n=e%100;return"["+e+(t[(n-20)%10]||t[n]||t[0])+"]"}};var x="$isDayjsObject",p=function(e){return e instanceof w||!(!e||!e[x])},g=function e(t,n,r){var s;if(!t)return f;if("string"==typeof t){var i=t.toLowerCase();m[i]&&(s=i),n&&(m[i]=n,s=i);var l=t.split("-");if(!s&&l.length>1)return e(l[0])}else{var a=t.name;m[a]=t,s=a}return!r&&s&&(f=s),s||!r&&f},v=function(e,t){if(p(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new w(n)},S={s:h,z:function(e){var t=-e.utcOffset(),n=Math.abs(t);return(t<=0?"+":"-")+h(Math.floor(n/60),2,"0")+":"+h(n%60,2,"0")},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),s=t.clone().add(r,i),l=n-s<0,a=t.clone().add(r+(l?-1:1),i);return+(-(r+(n-s)/(l?s-a:a-s))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return({M:i,y:a,w:s,d:"day",D:o,h:r,m:n,s:t,ms:e,Q:l})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};S.l=g,S.i=p,S.w=function(e,t){return v(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var w=function(){function h(e){this.$L=g(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var f=h.prototype;return f.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(S.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(u);if(r){var s=r[2]-1||0,i=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],s,r[3]||1,r[4]||0,r[5]||0,r[6]||0,i)):new Date(r[1],s,r[3]||1,r[4]||0,r[5]||0,r[6]||0,i)}}return new Date(t)}(e),this.init()},f.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()},f.$utils=function(){return S},f.isValid=function(){return this.$d.toString()!==c},f.isSame=function(e,t){var n=v(e);return this.startOf(t)<=n&&n<=this.endOf(t)},f.isAfter=function(e,t){return v(e)<this.startOf(t)},f.isBefore=function(e,t){return this.endOf(t)<v(e)},f.$g=function(e,t,n){return S.u(e)?this[t]:this.set(n,e)},f.unix=function(){return Math.floor(this.valueOf()/1e3)},f.valueOf=function(){return this.$d.getTime()},f.startOf=function(e,l){var c=this,u=!!S.u(l)||l,d=S.p(e),h=function(e,t){var n=S.w(c.$u?Date.UTC(c.$y,t,e):new Date(c.$y,t,e),c);return u?n:n.endOf("day")},f=function(e,t){return S.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,p=this.$D,g="set"+(this.$u?"UTC":"");switch(d){case a:return u?h(1,0):h(31,11);case i:return u?h(1,x):h(0,x+1);case s:var v=this.$locale().weekStart||0,w=(m<v?m+7:m)-v;return h(u?p-w:p+(6-w),x);case"day":case o:return f(g+"Hours",0);case r:return f(g+"Minutes",1);case n:return f(g+"Seconds",2);case t:return f(g+"Milliseconds",3);default:return this.clone()}},f.endOf=function(e){return this.startOf(e,!1)},f.$set=function(s,l){var c,u=S.p(s),d="set"+(this.$u?"UTC":""),h=((c={}).day=d+"Date",c[o]=d+"Date",c[i]=d+"Month",c[a]=d+"FullYear",c[r]=d+"Hours",c[n]=d+"Minutes",c[t]=d+"Seconds",c[e]=d+"Milliseconds",c)[u],f="day"===u?this.$D+(l-this.$W):l;if(u===i||u===a){var m=this.clone().set(o,1);m.$d[h](f),m.init(),this.$d=m.set(o,Math.min(this.$D,m.daysInMonth())).$d}else h&&this.$d[h](f);return this.init(),this},f.set=function(e,t){return this.clone().$set(e,t)},f.get=function(e){return this[S.p(e)]()},f.add=function(e,l){var o,c=this;e=Number(e);var u=S.p(l),d=function(t){var n=v(c);return S.w(n.date(n.date()+Math.round(t*e)),c)};if(u===i)return this.set(i,this.$M+e);if(u===a)return this.set(a,this.$y+e);if("day"===u)return d(1);if(u===s)return d(7);var h=((o={})[n]=6e4,o[r]=36e5,o[t]=1e3,o)[u]||1,f=this.$d.getTime()+e*h;return S.w(f,this)},f.subtract=function(e,t){return this.add(-1*e,t)},f.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||c;var r=e||"YYYY-MM-DDTHH:mm:ssZ",s=S.z(this),i=this.$H,l=this.$m,a=this.$M,o=n.weekdays,u=n.months,h=n.meridiem,f=function(e,n,s,i){return e&&(e[n]||e(t,r))||s[n].slice(0,i)},m=function(e){return S.s(i%12||12,e,"0")},x=h||function(e,t,n){var r=e<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(d,function(e,r){return r||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return S.s(t.$y,4,"0");case"M":return a+1;case"MM":return S.s(a+1,2,"0");case"MMM":return f(n.monthsShort,a,u,3);case"MMMM":return f(u,a);case"D":return t.$D;case"DD":return S.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return f(n.weekdaysMin,t.$W,o,2);case"ddd":return f(n.weekdaysShort,t.$W,o,3);case"dddd":return o[t.$W];case"H":return String(i);case"HH":return S.s(i,2,"0");case"h":return m(1);case"hh":return m(2);case"a":return x(i,l,!0);case"A":return x(i,l,!1);case"m":return String(l);case"mm":return S.s(l,2,"0");case"s":return String(t.$s);case"ss":return S.s(t.$s,2,"0");case"SSS":return S.s(t.$ms,3,"0");case"Z":return s}return null}(e)||s.replace(":","")})},f.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},f.diff=function(e,o,c){var u,d=this,h=S.p(o),f=v(e),m=(f.utcOffset()-this.utcOffset())*6e4,x=this-f,p=function(){return S.m(d,f)};switch(h){case a:u=p()/12;break;case i:u=p();break;case l:u=p()/3;break;case s:u=(x-m)/6048e5;break;case"day":u=(x-m)/864e5;break;case r:u=x/36e5;break;case n:u=x/6e4;break;case t:u=x/1e3;break;default:u=x}return c?u:S.a(u)},f.daysInMonth=function(){return this.endOf(i).$D},f.$locale=function(){return m[this.$L]},f.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=g(e,t,!0);return r&&(n.$L=r),n},f.clone=function(){return S.w(this.$d,this)},f.toDate=function(){return new Date(this.valueOf())},f.toJSON=function(){return this.isValid()?this.toISOString():null},f.toISOString=function(){return this.$d.toISOString()},f.toString=function(){return this.$d.toUTCString()},h}(),b=w.prototype;return v.prototype=b,[["$ms",e],["$s",t],["$m",n],["$H",r],["$W","day"],["$M",i],["$y",a],["$D",o]].forEach(function(e){b[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),v.extend=function(e,t){return e.$i||(e(t,w,v),e.$i=!0),v},v.locale=g,v.isDayjs=p,v.unix=function(e){return v(1e3*e)},v.en=m[f],v.Ls=m,v.p={},v}()},222850,e=>{"use strict";var t=e.i(890022),n=e.i(632137);function r({className:e,...r}){return(0,t.jsx)("div",{className:(0,n.cn)("animate-pulse rounded-md bg-muted",e),...r})}e.s(["Skeleton",()=>r])},417612,293821,e=>{"use strict";var t=e.i(890022),n=e.i(431231),r=e.i(987985);let s="u">typeof window?n.useLayoutEffect:n.useEffect;function i(e){if(void 0!==e)switch(typeof e){case"number":return e;case"string":if(e.endsWith("px"))return parseFloat(e)}}let l=null;function a({containerElement:e,direction:t,isRtl:n,scrollOffset:r}){if("horizontal"===t&&n)switch(function(e=!1){if(null===l||e){let e=document.createElement("div"),t=e.style;t.width="50px",t.height="50px",t.overflow="scroll",t.direction="rtl";let n=document.createElement("div"),r=n.style;return r.width="100px",r.height="100px",e.appendChild(n),document.body.appendChild(e),e.scrollLeft>0?l="positive-descending":(e.scrollLeft=1,l=0===e.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(e),l}return l}()){case"negative":return-r;case"positive-descending":if(e){let{clientWidth:t,scrollLeft:n,scrollWidth:r}=e;return r-t-n}}return r}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 n in e)if(!Object.is(t[n],e[n]))return!1;return!0}function u({cachedBounds:e,itemCount:t,itemSize:n}){if(0===t)return 0;if("number"==typeof n)return t*n;{let n=e.get(0===e.size?0:e.size-1);return o(void 0!==n,"Unexpected bounds cache miss"),t*((n.scrollOffset+n.size)/e.size)}}function d({cachedBounds:e,containerScrollOffset:t,containerSize:n,itemCount:r,overscanCount:s}){let i=r-1,l=0,a=-1,o=0,c=-1,u=0;for(;u<i;){let n=e.get(u);if(n.scrollOffset+n.size>t)break;u++}for(o=Math.max(0,(l=u)-s);u<i;){let r=e.get(u);if(r.scrollOffset+r.size>=t+n)break;u++}return c=Math.min(r-1,(a=Math.min(i,u))+s),l<0&&(l=0,a=-1,o=0,c=-1),{startIndexVisible:l,stopIndexVisible:a,startIndexOverscan:o,stopIndexOverscan:c}}function h(e,t){let{ariaAttributes:n,style:r,...s}=e,{ariaAttributes:i,style:l,...a}=t;return c(n,i)&&c(r,l)&&c(s,a)}function f({children:e,className:r,defaultHeight:l=0,listRef:f,onResize:m,onRowsRendered:x,overscanCount:p=3,rowComponent:g,rowCount:v,rowHeight:S,rowProps:w,tagName:b="div",style:y,...j}){let $=(0,n.useMemo)(()=>w,Object.values(w)),C=(0,n.useMemo)(()=>(0,n.memo)(g,h),[g]),[N,M]=(0,n.useState)(null),I=null!=S&&"object"==typeof S&&"getAverageRowHeight"in S&&"function"==typeof S.getAverageRowHeight,{getCellBounds:O,getEstimatedSize:z,scrollToIndex:T,startIndexOverscan:k,startIndexVisible:D,stopIndexOverscan:A,stopIndexVisible:E}=function({containerElement:e,containerStyle:t,defaultContainerSize:r=0,direction:l,isRtl:h=!1,itemCount:f,itemProps:m,itemSize:x,onResize:p,overscanCount:g}){var v;let S,[w,b]=(0,n.useState)({startIndexVisible:0,startIndexOverscan:0,stopIndexVisible:-1,stopIndexOverscan:-1}),{startIndexVisible:y,startIndexOverscan:j,stopIndexVisible:$,stopIndexOverscan:C}={startIndexVisible:Math.min(f-1,w.startIndexVisible),startIndexOverscan:Math.min(f-1,w.startIndexOverscan),stopIndexVisible:Math.min(f-1,w.stopIndexVisible),stopIndexOverscan:Math.min(f-1,w.stopIndexOverscan)},{height:N=r,width:M=r}=function({box:e,defaultHeight:t,defaultWidth:r,disabled:l,element:a,mode:o,style:c}){let{styleHeight:u,styleWidth:d}=(0,n.useMemo)(()=>({styleHeight:i(c?.height),styleWidth:i(c?.width)}),[c?.height,c?.width]),[h,f]=(0,n.useState)({height:t,width:r}),m=l||"only-height"===o&&void 0!==u||"only-width"===o&&void 0!==d||void 0!==u&&void 0!==d;return s(()=>{if(null===a||m)return;let t=new ResizeObserver(e=>{for(let t of e){let{contentRect:e,target:n}=t;a===n&&f(t=>t.height===e.height&&t.width===e.width?t:{height:e.height,width:e.width})}});return t.observe(a,{box:e}),()=>{t?.unobserve(a)}},[e,m,a,u,d]),(0,n.useMemo)(()=>({height:u??h.height,width:d??h.width}),[h,u,d])}({defaultHeight:"vertical"===l?r:void 0,defaultWidth:"horizontal"===l?r:void 0,element:e,mode:"vertical"===l?"only-height":"only-width",style:t}),I=(0,n.useRef)({height:0,width:0}),O="vertical"===l?N:M,z=function({containerSize:e,itemSize:t}){let n;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"),n=e*parseInt(t)/100):n=t,n}({containerSize:O,itemSize:x});(0,n.useLayoutEffect)(()=>{if("function"==typeof p){let e=I.current;(e.height!==N||e.width!==M)&&(p({height:N,width:M},{...e}),e.height=N,e.width=M)}},[N,p,M]);let T=function({itemCount:e,itemProps:t,itemSize:r}){return(0,n.useMemo)(()=>(function({itemCount:e,itemProps:t,itemSize:n}){let r=new Map;return{get(s){for(o(s<e,`Invalid index ${s}`);r.size-1<s;){let e,i=r.size;switch(typeof n){case"function":e=n(i,t);break;case"number":e=n}if(0===i)r.set(i,{size:e,scrollOffset:0});else{let t=r.get(i-1);o(void 0!==t,`Unexpected bounds cache miss for index ${s}`),r.set(i,{scrollOffset:t.scrollOffset+t.size,size:e})}}let i=r.get(s);return o(void 0!==i,`Unexpected bounds cache miss for index ${s}`),i},set(e,t){r.set(e,t)},get size(){return r.size}}})({itemCount:e,itemProps:t,itemSize:r}),[e,t,r])}({itemCount:f,itemProps:m,itemSize:z}),k=(0,n.useCallback)(e=>T.get(e),[T]),D=(0,n.useCallback)(()=>u({cachedBounds:T,itemCount:f,itemSize:z}),[T,f,z]),A=(0,n.useCallback)(t=>d({cachedBounds:T,containerScrollOffset:a({containerElement:e,direction:l,isRtl:h,scrollOffset:t}),containerSize:O,itemCount:f,overscanCount:g}),[T,e,O,l,h,f,g]);return s(()=>{b(A(("vertical"===l?e?.scrollTop:e?.scrollLeft)??0))},[e,l,A]),s(()=>{if(!e)return;let t=()=>{b(t=>{let{scrollLeft:n,scrollTop:r}=e,s=d({cachedBounds:T,containerScrollOffset:a({containerElement:e,direction:l,isRtl:h,scrollOffset:"vertical"===l?r:n}),containerSize:O,itemCount:f,overscanCount:g});return c(s,t)?t:s})};return e.addEventListener("scroll",t),()=>{e.removeEventListener("scroll",t)}},[T,e,O,l,f,g]),{getCellBounds:k,getEstimatedSize:D,scrollToIndex:(v=({align:t="auto",containerScrollOffset:n,index:r})=>{let s=function({align:e,cachedBounds:t,index:n,itemCount:r,itemSize:s,containerScrollOffset:i,containerSize:l}){if(n<0||n>=r)throw RangeError(`Invalid index specified: ${n}`,{cause:`Index ${n} is not within the range of 0 - ${r-1}`});let a=u({cachedBounds:t,itemCount:r,itemSize:s}),o=t.get(n),c=Math.max(0,Math.min(a-l,o.scrollOffset)),d=Math.max(0,o.scrollOffset-l+o.size);switch("smart"===e&&(e=i>=d&&i<=c?"auto":"center"),e){case"start":return c;case"end":return d;case"center":return o.scrollOffset<=l/2?0:o.scrollOffset+o.size/2>=a-l/2?a-l:o.scrollOffset+o.size/2-l/2;default:return i>=d&&i<=c?i:i<d?d:c}}({align:t,cachedBounds:T,containerScrollOffset:n,containerSize:O,index:r,itemCount:f,itemSize:z});if(e){if(s=a({containerElement:e,direction:l,isRtl:h,scrollOffset:s}),"function"!=typeof e.scrollTo){let e=A(s);c(w,e)||b(e)}return s}},S=(0,n.useRef)(()=>{throw Error("Cannot call during render.")}),s(()=>{S.current=v},[v]),(0,n.useCallback)(e=>S.current?.(e),[S])),startIndexOverscan:j,startIndexVisible:y,stopIndexOverscan:C,stopIndexVisible:$}}({containerElement:N,containerStyle:y,defaultContainerSize:l,direction:"vertical",itemCount:v,itemProps:$,itemSize:(0,n.useMemo)(()=>I?e=>S.getRowHeight(e)??S.getAverageRowHeight():S,[I,S]),onResize:m,overscanCount:p});(0,n.useImperativeHandle)(f,()=>({get element(){return N},scrollToRow({align:e="auto",behavior:t="auto",index:n}){let r=T({align:e,containerScrollOffset:N?.scrollTop??0,index:n});"function"==typeof N?.scrollTo&&N.scrollTo({behavior:t,top:r})}}),[N,T]),s(()=>{if(!N)return;let e=Array.from(N.children).filter((e,t)=>{if(e.hasAttribute("aria-hidden"))return!1;let n=`${k+t}`;return e.setAttribute("data-react-window-index",n),!0});if(I)return S.observeRowElements(e)},[N,I,S,k,A]),(0,n.useEffect)(()=>{k>=0&&A>=0&&x&&x({startIndex:D,stopIndex:E},{startIndex:k,stopIndex:A})},[x,k,D,A,E]);let R=(0,n.useMemo)(()=>{let e=[];if(v>0)for(let t=k;t<=A;t++){let r=O(t);e.push((0,n.createElement)(C,{...$,ariaAttributes:{"aria-posinset":t+1,"aria-setsize":v,role:"listitem"},key:t,index:t,style:{position:"absolute",left:0,transform:`translateY(${r.scrollOffset}px)`,height:I?void 0:r.size,width:"100%"}}))}return e},[C,O,I,v,$,k,A]),H=(0,t.jsx)("div",{"aria-hidden":!0,style:{height:z(),width:"100%",zIndex:-1}});return(0,n.createElement)(b,{role:"list",...j,className:r,ref:M,style:{position:"relative",maxHeight:"100%",flexGrow:1,overflowY:"auto",...y}},R,e,H)}n.useState,n.useRef,n.useState,n.useRef;var m=e.i(300329),x=e.i(158362),p=e.i(525761),g=e.i(644021);let v=(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 S=e.i(21079),w=e.i(235893),b=e.i(168497),y=e.i(308402),j=e.i(708737),$=e.i(632137),C=e.i(597705),N=e.i(145878);let M={specs:[],signature:null,scrollTop:0,activeSpecId:null},I=[],O=new Set,z=new Set,T=new Set;function k(){for(let e of O)e()}function D(e){return O.add(e),()=>{O.delete(e)}}function A(){return M}function E(){return(0,n.useSyncExternalStore)(D,A,()=>M)}function R(){let e=n.useCallback(e=>(z.add(e),()=>{z.delete(e)}),[]);return(0,n.useSyncExternalStore)(e,()=>A().specs,()=>I)}function H(){let e=n.useCallback(e=>(T.add(e),()=>{T.delete(e)}),[]);return(0,n.useSyncExternalStore)(e,()=>A().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!==M.signature)for(let n of(M={...M,specs:e,signature:t},k(),z))n()}function V(e){if(M.activeSpecId!==e)for(let t of(M={...M,activeSpecId:e},k(),T))t()}function B(e){1>Math.abs(e-M.scrollTop)||(M={...M,scrollTop:e})}function P(){return M.scrollTop}e.s(["getSidebarScrollTop",()=>P,"primeSpecsSidebar",()=>L,"setActiveSidebarSpec",()=>V,"updateSidebarScrollTop",()=>B,"useSpecsSidebarActiveSpec",()=>H,"useSpecsSidebarSpecs",()=>R,"useSpecsSidebarState",()=>E],293821);let _=n.useLayoutEffect;function W({initialSpecs:e=[],currentSpecId:s,currentSubSpec:i,onSpecHover:l,className:a}){let[o,c]=n.useState(""),[u,d]=n.useState("all"),[h,M]=n.useState("all"),[I,O]=n.useState("all"),[z,T]=n.useState(!1),[k,D]=n.useState(()=>"true"===localStorage.getItem("specs-nav-sidebar-collapsed")),[A,E]=n.useState(!1),[L,V]=n.useState(!1),W=n.useRef(null),Y=n.useRef(null),F=n.useRef(!1),U=n.useRef(null),q=n.useRef(0),J=n.useRef(!1),Z=n.useRef(!0),K=R(),G=H(),Q=n.useMemo(()=>K.length>0?K:e,[K,e]),X=s||G||"";n.useEffect(()=>{V(!0)},[]),n.useEffect(()=>{document.documentElement.style.setProperty("--specs-nav-sidebar-width",k?"0px":"280px"),localStorage.setItem("specs-nav-sidebar-collapsed",String(k))},[k]),n.useEffect(()=>{E(!1)},[X,i]);let ee=n.useMemo(()=>{let e=Q;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"!==h&&(e=e.filter(e=>e.priority===h)),"all"!==I&&(e=e.filter(e=>e.tags?.includes(I))),console.debug(e),e},[Q,o,u,h,I]),et=n.useMemo(()=>{let e=new Set;return Q.forEach(t=>{t.tags?.forEach(t=>e.add(t))}),Array.from(e).sort()},[Q]),en="all"!==u||"all"!==h||"all"!==I,er=n.useMemo(()=>[...ee].sort((e,t)=>(t.specNumber||0)-(e.specNumber||0)),[ee]);_(()=>{let e=null,t=null;q.current=P(),J.current=q.current>0;let n=()=>{let r=U.current?.element;if(!r){e=window.requestAnimationFrame(n);return}F.current||(q.current>0&&(r.scrollTop=q.current),F.current=!0);let s=()=>{null===Y.current&&(Y.current=window.requestAnimationFrame(()=>{Y.current=null,q.current=r.scrollTop,B(r.scrollTop)}))};r.addEventListener("scroll",s,{passive:!0}),t=()=>{r.removeEventListener("scroll",s)}};return n(),()=>{t&&t(),null!==e&&window.cancelAnimationFrame(e),null!==Y.current&&(window.cancelAnimationFrame(Y.current),Y.current=null)}},[]),_(()=>{if(!Z.current||(Z.current=!1,J.current||!X))return;let e=null,t=()=>{if(J.current)return;if(!F.current||!U.current){e=window.requestAnimationFrame(t);return}let n=er.findIndex(e=>e.id===X);-1!==n&&(J.current=!0,U.current.scrollToRow({index:n,align:"center"}))};return t(),()=>{null!==e&&window.cancelAnimationFrame(e)}},[er,X]),n.useEffect(()=>(window.toggleSpecsSidebar=()=>E(e=>!e),()=>{window.toggleSpecsSidebar=void 0}),[]);let es=n.useCallback(e=>{let{index:n,style:s}=e,a=er[n],o=a.id===X,c=(a.contentMd?(0,$.extractH1Title)(a.contentMd):null)||a.title||a.specName;return(0,t.jsx)("div",{style:s,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)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)(r.default,{ref:o&&!i?W:null,href:`/specs/${a.specNumber||a.id}`,onMouseEnter:()=>l?.(a.specNumber?.toString()||a.id),className:(0,$.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:[a.specNumber&&(0,t.jsxs)("span",{className:"text-xs font-mono text-muted-foreground shrink-0",children:["#",a.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:[a.status&&(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(b.StatusBadge,{status:a.status,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,t.jsx)(y.TooltipContent,{side:"right",children:(0,b.getStatusLabel)(a.status)})]}),a.priority&&(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(C.PriorityBadge,{priority:a.priority,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,t.jsx)(y.TooltipContent,{side:"right",children:(0,C.getPriorityLabel)(a.priority)})]}),"number"==typeof a.subSpecsCount&&a.subSpecsCount>0&&(0,t.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:["+",a.subSpecsCount," files"]}),a.updatedAt&&(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:(0,N.formatRelativeTime)(a.updatedAt)})]})]})}),(0,t.jsx)(y.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:a.specName})]})})]})})})})},[er,X,i,l]),ei=n.useMemo(()=>window.innerHeight-56-180,[]),el=n.useMemo(()=>n.memo(f),[]);return(0,t.jsxs)(y.TooltipProvider,{delayDuration:700,children:[A&&(0,t.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>E(!1)}),(0,t.jsxs)("div",{className:(0,$.cn)("relative flex-shrink-0",a),children:[(0,t.jsxs)("aside",{className:(0,$.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&&k?"lg:w-0 lg:border-r-0":"lg:w-[280px]",A&&"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)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(w.Button,{variant:z||en?"default":"ghost",size:"sm",onClick:()=>T(!z),className:"h-6 w-6 p-0",children:(0,t.jsx)(v,{className:"h-4 w-4"})})}),(0,t.jsx)(y.TooltipContent,{side:"bottom",children:z?"Hide filters":"Show filters"})]}),(0,t.jsx)(w.Button,{variant:"ghost",size:"sm",onClick:()=>E(!1),className:"h-6 w-6 p-0 lg:hidden",children:(0,t.jsx)(g.X,{className:"h-4 w-4"})}),(0,t.jsx)(w.Button,{variant:"ghost",size:"sm",onClick:()=>D(!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)(w.Button,{variant:"ghost",size:"sm",onClick:()=>{d("all"),M("all"),O("all")},className:"h-5 text-xs px-2 py-0",children:"Clear"})]}),(0,t.jsxs)(j.Select,{value:u,onValueChange:d,children:[(0,t.jsx)(j.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)(j.SelectValue,{placeholder:"Status"})}),(0,t.jsxs)(j.SelectContent,{children:[(0,t.jsx)(j.SelectItem,{value:"all",children:"All Status"}),(0,t.jsx)(j.SelectItem,{value:"planned",children:"Planned"}),(0,t.jsx)(j.SelectItem,{value:"in-progress",children:"In Progress"}),(0,t.jsx)(j.SelectItem,{value:"complete",children:"Complete"}),(0,t.jsx)(j.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,t.jsxs)(j.Select,{value:h,onValueChange:M,children:[(0,t.jsx)(j.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)(j.SelectValue,{placeholder:"Priority"})}),(0,t.jsxs)(j.SelectContent,{children:[(0,t.jsx)(j.SelectItem,{value:"all",children:"All Priority"}),(0,t.jsx)(j.SelectItem,{value:"low",children:"Low"}),(0,t.jsx)(j.SelectItem,{value:"medium",children:"Medium"}),(0,t.jsx)(j.SelectItem,{value:"high",children:"High"}),(0,t.jsx)(j.SelectItem,{value:"critical",children:"Critical"})]})]}),et.length>0&&(0,t.jsxs)(j.Select,{value:I,onValueChange:O,children:[(0,t.jsx)(j.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)(j.SelectValue,{placeholder:"Tag"})}),(0,t.jsxs)(j.SelectContent,{children:[(0,t.jsx)(j.SelectItem,{value:"all",children:"All Tags"}),et.map(e=>(0,t.jsx)(j.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)(S.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===er.length?(0,t.jsx)("div",{className:"text-center py-8 text-sm text-muted-foreground",children:"No specs found"}):(0,t.jsx)(el,{listRef:U,defaultHeight:ei,rowCount:er.length,rowHeight:72,overscanCount:5,rowComponent:es,rowProps:{}})})]}),L&&k&&(0,t.jsx)(w.Button,{variant:"ghost",size:"sm",onClick:()=>D(!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)(p.ChevronRight,{className:"h-4 w-4"})})]})]})}e.s(["SpecsNavSidebar",()=>W],417612)},653213,e=>{"use strict";var t=e.i(890022),n=e.i(417612),r=e.i(222850),s=e.i(293821);function i(){let e=(0,s.useSpecsSidebarState)(),i=e.specs,l=e.activeSpecId||"";return(0,t.jsxs)("div",{className:"flex min-h-[calc(100vh-3.5rem)] w-full min-w-0",children:[(0,t.jsx)(n.SpecsNavSidebar,{initialSpecs:i,currentSpecId:l}),(0,t.jsx)("div",{className:"flex-1 min-w-0 px-4 py-6 sm:px-8 sm:py-10",children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(r.Skeleton,{className:"h-7 w-56"}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-3",children:[(0,t.jsx)(r.Skeleton,{className:"h-6 w-24"}),(0,t.jsx)(r.Skeleton,{className:"h-6 w-24"}),(0,t.jsx)(r.Skeleton,{className:"h-6 w-20"})]}),(0,t.jsx)(r.Skeleton,{className:"h-4 w-64"})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(r.Skeleton,{className:"h-5 w-40"}),(0,t.jsx)(r.Skeleton,{className:"h-32 w-full"})]}),(0,t.jsx)("div",{className:"space-y-4",children:[...Array(6)].map((e,n)=>(0,t.jsx)(r.Skeleton,{className:"h-4 w-full"},n))})]})})]})}e.s(["SpecDetailLoadingShell",()=>i])}]);