0sec-cli 0.18.0 → 0.21.4

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 (171) hide show
  1. package/{0sec.js → 0.js} +84 -76
  2. package/LICENSE +1 -1
  3. package/README.md +74 -43
  4. package/chunks/adapt-loop-IGBRQAXO.js +18 -0
  5. package/chunks/{adgraph-JLGA6RYI.js → adgraph-AUDQTBYA.js} +5 -5
  6. package/chunks/agent/skills/frameworks/entra-id.yaml +2 -2
  7. package/chunks/agent/skills/techniques/assumption-mining.yaml +2 -2
  8. package/chunks/agent/skills/techniques/cve-poc-adaptation.yaml +2 -2
  9. package/chunks/agent/skills/techniques/entra-attack-paths.yaml +1 -1
  10. package/chunks/agent/skills/techniques/kernel-weaponization.yaml +1 -1
  11. package/chunks/agent/skills/techniques/llm-prompt-injection.yaml +2 -2
  12. package/chunks/agent/skills/techniques/npm-ecosystem.yaml +1 -1
  13. package/chunks/agent/skills/techniques/poc-verification.yaml +1 -1
  14. package/chunks/agent/skills/techniques/seedless-depth-review.yaml +20 -38
  15. package/chunks/{artifact-scraper-HQ7HLP6V.js → artifact-scraper-LNQJUORS.js} +6 -6
  16. package/chunks/{assumption-mining-5SNIVVDN.js → assumption-mining-4MJTP6H5.js} +24 -26
  17. package/chunks/{chunk-P6WKNFWX.js → chunk-2OQOQ2FZ.js} +8 -8
  18. package/chunks/{chunk-5G3ZXFBW.js → chunk-2WNCI664.js} +3 -3
  19. package/chunks/{chunk-AHTBZC3E.js → chunk-2WSXFFJZ.js} +4 -4
  20. package/chunks/{chunk-DW5UWPFY.js → chunk-4VGLO2YS.js} +6 -5
  21. package/chunks/{chunk-3KPWWJCI.js → chunk-5T6D5BVY.js} +88 -88
  22. package/chunks/{chunk-OEFNRYI2.js → chunk-6GHSR47F.js} +3 -6
  23. package/chunks/chunk-6YNKRUMC.js +4474 -0
  24. package/chunks/{chunk-BZNEY2ZS.js → chunk-ANDKY54G.js} +22390 -19895
  25. package/chunks/{chunk-53G27VPS.js → chunk-AZ7L3HFD.js} +7 -2
  26. package/chunks/{chunk-UR4ELX2Y.js → chunk-BACXRTQ4.js} +633 -316
  27. package/chunks/{chunk-UCYRA73C.js → chunk-CAJJRUTV.js} +4 -4
  28. package/chunks/{chunk-57ZENEX2.js → chunk-CGHCEN7W.js} +3 -3
  29. package/chunks/{chunk-AD7WXDH6.js → chunk-CL5KAUM6.js} +16 -16
  30. package/chunks/{chunk-ADOLI6DT.js → chunk-CXKDWFNO.js} +6 -6
  31. package/chunks/{chunk-RWONANDA.js → chunk-DQTNI3KY.js} +5 -5
  32. package/chunks/{chunk-BFR2CDV5.js → chunk-E2UOY5PJ.js} +288 -100
  33. package/chunks/{chunk-ATATQACO.js → chunk-ER3SUMYJ.js} +40 -18
  34. package/chunks/{chunk-5JI7L7KV.js → chunk-FAH6V4QM.js} +30515 -32242
  35. package/chunks/{chunk-6LKRLK2R.js → chunk-FHC2B7LN.js} +3 -3
  36. package/chunks/{chunk-XM5NLHYU.js → chunk-FWAYJ2IV.js} +16 -16
  37. package/chunks/{chunk-WVTBZEQO.js → chunk-G34QP2XW.js} +8 -8
  38. package/chunks/{chunk-MYVT64FN.js → chunk-GHWODZMR.js} +2 -2
  39. package/chunks/{chunk-F3WBKITT.js → chunk-GIQKESMN.js} +10 -10
  40. package/chunks/{chunk-2RMLOJVB.js → chunk-GVD6SJGH.js} +2 -2
  41. package/chunks/{chunk-WXQ6BJ6A.js → chunk-HBKCGJAV.js} +7 -7
  42. package/chunks/{chunk-SF4KZ4O3.js → chunk-HLFS6WV2.js} +2 -2
  43. package/chunks/chunk-HPQZHOIU.js +67 -0
  44. package/chunks/{chunk-TSK2AG6J.js → chunk-IMGWPNQM.js} +231 -1308
  45. package/chunks/{chunk-3MOLBTLS.js → chunk-K2PWUPUI.js} +2 -2
  46. package/chunks/{chunk-N7BOUYEV.js → chunk-NDJU5ZZ7.js} +14 -14
  47. package/chunks/{chunk-BVAZO4WA.js → chunk-NOPBXZUV.js} +3 -3
  48. package/chunks/{chunk-2JCCA2JL.js → chunk-O6SD4A36.js} +3 -3
  49. package/chunks/{chunk-SAFFWQW4.js → chunk-P6YG6TEZ.js} +6 -6
  50. package/chunks/{chunk-6L26OBWI.js → chunk-PC6RCKQV.js} +198 -11
  51. package/chunks/{chunk-LP3HHYQU.js → chunk-PD2BBBKT.js} +2 -2
  52. package/chunks/{chunk-BKZFDZ23.js → chunk-QCUFBVIZ.js} +3 -3
  53. package/chunks/{chunk-KLTNTE2Z.js → chunk-QZVG3BG4.js} +14 -14
  54. package/chunks/{chunk-ASUR522M.js → chunk-RF5QGKLR.js} +9 -9
  55. package/chunks/{chunk-YYRBQVFE.js → chunk-SBMB4OL3.js} +9 -9
  56. package/chunks/{chunk-IOL7D5YV.js → chunk-SQCBHFWN.js} +3 -3
  57. package/chunks/{chunk-BFRB6HB2.js → chunk-TF46UWFU.js} +3 -3
  58. package/chunks/chunk-TH2LW437.js +7829 -0
  59. package/chunks/chunk-TRH2PJSN.js +547 -0
  60. package/chunks/{chunk-RJWOYEOG.js → chunk-UEX7PFSE.js} +5 -5
  61. package/chunks/{chunk-VQG4FT5D.js → chunk-UFHN6RIU.js} +2 -2
  62. package/chunks/{chunk-WU6AFRAZ.js → chunk-V36HVTUL.js} +12 -12
  63. package/chunks/{chunk-IR537GON.js → chunk-VCSFCHAJ.js} +2 -2
  64. package/chunks/{chunk-YLMN3N25.js → chunk-VIT5ALXF.js} +3 -3
  65. package/chunks/{chunk-U5FLXGHT.js → chunk-VOAXLO4A.js} +10 -10
  66. package/chunks/{chunk-WEBMRWEG.js → chunk-W4JOXE4N.js} +83 -75
  67. package/chunks/{chunk-C2WXWFBB.js → chunk-WF5W75WY.js} +25 -25
  68. package/chunks/{chunk-SVJEDVYK.js → chunk-WPQLBN4S.js} +5 -5
  69. package/chunks/{chunk-72CISA2D.js → chunk-WZISK5VC.js} +37 -35
  70. package/chunks/{chunk-CMKXP5RR.js → chunk-Y5H6E24H.js} +3 -3
  71. package/chunks/{chunk-BATRQBOR.js → chunk-YA4PUM4H.js} +41 -41
  72. package/chunks/{chunk-JQHOLLTD.js → chunk-YHWWF4QY.js} +9 -9
  73. package/chunks/{chunk-GMT2AZKM.js → chunk-YPOA3W4O.js} +28 -28
  74. package/chunks/{chunk-7DQEV5QI.js → chunk-Z3IKZX3X.js} +4 -4
  75. package/chunks/codex-models-TYYV4JNN.js +15 -0
  76. package/chunks/{commands-TBC2F5CE.js → commands-WF5RG4I2.js} +3834 -931
  77. package/chunks/corpus-v1.json +2 -2
  78. package/chunks/data/appsec-archetypes.json +2 -2
  79. package/chunks/data/chromium-archetypes.json +1 -1
  80. package/chunks/data/freebsd-archetypes.json +1 -1
  81. package/chunks/data/kernel-archetypes.json +2 -2
  82. package/chunks/db-U3WQZVAO.js +16 -0
  83. package/chunks/{disclose-EKTWSCGW.js → disclose-67GZCDBO.js} +5 -5
  84. package/chunks/{dist-FMGSR3DW.js → dist-ACC3DZUZ.js} +11 -5
  85. package/chunks/{dist-4MAW5X6L.js → dist-EVTN3UTT.js} +6 -6
  86. package/chunks/{dist-4YICS2J2.js → dist-F6X62TQK.js} +286 -327
  87. package/chunks/dist-KEULE5IQ.js +21914 -0
  88. package/chunks/dist-XZB53PS5.js +53 -0
  89. package/chunks/eval-runner-SA6OUGHZ.js +26 -0
  90. package/chunks/example-manifest.json +2 -2
  91. package/chunks/{exploit-agent-45YQOHPJ.js → exploit-agent-36Q7XQFP.js} +4 -4
  92. package/chunks/{exploit-autoclimb-UZGEMGYT.js → exploit-autoclimb-J4OTSTZ6.js} +6 -6
  93. package/chunks/{exploit-climb-SG23KB2G.js → exploit-climb-PYEJDIC4.js} +12 -12
  94. package/chunks/fix-J2KBRJDV.js +12 -0
  95. package/chunks/{github-issues-MJ6OYOOU.js → github-issues-IGTTWM7V.js} +7 -7
  96. package/chunks/harness-GDUMKGSE.js +22 -0
  97. package/chunks/http-conformance-U5F6GKYG.js +11 -0
  98. package/chunks/http-sender-I5XFFY35.js +10 -0
  99. package/chunks/hunt-scan-UDJSCISU.js +36 -0
  100. package/chunks/{identity-6ZAIIWOR.js → identity-JTIVJSV7.js} +5 -5
  101. package/chunks/{kernel-primitive-7U6CWHXD.js → kernel-primitive-F2IXUFAX.js} +6 -6
  102. package/chunks/{kernel-vm-runner-3JAU4O6J.js → kernel-vm-runner-276LHIOV.js} +6 -6
  103. package/chunks/memsafety-scan-NHUOGTEX.js +16 -0
  104. package/chunks/{native-loop-RJCJPOUS.js → native-loop-3BSYVDUI.js} +17 -18
  105. package/chunks/{npm-detectors-KB5Y5ZFX.js → npm-detectors-VIYJXKFQ.js} +6 -6
  106. package/chunks/npm-dynamic-discovery-5J7FT3XM.js +13 -0
  107. package/chunks/orchestrate-DHBFRTSI.js +59 -0
  108. package/chunks/{pre-recon-cve-66EB6G4M.js → pre-recon-cve-X2K2P5YQ.js} +4 -4
  109. package/chunks/prepare-KYHGFWCJ.js +13 -0
  110. package/chunks/process-PNMC36JI.js +15 -0
  111. package/chunks/{replay-runner-45G3VU7X.js → replay-runner-LK2XFIVG.js} +7 -7
  112. package/chunks/{run-D56MPDKY.js → run-CBGE6DRQ.js} +2201 -1694
  113. package/chunks/{runtime-G7YWIO3B.js → runtime-PXO5G6UV.js} +11 -11
  114. package/chunks/runtime-XFWJTBUO.js +12 -0
  115. package/chunks/{scan-stream-FHI2FYZE.js → scan-stream-BMOCPKQX.js} +7 -7
  116. package/chunks/{scope-BI7BF4ZY.js → scope-NJHIDDTN.js} +4 -4
  117. package/chunks/{session-store-GZ4A4KYT.js → session-store-46WBZM22.js} +6 -6
  118. package/chunks/source-files-REHOM44I.js +12 -0
  119. package/chunks/{specdrift-WCLH6TTQ.js → specdrift-AFS54WEJ.js} +5 -5
  120. package/chunks/token-KRWP5JYA.js +72 -0
  121. package/chunks/token-util-DWTL33S3.js +8 -0
  122. package/chunks/variant-candidates-UH2WC2HA.js +13 -0
  123. package/chunks/{web-recon-prepass-JJGPEOLE.js → web-recon-prepass-SFXU44SS.js} +9 -9
  124. package/dashboard/assets/desktop-BT7RkC4q.js +32 -0
  125. package/dashboard/assets/desktop-OaBI0E0e.css +1 -0
  126. package/dashboard/assets/{findings-page-CACW9nw2.js → findings-page-B4rwF6fZ.js} +2 -2
  127. package/dashboard/assets/{format-PoISqsES.js → format-LNQSSpn6.js} +1 -1
  128. package/dashboard/assets/live-page-DoNwpPAO.js +1 -0
  129. package/dashboard/assets/{meta-tile-CcskIV_o.js → meta-tile-BMtBC-Qq.js} +1 -1
  130. package/dashboard/assets/operations-CMFVrXEe.css +2 -0
  131. package/dashboard/assets/operations-app-ER0gg7GN.js +2 -0
  132. package/dashboard/assets/{operations-D8nUP5_m.js → operations-e2CGYKB1.js} +2 -2
  133. package/dashboard/assets/{overview-page-DTGS8dPo.js → overview-page-CmeWH17A.js} +1 -1
  134. package/dashboard/assets/{page-header-MFVvEtZW.js → page-header-CIJyycfz.js} +1 -1
  135. package/dashboard/assets/scans-page-CuhzWhHx.js +1 -0
  136. package/dashboard/assets/{table-BYS-nIVA.js → table-BgsSBdke.js} +1 -1
  137. package/dashboard/assets/{tabs-DivxbhQy.js → tabs-vn6v7Bk6.js} +1 -1
  138. package/dashboard/desktop.html +3 -3
  139. package/dashboard/index.html +3 -3
  140. package/package.json +11 -11
  141. package/chunks/adapt-loop-SMH6V4PD.js +0 -18
  142. package/chunks/appsec-catalog-CBWHGTEL.js +0 -24
  143. package/chunks/chunk-242TMK6G.js +0 -110
  144. package/chunks/chunk-H2FFLZNK.js +0 -3
  145. package/chunks/chunk-QI233I24.js +0 -333
  146. package/chunks/chunk-RRMJC3ZE.js +0 -105
  147. package/chunks/chunk-Z5FA2XOX.js +0 -2798
  148. package/chunks/cost-ledger-NU63MYZM.js +0 -13
  149. package/chunks/db-KFWOAUUB.js +0 -16
  150. package/chunks/eval-runner-7ZF472KV.js +0 -27
  151. package/chunks/fix-IG7LYXH3.js +0 -12
  152. package/chunks/harness-7ODOLOWU.js +0 -22
  153. package/chunks/http-conformance-DU66MZIU.js +0 -11
  154. package/chunks/http-sender-GWH2IYEA.js +0 -10
  155. package/chunks/hunt-scan-MMKUOETU.js +0 -38
  156. package/chunks/memsafety-scan-J7SECV5W.js +0 -16
  157. package/chunks/npm-dynamic-discovery-AHROOZDB.js +0 -13
  158. package/chunks/orchestrate-OC2VZN2X.js +0 -62
  159. package/chunks/pipeline-BZK5BLJR.js +0 -14
  160. package/chunks/prepare-MYY743TK.js +0 -13
  161. package/chunks/process-LQRCS5OY.js +0 -13
  162. package/chunks/runtime-J7PLXZNM.js +0 -12
  163. package/chunks/source-files-PWRQR6LY.js +0 -12
  164. package/chunks/variant-candidates-YERCYMPD.js +0 -13
  165. package/dashboard/assets/0sec-icon-66SreztZ.gif +0 -0
  166. package/dashboard/assets/desktop-CXTQonNm.js +0 -32
  167. package/dashboard/assets/desktop-NOekk4QS.css +0 -1
  168. package/dashboard/assets/live-page-DrgQqQK5.js +0 -1
  169. package/dashboard/assets/operations-BKE8T-vY.css +0 -2
  170. package/dashboard/assets/operations-app-CQQhG54n.js +0 -2
  171. package/dashboard/assets/scans-page-ChVtq8Us.js +0 -1
