shieldcortex 4.17.0 → 4.18.1

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 (405) hide show
  1. package/README.md +49 -0
  2. package/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -1
  3. package/dashboard/.next/standalone/dashboard/.next/app-path-routes-manifest.json +1 -0
  4. package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +4 -4
  5. package/dashboard/.next/standalone/dashboard/.next/prerender-manifest.json +27 -3
  6. package/dashboard/.next/standalone/dashboard/.next/routes-manifest.json +6 -0
  7. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page/build-manifest.json +2 -2
  8. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page/next-font-manifest.json +2 -2
  9. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page.js.nft.json +1 -1
  10. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/admin/page_client-reference-manifest.js +1 -1
  11. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page/build-manifest.json +2 -2
  12. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page/next-font-manifest.json +2 -2
  13. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page.js.nft.json +1 -1
  14. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/cloud/page_client-reference-manifest.js +1 -1
  15. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page/build-manifest.json +2 -2
  16. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page/next-font-manifest.json +2 -2
  17. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page.js.nft.json +1 -1
  18. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/capture/page_client-reference-manifest.js +1 -1
  19. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page/build-manifest.json +2 -2
  20. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page/next-font-manifest.json +2 -2
  21. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page.js.nft.json +1 -1
  22. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/graph/page_client-reference-manifest.js +1 -1
  23. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page/build-manifest.json +2 -2
  24. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page/next-font-manifest.json +2 -2
  25. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page.js.nft.json +1 -1
  26. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +1 -1
  27. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page/build-manifest.json +2 -2
  28. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page/next-font-manifest.json +2 -2
  29. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page.js.nft.json +1 -1
  30. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/recall/page_client-reference-manifest.js +1 -1
  31. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page/app-paths-manifest.json +3 -0
  32. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page/build-manifest.json +18 -0
  33. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page/next-font-manifest.json +11 -0
  34. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page/react-loadable-manifest.json +1 -0
  35. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page/server-reference-manifest.json +4 -0
  36. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page.js +18 -0
  37. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page.js.map +5 -0
  38. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page.js.nft.json +1 -0
  39. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/replay/page_client-reference-manifest.js +2 -0
  40. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page/build-manifest.json +2 -2
  41. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page/next-font-manifest.json +2 -2
  42. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page.js.nft.json +1 -1
  43. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/review/page_client-reference-manifest.js +1 -1
  44. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page/build-manifest.json +2 -2
  45. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page/next-font-manifest.json +2 -2
  46. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page.js.nft.json +1 -1
  47. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/memory/timeline/page_client-reference-manifest.js +1 -1
  48. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page/build-manifest.json +2 -2
  49. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page/next-font-manifest.json +2 -2
  50. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page.js.nft.json +1 -1
  51. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/overview/page_client-reference-manifest.js +1 -1
  52. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page/build-manifest.json +2 -2
  53. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page/next-font-manifest.json +2 -2
  54. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page.js.nft.json +1 -1
  55. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/audit/page_client-reference-manifest.js +1 -1
  56. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page/build-manifest.json +2 -2
  57. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page/next-font-manifest.json +2 -2
  58. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page.js.nft.json +1 -1
  59. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/intercepts/page_client-reference-manifest.js +1 -1
  60. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page/build-manifest.json +2 -2
  61. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page/next-font-manifest.json +2 -2
  62. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page.js.nft.json +1 -1
  63. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/iron-dome/page_client-reference-manifest.js +1 -1
  64. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page/build-manifest.json +2 -2
  65. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page/next-font-manifest.json +2 -2
  66. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page.js.nft.json +1 -1
  67. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/page_client-reference-manifest.js +1 -1
  68. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page/build-manifest.json +2 -2
  69. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page/next-font-manifest.json +2 -2
  70. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page.js.nft.json +1 -1
  71. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/policies/page_client-reference-manifest.js +1 -1
  72. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page/build-manifest.json +2 -2
  73. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page/next-font-manifest.json +2 -2
  74. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page.js.nft.json +1 -1
  75. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/protection/quarantine/page_client-reference-manifest.js +1 -1
  76. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page/build-manifest.json +2 -2
  77. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page/next-font-manifest.json +2 -2
  78. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  79. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  80. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page/build-manifest.json +2 -2
  81. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page/next-font-manifest.json +2 -2
  82. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page.js.nft.json +1 -1
  83. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/page_client-reference-manifest.js +1 -1
  84. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page/build-manifest.json +2 -2
  85. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page/next-font-manifest.json +2 -2
  86. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page.js.nft.json +1 -1
  87. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/supply-chain/xray/page_client-reference-manifest.js +1 -1
  88. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page/build-manifest.json +2 -2
  89. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page/next-font-manifest.json +2 -2
  90. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page.js.nft.json +1 -1
  91. package/dashboard/.next/standalone/dashboard/.next/server/app/(dashboard)/xray/page_client-reference-manifest.js +1 -1
  92. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page/build-manifest.json +2 -2
  93. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page.js.nft.json +1 -1
  94. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  95. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.html +2 -2
  96. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.rsc +1 -1
  97. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  98. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  99. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  100. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  101. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  102. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page/build-manifest.json +2 -2
  103. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page/next-font-manifest.json +2 -2
  104. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page.js.nft.json +1 -1
  105. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  106. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +2 -2
  107. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +3 -3
  108. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  109. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  110. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  111. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  112. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  113. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -3
  114. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.html +1 -1
  115. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.rsc +11 -11
  116. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin/__PAGE__.segment.rsc +1 -1
  117. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk/admin.segment.rsc +1 -1
  118. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  119. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_full.segment.rsc +11 -11
  120. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  121. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_index.segment.rsc +3 -3
  122. package/dashboard/.next/standalone/dashboard/.next/server/app/admin.segments/_tree.segment.rsc +5 -5
  123. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.html +1 -1
  124. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.rsc +11 -11
  125. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud/__PAGE__.segment.rsc +1 -1
  126. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk/cloud.segment.rsc +1 -1
  127. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  128. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_full.segment.rsc +11 -11
  129. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_head.segment.rsc +1 -1
  130. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_index.segment.rsc +3 -3
  131. package/dashboard/.next/standalone/dashboard/.next/server/app/cloud.segments/_tree.segment.rsc +5 -5
  132. package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
  133. package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +5 -5
  134. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  135. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_full.segment.rsc +5 -5
  136. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
  137. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_index.segment.rsc +3 -3
  138. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +5 -5
  139. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.html +1 -1
  140. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.rsc +11 -11
  141. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture/__PAGE__.segment.rsc +1 -1
  142. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory/capture.segment.rsc +1 -1
  143. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  144. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  145. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_full.segment.rsc +11 -11
  146. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_head.segment.rsc +1 -1
  147. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_index.segment.rsc +3 -3
  148. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/capture.segments/_tree.segment.rsc +5 -5
  149. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.html +1 -1
  150. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.rsc +11 -11
  151. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph/__PAGE__.segment.rsc +1 -1
  152. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory/graph.segment.rsc +1 -1
  153. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  154. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  155. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_full.segment.rsc +11 -11
  156. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_head.segment.rsc +1 -1
  157. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_index.segment.rsc +3 -3
  158. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/graph.segments/_tree.segment.rsc +5 -5
  159. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.html +1 -1
  160. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.rsc +11 -11
  161. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall/__PAGE__.segment.rsc +1 -1
  162. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory/recall.segment.rsc +1 -1
  163. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  164. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  165. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_full.segment.rsc +11 -11
  166. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_head.segment.rsc +1 -1
  167. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_index.segment.rsc +3 -3
  168. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/recall.segments/_tree.segment.rsc +5 -5
  169. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.html +9 -0
  170. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.meta +17 -0
  171. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.rsc +31 -0
  172. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory/replay/__PAGE__.segment.rsc +9 -0
  173. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory/replay.segment.rsc +4 -0
  174. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +4 -0
  175. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/!KGRhc2hib2FyZCk.segment.rsc +10 -0
  176. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_full.segment.rsc +31 -0
  177. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_head.segment.rsc +5 -0
  178. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_index.segment.rsc +8 -0
  179. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/replay.segments/_tree.segment.rsc +5 -0
  180. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.html +1 -1
  181. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.rsc +11 -11
  182. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review/__PAGE__.segment.rsc +1 -1
  183. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory/review.segment.rsc +1 -1
  184. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  185. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  186. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_full.segment.rsc +11 -11
  187. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_head.segment.rsc +1 -1
  188. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_index.segment.rsc +3 -3
  189. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/review.segments/_tree.segment.rsc +5 -5
  190. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.html +1 -1
  191. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.rsc +11 -11
  192. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline/__PAGE__.segment.rsc +1 -1
  193. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory/timeline.segment.rsc +1 -1
  194. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  195. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  196. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_full.segment.rsc +11 -11
  197. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_head.segment.rsc +1 -1
  198. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_index.segment.rsc +3 -3
  199. package/dashboard/.next/standalone/dashboard/.next/server/app/memory/timeline.segments/_tree.segment.rsc +5 -5
  200. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.html +2 -2
  201. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.rsc +13 -13
  202. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory/__PAGE__.segment.rsc +2 -2
  203. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk/memory.segment.rsc +1 -1
  204. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  205. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_full.segment.rsc +13 -13
  206. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  207. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_index.segment.rsc +3 -3
  208. package/dashboard/.next/standalone/dashboard/.next/server/app/memory.segments/_tree.segment.rsc +5 -5
  209. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.html +2 -2
  210. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.rsc +12 -12
  211. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview/__PAGE__.segment.rsc +2 -2
  212. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk/overview.segment.rsc +1 -1
  213. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  214. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_full.segment.rsc +12 -12
  215. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_head.segment.rsc +1 -1
  216. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_index.segment.rsc +3 -3
  217. package/dashboard/.next/standalone/dashboard/.next/server/app/overview.segments/_tree.segment.rsc +5 -5
  218. package/dashboard/.next/standalone/dashboard/.next/server/app/page/build-manifest.json +2 -2
  219. package/dashboard/.next/standalone/dashboard/.next/server/app/page/next-font-manifest.json +2 -2
  220. package/dashboard/.next/standalone/dashboard/.next/server/app/page.js.nft.json +1 -1
  221. package/dashboard/.next/standalone/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  222. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.html +1 -1
  223. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.rsc +11 -11
  224. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit/__PAGE__.segment.rsc +1 -1
  225. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection/audit.segment.rsc +1 -1
  226. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  227. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  228. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_full.segment.rsc +11 -11
  229. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_head.segment.rsc +1 -1
  230. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_index.segment.rsc +3 -3
  231. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/audit.segments/_tree.segment.rsc +5 -5
  232. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.html +1 -1
  233. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.rsc +11 -11
  234. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts/__PAGE__.segment.rsc +1 -1
  235. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection/intercepts.segment.rsc +1 -1
  236. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  237. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  238. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_full.segment.rsc +11 -11
  239. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_head.segment.rsc +1 -1
  240. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_index.segment.rsc +3 -3
  241. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/intercepts.segments/_tree.segment.rsc +5 -5
  242. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.html +1 -1
  243. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.rsc +11 -11
  244. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome/__PAGE__.segment.rsc +1 -1
  245. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection/iron-dome.segment.rsc +1 -1
  246. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  247. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  248. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_full.segment.rsc +11 -11
  249. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_head.segment.rsc +1 -1
  250. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_index.segment.rsc +3 -3
  251. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/iron-dome.segments/_tree.segment.rsc +5 -5
  252. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.html +1 -1
  253. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.rsc +11 -11
  254. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies/__PAGE__.segment.rsc +1 -1
  255. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection/policies.segment.rsc +1 -1
  256. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  257. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  258. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_full.segment.rsc +11 -11
  259. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_head.segment.rsc +1 -1
  260. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_index.segment.rsc +3 -3
  261. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/policies.segments/_tree.segment.rsc +5 -5
  262. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.html +1 -1
  263. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.rsc +11 -11
  264. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine/__PAGE__.segment.rsc +1 -1
  265. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection/quarantine.segment.rsc +1 -1
  266. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  267. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  268. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_full.segment.rsc +11 -11
  269. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_head.segment.rsc +1 -1
  270. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_index.segment.rsc +3 -3
  271. package/dashboard/.next/standalone/dashboard/.next/server/app/protection/quarantine.segments/_tree.segment.rsc +5 -5
  272. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.html +2 -2
  273. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.rsc +13 -13
  274. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection/__PAGE__.segment.rsc +2 -2
  275. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk/protection.segment.rsc +1 -1
  276. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  277. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_full.segment.rsc +13 -13
  278. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_head.segment.rsc +1 -1
  279. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_index.segment.rsc +3 -3
  280. package/dashboard/.next/standalone/dashboard/.next/server/app/protection.segments/_tree.segment.rsc +5 -5
  281. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.html +2 -2
  282. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.rsc +13 -13
  283. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +2 -2
  284. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +1 -1
  285. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  286. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_full.segment.rsc +13 -13
  287. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  288. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_index.segment.rsc +3 -3
  289. package/dashboard/.next/standalone/dashboard/.next/server/app/settings.segments/_tree.segment.rsc +5 -5
  290. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.html +1 -1
  291. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.rsc +11 -11
  292. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray/__PAGE__.segment.rsc +1 -1
  293. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain/xray.segment.rsc +1 -1
  294. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
  295. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  296. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_full.segment.rsc +11 -11
  297. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_head.segment.rsc +1 -1
  298. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_index.segment.rsc +3 -3
  299. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain/xray.segments/_tree.segment.rsc +5 -5
  300. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.html +1 -1
  301. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.rsc +11 -11
  302. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain/__PAGE__.segment.rsc +1 -1
  303. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk/supply-chain.segment.rsc +1 -1
  304. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  305. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_full.segment.rsc +11 -11
  306. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_head.segment.rsc +1 -1
  307. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_index.segment.rsc +3 -3
  308. package/dashboard/.next/standalone/dashboard/.next/server/app/supply-chain.segments/_tree.segment.rsc +5 -5
  309. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.html +2 -2
  310. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.rsc +12 -12
  311. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray/__PAGE__.segment.rsc +2 -2
  312. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk/xray.segment.rsc +1 -1
  313. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/!KGRhc2hib2FyZCk.segment.rsc +7 -7
  314. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_full.segment.rsc +12 -12
  315. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_head.segment.rsc +1 -1
  316. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_index.segment.rsc +3 -3
  317. package/dashboard/.next/standalone/dashboard/.next/server/app/xray.segments/_tree.segment.rsc +5 -5
  318. package/dashboard/.next/standalone/dashboard/.next/server/app-paths-manifest.json +1 -0
  319. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/52d24__next-internal_server_app_(dashboard)_memory_replay_page_actions_b95fee26.js +3 -0
  320. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{9f1d4_@tanstack_68dcbde9._.js → 9f1d4_@tanstack_785e068c._.js} +2 -2
  321. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_25b568c3._.js → 9f1d4_next_c9fe89e1._.js} +2 -2
  322. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{[root-of-the-server]__2de25d56._.js → [root-of-the-server]__60b060b2._.js} +2 -2
  323. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__7f43774d._.js +3 -0
  324. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__801e783f._.js +3 -0
  325. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__8930a320._.js +3 -0
  326. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_11e120e8._.js +3 -0
  327. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_2373e047._.js +3 -0
  328. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_283c47c0._.js +3 -0
  329. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_2e20858e._.js +4 -0
  330. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_45d60d74._.js +3 -0
  331. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_5ca514a1._.js +3 -0
  332. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_5ccb6514._.js +3 -0
  333. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_609078b2._.js +3 -0
  334. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/{dashboard_91003e6d._.js → dashboard_92148040._.js} +2 -2
  335. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_c33b336f._.js +3 -0
  336. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_fac483f8._.js +3 -0
  337. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_replay_page_tsx_d2b20535._.js +3 -0
  338. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_components_protection_ProtectionOverview_tsx_54554a97._.js +1 -1
  339. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_src_d191b6dc._.js +1 -1
  340. package/dashboard/.next/standalone/dashboard/.next/server/middleware-build-manifest.js +2 -2
  341. package/dashboard/.next/standalone/dashboard/.next/server/next-font-manifest.js +1 -1
  342. package/dashboard/.next/standalone/dashboard/.next/server/next-font-manifest.json +46 -42
  343. package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +2 -2
  344. package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
  345. package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.js +1 -1
  346. package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.json +1 -1
  347. package/dashboard/.next/standalone/dashboard/.next/static/chunks/0fa2c109e0d6d832.js +1 -0
  348. package/dashboard/.next/standalone/dashboard/.next/static/chunks/2d55e8cb58d80df0.js +1 -0
  349. package/dashboard/.next/standalone/dashboard/.next/static/chunks/349dace3a1c9af01.js +1 -0
  350. package/dashboard/.next/standalone/dashboard/.next/static/chunks/3505433bf7977a34.js +1 -0
  351. package/dashboard/.next/standalone/dashboard/.next/static/chunks/4d0b86f6afedd8b5.js +3 -0
  352. package/dashboard/.next/standalone/dashboard/.next/static/chunks/a7d5d0791c8c6223.css +2 -0
  353. package/dashboard/.next/standalone/dashboard/.next/static/chunks/b2a6e883eaa58507.js +1 -0
  354. package/dashboard/.next/standalone/dashboard/.next/static/chunks/bcfaf98940462e7d.js +1 -0
  355. package/dashboard/.next/standalone/dashboard/.next/static/chunks/d52895fa7c120f49.css +1 -0
  356. package/dashboard/.next/standalone/dashboard/.next/static/chunks/f70f563804550a9c.js +1 -0
  357. package/dashboard/.next/standalone/dashboard/.next/static/chunks/{turbopack-79214717b23f7452.js → turbopack-768a6a8b9db952e0.js} +2 -2
  358. package/dashboard/.next/standalone/dashboard/.next/static/media/4fa387ec64143e14-s.c36e1862.woff2 +0 -0
  359. package/dashboard/.next/standalone/dashboard/.next/static/media/53b9e256198e5412-s.853d50a3.woff2 +0 -0
  360. package/dashboard/.next/standalone/dashboard/.next/static/media/5ce348bf30bf5439-s.ebceb24d.woff2 +0 -0
  361. package/dashboard/.next/standalone/dashboard/.next/static/media/6306c77e7c8268e4-s.ff4a2084.woff2 +0 -0
  362. package/dashboard/.next/standalone/dashboard/.next/static/media/7178b3e590c64307-s.55554cd0.woff2 +0 -0
  363. package/dashboard/.next/standalone/dashboard/.next/static/media/797e433ab948586e-s.p.479bea2b.woff2 +0 -0
  364. package/dashboard/.next/standalone/dashboard/.next/static/media/7d817b4c03b0c5f1-s.f377b9c4.woff2 +0 -0
  365. package/dashboard/.next/standalone/dashboard/.next/static/media/8a480f0b521d4e75-s.ea323500.woff2 +0 -0
  366. package/dashboard/.next/standalone/dashboard/.next/static/media/bbc41e54d2fcbd21-s.d1207556.woff2 +0 -0
  367. package/dashboard/.next/standalone/dashboard/.next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2 +0 -0
  368. package/dashboard/.next/standalone/dashboard/.next/static/media/fef07dbb0973bf53-s.518e079e.woff2 +0 -0
  369. package/dist/api/routes/sessions.js +128 -6
  370. package/dist/cli/import-jsonl.js +3 -8
  371. package/dist/sessions/glob.d.ts +38 -0
  372. package/dist/sessions/glob.js +183 -0
  373. package/dist/sessions/import-jsonl.d.ts +9 -5
  374. package/dist/sessions/import-jsonl.js +89 -35
  375. package/package.json +1 -1
  376. package/plugins/openclaw/dist/openclaw.plugin.json +1 -1
  377. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__521be65c._.js +0 -3
  378. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__52bd7a9f._.js +0 -3
  379. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__6f881a23._.js +0 -3
  380. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_1c5148b9._.js +0 -3
  381. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_204d1c9e._.js +0 -3
  382. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_415e5b1b._.js +0 -3
  383. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_442a0173._.js +0 -3
  384. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_64f63df9._.js +0 -3
  385. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_7cb6f257._.js +0 -3
  386. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_9b8695d8._.js +0 -3
  387. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_c343baff._.js +0 -3
  388. package/dashboard/.next/standalone/dashboard/.next/static/chunks/2473c16c0c2f6b5f.css +0 -2
  389. package/dashboard/.next/standalone/dashboard/.next/static/chunks/5f18f98891076bc5.js +0 -1
  390. package/dashboard/.next/standalone/dashboard/.next/static/chunks/b053d5f11418d645.js +0 -3
  391. package/dashboard/.next/standalone/dashboard/.next/static/chunks/bf725d638cce46d4.css +0 -1
  392. package/dashboard/.next/standalone/dashboard/.next/static/chunks/d05e311dfccb5729.js +0 -1
  393. package/dashboard/.next/standalone/dashboard/.next/static/chunks/d9ad4c35fc865415.js +0 -1
  394. package/dashboard/.next/standalone/dashboard/.next/static/chunks/e804a1fda2839550.js +0 -1
  395. package/dashboard/.next/standalone/dashboard/.next/static/chunks/e9f4b8da354f1005.js +0 -1
  396. package/dashboard/.next/standalone/dashboard/.next/static/chunks/fe6075d947234b5d.js +0 -1
  397. package/dashboard/.next/standalone/dashboard/.next/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
  398. package/dashboard/.next/standalone/dashboard/.next/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
  399. package/dashboard/.next/standalone/dashboard/.next/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
  400. package/dashboard/.next/standalone/dashboard/.next/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
  401. package/dashboard/.next/standalone/dashboard/.next/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
  402. package/dashboard/.next/standalone/dashboard/.next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
  403. /package/dashboard/.next/standalone/dashboard/.next/static/{9C0MR5ahRDqnfBA64wKCY → rBhx3Fsm2AhFxbr_xAimw}/_buildManifest.js +0 -0
  404. /package/dashboard/.next/standalone/dashboard/.next/static/{9C0MR5ahRDqnfBA64wKCY → rBhx3Fsm2AhFxbr_xAimw}/_clientMiddlewareManifest.json +0 -0
  405. /package/dashboard/.next/standalone/dashboard/.next/static/{9C0MR5ahRDqnfBA64wKCY → rBhx3Fsm2AhFxbr_xAimw}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,27241,e=>{"use strict";let t,a,r,s,c;var i=e.i(27493),l=e.i(16871),n=e.i(4),o=e.i(53615),d=e.i(18509),x=e.i(24929);let m=(0,x.default)("radio-tower",[["path",{d:"M4.9 16.1C1 12.2 1 5.8 4.9 1.9",key:"s0qx1y"}],["path",{d:"M7.8 4.7a6.14 6.14 0 0 0-.8 7.5",key:"1idnkw"}],["circle",{cx:"12",cy:"9",r:"2",key:"1092wv"}],["path",{d:"M16.2 4.8c2 2 2.26 5.11.8 7.47",key:"ojru2q"}],["path",{d:"M19.1 1.9a9.96 9.96 0 0 1 0 14.1",key:"rhi7fg"}],["path",{d:"M9.5 18h5",key:"mfy3pd"}],["path",{d:"m8 22 4-11 4 11",key:"25yftu"}]]);var u=e.i(27528),p=e.i(51069),v=e.i(46194),h=e.i(40950),g=e.i(22534),b=e.i(45688),y=e.i(71921),j=e.i(1235),f=e.i(88969);let N=g.default.env.NEXT_PUBLIC_API_URL||"http://localhost:3001";async function w(){let e=await (0,f.authFetch)(`${N}/api/iron-dome/status`);if(!e.ok)throw Error(await (0,f.readApiError)(e,"Failed to fetch Iron Dome status"));return e.json()}async function k(e){let t=await (0,f.authFetch)(`${N}/api/iron-dome/activate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({profile:e})});if(!t.ok)throw Error(await (0,f.readApiError)(t,"Failed to activate Iron Dome"));return t.json()}async function C(){let e=await (0,f.authFetch)(`${N}/api/iron-dome/deactivate`,{method:"POST"});if(!e.ok)throw Error(await (0,f.readApiError)(e,"Failed to deactivate Iron Dome"));return e.json()}async function _(e){let t=await (0,f.authFetch)(`${N}/api/iron-dome/config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error(await (0,f.readApiError)(t,"Failed to update Iron Dome configuration"));return t.json()}async function S(e){let t=await (0,f.authFetch)(`${N}/api/iron-dome/scan`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:e})});if(!t.ok)throw Error(await (0,f.readApiError)(t,"Failed to scan text"));return t.json()}async function A(){let e=await (0,f.authFetch)(`${N}/api/iron-dome/emergency-stop`,{method:"POST"});if(!e.ok)throw Error(await (0,f.readApiError)(e,"Failed to trigger emergency stop"));return e.json()}async function E(e){let t=await (0,f.authFetch)(`${N}/api/iron-dome/resume`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reason:e||"Resumed via dashboard"})});if(!t.ok)throw Error(await (0,f.readApiError)(t,"Failed to resume operations"));return t.json()}async function L(){let e=await (0,f.authFetch)(`${N}/api/control/status`);if(!e.ok)throw Error(await (0,f.readApiError)(e,"Failed to fetch control status"));return e.json()}async function P(e){let t=new URLSearchParams;e&&t.set("limit",e.toString());let a=await (0,f.authFetch)(`${N}/api/iron-dome/audit?${t}`);if(!a.ok)throw Error(await (0,f.readApiError)(a,"Failed to fetch Iron Dome audit"));return a.json()}function $(){return(0,b.useQuery)({queryKey:["iron-dome-status"],queryFn:w,refetchInterval:3e4,retry:2})}var z=e.i(87353);let F=g.default.env.NEXT_PUBLIC_API_URL||"http://localhost:3001";async function T(e){let t=new URLSearchParams;e?.limit&&t.set("limit",String(e.limit)),e?.severity&&t.set("severity",e.severity),e?.outcome&&t.set("outcome",e.outcome),e?.tool&&t.set("tool",e.tool);let a=await (0,f.authFetch)(`${F}/api/v1/intercepts?${t}`);if(!a.ok)throw Error(await (0,f.readApiError)(a,"Failed to fetch interceptor events"));return a.json()}function I(e){return(0,b.useQuery)({queryKey:["interceptor-events",e],queryFn:()=>T(e),refetchInterval:3e4,retry:2})}var M=e.i(84982);let q=(0,x.default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);var O=e.i(15771),D=e.i(77715),R=e.i(66949),Q=e.i(71259);let K=(0,x.default)("radio",[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]),U=(0,x.default)("shield-off",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71",key:"1jlk70"}],["path",{d:"M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264",key:"18rp1v"}]]),B=(0,x.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"}]]),V=(0,x.default)("scan",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}]]),H=(0,x.default)("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),W=(0,x.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]),J=(0,x.default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);var G=e.i(77744),X=e.i(19711);let Z=g.default.env.NEXT_PUBLIC_API_URL||"http://localhost:3001",Y=[{id:1,name:"Block API key patterns",priority:1,condition_type:"regex",condition_value:"sk-[a-zA-Z0-9]{32,}",action:"block",enabled:!0},{id:2,name:"Quarantine code injection",priority:2,condition_type:"regex",condition_value:"eval\\(|Function\\(",action:"quarantine",enabled:!0},{id:3,name:"Allow internal docs",priority:10,condition_type:"source",condition_value:"agent:docs-helper",action:"allow",enabled:!1}],ee=[{id:1,name:"Internal tool abuse",category:"tool_misuse",severity:"high",regex:"execute_tool\\(.*?delete|drop|truncate",description:"Detects attempts to use internal tools for destructive operations.",enabled:!0},{id:2,name:"PII exfiltration",category:"data_leak",severity:"critical",regex:"(SSN|social.security|\\d{3}-\\d{2}-\\d{4})",description:"Catches social security number patterns in agent memory writes.",enabled:!0},{id:3,name:"Prompt override attempt",category:"injection",severity:"medium",regex:"ignore.*(previous|above|prior).*instructions",description:"Detects common prompt injection override phrases.",enabled:!0}],et=[{id:1,name:"Strict Healthcare",description:"Blocks all PII patterns, requires approval for external actions, whitelists only HIPAA-compliant channels.",is_active:!0},{id:2,name:"Dev Sandbox",description:"Permissive mode for development. Allows all channels, logs but does not block. Ideal for testing.",is_active:!1}];function ea(){let e,t,a,{data:r,isLoading:s,isLocked:c}={...e=(0,b.useQuery)({queryKey:["custom-patterns"],queryFn:()=>(0,f.gatedFetch)(`${Z}/api/patterns`).then(e=>{if(!e.ok)throw Error("Failed to fetch custom patterns");return e.json()}),retry:(e,t)=>!(t instanceof f.FeatureLockedError)&&e<2,refetchInterval:3e4}),isLocked:e.error instanceof f.FeatureLockedError},l=(t=(0,j.useQueryClient)(),(0,y.useMutation)({mutationFn:e=>(0,f.gatedFetch)(`${Z}/api/patterns`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(e=>e.ok?e.json():e.json().then(e=>{throw Error(e.error)})),onSuccess:()=>{t.invalidateQueries({queryKey:["custom-patterns"]})}})),o=(a=(0,j.useQueryClient)(),(0,y.useMutation)({mutationFn:e=>(0,f.gatedFetch)(`${Z}/api/patterns/${e}`,{method:"DELETE"}).then(e=>e.ok?e.json():e.json().then(e=>{throw Error(e.error)})),onSuccess:()=>{a.invalidateQueries({queryKey:["custom-patterns"]})}})),d=(0,y.useMutation)({mutationFn:({id:e,text:t})=>(0,f.gatedFetch)(`${Z}/api/patterns/${e}/test`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:t})}).then(e=>e.ok?e.json():e.json().then(e=>{throw Error(e.error)}))}),[x,m]=(0,n.useState)(!1),[u,p]=(0,n.useState)(null),[v,h]=(0,n.useState)({name:"",category:"custom",severity:"medium",regex:"",description:""}),g=r?.patterns??[],N=!0,w="";if(v.regex)try{new RegExp(v.regex)}catch(e){N=!1,w=e.message}return c?(0,i.jsx)(er,{}):(0,i.jsxs)("div",{className:"space-y-3",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)(q,{size:16,className:"text-[var(--sc-coral)]"}),(0,i.jsx)("h3",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:"Custom Injection Patterns"}),(0,i.jsxs)("span",{className:"text-xs text-[var(--sc-text-muted)]",children:[g.length,"/50"]})]}),(0,i.jsxs)("button",{onClick:()=>m(!x),className:"flex items-center gap-1 px-2 py-1 text-xs bg-[var(--sc-coral)]/20 text-[var(--sc-coral)] rounded hover:bg-[var(--sc-coral)]/30 transition-colors",children:[(0,i.jsx)(J,{size:12})," Add Pattern"]})]}),x&&(0,i.jsxs)("form",{onSubmit:e=>{e.preventDefault(),l.mutate(v,{onSuccess:()=>{m(!1),h({name:"",category:"custom",severity:"medium",regex:"",description:""})}})},className:"p-3 bg-[var(--sc-bg-elevated)] rounded-lg space-y-2",children:[(0,i.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,i.jsx)("input",{value:v.name,onChange:e=>h(t=>({...t,name:e.target.value})),placeholder:"Pattern name",required:!0,className:"px-2 py-1.5 text-xs bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)]"}),(0,i.jsxs)("select",{value:v.severity,onChange:e=>h(t=>({...t,severity:e.target.value})),className:"px-2 py-1.5 text-xs bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded text-[var(--sc-text-primary)]",children:[(0,i.jsx)("option",{value:"critical",children:"Critical"}),(0,i.jsx)("option",{value:"high",children:"High"}),(0,i.jsx)("option",{value:"medium",children:"Medium"}),(0,i.jsx)("option",{value:"low",children:"Low"})]})]}),(0,i.jsxs)("div",{className:"relative",children:[(0,i.jsx)("input",{value:v.regex,onChange:e=>h(t=>({...t,regex:e.target.value})),placeholder:"Regex pattern",required:!0,className:`w-full px-2 py-1.5 text-xs bg-[var(--sc-bg-surface)] border rounded text-[var(--sc-text-primary)] font-mono placeholder:text-[var(--sc-text-muted)] ${N?"border-[var(--sc-border)]":"border-[var(--sc-coral)]"}`}),!N&&(0,i.jsx)("p",{className:"text-[10px] text-[var(--sc-coral)] mt-0.5",children:w})]}),(0,i.jsx)("input",{value:v.description,onChange:e=>h(t=>({...t,description:e.target.value})),placeholder:"Description (optional)",className:"w-full px-2 py-1.5 text-xs bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)]"}),(0,i.jsxs)("div",{className:"flex gap-2",children:[(0,i.jsx)("button",{type:"submit",disabled:l.isPending||!N,className:"px-3 py-1 text-xs bg-[var(--sc-coral)] text-[var(--sc-text-primary)] rounded hover:bg-[var(--sc-coral)] disabled:opacity-50",children:l.isPending?"Creating...":"Create"}),(0,i.jsx)("button",{type:"button",onClick:()=>m(!1),className:"px-3 py-1 text-xs text-[var(--sc-text-secondary)] hover:text-[var(--sc-text-primary)]",children:"Cancel"})]}),l.error&&(0,i.jsx)("p",{className:"text-xs text-[var(--sc-coral)]",children:l.error.message})]}),s?(0,i.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)] py-4 text-center",children:"Loading patterns..."}):0===g.length?(0,i.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)] py-4 text-center",children:'No custom patterns yet. Click "Add Pattern" to create one.'}):(0,i.jsx)("div",{className:"space-y-1",children:g.map(e=>(0,i.jsxs)("div",{className:"px-3 py-2 bg-[var(--sc-bg-elevated)] rounded text-xs space-y-1",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)("span",{className:"text-[var(--sc-text-primary)] flex-1 font-medium",children:e.name}),(0,i.jsx)("span",{className:`px-1.5 py-0.5 rounded text-[10px] font-medium ${"critical"===e.severity||"high"===e.severity?"bg-[var(--sc-coral)]/20 text-[var(--sc-coral)]":"medium"===e.severity?"bg-[var(--sc-amber)]/20 text-[var(--sc-amber)]":"bg-[var(--sc-bg-elevated)]/20 text-[var(--sc-text-secondary)]"}`,children:e.severity}),(0,i.jsx)("button",{onClick:()=>p(u?.id===e.id?null:{id:e.id,text:""}),className:"text-[var(--sc-text-muted)] hover:text-[var(--sc-cyan)]",title:"Test pattern",children:(0,i.jsx)(W,{size:12})}),(0,i.jsx)("button",{onClick:()=>o.mutate(e.id),className:"text-[var(--sc-text-muted)] hover:text-[var(--sc-coral)]",children:(0,i.jsx)(G.Trash2,{size:12})})]}),(0,i.jsx)("code",{className:"text-[var(--sc-text-muted)] text-[10px] block truncate",children:e.regex}),u?.id===e.id&&(0,i.jsxs)("div",{className:"flex gap-2 mt-1",children:[(0,i.jsx)("input",{value:u.text,onChange:t=>p({id:e.id,text:t.target.value}),placeholder:"Test text...",className:"flex-1 px-2 py-1 text-[10px] bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)]"}),(0,i.jsx)("button",{onClick:()=>d.mutate({id:e.id,text:u.text}),disabled:!u.text,className:"px-2 py-1 text-[10px] bg-[var(--sc-cyan)]/20 text-[var(--sc-cyan)] rounded hover:bg-[var(--sc-cyan)]/30 disabled:opacity-50",children:"Test"}),d.data&&(0,i.jsxs)("span",{className:"text-[10px] text-[var(--sc-text-secondary)] self-center",children:[d.data.count," matches"]})]})]},e.id))})]})}function er(){return(0,i.jsxs)("div",{className:"space-y-3",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)(q,{size:16,className:"text-[var(--sc-coral)]"}),(0,i.jsx)("h3",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:"Custom Injection Patterns"}),(0,i.jsx)("span",{className:"text-xs text-[var(--sc-text-muted)]",children:"0/50"})]}),(0,i.jsx)("div",{className:"space-y-1",children:ee.map(e=>(0,i.jsxs)("div",{className:"px-3 py-2 bg-[var(--sc-bg-elevated)] rounded text-xs space-y-1",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)("span",{className:"text-[var(--sc-text-primary)] flex-1 font-medium",children:e.name}),(0,i.jsx)("span",{className:`px-1.5 py-0.5 rounded text-[10px] font-medium ${"critical"===e.severity||"high"===e.severity?"bg-[var(--sc-coral)]/20 text-[var(--sc-coral)]":"bg-[var(--sc-amber)]/20 text-[var(--sc-amber)]"}`,children:e.severity})]}),(0,i.jsx)("code",{className:"text-[var(--sc-text-muted)] text-[10px] block truncate",children:e.regex})]},e.id))})]})}function es(){return(0,i.jsx)("div",{className:"bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded-xl p-4",children:(0,i.jsx)(X.ProFeatureGate,{feature:"custom_injection_patterns",label:"Define up to 50 custom regex patterns for detecting domain-specific threats.",children:(0,i.jsx)(ea,{})})})}var ec=e.i(16511);let ei=g.default.env.NEXT_PUBLIC_API_URL||"http://localhost:3001";function el(){let e,t,a,r,{data:s,isLoading:c,isLocked:l}={...e=(0,b.useQuery)({queryKey:["custom-policies"],queryFn:()=>(0,f.gatedFetch)(`${ei}/api/iron-dome/policies`).then(e=>{if(!e.ok)throw Error("Failed to fetch custom policies");return e.json()}),retry:(e,t)=>!(t instanceof f.FeatureLockedError)&&e<2,refetchInterval:3e4}),isLocked:e.error instanceof f.FeatureLockedError},o=(t=(0,j.useQueryClient)(),(0,y.useMutation)({mutationFn:e=>(0,f.gatedFetch)(`${ei}/api/iron-dome/policies`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(e=>e.ok?e.json():e.json().then(e=>{throw Error(e.error)})),onSuccess:()=>{t.invalidateQueries({queryKey:["custom-policies"]})}})),d=(a=(0,j.useQueryClient)(),(0,y.useMutation)({mutationFn:e=>(0,f.gatedFetch)(`${ei}/api/iron-dome/policies/${e}`,{method:"DELETE"}).then(e=>e.ok?e.json():e.json().then(e=>{throw Error(e.error)})),onSuccess:()=>{a.invalidateQueries({queryKey:["custom-policies"]})}})),x=(r=(0,j.useQueryClient)(),(0,y.useMutation)({mutationFn:e=>(0,f.gatedFetch)(`${ei}/api/iron-dome/policies/${e}/activate`,{method:"PUT"}).then(e=>e.ok?e.json():e.json().then(e=>{throw Error(e.error)})),onSuccess:()=>{r.invalidateQueries({queryKey:["custom-policies"]})}})),[m,p]=(0,n.useState)(!1),[v,h]=(0,n.useState)({name:"",description:""}),g=s?.policies??[];return l?(0,i.jsx)(en,{}):(0,i.jsxs)("div",{className:"space-y-3",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)(u.Shield,{size:16,className:"text-[var(--sc-coral)]"}),(0,i.jsx)("h3",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:"Custom Iron Dome Policies"}),(0,i.jsxs)("span",{className:"text-xs text-[var(--sc-text-muted)]",children:[g.length,"/10"]})]}),(0,i.jsxs)("button",{onClick:()=>p(!m),className:"flex items-center gap-1 px-2 py-1 text-xs bg-[var(--sc-coral)]/20 text-[var(--sc-coral)] rounded hover:bg-[var(--sc-coral)]/30 transition-colors",children:[(0,i.jsx)(J,{size:12})," Create Policy"]})]}),m&&(0,i.jsxs)("form",{onSubmit:e=>{e.preventDefault(),o.mutate({name:v.name,description:v.description,config:{}},{onSuccess:()=>{p(!1),h({name:"",description:""})}})},className:"p-3 bg-[var(--sc-bg-elevated)]/50 rounded-lg space-y-2",children:[(0,i.jsx)("input",{value:v.name,onChange:e=>h(t=>({...t,name:e.target.value})),placeholder:"Policy name",required:!0,className:"w-full px-2 py-1.5 text-xs bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)]"}),(0,i.jsx)("textarea",{value:v.description,onChange:e=>h(t=>({...t,description:e.target.value})),placeholder:"Description",rows:2,className:"w-full px-2 py-1.5 text-xs bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)] resize-none"}),(0,i.jsxs)("div",{className:"flex gap-2",children:[(0,i.jsx)("button",{type:"submit",disabled:o.isPending,className:"px-3 py-1 text-xs bg-[var(--sc-coral)] text-[var(--sc-text-primary)] rounded hover:bg-[var(--sc-coral)] disabled:opacity-50",children:o.isPending?"Creating...":"Create"}),(0,i.jsx)("button",{type:"button",onClick:()=>p(!1),className:"px-3 py-1 text-xs text-[var(--sc-text-secondary)] hover:text-[var(--sc-text-primary)]",children:"Cancel"})]}),o.error&&(0,i.jsx)("p",{className:"text-xs text-[var(--sc-coral)]",children:o.error.message})]}),c?(0,i.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)] py-4 text-center",children:"Loading policies..."}):0===g.length?(0,i.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)] py-4 text-center",children:'No custom policies yet. Click "Create Policy" to get started.'}):(0,i.jsx)("div",{className:"space-y-1",children:g.map(e=>(0,i.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2 bg-[var(--sc-bg-elevated)]/30 rounded text-xs",children:[(0,i.jsxs)("div",{className:"flex-1",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)("span",{className:"text-[var(--sc-text-primary)] font-medium",children:e.name}),1===e.is_active&&(0,i.jsx)("span",{className:"px-1.5 py-0.5 rounded bg-[var(--sc-cyan)]/20 text-[var(--sc-cyan)] text-[10px] font-medium",children:"Active"})]}),e.description&&(0,i.jsx)("p",{className:"text-[var(--sc-text-muted)] text-[10px] mt-0.5",children:e.description})]}),!e.is_active&&(0,i.jsxs)("button",{onClick:()=>x.mutate(e.id),className:"flex items-center gap-1 px-2 py-1 text-[10px] bg-[var(--sc-cyan)]/20 text-[var(--sc-cyan)] rounded hover:bg-[var(--sc-cyan)]/30",title:"Set active",children:[(0,i.jsx)(ec.Check,{size:10})," Activate"]}),(0,i.jsx)("button",{onClick:()=>d.mutate(e.id),className:"text-[var(--sc-text-muted)] hover:text-[var(--sc-coral)]",children:(0,i.jsx)(G.Trash2,{size:12})})]},e.id))})]})}function en(){return(0,i.jsxs)("div",{className:"space-y-3",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)(u.Shield,{size:16,className:"text-[var(--sc-coral)]"}),(0,i.jsx)("h3",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:"Custom Iron Dome Policies"}),(0,i.jsx)("span",{className:"text-xs text-[var(--sc-text-muted)]",children:"0/10"})]}),(0,i.jsx)("div",{className:"space-y-1",children:et.map(e=>(0,i.jsx)("div",{className:"flex items-center gap-3 px-3 py-2 bg-[var(--sc-bg-elevated)]/30 rounded text-xs",children:(0,i.jsxs)("div",{className:"flex-1",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)("span",{className:"text-[var(--sc-text-primary)] font-medium",children:e.name}),e.is_active&&(0,i.jsx)("span",{className:"px-1.5 py-0.5 rounded bg-[var(--sc-cyan)]/20 text-[var(--sc-cyan)] text-[10px] font-medium",children:"Active"})]}),(0,i.jsx)("p",{className:"text-[var(--sc-text-muted)] text-[10px] mt-0.5",children:e.description})]})},e.id))})]})}function eo(){return(0,i.jsx)("div",{className:"bg-[var(--sc-bg-surface)]/50 border border-[var(--sc-border)] rounded-xl p-4",children:(0,i.jsx)(X.ProFeatureGate,{feature:"custom_iron_dome_policies",label:"Create custom Iron Dome policies with tailored action gates and trust levels.",children:(0,i.jsx)(el,{})})})}let ed=[{id:"personal",label:"Personal",description:"Lighter touch for solo use",icon:u.Shield},{id:"enterprise",label:"Enterprise",description:"Financial & data protection",icon:R.Lock},{id:"school",label:"School",description:"GDPR strict, pupil data guarded",icon:B},{id:"paranoid",label:"Paranoid",description:"Everything requires approval",icon:d.AlertTriangle}],ex=[{name:"Injection Scanner",description:"40+ patterns across 8 categories",icon:V},{name:"Instruction Gateway",description:"Trusted channel validation",icon:K},{name:"Action Gate",description:"Approve / block external actions",icon:R.Lock},{name:"PII Guard",description:"Block sensitive data output",icon:Q.Eye},{name:"Kill Switch",description:"Emergency stop phrase",icon:U},{name:"Sub-Agent Control",description:"Restrict spawned agent operations",icon:B}],em={critical:"bg-[var(--sc-coral)]/20 text-[var(--sc-coral)] border-[var(--sc-coral)]/30",high:"bg-[var(--sc-coral)]/20 text-[var(--sc-coral)] border-[var(--sc-coral)]/30",medium:"bg-[var(--sc-amber)]/20 text-[var(--sc-amber)] border-[var(--sc-amber)]/30",low:"bg-[var(--sc-bg-elevated)]/20 text-[var(--sc-text-secondary)] border-[var(--sc-border)]/30"},eu={CRITICAL:"bg-[var(--sc-coral)]/20 text-[var(--sc-coral)]",HIGH:"bg-[var(--sc-coral)]/20 text-[var(--sc-coral)]",MEDIUM:"bg-[var(--sc-amber)]/20 text-[var(--sc-amber)]",LOW:"bg-[var(--sc-bg-elevated)]/20 text-[var(--sc-text-secondary)]",NONE:"bg-[var(--sc-cyan)]/20 text-[var(--sc-cyan)]"};function ep(){let e,t,a,r,s,{data:c,isLoading:l}=$(),{data:o}=(0,b.useQuery)({queryKey:["iron-dome-audit",50],queryFn:()=>P(50),refetchInterval:3e4,retry:2}),d=(e=(0,j.useQueryClient)(),(0,y.useMutation)({mutationFn:e=>k(e),onSuccess:()=>{e.invalidateQueries({queryKey:["iron-dome-status"]}),e.invalidateQueries({queryKey:["iron-dome-audit"]})}})),x=(t=(0,j.useQueryClient)(),(0,y.useMutation)({mutationFn:C,onSuccess:()=>{t.invalidateQueries({queryKey:["iron-dome-status"]})}})),m=(a=(0,j.useQueryClient)(),(0,y.useMutation)({mutationFn:e=>_(e),onSuccess:()=>{a.invalidateQueries({queryKey:["iron-dome-status"]}),a.invalidateQueries({queryKey:["iron-dome-audit"]})}})),p=(0,y.useMutation)({mutationFn:S}),v=(r=(0,j.useQueryClient)(),(0,y.useMutation)({mutationFn:A,onSuccess:()=>{r.invalidateQueries({queryKey:["iron-dome-status"]}),r.invalidateQueries({queryKey:["iron-dome-audit"]}),r.invalidateQueries({queryKey:["control-status"]})}})),h=(s=(0,j.useQueryClient)(),(0,y.useMutation)({mutationFn:e=>E(e),onSuccess:()=>{s.invalidateQueries({queryKey:["control-status"]}),s.invalidateQueries({queryKey:["iron-dome-status"]}),s.invalidateQueries({queryKey:["iron-dome-audit"]})}})),{data:g}=(0,b.useQuery)({queryKey:["control-status"],queryFn:L,refetchInterval:5e3,retry:2}),[f,N]=(0,n.useState)(""),[w,z]=(0,n.useState)(null),[F,T]=(0,n.useState)(""),I=c?.enabled??!1,R=g?.killSwitchActive??!1,Q=g?.killSwitchMeta??null,K=c?.profile,B=c?.config,J=B?.killPhrase??"",[G,X]=(0,n.useState)(J),[Z,Y]=(0,n.useState)(J);J!==Z&&(Y(J),X(J));let ee=o?.logs??[],et=ee.filter(e=>"BLOCK"===e.firewall_result).length,ea=ee.filter(e=>"ALLOW"===e.firewall_result).length,er=!!B&&G.trim()!==(B?.killPhrase??"");return(0,i.jsxs)("div",{className:"space-y-6",children:[(0,i.jsxs)("div",{className:"flex items-center gap-3",children:[l?(0,i.jsx)("span",{className:"text-[10px] text-[var(--sc-text-muted)] animate-pulse",children:"Loading..."}):(0,i.jsx)("span",{className:`text-[10px] font-medium px-2 py-0.5 rounded-full ${I?"bg-[var(--sc-coral)]/20 text-[var(--sc-coral)] border border-[var(--sc-coral)]/30":"bg-[var(--sc-bg-elevated)]/50 text-[var(--sc-text-muted)]"}`,children:I?"ACTIVE":"INACTIVE"}),I&&(0,i.jsxs)("button",{onClick:()=>{x.mutate()},disabled:x.isPending,className:"flex items-center gap-1.5 px-3 py-1.5 bg-[var(--sc-coral)]/10 border border-[var(--sc-coral)]/30 hover:bg-[var(--sc-coral)]/20 disabled:opacity-50 rounded-lg text-xs font-medium text-[var(--sc-coral)] transition-colors",children:[x.isPending?(0,i.jsx)(M.Loader2,{size:12,className:"animate-spin"}):(0,i.jsx)(U,{size:12}),"Deactivate"]})]}),(0,i.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,i.jsxs)("div",{className:"glass-card p-6",children:[(0,i.jsx)("h3",{className:"text-sm font-medium text-[var(--sc-text-primary)] mb-3",children:"Security Profiles"}),(0,i.jsx)("div",{className:"grid grid-cols-2 gap-2",children:ed.map(({id:e,label:t,description:a,icon:r})=>(0,i.jsxs)("button",{onClick:()=>{d.mutate(e)},disabled:d.isPending,className:`text-left p-3 rounded-lg border transition-colors ${K===e?"border-[var(--sc-coral)]/50 bg-[var(--sc-coral)]/10 text-[var(--sc-coral)]":"border-[var(--sc-border)] bg-[var(--sc-bg-elevated)]/50 text-[var(--sc-text-secondary)] hover:border-[var(--sc-text-muted)]"}`,children:[(0,i.jsxs)("div",{className:"flex items-center gap-1.5 mb-1",children:[(0,i.jsx)(r,{size:12}),(0,i.jsx)("span",{className:"text-xs font-medium",children:t})]}),(0,i.jsx)("div",{className:"text-[10px] text-[var(--sc-text-muted)]",children:a})]},e))})]}),(0,i.jsxs)("div",{className:"glass-card p-6",children:[(0,i.jsx)("h3",{className:"text-sm font-medium text-[var(--sc-text-primary)] mb-3",children:"Module Status"}),(0,i.jsx)("div",{className:"space-y-2",children:ex.map(({name:e,description:t,icon:a})=>(0,i.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2 rounded-lg bg-[var(--sc-bg-elevated)]/50",children:[(0,i.jsx)(a,{size:14,className:I?"text-[var(--sc-coral)]":"text-[var(--sc-text-muted)]"}),(0,i.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,i.jsx)("div",{className:"text-xs font-medium text-[var(--sc-text-primary)]",children:e}),(0,i.jsx)("div",{className:"text-[10px] text-[var(--sc-text-muted)] truncate",children:t})]}),(0,i.jsx)("span",{className:`w-2 h-2 rounded-full ${I?"bg-[var(--sc-coral)]":"bg-[var(--sc-text-muted)]"}`})]},e))})]})]}),B&&(0,i.jsxs)("div",{className:"glass-card p-6",children:[(0,i.jsx)("h3",{className:"text-sm font-medium text-[var(--sc-text-primary)] mb-3",children:"Active Configuration"}),(0,i.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 text-xs",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"text-[10px] text-[var(--sc-text-muted)] uppercase mb-1",children:"Trusted Channels"}),(0,i.jsx)("div",{className:"flex flex-wrap gap-1",children:B.trustedChannels.map(e=>(0,i.jsx)("span",{className:"px-1.5 py-0.5 bg-[var(--sc-bg-elevated)] rounded text-[var(--sc-text-secondary)]",children:e},e))})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"text-[10px] text-[var(--sc-text-muted)] uppercase mb-1",children:"Requires Approval"}),(0,i.jsx)("div",{className:"flex flex-wrap gap-1",children:B.requireApproval.map(e=>(0,i.jsx)("span",{className:"px-1.5 py-0.5 bg-[var(--sc-coral)]/10 border border-[var(--sc-coral)]/20 rounded text-[var(--sc-coral)]",children:e},e))})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"text-[10px] text-[var(--sc-text-muted)] uppercase mb-1",children:"Kill Phrase"}),(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsx)("input",{type:"text",value:G,onChange:e=>X(e.target.value),placeholder:"Set emergency stop phrase",className:"w-full bg-[var(--sc-bg-elevated)] border border-[var(--sc-border)] rounded-lg px-3 py-2 text-xs text-[var(--sc-text-primary)] font-mono placeholder:text-[var(--sc-text-muted)] focus:outline-none focus:ring-1 focus:ring-[var(--sc-coral)]"}),(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)("button",{onClick:()=>m.mutate({killPhrase:G.trim()}),disabled:m.isPending||!G.trim()||!er,className:"px-3 py-1.5 rounded-lg bg-[var(--sc-coral)] hover:bg-[var(--sc-coral)]/80 disabled:opacity-50 text-[11px] font-medium text-[var(--sc-text-primary)] transition-colors",children:m.isPending?"Saving...":"Save phrase"}),(0,i.jsx)("span",{className:"text-[10px] text-[var(--sc-text-muted)]",children:I?"Say this in a conversation to trigger lockdown.":"This will apply the next time Iron Dome is active."})]})]})]})]})]}),R?(0,i.jsxs)("div",{className:"glass-card-strong p-6 border-2 !border-[var(--sc-coral)]/50 animate-pulse-slow",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,i.jsx)(H,{size:18,className:"text-[var(--sc-coral)]"}),(0,i.jsx)("h3",{className:"text-sm font-bold text-[var(--sc-coral)] uppercase tracking-wide",children:"Kill Switch Active"}),(0,i.jsx)("span",{className:"ml-auto text-[10px] bg-[var(--sc-coral)]/20 text-[var(--sc-coral)] px-2 py-0.5 rounded-full border border-[var(--sc-coral)]/30",children:"LOCKDOWN"})]}),(0,i.jsx)("p",{className:"text-xs text-[var(--sc-coral)]/80 mb-2",children:"All agent operations are blocked. No memory reads, writes, graph queries, or consolidation. Iron Dome remains active and continues protecting."}),Q&&(0,i.jsxs)("div",{className:"bg-[var(--sc-coral)]/10 border border-[var(--sc-coral)]/20 rounded-lg p-3 mb-4 space-y-1",children:[(0,i.jsxs)("div",{className:"text-[10px] text-[var(--sc-text-muted)]",children:[(0,i.jsx)("span",{className:"text-[var(--sc-coral)] font-medium",children:"Triggered:"})," ",new Date(Q.triggeredAt).toLocaleString()]}),(0,i.jsxs)("div",{className:"text-[10px] text-[var(--sc-text-muted)]",children:[(0,i.jsx)("span",{className:"text-[var(--sc-coral)] font-medium",children:"Source:"})," ","kill_phrase"===Q.source?`Kill phrase "${Q.phrase}"`:"manual"===Q.source?"Manual (dashboard)":"mcp_tool"===Q.source?"MCP tool":Q.source]}),void 0!==Q.memoryCountAtTrigger&&(0,i.jsxs)("div",{className:"text-[10px] text-[var(--sc-text-muted)]",children:[(0,i.jsx)("span",{className:"text-[var(--sc-coral)] font-medium",children:"Memories at trigger:"})," ",Q.memoryCountAtTrigger]})]}),(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsx)("input",{type:"text",value:F,onChange:e=>T(e.target.value),placeholder:"Reason for resuming (required)...",className:"w-full bg-[var(--sc-bg-elevated)] border border-[var(--sc-border)] rounded-lg px-3 py-2 text-xs text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)] focus:outline-none focus:ring-1 focus:ring-green-500"}),(0,i.jsxs)("div",{className:"flex items-center gap-3",children:[(0,i.jsxs)("button",{onClick:()=>{F.trim()&&(h.mutate(F.trim()),T(""))},disabled:h.isPending||!F.trim(),className:"flex items-center gap-1.5 px-4 py-2 bg-[var(--sc-cyan)] hover:bg-[var(--sc-cyan-mid)] disabled:opacity-50 rounded-lg text-xs font-medium text-[var(--sc-text-primary)] transition-colors",children:[h.isPending?(0,i.jsx)(M.Loader2,{size:12,className:"animate-spin"}):(0,i.jsx)(W,{size:12}),"Resume Agent"]}),(0,i.jsx)("span",{className:"text-[10px] text-[var(--sc-text-muted)]",children:"Only resume after you've investigated the threat"})]})]})]}):(0,i.jsxs)("div",{className:"glass-card p-6 !border-[var(--sc-coral)]/30",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,i.jsx)(H,{size:14,className:"text-[var(--sc-coral)]"}),(0,i.jsx)("h3",{className:"text-sm font-medium text-[var(--sc-coral)]",children:"Emergency Stop"})]}),(0,i.jsx)("p",{className:"text-xs text-[var(--sc-text-secondary)] mb-3",children:"Immediately halts your agent when you suspect it has been compromised or is acting on poisoned data. Blocks ALL operations — no reads, writes, or modifications. Iron Dome stays active."}),B?.killPhrase&&(0,i.jsxs)("p",{className:"text-[10px] text-[var(--sc-text-muted)] mb-3",children:["Kill phrase: ",(0,i.jsxs)("span",{className:"font-mono text-[var(--sc-text-secondary)]",children:['"',B.killPhrase,'"']})," — say this in conversation for hands-free stop"]}),(0,i.jsxs)("button",{onClick:()=>v.mutate(),disabled:v.isPending,className:"flex items-center gap-1.5 px-4 py-2 bg-[var(--sc-coral)] hover:bg-[var(--sc-coral)]/80 disabled:opacity-50 rounded-lg text-xs font-bold text-[var(--sc-text-primary)] uppercase tracking-wider transition-colors",children:[v.isPending?(0,i.jsx)(M.Loader2,{size:12,className:"animate-spin"}):(0,i.jsx)(H,{size:14}),"Emergency Stop"]})]}),(0,i.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,i.jsxs)("div",{className:"glass-card p-6",children:[(0,i.jsxs)("h3",{className:"text-sm font-medium text-[var(--sc-text-primary)] mb-3",children:[(0,i.jsx)(V,{size:14,className:"inline mr-1.5 text-[var(--sc-coral)]"}),"Injection Scanner"]}),(0,i.jsx)("textarea",{value:f,onChange:e=>N(e.target.value),placeholder:"Paste suspicious text to scan for injection patterns...",className:"w-full h-28 bg-[var(--sc-bg-elevated)] border border-[var(--sc-border)] rounded-lg p-3 text-sm text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)] resize-none focus:outline-none focus:ring-1 focus:ring-[var(--sc-coral)] focus:border-[var(--sc-coral)]"}),(0,i.jsxs)("button",{onClick:()=>{f.trim()&&p.mutate(f,{onSuccess:e=>z(e)})},disabled:p.isPending||!f.trim(),className:"mt-2 flex items-center gap-1.5 px-3 py-1.5 bg-[var(--sc-coral)] hover:bg-[var(--sc-coral)]/80 disabled:opacity-50 rounded-lg text-xs font-medium text-[var(--sc-text-primary)] transition-colors",children:[p.isPending?(0,i.jsx)(M.Loader2,{size:12,className:"animate-spin"}):(0,i.jsx)(q,{size:12}),"Scan"]}),w&&(0,i.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[w.clean?(0,i.jsx)(O.CheckCircle2,{size:14,className:"text-[var(--sc-cyan)]"}):(0,i.jsx)(D.XCircle,{size:14,className:"text-[var(--sc-coral)]"}),(0,i.jsx)("span",{className:`text-[10px] font-medium px-2 py-0.5 rounded-full ${eu[w.riskLevel]??"bg-[var(--sc-bg-elevated)]/20 text-[var(--sc-text-secondary)]"}`,children:w.riskLevel}),(0,i.jsx)("span",{className:"text-xs text-[var(--sc-text-secondary)]",children:w.summary})]}),w.detections.map((e,t)=>(0,i.jsxs)("div",{className:`border rounded-lg p-3 ${em[e.severity]??"border-[var(--sc-border)]"}`,children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,i.jsx)("span",{className:"text-[10px] font-medium uppercase",children:e.severity}),(0,i.jsx)("span",{className:"text-xs text-[var(--sc-text-primary)]",children:e.category.replace(/_/g," ")})]}),(0,i.jsx)("p",{className:"text-[11px] text-[var(--sc-text-secondary)] mb-1",children:e.description}),(0,i.jsx)("code",{className:"text-[10px] text-[var(--sc-text-muted)] bg-[var(--sc-bg-elevated)] px-1.5 py-0.5 rounded block truncate",children:e.match})]},t))]})]}),(0,i.jsxs)("div",{className:"glass-card p-6",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,i.jsx)("h3",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:"Event Feed"}),(0,i.jsxs)("span",{className:"text-[10px] text-[var(--sc-text-muted)]",children:["Last ",ee.length," events"]})]}),(0,i.jsxs)("div",{className:"grid grid-cols-3 gap-2 mb-3",children:[(0,i.jsxs)("div",{className:"bg-[var(--sc-bg-elevated)]/50 rounded-lg p-2 text-center",children:[(0,i.jsx)("div",{className:"text-sm font-bold text-[var(--sc-text-primary)]",children:ee.length}),(0,i.jsx)("div",{className:"text-[10px] text-[var(--sc-text-muted)]",children:"Total"})]}),(0,i.jsxs)("div",{className:"bg-[var(--sc-bg-elevated)]/50 rounded-lg p-2 text-center",children:[(0,i.jsx)("div",{className:"text-sm font-bold text-[var(--sc-coral)]",children:et}),(0,i.jsx)("div",{className:"text-[10px] text-[var(--sc-text-muted)]",children:"Blocked"})]}),(0,i.jsxs)("div",{className:"bg-[var(--sc-bg-elevated)]/50 rounded-lg p-2 text-center",children:[(0,i.jsx)("div",{className:"text-sm font-bold text-[var(--sc-cyan)]",children:ea}),(0,i.jsx)("div",{className:"text-[10px] text-[var(--sc-text-muted)]",children:"Allowed"})]})]}),(0,i.jsx)("div",{className:"space-y-1 max-h-72 overflow-y-auto",children:0===ee.length?(0,i.jsxs)("div",{className:"text-center py-6",children:[(0,i.jsx)(u.Shield,{size:20,className:"text-[var(--sc-text-muted)] mx-auto mb-1.5"}),(0,i.jsx)("p",{className:"text-[10px] text-[var(--sc-text-muted)]",children:"No Iron Dome events yet"})]}):ee.map((e,t)=>(0,i.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded-md bg-[var(--sc-bg-elevated)]/50 text-xs",children:[(0,i.jsx)("span",{className:`w-1.5 h-1.5 rounded-full shrink-0 ${"BLOCK"===e.firewall_result?"bg-[var(--sc-coral)]":"bg-[var(--sc-cyan)]"}`}),(0,i.jsx)("span",{className:"text-[var(--sc-text-secondary)] truncate flex-1",children:(e.reason??"").replace(/^\[iron-dome:\w+\]\s*/,"")}),(0,i.jsx)("span",{className:"text-[10px] text-[var(--sc-text-muted)] shrink-0",children:new Date(e.timestamp).toLocaleTimeString()})]},e.id??t))})]})]}),(0,i.jsx)(es,{}),(0,i.jsx)(eo,{})]})}var ev=e.i(42098);let eh=(0,x.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"}]]);var eg=e.i(13808);let eb=(0,x.default)("tags",[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]]),ey=(0,x.default)("wand-sparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]);var ej=e.i(17278);let ef=(0,x.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"}]]),eN=(0,x.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]),ew=(0,x.default)("square-minus",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 12h8",key:"1wcyev"}]]);function ek({action:e,item:t,onConfirm:a,onCancel:r}){let[s,c]=(0,n.useState)(""),l="yes"===s.trim().toLowerCase(),o="memory_file"===t.source_type;return(0,i.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",children:(0,i.jsxs)("div",{className:"bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded-xl p-6 max-w-md w-full mx-4",children:[(0,i.jsxs)("h3",{className:"text-sm font-semibold text-[var(--sc-text-primary)] mb-2",children:["approve"===e?"Approve":"Reject"," quarantined item?"]}),(0,i.jsx)("p",{className:"text-xs text-[var(--sc-text-secondary)] mb-1",children:(0,i.jsx)("strong",{children:t.title||"Untitled"})}),(0,i.jsx)("p",{className:"text-xs text-[var(--sc-text-muted)] mb-4",children:"approve"===e?o?"This will mark the memory-file finding as reviewed. The source file is not modified.":"This will approve the item and promote it into memory.":o?"This will dismiss the memory-file finding. The source file is not deleted or edited.":"This will permanently discard the memory."}),(0,i.jsxs)("div",{className:"mb-4",children:[(0,i.jsxs)("label",{className:"text-xs text-[var(--sc-text-secondary)] block mb-1",children:["Type ",(0,i.jsx)("strong",{className:"text-[var(--sc-text-primary)]",children:"YES"})," to confirm:"]}),(0,i.jsx)("input",{type:"text",value:s,onChange:e=>c(e.target.value),className:"w-full bg-[var(--sc-bg-elevated)] border border-[var(--sc-border)] text-[var(--sc-text-primary)] text-sm rounded-lg px-3 py-2 focus:ring-[var(--sc-cyan)] focus:border-[var(--sc-cyan)]",autoFocus:!0,onKeyDown:e=>{"Enter"===e.key&&l&&a(),"Escape"===e.key&&r()}})]}),(0,i.jsxs)("div",{className:"flex gap-2 justify-end",children:[(0,i.jsx)("button",{onClick:r,className:"px-3 py-1.5 text-xs text-[var(--sc-text-secondary)] hover:text-[var(--sc-text-primary)] transition-colors",children:"Cancel"}),(0,i.jsx)("button",{onClick:a,disabled:!l,className:`px-3 py-1.5 text-xs rounded-lg transition-colors ${l?"approve"===e?"bg-[var(--sc-cyan)] text-[var(--sc-text-primary)] hover:bg-[var(--sc-cyan-mid)]":"bg-[var(--sc-coral)] text-[var(--sc-text-primary)] hover:bg-[var(--sc-coral-mid)]":"bg-[var(--sc-bg-elevated)] text-[var(--sc-text-muted)] cursor-not-allowed"}`,children:"approve"===e&&o?"Mark reviewed":"approve"===e?"Approve":"Reject"})]})]})})}function eC({annotation:e}){var t;return(0,i.jsxs)("div",{className:"mb-3 rounded-lg border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)]/70 p-3",children:[(0,i.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,i.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--sc-cyan)]",children:[(0,i.jsx)(eh,{size:12})," Local AI Explainer"]}),(0,i.jsx)("span",{className:"rounded border border-[var(--sc-border)] px-2 py-0.5 text-[10px] uppercase tracking-[0.12em] text-[var(--sc-text-secondary)]",children:e.category.replace(/_/g," ")}),(0,i.jsx)("span",{className:`rounded border px-2 py-0.5 text-[10px] uppercase tracking-[0.12em] ${"approve"===(t=e.suggestedAction)?"text-[var(--sc-cyan)] bg-[var(--sc-cyan)]/10 border-[var(--sc-cyan)]/25":"reject"===t?"text-[var(--sc-coral)] bg-[var(--sc-coral)]/10 border-[var(--sc-coral)]/25":"create_rule"===t?"text-[var(--sc-amber)] bg-[var(--sc-amber)]/10 border-[var(--sc-amber)]/25":"text-[var(--sc-text-secondary)] bg-[var(--sc-surface-interactive)] border-[var(--sc-border)]"}`,children:e.suggestedAction.replace(/_/g," ")}),(0,i.jsxs)("span",{className:"text-[10px] text-[var(--sc-text-muted)]",children:[Math.round(100*e.confidence),"% confidence"]}),e.similarGroupKey&&(0,i.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-[var(--sc-text-muted)]",children:[(0,i.jsx)(eb,{size:11})," ",e.similarGroupKey]})]}),(0,i.jsx)("p",{className:"mt-2 text-xs leading-5 text-[var(--sc-text-primary)]",children:e.summary}),(0,i.jsx)("p",{className:"mt-1 text-[11px] leading-5 text-[var(--sc-text-secondary)]",children:e.reasoning}),e.evidence.length>0&&(0,i.jsx)("div",{className:"mt-2 space-y-1.5",children:e.evidence.map((e,t)=>(0,i.jsxs)("div",{className:"rounded border border-[var(--sc-border)] bg-[var(--sc-bg-surface)] px-2 py-1.5",children:[(0,i.jsx)("div",{className:"text-[10px] text-[var(--sc-text-muted)]",children:e.reason}),(0,i.jsxs)("div",{className:"mt-0.5 text-[11px] text-[var(--sc-text-primary)] break-words",children:['"',e.snippet,'"']})]},`${e.snippet}-${t}`))})]})}function e_(){let{projectFilter:e}=(0,ev.useDashboardStore)(),[t,a]=(0,n.useState)("pending"),{data:r,isLoading:s}=(0,z.useQuarantine)(t,100,e||void 0),{data:c}=(0,z.useReviewCopilotStatus)(),l=(0,z.useApproveQuarantine)(),o=(0,z.useRejectQuarantine)(),x=(0,z.useBulkApproveQuarantine)(),m=(0,z.useBulkRejectQuarantine)(),u=(0,z.useAnnotateQuarantine)(),p=(0,z.useAnnotatePendingQuarantine)(),[v,h]=(0,n.useState)(null),[g,b]=(0,n.useState)(new Set),[y,j]=(0,n.useState)(null),f=l.error?.message||o.error?.message||x.error?.message||m.error?.message||u.error?.message||p.error?.message||null,N=r?.items??[],w=N.filter(e=>"pending"===e.status),k=N.filter(e=>e.annotation),C=w.filter(e=>!e.annotation),_=w.filter(e=>g.has(e.id)).filter(e=>"memory_file"===e.source_type).length,S=(()=>{let e=new Map;for(let t of k){let a=t.annotation?.similarGroupKey;a&&e.set(a,(e.get(a)??0)+1)}return[...e.entries()].sort((e,t)=>t[1]-e[1]).slice(0,3)})(),A=w.length>0&&w.every(e=>g.has(e.id)),E=w.some(e=>g.has(e.id)),L=u.isPending||p.isPending,P=!!(c?.enabled&&c.featureEnabled&&c.modelCached);return(0,i.jsxs)("div",{className:"space-y-6",children:[v&&(0,i.jsx)(ek,{action:v.action,item:v.item,onConfirm:()=>{v&&("approve"===v.action?l.mutate(v.item.id):o.mutate({id:v.item.id}),h(null))},onCancel:()=>h(null)}),y&&(0,i.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",children:(0,i.jsxs)("div",{className:"bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded-xl p-6 max-w-md w-full mx-4",children:[(0,i.jsxs)("h3",{className:"text-sm font-semibold text-[var(--sc-text-primary)] mb-2",children:["approve"===y?"Approve":"Reject"," ",g.size," item",1!==g.size?"s":"","?"]}),(0,i.jsx)("p",{className:"text-xs text-[var(--sc-text-secondary)] mb-4",children:"approve"===y?_>0?"Memory-file findings will be marked reviewed without editing files. Other selected items will be promoted into memory.":"This will approve all selected items and promote them into memory.":_>0?"Memory-file findings will be dismissed without editing files. Other selected memories will be discarded.":"This will permanently discard all selected memories."}),(0,i.jsxs)("div",{className:"flex gap-2 justify-end",children:[(0,i.jsx)("button",{onClick:()=>j(null),className:"px-3 py-1.5 text-xs text-[var(--sc-text-secondary)] hover:text-[var(--sc-text-primary)] transition-colors",children:"Cancel"}),(0,i.jsxs)("button",{onClick:()=>{if(!y||0===g.size)return;let e=Array.from(g);"approve"===y?x.mutate(e):m.mutate(e),b(new Set),j(null)},className:`px-3 py-1.5 text-xs rounded-lg transition-colors ${"approve"===y?"bg-[var(--sc-cyan)] text-[var(--sc-text-primary)] hover:bg-[var(--sc-cyan-mid)]":"bg-[var(--sc-coral)] text-[var(--sc-text-primary)] hover:bg-[var(--sc-coral-mid)]"}`,children:["approve"===y?"Approve":"Reject"," ",g.size," item",1!==g.size?"s":""]})]})]})}),(0,i.jsx)(X.ProFeatureGate,{feature:"local_ai_explainer",label:"Use a local model to explain and group quarantined items without sending content to the cloud.",children:(0,i.jsx)("div",{className:"glass-card p-5",children:(0,i.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between",children:[(0,i.jsxs)("div",{children:[(0,i.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,i.jsxs)("h3",{className:"flex items-center gap-2 text-sm font-semibold text-[var(--sc-text-primary)]",children:[(0,i.jsx)(eg.Sparkles,{size:16,className:"text-[var(--sc-cyan)]"}),"Local AI Explainer"]}),(0,i.jsx)("span",{className:`rounded border px-2 py-0.5 text-[10px] uppercase tracking-[0.12em] ${c?.enabled?"border-[var(--sc-cyan)]/25 bg-[var(--sc-cyan)]/10 text-[var(--sc-cyan)]":"border-[var(--sc-border)] bg-[var(--sc-surface-interactive)] text-[var(--sc-text-muted)]"}`,children:c?.enabled?"enabled":"disabled"}),(0,i.jsx)("span",{className:`rounded border px-2 py-0.5 text-[10px] uppercase tracking-[0.12em] ${c?.modelCached?"border-[var(--sc-cyan)]/25 bg-[var(--sc-cyan)]/10 text-[var(--sc-cyan)]":"border-[var(--sc-border)] bg-[var(--sc-surface-interactive)] text-[var(--sc-text-muted)]"}`,children:c?.modelCached?"model cached":"model not cached"})]}),(0,i.jsx)("div",{className:"mt-2 text-xs leading-5 text-[var(--sc-text-secondary)]",children:c?.enabled?c.modelCached?"Explain unreviewed quarantine items locally; approve and reject decisions stay manual.":"Download the local model first: shieldcortex review-copilot download-model":"Enable from the CLI first: shieldcortex review-copilot enable"}),(0,i.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2 text-[10px] text-[var(--sc-text-muted)]",children:[(0,i.jsxs)("span",{className:C.length>0?"text-[var(--sc-amber)]":"",children:[C.length," need explanation"]}),(0,i.jsxs)("span",{children:[k.length," explained in this view"]}),S.map(([e,t])=>(0,i.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,i.jsx)(eb,{size:11})," ",e,": ",t]},e))]})]}),(0,i.jsx)("div",{className:"flex flex-wrap gap-2",children:(0,i.jsxs)("button",{onClick:()=>{p.mutate({limit:Math.min(Math.max(C.length,1),100),project:e||void 0})},disabled:!P||L||0===C.length,className:"inline-flex items-center gap-1.5 rounded-lg bg-[var(--sc-cyan)]/10 px-3 py-1.5 text-xs font-semibold text-[var(--sc-cyan)] transition-colors hover:bg-[var(--sc-cyan)]/20 disabled:pointer-events-none disabled:opacity-45",children:[p.isPending?(0,i.jsx)(M.Loader2,{size:13,className:"animate-spin"}):(0,i.jsx)(ey,{size:13}),"Explain all"]})})]})})}),(0,i.jsxs)("div",{className:"glass-card p-5",children:[(0,i.jsx)("div",{className:"flex items-center justify-between",children:(0,i.jsx)("div",{className:"flex gap-1 bg-[var(--sc-bg-elevated)] rounded-lg p-0.5",children:["pending","approved","rejected"].map(e=>(0,i.jsx)("button",{onClick:()=>{a(e),b(new Set)},className:`px-3 py-1 text-xs rounded-md transition-colors capitalize ${t===e?"bg-[var(--sc-cyan)] text-[var(--sc-text-primary)]":"text-[var(--sc-text-secondary)] hover:text-[var(--sc-text-primary)]"}`,children:e},e))})}),"pending"===t&&w.length>0&&(0,i.jsxs)("div",{className:"flex items-center gap-3 mt-3",children:[(0,i.jsxs)("button",{onClick:()=>{A?b(new Set):b(new Set(w.map(e=>e.id)))},className:"flex items-center gap-1.5 text-xs text-[var(--sc-text-secondary)] hover:text-[var(--sc-text-primary)] transition-colors",children:[A?(0,i.jsx)(ef,{size:14,className:"text-[var(--sc-cyan)]"}):E?(0,i.jsx)(ew,{size:14,className:"text-[var(--sc-cyan)]"}):(0,i.jsx)(eN,{size:14}),A?"Deselect all":"Select all"]}),E&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("span",{className:"text-xs text-[var(--sc-text-muted)]",children:[g.size," selected"]}),(0,i.jsxs)("button",{onClick:()=>j("approve"),className:"flex items-center gap-1 px-2.5 py-1 text-xs bg-[var(--sc-cyan)]/10 text-[var(--sc-cyan)] rounded-lg hover:bg-[var(--sc-cyan)]/20 transition-colors",children:[(0,i.jsx)(ec.Check,{size:12})," Approve"]}),(0,i.jsxs)("button",{onClick:()=>j("reject"),className:"flex items-center gap-1 px-2.5 py-1 text-xs bg-[var(--sc-coral)]/10 text-[var(--sc-coral)] rounded-lg hover:bg-[var(--sc-coral)]/20 transition-colors",children:[(0,i.jsx)(ej.X,{size:12})," Reject"]})]})]})]}),f&&(0,i.jsx)("div",{className:"glass-card p-5 border-[var(--sc-coral)]/30 bg-[var(--sc-coral)]/10 text-sm text-[var(--sc-coral)]",children:f}),(0,i.jsx)("div",{children:s?(0,i.jsx)("div",{className:"glass-card p-5 flex items-center justify-center h-32",children:(0,i.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)] animate-pulse",children:"Loading quarantine items..."})}):0===N.length?(0,i.jsxs)("div",{className:"glass-card p-5 flex flex-col items-center justify-center h-32 text-[var(--sc-text-muted)]",children:[(0,i.jsx)(d.AlertTriangle,{size:24,className:"mb-2 text-[var(--sc-text-muted)]"}),(0,i.jsxs)("span",{className:"text-xs",children:["No ",t," items"]})]}):(0,i.jsx)("div",{className:"space-y-3",children:N.map(e=>{let t=(()=>{try{return JSON.parse(e.threat_indicators)}catch{return[]}})(),a="memory_file"===e.source_type;return(0,i.jsxs)("div",{className:`glass-card p-5 ${g.has(e.id)?"border-[var(--sc-cyan)]/50":"pending"===e.status&&!e.annotation?"border-[var(--sc-amber)]/35":""}`,children:[(0,i.jsxs)("div",{className:"flex items-start justify-between mb-2",children:[(0,i.jsxs)("div",{className:"flex items-start gap-2.5",children:["pending"===e.status&&(0,i.jsx)("button",{onClick:()=>{var t;return t=e.id,void b(e=>{let a=new Set(e);return a.has(t)?a.delete(t):a.add(t),a})},className:"mt-0.5 text-[var(--sc-text-muted)] hover:text-[var(--sc-cyan)] transition-colors shrink-0",children:g.has(e.id)?(0,i.jsx)(ef,{size:14,className:"text-[var(--sc-cyan)]"}):(0,i.jsx)(eN,{size:14})}),(0,i.jsxs)("div",{children:[(0,i.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,i.jsx)("h4",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:e.title||"Untitled"}),"pending"===e.status&&!e.annotation&&(0,i.jsxs)("span",{className:"inline-flex items-center gap-1 rounded border border-[var(--sc-amber)]/25 bg-[var(--sc-amber)]/10 px-2 py-0.5 text-[9px] font-semibold uppercase tracking-[0.12em] text-[var(--sc-amber)]",children:[(0,i.jsx)(eh,{size:10})," Needs explanation"]})]}),(0,i.jsxs)("div",{className:"text-[10px] text-[var(--sc-text-muted)] mt-0.5",children:[e.source_type," · ",new Date(e.created_at).toLocaleString(),e.anomaly_score>0&&(0,i.jsxs)("span",{className:`ml-2 ${e.anomaly_score>.5?"text-[var(--sc-coral)]":"text-[var(--sc-amber)]"}`,children:["Anomaly: ",e.anomaly_score.toFixed(2)]})]}),a&&(0,i.jsx)("div",{className:"mt-1 break-all font-mono text-[10px] text-[var(--sc-text-muted)]",children:e.source_identifier})]})]}),(0,i.jsx)("span",{className:"text-[10px] text-[var(--sc-coral)] bg-[var(--sc-coral)]/10 px-2 py-0.5 rounded",children:e.reason?.slice(0,50)||"Threat detected"})]}),(0,i.jsx)("div",{className:"bg-[var(--sc-bg-elevated)] rounded-lg p-3 mb-3 text-xs text-[var(--sc-text-primary)] whitespace-pre-wrap break-words",children:e.content?.slice(0,500)||"No content"}),t.length>0&&(0,i.jsx)("div",{className:"flex gap-1 mb-3 flex-wrap",children:t.map((e,t)=>(0,i.jsx)("span",{className:"text-[9px] text-[var(--sc-amber)] bg-[var(--sc-amber)]/10 px-1.5 py-0.5 rounded",children:e},t))}),e.annotation&&(0,i.jsx)(eC,{annotation:e.annotation}),"pending"===e.status&&(0,i.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,i.jsxs)("button",{onClick:()=>u.mutate(e.id),disabled:!P||u.isPending||p.isPending,className:"flex items-center gap-1 px-3 py-1.5 text-xs bg-[var(--sc-bg-elevated)] text-[var(--sc-text-secondary)] border border-[var(--sc-border)] rounded-lg hover:text-[var(--sc-cyan)] transition-colors disabled:pointer-events-none disabled:opacity-45",children:[u.isPending?(0,i.jsx)(M.Loader2,{size:12,className:"animate-spin"}):(0,i.jsx)(ey,{size:12}),e.annotation?"Re-explain":"Explain"]}),(0,i.jsxs)("button",{onClick:()=>h({action:"approve",item:e}),disabled:l.isPending||x.isPending,className:"flex items-center gap-1 px-3 py-1.5 text-xs bg-[var(--sc-cyan)]/10 text-[var(--sc-cyan)] rounded-lg hover:bg-[var(--sc-cyan)]/20 transition-colors",children:[(0,i.jsx)(ec.Check,{size:12})," ",a?"Mark reviewed":"Approve"]}),(0,i.jsxs)("button",{onClick:()=>h({action:"reject",item:e}),disabled:o.isPending||m.isPending,className:"flex items-center gap-1 px-3 py-1.5 text-xs bg-[var(--sc-coral)]/10 text-[var(--sc-coral)] rounded-lg hover:bg-[var(--sc-coral)]/20 transition-colors",children:[(0,i.jsx)(ej.X,{size:12})," Reject"]})]}),e.reviewed_at&&(0,i.jsxs)("div",{className:"text-[10px] text-[var(--sc-text-muted)]",children:["approved"===e.status?"Approved":"Rejected"," by ",e.reviewed_by," at ",new Date(e.reviewed_at).toLocaleString()]})]},e.id)})})})]})}var eS=e.i(16467),eA=e.i(95659);let eE=(0,x.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]),eL=(0,x.default)("file-braces",[["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 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]);var eP=e.i(75025);let e$=g.default.env.NEXT_PUBLIC_API_URL||"http://localhost:3001";function ez(){let e=(0,y.useMutation)({mutationFn:async({format:e,startTime:t,endTime:a})=>{let r=new URLSearchParams({format:e});t&&r.set("startTime",t),a&&r.set("endTime",a);let s=await (0,f.gatedFetch)(`${e$}/api/audit/export?${r}`);if(!s.ok)throw Error((await s.json().catch(()=>({}))).error||"Export failed");let c=await s.blob(),i=URL.createObjectURL(c),l=document.createElement("a");return l.href=i,l.download=`shieldcortex-audit-${Date.now()}.${"csv"===e?"csv":"json"}`,document.body.appendChild(l),l.click(),document.body.removeChild(l),setTimeout(()=>URL.revokeObjectURL(i),200),{success:!0}}}),[t,a]=(0,n.useState)("json");return(0,i.jsxs)("div",{className:"space-y-3",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)(eE,{size:16,className:"text-[var(--sc-cyan)]"}),(0,i.jsx)("h3",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:"Export Audit Logs"})]}),(0,i.jsxs)("div",{className:"flex items-center gap-3",children:[(0,i.jsxs)("div",{className:"flex rounded-lg overflow-hidden border border-[var(--sc-border)]",children:[(0,i.jsxs)("button",{onClick:()=>a("json"),className:`flex items-center gap-1.5 px-3 py-1.5 text-xs transition-colors ${"json"===t?"bg-[var(--sc-cyan)]/20 text-[var(--sc-cyan)]":"bg-[var(--sc-bg-elevated)] text-[var(--sc-text-secondary)] hover:text-[var(--sc-text-primary)]"}`,children:[(0,i.jsx)(eL,{size:12})," JSON"]}),(0,i.jsxs)("button",{onClick:()=>a("csv"),className:`flex items-center gap-1.5 px-3 py-1.5 text-xs transition-colors ${"csv"===t?"bg-[var(--sc-cyan)]/20 text-[var(--sc-cyan)]":"bg-[var(--sc-bg-elevated)] text-[var(--sc-text-secondary)] hover:text-[var(--sc-text-primary)]"}`,children:[(0,i.jsx)(eP.FileText,{size:12})," CSV"]})]}),(0,i.jsxs)("button",{onClick:()=>e.mutate({format:t}),disabled:e.isPending,className:"flex items-center gap-1.5 px-4 py-1.5 text-xs bg-[var(--sc-cyan)] text-[var(--sc-text-primary)] rounded-lg hover:bg-[var(--sc-cyan)] disabled:opacity-50 transition-colors",children:[(0,i.jsx)(eE,{size:12}),e.isPending?"Exporting...":"Export"]})]}),e.error&&(0,i.jsx)("p",{className:"text-xs text-[var(--sc-coral)]",children:e.error.message}),e.isSuccess&&(0,i.jsx)("p",{className:"text-xs text-[var(--sc-cyan)]",children:"Export downloaded successfully."})]})}function eF(){return(0,i.jsx)("div",{className:"bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded-xl p-4",children:(0,i.jsx)(X.ProFeatureGate,{feature:"audit_export",label:"Export your full audit trail as JSON or CSV for compliance reporting.",children:(0,i.jsx)(ez,{})})})}var eT=e.i(76490);function eI({className:e,...t}){return(0,i.jsx)("div",{"data-slot":"card",className:(0,eT.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})}function eM({className:e,...t}){return(0,i.jsx)("div",{"data-slot":"card-header",className:(0,eT.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...t})}function eq({className:e,...t}){return(0,i.jsx)("div",{"data-slot":"card-content",className:(0,eT.cn)("px-6",e),...t})}function eO(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}var eD=Symbol.for("react.lazy"),eR=n[" use ".trim().toString()];function eQ(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===eD&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var eK=((c=n.forwardRef((e,t)=>{let{children:a,...r}=e;if(eQ(a)&&"function"==typeof eR&&(a=eR(a._payload)),n.isValidElement(a)){var s;let e,c,i=(s=a,(c=(e=Object.getOwnPropertyDescriptor(s.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?s.ref:(c=(e=Object.getOwnPropertyDescriptor(s,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?s.props.ref:s.props.ref||s.ref),l=function(e,t){let a={...t};for(let r in t){let s=e[r],c=t[r];/^on[A-Z]/.test(r)?s&&c?a[r]=(...e)=>{let t=c(...e);return s(...e),t}:s&&(a[r]=s):"style"===r?a[r]={...s,...c}:"className"===r&&(a[r]=[s,c].filter(Boolean).join(" "))}return{...e,...a}}(r,a.props);return a.type!==n.Fragment&&(l.ref=t?function(...e){return t=>{let a=!1,r=e.map(e=>{let r=eO(e,t);return a||"function"!=typeof r||(a=!0),r});if(a)return()=>{for(let t=0;t<r.length;t++){let a=r[t];"function"==typeof a?a():eO(e[t],null)}}}}(t,i):i),n.cloneElement(a,l)}return n.Children.count(a)>1?n.Children.only(null):null})).displayName="Slot.SlotClone",t=c,(a=n.forwardRef((e,a)=>{let{children:r,...s}=e;eQ(r)&&"function"==typeof eR&&(r=eR(r._payload));let c=n.Children.toArray(r),l=c.find(eB);if(l){let e=l.props.children,r=c.map(t=>t!==l?t:n.Children.count(e)>1?n.Children.only(null):n.isValidElement(e)?e.props.children:null);return(0,i.jsx)(t,{...s,ref:a,children:n.isValidElement(e)?n.cloneElement(e,void 0,r):null})}return(0,i.jsx)(t,{...s,ref:a,children:r})})).displayName="Slot.Slot",a),eU=Symbol("radix.slottable");function eB(e){return n.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===eU}var eV=e.i(2941);let eH=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,eW=eV.clsx,eJ=(r="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",s={variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-[var(--sc-text-primary)] hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}},e=>{var t;if((null==s?void 0:s.variants)==null)return eW(r,null==e?void 0:e.class,null==e?void 0:e.className);let{variants:a,defaultVariants:c}=s,i=Object.keys(a).map(t=>{let r=null==e?void 0:e[t],s=null==c?void 0:c[t];if(null===r)return null;let i=eH(r)||eH(s);return a[t][i]}),l=e&&Object.entries(e).reduce((e,t)=>{let[a,r]=t;return void 0===r||(e[a]=r),e},{});return eW(r,i,null==s||null==(t=s.compoundVariants)?void 0:t.reduce((e,t)=>{let{class:a,className:r,...s}=t;return Object.entries(s).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...c,...l}[t]):({...c,...l})[t]===a})?[...e,a,r]:e},[]),null==e?void 0:e.class,null==e?void 0:e.className)});function eG({className:e,variant:t="default",size:a="default",asChild:r=!1,...s}){return(0,i.jsx)(r?eK:"button",{"data-slot":"button","data-variant":t,"data-size":a,className:(0,eT.cn)(eJ({variant:t,size:a,className:e})),...s})}var eX=e.i(76624),eZ=e.i(23457),eY=e.i(44250),e0=e.i(45256);let e1={ALLOW:{color:"#22C55E",bg:"rgba(34, 197, 94, 0.15)",label:"Allowed"},BLOCK:{color:"#EF4444",bg:"rgba(239, 68, 68, 0.15)",label:"Blocked"},QUARANTINE:{color:"#EAB308",bg:"rgba(234, 179, 8, 0.15)",label:"Quarantined"}},e2={PUBLIC:{color:"#94a3b8",bg:"rgba(148, 163, 184, 0.15)"},INTERNAL:{color:"#60a5fa",bg:"rgba(96, 165, 250, 0.15)"},CONFIDENTIAL:{color:"#f59e0b",bg:"rgba(245, 158, 11, 0.15)"},RESTRICTED:{color:"#ef4444",bg:"rgba(239, 68, 68, 0.15)"}},e5={instruction_injection:{color:"#ef4444",bg:"rgba(239, 68, 68, 0.15)"},privilege_escalation:{color:"#ef4444",bg:"rgba(239, 68, 68, 0.15)"},credential_leak:{color:"#ef4444",bg:"rgba(239, 68, 68, 0.15)"},encoding_obfuscation:{color:"#f59e0b",bg:"rgba(245, 158, 11, 0.15)"},fragmented_payload:{color:"#f59e0b",bg:"rgba(245, 158, 11, 0.15)"},external_url:{color:"#f59e0b",bg:"rgba(245, 158, 11, 0.15)"},pipeline_error:{color:"#94a3b8",bg:"rgba(148, 163, 184, 0.15)"}};function e4(e){return e>=.7?"#22C55E":e>=.4?"#EAB308":"#EF4444"}function e3(e){return e>.5?"#EF4444":e>.2?"#EAB308":"#94a3b8"}function e6({entry:e,onClose:t,onViewMemory:a}){let r,[s,c]=(0,n.useState)(!1),l=(0,eZ.useLocalAiExplain)(),o=e1[e.firewall_result]||e1.ALLOW,d=e2[e.sensitivity_level]||e2.PUBLIC,x=function(e){try{let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}(e.threat_indicators),m=function(e){try{let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}(e.blocked_patterns),u=(0,n.useCallback)(()=>{let t=JSON.stringify(e,null,2);navigator.clipboard.writeText(t).then(()=>{c(!0),setTimeout(()=>c(!1),1500)})},[e]),p=(0,n.useCallback)(()=>{l.mutate({kind:"audit_event",title:`${e.firewall_result} audit event`,content:[`Audit ID: ${e.id}`,`Result: ${e.firewall_result}`,`Source: ${e.source_type}:${e.source_identifier}`,e.project?`Project: ${e.project}`:"",`Trust score: ${e.trust_score}`,`Anomaly score: ${e.anomaly_score}`,`Sensitivity: ${e.sensitivity_level}`,null!==e.fragmentation_score?`Fragmentation score: ${e.fragmentation_score}`:"",x.length?`Threat indicators: ${x.join(", ")}`:"",m.length?`Blocked patterns:
2
- ${m.join("\n")}`:"",e.reason?`Reason:
3
- ${e.reason}`:""].filter(Boolean).join("\n\n"),project:e.project,source:`${e.source_type}:${e.source_identifier}`,signals:[e.firewall_result,e.sensitivity_level,...x],metadata:{auditId:e.id,memoryId:e.memory_id,trustScore:e.trust_score,anomalyScore:e.anomaly_score,pipelineDurationMs:e.pipeline_duration_ms}})},[m,e,l,x]);return(0,i.jsxs)(eI,{className:"bg-[var(--sc-bg-surface)] border-[var(--sc-border)] overflow-hidden",children:[(0,i.jsxs)(eM,{className:"border-b border-[var(--sc-border)] pb-3",children:[(0,i.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,i.jsxs)("div",{className:"flex items-center gap-3",children:[(0,i.jsx)("span",{className:"px-2.5 py-1 rounded-md text-xs font-bold",style:{backgroundColor:o.bg,color:o.color},children:o.label}),(0,i.jsx)("span",{className:"px-2 py-0.5 rounded text-[10px] font-medium",style:{backgroundColor:d.bg,color:d.color},children:e.sensitivity_level})]}),(0,i.jsx)(eG,{variant:"ghost",size:"sm",onClick:t,className:"text-[var(--sc-text-secondary)] hover:text-white -mt-1",children:"✕"})]}),(0,i.jsx)("div",{className:"text-xs text-[var(--sc-text-secondary)] mt-2",children:new Date(e.timestamp).toLocaleString()}),e.project&&(0,i.jsxs)("div",{className:"text-[10px] text-[var(--sc-text-muted)] mt-1",children:["Project: ",e.project]})]}),(0,i.jsxs)(eq,{className:"p-4 space-y-4",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("h4",{className:"text-xs font-medium text-[var(--sc-text-secondary)] mb-2",children:"Source"}),(0,i.jsxs)("div",{className:"bg-[var(--sc-bg-elevated)] rounded-lg p-3",children:[(0,i.jsx)("div",{className:"flex items-center gap-2 mb-1",children:(0,i.jsx)("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-medium bg-[var(--sc-cyan)]/10 text-[var(--sc-cyan)]",children:e.source_type})}),e.source_identifier&&(0,i.jsx)("div",{className:"text-xs text-[var(--sc-text-primary)] mt-1 font-mono break-all",children:e.source_identifier})]})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("h4",{className:"text-xs font-medium text-[var(--sc-text-secondary)] mb-2",children:"Scores"}),(0,i.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,i.jsxs)("div",{className:"bg-[var(--sc-bg-elevated)] rounded-lg p-3",children:[(0,i.jsx)("div",{className:"text-[10px] text-[var(--sc-text-muted)]",children:"Trust"}),(0,i.jsxs)("div",{className:"text-lg font-bold",style:{color:e4(e.trust_score)},children:[(100*e.trust_score).toFixed(0),"%"]}),(0,i.jsx)("div",{className:"mt-1 h-1.5 bg-[var(--sc-bg-elevated)] rounded-full overflow-hidden",children:(0,i.jsx)("div",{className:"h-full rounded-full transition-all",style:{width:`${100*e.trust_score}%`,backgroundColor:e4(e.trust_score)}})})]}),(0,i.jsxs)("div",{className:"bg-[var(--sc-bg-elevated)] rounded-lg p-3",children:[(0,i.jsx)("div",{className:"text-[10px] text-[var(--sc-text-muted)]",children:"Anomaly"}),(0,i.jsxs)("div",{className:"text-lg font-bold",style:{color:e3(e.anomaly_score)},children:[(100*e.anomaly_score).toFixed(0),"%"]}),(0,i.jsx)("div",{className:"mt-1 h-1.5 bg-[var(--sc-bg-elevated)] rounded-full overflow-hidden",children:(0,i.jsx)("div",{className:"h-full rounded-full transition-all",style:{width:`${100*e.anomaly_score}%`,backgroundColor:e3(e.anomaly_score)}})})]}),null!==e.fragmentation_score&&(0,i.jsxs)("div",{className:"bg-[var(--sc-bg-elevated)] rounded-lg p-3",children:[(0,i.jsx)("div",{className:"text-[10px] text-[var(--sc-text-muted)]",children:"Fragmentation"}),(0,i.jsxs)("div",{className:"text-lg font-bold text-[var(--sc-text-primary)]",children:[(100*e.fragmentation_score).toFixed(0),"%"]}),(0,i.jsx)("div",{className:"mt-1 h-1.5 bg-[var(--sc-bg-elevated)] rounded-full overflow-hidden",children:(0,i.jsx)("div",{className:"h-full rounded-full bg-purple-500 transition-all",style:{width:`${100*e.fragmentation_score}%`}})})]}),null!==e.pipeline_duration_ms&&(0,i.jsxs)("div",{className:"bg-[var(--sc-bg-elevated)] rounded-lg p-3",children:[(0,i.jsx)("div",{className:"text-[10px] text-[var(--sc-text-muted)]",children:"Pipeline"}),(0,i.jsxs)("div",{className:"text-lg font-bold text-[var(--sc-text-primary)]",children:[e.pipeline_duration_ms,"ms"]})]})]})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("h4",{className:"text-xs font-medium text-[var(--sc-text-secondary)] mb-2",children:"Threat Indicators"}),x.length>0?(0,i.jsx)("div",{className:"flex flex-wrap gap-1.5",children:x.map((e,t)=>{let a=e5[e]||{color:"#94a3b8",bg:"rgba(148, 163, 184, 0.15)"};return(0,i.jsx)("span",{className:"px-2 py-1 rounded text-[11px] font-medium",style:{backgroundColor:a.bg,color:a.color},children:e.replace(/_/g," ")},t)})}):(0,i.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"No threats detected"})]}),m.length>0&&(0,i.jsxs)("div",{children:[(0,i.jsx)("h4",{className:"text-xs font-medium text-[var(--sc-text-secondary)] mb-2",children:"Blocked Patterns"}),(0,i.jsx)("div",{className:"bg-[var(--sc-bg-elevated)] rounded-lg p-3 max-h-32 overflow-y-auto",children:m.map((e,t)=>(0,i.jsx)("div",{className:"text-[11px] text-[var(--sc-text-primary)] font-mono break-all mb-1 last:mb-0",children:e},t))})]}),e.reason&&(0,i.jsxs)("div",{children:[(0,i.jsx)("h4",{className:"text-xs font-medium text-[var(--sc-text-secondary)] mb-2",children:"Reason"}),(0,i.jsx)("div",{className:"bg-[var(--sc-bg-elevated)] rounded-lg p-3",children:(0,i.jsx)("p",{className:"text-xs text-[var(--sc-text-primary)] whitespace-pre-wrap leading-relaxed",children:e.reason})})]}),l.data?.explanation&&(0,i.jsx)(eX.LocalAiExplanationPanel,{explanation:l.data.explanation,actions:(r=function(e){if(!e)return null;let t=e.trim();return t.includes("/")&&/\.[A-Za-z0-9]{1,8}(?::\d+)?$/.test(t)?t:null}(e.source_identifier))?[{key:"open",label:"Open in editor",icon:(0,i.jsx)(e0.ExternalLink,{size:13}),variant:"outline",onClick:()=>{let e=(0,eY.buildEditorUrl)(r.replace(/:\d+$/,""),Number(r.match(/:(\d+)$/)?.[1])||void 0);e&&(window.location.href=e)}}]:[]}),l.error&&(0,i.jsx)("div",{className:"rounded-lg border border-[var(--sc-coral)]/30 bg-[var(--sc-coral)]/10 p-3 text-xs text-[var(--sc-coral)]",children:l.error instanceof Error?l.error.message:"Local explanation failed"}),(0,i.jsxs)("div",{className:"flex gap-2 pt-2",children:[e.memory_id&&a&&(0,i.jsx)(eG,{variant:"default",size:"sm",onClick:()=>a(e.memory_id),className:"flex-1 bg-blue-600 hover:bg-blue-700",children:"View Memory"}),(0,i.jsxs)(eG,{variant:"outline",size:"sm",onClick:p,disabled:l.isPending,className:`flex-1 border-[var(--sc-border)] text-[var(--sc-text-primary)] hover:text-white ${l.isPending?"glow-cyan-pulse":""}`,children:[l.isPending?(0,i.jsx)(M.Loader2,{size:13,className:"mr-1 animate-spin"}):(0,i.jsx)(eg.Sparkles,{size:13,className:"mr-1"}),"Explain"]}),(0,i.jsx)(eG,{variant:"outline",size:"sm",onClick:u,className:`flex-1 border-[var(--sc-border)] transition-all ${s?"bg-[var(--sc-cyan)]/20 text-[var(--sc-cyan)] border-[var(--sc-cyan)]/50":"text-[var(--sc-text-primary)] hover:text-white"}`,children:s?"Copied":"Copy JSON"})]})]})]})}let e8={ALLOW:"safe",BLOCK:"critical",QUARANTINE:"medium"};function e7(){let{projectFilter:e,selectedAuditEntry:t,setSelectedAuditEntry:a}=(0,ev.useDashboardStore)(),[r,s]=(0,n.useState)("24h"),[c,l]=(0,n.useState)(void 0),[o,d]=(0,n.useState)(void 0),x={"24h":24,"7d":168,"30d":720},[m,u]=(0,n.useState)(()=>Date.now());(0,n.useEffect)(()=>{u(Date.now())},[r]);let p=(0,n.useMemo)(()=>new Date(6e4*Math.floor((m-36e5*x[r])/6e4)).toISOString(),[m,r]),{data:v,isLoading:h}=(0,z.useAuditLogs)({startTime:p,source:c,firewallResult:o,project:e||void 0,limit:200}),g=(0,n.useMemo)(()=>v?.logs??[],[v?.logs]),b=g.filter(e=>"BLOCK"===e.firewall_result).length,y=g.filter(e=>"QUARANTINE"===e.firewall_result).length,j=g.filter(e=>"ALLOW"===e.firewall_result).length,f=(0,n.useCallback)(e=>{if(!t||0===g.length)return;let r=g.findIndex(e=>e.id===t.id);"Escape"===e.key?a(null):"ArrowDown"===e.key&&r<g.length-1?(e.preventDefault(),a(g[r+1])):"ArrowUp"===e.key&&r>0&&(e.preventDefault(),a(g[r-1]))},[t,g,a]);return(0,n.useEffect)(()=>(window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)),[f]),(0,i.jsxs)("div",{className:"space-y-6",children:[(0,i.jsx)(eS.GlassCard,{title:"audit.filter",statusLine:`window=${r} \xb7 entries=${g.length} \xb7 allow=${j} \xb7 block=${b} \xb7 quarantine=${y}`,children:(0,i.jsxs)("div",{className:"flex flex-wrap items-center gap-3 font-mono text-xs",children:[(0,i.jsx)("span",{className:"text-[var(--term-text-muted)]",children:"range"}),(0,i.jsx)("span",{className:"text-[var(--term-text-muted)]","aria-hidden":!0,children:"="}),(0,i.jsx)("div",{className:"flex gap-1",children:["24h","7d","30d"].map(e=>(0,i.jsxs)("button",{type:"button",onClick:()=>s(e),className:`px-2 py-0.5 transition-colors ${r===e?"text-[var(--term-electric-fg)]":"text-[var(--term-text-muted)] hover:text-[var(--term-text)]"}`,children:["[",e,"]"]},e))}),(0,i.jsx)("span",{className:"text-[var(--term-text-muted)] ml-3",children:"result"}),(0,i.jsx)("span",{className:"text-[var(--term-text-muted)]","aria-hidden":!0,children:"="}),(0,i.jsxs)("select",{"aria-label":"Filter by firewall result",value:o||"",onChange:e=>d(e.target.value||void 0),className:"bg-[var(--term-surface-2)] border border-[var(--term-border)] text-[var(--term-text)] text-xs rounded-sm px-2 py-0.5 font-mono focus:outline-none focus:border-[var(--term-electric)]",children:[(0,i.jsx)("option",{value:"",children:"*"}),(0,i.jsx)("option",{value:"ALLOW",children:"ALLOW"}),(0,i.jsx)("option",{value:"BLOCK",children:"BLOCK"}),(0,i.jsx)("option",{value:"QUARANTINE",children:"QUARANTINE"})]}),(0,i.jsx)("span",{className:"text-[var(--term-text-muted)] ml-3",children:"source"}),(0,i.jsx)("span",{className:"text-[var(--term-text-muted)]","aria-hidden":!0,children:"="}),(0,i.jsxs)("select",{"aria-label":"Filter by source",value:c||"",onChange:e=>l(e.target.value||void 0),className:"bg-[var(--term-surface-2)] border border-[var(--term-border)] text-[var(--term-text)] text-xs rounded-sm px-2 py-0.5 font-mono focus:outline-none focus:border-[var(--term-electric)]",children:[(0,i.jsx)("option",{value:"",children:"*"}),(0,i.jsx)("option",{value:"hook",children:"hook"}),(0,i.jsx)("option",{value:"api",children:"api"}),(0,i.jsx)("option",{value:"agent",children:"agent"}),(0,i.jsx)("option",{value:"user",children:"user"}),(0,i.jsx)("option",{value:"cli",children:"cli"})]}),(0,i.jsx)("button",{type:"button",onClick:()=>a(null),className:"ml-auto text-[var(--term-text-muted)] hover:text-[var(--term-text)]",children:"[clear]"})]})}),(0,i.jsxs)("div",{className:`grid gap-6 ${t?"xl:grid-cols-[minmax(0,1.35fr)_360px]":""}`,children:[(0,i.jsx)(eS.GlassCard,{title:"audit.log",bodyPadding:!1,statusLine:h?"loading…":`${g.length} entr${1===g.length?"y":"ies"}`,children:h?(0,i.jsx)("div",{className:"flex items-center justify-center h-32 font-mono",children:(0,i.jsx)("div",{className:"text-xs text-[var(--term-text-muted)] animate-pulse",children:"$ tail -f audit.log…"})}):0===g.length?(0,i.jsx)("div",{className:"flex items-center justify-center h-32 font-mono",children:(0,i.jsx)("div",{className:"text-xs text-[var(--term-text-muted)]",children:"# no audit entries for this period"})}):(0,i.jsx)("div",{className:"overflow-x-auto font-mono",children:(0,i.jsxs)("table",{className:"w-full text-xs",children:[(0,i.jsx)("thead",{className:"bg-[var(--term-surface-2)] sticky top-0",children:(0,i.jsxs)("tr",{className:"border-b border-[var(--term-border)]",children:[(0,i.jsx)("th",{className:"text-left text-[var(--term-text-muted)] font-normal px-3 py-2 uppercase tracking-wider text-[10px]",children:"timestamp"}),(0,i.jsx)("th",{className:"text-left text-[var(--term-text-muted)] font-normal px-3 py-2 uppercase tracking-wider text-[10px]",children:"result"}),(0,i.jsx)("th",{className:"text-left text-[var(--term-text-muted)] font-normal px-3 py-2 uppercase tracking-wider text-[10px]",children:"source"}),(0,i.jsx)("th",{className:"text-right text-[var(--term-text-muted)] font-normal px-3 py-2 uppercase tracking-wider text-[10px]",children:"trust"}),(0,i.jsx)("th",{className:"text-right text-[var(--term-text-muted)] font-normal px-3 py-2 uppercase tracking-wider text-[10px]",children:"anomaly"}),(0,i.jsx)("th",{className:"text-left text-[var(--term-text-muted)] font-normal px-3 py-2 uppercase tracking-wider text-[10px]",children:"reason"})]})}),(0,i.jsx)("tbody",{children:g.map(e=>{let r=e8[e.firewall_result]??(0,eA.riskVariant)("INFO"),s=t?.id===e.id;return(0,i.jsxs)("tr",{onClick:()=>{a(t?.id===e.id?null:e)},className:`border-b border-[var(--term-border)] cursor-pointer transition-colors ${s?"bg-[var(--term-surface-2)]":"hover:bg-[var(--term-surface-2)]"}`,children:[(0,i.jsx)("td",{className:"px-3 py-1.5 text-[var(--term-text-muted)] whitespace-nowrap tabular-nums",children:new Date(e.timestamp).toISOString().replace("T"," ").replace(/\.\d+Z$/,"Z")}),(0,i.jsx)("td",{className:"px-3 py-1.5 whitespace-nowrap",children:(0,i.jsx)(eA.Badge,{variant:r,children:e.firewall_result})}),(0,i.jsx)("td",{className:"px-3 py-1.5 text-[var(--term-text)]",children:e.source_type}),(0,i.jsx)("td",{className:"px-3 py-1.5 text-right text-[var(--term-text-dim)] tabular-nums",children:e.trust_score.toFixed(1)}),(0,i.jsx)("td",{className:"px-3 py-1.5 text-right tabular-nums",children:(0,i.jsx)("span",{className:e.anomaly_score>.5?"text-[var(--term-danger)]":e.anomaly_score>.2?"text-[var(--term-warn)]":"text-[var(--term-text-muted)]",children:e.anomaly_score.toFixed(2)})}),(0,i.jsx)("td",{className:"px-3 py-1.5 text-[var(--term-text-dim)] max-w-xs truncate",children:e.reason||"—"})]},e.id)})})]})})}),t&&(0,i.jsx)("div",{className:"xl:sticky xl:top-6 self-start",children:(0,i.jsx)(e6,{entry:t,onClose:()=>a(null)})})]}),(0,i.jsxs)("details",{className:"glass-card p-5",children:[(0,i.jsxs)("summary",{className:"cursor-pointer list-none font-mono text-sm text-[var(--term-text)]",children:[(0,i.jsx)("span",{className:"text-[var(--term-electric-fg)]",children:"$"})," shieldcortex audit export"]}),(0,i.jsx)("div",{className:"mt-4",children:(0,i.jsx)(eF,{})})]})]})}let e9={ALLOW:"bg-[var(--sc-cyan)]/10 text-[var(--sc-cyan)]",BLOCK:"bg-[var(--sc-coral)]/10 text-[var(--sc-coral)]",QUARANTINE:"bg-[var(--sc-amber)]/10 text-[var(--sc-amber)]"};function te(){let{projectFilter:e,selectedAuditEntry:t,setSelectedAuditEntry:a}=(0,ev.useDashboardStore)(),[r,s]=(0,n.useState)("24h"),[c,l]=(0,n.useState)(void 0),[o,d]=(0,n.useState)(void 0),x={"24h":24,"7d":168,"30d":720},[m,u]=(0,n.useState)(()=>Date.now());(0,n.useEffect)(()=>{u(Date.now())},[r]);let p=(0,n.useMemo)(()=>new Date(6e4*Math.floor((m-36e5*x[r])/6e4)).toISOString(),[m,r]),{data:v,isLoading:h}=(0,z.useAuditLogs)({startTime:p,source:c,firewallResult:o,project:e||void 0,limit:200}),g=(0,n.useMemo)(()=>v?.logs??[],[v?.logs]),b=g.filter(e=>"BLOCK"===e.firewall_result).length,y=g.filter(e=>"QUARANTINE"===e.firewall_result).length,j=g.filter(e=>"ALLOW"===e.firewall_result).length,f=(0,n.useCallback)(e=>{if(!t||0===g.length)return;let r=g.findIndex(e=>e.id===t.id);"Escape"===e.key?a(null):"ArrowDown"===e.key&&r<g.length-1?(e.preventDefault(),a(g[r+1])):"ArrowUp"===e.key&&r>0&&(e.preventDefault(),a(g[r-1]))},[t,g,a]);return(0,n.useEffect)(()=>(window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)),[f]),(0,i.jsxs)("div",{className:"space-y-6",children:[(0,i.jsxs)("div",{className:"glass-card-strong p-5",children:[(0,i.jsx)("div",{className:"flex flex-col gap-4 xl:flex-row xl:items-start xl:justify-between mb-3",children:(0,i.jsx)("div",{className:"flex gap-1 bg-[var(--sc-bg-elevated)] rounded-lg p-0.5 ml-auto",children:["24h","7d","30d"].map(e=>(0,i.jsx)("button",{onClick:()=>s(e),className:`px-3 py-1 text-xs rounded-md transition-colors ${r===e?"bg-[var(--sc-cyan)] text-[var(--sc-text-primary)]":"text-[var(--sc-text-secondary)] hover:text-[var(--sc-text-primary)]"}`,children:e},e))})}),(0,i.jsxs)("div",{className:"mb-4 grid gap-3 md:grid-cols-4",children:[(0,i.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)] p-3",children:[(0,i.jsx)("div",{className:"text-[10px] uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:"Entries"}),(0,i.jsx)("div",{className:"mt-1 text-xl font-semibold text-[var(--sc-text-primary)]",children:g.length})]}),(0,i.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)] p-3",children:[(0,i.jsx)("div",{className:"text-[10px] uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:"Allowed"}),(0,i.jsx)("div",{className:"mt-1 text-xl font-semibold text-[var(--sc-cyan)]",children:j})]}),(0,i.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)] p-3",children:[(0,i.jsx)("div",{className:"text-[10px] uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:"Blocked"}),(0,i.jsx)("div",{className:"mt-1 text-xl font-semibold text-[var(--sc-coral)]",children:b})]}),(0,i.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)] p-3",children:[(0,i.jsx)("div",{className:"text-[10px] uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:"Quarantined"}),(0,i.jsx)("div",{className:"mt-1 text-xl font-semibold text-[var(--sc-amber)]",children:y})]})]}),(0,i.jsxs)("div",{className:"flex gap-2 flex-wrap",children:[(0,i.jsxs)("select",{value:o||"",onChange:e=>d(e.target.value||void 0),className:"bg-[var(--sc-bg-elevated)] border border-[var(--sc-border)] text-[var(--sc-text-primary)] text-xs rounded-lg px-2 py-1",children:[(0,i.jsx)("option",{value:"",children:"All Results"}),(0,i.jsx)("option",{value:"ALLOW",children:"Allowed"}),(0,i.jsx)("option",{value:"BLOCK",children:"Blocked"}),(0,i.jsx)("option",{value:"QUARANTINE",children:"Quarantined"})]}),(0,i.jsxs)("select",{value:c||"",onChange:e=>l(e.target.value||void 0),className:"bg-[var(--sc-bg-elevated)] border border-[var(--sc-border)] text-[var(--sc-text-primary)] text-xs rounded-lg px-2 py-1",children:[(0,i.jsx)("option",{value:"",children:"All Sources"}),(0,i.jsx)("option",{value:"hook",children:"Hook"}),(0,i.jsx)("option",{value:"api",children:"API"}),(0,i.jsx)("option",{value:"agent",children:"Agent"}),(0,i.jsx)("option",{value:"user",children:"User"}),(0,i.jsx)("option",{value:"cli",children:"CLI"})]}),(0,i.jsx)("button",{onClick:()=>a(null),className:"ml-auto rounded-full border border-[var(--sc-border)] bg-[var(--sc-bg-surface)] px-3 py-1 text-xs text-[var(--sc-text-primary)] transition-colors hover:border-[var(--sc-border)] hover:text-[var(--sc-text-primary)]",children:"Clear selection"})]})]}),(0,i.jsxs)("div",{className:`grid gap-6 ${t?"xl:grid-cols-[minmax(0,1.35fr)_360px]":""}`,children:[(0,i.jsx)("div",{className:"glass-card overflow-hidden",children:h?(0,i.jsx)("div",{className:"flex items-center justify-center h-32",children:(0,i.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)] animate-pulse",children:"Loading audit logs..."})}):0===g.length?(0,i.jsx)("div",{className:"flex items-center justify-center h-32",children:(0,i.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)]",children:"No audit entries for this period"})}):(0,i.jsx)("div",{className:"overflow-x-auto",children:(0,i.jsxs)("table",{className:"w-full text-xs",children:[(0,i.jsx)("thead",{className:"bg-[var(--sc-bg-deep)]",children:(0,i.jsxs)("tr",{className:"border-b border-[var(--sc-border)]",children:[(0,i.jsx)("th",{className:"text-left text-[var(--sc-text-muted)] font-medium px-4 py-2",children:"Time"}),(0,i.jsx)("th",{className:"text-left text-[var(--sc-text-muted)] font-medium px-4 py-2",children:"Source"}),(0,i.jsx)("th",{className:"text-left text-[var(--sc-text-muted)] font-medium px-4 py-2",children:"Result"}),(0,i.jsx)("th",{className:"text-left text-[var(--sc-text-muted)] font-medium px-4 py-2",children:"Trust"}),(0,i.jsx)("th",{className:"text-left text-[var(--sc-text-muted)] font-medium px-4 py-2",children:"Anomaly"}),(0,i.jsx)("th",{className:"text-left text-[var(--sc-text-muted)] font-medium px-4 py-2",children:"Reason"})]})}),(0,i.jsx)("tbody",{children:g.map(e=>(0,i.jsxs)("tr",{onClick:()=>{a(t?.id===e.id?null:e)},className:`border-b border-[var(--sc-border)] cursor-pointer transition-colors ${t?.id===e.id?"bg-[var(--sc-cyan)]/10 hover:bg-[var(--sc-cyan)]/15":"hover:bg-[var(--sc-surface-interactive)]"}`,children:[(0,i.jsx)("td",{className:"px-4 py-2 text-[var(--sc-text-secondary)] whitespace-nowrap",children:new Date(e.timestamp).toLocaleString()}),(0,i.jsx)("td",{className:"px-4 py-2 text-[var(--sc-text-primary)]",children:e.source_type}),(0,i.jsx)("td",{className:"px-4 py-2",children:(0,i.jsx)("span",{className:`px-1.5 py-0.5 rounded text-[10px] font-medium ${e9[e.firewall_result]||"text-[var(--sc-text-secondary)]"}`,children:e.firewall_result})}),(0,i.jsx)("td",{className:"px-4 py-2 text-[var(--sc-text-secondary)]",children:e.trust_score.toFixed(1)}),(0,i.jsx)("td",{className:"px-4 py-2",children:(0,i.jsx)("span",{className:e.anomaly_score>.5?"text-[var(--sc-coral)]":e.anomaly_score>.2?"text-[var(--sc-amber)]":"text-[var(--sc-text-secondary)]",children:e.anomaly_score.toFixed(2)})}),(0,i.jsx)("td",{className:"px-4 py-2 text-[var(--sc-text-secondary)] max-w-xs truncate",children:e.reason||"—"})]},e.id))})]})})}),t&&(0,i.jsx)("div",{className:"xl:sticky xl:top-6 self-start",children:(0,i.jsx)(e6,{entry:t,onClose:()=>a(null)})})]}),(0,i.jsxs)("details",{className:"glass-card p-6",children:[(0,i.jsx)("summary",{className:"cursor-pointer list-none text-sm font-medium text-[var(--sc-text-primary)]",children:"Export audit trail"}),(0,i.jsx)("div",{className:"mt-4",children:(0,i.jsx)(eF,{})})]})]})}function tt(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"contents theme-glass:hidden",children:(0,i.jsx)(e7,{})}),(0,i.jsx)("div",{className:"hidden theme-glass:contents",children:(0,i.jsx)(te,{})})]})}var ta=e.i(45434),tr=e.i(19331);let ts={critical:"border-[var(--sc-coral)]/30 bg-[var(--sc-coral)]/10 text-[var(--sc-coral)]",high:"border-[var(--sc-coral)]/30 bg-[var(--sc-coral)]/10 text-[var(--sc-coral)]",medium:"border-[var(--sc-amber)]/30 bg-[var(--sc-amber)]/10 text-[var(--sc-amber)]",low:"border-[var(--sc-border)] bg-[var(--sc-bg-elevated)]/80 text-[var(--sc-text-primary)]"},tc={approved:"bg-[var(--sc-cyan)]/10 text-[var(--sc-cyan)]",denied:"bg-[var(--sc-amber)]/10 text-[var(--sc-amber)]",auto_denied:"bg-[var(--sc-coral)]/10 text-[var(--sc-coral)]",warned:"bg-[var(--sc-amber)]/10 text-[var(--sc-amber)]",logged:"bg-[var(--sc-bg-elevated)] text-[var(--sc-text-primary)]",failure_allowed:"bg-[var(--sc-cyan)]/10 text-[var(--sc-cyan)]",failure_denied:"bg-[var(--sc-coral)]/10 text-[var(--sc-coral)]"};function ti(){let[e,t]=(0,n.useState)(""),[a,r]=(0,n.useState)(""),[s,c]=(0,n.useState)(""),{data:l,isLoading:o}=I({limit:100,severity:e||void 0,outcome:a||void 0,tool:s||void 0}),x=l?.entries??[],m=l?.summary,u=(0,n.useMemo)(()=>(m?.topTools??[]).map(e=>e.tool),[m?.topTools]);return(0,i.jsxs)("div",{className:"space-y-6",children:[(0,i.jsxs)("div",{className:"glass-card p-6",children:[(0,i.jsxs)("div",{className:"grid gap-3 md:grid-cols-4",children:[(0,i.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/60 p-4",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 text-[10px] uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:[(0,i.jsx)(ta.Activity,{size:12}),"Total"]}),(0,i.jsx)("div",{className:"mt-2 text-xl font-semibold text-[var(--sc-text-primary)]",children:m?.total??0})]}),(0,i.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/60 p-4",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 text-[10px] uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:[(0,i.jsx)(O.CheckCircle2,{size:12}),"Approved"]}),(0,i.jsx)("div",{className:"mt-2 text-xl font-semibold text-[var(--sc-cyan)]",children:m?.approved??0})]}),(0,i.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/60 p-4",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 text-[10px] uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:[(0,i.jsx)(d.AlertTriangle,{size:12}),"Denied"]}),(0,i.jsx)("div",{className:"mt-2 text-xl font-semibold text-[var(--sc-amber)]",children:m?.denied??0})]}),(0,i.jsxs)("div",{className:"rounded-xl border border-[var(--sc-border)] bg-[var(--sc-bg-deep)]/60 p-4",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 text-[10px] uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:[(0,i.jsx)(p.ShieldAlert,{size:12}),"Failures"]}),(0,i.jsx)("div",{className:"mt-2 text-xl font-semibold text-[var(--sc-coral)]",children:m?.failures??0})]})]}),(0,i.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,i.jsxs)("select",{value:e,onChange:e=>t(e.target.value),className:"rounded-lg border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-3 py-1.5 text-xs text-[var(--sc-text-primary)]",children:[(0,i.jsx)("option",{value:"",children:"All severities"}),(0,i.jsx)("option",{value:"critical",children:"Critical"}),(0,i.jsx)("option",{value:"high",children:"High"}),(0,i.jsx)("option",{value:"medium",children:"Medium"}),(0,i.jsx)("option",{value:"low",children:"Low"})]}),(0,i.jsxs)("select",{value:a,onChange:e=>r(e.target.value),className:"rounded-lg border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-3 py-1.5 text-xs text-[var(--sc-text-primary)]",children:[(0,i.jsx)("option",{value:"",children:"All outcomes"}),(0,i.jsx)("option",{value:"approved",children:"Approved"}),(0,i.jsx)("option",{value:"denied",children:"Denied"}),(0,i.jsx)("option",{value:"auto_denied",children:"Auto denied"}),(0,i.jsx)("option",{value:"warned",children:"Warned"}),(0,i.jsx)("option",{value:"logged",children:"Logged"}),(0,i.jsx)("option",{value:"failure_allowed",children:"Failure allowed"}),(0,i.jsx)("option",{value:"failure_denied",children:"Failure denied"})]}),(0,i.jsxs)("select",{value:s,onChange:e=>c(e.target.value),className:"rounded-lg border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-3 py-1.5 text-xs text-[var(--sc-text-primary)]",children:[(0,i.jsx)("option",{value:"",children:"Top tools"}),u.map(e=>(0,i.jsx)("option",{value:e,children:e},e))]})]})]}),(0,i.jsx)("div",{className:"glass-card-strong p-5 overflow-hidden",children:o?(0,i.jsx)("div",{className:"flex h-32 items-center justify-center text-sm text-[var(--sc-text-secondary)]",children:"Loading interceptor events…"}):0===x.length?(0,i.jsx)("div",{className:"flex h-32 items-center justify-center text-sm text-[var(--sc-text-secondary)]",children:"No interceptor events found for the current filters."}):(0,i.jsx)("div",{className:"divide-y divide-[var(--sc-border)]",children:x.map((e,t)=>(0,i.jsxs)("div",{className:"grid gap-4 px-5 py-4 lg:grid-cols-[220px_minmax(0,1fr)_220px]",children:[(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 text-xs text-[var(--sc-text-muted)]",children:[(0,i.jsx)(tr.Clock3,{size:12}),new Date(e.ts).toLocaleString()]}),(0,i.jsx)("div",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:e.tool}),(0,i.jsx)("div",{className:`inline-flex rounded-full border px-2.5 py-1 text-[11px] ${ts[e.severity]??ts.low}`,children:e.severity.toUpperCase()})]}),(0,i.jsxs)("div",{className:"min-w-0",children:[(0,i.jsx)("div",{className:"text-xs uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:"Preview"}),(0,i.jsx)("p",{className:"mt-2 line-clamp-4 text-sm leading-6 text-[var(--sc-text-primary)]",children:e.preview||"No preview captured."}),(0,i.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(e.threats??[]).map(e=>(0,i.jsx)("span",{className:"rounded-full border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-2.5 py-1 text-[11px] text-[var(--sc-text-primary)]",children:e},e)),(!e.threats||0===e.threats.length)&&(0,i.jsx)("span",{className:"rounded-full border border-[var(--sc-border)] bg-[var(--sc-bg-elevated)] px-2.5 py-1 text-[11px] text-[var(--sc-text-secondary)]",children:"No explicit threat tags"})]})]}),(0,i.jsxs)("div",{className:"space-y-3",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"text-[10px] uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:"Outcome"}),(0,i.jsx)("div",{className:`mt-1 inline-flex rounded-full px-2.5 py-1 text-[11px] ${tc[e.outcome]??tc.logged}`,children:e.outcome.replace(/_/g," ")})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"text-[10px] uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:"Firewall"}),(0,i.jsx)("div",{className:"mt-1 text-sm text-[var(--sc-text-primary)]",children:e.firewallResult})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"text-[10px] uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:"Action"}),(0,i.jsx)("div",{className:"mt-1 text-sm text-[var(--sc-text-primary)]",children:e.action})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"text-[10px] uppercase tracking-[0.18em] text-[var(--sc-text-muted)]",children:"Anomaly score"}),(0,i.jsx)("div",{className:"mt-1 text-sm text-[var(--sc-text-primary)]",children:e.anomalyScore.toFixed(2)})]})]})]},`${e.ts}-${e.tool}-${t}`))})})]})}let tl=(0,x.default)("toggle-left",[["circle",{cx:"9",cy:"12",r:"3",key:"u3jwor"}],["rect",{width:"20",height:"14",x:"2",y:"5",rx:"7",key:"g7kal2"}]]),tn=(0,x.default)("toggle-right",[["circle",{cx:"15",cy:"12",r:"3",key:"1afu0r"}],["rect",{width:"20",height:"14",x:"2",y:"5",rx:"7",key:"g7kal2"}]]),to=g.default.env.NEXT_PUBLIC_API_URL||"http://localhost:3001";function td(){let e,t,a,r,{data:s,isLoading:c,isLocked:l}={...e=(0,b.useQuery)({queryKey:["firewall-rules"],queryFn:()=>(0,f.gatedFetch)(`${to}/api/firewall-rules`).then(e=>{if(!e.ok)throw Error("Failed to fetch firewall rules");return e.json()}),retry:(e,t)=>!(t instanceof f.FeatureLockedError)&&e<2,refetchInterval:3e4}),isLocked:e.error instanceof f.FeatureLockedError},o=(t=(0,j.useQueryClient)(),(0,y.useMutation)({mutationFn:e=>(0,f.gatedFetch)(`${to}/api/firewall-rules`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(e=>e.ok?e.json():e.json().then(e=>{throw Error(e.error)})),onSuccess:()=>{t.invalidateQueries({queryKey:["firewall-rules"]})}})),d=(a=(0,j.useQueryClient)(),(0,y.useMutation)({mutationFn:({id:e,...t})=>(0,f.gatedFetch)(`${to}/api/firewall-rules/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then(e=>e.ok?e.json():e.json().then(e=>{throw Error(e.error)})),onSuccess:()=>{a.invalidateQueries({queryKey:["firewall-rules"]})}})),x=(r=(0,j.useQueryClient)(),(0,y.useMutation)({mutationFn:e=>(0,f.gatedFetch)(`${to}/api/firewall-rules/${e}`,{method:"DELETE"}).then(e=>e.ok?e.json():e.json().then(e=>{throw Error(e.error)})),onSuccess:()=>{r.invalidateQueries({queryKey:["firewall-rules"]})}})),[m,p]=(0,n.useState)(!1),[v,h]=(0,n.useState)({name:"",priority:100,condition_type:"regex",condition_value:"",action:"block"}),g=s?.rules??[];return l?(0,i.jsx)(tx,{}):(0,i.jsxs)("div",{className:"space-y-3",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)(u.Shield,{size:16,className:"text-[var(--sc-cyan)]"}),(0,i.jsx)("h3",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:"Custom Firewall Rules"}),(0,i.jsxs)("span",{className:"text-xs text-[var(--sc-text-muted)]",children:[g.length,"/25"]})]}),(0,i.jsxs)("button",{onClick:()=>p(!m),className:"flex items-center gap-1 px-2 py-1 text-xs bg-[var(--sc-cyan)]/20 text-[var(--sc-cyan)] rounded hover:bg-[var(--sc-cyan)]/30 transition-colors",children:[(0,i.jsx)(J,{size:12})," Add Rule"]})]}),m&&(0,i.jsxs)("form",{onSubmit:e=>{e.preventDefault(),o.mutate(v,{onSuccess:()=>{p(!1),h({name:"",priority:100,condition_type:"regex",condition_value:"",action:"block"})}})},className:"p-3 bg-[var(--sc-bg-elevated)]/50 rounded-lg space-y-2",children:[(0,i.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,i.jsx)("input",{value:v.name,onChange:e=>h(t=>({...t,name:e.target.value})),placeholder:"Rule name",required:!0,className:"px-2 py-1.5 text-xs bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)]"}),(0,i.jsx)("input",{value:v.priority,onChange:e=>h(t=>({...t,priority:Number(e.target.value)})),type:"number",placeholder:"Priority",className:"px-2 py-1.5 text-xs bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded text-[var(--sc-text-primary)]"})]}),(0,i.jsxs)("div",{className:"grid grid-cols-3 gap-2",children:[(0,i.jsxs)("select",{value:v.condition_type,onChange:e=>h(t=>({...t,condition_type:e.target.value})),className:"px-2 py-1.5 text-xs bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded text-[var(--sc-text-primary)]",children:[(0,i.jsx)("option",{value:"regex",children:"Regex"}),(0,i.jsx)("option",{value:"source",children:"Source"}),(0,i.jsx)("option",{value:"keyword",children:"Keyword"})]}),(0,i.jsx)("input",{value:v.condition_value,onChange:e=>h(t=>({...t,condition_value:e.target.value})),placeholder:"Condition value",required:!0,className:"px-2 py-1.5 text-xs bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded text-[var(--sc-text-primary)] placeholder:text-[var(--sc-text-muted)]"}),(0,i.jsxs)("select",{value:v.action,onChange:e=>h(t=>({...t,action:e.target.value})),className:"px-2 py-1.5 text-xs bg-[var(--sc-bg-surface)] border border-[var(--sc-border)] rounded text-[var(--sc-text-primary)]",children:[(0,i.jsx)("option",{value:"block",children:"Block"}),(0,i.jsx)("option",{value:"quarantine",children:"Quarantine"}),(0,i.jsx)("option",{value:"allow",children:"Allow"})]})]}),(0,i.jsxs)("div",{className:"flex gap-2",children:[(0,i.jsx)("button",{type:"submit",disabled:o.isPending,className:"px-3 py-1 text-xs bg-[var(--sc-cyan)] text-[var(--sc-text-primary)] rounded hover:bg-[var(--sc-cyan)]/80 disabled:opacity-50",children:o.isPending?"Creating...":"Create"}),(0,i.jsx)("button",{type:"button",onClick:()=>p(!1),className:"px-3 py-1 text-xs text-[var(--sc-text-secondary)] hover:text-[var(--sc-text-primary)]",children:"Cancel"})]}),o.error&&(0,i.jsx)("p",{className:"text-xs text-[var(--sc-coral)]",children:o.error.message})]}),c?(0,i.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)] py-4 text-center",children:"Loading rules..."}):0===g.length?(0,i.jsx)("div",{className:"text-xs text-[var(--sc-text-muted)] py-4 text-center",children:'No custom rules yet. Click "Add Rule" to create one.'}):(0,i.jsx)("div",{className:"space-y-1",children:g.map(e=>(0,i.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2 bg-[var(--sc-bg-elevated)]/30 rounded text-xs",children:[(0,i.jsx)("span",{className:"text-[var(--sc-text-secondary)] w-6 text-right",children:e.priority}),(0,i.jsx)("span",{className:"text-[var(--sc-text-primary)] flex-1",children:e.name}),(0,i.jsx)("code",{className:"text-[var(--sc-text-muted)] text-[10px] max-w-[120px] truncate",children:e.condition_value}),(0,i.jsx)("span",{className:`px-1.5 py-0.5 rounded text-[10px] font-medium ${"block"===e.action?"bg-[var(--sc-coral)]/20 text-[var(--sc-coral)]":"quarantine"===e.action?"bg-[var(--sc-amber)]/20 text-[var(--sc-amber)]":"bg-[var(--sc-cyan)]/20 text-[var(--sc-cyan)]"}`,children:e.action}),(0,i.jsx)("button",{onClick:()=>d.mutate({id:e.id,enabled:+!e.enabled}),className:"text-[var(--sc-text-muted)] hover:text-[var(--sc-text-primary)]",title:e.enabled?"Disable":"Enable",children:e.enabled?(0,i.jsx)(tn,{size:14,className:"text-[var(--sc-cyan)]"}):(0,i.jsx)(tl,{size:14})}),(0,i.jsx)("button",{onClick:()=>x.mutate(e.id),className:"text-[var(--sc-text-muted)] hover:text-[var(--sc-coral)]",children:(0,i.jsx)(G.Trash2,{size:12})})]},e.id))})]})}function tx(){return(0,i.jsxs)("div",{className:"space-y-3",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)(u.Shield,{size:16,className:"text-[var(--sc-cyan)]"}),(0,i.jsx)("h3",{className:"text-sm font-medium text-[var(--sc-text-primary)]",children:"Custom Firewall Rules"}),(0,i.jsx)("span",{className:"text-xs text-[var(--sc-text-muted)]",children:"0/25"})]}),(0,i.jsx)("div",{className:"space-y-1",children:Y.map(e=>(0,i.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2 bg-[var(--sc-bg-elevated)]/30 rounded text-xs",children:[(0,i.jsx)("span",{className:"text-[var(--sc-text-secondary)] w-6 text-right",children:e.priority}),(0,i.jsx)("span",{className:"text-[var(--sc-text-primary)] flex-1",children:e.name}),(0,i.jsx)("code",{className:"text-[var(--sc-text-muted)] text-[10px] max-w-[120px] truncate",children:e.condition_value}),(0,i.jsx)("span",{className:`px-1.5 py-0.5 rounded text-[10px] font-medium ${"block"===e.action?"bg-[var(--sc-coral)]/20 text-[var(--sc-coral)]":"quarantine"===e.action?"bg-[var(--sc-amber)]/20 text-[var(--sc-amber)]":"bg-[var(--sc-cyan)]/20 text-[var(--sc-cyan)]"}`,children:e.action})]},e.id))})]})}function tm(){return(0,i.jsx)("div",{className:"bg-[var(--sc-bg-surface)]/50 border border-[var(--sc-border)] rounded-xl p-4",children:(0,i.jsx)(X.ProFeatureGate,{feature:"custom_firewall_rules",label:"Add custom rules to control what gets blocked, allowed, or quarantined.",children:(0,i.jsx)(td,{})})})}function tu(){return(0,i.jsx)("div",{className:"h-full overflow-y-auto bg-[var(--sc-bg-deep)]",children:(0,i.jsxs)("div",{className:"mx-auto max-w-7xl space-y-6 p-6",children:[(0,i.jsxs)("section",{className:"rounded-2xl border border-[var(--sc-border)] bg-[var(--sc-bg-surface)]/70 p-6",children:[(0,i.jsx)("div",{className:"text-[11px] uppercase tracking-[0.2em] text-[var(--sc-cyan)]",children:"Protection / Policies"}),(0,i.jsx)("h2",{className:"mt-3 text-3xl font-semibold text-[var(--sc-text-primary)]",children:"Policy management"}),(0,i.jsx)("p",{className:"mt-2 max-w-3xl text-sm text-[var(--sc-text-secondary)]",children:"Keep operator-tuned controls in one place. Firewall rules and Iron Dome policies should not be buried inside larger screens when they directly shape blocking, quarantine, and approval behavior."})]}),(0,i.jsxs)("div",{className:"grid gap-6 xl:grid-cols-2",children:[(0,i.jsx)(tm,{}),(0,i.jsx)(eo,{})]})]})})}function tp(){let e=(0,l.useSearchParams)().get("tab"),t=e&&["dome","quarantine","audit","intercepts","policies"].includes(e)?e:null,[a,r]=(0,n.useState)("dome"),s=t??a,{data:c}=$(),{data:o}=(0,z.useAuditStats)("24h"),{data:x}=(0,z.useQuarantine)("pending",10),{data:g}=I({limit:25}),b=[{id:"dome",label:"Iron Dome",icon:(0,i.jsx)(p.ShieldAlert,{size:14})},{id:"quarantine",label:"Quarantine",count:x?.total??0},{id:"audit",label:"Audit"},{id:"intercepts",label:"Intercepts",count:g?.summary?.total??0},{id:"policies",label:"Policies",locked:!1}];return(0,i.jsx)("div",{className:"h-full overflow-y-auto",children:(0,i.jsxs)("div",{className:"mx-auto max-w-7xl space-y-6 p-6",children:[(0,i.jsx)(h.PageHeader,{eyebrow:"Defence",title:"Protection",subtitle:"Active controls, review queues, and operator policy tuning.",tabs:b,activeTab:s,onTabChange:e=>r(e)}),(0,i.jsxs)("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-4",children:[(0,i.jsx)(v.StatCard,{label:"Iron Dome",value:c?.enabled?"Active":"Inactive",icon:u.Shield,accent:c?.enabled?"cyan":"muted"}),(0,i.jsx)(v.StatCard,{label:"Blocked (24h)",value:o?.blockedCount??0,icon:p.ShieldAlert,accent:o?.blockedCount?"coral":"muted"}),(0,i.jsx)(v.StatCard,{label:"Quarantine",value:x?.total??0,icon:d.AlertTriangle,accent:x?.total?"amber":"muted"}),(0,i.jsx)(v.StatCard,{label:"Intercepts",value:g?.summary?.total??0,icon:m,accent:"cyan"})]}),(0,i.jsxs)("div",{children:["dome"===s&&(0,i.jsx)(ep,{}),"quarantine"===s&&(0,i.jsx)(e_,{}),"audit"===s&&(0,i.jsx)(tt,{}),"intercepts"===s&&(0,i.jsx)(ti,{}),"policies"===s&&(0,i.jsx)(tu,{})]})]})})}function tv(){return(0,i.jsx)(n.Suspense,{fallback:(0,i.jsx)(o.PageSkeleton,{}),children:(0,i.jsx)(tp,{})})}e.s(["ProtectionOverview",()=>tv],27241)}]);
@@ -1 +0,0 @@
1
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-yellow-400:#fac800;--color-yellow-500:#edb200;--color-green-400:#05df72;--color-green-500:#00c758;--color-emerald-500:#00bb7f;--color-cyan-400:#00d2ef;--color-cyan-500:#00b7d7;--color-cyan-600:#0092b5;--color-cyan-700:#007492;--color-cyan-950:#053345;--color-blue-100:#dbeafe;--color-blue-300:#90c5ff;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-blue-700:#1447e6;--color-violet-950:#2f0d68;--color-purple-300:#d9b3ff;--color-purple-400:#c07eff;--color-purple-500:#ac4bff;--color-purple-600:#9810fa;--color-slate-900:#0f172b;--color-slate-950:#020618;--color-gray-400:#99a1af;--color-gray-600:#4a5565;--color-gray-700:#364153;--color-gray-800:#1e2939;--color-gray-900:#101828;--color-gray-950:#030712;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--blur-2xl:40px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-yellow-400:lab(83.2664% 8.65132 106.895);--color-yellow-500:lab(76.3898% 14.5258 98.4589);--color-green-400:lab(78.503% -64.9265 39.7492);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-cyan-400:lab(76.6045% -40.9406 -29.6231);--color-cyan-500:lab(67.805% -35.3952 -30.2018);--color-cyan-600:lab(55.1767% -26.7496 -30.5139);--color-cyan-700:lab(44.7267% -21.5987 -26.118);--color-cyan-950:lab(19.1528% -9.68757 -15.5267);--color-blue-100:lab(92.0301% -2.24757 -11.6453);--color-blue-300:lab(77.5052% -6.4629 -36.42);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-blue-700:lab(36.9089% 35.0961 -85.6872);--color-violet-950:lab(14.0706% 33.3353 -46.7553);--color-purple-300:lab(78.3298% 26.2195 -34.9499);--color-purple-400:lab(63.6946% 47.6127 -59.2066);--color-purple-500:lab(52.0183% 66.11 -78.2316);--color-purple-600:lab(43.0295% 75.21 -86.5669);--color-slate-900:lab(7.78673% 1.82345 -15.0537);--color-slate-950:lab(1.76974% 1.32743 -9.28855);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-600:lab(35.6337% -1.58697 -10.8425);--color-gray-700:lab(27.1134% -.956401 -12.3224);--color-gray-800:lab(16.1051% -1.18239 -11.7533);--color-gray-900:lab(8.11897% .811279 -12.254);--color-gray-950:lab(1.90334% .278696 -5.48866)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground);font-feature-settings:"ss01","cv01","cv11";font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}[data-theme=glass] body{font-family:var(--font-geist-sans),system-ui,-apple-system,sans-serif}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-0\.5{top:calc(var(--spacing)*-.5)}.top-0{top:calc(var(--spacing)*0)}.top-0\.5{top:calc(var(--spacing)*.5)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing)*-.5)}.right-0{right:calc(var(--spacing)*0)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.-bottom-0\.5{bottom:calc(var(--spacing)*-.5)}.-bottom-px{bottom:-1px}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-3{bottom:calc(var(--spacing)*3)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-full{bottom:100%}.-left-0\.5{left:calc(var(--spacing)*-.5)}.-left-5{left:calc(var(--spacing)*-5)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.col-span-full{grid-column:1/-1}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-m-1\.5{margin:calc(var(--spacing)*-1.5)}.m-2{margin:calc(var(--spacing)*2)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-0\.5{margin-inline:calc(var(--spacing)*.5)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.-mt-1{margin-top:calc(var(--spacing)*-1)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mr-0\.5{margin-right:calc(var(--spacing)*.5)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-2\.5{margin-bottom:calc(var(--spacing)*2.5)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-10{margin-left:calc(var(--spacing)*10)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.h-0{height:calc(var(--spacing)*0)}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-28{height:calc(var(--spacing)*28)}.h-32{height:calc(var(--spacing)*32)}.h-36{height:calc(var(--spacing)*36)}.h-40{height:calc(var(--spacing)*40)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-96{height:calc(var(--spacing)*96)}.h-\[12px\]{height:12px}.h-\[14px\]{height:14px}.h-\[120px\]{height:120px}.h-\[600px\]{height:600px}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:calc(var(--spacing)*24)}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-\[90vh\]{max-height:90vh}.max-h-\[160px\]{max-height:160px}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[500px\]{min-height:500px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:calc(var(--spacing)*0)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-36{width:calc(var(--spacing)*36)}.w-40{width:calc(var(--spacing)*40)}.w-48{width:calc(var(--spacing)*48)}.w-56{width:calc(var(--spacing)*56)}.w-60{width:calc(var(--spacing)*60)}.w-64{width:calc(var(--spacing)*64)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\[14px\]{width:14px}.w-\[220px\]{width:220px}.w-\[300px\]{width:300px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[120px\]{max-width:120px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[300px\]{max-width:300px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[1\.5rem\]{min-width:1.5rem}.min-w-\[14px\]{min-width:14px}.min-w-\[120px\]{min-width:120px}.min-w-\[200px\]{min-width:200px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0\.5{--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x:calc(1/2*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing)*5);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize-y{resize:vertical}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_80px_60px_60px_70px\]{grid-template-columns:1fr 80px 60px 60px 70px}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-5{column-gap:calc(var(--spacing)*5)}.gap-y-1\.5{row-gap:calc(var(--spacing)*1.5)}.gap-y-2{row-gap:calc(var(--spacing)*2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[var\(--sc-border\)\]>:not(:last-child)){border-color:var(--sc-border)}.self-center{align-self:center}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[36px\]{border-radius:36px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-sm{border-top-left-radius:calc(var(--radius) - 4px);border-top-right-radius:calc(var(--radius) - 4px)}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.\!border-\[var\(--sc-coral\)\]\/30{border-color:var(--sc-coral)!important}@supports (color:color-mix(in lab, red, red)){.\!border-\[var\(--sc-coral\)\]\/30{border-color:color-mix(in oklab,var(--sc-coral)30%,transparent)!important}}.\!border-\[var\(--sc-coral\)\]\/50{border-color:var(--sc-coral)!important}@supports (color:color-mix(in lab, red, red)){.\!border-\[var\(--sc-coral\)\]\/50{border-color:color-mix(in oklab,var(--sc-coral)50%,transparent)!important}}.border-\[var\(--sc-amber\)\]\/20{border-color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-amber\)\]\/20{border-color:color-mix(in oklab,var(--sc-amber)20%,transparent)}}.border-\[var\(--sc-amber\)\]\/25{border-color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-amber\)\]\/25{border-color:color-mix(in oklab,var(--sc-amber)25%,transparent)}}.border-\[var\(--sc-amber\)\]\/30{border-color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-amber\)\]\/30{border-color:color-mix(in oklab,var(--sc-amber)30%,transparent)}}.border-\[var\(--sc-amber\)\]\/35{border-color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-amber\)\]\/35{border-color:color-mix(in oklab,var(--sc-amber)35%,transparent)}}.border-\[var\(--sc-amber\)\]\/50{border-color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-amber\)\]\/50{border-color:color-mix(in oklab,var(--sc-amber)50%,transparent)}}.border-\[var\(--sc-border\)\],.border-\[var\(--sc-border\)\]\/30{border-color:var(--sc-border)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-border\)\]\/30{border-color:color-mix(in oklab,var(--sc-border)30%,transparent)}}.border-\[var\(--sc-border\)\]\/50{border-color:var(--sc-border)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-border\)\]\/50{border-color:color-mix(in oklab,var(--sc-border)50%,transparent)}}.border-\[var\(--sc-border\)\]\/60{border-color:var(--sc-border)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-border\)\]\/60{border-color:color-mix(in oklab,var(--sc-border)60%,transparent)}}.border-\[var\(--sc-border\)\]\/70{border-color:var(--sc-border)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-border\)\]\/70{border-color:color-mix(in oklab,var(--sc-border)70%,transparent)}}.border-\[var\(--sc-coral\)\],.border-\[var\(--sc-coral\)\]\/20{border-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-coral\)\]\/20{border-color:color-mix(in oklab,var(--sc-coral)20%,transparent)}}.border-\[var\(--sc-coral\)\]\/25{border-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-coral\)\]\/25{border-color:color-mix(in oklab,var(--sc-coral)25%,transparent)}}.border-\[var\(--sc-coral\)\]\/30{border-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-coral\)\]\/30{border-color:color-mix(in oklab,var(--sc-coral)30%,transparent)}}.border-\[var\(--sc-coral\)\]\/50{border-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-coral\)\]\/50{border-color:color-mix(in oklab,var(--sc-coral)50%,transparent)}}.border-\[var\(--sc-cyan\)\],.border-\[var\(--sc-cyan\)\]\/20{border-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-cyan\)\]\/20{border-color:color-mix(in oklab,var(--sc-cyan)20%,transparent)}}.border-\[var\(--sc-cyan\)\]\/25{border-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-cyan\)\]\/25{border-color:color-mix(in oklab,var(--sc-cyan)25%,transparent)}}.border-\[var\(--sc-cyan\)\]\/30{border-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-cyan\)\]\/30{border-color:color-mix(in oklab,var(--sc-cyan)30%,transparent)}}.border-\[var\(--sc-cyan\)\]\/40{border-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-cyan\)\]\/40{border-color:color-mix(in oklab,var(--sc-cyan)40%,transparent)}}.border-\[var\(--sc-cyan\)\]\/50{border-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-cyan\)\]\/50{border-color:color-mix(in oklab,var(--sc-cyan)50%,transparent)}}.border-\[var\(--sc-cyan\)\]\/60{border-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--sc-cyan\)\]\/60{border-color:color-mix(in oklab,var(--sc-cyan)60%,transparent)}}.border-\[var\(--term-border\)\]{border-color:var(--term-border)}.border-\[var\(--term-electric\)\]{border-color:var(--term-electric)}.border-\[var\(--term-neon\)\]{border-color:var(--term-neon)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.border-gray-800{border-color:var(--color-gray-800)}.border-input{border-color:var(--input)}.border-purple-500{border-color:var(--color-purple-500)}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-t-cyan-500{border-top-color:var(--color-cyan-500)}.border-t-transparent{border-top-color:#0000}.bg-\[\#0a0a0f\]{background-color:#0a0a0f}.bg-\[\#0a0a12\]{background-color:#0a0a12}.bg-\[\#2f241f\]{background-color:#2f241f}.bg-\[\#12121a\]{background-color:#12121a}.bg-\[\#c85f34\]{background-color:#c85f34}.bg-\[\#eef6f3\]{background-color:#eef6f3}.bg-\[\#fff5ec\]{background-color:#fff5ec}.bg-\[var\(--sc-amber\)\],.bg-\[var\(--sc-amber\)\]\/5{background-color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-amber\)\]\/5{background-color:color-mix(in oklab,var(--sc-amber)5%,transparent)}}.bg-\[var\(--sc-amber\)\]\/8{background-color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-amber\)\]\/8{background-color:color-mix(in oklab,var(--sc-amber)8%,transparent)}}.bg-\[var\(--sc-amber\)\]\/10{background-color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-amber\)\]\/10{background-color:color-mix(in oklab,var(--sc-amber)10%,transparent)}}.bg-\[var\(--sc-amber\)\]\/15{background-color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-amber\)\]\/15{background-color:color-mix(in oklab,var(--sc-amber)15%,transparent)}}.bg-\[var\(--sc-amber\)\]\/20{background-color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-amber\)\]\/20{background-color:color-mix(in oklab,var(--sc-amber)20%,transparent)}}.bg-\[var\(--sc-bg-deep\)\],.bg-\[var\(--sc-bg-deep\)\]\/30{background-color:var(--sc-bg-deep)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-deep\)\]\/30{background-color:color-mix(in oklab,var(--sc-bg-deep)30%,transparent)}}.bg-\[var\(--sc-bg-deep\)\]\/40{background-color:var(--sc-bg-deep)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-deep\)\]\/40{background-color:color-mix(in oklab,var(--sc-bg-deep)40%,transparent)}}.bg-\[var\(--sc-bg-deep\)\]\/50{background-color:var(--sc-bg-deep)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-deep\)\]\/50{background-color:color-mix(in oklab,var(--sc-bg-deep)50%,transparent)}}.bg-\[var\(--sc-bg-deep\)\]\/60{background-color:var(--sc-bg-deep)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-deep\)\]\/60{background-color:color-mix(in oklab,var(--sc-bg-deep)60%,transparent)}}.bg-\[var\(--sc-bg-deep\)\]\/70{background-color:var(--sc-bg-deep)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-deep\)\]\/70{background-color:color-mix(in oklab,var(--sc-bg-deep)70%,transparent)}}.bg-\[var\(--sc-bg-deep\)\]\/80{background-color:var(--sc-bg-deep)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-deep\)\]\/80{background-color:color-mix(in oklab,var(--sc-bg-deep)80%,transparent)}}.bg-\[var\(--sc-bg-deep\)\]\/90{background-color:var(--sc-bg-deep)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-deep\)\]\/90{background-color:color-mix(in oklab,var(--sc-bg-deep)90%,transparent)}}.bg-\[var\(--sc-bg-elevated\)\],.bg-\[var\(--sc-bg-elevated\)\]\/10{background-color:var(--sc-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-elevated\)\]\/10{background-color:color-mix(in oklab,var(--sc-bg-elevated)10%,transparent)}}.bg-\[var\(--sc-bg-elevated\)\]\/20{background-color:var(--sc-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-elevated\)\]\/20{background-color:color-mix(in oklab,var(--sc-bg-elevated)20%,transparent)}}.bg-\[var\(--sc-bg-elevated\)\]\/30{background-color:var(--sc-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-elevated\)\]\/30{background-color:color-mix(in oklab,var(--sc-bg-elevated)30%,transparent)}}.bg-\[var\(--sc-bg-elevated\)\]\/50{background-color:var(--sc-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-elevated\)\]\/50{background-color:color-mix(in oklab,var(--sc-bg-elevated)50%,transparent)}}.bg-\[var\(--sc-bg-elevated\)\]\/60{background-color:var(--sc-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-elevated\)\]\/60{background-color:color-mix(in oklab,var(--sc-bg-elevated)60%,transparent)}}.bg-\[var\(--sc-bg-elevated\)\]\/70{background-color:var(--sc-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-elevated\)\]\/70{background-color:color-mix(in oklab,var(--sc-bg-elevated)70%,transparent)}}.bg-\[var\(--sc-bg-elevated\)\]\/80{background-color:var(--sc-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-elevated\)\]\/80{background-color:color-mix(in oklab,var(--sc-bg-elevated)80%,transparent)}}.bg-\[var\(--sc-bg-surface\)\],.bg-\[var\(--sc-bg-surface\)\]\/30{background-color:var(--sc-bg-surface)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-surface\)\]\/30{background-color:color-mix(in oklab,var(--sc-bg-surface)30%,transparent)}}.bg-\[var\(--sc-bg-surface\)\]\/40{background-color:var(--sc-bg-surface)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-surface\)\]\/40{background-color:color-mix(in oklab,var(--sc-bg-surface)40%,transparent)}}.bg-\[var\(--sc-bg-surface\)\]\/50{background-color:var(--sc-bg-surface)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-surface\)\]\/50{background-color:color-mix(in oklab,var(--sc-bg-surface)50%,transparent)}}.bg-\[var\(--sc-bg-surface\)\]\/60{background-color:var(--sc-bg-surface)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-surface\)\]\/60{background-color:color-mix(in oklab,var(--sc-bg-surface)60%,transparent)}}.bg-\[var\(--sc-bg-surface\)\]\/70{background-color:var(--sc-bg-surface)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-bg-surface\)\]\/70{background-color:color-mix(in oklab,var(--sc-bg-surface)70%,transparent)}}.bg-\[var\(--sc-border\)\],.bg-\[var\(--sc-border\)\]\/30{background-color:var(--sc-border)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-border\)\]\/30{background-color:color-mix(in oklab,var(--sc-border)30%,transparent)}}.bg-\[var\(--sc-card-bg\)\]{background-color:var(--sc-card-bg)}.bg-\[var\(--sc-card-bg-strong\)\]{background-color:var(--sc-card-bg-strong)}.bg-\[var\(--sc-coral\)\],.bg-\[var\(--sc-coral\)\]\/5{background-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-coral\)\]\/5{background-color:color-mix(in oklab,var(--sc-coral)5%,transparent)}}.bg-\[var\(--sc-coral\)\]\/8{background-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-coral\)\]\/8{background-color:color-mix(in oklab,var(--sc-coral)8%,transparent)}}.bg-\[var\(--sc-coral\)\]\/10{background-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-coral\)\]\/10{background-color:color-mix(in oklab,var(--sc-coral)10%,transparent)}}.bg-\[var\(--sc-coral\)\]\/15{background-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-coral\)\]\/15{background-color:color-mix(in oklab,var(--sc-coral)15%,transparent)}}.bg-\[var\(--sc-coral\)\]\/20{background-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-coral\)\]\/20{background-color:color-mix(in oklab,var(--sc-coral)20%,transparent)}}.bg-\[var\(--sc-coral\)\]\/30{background-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-coral\)\]\/30{background-color:color-mix(in oklab,var(--sc-coral)30%,transparent)}}.bg-\[var\(--sc-cyan\)\],.bg-\[var\(--sc-cyan\)\]\/5{background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-cyan\)\]\/5{background-color:color-mix(in oklab,var(--sc-cyan)5%,transparent)}}.bg-\[var\(--sc-cyan\)\]\/8{background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-cyan\)\]\/8{background-color:color-mix(in oklab,var(--sc-cyan)8%,transparent)}}.bg-\[var\(--sc-cyan\)\]\/10{background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-cyan\)\]\/10{background-color:color-mix(in oklab,var(--sc-cyan)10%,transparent)}}.bg-\[var\(--sc-cyan\)\]\/15{background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-cyan\)\]\/15{background-color:color-mix(in oklab,var(--sc-cyan)15%,transparent)}}.bg-\[var\(--sc-cyan\)\]\/20{background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-cyan\)\]\/20{background-color:color-mix(in oklab,var(--sc-cyan)20%,transparent)}}.bg-\[var\(--sc-cyan\)\]\/30{background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-cyan\)\]\/30{background-color:color-mix(in oklab,var(--sc-cyan)30%,transparent)}}.bg-\[var\(--sc-cyan\)\]\/40{background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-cyan\)\]\/40{background-color:color-mix(in oklab,var(--sc-cyan)40%,transparent)}}.bg-\[var\(--sc-cyan\)\]\/60{background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-cyan\)\]\/60{background-color:color-mix(in oklab,var(--sc-cyan)60%,transparent)}}.bg-\[var\(--sc-cyan\)\]\/80{background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--sc-cyan\)\]\/80{background-color:color-mix(in oklab,var(--sc-cyan)80%,transparent)}}.bg-\[var\(--sc-surface-interactive\)\]{background-color:var(--sc-surface-interactive)}.bg-\[var\(--sc-text-muted\)\]{background-color:var(--sc-text-muted)}.bg-\[var\(--term-bg\)\]{background-color:var(--term-bg)}.bg-\[var\(--term-danger\)\]{background-color:var(--term-danger)}.bg-\[var\(--term-electric\)\]{background-color:var(--term-electric)}.bg-\[var\(--term-light-green\)\]{background-color:var(--term-light-green)}.bg-\[var\(--term-light-red\)\]{background-color:var(--term-light-red)}.bg-\[var\(--term-light-yellow\)\]{background-color:var(--term-light-yellow)}.bg-\[var\(--term-neon\)\]{background-color:var(--term-neon)}.bg-\[var\(--term-surface\)\]{background-color:var(--term-surface)}.bg-\[var\(--term-surface-2\)\]{background-color:var(--term-surface-2)}.bg-\[var\(--term-text-muted\)\]{background-color:var(--term-text-muted)}.bg-\[var\(--term-warn\)\]{background-color:var(--term-warn)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab, red, red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-400\/10{background-color:#54a2ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-400\/10{background-color:color-mix(in oklab,var(--color-blue-400)10%,transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-blue-500\/30{background-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/30{background-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-600\/30{background-color:#155dfc4d}@supports (color:color-mix(in lab, red, red)){.bg-blue-600\/30{background-color:color-mix(in oklab,var(--color-blue-600)30%,transparent)}}.bg-blue-600\/80{background-color:#155dfccc}@supports (color:color-mix(in lab, red, red)){.bg-blue-600\/80{background-color:color-mix(in oklab,var(--color-blue-600)80%,transparent)}}.bg-card{background-color:var(--card)}.bg-cyan-600{background-color:var(--color-cyan-600)}.bg-destructive{background-color:var(--destructive)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-950{background-color:var(--color-gray-950)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-primary{background-color:var(--primary)}.bg-purple-400{background-color:var(--color-purple-400)}.bg-purple-400\/10{background-color:#c07eff1a}@supports (color:color-mix(in lab, red, red)){.bg-purple-400\/10{background-color:color-mix(in oklab,var(--color-purple-400)10%,transparent)}}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.bg-purple-500\/30{background-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/30{background-color:color-mix(in oklab,var(--color-purple-500)30%,transparent)}}.bg-purple-600\/30{background-color:#9810fa4d}@supports (color:color-mix(in lab, red, red)){.bg-purple-600\/30{background-color:color-mix(in oklab,var(--color-purple-600)30%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-slate-950{background-color:var(--color-slate-950)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/10{background-color:color-mix(in oklab,var(--color-yellow-500)10%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[linear-gradient\(135deg\,\#fef7ef_0\%\,\#f7efe7_100\%\)\]{background-image:linear-gradient(135deg,#fef7ef 0%,#f7efe7 100%)}.bg-\[linear-gradient\(135deg\,\#fff7ef_0\%\,\#fff2de_54\%\,\#f6ebdf_100\%\)\]{background-image:linear-gradient(135deg,#fff7ef 0%,#fff2de 54%,#f6ebdf 100%)}.bg-\[radial-gradient\(circle_at_top_left\,_rgba\(240\,142\,94\,0\.22\)\,_transparent_34\%\)\,radial-gradient\(circle_at_top_right\,_rgba\(51\,110\,108\,0\.14\)\,_transparent_28\%\)\,linear-gradient\(180deg\,_\#f8f2ea_0\%\,_\#f4ede4_38\%\,_\#efe7dc_100\%\)\]{background-image:radial-gradient(circle at 0 0,#f08e5e38,#0000 34%),radial-gradient(circle at 100% 0,#336e6c24,#0000 28%),linear-gradient(#f8f2ea 0%,#f4ede4 38%,#efe7dc 100%)}.from-\[var\(--sc-bg-deep\)\]{--tw-gradient-from:var(--sc-bg-deep);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[var\(--sc-coral\)\]{--tw-gradient-from:var(--sc-coral);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[var\(--sc-coral\)\]\/5{--tw-gradient-from:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.from-\[var\(--sc-coral\)\]\/5{--tw-gradient-from:color-mix(in oklab,var(--sc-coral)5%,transparent)}}.from-\[var\(--sc-coral\)\]\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-cyan-600{--tw-gradient-from:var(--color-cyan-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-900{--tw-gradient-from:var(--color-slate-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-\[var\(--sc-bg-surface\)\]{--tw-gradient-via:var(--sc-bg-surface);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-yellow-500{--tw-gradient-via:var(--color-yellow-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\[var\(--sc-coral-dark\)\]{--tw-gradient-to:var(--sc-coral-dark);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[var\(--sc-cyan\)\]\/5{--tw-gradient-to:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.to-\[var\(--sc-cyan\)\]\/5{--tw-gradient-to:color-mix(in oklab,var(--sc-cyan)5%,transparent)}}.to-\[var\(--sc-cyan\)\]\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-400{--tw-gradient-to:var(--color-cyan-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-950\/15{--tw-gradient-to:#05334526}@supports (color:color-mix(in lab, red, red)){.to-cyan-950\/15{--tw-gradient-to:color-mix(in oklab,var(--color-cyan-950)15%,transparent)}}.to-cyan-950\/15{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-950\/20{--tw-gradient-to:#05334533}@supports (color:color-mix(in lab, red, red)){.to-cyan-950\/20{--tw-gradient-to:color-mix(in oklab,var(--color-cyan-950)20%,transparent)}}.to-cyan-950\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-950\/30{--tw-gradient-to:#0533454d}@supports (color:color-mix(in lab, red, red)){.to-cyan-950\/30{--tw-gradient-to:color-mix(in oklab,var(--color-cyan-950)30%,transparent)}}.to-cyan-950\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-500{--tw-gradient-to:var(--color-green-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-violet-950\/20{--tw-gradient-to:#2f0d6833}@supports (color:color-mix(in lab, red, red)){.to-violet-950\/20{--tw-gradient-to:color-mix(in oklab,var(--color-violet-950)20%,transparent)}}.to-violet-950\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-0\.5{padding-top:calc(var(--spacing)*.5)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-2\.5{padding-top:calc(var(--spacing)*2.5)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-6{padding-right:calc(var(--spacing)*6)}.pr-10{padding-right:calc(var(--spacing)*10)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-7{padding-left:calc(var(--spacing)*7)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-geist-mono)}.font-sans{font-family:var(--font-geist-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#c85f34\]{color:#c85f34}.text-\[var\(--sc-amber\)\],.text-\[var\(--sc-amber\)\]\/60{color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.text-\[var\(--sc-amber\)\]\/60{color:color-mix(in oklab,var(--sc-amber)60%,transparent)}}.text-\[var\(--sc-amber\)\]\/80{color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.text-\[var\(--sc-amber\)\]\/80{color:color-mix(in oklab,var(--sc-amber)80%,transparent)}}.text-\[var\(--sc-bg-deep\)\]{color:var(--sc-bg-deep)}.text-\[var\(--sc-border\)\]{color:var(--sc-border)}.text-\[var\(--sc-coral\)\],.text-\[var\(--sc-coral\)\]\/80{color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.text-\[var\(--sc-coral\)\]\/80{color:color-mix(in oklab,var(--sc-coral)80%,transparent)}}.text-\[var\(--sc-coral-mid\)\]{color:var(--sc-coral-mid)}.text-\[var\(--sc-cyan\)\],.text-\[var\(--sc-cyan\)\]\/60{color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.text-\[var\(--sc-cyan\)\]\/60{color:color-mix(in oklab,var(--sc-cyan)60%,transparent)}}.text-\[var\(--sc-cyan\)\]\/80{color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.text-\[var\(--sc-cyan\)\]\/80{color:color-mix(in oklab,var(--sc-cyan)80%,transparent)}}.text-\[var\(--sc-text-muted\)\]{color:var(--sc-text-muted)}.text-\[var\(--sc-text-primary\)\]{color:var(--sc-text-primary)}.text-\[var\(--sc-text-secondary\)\]{color:var(--sc-text-secondary)}.text-\[var\(--term-danger\)\]{color:var(--term-danger)}.text-\[var\(--term-electric-fg\)\]{color:var(--term-electric-fg)}.text-\[var\(--term-neon-fg\)\]{color:var(--term-neon-fg)}.text-\[var\(--term-text\)\]{color:var(--term-text)}.text-\[var\(--term-text-dim\)\]{color:var(--term-text-dim)}.text-\[var\(--term-text-faint\)\]{color:var(--term-text-faint)}.text-\[var\(--term-text-muted\)\]{color:var(--term-text-muted)}.text-\[var\(--term-warn\)\]{color:var(--term-warn)}.text-blue-100{color:var(--color-blue-100)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-card-foreground{color:var(--card-foreground)}.text-gray-400{color:var(--color-gray-400)}.text-green-400{color:var(--color-green-400)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-300{color:var(--color-purple-300)}.text-purple-400{color:var(--color-purple-400)}.text-red-400{color:var(--color-red-400)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-\[var\(--sc-text-muted\)\]::placeholder{color:var(--sc-text-muted)}.accent-\[var\(--sc-coral\)\]{accent-color:var(--sc-coral)}.accent-\[var\(--sc-cyan\)\]{accent-color:var(--sc-cyan)}.accent-blue-500{accent-color:var(--color-blue-500)}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_40px_rgba\(200\,95\,52\,0\.28\)\]{--tw-shadow:0 18px 40px var(--tw-shadow-color,#c85f3447);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_40px_120px_rgba\(77\,42\,20\,0\.12\)\]{--tw-shadow:0 40px 120px var(--tw-shadow-color,#4d2a141f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-emerald-500{--tw-ring-color:var(--color-emerald-500)}.ring-green-500{--tw-ring-color:var(--color-green-500)}.ring-green-500\/50{--tw-ring-color:#00c75880}@supports (color:color-mix(in lab, red, red)){.ring-green-500\/50{--tw-ring-color:color-mix(in oklab,var(--color-green-500)50%,transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-2xl{--tw-blur:blur(var(--blur-2xl));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,)}.blur-\[3px\]{--tw-blur:blur(3px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.fade-in{--tw-enter-opacity:0}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-open\:text-\[var\(--sc-cyan\)\]:is(:where(.group):is([open],:popover-open,:open) *){color:var(--sc-cyan)}@media (hover:hover){.group-hover\:text-\[var\(--sc-text-primary\)\]:is(:where(.group):hover *){color:var(--sc-text-primary)}.group-hover\:text-\[var\(--sc-text-secondary\)\]:is(:where(.group):hover *){color:var(--sc-text-secondary)}.group-hover\:text-blue-400:is(:where(.group):hover *){color:var(--color-blue-400)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.selection\:bg-primary ::selection,.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection,.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-\[var\(--sc-text-muted\)\]::placeholder{color:var(--sc-text-muted)}.placeholder\:text-\[var\(--term-text-muted\)\]::placeholder{color:var(--term-text-muted)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-1\.5:before{content:var(--tw-content);top:calc(var(--spacing)*1.5)}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\:h-1\.5:before{content:var(--tw-content);height:calc(var(--spacing)*1.5)}.before\:w-1\.5:before{content:var(--tw-content);width:calc(var(--spacing)*1.5)}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:bg-\[var\(--sc-cyan\)\]\/40:before{content:var(--tw-content);background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.before\:bg-\[var\(--sc-cyan\)\]\/40:before{background-color:color-mix(in oklab,var(--sc-cyan)40%,transparent)}}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:border-\[var\(--sc-border\)\]:hover,.hover\:border-\[var\(--sc-border\)\]\/80:hover{border-color:var(--sc-border)}@supports (color:color-mix(in lab, red, red)){.hover\:border-\[var\(--sc-border\)\]\/80:hover{border-color:color-mix(in oklab,var(--sc-border)80%,transparent)}}.hover\:border-\[var\(--sc-cyan\)\]\/30:hover{border-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.hover\:border-\[var\(--sc-cyan\)\]\/30:hover{border-color:color-mix(in oklab,var(--sc-cyan)30%,transparent)}}.hover\:border-\[var\(--sc-cyan\)\]\/40:hover{border-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.hover\:border-\[var\(--sc-cyan\)\]\/40:hover{border-color:color-mix(in oklab,var(--sc-cyan)40%,transparent)}}.hover\:border-\[var\(--sc-text-muted\)\]:hover,.hover\:border-\[var\(--sc-text-muted\)\]\/60:hover{border-color:var(--sc-text-muted)}@supports (color:color-mix(in lab, red, red)){.hover\:border-\[var\(--sc-text-muted\)\]\/60:hover{border-color:color-mix(in oklab,var(--sc-text-muted)60%,transparent)}}.hover\:border-\[var\(--term-border\)\]:hover{border-color:var(--term-border)}.hover\:border-\[var\(--term-electric\)\]:hover{border-color:var(--term-electric)}.hover\:border-\[var\(--term-text-muted\)\]:hover{border-color:var(--term-text-muted)}.hover\:bg-\[\#b85129\]:hover{background-color:#b85129}.hover\:bg-\[var\(--sc-amber\)\]\/15:hover{background-color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--sc-amber\)\]\/15:hover{background-color:color-mix(in oklab,var(--sc-amber)15%,transparent)}}.hover\:bg-\[var\(--sc-bg-elevated\)\]:hover,.hover\:bg-\[var\(--sc-bg-elevated\)\]\/20:hover{background-color:var(--sc-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--sc-bg-elevated\)\]\/20:hover{background-color:color-mix(in oklab,var(--sc-bg-elevated)20%,transparent)}}.hover\:bg-\[var\(--sc-bg-elevated\)\]\/50:hover{background-color:var(--sc-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--sc-bg-elevated\)\]\/50:hover{background-color:color-mix(in oklab,var(--sc-bg-elevated)50%,transparent)}}.hover\:bg-\[var\(--sc-coral\)\]:hover,.hover\:bg-\[var\(--sc-coral\)\]\/10:hover{background-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--sc-coral\)\]\/10:hover{background-color:color-mix(in oklab,var(--sc-coral)10%,transparent)}}.hover\:bg-\[var\(--sc-coral\)\]\/20:hover{background-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--sc-coral\)\]\/20:hover{background-color:color-mix(in oklab,var(--sc-coral)20%,transparent)}}.hover\:bg-\[var\(--sc-coral\)\]\/30:hover{background-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--sc-coral\)\]\/30:hover{background-color:color-mix(in oklab,var(--sc-coral)30%,transparent)}}.hover\:bg-\[var\(--sc-coral\)\]\/80:hover{background-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--sc-coral\)\]\/80:hover{background-color:color-mix(in oklab,var(--sc-coral)80%,transparent)}}.hover\:bg-\[var\(--sc-coral-mid\)\]:hover{background-color:var(--sc-coral-mid)}.hover\:bg-\[var\(--sc-cyan\)\]:hover,.hover\:bg-\[var\(--sc-cyan\)\]\/15:hover{background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--sc-cyan\)\]\/15:hover{background-color:color-mix(in oklab,var(--sc-cyan)15%,transparent)}}.hover\:bg-\[var\(--sc-cyan\)\]\/20:hover{background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--sc-cyan\)\]\/20:hover{background-color:color-mix(in oklab,var(--sc-cyan)20%,transparent)}}.hover\:bg-\[var\(--sc-cyan\)\]\/30:hover{background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--sc-cyan\)\]\/30:hover{background-color:color-mix(in oklab,var(--sc-cyan)30%,transparent)}}.hover\:bg-\[var\(--sc-cyan\)\]\/80:hover{background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--sc-cyan\)\]\/80:hover{background-color:color-mix(in oklab,var(--sc-cyan)80%,transparent)}}.hover\:bg-\[var\(--sc-cyan-mid\)\]:hover{background-color:var(--sc-cyan-mid)}.hover\:bg-\[var\(--sc-surface-interactive\)\]:hover{background-color:var(--sc-surface-interactive)}.hover\:bg-\[var\(--sc-surface-interactive-hover\)\]:hover{background-color:var(--sc-surface-interactive-hover)}.hover\:bg-\[var\(--term-electric\)\]\/10:hover{background-color:var(--term-electric)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--term-electric\)\]\/10:hover{background-color:color-mix(in oklab,var(--term-electric)10%,transparent)}}.hover\:bg-\[var\(--term-neon\)\]\/10:hover{background-color:var(--term-neon)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--term-neon\)\]\/10:hover{background-color:color-mix(in oklab,var(--term-neon)10%,transparent)}}.hover\:bg-\[var\(--term-surface-2\)\]:hover{background-color:var(--term-surface-2)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-cyan-700:hover{background-color:var(--color-cyan-700)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:text-\[var\(--sc-amber\)\]:hover{color:var(--sc-amber)}.hover\:text-\[var\(--sc-coral\)\]:hover{color:var(--sc-coral)}.hover\:text-\[var\(--sc-cyan\)\]:hover{color:var(--sc-cyan)}.hover\:text-\[var\(--sc-text-primary\)\]:hover{color:var(--sc-text-primary)}.hover\:text-\[var\(--sc-text-secondary\)\]:hover{color:var(--sc-text-secondary)}.hover\:text-\[var\(--term-text\)\]:hover{color:var(--term-text)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-blue-400:hover{color:var(--color-blue-400)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_8px_30px_var\(--sc-glow-coral-mid\)\]:hover{--tw-shadow:0 8px 30px var(--tw-shadow-color,var(--sc-glow-coral-mid));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-\[var\(--sc-coral\)\]:focus{border-color:var(--sc-coral)}.focus\:border-\[var\(--sc-cyan\)\]:focus,.focus\:border-\[var\(--sc-cyan\)\]\/40:focus{border-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.focus\:border-\[var\(--sc-cyan\)\]\/40:focus{border-color:color-mix(in oklab,var(--sc-cyan)40%,transparent)}}.focus\:border-\[var\(--term-electric\)\]:focus{border-color:var(--term-electric)}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[var\(--sc-coral\)\]:focus{--tw-ring-color:var(--sc-coral)}.focus\:ring-\[var\(--sc-cyan\)\]:focus,.focus\:ring-\[var\(--sc-cyan\)\]\/40:focus{--tw-ring-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.focus\:ring-\[var\(--sc-cyan\)\]\/40:focus{--tw-ring-color:color-mix(in oklab,var(--sc-cyan)40%,transparent)}}.focus\:ring-green-500:focus{--tw-ring-color:var(--color-green-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--sc-cyan\)\]:focus-visible{outline-color:var(--sc-cyan)}.focus-visible\:outline-\[var\(--term-electric\)\]:focus-visible{outline-color:var(--term-electric)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}@media (min-width:40rem){.sm\:min-w-\[260px\]{min-width:260px}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:gap-4{gap:calc(var(--spacing)*4)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-\[11px\]{font-size:11px}.sm\:opacity-100{opacity:1}}@media (min-width:48rem){.md\:absolute{position:absolute}.md\:relative{position:relative}.md\:left-1\/2{left:50%}.md\:mr-0{margin-right:calc(var(--spacing)*0)}.md\:mr-auto{margin-right:auto}.md\:ml-0{margin-left:calc(var(--spacing)*0)}.md\:ml-auto{margin-left:auto}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-\[calc\(50\%-2rem\)\]{width:calc(50% - 2rem)}.md\:translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.md\:translate-x-4{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-\[1fr_340px\]{grid-template-columns:1fr 340px}.md\:justify-end{justify-content:flex-end}.md\:justify-start{justify-content:flex-start}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.lg\:w-\[480px\]{width:480px}.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\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[1\.5fr_1fr\]{grid-template-columns:1.5fr 1fr}.lg\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.lg\:grid-cols-\[1fr_auto_auto\]{grid-template-columns:1fr auto auto}.lg\:grid-cols-\[220px_minmax\(0\,1fr\)_220px\]{grid-template-columns:220px minmax(0,1fr) 220px}.lg\:grid-cols-\[minmax\(0\,1\.2fr\)_340px\]{grid-template-columns:minmax(0,1.2fr) 340px}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}}@media (min-width:80rem){.xl\:sticky{position:sticky}.xl\:top-6{top:calc(var(--spacing)*6)}.xl\:w-\[520px\]{width:520px}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-\[0\.9fr_1\.1fr\]{grid-template-columns:.9fr 1.1fr}.xl\:grid-cols-\[0\.45fr_0\.55fr\]{grid-template-columns:.45fr .55fr}.xl\:grid-cols-\[1\.2fr_0\.8fr\]{grid-template-columns:1.2fr .8fr}.xl\:grid-cols-\[1\.05fr_0\.95fr\]{grid-template-columns:1.05fr .95fr}.xl\:grid-cols-\[1\.15fr_0\.85fr\]{grid-template-columns:1.15fr .85fr}.xl\:grid-cols-\[1\.35fr_0\.95fr\]{grid-template-columns:1.35fr .95fr}.xl\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.xl\:grid-cols-\[minmax\(0\,0\.95fr\)_minmax\(0\,1\.05fr\)\]{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.xl\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(320px\,0\.8fr\)\]{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.xl\:grid-cols-\[minmax\(0\,1\.35fr\)_360px\]{grid-template-columns:minmax(0,1.35fr) 360px}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:justify-between{justify-content:space-between}}@media (min-width:96rem){.\32 xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.theme-glass\:ml-0\.5:where(:where([data-theme=glass]) *,[data-theme=glass]){margin-left:calc(var(--spacing)*.5)}.theme-glass\:block:where(:where([data-theme=glass]) *,[data-theme=glass]){display:block}.theme-glass\:contents:where(:where([data-theme=glass]) *,[data-theme=glass]){display:contents}.theme-glass\:flex:where(:where([data-theme=glass]) *,[data-theme=glass]){display:flex}.theme-glass\:hidden:where(:where([data-theme=glass]) *,[data-theme=glass]){display:none}.theme-glass\:inline:where(:where([data-theme=glass]) *,[data-theme=glass]){display:inline}.theme-glass\:inline-flex:where(:where([data-theme=glass]) *,[data-theme=glass]){display:inline-flex}.theme-glass\:gap-1:where(:where([data-theme=glass]) *,[data-theme=glass]){gap:calc(var(--spacing)*1)}.theme-glass\:gap-3:where(:where([data-theme=glass]) *,[data-theme=glass]){gap:calc(var(--spacing)*3)}:where(.theme-glass\:space-y-4:where(:where([data-theme=glass]) *,[data-theme=glass])>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.theme-glass\:rounded:where(:where([data-theme=glass]) *,[data-theme=glass]){border-radius:.25rem}.theme-glass\:rounded-full:where(:where([data-theme=glass]) *,[data-theme=glass]){border-radius:3.40282e38px}.theme-glass\:rounded-lg:where(:where([data-theme=glass]) *,[data-theme=glass]){border-radius:var(--radius)}.theme-glass\:rounded-xl:where(:where([data-theme=glass]) *,[data-theme=glass]){border-radius:calc(var(--radius) + 4px)}.theme-glass\:border:where(:where([data-theme=glass]) *,[data-theme=glass]){border-style:var(--tw-border-style);border-width:1px}.theme-glass\:border-0:where(:where([data-theme=glass]) *,[data-theme=glass]){border-style:var(--tw-border-style);border-width:0}.theme-glass\:border-\[var\(--sc-amber\)\]\/30:where(:where([data-theme=glass]) *,[data-theme=glass]){border-color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.theme-glass\:border-\[var\(--sc-amber\)\]\/30:where(:where([data-theme=glass]) *,[data-theme=glass]){border-color:color-mix(in oklab,var(--sc-amber)30%,transparent)}}.theme-glass\:border-\[var\(--sc-border\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]){border-color:var(--sc-border)}.theme-glass\:border-\[var\(--sc-coral\)\]\/30:where(:where([data-theme=glass]) *,[data-theme=glass]){border-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.theme-glass\:border-\[var\(--sc-coral\)\]\/30:where(:where([data-theme=glass]) *,[data-theme=glass]){border-color:color-mix(in oklab,var(--sc-coral)30%,transparent)}}.theme-glass\:border-\[var\(--sc-coral-mid\)\]\/30:where(:where([data-theme=glass]) *,[data-theme=glass]){border-color:var(--sc-coral-mid)}@supports (color:color-mix(in lab, red, red)){.theme-glass\:border-\[var\(--sc-coral-mid\)\]\/30:where(:where([data-theme=glass]) *,[data-theme=glass]){border-color:color-mix(in oklab,var(--sc-coral-mid)30%,transparent)}}.theme-glass\:border-\[var\(--sc-cyan\)\]\/30:where(:where([data-theme=glass]) *,[data-theme=glass]){border-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.theme-glass\:border-\[var\(--sc-cyan\)\]\/30:where(:where([data-theme=glass]) *,[data-theme=glass]){border-color:color-mix(in oklab,var(--sc-cyan)30%,transparent)}}.theme-glass\:border-\[var\(--sc-cyan-mid\)\]\/30:where(:where([data-theme=glass]) *,[data-theme=glass]){border-color:var(--sc-cyan-mid)}@supports (color:color-mix(in lab, red, red)){.theme-glass\:border-\[var\(--sc-cyan-mid\)\]\/30:where(:where([data-theme=glass]) *,[data-theme=glass]){border-color:color-mix(in oklab,var(--sc-cyan-mid)30%,transparent)}}.theme-glass\:border-\[var\(--sc-text-muted\)\]\/30:where(:where([data-theme=glass]) *,[data-theme=glass]){border-color:var(--sc-text-muted)}@supports (color:color-mix(in lab, red, red)){.theme-glass\:border-\[var\(--sc-text-muted\)\]\/30:where(:where([data-theme=glass]) *,[data-theme=glass]){border-color:color-mix(in oklab,var(--sc-text-muted)30%,transparent)}}.theme-glass\:bg-\[var\(--sc-amber\)\]\/15:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:var(--sc-amber)}@supports (color:color-mix(in lab, red, red)){.theme-glass\:bg-\[var\(--sc-amber\)\]\/15:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:color-mix(in oklab,var(--sc-amber)15%,transparent)}}.theme-glass\:bg-\[var\(--sc-bg-elevated\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:var(--sc-bg-elevated)}.theme-glass\:bg-\[var\(--sc-bg-surface\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:var(--sc-bg-surface)}.theme-glass\:bg-\[var\(--sc-coral\)\]\/15:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:var(--sc-coral)}@supports (color:color-mix(in lab, red, red)){.theme-glass\:bg-\[var\(--sc-coral\)\]\/15:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:color-mix(in oklab,var(--sc-coral)15%,transparent)}}.theme-glass\:bg-\[var\(--sc-coral-mid\)\]\/15:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:var(--sc-coral-mid)}@supports (color:color-mix(in lab, red, red)){.theme-glass\:bg-\[var\(--sc-coral-mid\)\]\/15:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:color-mix(in oklab,var(--sc-coral-mid)15%,transparent)}}.theme-glass\:bg-\[var\(--sc-cyan\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]),.theme-glass\:bg-\[var\(--sc-cyan\)\]\/15:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.theme-glass\:bg-\[var\(--sc-cyan\)\]\/15:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:color-mix(in oklab,var(--sc-cyan)15%,transparent)}}.theme-glass\:bg-\[var\(--sc-cyan\)\]\/20:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:var(--sc-cyan)}@supports (color:color-mix(in lab, red, red)){.theme-glass\:bg-\[var\(--sc-cyan\)\]\/20:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:color-mix(in oklab,var(--sc-cyan)20%,transparent)}}.theme-glass\:bg-\[var\(--sc-cyan-mid\)\]\/15:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:var(--sc-cyan-mid)}@supports (color:color-mix(in lab, red, red)){.theme-glass\:bg-\[var\(--sc-cyan-mid\)\]\/15:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:color-mix(in oklab,var(--sc-cyan-mid)15%,transparent)}}.theme-glass\:bg-\[var\(--sc-surface-interactive\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:var(--sc-surface-interactive)}.theme-glass\:bg-\[var\(--sc-text-muted\)\]\/15:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:var(--sc-text-muted)}@supports (color:color-mix(in lab, red, red)){.theme-glass\:bg-\[var\(--sc-text-muted\)\]\/15:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:color-mix(in oklab,var(--sc-text-muted)15%,transparent)}}.theme-glass\:bg-transparent:where(:where([data-theme=glass]) *,[data-theme=glass]){background-color:#0000}.theme-glass\:bg-gradient-to-br:where(:where([data-theme=glass]) *,[data-theme=glass]){--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.theme-glass\:from-\[var\(--sc-coral\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]){--tw-gradient-from:var(--sc-coral);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.theme-glass\:to-\[var\(--sc-coral-dark\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]){--tw-gradient-to:var(--sc-coral-dark);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.theme-glass\:p-1:where(:where([data-theme=glass]) *,[data-theme=glass]){padding:calc(var(--spacing)*1)}.theme-glass\:px-1\.5:where(:where([data-theme=glass]) *,[data-theme=glass]){padding-inline:calc(var(--spacing)*1.5)}.theme-glass\:px-2\.5:where(:where([data-theme=glass]) *,[data-theme=glass]){padding-inline:calc(var(--spacing)*2.5)}.theme-glass\:px-3:where(:where([data-theme=glass]) *,[data-theme=glass]){padding-inline:calc(var(--spacing)*3)}.theme-glass\:px-4:where(:where([data-theme=glass]) *,[data-theme=glass]){padding-inline:calc(var(--spacing)*4)}.theme-glass\:px-6:where(:where([data-theme=glass]) *,[data-theme=glass]){padding-inline:calc(var(--spacing)*6)}.theme-glass\:py-0\.5:where(:where([data-theme=glass]) *,[data-theme=glass]){padding-block:calc(var(--spacing)*.5)}.theme-glass\:py-1\.5:where(:where([data-theme=glass]) *,[data-theme=glass]){padding-block:calc(var(--spacing)*1.5)}.theme-glass\:py-2:where(:where([data-theme=glass]) *,[data-theme=glass]){padding-block:calc(var(--spacing)*2)}.theme-glass\:py-3:where(:where([data-theme=glass]) *,[data-theme=glass]){padding-block:calc(var(--spacing)*3)}.theme-glass\:font-sans:where(:where([data-theme=glass]) *,[data-theme=glass]){font-family:var(--font-geist-sans)}.theme-glass\:text-sm:where(:where([data-theme=glass]) *,[data-theme=glass]){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.theme-glass\:text-xs:where(:where([data-theme=glass]) *,[data-theme=glass]){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.theme-glass\:text-\[10px\]:where(:where([data-theme=glass]) *,[data-theme=glass]){font-size:10px}.theme-glass\:font-bold:where(:where([data-theme=glass]) *,[data-theme=glass]){--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.theme-glass\:font-medium:where(:where([data-theme=glass]) *,[data-theme=glass]){--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.theme-glass\:font-semibold:where(:where([data-theme=glass]) *,[data-theme=glass]){--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.theme-glass\:tracking-\[0\.12em\]:where(:where([data-theme=glass]) *,[data-theme=glass]){--tw-tracking:.12em;letter-spacing:.12em}.theme-glass\:text-\[var\(--sc-bg-deep\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]){color:var(--sc-bg-deep)}.theme-glass\:text-\[var\(--sc-coral\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]){color:var(--sc-coral)}.theme-glass\:text-\[var\(--sc-cyan\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]){color:var(--sc-cyan)}.theme-glass\:text-\[var\(--sc-text-muted\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]){color:var(--sc-text-muted)}.theme-glass\:text-\[var\(--sc-text-primary\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]){color:var(--sc-text-primary)}.theme-glass\:text-\[var\(--sc-text-secondary\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]){color:var(--sc-text-secondary)}.theme-glass\:text-white:where(:where([data-theme=glass]) *,[data-theme=glass]){color:var(--color-white)}.theme-glass\:uppercase:where(:where([data-theme=glass]) *,[data-theme=glass]){text-transform:uppercase}.theme-glass\:transition-all:where(:where([data-theme=glass]) *,[data-theme=glass]){transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.theme-glass\:hover\:-translate-y-0\.5:where(:where([data-theme=glass]) *,[data-theme=glass]):hover{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.theme-glass\:hover\:bg-\[var\(--sc-cyan-mid\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]):hover{background-color:var(--sc-cyan-mid)}.theme-glass\:hover\:bg-\[var\(--sc-surface-interactive\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]):hover{background-color:var(--sc-surface-interactive)}.theme-glass\:hover\:text-\[var\(--sc-text-primary\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]):hover{color:var(--sc-text-primary)}.theme-glass\:hover\:text-\[var\(--sc-text-secondary\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]):hover{color:var(--sc-text-secondary)}.theme-glass\:hover\:shadow-\[0_8px_30px_var\(--sc-glow-coral-mid\)\]:where(:where([data-theme=glass]) *,[data-theme=glass]):hover{--tw-shadow:0 8px 30px var(--tw-shadow-color,var(--sc-glow-coral-mid));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (min-width:40rem){.sm\:theme-glass\:px-4:where(:where([data-theme=glass]) *,[data-theme=glass]){padding-inline:calc(var(--spacing)*4)}.sm\:theme-glass\:text-sm:where(:where([data-theme=glass]) *,[data-theme=glass]){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--term-bg:#0a0e1a;--term-surface:#0d1321;--term-surface-2:#141c30;--term-border:#1e2a45;--term-border-strong:#2a3a5e;--term-text:#e5e7eb;--term-text-dim:#d1d5db;--term-text-muted:#6b7280;--term-text-faint:#4b5563;--term-electric:#3b82f6;--term-electric-fg:#60a5fa;--term-neon:#22c55e;--term-neon-fg:#4ade80;--term-warn:#fbbf24;--term-danger:#ef4444;--term-light-red:#ef4444b3;--term-light-yellow:#f59e0bb3;--term-light-green:#22c55eb3;--sc-bg-deep:var(--term-bg);--sc-bg-surface:var(--term-surface);--sc-bg-elevated:var(--term-surface-2);--sc-text-primary:var(--term-text);--sc-text-secondary:var(--term-text-dim);--sc-text-muted:var(--term-text-muted);--sc-coral:var(--term-electric);--sc-coral-mid:var(--term-electric-fg);--sc-coral-dark:#1e3a8a;--sc-cyan:var(--term-neon);--sc-cyan-mid:var(--term-neon-fg);--sc-amber:var(--term-warn);--sc-border:var(--term-border);--sc-border-accent:var(--term-electric);--sc-card-bg:var(--term-surface);--sc-card-bg-strong:var(--term-surface);--sc-surface-interactive:var(--term-surface-2);--sc-surface-interactive-hover:var(--term-border);--sc-glow-coral:#3b82f62e;--sc-glow-coral-mid:#3b82f647;--sc-glow-cyan:#22c55e2e;--sc-glow-cyan-mid:#22c55e47;--sc-transition:.15s linear;--background:var(--term-bg);--foreground:var(--term-text);--card:var(--term-surface);--card-foreground:var(--term-text);--popover:var(--term-surface);--popover-foreground:var(--term-text);--primary:var(--term-electric);--primary-foreground:#fff;--secondary:var(--term-surface-2);--secondary-foreground:var(--term-text);--muted:var(--term-surface-2);--muted-foreground:var(--term-text-muted);--accent:var(--term-surface-2);--accent-foreground:var(--term-text);--destructive:var(--term-danger);--border:var(--term-border);--input:var(--term-surface-2);--ring:var(--term-electric);--chart-1:var(--term-electric);--chart-2:var(--term-neon);--chart-3:var(--term-warn);--chart-4:var(--term-electric-fg);--chart-5:var(--term-text-muted);--sidebar:var(--term-bg);--sidebar-foreground:var(--term-text);--sidebar-primary:var(--term-electric);--sidebar-primary-foreground:#fff;--sidebar-accent:var(--term-surface);--sidebar-accent-foreground:var(--term-text);--sidebar-border:var(--term-border);--sidebar-ring:var(--term-electric)}[data-theme=glass]{--sc-bg-deep:#050810;--sc-bg-surface:#0a0f1a;--sc-bg-elevated:#111827;--sc-text-primary:#f0f4ff;--sc-text-secondary:#8892b0;--sc-text-muted:#5a6480;--sc-coral:#ff4d4d;--sc-coral-mid:#e63946;--sc-coral-dark:#991b1b;--sc-cyan:#00e5cc;--sc-cyan-mid:#14b8a6;--sc-amber:#f59e0b;--sc-border:#8892b026;--sc-border-accent:#ff4d4d4d;--sc-card-bg:#0a0f1aa6;--sc-card-bg-strong:#0a0f1acc;--sc-surface-interactive:#ffffff0f;--sc-surface-interactive-hover:#ffffff1a;--sc-glow-coral:#ff4d4d26;--sc-glow-coral-mid:#ff4d4d40;--sc-glow-cyan:#00e5cc26;--sc-glow-cyan-mid:#00e5cc40;--sc-transition:.25s cubic-bezier(.4,0,.2,1);--term-bg:var(--sc-bg-deep);--term-surface:var(--sc-bg-surface);--term-surface-2:var(--sc-bg-elevated);--term-border:var(--sc-border);--term-border-strong:#8892b040;--term-text:var(--sc-text-primary);--term-text-dim:var(--sc-text-secondary);--term-text-muted:var(--sc-text-muted);--term-text-faint:#5a6480b3;--term-electric:var(--sc-coral);--term-electric-fg:var(--sc-coral);--term-neon:var(--sc-cyan);--term-neon-fg:var(--sc-cyan);--term-warn:var(--sc-amber);--term-danger:var(--sc-coral);--background:#050810;--foreground:#f0f4ff;--card:#0a0f1a;--card-foreground:#f0f4ff;--popover:#0a0f1a;--popover-foreground:#f0f4ff;--primary:#ff4d4d;--primary-foreground:#fff;--secondary:#111827;--secondary-foreground:#f0f4ff;--muted:#111827;--muted-foreground:#8892b0;--accent:#111827;--accent-foreground:#f0f4ff;--destructive:#ff4d4d;--border:#8892b026;--input:#8892b026;--ring:#00e5cc;--chart-1:#ff4d4d;--chart-2:#00e5cc;--chart-3:#14b8a6;--chart-4:#f59e0b;--chart-5:#8892b0;--sidebar:#050810;--sidebar-primary:#ff4d4d;--sidebar-ring:#00e5cc}[data-theme=glass] .glass-card{background:var(--sc-card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px}[data-theme=glass] .glass-card-strong{background:var(--sc-card-bg-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px}[data-theme=glass] .glass-card-hover:hover{border-color:var(--sc-border-accent);box-shadow:0 12px 40px var(--sc-glow-coral);transform:translateY(-4px)}[data-theme=glass] .glass-card-hover-cyan:hover{box-shadow:0 12px 40px var(--sc-glow-cyan);border-color:#00e5cc4d;transform:translateY(-4px)}[data-theme=glass] .glow-coral{box-shadow:0 0 20px var(--sc-glow-coral),0 0 60px var(--sc-glow-coral)}[data-theme=glass] .glow-cyan{box-shadow:0 0 20px var(--sc-glow-cyan),0 0 60px var(--sc-glow-cyan)}[data-theme=glass] .glow-coral-subtle{box-shadow:0 4px 20px var(--sc-glow-coral)}[data-theme=glass] .glow-cyan-subtle{box-shadow:0 4px 20px var(--sc-glow-cyan)}@keyframes sc-glow-pulse-cyan{0%,to{box-shadow:0 0 6px var(--sc-glow-cyan),0 0 12px var(--sc-glow-cyan)}50%{box-shadow:0 0 14px var(--sc-glow-cyan-mid),0 0 28px var(--sc-glow-cyan-mid)}}[data-theme=glass] .glow-cyan-pulse{animation:1.4s ease-in-out infinite sc-glow-pulse-cyan}@keyframes scanSweep{0%{opacity:0;transform:translate(-100%)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translate(100%)}}[data-theme=glass] .scan-sweep{position:relative;overflow:hidden}[data-theme=glass] .scan-sweep:after{content:"";background:linear-gradient(90deg,transparent,var(--sc-glow-cyan-mid),transparent);pointer-events:none;width:100%;height:100%;animation:2s ease-in-out infinite scanSweep;position:absolute;top:0;left:0}.glass-card,.glass-card-strong{background:var(--term-surface);border:1px solid var(--term-border);border-radius:var(--radius);transition:border-color var(--sc-transition)}.glass-card-hover:hover{border-color:var(--term-electric)}.glass-card-hover-cyan:hover{border-color:var(--term-neon)}@keyframes cli-blink{0%,49%{opacity:1}50%,to{opacity:0}}.cli-cursor{vertical-align:text-bottom;background-color:currentColor;width:.55em;height:1em;animation:1s steps(2,end) infinite cli-blink;display:inline-block}.severity-critical,.severity-high{border-left:3px solid var(--term-danger)}.severity-medium{border-left:3px solid var(--term-warn)}.severity-low{border-left:3px solid var(--term-electric)}.severity-safe{border-left:3px solid var(--term-neon)}.severity-info{border-left:3px solid var(--term-text-muted)}@keyframes pulseGlow{0%,to{opacity:1}50%{opacity:.45}}.pulse-cyan{animation:2s ease-in-out infinite pulseGlow}.pulse-coral{animation:1.5s ease-in-out infinite pulseGlow}.sc-card-exit{opacity:0;transform:translate(-30px)}.sc-card-enter{animation:.2s forwards sc-card-slide-in}@keyframes sc-card-slide-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes gaugeReveal{0%{stroke-dashoffset:282.7px}}.scrollbar-hide::-webkit-scrollbar{display:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--term-border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--term-text-muted)}.focus-ring-cyan:focus,.focus-ring-coral:focus{border-color:var(--term-electric);box-shadow:0 0 0 1px var(--term-electric);outline:none}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}