@@ -1 +0,0 @@
1
- @font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.conversation-panel{background:var(--surface);flex-direction:column;height:100%;display:flex;position:relative}.conversation-scroll{overscroll-behavior:contain;scroll-behavior:smooth;flex:1;overflow-y:auto}@media (prefers-reduced-motion:reduce){.conversation-scroll{scroll-behavior:auto}}.conversation-empty{flex-direction:column;justify-content:center;align-items:flex-start;max-width:540px;height:100%;margin:0 auto;padding:48px 32px;display:flex}.conversation-empty h2{color:var(--text);margin:0 0 6px;font-size:16px;font-weight:500}.conversation-empty p{color:var(--muted);margin:0 0 20px;font-size:13px;line-height:1.5}.conversation-empty .empty-btn{border:1px solid var(--line);background:var(--surface-raised);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;transition:background .15s;display:inline-flex}.conversation-empty .empty-btn:hover{background:var(--hover)}.turn-block{padding:0 16px}.turn-block:first-child{margin-top:12px}.turn-block+.turn-block{margin-top:4px}.user-message{justify-content:flex-end;padding:4px 0;display:flex}.user-message .bubble{background:var(--hover);border:1px solid var(--line);max-width:75%;color:var(--text);word-wrap:break-word;white-space:pre-wrap;border-radius:12px;padding:8px 14px;font-size:14px;line-height:1.45}.assistant-message{padding:8px 0 4px}.assistant-message .message-body{color:var(--text);font-size:15px;line-height:1.6}.system-notice{color:var(--muted);align-items:flex-start;gap:6px;padding:3px 16px;font-size:12px;line-height:1.4;display:flex}.system-notice svg{opacity:.7;flex-shrink:0;margin-top:1px}.reasoning-block{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:6px 0;overflow:hidden}.reasoning-block summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 10px;font-size:12px;list-style:none;display:flex}.reasoning-block summary::-webkit-details-marker{display:none}.reasoning-block summary .chevron{opacity:.5;margin-left:auto;transition:transform .15s}.reasoning-block[open] summary .chevron{transform:rotate(180deg)}.reasoning-block .reasoning-content{color:var(--muted);white-space:pre-wrap;padding:0 10px 8px;font-size:12px;line-height:1.5}.tool-call{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:4px 0;transition:border-color .2s;overflow:hidden}.tool-call.running{border-color:var(--accent);opacity:.85}.tool-call.error{border-color:var(--danger)}.tool-call-header{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:5px 10px;font-family:inherit;font-size:12px;display:flex}.tool-call-header:hover{background:var(--hover)}.tool-call-header .tool-name{font-weight:500;font-family:var(--mono);color:var(--accent);font-size:11px}.tool-call-header .tool-status{color:var(--muted);margin-left:4px;font-size:10px}.tool-call-header .chevron{opacity:.5;margin-left:auto;transition:transform .15s}.tool-call-header .chevron.open{transform:rotate(180deg)}.tool-call-body{border-top:1px solid var(--line);padding:8px 10px}.tool-call-body .section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:4px;font-size:10px;font-weight:500;display:block}.tool-call-body pre{background:var(--surface-raised);font-size:11px;line-height:1.4;font-family:var(--mono);border-radius:6px;margin:0 0 8px;padding:8px;overflow-x:auto}.tool-call-body pre:last-child{margin-bottom:0}.tool-call-body code{color:var(--text);font-family:inherit}.code-block-wrapper{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;margin:12px 0;position:relative;overflow:hidden}.code-block-header{background:var(--surface);border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;font-family:var(--mono);justify-content:space-between;align-items:center;padding:4px 10px;display:flex}.code-block-header .copy-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-family:inherit;font-size:10px;transition:background .1s;display:inline-flex}.code-block-header .copy-btn:hover{background:var(--hover);color:var(--text)}.code-block-header .copy-btn.copied{color:var(--accent)}.code-block-wrapper pre{font-size:12px;line-height:1.5;font-family:var(--mono);color:var(--text);margin:0;padding:12px 14px;overflow-x:auto}.code-block-wrapper code{font-family:inherit}.message-body p{margin:6px 0}.message-body p:first-child{margin-top:0}.message-body p:last-child{margin-bottom:0}.message-body ul,.message-body ol{margin:6px 0;padding-left:20px}.message-body li{margin:2px 0}.message-body a{color:var(--accent);text-decoration:none}.message-body a:hover{text-decoration:underline}.message-body blockquote{border-left:3px solid var(--line);color:var(--muted);margin:8px 0;padding:4px 12px}.message-body table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}.message-body th,.message-body td{border:1px solid var(--line);text-align:left;padding:6px 10px}.message-body th{background:var(--surface-raised);font-weight:500}.message-body hr{border:none;border-top:1px solid var(--line);margin:12px 0}.message-body img{border-radius:6px;max-width:100%}.approval-panel{border:1px solid var(--accent);background:var(--surface-raised);border-radius:10px;margin:8px 0;padding:12px 14px}.approval-panel.resolved{border-color:var(--line);opacity:.7}.approval-panel.resolved.approved{opacity:1;border-color:#22c55e}.approval-panel.resolved.declined{opacity:.5;border-color:var(--danger)}.approval-header{align-items:flex-start;gap:8px;display:flex}.approval-header .approval-icon{flex-shrink:0;margin-top:1px}.approval-header .approval-title{color:var(--text);font-size:13px;font-weight:500}.approval-header .approval-kind{text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-left:auto;font-size:10px}.approval-detail{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.45}.approval-tool-preview{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin:8px 0;padding:8px}.approval-tool-preview pre{font-size:11px;line-height:1.4;font-family:var(--mono);margin:0;overflow-x:auto}.approval-tool-preview code{color:var(--text)}.approval-actions{gap:8px;margin-top:10px;display:flex}.approval-actions button{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;padding:5px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:background .1s}.approval-actions button:hover{background:var(--hover)}.approval-actions .approve-btn{background:var(--accent);color:#fff;border-color:var(--accent)}.approval-actions .approve-btn:hover{opacity:.9}.approval-actions .decline-btn:hover{border-color:var(--danger);color:var(--danger)}.approval-resolved-badge{color:var(--muted);align-items:center;gap:4px;margin-top:8px;font-size:12px;display:inline-flex}.approval-resolved-badge.approved{color:#22c55e}.approval-resolved-badge.declined{color:var(--danger)}.question-group{margin:8px 0}.question-item{margin:6px 0}.question-header{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:500}.question-text{color:var(--muted);margin-bottom:6px;font-size:12px;line-height:1.4}.question-options{flex-wrap:wrap;gap:4px;display:flex}.question-option{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:12px;padding:3px 10px;font-family:inherit;font-size:11px;transition:all .1s}.question-option:hover{background:var(--hover)}.question-option.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.question-custom-input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);resize:vertical;border-radius:6px;min-height:36px;margin-top:6px;padding:6px 10px;font-family:inherit;font-size:12px}.question-custom-input:focus{border-color:var(--accent);outline:none}.turn-error{border:1px solid var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent);color:var(--danger);border-radius:8px;margin:6px 0;padding:8px 12px;font-size:13px;line-height:1.4}.turn-error.warning{color:#a16207;background:#eab30814;border-color:#eab308}.conversation-composer{border-top:1px solid var(--line);background:var(--surface);padding:8px 16px}.composer-row{align-items:flex-end;gap:6px;display:flex}.composer-textarea{resize:none;border:1px solid var(--line);background:var(--surface-raised);color:var(--text);border-radius:10px;outline:none;flex:1;min-height:36px;max-height:200px;padding:8px 12px;font-family:inherit;font-size:13px;line-height:1.45;transition:border-color .15s}.composer-textarea:focus{border-color:var(--accent)}.composer-textarea:disabled{opacity:.5;cursor:not-allowed}.composer-textarea::placeholder{color:var(--faint)}.composer-actions{flex-shrink:0;gap:4px;padding-bottom:2px;display:flex}.composer-action-btn{border:1px solid var(--line);background:var(--surface-raised);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .1s;display:flex}.composer-action-btn:hover:not(:disabled){background:var(--hover);border-color:var(--accent)}.composer-action-btn:disabled{opacity:.35;cursor:not-allowed}.composer-action-btn.send-btn:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}.composer-action-btn.stop-btn{color:var(--danger);border-color:var(--danger)}.composer-action-btn.stop-btn:hover{background:var(--danger);color:#fff}.bottom-context-row{color:var(--faint);border-top:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;padding:4px 16px 6px;font-size:11px;display:flex}.bottom-context-row .context-left{align-items:center;gap:8px;display:flex}.bottom-context-row .context-badge{background:var(--surface-raised);border:1px solid var(--line);text-transform:capitalize;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-flex}.bottom-context-row .context-actions{align-items:center;gap:4px;display:flex}.bottom-context-row .context-action-btn{color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-family:inherit;font-size:10px;transition:all .1s;display:inline-flex}.bottom-context-row .context-action-btn:hover{color:var(--text);background:var(--hover)}.jump-to-latest{z-index:10;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.jump-to-latest button{border:1px solid var(--line);background:var(--surface-raised);color:var(--text);cursor:pointer;border-radius:20px;align-items:center;gap:5px;padding:5px 12px;font-family:inherit;font-size:11px;font-weight:500;transition:background .1s;display:inline-flex;box-shadow:0 2px 8px #00000014}.jump-to-latest button:hover{background:var(--hover)}.inspector{border-left:1px solid var(--line);background:var(--surface);flex-direction:column;width:280px;height:100%;display:flex}.inspector-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.inspector-header h3{color:var(--text);margin:0;font-size:13px;font-weight:500}.inspector-header .close-btn{width:24px;height:24px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.inspector-header .close-btn:hover{background:var(--hover);color:var(--text)}.inspector-tabs{border-bottom:1px solid var(--line);display:flex}.inspector-tab{color:var(--faint);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 6px;font-family:inherit;font-size:11px;font-weight:500;transition:all .1s}.inspector-tab:hover{color:var(--text);background:var(--hover)}.inspector-tab.active{color:var(--text);border-bottom-color:var(--accent)}.inspector-content{flex:1;padding:12px;overflow-y:auto}.inspect-section{margin-bottom:14px}.inspect-section:last-child{margin-bottom:0}.inspect-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin-bottom:6px;font-size:10px;font-weight:600}.inspect-row{color:var(--text);justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;display:flex}.inspect-row .inspect-label{color:var(--muted)}.inspect-row .inspect-value{text-transform:capitalize;font-weight:500}.inspect-row .inspect-badge{border-radius:4px;padding:1px 6px;font-size:10px;font-weight:500}.inspect-badge.ready{color:#22c55e;background:#22c55e20}.inspect-badge.working{background:var(--accent);color:#fff}.inspect-badge.waiting{color:#a16207;background:#eab30820}.inspect-badge.closed{background:var(--surface-raised);color:var(--muted)}.inspect-badge.failed{background:var(--danger);color:#fff}.inspect-bar{background:var(--surface-raised);border-radius:2px;height:4px;margin:4px 0;overflow:hidden}.inspect-bar-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.evidence-list{flex-direction:column;gap:6px;display:flex}.evidence-item{border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:11px;line-height:1.4}.evidence-item .ev-tool-name{font-family:var(--mono);color:var(--accent);font-weight:500}.evidence-item .ev-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.evidence-item .ev-result{font-family:var(--mono);color:var(--muted);background:var(--surface-raised);border-radius:4px;max-height:60px;margin-top:4px;padding:3px 6px;font-size:10px;overflow-y:auto}@media (width<=760px){.turn-block{padding:0 10px}.conversation-composer{padding:6px 10px}.user-message .bubble{max-width:90%}.inspector{width:220px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}:root{--background:#f5f5f3;--surface:#fff;--surface-raised:#fff;--line:#e5e5e3;--text:#161615;--muted:#8a8a88;--faint:#c0c0be;--hover:#eaeae8;--selected:#d4d4d2;--accent:#0059b3;--accent-fg:#fff;--danger:#d13838;--danger-bg:#fef2f2;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", monospace;--fs-xs:11px;--fs-sm:12px;--fs-base:13px;--fs-md:14px;--fs-lg:15px;--fs-xl:18px;--fs-2xl:22px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--titlebar-height:44px;--tab-height:32px;--sidebar-width:220px;--inspector-width:320px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 8px #0000000f;--shadow-lg:0 8px 24px #00000014;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--background:#161615;--surface:#1c1c1b;--surface-raised:#222221;--line:#2a2a28;--text:#e8e8e6;--muted:#a1a19d;--faint:#8a8a86;--hover:#282827;--selected:#333332;--accent:#4d9eff;--accent-fg:#fff;--danger:#e54848;--danger-bg:#2d1515;--shadow-sm:0 1px 2px #0000001f;--shadow-md:0 2px 8px #0003;--shadow-lg:0 8px 24px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--text);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:default;-webkit-user-select:none;user-select:none;line-height:1.5}[contenteditable],input,textarea,select,.selectable{-webkit-user-select:text;user-select:text}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell{flex-direction:column;height:100%;display:flex;overflow:hidden}.titlebar{height:var(--titlebar-height);-webkit-app-region:drag;background:var(--background);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;padding:0 8px;display:flex}.titlebar-title{text-align:center;width:100%;font-size:12px;font-weight:600}.titlebar.macos{padding-inline:96px}.titlebar-leading{flex-shrink:0;width:96px}.titlebar-center{-webkit-app-region:drag;flex:1;justify-content:center;align-items:center;display:flex}.titlebar-trailing{-webkit-app-region:no-drag;align-items:center;gap:4px;display:flex}.tab-bar{height:var(--tab-height);background:var(--background);border-bottom:1px solid var(--line);scrollbar-width:none;-webkit-app-region:no-drag;flex-shrink:0;align-items:stretch;gap:2px;padding:0 8px;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab{font-size:var(--fs-sm);color:var(--muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;white-space:nowrap;-webkit-app-region:no-drag;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-bottom:none;flex-shrink:0;align-items:center;gap:6px;padding:0 10px;transition:color .12s,background .12s;display:flex;position:relative}.tab:hover{color:var(--text);background:var(--hover)}.tab.active{color:var(--text);background:var(--surface);border-color:var(--line)}.tab.active:after{content:"";background:var(--surface);height:1px;position:absolute;bottom:-1px;left:0;right:0}.tab.home-tab{padding:0 12px}.tab .tab-icon{opacity:.6;flex-shrink:0;width:14px;height:14px}.tab.active .tab-icon{opacity:.9}.tab>[role=tab]{max-width:220px;height:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;display:flex}.tab>[role=tab] span{text-overflow:ellipsis;overflow:hidden}.workspace-toolbar{align-items:center;gap:4px;margin-left:auto;padding-left:12px;display:flex}.tab-close:focus-visible{opacity:1}.tab-close{width:16px;height:16px;color:var(--faint);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .12s,background .12s,color .12s;display:flex}.tab:hover .tab-close,.tab.active .tab-close{opacity:1}.tab-close:hover{background:var(--hover);color:var(--text)}.tab-close svg{width:10px;height:10px}.new-tab-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--faint);cursor:pointer;-webkit-app-region:no-drag;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;transition:color .12s,background .12s;display:flex}.new-tab-btn:hover{color:var(--text);background:var(--hover)}.new-tab-btn svg{width:14px;height:14px}.workspace{background:var(--surface);flex:1;display:flex;overflow:hidden}.session-sidebar{width:var(--sidebar-width);background:var(--background);border-right:1px solid var(--line);font-size:var(--fs-sm);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.session-sidebar.collapsed{border-right:none;width:0}.sidebar-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:12px 12px 8px;display:flex}.sidebar-header h3{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.sidebar-scroll{flex:1;padding:4px 8px;overflow-y:auto}.target-group{margin-bottom:8px}.target-group-header{font-size:var(--fs-xs);color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:6px;padding:4px 4px 4px 8px;font-weight:500;transition:background .1s;display:flex}.target-group-header:hover{background:var(--hover)}.target-item{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:6px;width:100%;padding:4px 8px;font-family:inherit;transition:background .1s;display:flex}.target-item.active{background:var(--hover);font-weight:500}.session-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-empty{color:var(--muted);padding:16px}.sidebar-operations{color:var(--muted);border-top:1px solid var(--line);align-items:center;gap:8px;padding:12px;text-decoration:none;display:flex}.home-recent-item{text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0}.target-item:hover{background:var(--hover)}.target-item .target-status{border-radius:50%;flex-shrink:0;width:6px;height:6px}.target-status.ready{background:#22c55e}.target-status.working{background:#f59e0b}.target-status.waiting{background:#6366f1}.target-status.closed{background:var(--faint)}.target-status.failed{background:var(--danger)}.sidebar-filter{padding:0 8px 8px}.sidebar-filter input{width:100%;font-size:var(--fs-sm);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-sans);outline:none;padding:4px 8px}.sidebar-filter input:focus{border-color:var(--accent)}.session-content{flex:1;min-width:0;display:flex;overflow:hidden}.session-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.session-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.session-title-area{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.session-title-area .session-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.session-title-input{font-size:var(--fs-md);color:var(--text);min-width:40px;font-weight:500;font-family:var(--font-sans);border-radius:var(--radius-sm);background:0 0;border:none;outline:none;flex:1;padding:2px 4px;transition:background .1s}.session-title-input:hover{background:var(--hover)}.session-title-input:focus{background:var(--surface);box-shadow:0 0 0 1px var(--accent)}.session-header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.session-header-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:color .1s,background .1s;display:flex}.session-header-btn:hover{color:var(--text);background:var(--hover)}.session-header-btn svg{width:15px;height:15px}.session-header-btn.active{color:var(--accent);background:var(--selected)}.inspector-panel{width:var(--inspector-width);background:var(--surface);border-left:1px solid var(--line);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.inspector-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.inspector-header h3{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.inspector-close{width:22px;height:22px;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.inspector-close:hover{color:var(--text);background:var(--hover)}.inspector-close svg{width:13px;height:13px}.home-page{flex:1;display:flex;overflow:hidden}.home-projects{border-right:1px solid var(--line);background:var(--background);flex-direction:column;flex-shrink:0;width:200px;display:flex;overflow:hidden}.home-projects-header{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:14px 14px 8px;font-weight:600}.home-projects-list{flex:1;padding:4px 8px;overflow-y:auto}.home-project-item{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);color:var(--text);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;padding:6px 8px;transition:background .1s;display:flex;overflow:hidden}.home-project-item:hover{background:var(--hover)}.home-project-item svg{width:14px;height:14px;color:var(--muted);flex-shrink:0}.home-project-add{color:var(--muted);cursor:pointer;font-size:var(--fs-sm);border-radius:var(--radius-sm);text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:6px 8px;transition:color .1s,background .1s;display:flex}.home-project-add:hover{color:var(--text);background:var(--hover)}.home-project-add svg{width:12px;height:12px}.home-main{flex-direction:column;flex:1;min-width:0;padding:24px 32px;display:flex;overflow:hidden auto}.home-greeting{font-size:var(--fs-2xl);margin-bottom:4px;font-weight:500}.home-subtitle{font-size:var(--fs-md);color:var(--muted);margin-bottom:24px}.home-actions{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.home-section-title{font-size:var(--fs-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-weight:600}.home-search{margin-bottom:12px;padding:8px 12px}.home-search-input{width:100%;font-size:var(--fs-base);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-sans);outline:none;padding:7px 12px;transition:border-color .1s}.home-search-input:focus{border-color:var(--accent)}.home-search-input::placeholder{color:var(--faint)}.home-recent-list{flex-direction:column;gap:2px;display:flex}.home-recent-item{border-radius:var(--radius-sm);cursor:pointer;justify-content:space-between;align-items:center;padding:8px 12px;transition:background .1s;display:flex}.home-recent-item:hover{background:var(--hover)}.home-recent-item .recent-title{font-size:var(--fs-base);color:var(--text);font-weight:450}.home-recent-item .recent-meta{font-size:var(--fs-xs);color:var(--muted)}.empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.empty-state-icon{width:32px;height:32px;color:var(--faint)}.empty-state h2{font-size:var(--fs-xl);color:var(--text);font-weight:500}.empty-state p{font-size:var(--fs-sm);color:var(--muted);max-width:320px;line-height:1.5}.empty-state .home-actions{margin-bottom:0}.btn{font-size:var(--fs-sm);font-family:var(--font-sans);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-weight:500;line-height:1.4;transition:background .1s,border-color .1s,box-shadow .1s;display:inline-flex}.btn:hover{background:var(--hover)}.btn:active{background:var(--selected)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:active{filter:brightness(.95)}.btn-ghost{color:var(--text);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--hover);border-color:#0000}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger-bg)}.btn-sm{font-size:var(--fs-xs);padding:4px 10px}.btn-icon{min-width:28px;height:28px;padding:4px}.dialog-overlay{z-index:100;background:#0000004d;justify-content:center;align-items:center;animation:.1s ease-out fadeIn;display:flex;position:fixed;inset:0}[data-theme=dark] .dialog-overlay{background:#00000080}.dialog-content{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:101;flex-direction:column;width:480px;max-width:calc(100vw - 48px);max-height:calc(100vh - 80px);animation:.12s ease-out scaleIn;display:flex;position:fixed;top:50%;left:50%;overflow:auto;translate:-50% -50%}.auth-output{white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;font:11px var(--font-mono);background:var(--background);border-radius:6px;margin-block:12px;padding:12px;overflow:auto}.dialog-content:focus{outline:none}.dialog-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.dialog-header h2{font-size:var(--fs-lg);color:var(--text);font-weight:550}.dialog-close{width:24px;height:24px;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:color .1s,background .1s;display:flex}.dialog-close:hover{color:var(--text);background:var(--hover)}.dialog-close svg{width:14px;height:14px}.dialog-body{flex-direction:column;flex:1;gap:16px;padding:16px 20px;display:flex;overflow-y:auto}.dialog-footer{border-top:1px solid var(--line);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px 16px;display:flex}.form-group{flex-direction:column;gap:4px;display:flex}.form-label{font-size:var(--fs-sm);color:var(--muted);font-weight:500}.form-label .required{color:var(--danger);margin-left:2px}.form-hint{font-size:var(--fs-xs);color:var(--muted);line-height:1.4}.form-warning{font-size:var(--fs-xs);color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);padding:6px 10px;line-height:1.4}.form-warning strong{font-weight:600}.form-input,.form-select{font-size:var(--fs-base);font-family:var(--font-sans);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);outline:none;padding:7px 10px;transition:border-color .1s}.form-input:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #0059b31a}[data-theme=dark] .form-input:focus,[data-theme=dark] .form-select:focus{box-shadow:0 0 0 2px #4d9eff26}.form-input::placeholder{color:var(--faint)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238a8a88' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}[data-theme=dark] .form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237a7a78' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.input-with-action{gap:6px;display:flex}.input-with-action .form-input{flex:1}.settings-dialog .dialog-content{width:560px}.settings-tabs{border-bottom:1px solid var(--line);flex-shrink:0;gap:0;padding:0 20px;display:flex}.settings-tab{font-size:var(--fs-sm);color:var(--muted);cursor:pointer;font-weight:450;font-family:var(--font-sans);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;transition:color .1s,border-color .1s}.settings-tab:hover{color:var(--text)}.settings-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.settings-section{flex-direction:column;gap:16px;padding:0;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.settings-row-info{flex:1;min-width:0}.settings-row-label{font-size:var(--fs-base);color:var(--text);font-weight:450}.settings-row-desc{font-size:var(--fs-xs);color:var(--muted);margin-top:2px}.theme-options{gap:4px;display:flex}.theme-option{font-size:var(--fs-sm);font-family:var(--font-sans);border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:var(--radius-sm);padding:4px 12px;transition:background .1s,border-color .1s}.theme-option:hover{background:var(--hover)}.theme-option.active{border-color:var(--accent);background:var(--selected)}.codex-status{font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.codex-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.codex-dot.idle{background:var(--faint)}.codex-dot.running{background:#f59e0b}.codex-dot.connected{background:#22c55e}.codex-dot.cancelled{background:var(--muted)}.codex-dot.failed{background:var(--danger)}.shortcuts-list{flex-direction:column;gap:2px;display:flex}.shortcut-row{font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.shortcut-keys{align-items:center;gap:4px;display:flex}kbd{font-size:var(--fs-xs);font-family:var(--font-mono);background:var(--hover);border:1px solid var(--line);min-width:20px;height:20px;color:var(--text);border-radius:3px;justify-content:center;align-items:center;padding:2px 6px;line-height:1;display:inline-flex}.cmdk-overlay{z-index:200;background:#00000040;justify-content:center;align-items:flex-start;padding-top:80px;animation:80ms ease-out fadeIn;display:flex;position:fixed;inset:0}[data-theme=dark] .cmdk-overlay{background:#00000073}.cmdk-dialog{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:520px;max-width:calc(100vw - 48px);box-shadow:var(--shadow-lg);animation:.1s ease-out scaleIn;overflow:hidden}.cmdk-input{width:100%;font-size:var(--fs-lg);font-family:var(--font-sans);border:none;border-bottom:1px solid var(--line);color:var(--text);background:0 0;outline:none;padding:12px 16px}.cmdk-input::placeholder{color:var(--faint)}.cmdk-list{max-height:320px;padding:4px;overflow-y:auto}.cmdk-group-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 12px 4px;font-weight:600}.cmdk-item{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);color:var(--text);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 12px;transition:background 60ms;display:flex}.cmdk-item[data-highlighted]{background:var(--hover)}.cmdk-item[data-disabled]{color:var(--faint);pointer-events:none}.cmdk-item svg{width:14px;height:14px;color:var(--muted);flex-shrink:0}.cmdk-item .cmdk-item-shortcut{font-size:var(--fs-xs);color:var(--faint);margin-left:auto}.cmdk-empty{text-align:center;color:var(--muted);font-size:var(--fs-sm);padding:16px}.error-banner{background:var(--danger-bg);border-bottom:1px solid var(--danger);font-size:var(--fs-sm);color:var(--danger);flex-shrink:0;align-items:center;gap:10px;padding:8px 16px;animation:.15s ease-out slideDown;display:flex}.error-banner svg{flex-shrink:0;width:14px;height:14px}.error-banner-text{flex:1;min-width:0}.error-banner-actions{flex-shrink:0;gap:6px;display:flex}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.spinner-sm{border-width:1.5px;width:12px;height:12px}.loading-shell,.error-shell{height:100%;color:var(--muted);font-size:var(--fs-sm);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.error-shell{color:var(--danger)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--faint);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::-webkit-scrollbar-corner{background:0 0}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}@media (width<=900px){.inspector-panel{width:280px}}@media (width<=760px){.session-sidebar:not(.collapsed){width:180px}.home-projects{display:none}.home-main{padding:16px 20px}.dialog-content{width:calc(100vw - 24px);max-height:calc(100vh - 40px)}}
@@ -1 +0,0 @@
1
- import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{E as r,y as i}from"./operations-D8nUP5_m.js";import{_ as a}from"./dist-CmX-h7a4.js";import{t as o}from"./bot-yILPnRgD.js";import{t as s}from"./chevron-down-BeDJ-Vka.js";import{t as c}from"./page-header-MFVvEtZW.js";import{A as l,C as u,O as d,S as f,T as p,_ as m,c as h,g,h as _,m as v,p as y,s as b,v as x,y as S}from"./operations-app-CQQhG54n.js";var C=a(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),ee=a(`beaker`,[[`path`,{d:`M4.5 3h15`,key:`c7n0jr`}],[`path`,{d:`M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3`,key:`m1uhx7`}],[`path`,{d:`M6 14h12`,key:`4cwo0f`}]]),w=a(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),T=a(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),E=a(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),D=a(`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`}]]),O=e(t(),1),k=/([A-Za-z0-9._/\\\-]+(?:\.[A-Za-z0-9]+))[:\s]+L?(\d+)/;function A(e){if(!e)return null;let t=k.exec(e);if(!t)return null;let n=t[1],r=Number.parseInt(t[2],10);return!Number.isFinite(r)||r<=0||!n.includes(`/`)&&!/\.(ts|tsx|js|jsx|py|go|rs|java|rb|php|c|cc|cpp|h|hpp|sh|sql)$/i.test(n)?null:{file:n,line:r}}function te(e){let t;try{t=JSON.parse(e)}catch{return null}if(!t||typeof t!=`object`)return null;let n=t;if(n.schema===`0sec.events/v1`&&typeof n.kind==`string`)return j(n);if(n.protocol===`0sec.presentation/v1`&&n.kind===`event`&&typeof n.eventType==`string`&&n.payload&&typeof n.payload==`object`&&!Array.isArray(n.payload)){let e={...n.payload};if(typeof e.ts!=`number`&&typeof n.at==`string`){let t=Date.parse(n.at);Number.isFinite(t)&&(e.ts=t/1e3)}return M(n.eventType,e)}return typeof n.type==`string`&&n.payload&&typeof n.payload==`object`?M(n.type,n.payload):null}function j(e){let t=e.kind,n=typeof e.ts==`number`?e.ts:Date.now()/1e3;if(t===`tool_use`){let t=typeof e.args_preview==`string`?e.args_preview:void 0,r=A(t);return{schema:`0sec.events/v1`,kind:`tool_use`,ts:n,tool:typeof e.tool==`string`?e.tool:`?`,turn:typeof e.turn==`number`?e.turn:void 0,args_preview:t,file:typeof e.file==`string`?e.file:r?.file,line:typeof e.line==`number`?e.line:r?.line,status:e.status===`ok`||e.status===`error`||e.status===`running`?e.status:`running`,duration_ms:typeof e.duration_ms==`number`?e.duration_ms:void 0}}if(t===`finding`)return{schema:`0sec.events/v1`,kind:`finding`,ts:n,finding_id:typeof e.finding_id==`string`?e.finding_id:void 0,title:typeof e.title==`string`?e.title:`Finding`,severity:typeof e.severity==`string`?e.severity:void 0,category:typeof e.category==`string`?e.category:void 0,confidence:typeof e.confidence==`number`?e.confidence:void 0,file:typeof e.file==`string`?e.file:void 0,line:typeof e.line==`number`?e.line:void 0};if(t===`stage`){let t=e.transition===`completed`?`completed`:`started`;return{schema:`0sec.events/v1`,kind:`stage`,ts:n,stage:typeof e.stage==`string`?e.stage:`stage`,transition:t,role:typeof e.role==`string`?e.role:void 0,turn:typeof e.turn==`number`?e.turn:void 0,duration_ms:typeof e.duration_ms==`number`?e.duration_ms:void 0}}return null}function M(e,t){let n=typeof t.ts==`number`?t.ts:Date.now()/1e3;if(e===`tool_call_started`||e===`tool_call_completed`){let r=typeof t.args_preview==`string`?t.args_preview:void 0,i=A(r),a=e===`tool_call_started`?`running`:t.status===`error`?`error`:`ok`;return{schema:`0sec.events/v1`,kind:`tool_use`,ts:n,tool:typeof t.tool==`string`?t.tool:`?`,turn:typeof t.turn==`number`?t.turn:void 0,args_preview:r,file:i?.file,line:i?.line,status:a,duration_ms:typeof t.duration_ms==`number`?t.duration_ms:void 0}}return e===`finding_ingested`?{schema:`0sec.events/v1`,kind:`finding`,ts:n,finding_id:typeof t.finding_id==`string`?t.finding_id:void 0,title:typeof t.title==`string`?t.title:`Finding`,severity:typeof t.severity==`string`?t.severity.toLowerCase():void 0,category:typeof t.category==`string`?t.category:void 0,confidence:typeof t.confidence==`number`?t.confidence:void 0,file:typeof t.file==`string`?t.file:void 0,line:typeof t.line==`number`?t.line:void 0}:e===`step_started`||e===`step_completed`?{schema:`0sec.events/v1`,kind:`stage`,ts:n,stage:typeof t.step==`string`?t.step:`stage`,transition:e===`step_started`?`started`:`completed`,duration_ms:typeof t.duration_ms==`number`?t.duration_ms:void 0}:e===`agent_turn_started`||e===`agent_turn_completed`?{schema:`0sec.events/v1`,kind:`stage`,ts:n,stage:`turn ${typeof t.turn==`number`?t.turn:`?`}`,transition:e===`agent_turn_started`?`started`:`completed`,role:typeof t.role==`string`?t.role:void 0,turn:typeof t.turn==`number`?t.turn:void 0,duration_ms:typeof t.duration_ms==`number`?t.duration_ms:void 0}:null}var N=n(),ne=24,re=60,ie=80;function P(e){return e>=.9?`text-destructive`:e>=.75?`text-amber-600 dark:text-amber-400`:e>=.5?`text-sky-600 dark:text-sky-400`:`text-muted-foreground`}function F(e){return e>=.9?`bg-destructive/12`:e>=.75?`bg-amber-500/12`:e>=.5?`bg-sky-500/12`:``}function I(e){return e.toFixed(2)}function L(e,t){if(t===null)return new Date(e*1e3).toLocaleTimeString();let n=e-t;return n<0?`${n.toFixed(1)}s`:`+${n.toFixed(1)}s`}function R(e){let t=(e??``).toLowerCase();return t===`critical`||t===`high`?`danger`:t===`medium`?`warning`:t===`low`||t===`info`?`info`:`neutral`}function z(e,t,n){let r=null;for(let i of e){if(!i.file.endsWith(t)&&!t.endsWith(i.file)||n<i.start_line-20||n>i.end_line+20)continue;if(!r){r=i;continue}let e=Math.max(0,r.start_line-n,n-r.end_line);Math.max(0,i.start_line-n,n-i.end_line)<e&&(r=i)}return r}function ae(){let e=Date.now()/1e3,t=e=>e;return[t({schema:`gemmaforge.events/v1`,kind:`scan.start`,ts:e,repo:`examples/express-app`,model_id:`google/gemma-4-E2B-it`,layer:17,chunker:`function`}),t({schema:`gemmaforge.events/v1`,kind:`scan.file`,ts:e+.4,file:`src/router.js`,chunks:12}),t({schema:`gemmaforge.events/v1`,kind:`probe.token`,ts:e+.6,token:`app.get(`,score:.14,position:1}),t({schema:`gemmaforge.events/v1`,kind:`probe.token`,ts:e+.7,token:`'/u/:id'`,score:.31,position:2}),t({schema:`gemmaforge.events/v1`,kind:`probe.token`,ts:e+.8,token:` db.query(`,score:.72,position:12}),t({schema:`gemmaforge.events/v1`,kind:`probe.token`,ts:e+.9,token:`'SELECT * FROM users WHERE id='`,score:.84,position:18}),t({schema:`gemmaforge.events/v1`,kind:`probe.token`,ts:e+1,token:` + req.params.id`,score:.93,position:23}),t({schema:`gemmaforge.events/v1`,kind:`probe.alarm`,ts:e+1.05,window:[38,52],top_cwe:`CWE-89`,confidence:.93}),t({schema:`gemmaforge.events/v1`,kind:`scan.lead`,ts:e+1.1,file:`src/router.js`,start_line:38,end_line:52,confidence:.93,top_cwe:`CWE-89`,rank:0}),t({schema:`gemmaforge.events/v1`,kind:`scan.file`,ts:e+1.4,file:`src/exec.js`,chunks:4}),t({schema:`gemmaforge.events/v1`,kind:`probe.token`,ts:e+1.6,token:`child_process.exec(`,score:.81,position:4}),t({schema:`gemmaforge.events/v1`,kind:`probe.token`,ts:e+1.7,token:" `ping ${host}`",score:.88,position:7}),t({schema:`gemmaforge.events/v1`,kind:`probe.alarm`,ts:e+1.78,window:[12,22],top_cwe:`CWE-78`,confidence:.87}),t({schema:`gemmaforge.events/v1`,kind:`scan.lead`,ts:e+1.82,file:`src/exec.js`,start_line:12,end_line:22,confidence:.87,top_cwe:`CWE-78`,rank:1}),t({schema:`gemmaforge.events/v1`,kind:`scan.end`,ts:e+2.4,files_seen:2,chunks_scored:16,leads_emitted:2,elapsed_seconds:2.4})]}function oe(e){return[{schema:`0sec.events/v1`,kind:`stage`,ts:e+1.2,stage:`audit`,transition:`started`,role:`attack`},{schema:`0sec.events/v1`,kind:`tool_use`,ts:e+1.3,tool:`read_file`,turn:1,args_preview:`src/router.js:38`,file:`src/router.js`,line:38,status:`ok`,duration_ms:14},{schema:`0sec.events/v1`,kind:`tool_use`,ts:e+1.5,tool:`shell`,turn:1,args_preview:`grep -n 'db.query' src/router.js`,status:`ok`,duration_ms:47},{schema:`0sec.events/v1`,kind:`finding`,ts:e+1.9,finding_id:`f-001`,title:`SQL injection via req.params.id`,severity:`high`,category:`injection`,confidence:.92,file:`src/router.js`,line:42},{schema:`0sec.events/v1`,kind:`tool_use`,ts:e+2,tool:`read_file`,turn:2,args_preview:`src/exec.js:12`,file:`src/exec.js`,line:12,status:`ok`,duration_ms:9},{schema:`0sec.events/v1`,kind:`finding`,ts:e+2.3,finding_id:`f-002`,title:`Command injection in ping handler`,severity:`critical`,category:`rce`,confidence:.88,file:`src/exec.js`,line:17},{schema:`0sec.events/v1`,kind:`stage`,ts:e+2.5,stage:`audit`,transition:`completed`,role:`attack`,duration_ms:1300}]}function B(){let[e,t]=r(),n=e.get(`events`)??``,i=e.get(`huntEvents`)??`/api/v1/presentation/events`,a=e.get(`demo`)===`1`,[o,s]=(0,O.useState)([]),[l,u]=(0,O.useState)([]),[p,m]=(0,O.useState)([]),[C,w]=(0,O.useState)([]),[T,E]=(0,O.useState)(null),[D,k]=(0,O.useState)([]),[j,M]=(0,O.useState)(null),[P,F]=(0,O.useState)(`idle`),[I,L]=(0,O.useState)(`idle`),[R,B]=(0,O.useState)(null),[H,U]=(0,O.useState)(null),[W,ue]=(0,O.useState)(n),[G,de]=(0,O.useState)(i),K=(0,O.useRef)(null),q=(0,O.useRef)(null),fe=(0,O.useRef)(0),J=(0,O.useRef)([]);(0,O.useEffect)(()=>{J.current=p},[p]);let Y=(0,O.useCallback)(()=>(fe.current+=1,`evt-${fe.current}`),[]),X=(0,O.useCallback)(e=>{switch(q.current===null&&typeof e.ts==`number`&&(q.current=e.ts),e.kind){case`scan.start`:E({repo:e.repo,model_id:e.model_id,layer:e.layer}),M(null),k([]);break;case`scan.file`:k(t=>t.includes(e.file)?t:[...t,e.file].slice(-12));break;case`probe.token`:{let t={id:Y(),ts:e.ts,token:e.token,score:e.score,position:e.position??null};s(e=>[...e,t].slice(-240));break}case`probe.alarm`:{let t={id:Y(),ts:e.ts,window:e.window,top_cwe:e.top_cwe??null,confidence:e.confidence};K.current=t,u(e=>[t,...e].slice(0,ne));break}case`scan.lead`:{let t={id:Y(),ts:e.ts,file:e.file,start_line:e.start_line,end_line:e.end_line,confidence:e.confidence,top_cwe:e.top_cwe??null,rank:e.rank??null,originatingAlarmId:K.current?.id??null};m(e=>[t,...e].slice(0,re));break}case`scan.end`:M({files_seen:e.files_seen,chunks_scored:e.chunks_scored,leads_emitted:e.leads_emitted,elapsed_seconds:e.elapsed_seconds})}},[Y]),Z=(0,O.useCallback)(e=>{q.current===null&&typeof e.ts==`number`&&(q.current=e.ts);let t=null;if((e.kind===`tool_use`||e.kind===`finding`)&&e.file&&typeof e.line==`number`)t=z(J.current,e.file,e.line)?.id??null;else if(e.kind===`tool_use`&&e.args_preview){let n=A(e.args_preview);n&&(t=z(J.current,n.file,n.line)?.id??null)}let n={id:Y(),ts:e.ts,event:e,citedLeadId:t};w(e=>[n,...e].slice(0,ie))},[Y]),Q=(0,O.useCallback)(()=>{s([]),u([]),m([]),w([]),E(null),k([]),M(null),U(null),B(null),K.current=null,q.current=null},[]);(0,O.useEffect)(()=>{if(!a)return;Q(),F(`open`),L(`open`);let e=ae(),t=e[0]?.ts??Date.now()/1e3,n=oe(t),r=[];for(let n of e){let e=Math.max(0,(n.ts-t)*1e3);r.push(setTimeout(()=>X(n),e))}for(let e of n){let n=Math.max(0,(e.ts-t)*1e3);r.push(setTimeout(()=>Z(e),n))}let i=((e.at(-1)?.ts??t)-t)*1e3+300;return r.push(setTimeout(()=>{F(`closed`),L(`closed`)},i)),()=>{for(let e of r)clearTimeout(e)}},[a,X,Z,Q]),(0,O.useEffect)(()=>{if(a||!n)return;s([]),u([]),m([]),E(null),k([]),M(null),U(null),K.current=null,q.current=null,F(`connecting`);let e=null;try{e=new EventSource(n)}catch(e){F(`error`),B(e instanceof Error?e.message:String(e));return}return e.onopen=()=>F(`open`),e.onerror=()=>{F(`error`),B(`EventSource error (connection dropped or refused).`)},e.onmessage=e=>{let t=typeof e.data==`string`?e.data.trim():``;if(t)try{let e=JSON.parse(t);if(e.schema!==`gemmaforge.events/v1`)return;X(e)}catch(e){B(e instanceof Error?e.message:String(e))}},()=>{e?.close(),F(`closed`)}},[a,n,X]),(0,O.useEffect)(()=>{if(a||!i)return;w([]),L(`connecting`);let e=null;try{e=new EventSource(i)}catch(e){L(`error`),B(e instanceof Error?e.message:String(e));return}e.onopen=()=>L(`open`),e.onerror=()=>{L(`error`),B(`Hunt EventSource error (connection dropped or refused).`)};let t=e=>{let t=typeof e.data==`string`?e.data.trim():``;if(!t)return;let n=te(t);n&&Z(n)};return e.onmessage=t,e.addEventListener(`presentation`,t),()=>{e?.close(),L(`closed`)}},[a,i,Z]);let pe=(0,O.useCallback)(()=>{let n=new URLSearchParams(e);n.delete(`demo`),W.trim()?n.set(`events`,W.trim()):n.delete(`events`),G.trim()?n.set(`huntEvents`,G.trim()):n.delete(`huntEvents`),t(n,{replace:!0})},[e,t,W,G]),me=(0,O.useCallback)(()=>{let n=new URLSearchParams(e);n.delete(`events`),n.delete(`huntEvents`),n.set(`demo`,`1`),t(n,{replace:!0})},[e,t]),he=(0,O.useCallback)(()=>{let n=new URLSearchParams(e);n.delete(`events`),n.delete(`huntEvents`),n.delete(`demo`),t(n,{replace:!0}),Q(),F(`idle`),L(`idle`)},[e,Q,t]),$=(0,O.useMemo)(()=>p.find(e=>e.id===H)??null,[p,H]),ge=$?.originatingAlarmId??null,_e=(0,O.useMemo)(()=>{let e=[P,I];return e.includes(`open`)?`open`:e.includes(`connecting`)?`connecting`:e.includes(`error`)?`error`:e.includes(`closed`)?`closed`:`idle`},[P,I]),ve=(0,O.useCallback)(e=>{e.citedLeadId&&U(t=>t===e.citedLeadId?null:e.citedLeadId)},[]);return(0,N.jsxs)(`div`,{className:`space-y-6`,children:[(0,N.jsx)(c,{eyebrow:`GemmaForge × 0sec`,title:`Live workflow`,summary:`Watch the probe → seed leads → agent hunt pipeline in real time. Probe firings stream from gemmaforge.events/v1, leads accumulate to the worklist, and 0sec's hunters surface tool calls and findings as they happen.`,actions:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(V,{state:_e}),(0,N.jsxs)(h,{variant:a?`outline`:`accent`,onClick:me,children:[(0,N.jsx)(ee,{}),`Demo replay`]}),(0,N.jsx)(h,{variant:`outline`,onClick:he,disabled:_e===`idle`,children:`Stop`})]})}),(0,N.jsxs)(v,{className:`overflow-hidden`,children:[(0,N.jsx)(S,{children:(0,N.jsxs)(`div`,{children:[(0,N.jsx)(x,{children:`Event sources`}),(0,N.jsx)(f,{className:`mt-2`,children:`SSE endpoints`}),(0,N.jsxs)(g,{children:[`The probe + lead lanes consume `,(0,N.jsx)(`code`,{className:`font-mono text-xs`,children:`gemmaforge.events/v1`}),`; the hunt lane consumes `,(0,N.jsx)(`code`,{className:`font-mono text-xs`,children:`0sec.events/v1`}),`. Run`,` `,(0,N.jsx)(`code`,{className:`font-mono text-xs`,children:`node scripts/serve-events.mjs <gemma.ndjson> --0sec-log <0sec.log>`}),` `,`to expose both at `,(0,N.jsx)(`code`,{className:`font-mono text-xs`,children:`/events`}),` and `,(0,N.jsx)(`code`,{className:`font-mono text-xs`,children:`/hunt-events`}),`.`]})]})}),(0,N.jsxs)(_,{className:`space-y-3`,children:[(0,N.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,N.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70 w-24`,children:`gemmaforge`}),(0,N.jsx)(b,{value:W,onChange:e=>ue(e.target.value),placeholder:`http://localhost:8765/events`,className:`min-w-[16rem] flex-1`}),(0,N.jsx)(V,{state:P})]}),(0,N.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,N.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70 w-24`,children:`0sec`}),(0,N.jsx)(b,{value:G,onChange:e=>de(e.target.value),placeholder:`http://localhost:8765/hunt-events`,className:`min-w-[16rem] flex-1`}),(0,N.jsx)(V,{state:I})]}),(0,N.jsx)(`div`,{className:`flex justify-end`,children:(0,N.jsxs)(h,{onClick:pe,disabled:!W.trim()&&!G.trim(),children:[(0,N.jsx)(d,{}),`Connect`]})}),T?(0,N.jsxs)(`div`,{className:`flex flex-wrap gap-2 text-xs text-muted-foreground`,children:[T.repo?(0,N.jsxs)(y,{variant:`neutral`,children:[`repo `,T.repo]}):null,T.model_id?(0,N.jsxs)(y,{variant:`neutral`,children:[`model `,T.model_id]}):null,T.layer===void 0?null:(0,N.jsxs)(y,{variant:`neutral`,children:[`layer `,T.layer]}),D.length>0?(0,N.jsxs)(`span`,{className:`text-muted-foreground`,children:[`files: `,(0,N.jsx)(`span`,{className:`font-mono`,children:D.slice(-4).join(`, `)})]}):null]}):null,j?(0,N.jsxs)(`div`,{className:`flex flex-wrap gap-2 text-xs`,children:[(0,N.jsx)(y,{variant:`success`,children:`scan complete`}),(0,N.jsxs)(`span`,{className:`text-muted-foreground`,children:[j.files_seen??`?`,` files · `,j.chunks_scored??`?`,` chunks · `,j.leads_emitted??`?`,` leads · `,j.elapsed_seconds?.toFixed(1)??`?`,`s`]})]}):null,R?(0,N.jsx)(`div`,{className:`rounded-md border border-destructive/20 bg-destructive/5 px-3 py-2 text-xs text-destructive`,children:R}):null]})]}),(0,N.jsxs)(`section`,{className:`grid gap-4 xl:grid-cols-3`,children:[(0,N.jsx)(se,{tokens:o,alarms:l,highlightedAlarmId:ge,baseTs:q.current,onClearSelection:()=>U(null),hasSelection:$!==null}),(0,N.jsx)(ce,{leads:p,baseTs:q.current,selectedLeadId:H,onSelectLead:e=>U(t=>t===e?null:e)}),(0,N.jsx)(le,{cards:C,selectedLead:$,selectedLeadId:H,baseTs:q.current,onCardClick:ve})]})]})}function V({state:e}){return e===`open`?(0,N.jsxs)(y,{variant:`success`,className:`gap-1.5`,children:[(0,N.jsx)(d,{className:`size-3`}),` live`]}):e===`connecting`?(0,N.jsxs)(y,{variant:`warning`,className:`gap-1.5`,children:[(0,N.jsx)(d,{className:`size-3`}),` connecting`]}):e===`error`?(0,N.jsxs)(y,{variant:`danger`,className:`gap-1.5`,children:[(0,N.jsx)(d,{className:`size-3`}),` error`]}):e===`closed`?(0,N.jsxs)(y,{variant:`neutral`,className:`gap-1.5`,children:[(0,N.jsx)(d,{className:`size-3`}),` closed`]}):(0,N.jsxs)(y,{variant:`neutral`,className:`gap-1.5`,children:[(0,N.jsx)(d,{className:`size-3`}),` idle`]})}function se({tokens:e,alarms:t,highlightedAlarmId:n,baseTs:r,onClearSelection:i,hasSelection:a}){let o=(0,O.useRef)(null);return(0,O.useEffect)(()=>{let e=o.current;e&&(e.scrollTop=e.scrollHeight)},[e.length]),(0,N.jsxs)(v,{className:`flex flex-col overflow-hidden`,children:[(0,N.jsx)(S,{children:(0,N.jsxs)(`div`,{children:[(0,N.jsx)(x,{children:`Lane 1 · Probe`}),(0,N.jsxs)(f,{className:`mt-2 flex items-center gap-2`,children:[(0,N.jsx)(D,{className:`size-4 text-primary`}),`Probe firings`]}),(0,N.jsxs)(g,{children:[`Per-token probe scores from `,(0,N.jsx)(`code`,{className:`font-mono text-xs`,children:`stream_with_probe.py`}),`. Alarms pin to the top when the rolling score crosses threshold.`]})]})}),(0,N.jsxs)(_,{className:`flex flex-1 flex-col gap-3`,children:[t.length===0?null:(0,N.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,N.jsxs)(`div`,{className:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70`,children:[`Alarms `,(0,N.jsxs)(`span`,{className:`text-muted-foreground/40`,children:[`(`,t.length,`)`]})]}),(0,N.jsx)(`div`,{className:`space-y-1.5`,children:t.slice(0,4).map(e=>(0,N.jsxs)(`div`,{className:u(`rounded-md border px-3 py-2 transition-colors`,n===e.id?`border-primary/40 bg-primary/8 ring-1 ring-primary/30`:`border-destructive/20 bg-destructive/5`),children:[(0,N.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-xs`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(p,{className:`size-3.5 text-destructive`}),(0,N.jsxs)(`span`,{className:`font-mono`,children:[`L`,e.window[0],`–`,e.window[1]]}),e.top_cwe?(0,N.jsx)(y,{variant:`danger`,children:e.top_cwe}):null]}),(0,N.jsx)(`span`,{className:`font-mono text-destructive`,children:I(e.confidence)})]}),(0,N.jsxs)(`div`,{className:`mt-1 text-[10px] text-muted-foreground`,children:[L(e.ts,r),n===e.id?` · originating fire`:``]})]},e.id))}),a?(0,N.jsx)(h,{variant:`ghost`,size:`xs`,onClick:i,children:`Clear lead selection`}):null]}),(0,N.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,N.jsxs)(`div`,{className:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70`,children:[`Token stream `,(0,N.jsxs)(`span`,{className:`text-muted-foreground/40`,children:[`(`,e.length,`)`]})]}),(0,N.jsx)(`div`,{ref:o,className:`max-h-[28rem] min-h-[12rem] overflow-y-auto rounded-md border border-border bg-muted/10 px-3 py-3 font-mono text-xs leading-relaxed`,children:e.length===0?(0,N.jsx)(`div`,{className:`text-muted-foreground`,children:`Waiting for probe.token events…`}):(0,N.jsx)(`div`,{className:`flex flex-wrap gap-x-0.5 gap-y-1`,children:e.map(e=>(0,N.jsx)(`span`,{title:`score ${I(e.score)} · pos ${e.position??`?`}`,className:u(`rounded-sm px-1 py-0.5`,P(e.score),F(e.score)),children:e.token},e.id))})}),(0,N.jsxs)(`div`,{className:`flex items-center gap-3 text-[10px] text-muted-foreground`,children:[(0,N.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,N.jsx)(`span`,{className:`size-2 rounded-full bg-muted-foreground/50`}),` <0.5`]}),(0,N.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,N.jsx)(`span`,{className:`size-2 rounded-full bg-sky-500`}),` 0.5–0.75`]}),(0,N.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,N.jsx)(`span`,{className:`size-2 rounded-full bg-amber-500`}),` 0.75–0.9`]}),(0,N.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,N.jsx)(`span`,{className:`size-2 rounded-full bg-destructive`}),` ≥0.9`]})]})]})]})]})}function ce({leads:e,baseTs:t,selectedLeadId:n,onSelectLead:r}){return(0,N.jsxs)(v,{className:`flex flex-col overflow-hidden`,children:[(0,N.jsx)(S,{children:(0,N.jsxs)(`div`,{children:[(0,N.jsx)(x,{children:`Lane 2 · Leads`}),(0,N.jsxs)(f,{className:`mt-2 flex items-center gap-2`,children:[(0,N.jsx)(l,{className:`size-4 text-primary`}),`Seed worklist`]}),(0,N.jsx)(g,{children:"Regions that passed `--min-confidence` and shipped to the leads file. Click a lead to highlight the probe firing that originated it; click a hunt tool-call to highlight the lead it cites."})]})}),(0,N.jsx)(_,{className:`flex flex-1 flex-col`,children:e.length===0?(0,N.jsx)(m,{children:`Waiting for scan.lead events…`}):(0,N.jsx)(`div`,{className:`max-h-[36rem] space-y-2 overflow-y-auto pr-1`,children:e.map(e=>{let i=e.id===n;return(0,N.jsxs)(`button`,{type:`button`,onClick:()=>r(e.id),className:u(`w-full rounded-md border px-3 py-3 text-left transition-colors`,i?`border-primary/40 bg-primary/8 ring-1 ring-primary/30`:`border-border bg-background hover:border-primary/20 hover:bg-primary/4`),children:[(0,N.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,N.jsxs)(`div`,{className:`min-w-0`,children:[(0,N.jsx)(`div`,{className:`truncate font-mono text-xs text-foreground`,children:e.file}),(0,N.jsxs)(`div`,{className:`mt-0.5 text-[11px] text-muted-foreground`,children:[`lines `,e.start_line,`–`,e.end_line,e.rank===null?``:` · rank #${e.rank}`,` · `,L(e.ts,t)]})]}),(0,N.jsxs)(`div`,{className:`flex shrink-0 flex-col items-end gap-1`,children:[(0,N.jsx)(y,{variant:`accent`,className:`font-mono`,children:I(e.confidence)}),e.top_cwe?(0,N.jsx)(y,{variant:`danger`,children:e.top_cwe}):null]})]}),i?(0,N.jsxs)(`div`,{className:`mt-2 flex items-center gap-1 text-[10px] text-primary`,children:[(0,N.jsx)(w,{className:`size-3`}),`probe lane is highlighting the originating fire`,(0,N.jsx)(C,{className:`ml-auto size-3`}),(0,N.jsx)(s,{className:`size-3`}),`hunt lane is targeting this lead`]}):null]},e.id)})})})]})}function le({cards:e,selectedLead:t,selectedLeadId:n,baseTs:r,onCardClick:a}){return(0,N.jsxs)(v,{className:`flex flex-col overflow-hidden`,children:[(0,N.jsx)(S,{children:(0,N.jsxs)(`div`,{children:[(0,N.jsx)(x,{children:`Lane 3 · Hunt`}),(0,N.jsxs)(f,{className:`mt-2 flex items-center gap-2`,children:[(0,N.jsx)(o,{className:`size-4 text-primary`}),`Agent activity`]}),(0,N.jsx)(g,{children:`Live 0sec scan events — tool calls, findings, and stage transitions. Click a card that cites a file:line to highlight the originating lead in lane 2.`})]})}),(0,N.jsxs)(_,{className:`flex flex-1 flex-col gap-3`,children:[t?(0,N.jsxs)(`div`,{className:`rounded-md border border-primary/20 bg-primary/4 px-3 py-3`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] font-medium uppercase tracking-widest text-primary`,children:[(0,N.jsx)(T,{className:`size-3`}),`Targeting lead`]}),(0,N.jsx)(`div`,{className:`mt-1 truncate font-mono text-xs text-foreground`,children:t.file}),(0,N.jsxs)(`div`,{className:`text-[11px] text-muted-foreground`,children:[`lines `,t.start_line,`–`,t.end_line,` · `,I(t.confidence),t.top_cwe?` · ${t.top_cwe}`:``]})]}):null,e.length===0?(0,N.jsx)(m,{children:`Waiting for 0sec hunt events…`}):(0,N.jsx)(`div`,{className:`max-h-[36rem] space-y-2 overflow-y-auto pr-1`,children:e.map(e=>(0,N.jsx)(H,{card:e,baseTs:r,highlightLead:n!==null&&e.citedLeadId===n,onClick:()=>a(e)},e.id))}),(0,N.jsx)(`div`,{className:`mt-auto pt-2`,children:(0,N.jsx)(h,{asChild:!0,variant:`ghost`,size:`sm`,children:(0,N.jsx)(i,{to:`/findings`,children:`Open findings workspace`})})})]})]})}function H({card:e,baseTs:t,highlightLead:n,onClick:r}){let i=e.event,a=e.citedLeadId!==null,o=u(`block w-full rounded-md border px-3 py-3 text-left transition-colors`,n?`border-primary/40 bg-primary/8 ring-1 ring-primary/30`:a?`border-border bg-background hover:border-primary/20 hover:bg-primary/4 cursor-pointer`:`border-border bg-background`),s=i.kind===`tool_use`?(0,N.jsx)(U,{event:i}):i.kind===`finding`?(0,N.jsx)(W,{event:i}):(0,N.jsx)(ue,{event:i}),c=(0,N.jsxs)(`div`,{className:`mt-2 flex items-center justify-between text-[10px] text-muted-foreground`,children:[(0,N.jsx)(`span`,{children:L(e.ts,t)}),a?(0,N.jsxs)(`span`,{className:`flex items-center gap-1 text-primary`,children:[(0,N.jsx)(C,{className:`size-3`}),n?`linked to selected lead`:`click to highlight lead`]}):null]});return a?(0,N.jsxs)(`button`,{type:`button`,onClick:r,className:o,children:[s,c]}):(0,N.jsxs)(`div`,{className:o,children:[s,c]})}function U({event:e}){let t=e.status===`ok`?`success`:e.status===`error`?`danger`:`warning`;return(0,N.jsxs)(`div`,{className:`space-y-1`,children:[(0,N.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,N.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,N.jsx)(E,{className:`size-3.5 shrink-0 text-primary`}),(0,N.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:e.tool}),typeof e.turn==`number`?(0,N.jsxs)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:[`turn `,e.turn]}):null]}),(0,N.jsx)(y,{variant:t,children:e.status??`running`})]}),e.args_preview?(0,N.jsx)(`div`,{className:`truncate font-mono text-[11px] text-muted-foreground`,title:e.args_preview,children:e.args_preview}):null,e.file?(0,N.jsxs)(`div`,{className:`font-mono text-[11px] text-primary`,children:[e.file,typeof e.line==`number`?`:${e.line}`:``]}):null]})}function W({event:e}){return(0,N.jsxs)(`div`,{className:`space-y-1`,children:[(0,N.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,N.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,N.jsx)(p,{className:`size-3.5 shrink-0 text-destructive`}),(0,N.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:e.title})]}),(0,N.jsxs)(`div`,{className:`flex shrink-0 flex-col items-end gap-1`,children:[e.severity?(0,N.jsx)(y,{variant:R(e.severity),children:e.severity}):null,typeof e.confidence==`number`?(0,N.jsx)(y,{variant:`accent`,className:`font-mono`,children:I(e.confidence)}):null]})]}),e.category?(0,N.jsx)(`div`,{className:`text-[11px] text-muted-foreground`,children:e.category}):null,e.file?(0,N.jsxs)(`div`,{className:`font-mono text-[11px] text-primary`,children:[e.file,typeof e.line==`number`?`:${e.line}`:``]}):null]})}function ue({event:e}){let t=e.transition===`completed`?`success`:`neutral`;return(0,N.jsxs)(`div`,{className:`space-y-1`,children:[(0,N.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,N.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,N.jsx)(s,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,N.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:e.stage}),e.role?(0,N.jsx)(y,{variant:`neutral`,children:e.role}):null]}),(0,N.jsx)(y,{variant:t,children:e.transition})]}),typeof e.duration_ms==`number`&&e.duration_ms>0?(0,N.jsxs)(`div`,{className:`font-mono text-[11px] text-muted-foreground`,children:[e.duration_ms,`ms`]}):null]})}export{B as LivePage};
@@ -1,2 +0,0 @@
1
- /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-leading:initial;--tw-font-weight:initial;--tw-tracking: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-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;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer theme{:root,:host{--font-sans:"Geist Variable", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--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-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Geist Variable", sans-serif;--default-mono-font-family:var(--font-mono)}}@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}*{box-sizing:border-box;border-color:var(--border);outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}html,body,#root{min-height:100%;margin:0}body{background:var(--background);background-color:var(--background);min-height:100vh;color:var(--foreground);font-family:Geist Variable,ui-sans-serif,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}pre,code{font-family:IBM Plex Mono,ui-monospace,monospace}pre{white-space:pre-wrap;word-break:break-word;margin:0}::selection{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in oklab, var(--primary) 28%, transparent)}}html{font-family:Geist Variable,sans-serif}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-\[4\.5625rem\]{top:4.5625rem}.right-1{right:calc(var(--spacing) * 1)}.right-4{right:calc(var(--spacing) * 4)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.z-20{z-index:20}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.mx-auto{margin-inline:auto}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.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-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-full{width:100%;height:100%}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.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-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[calc\(100vh-4\.5625rem\)\]{height:calc(100vh - 4.5625rem)}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[28rem\]{max-height:28rem}.max-h-\[36rem\]{max-height:36rem}.max-h-\[38rem\]{max-height:38rem}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[min\(24rem\,60vh\)\]{max-height:min(24rem,60vh)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-\[12rem\]{min-height:12rem}.min-h-\[16rem\]{min-height:16rem}.min-h-\[20rem\]{min-height:20rem}.min-h-\[36rem\]{min-height:36rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-24{width:calc(var(--spacing) * 24)}.w-72{width:calc(var(--spacing) * 72)}.w-\[8rem\]{width:8rem}.w-\[10rem\]{width:10rem}.w-\[12rem\]{width:12rem}.w-\[14rem\]{width:14rem}.w-\[16rem\]{width:16rem}.w-\[20rem\]{width:20rem}.w-\[22rem\]{width:22rem}.w-\[32rem\]{width:32rem}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[12rem\]{max-width:12rem}.max-w-\[24rem\]{max-width:24rem}.max-w-\[1800px\]{max-width:1800px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-\[16rem\]{min-width:16rem}.min-w-max{min-width:max-content}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);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)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize-none{resize:none}.scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.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)}: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-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-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)))}.gap-x-0\.5{column-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}: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-border>:not(:last-child)){border-color:var(--border)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:calc(var(--radius) + 2px)}.rounded-md{border-radius:var(--radius)}.rounded-sm{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-t-lg{border-top-left-radius:calc(var(--radius) + 2px);border-top-right-radius:calc(var(--radius) + 2px)}.rounded-b-lg{border-bottom-right-radius:calc(var(--radius) + 2px);border-bottom-left-radius:calc(var(--radius) + 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/20{border-color:color-mix(in oklab, var(--color-amber-500) 20%, transparent)}}.border-border,.border-border\/70{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/70{border-color:color-mix(in oklab, var(--border) 70%, transparent)}}.border-destructive\/20{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/20{border-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.border-destructive\/25{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/25{border-color:color-mix(in oklab, var(--destructive) 25%, transparent)}}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/30{border-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/20{border-color:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.border-input{border-color:var(--input)}.border-primary\/20{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.border-primary\/30{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.border-primary\/35{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/35{border-color:color-mix(in oklab, var(--primary) 35%, transparent)}}.border-primary\/40{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/40{border-color:color-mix(in oklab, var(--primary) 40%, transparent)}}.border-transparent{border-color:#0000}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-amber-500\/12{background-color:#f99c001f}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/12{background-color:color-mix(in oklab, var(--color-amber-500) 12%, transparent)}}.bg-background,.bg-background\/70{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/70{background-color:color-mix(in oklab, var(--background) 70%, transparent)}}.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab, var(--background) 80%, transparent)}}.bg-background\/95{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/95{background-color:color-mix(in oklab, var(--background) 95%, transparent)}}.bg-border,.bg-border\/50{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.bg-border\/50{background-color:color-mix(in oklab, var(--border) 50%, transparent)}}.bg-card{background-color:var(--card)}.bg-destructive,.bg-destructive\/5{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/5{background-color:color-mix(in oklab, var(--destructive) 5%, transparent)}}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-destructive\/12{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/12{background-color:color-mix(in oklab, var(--destructive) 12%, transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-emerald-500\/12{background-color:#00bb7f1f}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/12{background-color:color-mix(in oklab, var(--color-emerald-500) 12%, transparent)}}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\/50{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\/50{background-color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.bg-muted\/10{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/10{background-color:color-mix(in oklab, var(--muted) 10%, transparent)}}.bg-muted\/15{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/15{background-color:color-mix(in oklab, var(--muted) 15%, transparent)}}.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/20{background-color:color-mix(in oklab, var(--muted) 20%, transparent)}}.bg-muted\/25{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/25{background-color:color-mix(in oklab, var(--muted) 25%, transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.bg-muted\/35{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/35{background-color:color-mix(in oklab, var(--muted) 35%, transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/40{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/4{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/4{background-color:color-mix(in oklab, var(--primary) 4%, transparent)}}.bg-primary\/5{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.bg-primary\/6{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/6{background-color:color-mix(in oklab, var(--primary) 6%, transparent)}}.bg-primary\/7{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/7{background-color:color-mix(in oklab, var(--primary) 7%, transparent)}}.bg-primary\/8{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/8{background-color:color-mix(in oklab, var(--primary) 8%, transparent)}}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.bg-primary\/12{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/12{background-color:color-mix(in oklab, var(--primary) 12%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-sky-500\/12{background-color:#00a5ef1f}@supports (color:color-mix(in lab, red, red)){.bg-sky-500\/12{background-color:color-mix(in oklab, var(--color-sky-500) 12%, transparent)}}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing) * 0)}.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)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-heading{font-family:var(--font-sans)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[2rem\]{font-size:2rem}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.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-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.wrap-break-word{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground,.text-foreground\/70{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/70{color:color-mix(in oklab, var(--foreground) 70%, transparent)}}.text-foreground\/80{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/80{color:color-mix(in oklab, var(--foreground) 80%, transparent)}}.text-muted-foreground,.text-muted-foreground\/40{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/40{color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/70{color:color-mix(in oklab, var(--muted-foreground) 70%, transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sky-600{color:var(--color-sky-600)}.text-sky-700{color:var(--color-sky-700)}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-30{opacity:.3}.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)}.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-primary\/15{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.ring-primary\/15{--tw-ring-color:color-mix(in oklab, var(--primary) 15%, transparent)}}.ring-primary\/20{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.ring-primary\/20{--tw-ring-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.ring-primary\/30{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.ring-primary\/30{--tw-ring-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{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-\[background-color\,border-color\,color\,box-shadow\]{transition-property:background-color,border-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\]{transition-property:background-color,border-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,background-color\,box-shadow\]{transition-property:border-color,background-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\,border-color\]{transition-property:color,box-shadow,border-color;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-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))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}.group-has-data-\[slot\=command-shortcut\]\/command-item\:hidden:is(:where(.group\/command-item):has([data-slot=command-shortcut]) *){display:none}.group-data-\[checked\=true\]\/command-item\:opacity-100:is(:where(.group\/command-item)[data-checked=true] *){opacity:1}.group-data-\[size\=sm\]\/card\:px-4:is(:where(.group\/card)[data-size=sm] *){padding-inline:calc(var(--spacing) * 4)}.group-data-\[variant\=line\]\/tabs-list\:rounded-none:is(:where(.group\/tabs-list)[data-variant=line] *){border-radius:0}.group-data-\[variant\=line\]\/tabs-list\:px-2:is(:where(.group\/tabs-list)[data-variant=line] *){padding-inline:calc(var(--spacing) * 2)}.group-data-\[variant\=line\]\/tabs-list\:py-2:is(:where(.group\/tabs-list)[data-variant=line] *){padding-block:calc(var(--spacing) * 2)}.group-data-selected\/command-item\:text-foreground:is(:where(.group\/command-item):where([data-selected=true]) *){color:var(--foreground)}.group-data-horizontal\/tabs\:h-9:is(:where(.group\/tabs):where([data-orientation=horizontal]) *){height:calc(var(--spacing) * 9)}.group-data-vertical\/tabs\:h-fit:is(:where(.group\/tabs):where([data-orientation=vertical]) *){height:fit-content}.group-data-vertical\/tabs\:w-full:is(:where(.group\/tabs):where([data-orientation=vertical]) *){width:100%}.group-data-vertical\/tabs\:flex-col:is(:where(.group\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.group-data-vertical\/tabs\:justify-start:is(:where(.group\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}.group-data-vertical\/tabs\:rounded-lg:is(:where(.group\/tabs):where([data-orientation=vertical]) *){border-radius:calc(var(--radius) + 2px)}.group-data-vertical\/tabs\:rounded-md:is(:where(.group\/tabs):where([data-orientation=vertical]) *){border-radius:var(--radius)}.group-data-vertical\/tabs\:px-3:is(:where(.group\/tabs):where([data-orientation=vertical]) *){padding-inline:calc(var(--spacing) * 3)}.group-data-vertical\/tabs\:py-1\.5:is(:where(.group\/tabs):where([data-orientation=vertical]) *){padding-block:calc(var(--spacing) * 1.5)}.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-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bg-primary:after{content:var(--tw-content);background-color:var(--primary)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-horizontal\/tabs\:after\:inset-x-0:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-horizontal\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.group-data-horizontal\/tabs\:after\:h-0\.5:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-vertical\/tabs\:after\:inset-y-0:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-vertical\/tabs\:after\:-right-1:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-vertical\/tabs\:after\:w-0\.5:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.first\:pt-0:first-child{padding-top:calc(var(--spacing) * 0)}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing) * 0)}@media (hover:hover){.hover\:border-primary\/20:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/20:hover{border-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-amber-500\/16:hover{background-color:#f99c0029}@supports (color:color-mix(in lab, red, red)){.hover\:bg-amber-500\/16:hover{background-color:color-mix(in oklab, var(--color-amber-500) 16%, transparent)}}.hover\:bg-destructive\/16:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/16:hover{background-color:color-mix(in oklab, var(--destructive) 16%, transparent)}}.hover\:bg-destructive\/92:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/92:hover{background-color:color-mix(in oklab, var(--destructive) 92%, transparent)}}.hover\:bg-emerald-500\/16:hover{background-color:#00bb7f29}@supports (color:color-mix(in lab, red, red)){.hover\:bg-emerald-500\/16:hover{background-color:color-mix(in oklab, var(--color-emerald-500) 16%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/4:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/4:hover{background-color:color-mix(in oklab, var(--primary) 4%, transparent)}}.hover\:bg-primary\/5:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.hover\:bg-primary\/6:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/6:hover{background-color:color-mix(in oklab, var(--primary) 6%, transparent)}}.hover\:bg-primary\/92:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/92:hover{background-color:color-mix(in oklab, var(--primary) 92%, transparent)}}.hover\:bg-secondary\/85:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/85:hover{background-color:color-mix(in oklab, var(--secondary) 85%, transparent)}}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-sm:hover{--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)}}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color: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\/30:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 40%, 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}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-aria-expanded\:bg-primary\/5:has([aria-expanded=true]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.has-aria-expanded\:bg-primary\/5:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-end\]\:pr-2\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2.5)}.has-data-\[icon\=inline-end\]\:pr-3:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 3)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-2\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2.5)}.has-data-\[icon\=inline-start\]\:pl-3:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 3)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:calc(var(--spacing) * 0)}.aria-expanded\:border-primary\/20[aria-expanded=true]{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.aria-expanded\:border-primary\/20[aria-expanded=true]{border-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.aria-expanded\:bg-primary\/8[aria-expanded=true]{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.aria-expanded\:bg-primary\/8[aria-expanded=true]{background-color:color-mix(in oklab, var(--primary) 8%, transparent)}}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-2[aria-invalid=true]{--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)}.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)}}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[side\=bottom\]\:inset-x-0[data-side=bottom]{inset-inline:calc(var(--spacing) * 0)}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom:calc(var(--spacing) * 0)}.data-\[side\=bottom\]\:h-auto[data-side=bottom]{height:auto}.data-\[side\=bottom\]\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[side\=left\]\:inset-y-0[data-side=left]{inset-block:calc(var(--spacing) * 0)}.data-\[side\=left\]\:left-0[data-side=left]{left:calc(var(--spacing) * 0)}.data-\[side\=left\]\:h-full[data-side=left]{height:100%}.data-\[side\=left\]\:w-3\/4[data-side=left]{width:75%}.data-\[side\=left\]\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[side\=right\]\:inset-y-0[data-side=right]{inset-block:calc(var(--spacing) * 0)}.data-\[side\=right\]\:right-0[data-side=right]{right:calc(var(--spacing) * 0)}.data-\[side\=right\]\:h-full[data-side=right]{height:100%}.data-\[side\=right\]\:w-3\/4[data-side=right]{width:75%}.data-\[side\=right\]\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[side\=top\]\:inset-x-0[data-side=top]{inset-inline:calc(var(--spacing) * 0)}.data-\[side\=top\]\:top-0[data-side=top]{top:calc(var(--spacing) * 0)}.data-\[side\=top\]\:h-auto[data-side=top]{height:auto}.data-\[side\=top\]\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.data-\[size\=sm\]\:gap-4[data-size=sm]{gap:calc(var(--spacing) * 4)}.data-\[size\=sm\]\:py-4[data-size=sm]{padding-block:calc(var(--spacing) * 4)}.data-\[state\=selected\]\:bg-primary\/8[data-state=selected]{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=selected\]\:bg-primary\/8[data-state=selected]{background-color:color-mix(in oklab, var(--primary) 8%, transparent)}}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.data-\[variant\=line\]\:border-0[data-variant=line]{border-style:var(--tw-border-style);border-width:0}.data-\[variant\=line\]\:bg-transparent[data-variant=line]{background-color:#0000}.data-\[variant\=line\]\:p-0[data-variant=line]{padding:calc(var(--spacing) * 0)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\: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,)}}@media (width>=40rem){.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-xl{max-width:var(--container-xl)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.data-\[side\=left\]\:sm\:max-w-sm[data-side=left],.data-\[side\=right\]\:sm\:max-w-sm[data-side=right]{max-width:var(--container-sm)}}@media (width>=48rem){.md\:col-span-2{grid-column:span 2/span 2}.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\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (width>=64rem){.lg\:flex{display:flex}.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-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:justify-between{justify-content:space-between}}@media (width>=80rem){.xl\:sticky{position:sticky}.xl\:top-\[5\.25rem\]{top:5.25rem}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:flex{display:flex}.xl\:grid{display:grid}.xl\:hidden{display:none}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[0\.95fr_1\.05fr\]{grid-template-columns:.95fr 1.05fr}.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-\[4\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:4.5rem minmax(0,1fr)}.xl\:grid-cols-\[22rem_minmax\(0\,1fr\)\]{grid-template-columns:22rem minmax(0,1fr)}.xl\:grid-cols-\[22rem_minmax\(0\,1fr\)_20rem\]{grid-template-columns:22rem minmax(0,1fr) 20rem}.xl\:grid-cols-\[minmax\(0\,1\.2fr\)_repeat\(3\,minmax\(0\,0\.8fr\)\)\]{grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,.8fr))}.xl\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.xl\:flex-col{flex-direction:column}.xl\:flex-row{flex-direction:row}.xl\:items-center{align-items:center}.xl\:justify-between{justify-content:space-between}.xl\:self-start{align-self:flex-start}}@media (width>=96rem){.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.dark\:bg-amber-500\/18:is(.dark *){background-color:#f99c002e}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-500\/18:is(.dark *){background-color:color-mix(in oklab, var(--color-amber-500) 18%, transparent)}}.dark\:bg-destructive\/18:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/18:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 18%, transparent)}}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-emerald-500\/18:is(.dark *){background-color:#00bb7f2e}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-500\/18:is(.dark *){background-color:color-mix(in oklab, var(--color-emerald-500) 18%, transparent)}}.dark\:bg-input\/20:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/20:is(.dark *){background-color:color-mix(in oklab, var(--input) 20%, transparent)}}.dark\:bg-primary\/18:is(.dark *){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-primary\/18:is(.dark *){background-color:color-mix(in oklab, var(--primary) 18%, transparent)}}.dark\:bg-sky-500\/18:is(.dark *){background-color:#00a5ef2e}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky-500\/18:is(.dark *){background-color:color-mix(in oklab, var(--color-sky-500) 18%, transparent)}}.dark\:bg-transparent:is(.dark *){background-color:#0000}.dark\:text-amber-200:is(.dark *){color:var(--color-amber-200)}.dark\:text-amber-300:is(.dark *){color:var(--color-amber-300)}.dark\:text-amber-400:is(.dark *){color:var(--color-amber-400)}.dark\:text-destructive:is(.dark *){color:var(--destructive)}.dark\:text-emerald-200:is(.dark *){color:var(--color-emerald-200)}.dark\:text-emerald-300:is(.dark *){color:var(--color-emerald-300)}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:text-primary-foreground:is(.dark *){color:var(--primary-foreground)}.dark\:text-sky-200:is(.dark *){color:var(--color-sky-200)}.dark\:text-sky-400:is(.dark *){color:var(--color-sky-400)}@media (hover:hover){.dark\:hover\:bg-amber-500\/24:is(.dark *):hover{background-color:#f99c003d}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-amber-500\/24:is(.dark *):hover{background-color:color-mix(in oklab, var(--color-amber-500) 24%, transparent)}}.dark\:hover\:bg-emerald-500\/24:is(.dark *):hover{background-color:#00bb7f3d}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-emerald-500\/24:is(.dark *):hover{background-color:color-mix(in oklab, var(--color-emerald-500) 24%, transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.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\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, 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)}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom]:where([data-state=open]),.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*100%)}.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left]:where([data-state=open]),.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*-100%)}.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right]:where([data-state=open]),.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*100%)}.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top]:where([data-state=open]),.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*-100%)}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom]:where([data-state=closed]),.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*100%)}.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left]:where([data-state=closed]),.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*-100%)}.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right]:where([data-state=closed]),.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*100%)}.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top]:where([data-state=closed]),.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*-100%)}.data-selected\:bg-accent:where([data-selected=true]){background-color:var(--accent)}.data-selected\:text-foreground:where([data-selected=true]){color:var(--foreground)}.data-active\:border-border:where([data-state=active]),.data-active\:border-border:where([data-active]:not([data-active=false])){border-color:var(--border)}.data-active\:bg-background:where([data-state=active]),.data-active\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.data-active\:text-foreground:where([data-state=active]),.data-active\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}:is(.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.dark\:data-active\:bg-card:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-card:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--card)}.data-horizontal\:h-2\.5:where([data-orientation=horizontal]){height:calc(var(--spacing) * 2.5)}.data-horizontal\:h-px:where([data-orientation=horizontal]){height:1px}.data-horizontal\:w-full:where([data-orientation=horizontal]){width:100%}.data-horizontal\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.data-horizontal\:border-t:where([data-orientation=horizontal]){border-top-style:var(--tw-border-style);border-top-width:1px}.data-horizontal\:border-t-transparent:where([data-orientation=horizontal]){border-top-color:#0000}.data-vertical\:h-full:where([data-orientation=vertical]){height:100%}.data-vertical\:w-2\.5:where([data-orientation=vertical]){width:calc(var(--spacing) * 2.5)}.data-vertical\:w-px:where([data-orientation=vertical]){width:1px}.data-vertical\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.data-vertical\:border-l:where([data-orientation=vertical]){border-left-style:var(--tw-border-style);border-left-width:1px}.data-vertical\:border-l-transparent:where([data-orientation=vertical]){border-left-color:#0000}.\[\&_\[cmdk-group-heading\]\]\:px-3 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 3)}.\[\&_\[cmdk-group-heading\]\]\:py-2 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:tracking-\[0\.16em\] [cmdk-group-heading]{--tw-tracking:.16em;letter-spacing:.16em}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group-heading\]\]\:uppercase [cmdk-group-heading]{text-transform:uppercase}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.group-data-\[size\=sm\]\/card\:\[\.border-b\]\:pb-4:is(:where(.group\/card)[data-size=sm] *).border-b{padding-bottom:calc(var(--spacing) * 4)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}.group-data-\[size\=sm\]\/card\:\[\.border-t\]\:pt-4:is(:where(.group\/card)[data-size=sm] *).border-t{padding-top:calc(var(--spacing) * 4)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.\*\:\[img\:first-child\]\:rounded-t-lg>*):is(img:first-child){border-top-left-radius:calc(var(--radius) + 2px);border-top-right-radius:calc(var(--radius) + 2px)}:is(.\*\:\[img\:last-child\]\:rounded-b-lg>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) + 2px);border-bottom-left-radius:calc(var(--radius) + 2px)}:is(.data-selected\:\*\:\[svg\]\:text-foreground:where([data-selected=true])>*):is(svg){color:var(--foreground)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@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}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(50.5% .213 27.518);--primary-foreground:oklch(97.1% .013 17.38);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:#fff;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--radius:.375rem;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--chart-1:oklch(80.8% .114 19.571);--chart-2:oklch(63.7% .237 25.331);--chart-3:oklch(57.7% .245 27.325);--chart-4:oklch(50.5% .213 27.518);--chart-5:oklch(44.4% .177 26.899);--sidebar-primary:oklch(57.7% .245 27.325);--sidebar-primary-foreground:oklch(97.1% .013 17.38);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(44.4% .177 26.899);--primary-foreground:oklch(97.1% .013 17.38);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(80.8% .114 19.571);--chart-2:oklch(63.7% .237 25.331);--chart-3:oklch(57.7% .245 27.325);--chart-4:oklch(50.5% .213 27.518);--chart-5:oklch(44.4% .177 26.899);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(63.7% .237 25.331);--sidebar-primary-foreground:oklch(97.1% .013 17.38);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}@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-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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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-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 enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/findings-page-CACW9nw2.js","assets/jsx-runtime-C7oxC63R.js","assets/client-DRYsuOGl.js","assets/format-PoISqsES.js","assets/operations-D8nUP5_m.js","assets/operations-BKE8T-vY.css","assets/dist-CmX-h7a4.js","assets/bot-yILPnRgD.js","assets/tabs-DivxbhQy.js","assets/copy-Bi5vzoF9.js","assets/dist-DAwYQmf_.js","assets/search-CiooTLck.js","assets/table-BYS-nIVA.js","assets/meta-tile-CcskIV_o.js","assets/page-header-MFVvEtZW.js","assets/live-page-DrgQqQK5.js","assets/chevron-down-BeDJ-Vka.js","assets/overview-page-DTGS8dPo.js","assets/circle-alert-BEnMBMT-.js","assets/play-Dwo-9xt6.js","assets/siren-CCBwTSuk.js","assets/scans-page-ChVtq8Us.js"])))=>i.map(i=>d[i]);
2
- import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{_ as r,a as i,i as a,n as o,o as s,s as c,u as l,y as u}from"./format-PoISqsES.js";import{C as d,D as f,S as p,b as m,i as h,l as g,m as _,n as v,p as y,s as b,t as x,v as S,w as C,x as w,y as T}from"./operations-D8nUP5_m.js";import{_ as E,a as D,f as O,g as ee,h as k,i as A,m as j,r as M,t as te,u as ne}from"./dist-CmX-h7a4.js";import{a as N,c as re,i as ie,l as ae,n as oe,o as P,r as F,s as se,t as ce,u as I}from"./dist-DAwYQmf_.js";var le=class extends S{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),y(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&b(t.mutationKey)!==b(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??v();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){h.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},L=e(t(),1);function R(e,t){let n=x(t),[r]=L.useState(()=>new le(n,e));L.useEffect(()=>{r.setOptions(e)},[r,e]);let i=L.useSyncExternalStore(L.useCallback(e=>r.subscribe(h.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=L.useCallback((e,t)=>{r.mutate(e,t).catch(g)},[r]);if(i.error&&_(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}var ue=E(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),de=E(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),fe=E(`circle-play`,[[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`,key:`kmsa83`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),pe=E(`command`,[[`path`,{d:`M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3`,key:`11bfej`}]]),me=E(`file-search`,[[`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`}],[`circle`,{cx:`11.5`,cy:`14.5`,r:`2.5`,key:`1bq0ko`}],[`path`,{d:`M13.3 16.3 15 18`,key:`2quom7`}]]),he=E(`layout-dashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),ge=E(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),_e=E(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),ve=E(`radar`,[[`path`,{d:`M19.07 4.93A10 10 0 0 0 6.99 3.34`,key:`z3du51`}],[`path`,{d:`M4 6h.01`,key:`oypzma`}],[`path`,{d:`M2.29 9.62A10 10 0 1 0 21.31 8.35`,key:`qzzz0`}],[`path`,{d:`M16.24 7.76A6 6 0 1 0 8.23 16.67`,key:`1yjesh`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}],[`path`,{d:`M17.99 11.66A6 6 0 0 1 15.77 16.67`,key:`1u2y91`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`path`,{d:`m13.41 10.59 5.66-5.66`,key:`mhq4k0`}]]),ye=E(`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`}]]),be=E(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),xe=E(`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`}]]),Se=E(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]);function Ce(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Ce(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function we(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Ce(e))&&(r&&(r+=` `),r+=t);return r}var z=n(),Te=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Ee=we,De=(e,t)=>n=>{if(t?.variants==null)return Ee(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Te(t)||Te(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return Ee(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},Oe=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},ke=(e,t)=>({classGroupId:e,validator:t}),Ae=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),je=`-`,Me=[],Ne=`arbitrary..`,Pe=e=>{let t=Le(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Ie(e);let n=e.split(je);return Fe(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Oe(i,t):t:i||Me}return n[e]||Me}}},Fe=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Fe(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(je):e.slice(t).join(je),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Ie=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Ne+r:void 0})(),Le=e=>{let{theme:t,classGroups:n}=e;return Re(n,t)},Re=(e,t)=>{let n=Ae();for(let r in e){let i=e[r];ze(i,n,r,t)}return n},ze=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Be(i,t,n,r)}},Be=(e,t,n,r)=>{if(typeof e==`string`){Ve(e,t,n);return}if(typeof e==`function`){He(e,t,n,r);return}Ue(e,t,n,r)},Ve=(e,t,n)=>{let r=e===``?t:We(t,e);r.classGroupId=n},He=(e,t,n,r)=>{if(Ge(e)){ze(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(ke(n,e))},Ue=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];ze(o,We(t,a),n,r)}},We=(e,t)=>{let n=e,r=t.split(je),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Ae(),n.nextPart.set(t,i)),n=i}return n},Ge=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,Ke=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},qe=`!`,Je=`:`,Ye=[],Xe=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Ze=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Je){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(qe)?(c=s.slice(0,-1),l=!0):s.startsWith(qe)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Xe(t,l,c,u)};if(t){let e=t+Je,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Xe(Ye,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Qe=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},$e=e=>({cache:Ke(e.cacheSize),parseClassName:Ze(e),sortModifiers:Qe(e),postfixLookupClassGroupIds:et(e),...Pe(e)}),et=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},tt=/\s+/,nt=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(tt),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+qe:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},rt=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=it(n))&&(i&&(i+=` `),i+=r);return i},it=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=it(e[r]))&&(n&&(n+=` `),n+=t);return n},at=(e,...t)=>{let n,r,i,a,o=o=>(n=$e(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=nt(e,n);return i(e,a),a};return a=o,(...e)=>a(rt(...e))},ot=[],B=e=>{let t=t=>t[e]||ot;return t.isThemeGetter=!0,t},st=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ct=/^\((?:(\w[\w-]*):)?(.+)\)$/i,lt=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,ut=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,dt=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ft=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,pt=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,mt=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,V=e=>lt.test(e),H=e=>!!e&&!Number.isNaN(Number(e)),U=e=>!!e&&Number.isInteger(Number(e)),ht=e=>e.endsWith(`%`)&&H(e.slice(0,-1)),W=e=>ut.test(e),gt=()=>!0,_t=e=>dt.test(e)&&!ft.test(e),vt=()=>!1,yt=e=>pt.test(e),bt=e=>mt.test(e),xt=e=>!G(e)&&!q(e),St=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Ct=e=>J(e,zt,vt),G=e=>st.test(e),K=e=>J(e,Bt,_t),wt=e=>J(e,Vt,H),Tt=e=>J(e,Ut,gt),Et=e=>J(e,Ht,vt),Dt=e=>J(e,Lt,vt),Ot=e=>J(e,Rt,bt),kt=e=>J(e,Wt,yt),q=e=>ct.test(e),At=e=>Y(e,Bt),jt=e=>Y(e,Ht),Mt=e=>Y(e,Lt),Nt=e=>Y(e,zt),Pt=e=>Y(e,Rt),Ft=e=>Y(e,Wt,!0),It=e=>Y(e,Ut,!0),J=(e,t,n)=>{let r=st.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Y=(e,t,n=!1)=>{let r=ct.exec(e);return r?r[1]?t(r[1]):n:!1},Lt=e=>e===`position`||e===`percentage`,Rt=e=>e===`image`||e===`url`,zt=e=>e===`length`||e===`size`||e===`bg-size`,Bt=e=>e===`length`,Vt=e=>e===`number`,Ht=e=>e===`family-name`,Ut=e=>e===`number`||e===`weight`,Wt=e=>e===`shadow`,Gt=at(()=>{let e=B(`color`),t=B(`font`),n=B(`text`),r=B(`font-weight`),i=B(`tracking`),a=B(`leading`),o=B(`breakpoint`),s=B(`container`),c=B(`spacing`),l=B(`radius`),u=B(`shadow`),d=B(`inset-shadow`),f=B(`text-shadow`),p=B(`drop-shadow`),m=B(`blur`),h=B(`perspective`),g=B(`aspect`),_=B(`ease`),v=B(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),q,G],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[q,G,c],T=()=>[V,`full`,`auto`,...w()],E=()=>[U,`none`,`subgrid`,q,G],D=()=>[`auto`,{span:[`full`,U,q,G]},U,q,G],O=()=>[U,`auto`,q,G],ee=()=>[`auto`,`min`,`max`,`fr`,q,G],k=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],A=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],j=()=>[`auto`,...w()],M=()=>[V,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],te=()=>[V,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],ne=()=>[V,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],N=()=>[e,q,G],re=()=>[...b(),Mt,Dt,{position:[q,G]}],ie=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ae=()=>[`auto`,`cover`,`contain`,Nt,Ct,{size:[q,G]}],oe=()=>[ht,At,K],P=()=>[``,`none`,`full`,l,q,G],F=()=>[``,H,At,K],se=()=>[`solid`,`dashed`,`dotted`,`double`],ce=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],I=()=>[H,ht,Mt,Dt],le=()=>[``,`none`,m,q,G],L=()=>[`none`,H,q,G],R=()=>[`none`,H,q,G],ue=()=>[H,q,G],de=()=>[V,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[W],breakpoint:[W],color:[gt],container:[W],"drop-shadow":[W],ease:[`in`,`out`,`in-out`],font:[xt],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[W],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[W],shadow:[W],spacing:[`px`,H],text:[W],"text-shadow":[W],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,V,G,q,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,q,G]}],"container-named":[St],columns:[{columns:[H,G,q,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[U,`auto`,q,G]}],basis:[{basis:[V,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[H,V,`auto`,`initial`,`none`,G]}],grow:[{grow:[``,H,q,G]}],shrink:[{shrink:[``,H,q,G]}],order:[{order:[U,`first`,`last`,`none`,q,G]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ee()}],"auto-rows":[{"auto-rows":ee()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...k(),`normal`]}],"justify-items":[{"justify-items":[...A(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...A()]}],"align-content":[{content:[`normal`,...k()]}],"align-items":[{items:[...A(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...A(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":k()}],"place-items":[{"place-items":[...A(),`baseline`]}],"place-self":[{"place-self":[`auto`,...A()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:j()}],mx:[{mx:j()}],my:[{my:j()}],ms:[{ms:j()}],me:[{me:j()}],mbs:[{mbs:j()}],mbe:[{mbe:j()}],mt:[{mt:j()}],mr:[{mr:j()}],mb:[{mb:j()}],ml:[{ml:j()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:M()}],"inline-size":[{inline:[`auto`,...te()]}],"min-inline-size":[{"min-inline":[`auto`,...te()]}],"max-inline-size":[{"max-inline":[`none`,...te()]}],"block-size":[{block:[`auto`,...ne()]}],"min-block-size":[{"min-block":[`auto`,...ne()]}],"max-block-size":[{"max-block":[`none`,...ne()]}],w:[{w:[s,`screen`,...M()]}],"min-w":[{"min-w":[s,`screen`,`none`,...M()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...M()]}],h:[{h:[`screen`,`lh`,...M()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...M()]}],"max-h":[{"max-h":[`screen`,`lh`,...M()]}],"font-size":[{text:[`base`,n,At,K]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,It,Tt]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,ht,G]}],"font-family":[{font:[jt,Et,t]}],"font-features":[{"font-features":[G]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,q,G]}],"line-clamp":[{"line-clamp":[H,`none`,q,wt]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,q,G]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,q,G]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:N()}],"text-color":[{text:N()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...se(),`wavy`]}],"text-decoration-thickness":[{decoration:[H,`from-font`,`auto`,q,K]}],"text-decoration-color":[{decoration:N()}],"underline-offset":[{"underline-offset":[H,`auto`,q,G]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[U,q,G]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,q,G]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,q,G]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:re()}],"bg-repeat":[{bg:ie()}],"bg-size":[{bg:ae()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},U,q,G],radial:[``,q,G],conic:[U,q,G]},Pt,Ot]}],"bg-color":[{bg:N()}],"gradient-from-pos":[{from:oe()}],"gradient-via-pos":[{via:oe()}],"gradient-to-pos":[{to:oe()}],"gradient-from":[{from:N()}],"gradient-via":[{via:N()}],"gradient-to":[{to:N()}],rounded:[{rounded:P()}],"rounded-s":[{"rounded-s":P()}],"rounded-e":[{"rounded-e":P()}],"rounded-t":[{"rounded-t":P()}],"rounded-r":[{"rounded-r":P()}],"rounded-b":[{"rounded-b":P()}],"rounded-l":[{"rounded-l":P()}],"rounded-ss":[{"rounded-ss":P()}],"rounded-se":[{"rounded-se":P()}],"rounded-ee":[{"rounded-ee":P()}],"rounded-es":[{"rounded-es":P()}],"rounded-tl":[{"rounded-tl":P()}],"rounded-tr":[{"rounded-tr":P()}],"rounded-br":[{"rounded-br":P()}],"rounded-bl":[{"rounded-bl":P()}],"border-w":[{border:F()}],"border-w-x":[{"border-x":F()}],"border-w-y":[{"border-y":F()}],"border-w-s":[{"border-s":F()}],"border-w-e":[{"border-e":F()}],"border-w-bs":[{"border-bs":F()}],"border-w-be":[{"border-be":F()}],"border-w-t":[{"border-t":F()}],"border-w-r":[{"border-r":F()}],"border-w-b":[{"border-b":F()}],"border-w-l":[{"border-l":F()}],"divide-x":[{"divide-x":F()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":F()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...se(),`hidden`,`none`]}],"divide-style":[{divide:[...se(),`hidden`,`none`]}],"border-color":[{border:N()}],"border-color-x":[{"border-x":N()}],"border-color-y":[{"border-y":N()}],"border-color-s":[{"border-s":N()}],"border-color-e":[{"border-e":N()}],"border-color-bs":[{"border-bs":N()}],"border-color-be":[{"border-be":N()}],"border-color-t":[{"border-t":N()}],"border-color-r":[{"border-r":N()}],"border-color-b":[{"border-b":N()}],"border-color-l":[{"border-l":N()}],"divide-color":[{divide:N()}],"outline-style":[{outline:[...se(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[H,q,G]}],"outline-w":[{outline:[``,H,At,K]}],"outline-color":[{outline:N()}],shadow:[{shadow:[``,`none`,u,Ft,kt]}],"shadow-color":[{shadow:N()}],"inset-shadow":[{"inset-shadow":[`none`,d,Ft,kt]}],"inset-shadow-color":[{"inset-shadow":N()}],"ring-w":[{ring:F()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:N()}],"ring-offset-w":[{"ring-offset":[H,K]}],"ring-offset-color":[{"ring-offset":N()}],"inset-ring-w":[{"inset-ring":F()}],"inset-ring-color":[{"inset-ring":N()}],"text-shadow":[{"text-shadow":[`none`,f,Ft,kt]}],"text-shadow-color":[{"text-shadow":N()}],opacity:[{opacity:[H,q,G]}],"mix-blend":[{"mix-blend":[...ce(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ce()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[H]}],"mask-image-linear-from-pos":[{"mask-linear-from":I()}],"mask-image-linear-to-pos":[{"mask-linear-to":I()}],"mask-image-linear-from-color":[{"mask-linear-from":N()}],"mask-image-linear-to-color":[{"mask-linear-to":N()}],"mask-image-t-from-pos":[{"mask-t-from":I()}],"mask-image-t-to-pos":[{"mask-t-to":I()}],"mask-image-t-from-color":[{"mask-t-from":N()}],"mask-image-t-to-color":[{"mask-t-to":N()}],"mask-image-r-from-pos":[{"mask-r-from":I()}],"mask-image-r-to-pos":[{"mask-r-to":I()}],"mask-image-r-from-color":[{"mask-r-from":N()}],"mask-image-r-to-color":[{"mask-r-to":N()}],"mask-image-b-from-pos":[{"mask-b-from":I()}],"mask-image-b-to-pos":[{"mask-b-to":I()}],"mask-image-b-from-color":[{"mask-b-from":N()}],"mask-image-b-to-color":[{"mask-b-to":N()}],"mask-image-l-from-pos":[{"mask-l-from":I()}],"mask-image-l-to-pos":[{"mask-l-to":I()}],"mask-image-l-from-color":[{"mask-l-from":N()}],"mask-image-l-to-color":[{"mask-l-to":N()}],"mask-image-x-from-pos":[{"mask-x-from":I()}],"mask-image-x-to-pos":[{"mask-x-to":I()}],"mask-image-x-from-color":[{"mask-x-from":N()}],"mask-image-x-to-color":[{"mask-x-to":N()}],"mask-image-y-from-pos":[{"mask-y-from":I()}],"mask-image-y-to-pos":[{"mask-y-to":I()}],"mask-image-y-from-color":[{"mask-y-from":N()}],"mask-image-y-to-color":[{"mask-y-to":N()}],"mask-image-radial":[{"mask-radial":[q,G]}],"mask-image-radial-from-pos":[{"mask-radial-from":I()}],"mask-image-radial-to-pos":[{"mask-radial-to":I()}],"mask-image-radial-from-color":[{"mask-radial-from":N()}],"mask-image-radial-to-color":[{"mask-radial-to":N()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[H]}],"mask-image-conic-from-pos":[{"mask-conic-from":I()}],"mask-image-conic-to-pos":[{"mask-conic-to":I()}],"mask-image-conic-from-color":[{"mask-conic-from":N()}],"mask-image-conic-to-color":[{"mask-conic-to":N()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:re()}],"mask-repeat":[{mask:ie()}],"mask-size":[{mask:ae()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,q,G]}],filter:[{filter:[``,`none`,q,G]}],blur:[{blur:le()}],brightness:[{brightness:[H,q,G]}],contrast:[{contrast:[H,q,G]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Ft,kt]}],"drop-shadow-color":[{"drop-shadow":N()}],grayscale:[{grayscale:[``,H,q,G]}],"hue-rotate":[{"hue-rotate":[H,q,G]}],invert:[{invert:[``,H,q,G]}],saturate:[{saturate:[H,q,G]}],sepia:[{sepia:[``,H,q,G]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,q,G]}],"backdrop-blur":[{"backdrop-blur":le()}],"backdrop-brightness":[{"backdrop-brightness":[H,q,G]}],"backdrop-contrast":[{"backdrop-contrast":[H,q,G]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,H,q,G]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[H,q,G]}],"backdrop-invert":[{"backdrop-invert":[``,H,q,G]}],"backdrop-opacity":[{"backdrop-opacity":[H,q,G]}],"backdrop-saturate":[{"backdrop-saturate":[H,q,G]}],"backdrop-sepia":[{"backdrop-sepia":[``,H,q,G]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,q,G]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[H,`initial`,q,G]}],ease:[{ease:[`linear`,`initial`,_,q,G]}],delay:[{delay:[H,q,G]}],animate:[{animate:[`none`,v,q,G]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,q,G]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:L()}],"rotate-x":[{"rotate-x":L()}],"rotate-y":[{"rotate-y":L()}],"rotate-z":[{"rotate-z":L()}],scale:[{scale:R()}],"scale-x":[{"scale-x":R()}],"scale-y":[{"scale-y":R()}],"scale-z":[{"scale-z":R()}],"scale-3d":[`scale-3d`],skew:[{skew:ue()}],"skew-x":[{"skew-x":ue()}],"skew-y":[{"skew-y":ue()}],transform:[{transform:[q,G,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:de()}],"translate-x":[{"translate-x":de()}],"translate-y":[{"translate-y":de()}],"translate-z":[{"translate-z":de()}],"translate-none":[`translate-none`],zoom:[{zoom:[U,q,G]}],accent:[{accent:N()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:N()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,q,G]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":N()}],"scrollbar-track-color":[{"scrollbar-track":N()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,q,G]}],fill:[{fill:[`none`,...N()]}],"stroke-w":[{stroke:[H,At,K,wt]}],stroke:[{stroke:[`none`,...N()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function X(...e){return Gt(we(e))}function Kt({className:e,size:t=`default`,...n}){return(0,z.jsx)(`div`,{"data-slot":`card`,"data-size":t,className:X(`group/card flex flex-col gap-6 overflow-hidden rounded-lg border border-border bg-card py-6 text-sm text-card-foreground has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-lg *:[img:last-child]:rounded-b-lg`,e),...n})}function qt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-header`,className:X(`group/card-header @container/card-header grid auto-rows-min items-start gap-1.5 rounded-t-lg px-6 group-data-[size=sm]/card:px-4 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4`,e),...t})}function Jt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-title`,className:X(`font-heading text-base font-medium`,e),...t})}function Yt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-description`,className:X(`text-sm text-muted-foreground`,e),...t})}function Xt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-content`,className:X(`px-6 group-data-[size=sm]/card:px-4`,e),...t})}function Zt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-eyebrow`,className:X(`text-[10px] font-semibold uppercase tracking-[0.2em] text-muted-foreground`,e),...t})}function Qt({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-list`,className:X(`divide-y divide-border`,e),...t})}var $t=De(`px-4 py-3 text-sm transition-colors`,{variants:{interactive:{true:`hover:bg-primary/5 hover:text-foreground`,false:``},selected:{true:`bg-primary/8 text-foreground`,false:``}},defaultVariants:{interactive:!1,selected:!1}});function en({className:e,interactive:t,selected:n,...r}){return(0,z.jsx)(`div`,{"data-slot":`card-list-item`,className:X($t({interactive:t,selected:n}),e),...r})}function tn({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`card-empty`,className:X(`rounded-md border border-dashed border-border bg-muted/30 px-4 py-10 text-center text-sm text-muted-foreground`,e),...t})}var nn=De(`group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-sm border border-transparent px-2 py-0.5 text-[11px] font-medium whitespace-nowrap transition-[background-color,border-color,color,box-shadow] focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/40 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,neutral:`border-border bg-muted text-foreground [a]:hover:bg-secondary/80`,accent:`bg-primary/12 text-primary dark:bg-primary/18 dark:text-primary-foreground`,success:`bg-emerald-500/12 text-emerald-700 dark:bg-emerald-500/18 dark:text-emerald-200`,warning:`bg-amber-500/12 text-amber-700 dark:bg-amber-500/18 dark:text-amber-200`,danger:`bg-destructive/12 text-destructive dark:bg-destructive/18 dark:text-destructive`,info:`bg-sky-500/12 text-sky-700 dark:bg-sky-500/18 dark:text-sky-200`,destructive:`bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20`,outline:`border-border bg-background text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`}},defaultVariants:{variant:`default`}});function rn({className:e,variant:t=`default`,asChild:n=!1,...r}){return(0,z.jsx)(n?te:`span`,{"data-slot":`badge`,"data-variant":t,className:X(nn({variant:t}),e),...r})}var an=(0,L.createContext)(null);function on({children:e}){let[t,n]=(0,L.useState)(null),r=(0,L.useRef)(null);(0,L.useEffect)(()=>{r.current=t},[t]);let i=(0,L.useCallback)(e=>{r.current=e,n(e)},[]),a=(0,L.useCallback)(()=>{r.current=null,n(null)},[]),o=(0,L.useCallback)(()=>{let e=r.current;r.current=null,n(null),e?.onClose?.()},[]),s=(0,L.useMemo)(()=>({panel:t,openPanel:i,clearPanel:a,dismissPanel:o}),[a,o,i,t]);return(0,z.jsx)(an.Provider,{value:s,children:e})}function sn(){let e=(0,L.useContext)(an);if(!e)throw Error(`useDashboardPanel must be used within a DashboardPanelProvider.`);return e}function cn({label:e}){return(0,z.jsx)(Kt,{className:`border border-border`,children:(0,z.jsxs)(Xt,{className:`flex min-h-[16rem] flex-col items-center justify-center gap-4 text-center`,children:[(0,z.jsx)(ge,{className:`size-8 animate-spin text-primary`}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(Jt,{children:e}),(0,z.jsx)(Yt,{children:`Fetching the latest scan and triage state.`})]})]})})}function ln({title:e,body:t}){return(0,z.jsx)(Kt,{className:`border border-dashed border-border bg-muted/20`,children:(0,z.jsx)(Xt,{className:`flex min-h-[16rem] flex-col items-center justify-center gap-4 text-center`,children:(0,z.jsxs)(`div`,{children:[(0,z.jsx)(Jt,{children:e}),(0,z.jsx)(Yt,{children:t})]})})})}function un({error:e}){return(0,z.jsx)(Kt,{className:`border border-destructive/25`,children:(0,z.jsxs)(Xt,{className:`flex min-h-[16rem] flex-col items-center justify-center gap-4 text-center`,children:[(0,z.jsx)(Se,{className:`size-8 text-destructive`}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(Jt,{children:`Dashboard error`}),(0,z.jsx)(Yt,{children:e.message})]})]})})}var dn=De(`group/button inline-flex shrink-0 items-center justify-center rounded-sm border border-transparent text-sm font-medium whitespace-nowrap transition-[background-color,border-color,color,box-shadow] outline-none select-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/92`,outline:`border-border bg-background hover:border-primary/20 hover:bg-primary/6 hover:text-foreground aria-expanded:border-primary/20 aria-expanded:bg-primary/8 aria-expanded:text-foreground dark:bg-transparent`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/85 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground`,ghost:`hover:bg-primary/6 hover:text-foreground aria-expanded:bg-primary/8 aria-expanded:text-foreground`,accent:`bg-primary text-primary-foreground hover:bg-primary/92`,success:`border-emerald-500/20 bg-emerald-500/10 text-emerald-700 hover:bg-emerald-500/16 dark:bg-emerald-500/18 dark:text-emerald-200 dark:hover:bg-emerald-500/24`,warning:`border-amber-500/20 bg-amber-500/10 text-amber-700 hover:bg-amber-500/16 dark:bg-amber-500/18 dark:text-amber-200 dark:hover:bg-amber-500/24`,danger:`border-destructive/20 bg-destructive/10 text-destructive hover:bg-destructive/16 dark:bg-destructive/20 dark:text-destructive`,destructive:`bg-destructive text-destructive-foreground hover:bg-destructive/92 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5`,xs:`h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3`,sm:`h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,lg:`h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3`,icon:`size-9`,"icon-xs":`size-6 [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});function Z({className:e,variant:t=`default`,size:n=`default`,asChild:r=!1,...i}){return(0,z.jsx)(r?te:`button`,{"data-slot":`button`,"data-variant":t,"data-size":n,className:X(dn({variant:t,size:n,className:e})),...i})}function fn({className:e,type:t,...n}){return(0,z.jsx)(`input`,{type:t,"data-slot":`input`,className:X(`h-9 w-full min-w-0 rounded-md border border-input bg-background px-3 py-1 text-base transition-[color,box-shadow,border-color] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,e),...n})}function pn({...e}){return(0,z.jsx)(P,{"data-slot":`sheet`,...e})}function mn({...e}){return(0,z.jsx)(re,{"data-slot":`sheet-trigger`,...e})}function hn({...e}){return(0,z.jsx)(N,{"data-slot":`sheet-portal`,...e})}function gn({className:e,...t}){return(0,z.jsx)(ie,{"data-slot":`sheet-overlay`,className:X(`fixed inset-0 z-50 bg-background/80 duration-100 supports-backdrop-filter:backdrop-blur-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,e),...t})}function _n({className:e,children:t,side:n=`right`,showCloseButton:r=!0,...i}){return(0,z.jsxs)(hn,{children:[(0,z.jsx)(gn,{}),(0,z.jsxs)(oe,{"data-slot":`sheet-content`,"data-side":n,className:X(`fixed z-50 flex flex-col border-border bg-popover text-sm text-popover-foreground shadow-sm transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10`,e),...i,children:[t,r&&(0,z.jsx)(ce,{"data-slot":`sheet-close`,asChild:!0,children:(0,z.jsxs)(Z,{variant:`ghost`,className:`absolute top-4 right-4`,size:`icon-sm`,children:[(0,z.jsx)(ae,{className:`size-4`}),(0,z.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function vn({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`sheet-header`,className:X(`flex flex-col gap-1.5 p-6`,e),...t})}function yn({className:e,...t}){return(0,z.jsx)(se,{"data-slot":`sheet-title`,className:X(`font-heading text-base font-medium text-foreground`,e),...t})}function bn({className:e,...t}){return(0,z.jsx)(F,{"data-slot":`sheet-description`,className:X(`text-sm text-muted-foreground`,e),...t})}function xn(e,[t,n]){return Math.min(n,Math.max(t,e))}function Sn(e,t){return L.useReducer((e,n)=>t[e][n]??e,e)}var Cn=`ScrollArea`,[wn,Tn]=O(Cn),[En,Q]=wn(Cn),Dn=L.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:o=600,...s}=e,[c,l]=L.useState(null),[u,d]=L.useState(null),[f,p]=L.useState(null),[m,h]=L.useState(null),[g,_]=L.useState(null),[v,y]=L.useState(0),[b,x]=L.useState(0),[S,C]=L.useState(!1),[w,T]=L.useState(!1),E=j(t,e=>l(e)),O=a(i);return(0,z.jsx)(En,{scope:n,type:r,dir:O,scrollHideDelay:o,scrollArea:c,viewport:u,onViewportChange:d,content:f,onContentChange:p,scrollbarX:m,onScrollbarXChange:h,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:g,onScrollbarYChange:_,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:y,onCornerHeightChange:x,children:(0,z.jsx)(D.div,{dir:O,...s,ref:E,style:{position:`relative`,"--radix-scroll-area-corner-width":v+`px`,"--radix-scroll-area-corner-height":b+`px`,...e.style}})})});Dn.displayName=Cn;var On=`ScrollAreaViewport`,kn=L.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=Q(On,n),s=L.useRef(null),c=j(t,s,o.onViewportChange);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,z.jsx)(D.div,{"data-radix-scroll-area-viewport":``,...a,ref:c,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,z.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});kn.displayName=On;var $=`ScrollAreaScrollbar`,An=L.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Q($,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return L.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,z.jsx)(jn,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,z.jsx)(Mn,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,z.jsx)(Nn,{...r,ref:t,forceMount:n}):i.type===`always`?(0,z.jsx)(Pn,{...r,ref:t}):null});An.displayName=$;var jn=L.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Q($,e.__scopeScrollArea),[a,o]=L.useState(!1);return L.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,z.jsx)(M,{present:n||a,children:(0,z.jsx)(Nn,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),Mn=L.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Q($,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=er(()=>c(`SCROLL_END`),100),[s,c]=Sn(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return L.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),L.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,z.jsx)(M,{present:n||s!==`hidden`,children:(0,z.jsx)(Pn,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:k(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:k(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),Nn=L.forwardRef((e,t)=>{let n=Q($,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=L.useState(!1),s=e.orientation===`horizontal`,c=er(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return tr(n.viewport,c),tr(n.content,c),(0,z.jsx)(M,{present:r||a,children:(0,z.jsx)(Pn,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),Pn=L.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=Q($,e.__scopeScrollArea),a=L.useRef(null),o=L.useRef(0),[s,c]=L.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=qn(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function d(e,t){return Yn(e,o.current,s,t)}return n===`horizontal`?(0,z.jsx)(Fn,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Xn(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,z.jsx)(In,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Xn(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null}),Fn=L.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=Q($,e.__scopeScrollArea),[o,s]=L.useState(),c=L.useRef(null),l=j(t,c,a.onScrollbarXChange);return L.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,z.jsx)(zn,{"data-orientation":`horizontal`,...i,ref:l,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":Jn(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Qn(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:Kn(o.paddingLeft),paddingEnd:Kn(o.paddingRight)}})}})}),In=L.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=Q($,e.__scopeScrollArea),[o,s]=L.useState(),c=L.useRef(null),l=j(t,c,a.onScrollbarYChange);return L.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,z.jsx)(zn,{"data-orientation":`vertical`,...i,ref:l,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":Jn(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Qn(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:Kn(o.paddingTop),paddingEnd:Kn(o.paddingBottom)}})}})}),[Ln,Rn]=wn($),zn=L.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:l,onWheelScroll:u,onResize:d,...f}=e,p=Q($,n),[m,h]=L.useState(null),g=j(t,e=>h(e)),_=L.useRef(null),v=L.useRef(``),y=p.viewport,b=r.content-r.viewport,x=A(u),S=A(c),C=er(d,10);function w(e){if(_.current){let t=e.clientX-_.current.left,n=e.clientY-_.current.top;l({x:t,y:n})}}return L.useEffect(()=>{let e=e=>{let t=e.target;m?.contains(t)&&x(e,b)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[y,m,b,x]),L.useEffect(S,[r,S]),tr(m,C),tr(p.content,C),(0,z.jsx)(Ln,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:A(a),onThumbPointerUp:A(o),onThumbPositionChange:S,onThumbPointerDown:A(s),children:(0,z.jsx)(D.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:k(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),_.current=m.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,p.viewport&&(p.viewport.style.scrollBehavior=`auto`),w(e))}),onPointerMove:k(e.onPointerMove,w),onPointerUp:k(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=v.current,p.viewport&&(p.viewport.style.scrollBehavior=``),_.current=null})})})}),Bn=`ScrollAreaThumb`,Vn=L.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Rn(Bn,e.__scopeScrollArea);return(0,z.jsx)(M,{present:n||i.hasThumb,children:(0,z.jsx)(Hn,{ref:t,...r})})}),Hn=L.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=Q(Bn,n),o=Rn(Bn,n),{onThumbPositionChange:s}=o,c=j(t,e=>o.onThumbChange(e)),l=L.useRef(void 0),u=er(()=>{l.current&&=(l.current(),void 0)},100);return L.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{if(u(),!l.current){let t=$n(e,s);l.current=t,s()}};return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,z.jsx)(D.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:k(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:k(e.onPointerUp,o.onThumbPointerUp)})});Vn.displayName=Bn;var Un=`ScrollAreaCorner`,Wn=L.forwardRef((e,t)=>{let n=Q(Un,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,z.jsx)(Gn,{...e,ref:t}):null});Wn.displayName=Un;var Gn=L.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=Q(Un,n),[a,o]=L.useState(0),[s,c]=L.useState(0),l=!!(a&&s);return tr(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),tr(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),l?(0,z.jsx)(D.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function Kn(e){return e?parseInt(e,10):0}function qn(e,t){let n=e/t;return isNaN(n)?0:n}function Jn(e){let t=qn(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Yn(e,t,n,r=`ltr`){let i=Jn(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Zn([c,l],d)(e)}function Xn(e,t,n=`ltr`){let r=Jn(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=xn(e,n===`ltr`?[0,o]:[o*-1,0]);return Zn([0,o],[0,s])(c)}function Zn(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Qn(e,t){return e>0&&e<t}var $n=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function er(e,t){let n=A(e),r=L.useRef(0);return L.useEffect(()=>()=>window.clearTimeout(r.current),[]),L.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function tr(e,t){let n=A(t);ne(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var nr=Dn,rr=kn,ir=Wn;function ar({className:e,children:t,...n}){return(0,z.jsxs)(nr,{"data-slot":`scroll-area`,className:X(`relative`,e),...n,children:[(0,z.jsx)(rr,{"data-slot":`scroll-area-viewport`,className:`size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1`,children:t}),(0,z.jsx)(or,{}),(0,z.jsx)(ir,{})]})}function or({className:e,orientation:t=`vertical`,...n}){return(0,z.jsx)(An,{"data-slot":`scroll-area-scrollbar`,"data-orientation":t,orientation:t,className:X(`flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent`,e),...n,children:(0,z.jsx)(Vn,{"data-slot":`scroll-area-thumb`,className:`relative flex-1 rounded-full bg-border`})})}var sr=`/assets/0sec-icon-66SreztZ.gif`;function cr({compact:e=!1,animated:t=!1,className:n}){return e?(0,z.jsx)(`img`,{alt:`0sec`,src:sr,className:X(`size-9 object-contain`,n)}):(0,z.jsxs)(`div`,{className:X(`flex items-center gap-3`,n),children:[(0,z.jsx)(`img`,{alt:`0sec`,src:sr,className:`size-10 object-contain`}),(0,z.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,z.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.24em] text-primary`,children:`0sec`}),(0,z.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`0sec operator shell`})]})]})}function lr({className:e,...t}){return(0,z.jsx)(`nav`,{"aria-label":`breadcrumb`,"data-slot":`breadcrumb`,className:X(e),...t})}function ur({className:e,...t}){return(0,z.jsx)(`ol`,{"data-slot":`breadcrumb-list`,className:X(`flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground sm:gap-2.5`,e),...t})}function dr({className:e,...t}){return(0,z.jsx)(`li`,{"data-slot":`breadcrumb-item`,className:X(`inline-flex items-center gap-1.5`,e),...t})}function fr({className:e,...t}){return(0,z.jsx)(`span`,{"data-slot":`breadcrumb-page`,role:`link`,"aria-disabled":`true`,"aria-current":`page`,className:X(`font-normal text-foreground`,e),...t})}function pr({children:e,className:t,...n}){return(0,z.jsx)(`li`,{"data-slot":`breadcrumb-separator`,role:`presentation`,"aria-hidden":`true`,className:X(`[&>svg]:size-3.5`,t),...n,children:e??(0,z.jsx)(de,{})})}function mr(e){return e.startsWith(`/dashboard`)?`Operations center`:e.startsWith(`/threads`)||e.startsWith(`/findings`)?`Findings workspace`:e.startsWith(`/runs`)||e.startsWith(`/scans`)?`Run dossier`:`Operations center`}function hr(e){return e.startsWith(`/dashboard`)?`Operations`:e.startsWith(`/threads`)||e.startsWith(`/findings`)?`Findings`:e.startsWith(`/runs`)||e.startsWith(`/scans`)?`Runs`:`Control`}function gr(e=`default`){return e===`success`?`text-emerald-700 dark:text-emerald-300`:e===`warning`?`text-amber-700 dark:text-amber-300`:e===`danger`?`text-destructive`:`text-foreground`}function _r(e,t){let n=new Map((t??[]).map(e=>[e.id,e.runtime]));return e.filter(e=>{if([`agent_error`,`scan_error`,`worker_failed`].includes(e.eventType))return!0;let t=e.payload??{},n=typeof t.summary==`string`&&t.summary.trim()?t.summary.trim():e.summary;return[`stage_complete`,`agent_complete`,`runtime_incompatible`].includes(e.eventType)&&/max turns|did not emit required tool_call/i.test(n)}).sort((e,t)=>t.timestamp-e.timestamp).map(e=>{let t=e.payload??{},r=n.get(e.scanId),i=typeof t.error==`string`&&t.error.trim()?t.error.trim():typeof t.summary==`string`&&t.summary.trim()?t.summary.trim():e.summary;return{scanId:e.scanId,scanTarget:e.scanTarget,stage:r?`${e.stage} · ${r}`:e.stage,actor:e.agentRole??null,headline:i,timestamp:e.timestamp}})}function vr({pathname:e,dashboard:t,scans:n,incidents:r}){let i=t?.groups??[],a=n??[],s=t?.workers.filter(e=>e.isActive&&e.status!==`stopped`).length??0,c=t?.queue.runnable??0,l=i.filter(e=>e.workflow.phase===`blocked`).length,u=i.filter(e=>e.workflow.reviewGate===`human_review`).length,d=i.filter(e=>e.workflow.reviewGate===`agent_review`).length,f=i.filter(e=>!e.workflow.assignee).length,p=i.filter(e=>e.latest.triageStatus===`new`).length,m=i.filter(e=>e.workflow.phase===`in_progress`||e.workflow.activeAgentRoles.length>0).length,h=i.filter(e=>e.workflow.consensus===`verified`).length,g=a.filter(e=>e.status===`running`).length,_=a.filter(e=>e.status===`completed`).length,v=new Set(a.map(e=>e.target)).size,y=[...new Set(a.map(e=>e.runtime))],b=[...a].sort((e,t)=>t.startedAt.localeCompare(e.startedAt))[0]??null,x=r[0]??null,S=r.filter(e=>/quota|provider|model|rate limit|openai|anthropic|gemini|claude/i.test(`${e.headline} ${e.stage} ${e.actor??``}`)).length;return e.startsWith(`/threads`)||e.startsWith(`/findings`)?{title:`Findings workspace`,summary:`Review deduplicated evidence, continue the cases that need judgment, and return to the scoped chat workspace when execution needs direction.`,sections:[{label:`Queue`,items:[{label:`Finding families`,value:String(i.length),meta:`deduplicated observations across runs`},{label:`New`,value:String(p),meta:`awaiting a first decision or investigation`},{label:`Human review`,value:String(u),meta:`ready for operator disposition`,tone:u>0?`warning`:`default`},{label:`Agent review`,value:String(d),meta:`needs another evidence pass`}]},{label:`Execution`,items:[{label:`In progress`,value:String(m),meta:`families with active worker movement`,tone:m>0?`success`:`default`},{label:`Blocked`,value:String(l),meta:`needs access, context, or stronger proof`,tone:l>0?`danger`:`default`},{label:`Unassigned`,value:String(f),meta:`no explicit owner attached yet`},{label:`Verified`,value:String(h),meta:`consensus supports a true positive`}],note:x?`Runtime pressure is visible elsewhere too: ${x.scanTarget} failed ${o(x.timestamp)}.`:`Open a finding to copy a context-preserving console handoff.`}]}:e.startsWith(`/runs`)||e.startsWith(`/scans`)?{title:`Run dossiers`,summary:`Inspect provenance by target, then drill into a selected execution and its output findings.`,sections:[{label:`Inventory`,items:[{label:`Targets`,value:String(v),meta:`unique targets in local history`},{label:`Runs`,value:String(a.length),meta:`persisted executions across all targets`},{label:`Active`,value:String(g),meta:`runs still executing now`,tone:g>0?`success`:`default`},{label:`Completed`,value:String(_),meta:`finished without staying in running state`}]},{label:`Runtime`,items:[{label:`Incidents`,value:String(r.length),meta:S>0?`${S} provider/runtime failures`:`no recent failures`,tone:r.length>0?`danger`:`success`},{label:`Workers`,value:String(s),meta:c>0?`${c} runnable work items queued`:`no runnable backlog`},{label:`Runtimes`,value:y.length>0?y.slice(0,3).join(`, `):`none`,meta:y.length>3?`${y.length} runtimes observed`:`runtime mix in run history`},{label:`Latest target`,value:b?.target??`none`,meta:b?o(b.startedAt):`launch a target to create the first dossier`}],note:x?`${x.scanTarget}: ${x.headline}`:`Provider and worker failures should surface here before you dive into a single run.`}]}:{title:`Operations control`,summary:`Run the autonomous control plane, watch queue health, and intervene only when automation hits a real boundary.`,sections:[{label:`Runtime`,items:[{label:`Daemon`,value:s>0?`live`:`offline`,meta:s>0?`${s} active workers heartbeating`:`launch a target or start a daemon`,tone:s>0?`success`:`warning`},{label:`Runnable`,value:String(c),meta:`work items ready to claim next`},{label:`Active runs`,value:String(g),meta:`pipeline executions still in flight`,tone:g>0?`success`:`default`},{label:`Incidents`,value:String(r.length),meta:S>0?`${S} provider/runtime failures`:`clean recent event window`,tone:r.length>0?`danger`:`success`}]},{label:`Review`,items:[{label:`Human review`,value:String(u),meta:`findings waiting on operator sign-off`,tone:u>0?`warning`:`default`},{label:`Blocked`,value:String(l),meta:`access or context gap in execution`,tone:l>0?`danger`:`default`},{label:`Unassigned`,value:String(f),meta:`findings without a named owner`},{label:`Targets`,value:String(v),meta:`real target history in this workspace`}],note:x?`${x.scanTarget}: ${x.headline}`:`No recent runtime failures. Launch the next target from operations.`}]}}function yr({children:e,dashboard:t,scans:n,onOpenPalette:r}){let i=d(),{panel:a,dismissPanel:o}=sn(),[s,l]=(0,L.useState)(()=>typeof window>`u`||window.matchMedia(`(min-width: 1280px)`).matches),f=t?.groups.filter(e=>e.latest.triageStatus===`new`).length??0,p=n?.filter(e=>e.status===`running`).length??0,m=t?.workers.filter(e=>e.isActive).length??0,h=t?.queue.runnable??0,g=u({queryKey:[`shell-recent-events`],queryFn:()=>c(18),refetchInterval:5e3}),_=(0,L.useMemo)(()=>_r(g.data?.events??[],n).slice(0,6),[g.data?.events,n]),v=_[0]??null,y=(0,L.useMemo)(()=>vr({pathname:i.pathname,dashboard:t,scans:n,incidents:_}),[t,i.pathname,_,n]),b=_.filter(e=>/quota|provider|model|rate limit|openai|anthropic|gemini|claude/i.test(`${e.headline} ${e.stage} ${e.actor??``}`)).length;return(0,L.useEffect)(()=>{let e=window.matchMedia(`(min-width: 1280px)`),t=()=>l(e.matches);return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]),(0,z.jsxs)(`div`,{className:`min-h-screen bg-background text-foreground`,children:[(0,z.jsxs)(`div`,{className:`flex min-h-screen`,children:[(0,z.jsxs)(`aside`,{className:`sticky top-0 hidden h-screen w-[22rem] shrink-0 border-r border-border bg-background xl:grid xl:grid-cols-[4.5rem_minmax(0,1fr)]`,children:[(0,z.jsxs)(`div`,{className:`flex h-screen flex-col items-center border-r border-border px-2 py-3`,children:[(0,z.jsx)(cr,{compact:!0,className:`size-9`}),(0,z.jsxs)(`nav`,{className:`mt-6 flex flex-1 flex-col items-center gap-2`,children:[(0,z.jsx)(br,{to:`/desktop.html`,label:`Chat`,icon:I,reloadDocument:!0}),(0,z.jsx)(br,{to:`/dashboard`,label:`Operations`,icon:he}),(0,z.jsx)(br,{to:`/findings`,label:`Findings`,icon:ee,badge:f}),(0,z.jsx)(br,{to:`/runs`,label:`Runs`,icon:ve,badge:p}),(0,z.jsx)(br,{to:`/live`,label:`Live workflow`,icon:ye})]}),(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-1 text-center`,children:[(0,z.jsx)(Z,{variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:r,"aria-label":`Open launchpad`,children:(0,z.jsx)(pe,{className:`size-4`})}),(0,z.jsx)(`div`,{className:`text-[10px] uppercase tracking-[0.2em] text-muted-foreground`,children:`Cmd K`})]}),(0,z.jsxs)(`div`,{className:`w-full rounded-md bg-muted/40 px-2 py-2 text-center`,children:[(0,z.jsx)(`div`,{className:`text-[10px] uppercase tracking-[0.2em] text-muted-foreground`,children:`Queue`}),(0,z.jsx)(`div`,{className:`mt-1 text-sm font-medium text-foreground`,children:h})]})]})]}),(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-col`,children:[(0,z.jsxs)(`div`,{className:`border-b border-border px-4 py-4`,children:[(0,z.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.2em] text-muted-foreground`,children:hr(i.pathname)}),(0,z.jsx)(`div`,{className:`mt-2 text-base font-medium text-foreground`,children:y.title}),(0,z.jsx)(`div`,{className:`mt-1 text-sm leading-6 text-muted-foreground`,children:y.summary})]}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-3 py-3`,children:(0,z.jsxs)(`div`,{className:`space-y-5`,children:[y.sections.map(e=>(0,z.jsxs)(Sr,{label:e.label,children:[e.items.map(e=>(0,z.jsx)(Cr,{label:e.label,value:e.value,meta:e.meta,tone:e.tone},e.label)),e.note?(0,z.jsx)(Tr,{text:e.note}):null]},e.label)),(0,z.jsxs)(Sr,{label:`Hotkeys`,children:[(0,z.jsx)(wr,{text:`Cmd/Ctrl+K launchpad`}),(0,z.jsx)(wr,{text:`/ search`}),(0,z.jsx)(wr,{text:`Esc close overlays`})]})]})})]})]}),(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,z.jsx)(`header`,{className:`sticky top-0 z-20 border-b border-border bg-background/95 backdrop-blur`,children:(0,z.jsxs)(`div`,{className:`mx-auto flex max-w-[1800px] flex-col gap-3 px-4 py-3 sm:px-6 xl:flex-row xl:items-center xl:justify-between`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 xl:hidden`,children:[(0,z.jsxs)(pn,{children:[(0,z.jsx)(mn,{asChild:!0,children:(0,z.jsx)(Z,{variant:`ghost`,size:`icon-sm`,"aria-label":`Open navigation`,children:(0,z.jsx)(_e,{className:`size-4`})})}),(0,z.jsxs)(_n,{side:`left`,className:`w-72 p-0`,children:[(0,z.jsxs)(vn,{className:`border-b border-border px-4 py-4 pr-12 text-left`,children:[(0,z.jsx)(`div`,{className:`mb-2`,children:(0,z.jsx)(cr,{})}),(0,z.jsx)(yn,{className:`text-base font-semibold text-foreground`,children:`Operator shell`}),(0,z.jsx)(bn,{className:`text-sm text-muted-foreground`,children:`Navigation, runtime posture, and route-specific context.`})]}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-5 px-3 py-3`,children:[(0,z.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,z.jsx)(xr,{to:`/desktop.html`,reloadDocument:!0,label:`Chat`,meta:`Scoped operator workspace`,icon:I}),(0,z.jsx)(xr,{to:`/dashboard`,label:`Operations`,meta:`Launch, queue, worker control`,icon:he}),(0,z.jsx)(xr,{to:`/findings`,label:`Findings`,meta:`Evidence, review, chat context`,icon:ee,badge:f}),(0,z.jsx)(xr,{to:`/runs`,label:`Runs`,meta:`Runs, provenance, timelines`,icon:ve,badge:p}),(0,z.jsx)(xr,{to:`/live`,label:`Live workflow`,meta:`GemmaForge probe → leads → hunt`,icon:ye})]}),y.sections.map(e=>(0,z.jsxs)(Sr,{label:e.label,children:[e.items.map(e=>(0,z.jsx)(Cr,{label:e.label,value:e.value,meta:e.meta,tone:e.tone},e.label)),e.note?(0,z.jsx)(Tr,{text:e.note}):null]},e.label))]})]})]}),(0,z.jsx)(cr,{compact:!0,className:`size-8 rounded-sm`})]}),(0,z.jsx)(lr,{children:(0,z.jsxs)(ur,{children:[(0,z.jsx)(dr,{children:(0,z.jsx)(fr,{children:mr(i.pathname)})}),(0,z.jsx)(pr,{}),(0,z.jsx)(dr,{children:(0,z.jsx)(fr,{children:hr(i.pathname)})})]})})]}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsxs)(`div`,{className:`hidden flex-wrap items-center gap-2 lg:flex`,children:[(0,z.jsxs)(Er,{tone:m>0?`success`:`warning`,children:[(0,z.jsx)(ue,{className:`size-3.5`}),m>0?`${m} daemon live`:`daemon offline`]}),(0,z.jsx)(Er,{tone:_.length>0?`danger`:`success`,children:_.length>0?`${_.length} incidents`:`runtime clean`}),b>0?(0,z.jsxs)(Er,{tone:`danger`,children:[b,` provider`]}):null,v?(0,z.jsxs)(`div`,{className:`max-w-[24rem] truncate text-sm text-muted-foreground`,children:[v.scanTarget,`: `,v.headline]}):(0,z.jsxs)(`div`,{className:`text-sm text-muted-foreground`,children:[t?.groups.length??0,` finding families tracked`]})]}),(0,z.jsxs)(Z,{variant:`default`,onClick:r,children:[(0,z.jsx)(pe,{className:`size-4`}),`Launchpad`]})]})]})}),(0,z.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[1800px] flex-1 min-h-0`,children:[(0,z.jsx)(`main`,{className:`min-w-0 flex-1 px-4 py-5 sm:px-6`,children:(0,z.jsx)(`div`,{className:`flex min-h-full min-w-0 flex-col gap-5`,children:e})}),a?(0,z.jsx)(`aside`,{className:`hidden w-[32rem] shrink-0 border-l border-border bg-background xl:flex xl:flex-col`,children:(0,z.jsxs)(`div`,{className:`sticky top-[4.5625rem] flex h-[calc(100vh-4.5625rem)] flex-col`,children:[(0,z.jsxs)(`div`,{className:`border-b border-border px-6 py-6 pr-12`,children:[(0,z.jsx)(`div`,{className:`font-heading text-base font-medium text-foreground`,children:a.title}),(0,z.jsx)(`div`,{className:`mt-1 text-sm text-muted-foreground`,children:a.description})]}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:a.content}),(0,z.jsx)(`div`,{className:`border-t border-border p-4`,children:(0,z.jsx)(Z,{variant:`outline`,size:`sm`,onClick:o,children:`Close panel`})})]})}):null]})]})]}),(0,z.jsx)(pn,{open:!!a&&!s,onOpenChange:e=>{e||o()},children:(0,z.jsx)(_n,{side:`right`,className:`w-full overflow-y-auto p-0 sm:max-w-2xl`,children:a?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(vn,{className:`border-b border-border pr-12`,children:[(0,z.jsx)(yn,{children:a.title}),(0,z.jsx)(bn,{children:a.description})]}),a.content]}):null})})]})}function br({to:e,label:t,icon:n,badge:r=0,reloadDocument:i=!1}){return(0,z.jsx)(T,{to:e,"aria-label":t,reloadDocument:i,children:({isActive:e})=>(0,z.jsxs)(`div`,{className:X(`relative flex size-11 items-center justify-center rounded-md transition-colors`,e?`bg-primary text-primary-foreground`:`text-muted-foreground hover:bg-muted hover:text-foreground`),children:[(0,z.jsx)(n,{className:`size-4`}),r>0?(0,z.jsx)(`span`,{className:`absolute right-1 top-1 min-w-4 rounded-sm bg-destructive px-1 text-center text-[9px] font-semibold leading-4 text-destructive-foreground`,children:r}):null,(0,z.jsx)(`span`,{className:`sr-only`,children:t})]})})}function xr({to:e,label:t,meta:n,icon:r,badge:i=0,reloadDocument:a=!1}){return(0,z.jsx)(T,{to:e,reloadDocument:a,children:({isActive:e})=>(0,z.jsxs)(`div`,{className:X(`flex items-start gap-2.5 rounded-sm px-3 py-2 text-[13px] font-medium transition-colors`,e?`bg-primary/8 text-foreground`:`text-foreground/80 hover:bg-primary/6 hover:text-foreground`),children:[(0,z.jsx)(r,{className:X(`mt-0.5 size-4 shrink-0`,e&&`text-primary`)}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`div`,{className:`truncate`,children:t}),(0,z.jsx)(`div`,{className:X(`truncate text-xs`,e?`text-foreground/70`:`text-muted-foreground`),children:n})]}),i>0?(0,z.jsx)(`span`,{className:`mt-0.5 rounded-sm bg-primary px-1.5 py-0.5 text-[10px] leading-none text-primary-foreground`,children:i}):null]})})}function Sr({label:e,children:t}){return(0,z.jsxs)(`section`,{className:`space-y-2`,children:[(0,z.jsx)(`div`,{className:`px-3 text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70`,children:e}),(0,z.jsx)(`div`,{className:`flex flex-col gap-1`,children:t})]})}function Cr({label:e,value:t,meta:n,tone:r=`default`}){return(0,z.jsx)(`div`,{className:`rounded-md border border-border bg-muted/20 px-3 py-3`,children:(0,z.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`div`,{className:`text-sm text-foreground`,children:e}),(0,z.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:n})]}),(0,z.jsx)(`div`,{className:X(`shrink-0 text-sm font-medium`,gr(r)),children:t})]})})}function wr({text:e}){return(0,z.jsx)(`div`,{className:`px-3 py-2 text-sm text-muted-foreground`,children:e})}function Tr({text:e}){return(0,z.jsx)(`div`,{className:`rounded-md border border-dashed border-border px-3 py-3 text-xs leading-5 text-muted-foreground`,children:e})}function Er({children:e,tone:t=`default`}){return(0,z.jsx)(rn,{variant:t===`success`?`success`:t===`warning`?`warning`:t===`danger`?`danger`:`neutral`,className:`gap-1.5`,children:e})}function Dr({...e}){return(0,z.jsx)(P,{"data-slot":`dialog`,...e})}function Or({...e}){return(0,z.jsx)(N,{"data-slot":`dialog-portal`,...e})}function kr({className:e,...t}){return(0,z.jsx)(ie,{"data-slot":`dialog-overlay`,className:X(`fixed inset-0 isolate z-50 bg-background/80 duration-100 supports-backdrop-filter:backdrop-blur-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,e),...t})}function Ar({className:e,children:t,showCloseButton:n=!0,...r}){return(0,z.jsxs)(Or,{children:[(0,z.jsx)(kr,{}),(0,z.jsxs)(oe,{"data-slot":`dialog-content`,className:X(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl border border-border bg-popover p-6 text-sm text-popover-foreground shadow-sm duration-100 outline-none sm:max-w-md data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...r,children:[t,n&&(0,z.jsx)(ce,{"data-slot":`dialog-close`,asChild:!0,children:(0,z.jsxs)(Z,{variant:`ghost`,className:`absolute top-4 right-4`,size:`icon-sm`,children:[(0,z.jsx)(ae,{className:`size-4`}),(0,z.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function jr({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`dialog-header`,className:X(`flex flex-col gap-1.5`,e),...t})}function Mr({className:e,...t}){return(0,z.jsx)(se,{"data-slot":`dialog-title`,className:X(`font-heading text-base leading-none font-medium`,e),...t})}function Nr({className:e,...t}){return(0,z.jsx)(F,{"data-slot":`dialog-description`,className:X(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...t})}var Pr=[`Actions`,`Pages`,`Findings`,`Runs`];function Fr({open:e,onOpenChange:t,dashboard:n,scans:i}){let a=C(),o=d(),c=x(),[l,f]=(0,L.useState)(``),p=(0,L.useDeferredValue)(l),m=o.pathname.match(/^\/(?:threads|findings)\/([^/]+)/)?.[1]??null,h=o.pathname.match(/^\/(?:runs|scans)\/([^/]+)/)?.[1]??null,g=u({queryKey:[`finding-family`,m],queryFn:()=>s(m),enabled:e&&!!m}),_=R({mutationFn:({triageStatus:e,triageNote:t})=>r(m,e,t),onSuccess:async()=>{await Promise.all([c.invalidateQueries({queryKey:[`dashboard`]}),c.invalidateQueries({queryKey:[`finding-family`,m]})])}}),v=(0,L.useMemo)(()=>{let e=[{id:`page-chat`,group:`Pages`,label:`Open chat workspace`,meta:`Scoped operator conversation and approvals`,icon:I,keywords:[`chat operator workspace session scope approvals`],run:()=>window.location.assign(`/desktop.html`)},{id:`page-findings`,group:`Pages`,label:`Open findings workspace`,meta:`Evidence, chat handoff, disposition`,icon:me,keywords:[`findings families review evidence console handoff`],run:()=>a(`/findings`)},{id:`page-control`,group:`Pages`,label:`Open operations home`,meta:`Launch, queue, worker control`,icon:he,keywords:[`operations dashboard overview launch workers queue`],run:()=>a(`/dashboard`)},{id:`page-scans`,group:`Pages`,label:`Open runs`,meta:`Run history and provenance`,icon:fe,keywords:[`scans runs timeline history`],run:()=>a(`/runs`)}];m&&e.unshift({id:`triage-accept`,group:`Actions`,label:`Accept selected finding`,meta:`Mark the finding family as accepted`,icon:be,keywords:[`accept finding triage`],shortcut:`Enter`,run:()=>_.mutate({triageStatus:`accepted`,triageNote:g.data?.latest.triageNote??``})},{id:`triage-suppress`,group:`Actions`,label:`Suppress selected finding`,meta:`Suppress the finding family`,icon:xe,keywords:[`suppress finding triage`],shortcut:`Shift+S`,run:()=>_.mutate({triageStatus:`suppressed`,triageNote:g.data?.latest.triageNote??``})}),h&&e.unshift({id:`scan-detail`,group:`Actions`,label:`Focus selected scan timeline`,meta:`Open current run detail`,icon:fe,keywords:[`scan timeline detail current`],run:()=>a(`/runs/${h}`)});for(let t of n?.groups.slice(0,14)??[])e.push({id:`finding-${t.fingerprint}`,group:`Findings`,label:t.latest.title,meta:`${t.latest.severity} · ${t.latest.triageStatus}`,icon:me,keywords:[t.latest.title,t.latest.category,t.latest.severity,t.latest.triageStatus],run:()=>a(`/findings/${t.fingerprint}`)});for(let t of i?.slice(0,14)??[])e.push({id:`scan-${t.id}`,group:`Runs`,label:t.target,meta:`${t.status} · ${t.depth} · ${t.runtime}`,icon:fe,keywords:[t.target,t.status,t.depth,t.runtime,t.mode],run:()=>a(`/runs/${t.id}`)});return e},[n?.groups,a,c,i,m,g.data?.latest.triageNote,h,_]),y=(0,L.useMemo)(()=>{let e=p.trim().toLowerCase();return e?v.filter(t=>[t.label,t.meta,...t.keywords].join(` `).toLowerCase().includes(e)):v},[p,v]);return(0,L.useEffect)(()=>{e||f(``)},[e]),(0,z.jsx)(Dr,{open:e,onOpenChange:t,children:(0,z.jsxs)(Ar,{className:`overflow-hidden p-0 sm:max-w-2xl`,showCloseButton:!1,children:[(0,z.jsxs)(jr,{className:`border-b border-border px-5 py-4 pr-12`,children:[(0,z.jsx)(Mr,{className:`text-[10px] font-semibold uppercase tracking-[0.2em] text-muted-foreground`,children:`Mission command`}),(0,z.jsx)(Nr,{className:`pt-2 text-sm text-muted-foreground`,children:`Search operations views, findings, runs, and control actions.`})]}),(0,z.jsx)(`div`,{className:`border-b border-border px-4 py-3`,children:(0,z.jsx)(fn,{autoFocus:!0,value:l,onChange:e=>f(e.target.value),placeholder:`Jump to a page, run, finding, or action`})}),(0,z.jsx)(ar,{className:`max-h-[60vh]`,children:(0,z.jsxs)(`div`,{className:`space-y-1 p-2`,children:[Pr.map(e=>{let n=y.filter(t=>t.group===e);return n.length===0?null:(0,z.jsxs)(`section`,{className:`space-y-1`,children:[(0,z.jsx)(`div`,{className:`px-3 py-2 text-[10px] font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:e}),n.map(e=>(0,z.jsxs)(`button`,{type:`button`,onClick:()=>{e.run(),t(!1)},className:`flex w-full items-center gap-3 rounded-md px-3 py-2 text-left transition-colors hover:bg-accent`,children:[(0,z.jsx)(`div`,{className:`inline-flex size-9 items-center justify-center rounded-md border border-border bg-muted text-primary`,children:(0,z.jsx)(e.icon,{className:`size-4`})}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`div`,{className:`font-medium text-foreground`,children:e.label}),(0,z.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.meta})]}),e.shortcut?(0,z.jsx)(`div`,{className:`text-xs tracking-widest text-muted-foreground`,children:e.shortcut}):null]},e.id))]},e)}),y.length===0?(0,z.jsx)(`div`,{className:`px-4 py-8 text-center text-sm text-muted-foreground`,children:`No matching commands.`}):null]})})]})})}var Ir=(0,L.lazy)(async()=>({default:(await f(async()=>{let{FindingsPage:e}=await import(`./findings-page-CACW9nw2.js`);return{FindingsPage:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))).FindingsPage})),Lr=(0,L.lazy)(async()=>({default:(await f(async()=>{let{LivePage:e}=await import(`./live-page-DrgQqQK5.js`);return{LivePage:e}},__vite__mapDeps([15,1,4,2,5,6,7,16,14]))).LivePage})),Rr=(0,L.lazy)(async()=>({default:(await f(async()=>{let{OverviewPage:e}=await import(`./overview-page-DTGS8dPo.js`);return{OverviewPage:e}},__vite__mapDeps([17,1,3,4,2,5,6,7,18,8,19,20,12,14]))).OverviewPage})),zr=(0,L.lazy)(async()=>({default:(await f(async()=>{let{ScansPage:e}=await import(`./scans-page-ChVtq8Us.js`);return{ScansPage:e}},__vite__mapDeps([21,1,3,4,2,5,6,7,18,11,20,12,13]))).ScansPage}));function Br(e){let t=e;return t?[`INPUT`,`TEXTAREA`,`SELECT`].includes(t.tagName)||t.isContentEditable:!1}function Vr({dashboard:e,scans:t}){return(0,z.jsx)(L.Suspense,{fallback:(0,z.jsx)(cn,{label:`Loading workspace`}),children:(0,z.jsxs)(p,{children:[(0,z.jsx)(w,{path:`/`,element:(0,z.jsx)(m,{to:`/dashboard`,replace:!0})}),(0,z.jsx)(w,{path:`/dashboard`,element:(0,z.jsx)(Rr,{data:e})}),(0,z.jsx)(w,{path:`/threads`,element:(0,z.jsx)(Ir,{dashboard:e})}),(0,z.jsx)(w,{path:`/threads/:fingerprint`,element:(0,z.jsx)(Ir,{dashboard:e})}),(0,z.jsx)(w,{path:`/runs`,element:(0,z.jsx)(zr,{scans:t})}),(0,z.jsx)(w,{path:`/runs/:scanId`,element:(0,z.jsx)(zr,{scans:t})}),(0,z.jsx)(w,{path:`/findings`,element:(0,z.jsx)(Ir,{dashboard:e})}),(0,z.jsx)(w,{path:`/findings/:fingerprint`,element:(0,z.jsx)(Ir,{dashboard:e})}),(0,z.jsx)(w,{path:`/scans`,element:(0,z.jsx)(zr,{scans:t})}),(0,z.jsx)(w,{path:`/scans/:scanId`,element:(0,z.jsx)(zr,{scans:t})}),(0,z.jsx)(w,{path:`/live`,element:(0,z.jsx)(Lr,{})}),(0,z.jsx)(w,{path:`*`,element:(0,z.jsx)(ln,{title:`Unknown route`,body:`This dashboard view does not exist yet.`})})]})})}function Hr(){let[e,t]=(0,L.useState)(!1),n=u({queryKey:[`dashboard`],queryFn:i,refetchInterval:5e3}),r=u({queryKey:[`scans`],queryFn:l,refetchInterval:5e3}),a=(0,L.useEffectEvent)(n=>{if((n.metaKey||n.ctrlKey)&&n.key.toLowerCase()===`k`){n.preventDefault(),t(e=>!e);return}!e&&n.key===`/`&&!Br(n.target)&&(n.preventDefault(),t(!0))});return(0,L.useEffect)(()=>{let e=e=>a(e);return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a]),(0,z.jsx)(on,{children:(0,z.jsxs)(yr,{dashboard:n.data,scans:r.data,onOpenPalette:()=>t(!0),children:[(0,z.jsx)(Fr,{open:e,onOpenChange:t,dashboard:n.data,scans:r.data}),n.isLoading||r.isLoading?(0,z.jsx)(cn,{label:`Operations`}):n.error?(0,z.jsx)(un,{error:n.error}):r.error?(0,z.jsx)(un,{error:r.error}):n.data&&r.data?(0,z.jsx)(Vr,{dashboard:n.data,scans:r.data}):(0,z.jsx)(ln,{title:`No scan data available`,body:`Run a scan first, then reopen Operations.`})]})})}export{me as A,X as C,be as D,xe as E,R as M,ye as O,Hr as OperationsApp,Jt as S,Se as T,tn as _,vn as a,Qt as b,Z as c,cn as d,sn as f,Yt as g,Xt as h,bn as i,ue as j,ve as k,ln as l,Kt as m,pn as n,yn as o,rn as p,_n as r,fn as s,ar as t,un as u,Zt as v,De as w,en as x,qt as y};