tarsk 0.5.74 → 0.5.76
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.
- package/dist/bundled-skills/skill-creator/scripts/__tests__/quick_validate.test.js +79 -0
- package/dist/bundled-skills/skill-creator/scripts/quick_validate.js +78 -65
- package/dist/index.js +21828 -13103
- package/dist/jelly.webp +0 -0
- package/dist/public/assets/account-view-CWtpznW2.js +1 -0
- package/dist/public/assets/alert-dialog-BxMfaLuO.js +7 -0
- package/dist/public/assets/api-DX1ny6q-.js +2 -0
- package/dist/public/assets/async-error-boundary-BX1G17o9.js +1 -0
- package/dist/public/assets/async-loading-fallback-V0EaQ_Kn.js +1 -0
- package/dist/public/assets/browser-tab-D_5MLhxE.js +12 -0
- package/dist/public/assets/button-kWtLAMpB.js +1 -0
- package/dist/public/assets/card-B_EASkic.js +1 -0
- package/dist/public/assets/chat-dock-context-8K8Ikjgy.js +1 -0
- package/dist/public/assets/commit-dialog-CSXPoomw.js +1 -0
- package/dist/public/assets/commit-error-dialog-CdcGI69P.js +1 -0
- package/dist/public/assets/commit-method-fields-BtEHb0_G.js +1 -0
- package/dist/public/assets/context-menu-BcM6I0Sx.js +1 -0
- package/dist/public/assets/conversation-history-view-CuzU9qF6.js +1 -0
- package/dist/public/assets/create-project-dialog-a6Wgq-Z8.js +2 -0
- package/dist/public/assets/create-project-workspace-Dv_lEfZx.js +2 -0
- package/dist/public/assets/create-repo-dialog-BTIQ5Nw4.js +1 -0
- package/dist/public/assets/{delete-confirm-dialog-3DX1u0Dg.js → delete-confirm-dialog-Dl76vaxb.js} +1 -1
- package/dist/public/assets/diff-view-DA1uT9tc.js +4 -0
- package/dist/public/assets/dist-C2G92uPn.js +1 -0
- package/dist/public/assets/dist-CHhgoHp6.js +1 -0
- package/dist/public/assets/dist-CTLFS4dn.js +2 -0
- package/dist/public/assets/dist-D-2G8xGB.js +5 -0
- package/dist/public/assets/dist-DD4GtbiM.js +1 -0
- package/dist/public/assets/{dist-rO95BjzU.js → dist-DoxvnNEY.js} +1 -1
- package/dist/public/assets/dist-DsmF-KJ-.js +1 -0
- package/dist/public/assets/dist-c_QADQ5u.js +1 -0
- package/dist/public/assets/dist-yM5kyz9Q.js +1 -0
- package/dist/public/assets/es2015-BlPKkFZZ.js +41 -0
- package/dist/public/assets/explorer-monaco-editor-BdZ_bBqh.js +1 -0
- package/dist/public/assets/explorer-tab-view-CewTYYOm.js +2 -0
- package/dist/public/assets/explorer-tree-C0VDhihz.js +1 -0
- package/dist/public/assets/explorer-view-RCfDm3p5.js +76 -0
- package/dist/public/assets/git-history-dialog-DL0Trxiz.js +1 -0
- package/dist/public/assets/index-B3-5kIOf.js +3658 -0
- package/dist/public/assets/index-BLNUy5nZ.css +1 -0
- package/dist/public/assets/merged-pr-dialog-BzND8nzx.js +1 -0
- package/dist/public/assets/model-list-controls-I67L2x3H.js +1 -0
- package/dist/public/assets/onboarding-dialog-DY8v11hv.js +1 -0
- package/dist/public/assets/project-coding-view-DxOwsjtt.js +1 -0
- package/dist/public/assets/project-danger-zone-view-CkvKOQrl.js +1 -0
- package/dist/public/assets/project-env-vars-view-DYLWA7s0.js +1 -0
- package/dist/public/assets/project-model-aliases-view-DWu9khLA.js +1 -0
- package/dist/public/assets/project-settings-view-DJfmaWn6.js +1 -0
- package/dist/public/assets/project-tools-view-BEjBkghz.js +1 -0
- package/dist/public/assets/providers-list-view-jMEPJCci.js +1 -0
- package/dist/public/assets/pull-request-dialog-B_JCqT53.js +1 -0
- package/dist/public/assets/pull-with-changes-dialog-V3_km2zQ.js +1 -0
- package/dist/public/assets/push-before-pr-dialog-CarrD3y2.js +1 -0
- package/dist/public/assets/radio-group-Dn_pN-pn.js +1 -0
- package/dist/public/assets/scroll-area-lkVMElz5.js +1 -0
- package/dist/public/assets/settings-general-view-BhrfHGfQ.js +1 -0
- package/dist/public/assets/settings-list-DiiYzOxn.js +1 -0
- package/dist/public/assets/settings-logs-view-DbKM1SNk.js +5 -0
- package/dist/public/assets/settings-mcp-servers-view-4FpPIeYV.js +5 -0
- package/dist/public/assets/settings-models-view-CJVeo9ad.js +1 -0
- package/dist/public/assets/settings-skills-view-DoRPGbHG.js +3 -0
- package/dist/public/assets/settings-slack-view-Cc1NgVkx.js +1 -0
- package/dist/public/assets/settings-slash-commands-view-CmlWqqmi.js +1 -0
- package/dist/public/assets/settings-statistics-view-DRuyEbcN.js +1 -0
- package/dist/public/assets/settings-storage-view-DihbtUYb.js +1 -0
- package/dist/public/assets/settings-subagents-view-B2RvxDZI.js +2 -0
- package/dist/public/assets/settings-system-prompt-view-CvVbgjNN.js +1 -0
- package/dist/public/assets/settings-view-CPUAjTMa.js +2 -0
- package/dist/public/assets/slug-utils-CQ8PMWUL.js +1 -0
- package/dist/public/assets/store-BSzKIu5G.js +9 -0
- package/dist/public/assets/suspense-resource-BFrb_XJX.js +1 -0
- package/dist/public/assets/table-A3cgauiZ.js +1 -0
- package/dist/public/assets/tasks-view-CvFFLPeD.js +1 -0
- package/dist/public/assets/{terminal-panel-DHDoOXAH.js → terminal-panel-DIh6it7K.js} +3 -3
- package/dist/public/assets/toggle-group-Q36wRGKA.js +1 -0
- package/dist/public/assets/tooltip-Db8UeYxm.js +1 -0
- package/dist/public/assets/{use-active-dock-panel-instance-cO_DR87G.js → use-active-dock-panel-instance-DRfRj6MV.js} +1 -1
- package/dist/public/assets/use-installed-ai-files-C8nNWGC7.js +1 -0
- package/dist/public/assets/{use-suspense-resource-Dkz6ddFN.js → use-suspense-resource-Dakt9lfT.js} +1 -1
- package/dist/public/assets/useBaseQuery-34f0-SVd.js +1 -0
- package/dist/public/assets/{web-C7jr0n2X.js → web-Bn9n5e7r.js} +1 -1
- package/dist/public/assets/{web-D0nlJHDu.js → web-C2KGFouM.js} +1 -1
- package/dist/public/assets/{web-jJ1krOD-.js → web-Dk3GAfTy.js} +1 -1
- package/dist/public/assets/{web-DPW3m0cL.js → web-DycfRH4j.js} +1 -1
- package/dist/public/browser-preview-rpc.js +107 -82
- package/dist/public/index.html +26 -33
- package/dist/recommended-models.txt +2 -2
- package/package.json +6 -6
- package/dist/public/assets/Combination-BdvBzSm4.js +0 -41
- package/dist/public/assets/account-view-c-UG0JKH.js +0 -1
- package/dist/public/assets/alert-dialog-DAHkynVZ.js +0 -7
- package/dist/public/assets/api-D1GxdEEp.js +0 -2
- package/dist/public/assets/async-error-boundary-DNJqC4BV.js +0 -1
- package/dist/public/assets/async-loading-fallback-D2X0o4Qa.js +0 -1
- package/dist/public/assets/browser-tab-BKQJKTg8.js +0 -12
- package/dist/public/assets/button-B6HDsfd5.js +0 -1
- package/dist/public/assets/card-DZGd45nw.js +0 -1
- package/dist/public/assets/chat-dock-context-8_5G30KG.js +0 -1
- package/dist/public/assets/commit-dialog-OQFa4W6i.js +0 -1
- package/dist/public/assets/commit-error-dialog-BFByxoUG.js +0 -1
- package/dist/public/assets/commit-method-fields-BihSf23f.js +0 -1
- package/dist/public/assets/context-menu-e5jeH0Jl.js +0 -1
- package/dist/public/assets/conversation-history-view-BUlO9oJ6.js +0 -1
- package/dist/public/assets/create-project-dialog-CY5wIGQV.js +0 -2
- package/dist/public/assets/create-project-workspace-ClILToZd.js +0 -1
- package/dist/public/assets/create-repo-dialog-CKUQoOaX.js +0 -1
- package/dist/public/assets/dialog--0foS3aw.js +0 -1
- package/dist/public/assets/diff-view-DLPu21IR.js +0 -4
- package/dist/public/assets/dist-Bxyh1Ml_.js +0 -1
- package/dist/public/assets/dist-CFXDhuA_.js +0 -5
- package/dist/public/assets/dist-CNOCRPxn.js +0 -1
- package/dist/public/assets/dist-Cda_ffeR.js +0 -1
- package/dist/public/assets/dist-CkQILg8A.js +0 -1
- package/dist/public/assets/dist-CqGsum35.js +0 -1
- package/dist/public/assets/dist-DjiNKpTV.js +0 -2
- package/dist/public/assets/dist-eMdiO0P3.js +0 -1
- package/dist/public/assets/explorer-tab-view-nzl0M0Vm.js +0 -2
- package/dist/public/assets/explorer-tree-Bkb6dzmf.js +0 -1
- package/dist/public/assets/explorer-view-NcArt0_H.js +0 -75
- package/dist/public/assets/git-history-dialog-rWkjoaR5.js +0 -1
- package/dist/public/assets/index-BOB3ZUQs.js +0 -3386
- package/dist/public/assets/index-BdGMz8sL.css +0 -1
- package/dist/public/assets/markdown-renderer-BkKibNMs.js +0 -8
- package/dist/public/assets/mcp-server-card-DFT7uyRh.js +0 -1
- package/dist/public/assets/merged-pr-dialog-BOrFaYk6.js +0 -1
- package/dist/public/assets/model-list-controls-CpQjn6i7.js +0 -1
- package/dist/public/assets/ndjson-stream-DeGpE5o5.js +0 -2
- package/dist/public/assets/onboarding-dialog-HJpyzVWa.js +0 -1
- package/dist/public/assets/project-env-vars-view-C9VTTfTo.js +0 -1
- package/dist/public/assets/project-model-aliases-view-DKRoV7Gc.js +0 -1
- package/dist/public/assets/project-settings-view-BDYqpibk.js +0 -1
- package/dist/public/assets/project-tools-view-9WUc4Yca.js +0 -1
- package/dist/public/assets/providers-list-view-BgvIWP_0.js +0 -1
- package/dist/public/assets/pull-request-dialog-BM1dkFpK.js +0 -1
- package/dist/public/assets/pull-with-changes-dialog-Bjl_esir.js +0 -1
- package/dist/public/assets/push-before-pr-dialog-Cbc_zaI8.js +0 -1
- package/dist/public/assets/query-keys-5QPW6Dv-.js +0 -1
- package/dist/public/assets/radio-group-CMW5ku-w.js +0 -1
- package/dist/public/assets/scenic-chrome-CbN3vum7.js +0 -1
- package/dist/public/assets/scroll-area-BMQFeWmq.js +0 -1
- package/dist/public/assets/settings-general-view-BaMVw6kD.js +0 -1
- package/dist/public/assets/settings-instructions-view-BRE87H2U.js +0 -1
- package/dist/public/assets/settings-list-BpPbGcpS.js +0 -1
- package/dist/public/assets/settings-logs-view-Bbue8ZOn.js +0 -5
- package/dist/public/assets/settings-mcp-servers-view-BiMCy8sH.js +0 -5
- package/dist/public/assets/settings-models-view-BkZtGcUP.js +0 -1
- package/dist/public/assets/settings-rules-view-TK7LEC-0.js +0 -8
- package/dist/public/assets/settings-skills-view-Bv9Kn55r.js +0 -3
- package/dist/public/assets/settings-slack-view-Dy2bFJqU.js +0 -1
- package/dist/public/assets/settings-slash-commands-view-DiR1IyMF.js +0 -1
- package/dist/public/assets/settings-statistics-view-DX1UVeCJ.js +0 -1
- package/dist/public/assets/settings-storage-view-D8tHP8XT.js +0 -1
- package/dist/public/assets/settings-subagents-view-Bz7jBhbB.js +0 -2
- package/dist/public/assets/settings-system-prompt-view-VHGAqfQk.js +0 -1
- package/dist/public/assets/settings-view-QBOhYAyv.js +0 -2
- package/dist/public/assets/skeleton-DvLd14RU.js +0 -1
- package/dist/public/assets/store-CHF6tOp2.js +0 -9
- package/dist/public/assets/suspense-resource-DnYnmTbs.js +0 -1
- package/dist/public/assets/switch-P5m18oUl.js +0 -1
- package/dist/public/assets/table-MUx4ZxvS.js +0 -1
- package/dist/public/assets/tasks-view-l00Nc2fV.js +0 -2
- package/dist/public/assets/toggle-group-DMR7z3pz.js +0 -1
- package/dist/public/assets/tooltip-BtJG5fZl.js +0 -1
- package/dist/public/assets/use-installed-ai-files-CJr_PVcY.js +0 -1
- package/dist/public/assets/use-open-chat-dock-panel-B31lwcQF.js +0 -1
- package/dist/public/assets/useInfiniteQuery-DUeUxDcu.js +0 -1
- package/dist/public/assets/utils-CT-Dw22R.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.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}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-cyrillic-ext-wght-normal.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-greek-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-vietnamese-wght-normal.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-ext-wght-normal.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-wght-normal.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}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-cyrillic-ext-wght-normal.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-greek-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-vietnamese-wght-normal.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-ext-wght-normal.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-wght-normal.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}@font-face{font-family:Liberation Mono;src:url(/fonts/liberation-mono-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter Variable,system-ui,-apple-system,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:Liberation Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{-webkit-user-select:none;user-select:none}input,textarea,select,[contenteditable],[role=textbox],.prose-custom,pre,code{-webkit-user-select:text;user-select:text}:root{--scenic-foreground:0 0% 9%;--scenic-foreground-inverse:0 0% 98%;--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--brand:81 91% 40%;--brand-foreground:0 0% 100%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--divider:0 0% 89.8%;--table-border:0 0% 3.9% / .08;--input:0 0% 89.8%;--ring:0 0% 3.9%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius:.5rem;--sidebar-background:0 0% 100%;--sidebar-foreground:220 10% 20%;--sidebar-primary:220 10% 12%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:220 15% 93%;--sidebar-accent-foreground:220 10% 12%;--sidebar-border:220 13% 91%;--sidebar-ring:220 60% 55%;--image-off-background:0 0% 94%;--settings-sidebar-background:0 0% 100%}.dark{--background:0 0% 9.5%;--image-off-background:0 0% 12%;--foreground:0 0% 78%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--brand:81 91% 40%;--brand-foreground:0 0% 100%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:0 0% 14.9%;--divider:0 0% 100% / .15;--table-border:0 0% 100% / .07;--input:0 0% 14.9%;--ring:0 0% 83.1%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%;--sidebar-background:0 0% 12%;--sidebar-foreground:240 4.8% 95.9%;--sidebar-primary:224.3 76.3% 48%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:240 3.7% 15.9%;--sidebar-accent-foreground:240 4.8% 95.9%;--sidebar-border:0 0% 100% / .15;--sidebar-ring:217.2 91.2% 59.8%;--settings-sidebar-background:0 0% 19%}html,body,#root{height:100%}html[data-native-shell=true],html[data-native-shell=true] body,html[data-native-shell=true] #root{height:var(--app-viewport-height,100%);min-height:var(--app-viewport-height,100%)}html[data-native-shell=true] body{background:0 0}html[data-native-shell=true] #root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);background:0 0;padding-bottom:0;position:relative}html[data-native-shell=true] #root:before{content:"";z-index:-1;background:hsl(var(--background));position:fixed;inset:0}html[data-native-shell=true] .h-screen{height:var(--app-viewport-height,100vh)}html[data-native-shell=true] .max-h-screen{max-height:var(--app-viewport-height,100vh)}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:Inter Variable,system-ui,-apple-system,sans-serif}h1,h2,h3,h4,h5,h6{font-family:Plus Jakarta Sans Variable,system-ui,-apple-system,sans-serif}input[type=radio],input[type=checkbox]{accent-color:hsl(var(--brand))}.dark ::placeholder{opacity:.3}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.frosted-surface,.frosted-panel{background-color:hsl(var(--background) / var(--frosted-panel-opacity,.8))}html[data-wallpaper=background] body{background-color:hsl(var(--image-off-background));color:hsl(var(--foreground))}html[data-wallpaper=background][data-native-shell=true] #root:before{background:hsl(var(--image-off-background))}html[data-wallpaper=color] body{background-color:var(--wallpaper-color);color:hsl(var(--foreground))}html[data-wallpaper=color][data-native-shell=true] #root:before{background:var(--wallpaper-color)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-\[-8px\]{inset:-8px}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-right-12{right:-3rem}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-24{bottom:6rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.-mb-3{margin-bottom:-.75rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-2\.5{margin-left:.625rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-8{margin-left:2rem}.ml-\[-10px\]{margin-left:-10px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:16/9}.size-20{width:5rem;height:5rem}.size-4{width:1rem;height:1rem}.size-8{width:2rem;height:2rem}.h-0{height:0}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1em\]{height:1em}.h-\[1px\]{height:1px}.h-\[520px\]{height:520px}.h-\[61px\]{height:61px}.h-\[80dvh\]{height:80dvh}.h-\[80vh\]{height:80vh}.h-\[min\(42rem\,90dvh\)\]{height:min(42rem,90dvh)}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[100px\]{max-height:100px}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-\[50dvh\]{max-height:50dvh}.max-h-\[512px\]{max-height:512px}.max-h-\[80dvh\]{max-height:80dvh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85dvh\]{max-height:85dvh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-\[min\(16rem\,40svh\)\]{max-height:min(16rem,40svh)}.max-h-\[min\(320px\,50vh\)\]{max-height:min(320px,50vh)}.max-h-\[min\(36rem\,85vh\)\]{max-height:min(36rem,85vh)}.max-h-\[min\(400px\,80vh\)\]{max-height:min(400px,80vh)}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-full{max-height:100%}.max-h-none{max-height:none}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.min-h-32{min-height:8rem}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[14rem\]{min-height:14rem}.min-h-\[240px\]{min-height:240px}.min-h-\[250px\]{min-height:250px}.min-h-\[3rem\]{min-height:3rem}.min-h-\[4\.5rem\]{min-height:4.5rem}.min-h-\[71px\]{min-height:71px}.min-h-\[80px\]{min-height:80px}.min-h-\[8rem\]{min-height:8rem}.min-h-full{min-height:100%}.min-h-svh{min-height:100svh}.w-0{width:0}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.6667%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-\[35\%\]{width:35%}.w-\[min\(100\%\,48rem\)\]{width:min(100%,48rem)}.w-\[var\(--radix-popover-trigger-width\)\]{width:var(--radix-popover-trigger-width)}.w-auto{width:auto}.w-dvw{width:100dvw}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-11{min-width:2.75rem}.min-w-4{min-width:1rem}.min-w-44{min-width:11rem}.min-w-5{min-width:1.25rem}.min-w-72{min-width:18rem}.min-w-9{min-width:2.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[180px\]{min-width:180px}.min-w-\[220px\]{min-width:220px}.min-w-\[3rem\]{min-width:3rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-0{max-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-64{max-width:16rem}.max-w-96{max-width:24rem}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-\[12rem\]{max-width:12rem}.max-w-\[200px\]{max-width:200px}.max-w-\[300px\]{max-width:300px}.max-w-\[4\.5rem\]{max-width:4.5rem}.max-w-\[5rem\]{max-width:5rem}.max-w-\[6\.5rem\]{max-width:6.5rem}.max-w-\[min\(92vw\,960px\)\]{max-width:min(92vw,960px)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-max{max-width:max-content}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-0{flex-basis:0}.basis-full{flex-basis:100%}.table-fixed{table-layout:fixed}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:50%}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x:1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes daily-spend-flip-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.animate-daily-spend-flip-in{animation:daily-spend-flip-in var(--daily-spend-flip-duration,.3s) ease-out both}@keyframes daily-spend-flip-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}.animate-daily-spend-flip-out{animation:daily-spend-flip-out var(--daily-spend-flip-duration,.3s) ease-out both}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@keyframes thread-dot-pulse{0%,to{opacity:.82;filter:brightness(.98);border-radius:9999px;transform:scale(.92)skew(0deg)}20%{opacity:.98;filter:brightness(1.08);border-radius:45% 55% 60% 40%/45% 40% 60% 55%;transform:scaleX(1.28)scaleY(.8)skew(-10deg,4deg)}40%{opacity:1;filter:brightness(1.16);border-radius:52% 48% 56% 44%/48% 54% 46% 52%;transform:scale(1.12)skew(6deg,-4deg)}60%{opacity:.74;filter:brightness();border-radius:58% 42% 45% 55%/55% 60% 40% 45%;transform:scaleX(.8)scaleY(1.24)skew(8deg,-8deg)}80%{opacity:.95;filter:brightness(1.1);border-radius:40% 60% 52% 48%/58% 42%;transform:scaleX(1.2)scaleY(.9)skew(-6deg,8deg)}}.animate-thread-dot-pulse{animation:1.35s cubic-bezier(.55,0,.45,1) infinite thread-dot-pulse}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.touch-none{touch-action:none}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.resize-none{resize:none}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-start{scroll-snap-align:start}.list-outside{list-style-position:outside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_1\.75rem\]{grid-template-columns:minmax(0,1fr) 1.75rem}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto_1\.75rem\]{grid-template-columns:minmax(0,1fr) auto 1.75rem}.grid-cols-\[repeat\(auto-fill\,minmax\(5\.5rem\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr))}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1{column-gap:.25rem}.gap-x-2{column-gap:.5rem}.gap-x-4{column-gap:1rem}.gap-y-0\.5{row-gap:.125rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-6{row-gap:1.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--border))}.divide-table-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--table-border))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.scroll-smooth{scroll-behavior:smooth}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[1\.15rem\]{border-radius:1.15rem}.rounded-\[24px\]{border-radius:24px}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-tr-2xl{border-top-right-radius:1rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[--color-border\]{border-color:var(--color-border)}.border-black\/25{border-color:#00000040}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-brand{border-color:hsl(var(--brand))}.border-brand\/30{border-color:hsl(var(--brand) / .3)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-divider{border-color:hsl(var(--divider))}.border-foreground\/20{border-color:hsl(var(--foreground) / .2)}.border-foreground\/30{border-color:hsl(var(--foreground) / .3)}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-muted{border-color:hsl(var(--muted))}.border-primary{border-color:hsl(var(--primary))}.border-primary-foreground\/20{border-color:hsl(var(--primary-foreground) / .2)}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-table-border{border-color:hsl(var(--table-border))}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-brand{border-top-color:hsl(var(--brand))}.border-t-primary{border-top-color:hsl(var(--primary))}.border-t-transparent{border-top-color:#0000}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-\[hsl\(0_0\%_35\%\)\]{--tw-bg-opacity:1;background-color:hsl(0 0% 35%/var(--tw-bg-opacity,1))}.bg-\[hsl\(var\(--image-off-background\)\)\]{background-color:hsl(var(--image-off-background))}.bg-\[var\(--wallpaper-color\)\]{background-color:var(--wallpaper-color)}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-background\/70{background-color:hsl(var(--background) / .7)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/90{background-color:hsl(var(--background) / .9)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/50{background-color:#00000080}.bg-black\/80{background-color:#000c}.bg-black\/85{background-color:#000000d9}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-border{background-color:hsl(var(--border))}.bg-brand{background-color:hsl(var(--brand))}.bg-brand\/15{background-color:hsl(var(--brand) / .15)}.bg-card{background-color:hsl(var(--card))}.bg-current{background-color:currentColor}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-divider{background-color:hsl(var(--divider))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-foreground\/20{background-color:hsl(var(--foreground) / .2)}.bg-foreground\/25{background-color:hsl(var(--foreground) / .25)}.bg-foreground\/35{background-color:hsl(var(--foreground) / .35)}.bg-foreground\/5{background-color:hsl(var(--foreground) / .05)}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/15{background-color:#22c55e26}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/10{background-color:hsl(var(--muted) / .1)}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-muted\/80{background-color:hsl(var(--muted) / .8)}.bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.bg-orange-500\/10{background-color:#f973161a}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-red-500\/10{background-color:#ef44441a}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-accent{background-color:hsl(var(--sidebar-accent))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.from-\[hsl\(0_0\%_35\%\)\]{--tw-gradient-from:#595959 var(--tw-gradient-from-position);--tw-gradient-to:#59595900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-background{--tw-gradient-from:hsl(var(--background)) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-\[hsl\(0_0\%_25\%\)\]{--tw-gradient-to:#404040 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-yellow-400{fill:#facc15}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-14{padding-bottom:3.5rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-0\.5{padding-left:.125rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-\[18px\]{padding-left:18px}.pr-0\.5{padding-right:.125rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-28{padding-right:7rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pr-\[4px\]{padding-right:4px}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-10{padding-top:2.5rem}.pt-12{padding-top:3rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mono{font-family:Liberation Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,monospace}.font-sans{font-family:Inter Variable,system-ui,-apple-system,sans-serif}.text-2xl{font-size:1.65rem;line-height:2.2rem}.text-3xl{font-size:2.0625rem;line-height:2.475rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1.1rem;line-height:1.65rem}.text-lg{font-size:1.2375rem;line-height:1.925rem}.text-sm{font-size:.9625rem;line-height:1.375rem}.text-xl{font-size:1.375rem;line-height:1.925rem}.text-xs{font-size:.825rem;line-height:1.1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.\!text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-background{color:hsl(var(--background))}.text-background\/70{color:hsl(var(--background) / .7)}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-brand{color:hsl(var(--brand))}.text-brand-foreground{color:hsl(var(--brand-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-cyan-500{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-fuchsia-500{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-inherit{color:inherit}.text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/25{color:hsl(var(--muted-foreground) / .25)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-border{-webkit-text-decoration-color:hsl(var(--border));text-decoration-color:hsl(var(--border))}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[inset_0_2px_4px_rgba\(0\,0\,0\,0\.14\)\]{--tw-shadow:inset 0 2px 4px #00000024;--tw-shadow-colored:inset 0 2px 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.outline-2{outline-width:2px}.outline-offset-1{outline-offset:1px}.outline-brand{outline-color:hsl(var(--brand))}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-\[3px\]{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-background{--tw-ring-color:hsl(var(--background))}.ring-border\/80{--tw-ring-color:hsl(var(--border) / .8)}.ring-brand{--tw-ring-color:hsl(var(--brand))}.ring-brand\/40{--tw-ring-color:hsl(var(--brand) / .4)}.ring-primary{--tw-ring-color:hsl(var(--primary))}.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-sidebar-ring{--tw-ring-color:hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-none{--tw-backdrop-blur: ;-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[grid-template-rows\,max-width\]{transition-property:grid-template-rows,max-width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[margin\,opa\]{transition-property:margin,opa;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[opacity\,color\,background-color\]{transition-property:opacity,color,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,opacity\]{transition-property:width,opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@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))}}@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))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.animate-out{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.fade-in,.fade-in-0{--tw-enter-opacity:0}.fade-in-80{--tw-enter-opacity:.8}.fade-out{--tw-exit-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.slide-in-from-bottom-2{--tw-enter-translate-y:.5rem}.slide-in-from-top-2{--tw-enter-translate-y:-.5rem}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}.fill-mode-forwards{animation-fill-mode:forwards}.\@container\/settings-page{container:settings-page/inline-size}.text-balance{text-wrap:balance}.scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hide::-webkit-scrollbar{display:none}.frosted-scrollbar{scrollbar-width:thin;scrollbar-color:hsl(var(--foreground) / .35) transparent}.frosted-scrollbar::-webkit-scrollbar{appearance:none;background:0 0;width:8px}.frosted-scrollbar::-webkit-scrollbar-track{-webkit-box-shadow:none;box-shadow:none;background:0 0}.frosted-scrollbar::-webkit-scrollbar-track-piece{-webkit-box-shadow:none;box-shadow:none;background:0 0}.frosted-scrollbar::-webkit-scrollbar-button{width:0;height:0;display:none}.frosted-scrollbar::-webkit-scrollbar-thumb{background-color:hsl(var(--foreground) / .35);background-clip:padding-box;border:2px solid #0000;border-radius:9999px}.frosted-scrollbar::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--foreground) / .5)}.frosted-scrollbar::-webkit-scrollbar-corner{background:0 0}.scenic-foreground{color:hsl(var(--scenic-foreground))}.scenic-foreground-muted{color:hsl(var(--scenic-foreground) / .8)}html[data-wallpaper=background] .scenic-foreground{color:hsl(var(--foreground))}html[data-wallpaper=background] .scenic-foreground-muted{color:hsl(var(--muted-foreground))}.scenic-chrome-button{color:hsl(var(--scenic-foreground) / .8);transition-property:color,background-color;transition-duration:.15s}.scenic-chrome-button:hover{background-color:hsl(var(--scenic-foreground));color:hsl(var(--scenic-foreground-inverse))}html[data-wallpaper=background] .scenic-chrome-button{color:hsl(var(--muted-foreground))}html[data-wallpaper=background] .scenic-chrome-button:hover{background-color:hsl(var(--foreground));color:hsl(var(--background))}.animate-shimmer{background-image:linear-gradient(90deg, hsl(var(--muted-foreground)) 0%, hsl(var(--muted-foreground)) 40%, hsl(var(--foreground) / .9) 50%, hsl(var(--muted-foreground)) 60%, hsl(var(--muted-foreground)) 100%);color:#0000;-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:2.5s ease-in-out infinite shimmer}.animate-headline-reset{transform-origin:0;animation:.6s ease-in-out headline-reset}.\[color\:contrast-color\(hsl\(var\(--background\)\)\)\]{color:contrast-color(hsl(var(--background)))}.\[grid-template-columns\:repeat\(auto-fill\,minmax\(min\(220px\,100\%\)\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}.\[scrollbar-width\:none\]{scrollbar-width:none}@keyframes radial-pulse{0%{box-shadow:0 0 0 0 hsl(var(--foreground) / .5)}50%{box-shadow:0 0 0 6px hsl(var(--foreground) / .1)}to{box-shadow:0 0 0 12px hsl(var(--foreground) / 0)}}@keyframes radial-pulse-brand{0%{box-shadow:0 0 0 0 hsl(var(--brand) / .5)}50%{box-shadow:0 0 0 6px hsl(var(--brand) / .1)}to{box-shadow:0 0 0 12px hsl(var(--brand) / 0)}}@keyframes shimmer{0%{background-position:150%}to{background-position:-50%}}@keyframes ai-spinner-ring-grow{0%{r:.5px}to{r:7px}}@keyframes ai-spinner-ring-fade{0%{stroke-opacity:1}to{stroke-opacity:0}}.ai-spinner-ring{animation:1.8s cubic-bezier(.165,.84,.44,1) infinite ai-spinner-ring-grow,1.8s cubic-bezier(.3,.61,.355,1) infinite ai-spinner-ring-fade}.ai-spinner-ring-second{animation-duration:1.7s,1.7s;animation-delay:-.5s,-.5s}@keyframes spin-slow{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes headline-reset{0%,to{color:hsl(var(--foreground));transform:scale(1)rotate(0)}25%{color:hsl(var(--brand));transform:scale(1.06)rotate(-2deg)}50%{color:hsl(var(--brand));transform:scale(1.06)rotate(2deg)}75%{color:hsl(var(--foreground));transform:scale(1.02)rotate(-1deg)}}.diff-comment-marked-line{background:#eab30847!important;border-left:3px solid #eab308!important}.diff-comment-active-line{outline-offset:-1px!important;background:#ea820873!important;border-left:3px solid #ea8208!important;outline:1px solid #ea820899!important}.diff-gutter-add-comment{cursor:pointer;background-color:#0000;margin-left:3px;width:0!important}.diff-gutter-add-comment:after{content:"+";color:#0000;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:18px;font-weight:700;line-height:1;transition:all .1s;display:flex}.diff-editor-panel .monaco-editor .margin-view-overlays:hover .diff-gutter-add-comment:after,.diff-editor-panel .monaco-editor .margin-view-overlays .cgmr.codicon-diff-gutter-add-comment:after{color:var(--vscode-editor-foreground,#ccc);background-color:#ffffff1a}.diff-editor-panel .monaco-editor .margin-view-overlays:hover .diff-gutter-add-comment:hover:after{color:#fff;background-color:#3b82f699}.diff-comment-glyph{cursor:pointer;margin-left:3px;width:0!important}.diff-comment-glyph:after{content:"💬";cursor:pointer;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:14px;line-height:1;display:flex}.diff-comment-glyph-active{cursor:pointer;margin-left:3px;width:0!important}.diff-comment-glyph-active:after{content:"💬";cursor:pointer;background-color:#ea820866;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:14px;line-height:1;display:flex}.terminal-scrollbar,.terminal-scrollbar .xterm-viewport{scrollbar-width:none;-ms-overflow-style:none}.terminal-scrollbar::-webkit-scrollbar{display:none}.terminal-scrollbar .xterm-viewport::-webkit-scrollbar{display:none}[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}[data-radix-scroll-area-viewport]>div{display:block!important}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-base::file-selector-button{font-size:1.1rem;line-height:1.65rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-\[-1px\]:before{content:var(--tw-content);inset:-1px}@keyframes ping-subtle{75%,to{content:var(--tw-content);opacity:0;transform:scale(1.15)}}.before\:animate-ping-subtle:before{content:var(--tw-content);animation:1.5s cubic-bezier(0,0,.2,1) infinite ping-subtle}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:border:before{content:var(--tw-content);border-width:1px}.before\:border-orange-500\/60:before{content:var(--tw-content);border-color:#f9731699}.before\:border-primary\/60:before{content:var(--tw-content);border-color:hsl(var(--primary) / .6)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:mb-0:last-child{margin-bottom:0}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.last\:border-b-0:last-child{border-bottom-width:0}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.focus-within\:opacity-100:focus-within{opacity:1}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-within\:ring-brand:focus-within{--tw-ring-color:hsl(var(--brand))}.focus-within\:ring-ring\/40:focus-within{--tw-ring-color:hsl(var(--ring) / .4)}.hover\:\!bg-\[hsl\(var\(--scenic-foreground\)\)\]:hover{background-color:hsl(var(--scenic-foreground))!important}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/40:hover{background-color:hsl(var(--accent) / .4)}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-background:hover{background-color:hsl(var(--background))}.hover\:bg-background\/50:hover{background-color:hsl(var(--background) / .5)}.hover\:bg-brand:hover{background-color:hsl(var(--brand))}.hover\:bg-brand\/90:hover{background-color:hsl(var(--brand) / .9)}.hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-foreground:hover{background-color:hsl(var(--foreground))}.hover\:bg-foreground\/90:hover{background-color:hsl(var(--foreground) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/70:hover{background-color:hsl(var(--muted) / .7)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:bg-white\/15:hover{background-color:#ffffff26}.hover\:\!text-\[hsl\(var\(--scenic-foreground-inverse\)\)\]:hover{color:hsl(var(--scenic-foreground-inverse))!important}.hover\:\!text-white:hover{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-background:hover{color:hsl(var(--background))}.hover\:text-brand:hover{color:hsl(var(--brand))}.hover\:text-brand\/80:hover{color:hsl(var(--brand) / .8)}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.hover\:text-destructive\/80:hover{color:hsl(var(--destructive) / .8)}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-foreground\/80:hover{color:hsl(var(--foreground) / .8)}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-primary\/80:hover{color:hsl(var(--primary) / .8)}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-foreground\/60:hover{-webkit-text-decoration-color:hsl(var(--foreground) / .6);text-decoration-color:hsl(var(--foreground) / .6)}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:\[color\:contrast-color\(hsl\(var\(--foreground\)\)\)\]:hover{color:contrast-color(hsl(var(--foreground)))}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-destructive:focus{color:hsl(var(--destructive))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:pointer-events-auto:focus-visible{pointer-events:auto}.focus-visible\:bg-foreground\/5:focus-visible{background-color:hsl(var(--foreground) / .05)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color:hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.focus-visible\:ring-offset-sidebar:focus-visible{--tw-ring-offset-color:hsl(var(--sidebar-background))}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:#0000}.disabled\:hover\:text-muted-foreground:hover:disabled{color:hsl(var(--muted-foreground))}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:text-foreground{color:hsl(var(--foreground))}.group\/img:hover .group-hover\/img\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-destructive-foreground{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-checked\:border-transparent[aria-checked=true]{border-color:#0000}.aria-checked\:bg-foreground[aria-checked=true]{background-color:hsl(var(--foreground))}.aria-checked\:text-background[aria-checked=true]{color:hsl(var(--background))}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:.2s ease-out accordion-up}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:.2s ease-out accordion-down}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=active\]\:bg-foreground[data-state=active]{background-color:hsl(var(--foreground))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:hsl(var(--accent))}.data-\[state\=on\]\:bg-foreground[data-state=on]{background-color:hsl(var(--foreground))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-background[data-state=active]{color:hsl(var(--background))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:hsl(var(--accent-foreground))}.data-\[state\=on\]\:text-background[data-state=on]{color:hsl(var(--background))}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active],.data-\[state\=on\]\:shadow-sm[data-state=on]{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=on\]\:hover\:bg-foreground:hover[data-state=on]{background-color:hsl(var(--foreground))}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=on\]\:hover\:text-background:hover[data-state=on]{color:hsl(var(--background))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden,.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-state=checked] .group-data-\[state\=checked\]\:bg-primary{background-color:hsl(var(--primary))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-state=checked] .group-data-\[state\=checked\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}@container settings-page (width>=28rem){.\@md\/settings-page\:grid{display:grid}.\@md\/settings-page\:hidden{display:none}.\@md\/settings-page\:min-h-10{min-height:2.5rem}.\@md\/settings-page\:w-44{width:11rem}.\@md\/settings-page\:shrink-0{flex-shrink:0}.\@md\/settings-page\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\@md\/settings-page\:flex-row{flex-direction:row}.\@md\/settings-page\:items-start{align-items:flex-start}.\@md\/settings-page\:items-center{align-items:center}.\@md\/settings-page\:gap-4{gap:1rem}}@media (hover:hover) and (pointer:fine){.can-hover\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.can-hover\:hover\:bg-foreground\/35:hover{background-color:hsl(var(--foreground) / .35)}.can-hover\:hover\:bg-foreground\/50:hover{background-color:hsl(var(--foreground) / .5)}.can-hover\:hover\:bg-muted:hover{background-color:hsl(var(--muted))}.can-hover\:hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.can-hover\:hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.can-hover\:hover\:text-destructive:hover{color:hsl(var(--destructive))}.can-hover\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.can-hover\:hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.group:hover .can-hover\:group-hover\:pointer-events-auto{pointer-events:auto}.group:hover .can-hover\:group-hover\:visible{visibility:visible}.group:hover .can-hover\:group-hover\:flex{display:flex}.group:hover .can-hover\:group-hover\:scale-\[1\.03\]{--tw-scale-x:1.03;--tw-scale-y:1.03;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .can-hover\:group-hover\:border-foreground\/50{border-color:hsl(var(--foreground) / .5)}.group:hover .can-hover\:group-hover\:bg-foreground\/10{background-color:hsl(var(--foreground) / .1)}.group:hover .can-hover\:group-hover\:bg-foreground\/50{background-color:hsl(var(--foreground) / .5)}.group:hover .can-hover\:group-hover\:text-foreground\/80{color:hsl(var(--foreground) / .8)}.group:hover .can-hover\:group-hover\:opacity-100{opacity:1}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:scroll-auto{scroll-behavior:auto}}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}.dark\:border-green-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.dark\:border-white\/25:is(.dark *){border-color:#ffffff40}.dark\:bg-background:is(.dark *){background-color:hsl(var(--background))}.dark\:bg-black\/50:is(.dark *){background-color:#00000080}.dark\:bg-brand:is(.dark *){background-color:hsl(var(--brand))}.dark\:bg-foreground\/30:is(.dark *){background-color:hsl(var(--foreground) / .3)}.dark\:bg-green-900\/20:is(.dark *){background-color:#14532d33}.dark\:bg-green-950\/30:is(.dark *){background-color:#052e164d}.dark\:bg-muted:is(.dark *){background-color:hsl(var(--muted))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-foreground:is(.dark *){color:hsl(var(--foreground))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:shadow-\[inset_0_2px_4px_rgba\(0\,0\,0\,0\.35\)\]:is(.dark *){--tw-shadow:inset 0 2px 4px #00000059;--tw-shadow-colored:inset 0 2px 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dark\:invert:is(.dark *){--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:hover\:bg-brand\/90:hover:is(.dark *){background-color:hsl(var(--brand) / .9)}.dark\:hover\:bg-foreground\/30:hover:is(.dark *){background-color:hsl(var(--foreground) / .3)}.dark\:hover\:bg-primary:hover:is(.dark *){background-color:hsl(var(--primary))}.dark\:hover\:bg-red-800:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.dark\:hover\:text-foreground:hover:is(.dark *){color:hsl(var(--foreground))}.dark\:hover\:text-primary-foreground:hover:is(.dark *){color:hsl(var(--primary-foreground))}.group:hover .dark\:group-hover\:invert-0:is(.dark *){--tw-invert:invert(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:data-\[state\=active\]\:bg-foreground[data-state=active]:is(.dark *){background-color:hsl(var(--foreground))}.dark\:data-\[state\=active\]\:text-background[data-state=active]:is(.dark *){color:hsl(var(--background))}@media not all and (width>=768px){.max-md\:top-\[max\(1rem\,env\(safe-area-inset-top\,0px\)\)\]{top:max(1rem, env(safe-area-inset-top,0px))}.max-md\:hidden{display:none}.max-md\:max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-md\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.max-md\:overflow-y-auto{overflow-y:auto}.max-md\:px-0{padding-left:0;padding-right:0}.max-md\:px-2{padding-left:.5rem;padding-right:.5rem}.max-md\:data-\[state\=closed\]\:zoom-out-100[data-state=closed]{--tw-exit-scale:1}.max-md\:data-\[state\=open\]\:zoom-in-100[data-state=open]{--tw-enter-scale:1}.max-md\:data-\[state\=closed\]\:slide-out-to-left-0[data-state=closed]{--tw-exit-translate-x:-0px}.max-md\:data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.max-md\:data-\[state\=open\]\:slide-in-from-left-0[data-state=open]{--tw-enter-translate-x:-0px}.max-md\:data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}}@media not all and (width>=640px){.max-sm\:hidden{display:none}}@media (width>=640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:h-9{height:2.25rem}.sm\:max-h-none{max-height:none}.sm\:w-52{width:13rem}.sm\:w-56{width:14rem}.sm\:w-9{width:2.25rem}.sm\:w-auto{width:auto}.sm\:max-w-\[320px\]{max-width:320px}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-\[500px\]{max-width:500px}.sm\:max-w-\[5rem\]{max-width:5rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-1{flex:1}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[repeat\(auto-fill\,minmax\(6\.5rem\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-0{gap:0}.sm\:gap-2\.5{gap:.625rem}.sm\:gap-4{gap:1rem}.sm\:gap-x-6{column-gap:1.5rem}.sm\:gap-y-8{row-gap:2rem}.sm\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:border-b-0{border-bottom-width:0}.sm\:border-r{border-right-width:1px}.sm\:p-4{padding:1rem}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (width>=768px){.md\:absolute{position:absolute}.md\:col-start-2{grid-column-start:2}.md\:-ml-\[6px\]{margin-left:-6px}.md\:ml-auto{margin-left:auto}.md\:mr-4{margin-right:1rem}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-16{height:4rem}.md\:h-\[71px\]{height:71px}.md\:h-\[95vh\]{height:95vh}.md\:h-\[min\(36rem\,85dvh\)\]{height:min(36rem,85dvh)}.md\:h-auto{height:auto}.md\:max-h-\[calc\(100svh-2rem\)\]{max-height:calc(100svh - 2rem)}.md\:min-h-\[103px\]{min-height:103px}.md\:w-52{width:13rem}.md\:w-\[80vw\]{width:80vw}.md\:w-\[calc\(100\%\/3_-_0\.5rem\)\]{width:calc(33.3333% - .5rem)}.md\:w-\[calc\(50\%_-_0\.375rem\)\]{width:calc(50% - .375rem)}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[1400px\]{max-width:1400px}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:gap-2{gap:.5rem}.md\:self-auto{align-self:auto}.md\:overflow-x-auto{overflow-x:auto}.md\:overflow-y-hidden{overflow-y:hidden}.md\:p-6{padding:1.5rem}.md\:py-0{padding-top:0;padding-bottom:0}.md\:pb-4{padding-bottom:1rem}.md\:pl-4{padding-left:1rem}.md\:pr-10{padding-right:2.5rem}.md\:opacity-0{opacity:0}.md\:\[scrollbar-width\:none\]{scrollbar-width:none}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}}@media (width>=1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media print{.print\:block{display:block}.print\:hidden{display:none}.print\:h-auto{height:auto}.print\:max-w-none{max-width:none}.print\:flex-none{flex:none}.print\:overflow-visible{overflow:visible}.print\:p-0{padding:0}}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}@media (width>=768px){.md\:\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\*\+\*\]\:border-t>*+*{border-top-width:1px}.\[\&\>\*\+\*\]\:border-table-border>*+*{border-color:hsl(var(--table-border))}.\[\&\>\*\]\:rounded-none>*{border-radius:0}.\[\&\>button\:first-child\]\:rounded-l-md>button:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\>button\:last-child\]\:rounded-r-md>button:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>button\:not\(\:first-child\)\]\:-ml-px>button:not(:first-child){margin-left:-1px}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>button\]\:rounded-none>button{border-radius:0}.\[\&\>div\:first-child\]\:py-2>div:first-child{padding-top:.5rem;padding-bottom:.5rem}.\[\&\>div\]\:\!box-border>div{box-sizing:border-box!important}.\[\&\>div\]\:\!pr-4>div{padding-right:1rem!important}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline-offset:2px;outline:2px solid #0000}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline-offset:2px;outline:2px solid #0000}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.825rem;line-height:1.1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_button\]\:w-full button{width:100%}.\[\&_button\]\:justify-start button{justify-content:flex-start}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-3 svg{width:.75rem;height:.75rem}.\[\&_svg\]\:size-3\.5 svg{width:.875rem;height:.875rem}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:size-5 svg{width:1.25rem;height:1.25rem}.\[\&_svg\]\:h-auto svg{height:auto}.\[\&_svg\]\:max-w-full svg{max-width:100%}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}.\[\&_tr\]\:border-table-border tr{border-color:hsl(var(--table-border))}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-IeRYu0zQ.js","assets/rolldown-runtime-aKtaBQYM.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,o as r,r as i,t as a}from"./react-vendor-Ee0-5T4I.js";import{a as o,n as s,t as c}from"./query-keys-5QPW6Dv-.js";import{S as l,dt as u,ft as d,lt as f,ot as p,st as m,z as h}from"./dist-DjiNKpTV.js";import{Qt as g,Z as _,_t as v,it as y,jn as b,nn as x,pn as S,rt as C,vn as w,vt as T,wt as E,y as D}from"./dist-CNOCRPxn.js";import{t as O}from"./utils-CT-Dw22R.js";import{t as k}from"./button-B6HDsfd5.js";import{Gr as A,Ht as j,Mr as M,Xt as N,g as P,mn as F,zr as I}from"./api-D1GxdEEp.js";import{i as L,n as R,r as z,t as B}from"./tooltip-BtJG5fZl.js";import{t as V}from"./use-toast-xpb5jNtN.js";import{i as ee,n as H,r as te,s as ne,t as U}from"./dialog--0foS3aw.js";import{n as W}from"./explorer-tab-context-BxUVwWQQ.js";import{t as G}from"./use-open-chat-dock-panel-B31lwcQF.js";function K(e,t){return s(e,o,t)}var q=n(),J=e(r(),1);function re(e,t){let n=(0,q.c)(6),[r,i]=(0,J.useState)(e),a=(0,J.useRef)(-1/0),o=(0,J.useRef)(null),s=(0,J.useRef)(e),c;n[0]!==r||n[1]!==t||n[2]!==e?(c=()=>{if(s.current=e,Object.is(e,r))return;let n=function(){o.current=null,a.current=Date.now(),i(s.current)},c=Date.now()-a.current;if(c>=t){n();return}o.current||=setTimeout(n,t-c)},n[0]=r,n[1]=t,n[2]=e,n[3]=c):c=n[3],(0,J.useEffect)(c);let l,u;return n[4]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>()=>{o.current&&=(clearTimeout(o.current),null)},u=[],n[4]=l,n[5]=u):(l=n[4],u=n[5]),(0,J.useEffect)(l,u),r}var ie=e(t(),1),ae=.1,Y=10,oe=1.25,X=.001;function se(){let e=(0,q.c)(15),[t,n]=(0,J.useState)(1),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={x:0,y:0},e[0]=r):r=e[0];let[i,a]=(0,J.useState)(r),[o,s]=(0,J.useState)(!1),c=(0,J.useRef)(null),l=Z,u;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>n(e=>l(e*oe)),e[1]=u):u=e[1];let d=u,f;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>n(e=>l(e/oe)),e[2]=f):f=e[2];let p=f,m;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{n(1),a({x:0,y:0})},e[3]=m):m=e[3];let h=m,g;e[4]===i?g=e[5]:(g=e=>{e.preventDefault(),s(!0),c.current={x:e.clientX,y:e.clientY,ox:i.x,oy:i.y}},e[4]=i,e[5]=g);let _=g,v;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>{c.current&&a({x:c.current.ox+(e.clientX-c.current.x),y:c.current.oy+(e.clientY-c.current.y)})},e[6]=v):v=e[6];let y=v,b;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>{s(!1),c.current=null},e[7]=b):b=e[7];let x=b,S=(0,J.useRef)(null),C,w;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>{let e=S.current;if(!e)return;let t=function(e){e.preventDefault();let t=-e.deltaY*X;n(e=>l(e*(1+t)))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},w=[],e[8]=C,e[9]=w):(C=e[8],w=e[9]),(0,J.useEffect)(C,w);let T;return e[10]!==o||e[11]!==i||e[12]!==_||e[13]!==t?(T={scale:t,offset:i,isDragging:o,containerRef:S,zoomIn:d,zoomOut:p,reset:h,onMouseDown:_,onMouseMove:y,onMouseUp:x},e[10]=o,e[11]=i,e[12]=_,e[13]=t,e[14]=T):T=e[14],T}function Z(e){return Math.min(Math.max(e,ae),Y)}var Q=a(),ce=l(`app.mermaid-renderer.ui`);function le(){let e=(0,q.c)(2),[t,n]=(0,J.useState)(!1),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=function(){n(document.documentElement.classList.contains(`dark`))};e();let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>t.disconnect()},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,J.useEffect)(r,i),t}var ue=null;function de(){return ue||=i(()=>import(`./dist-IeRYu0zQ.js`),__vite__mapDeps([0,1])),ue}function fe(e,t){let[n,r]=(0,J.useState)(null),[i,a]=(0,J.useState)(null);return(0,J.useEffect)(()=>{let n=!1,i=setTimeout(()=>{let i=n=>{try{let i=n(e,{bg:t?`#18181B`:`#FFFFFF`,fg:t?`#FAFAFA`:`#27272A`,transparent:!1,padding:32});if(typeof i!=`string`||i.length===0)throw Error(`Mermaid renderer returned no SVG`);r(i),a(null)}catch(e){ce.error(`Mermaid render error:`,e),r(null),a(e instanceof Error?e.message:String(e))}};de().then(e=>{n||i(e.renderMermaidSVG)},e=>{n||(ce.error(`Mermaid renderer failed to load:`,e),a(e instanceof Error?e.message:String(e)))})},200);return()=>{n=!0,clearTimeout(i)}},[e,t]),{svgOutput:n,errorMessage:i}}function pe(e){let t=(0,q.c)(70),{svgOutput:n,onClose:r}=e,{scale:i,offset:a,isDragging:o,containerRef:s,zoomIn:c,zoomOut:l,reset:u,onMouseDown:d,onMouseMove:f,onMouseUp:m}=se(),h,g;t[0]===r?(h=t[1],g=t[2]):(h=()=>{let e=function(e){e.key===`Escape`&&r()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},g=[r],t[0]=r,t[1]=h,t[2]=g),(0,J.useEffect)(h,g);let y;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(y=[],t[3]=y):y=t[3],(0,J.useEffect)(me,y);let b;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Q.jsx)(`span`,{className:O(p.compact,`font-mono text-muted-foreground`),children:`mermaid diagram`}),t[4]=b):b=t[4];let x,S;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,Q.jsx)(v,{className:`h-3.5 w-3.5`}),S=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Zoom out`}),t[5]=x,t[6]=S):(x=t[5],S=t[6]);let w;t[7]===l?w=t[8]:(w=(0,Q.jsx)(L,{asChild:!0,children:(0,Q.jsxs)(k,{variant:`ghost`,size:`icon-xs`,onClick:l,children:[x,S]})}),t[7]=l,t[8]=w);let T;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,Q.jsx)(R,{children:`Zoom out`}),t[9]=T):T=t[9];let E;t[10]===w?E=t[11]:(E=(0,Q.jsxs)(B,{children:[w,T]}),t[10]=w,t[11]=E);let A;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(A=O(p.compact,`min-w-[3rem] px-2 py-1 font-mono text-muted-foreground hover:text-foreground hover:bg-muted rounded transition-colors`),t[12]=A):A=t[12];let j;t[13]===i?j=t[14]:(j=Math.round(i*100),t[13]=i,t[14]=j);let M;t[15]!==u||t[16]!==j?(M=(0,Q.jsx)(L,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,onClick:u,className:A,children:[j,`%`]})}),t[15]=u,t[16]=j,t[17]=M):M=t[17];let N;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,Q.jsx)(R,{children:`Reset zoom`}),t[18]=N):N=t[18];let P;t[19]===M?P=t[20]:(P=(0,Q.jsxs)(B,{children:[M,N]}),t[19]=M,t[20]=P);let F,I;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,Q.jsx)(C,{className:`h-3.5 w-3.5`}),I=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Zoom in`}),t[21]=F,t[22]=I):(F=t[21],I=t[22]);let V;t[23]===c?V=t[24]:(V=(0,Q.jsx)(L,{asChild:!0,children:(0,Q.jsxs)(k,{variant:`ghost`,size:`icon-xs`,onClick:c,children:[F,I]})}),t[23]=c,t[24]=V);let ee;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,Q.jsx)(R,{children:`Zoom in`}),t[25]=ee):ee=t[25];let H;t[26]===V?H=t[27]:(H=(0,Q.jsxs)(B,{children:[V,ee]}),t[26]=V,t[27]=H);let te,ne;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,Q.jsx)(_,{className:`h-3.5 w-3.5`}),ne=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Reset view`}),t[28]=te,t[29]=ne):(te=t[28],ne=t[29]);let U;t[30]===u?U=t[31]:(U=(0,Q.jsx)(L,{asChild:!0,children:(0,Q.jsxs)(k,{variant:`ghost`,size:`icon-xs`,onClick:u,children:[te,ne]})}),t[30]=u,t[31]=U);let W;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,Q.jsx)(R,{children:`Reset view`}),t[32]=W):W=t[32];let G;t[33]===U?G=t[34]:(G=(0,Q.jsxs)(B,{children:[U,W]}),t[33]=U,t[34]=G);let K;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,Q.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),t[35]=K):K=t[35];let re,ae;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,Q.jsx)(D,{className:`h-3.5 w-3.5`}),ae=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Close`}),t[36]=re,t[37]=ae):(re=t[36],ae=t[37]);let Y;t[38]===r?Y=t[39]:(Y=(0,Q.jsx)(L,{asChild:!0,children:(0,Q.jsxs)(k,{variant:`ghost`,size:`icon-xs`,onClick:r,children:[re,ae]})}),t[38]=r,t[39]=Y);let oe;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,Q.jsx)(R,{children:`Close (Esc)`}),t[40]=oe):oe=t[40];let X;t[41]===Y?X=t[42]:(X=(0,Q.jsxs)(B,{children:[Y,oe]}),t[41]=Y,t[42]=X);let Z;t[43]!==P||t[44]!==H||t[45]!==G||t[46]!==X||t[47]!==E?(Z=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 bg-background/90 border-b border-border shrink-0`,children:[b,(0,Q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[E,P,H,G,K,X]})]}),t[43]=P,t[44]=H,t[45]=G,t[46]=X,t[47]=E,t[48]=Z):Z=t[48];let ce=o?`cursor-grabbing`:`cursor-grab`,le;t[49]===ce?le=t[50]:(le=O(`flex-1 overflow-hidden select-none`,ce),t[49]=ce,t[50]=le);let ue=`translate(${a.x}px, ${a.y}px) scale(${i})`,de=o?`none`:`transform 0.1s ease-out`,fe;t[51]!==ue||t[52]!==de?(fe={transform:ue,transformOrigin:`center center`,transition:de},t[51]=ue,t[52]=de,t[53]=fe):fe=t[53];let pe;t[54]===n?pe=t[55]:(pe={__html:n},t[54]=n,t[55]=pe);let he;t[56]!==fe||t[57]!==pe?(he=(0,Q.jsx)(`div`,{className:`w-full h-full flex items-center justify-center`,style:fe,dangerouslySetInnerHTML:pe}),t[56]=fe,t[57]=pe,t[58]=he):he=t[58];let ge;t[59]!==s||t[60]!==d||t[61]!==f||t[62]!==m||t[63]!==le||t[64]!==he?(ge=(0,Q.jsx)(`div`,{ref:s,className:le,onMouseDown:d,onMouseMove:f,onMouseUp:m,onMouseLeave:m,children:he}),t[59]=s,t[60]=d,t[61]=f,t[62]=m,t[63]=le,t[64]=he,t[65]=ge):ge=t[65];let $;t[66]===Symbol.for(`react.memo_cache_sentinel`)?($=(0,Q.jsx)(`div`,{className:O(p.compact,`shrink-0 px-4 py-2 text-center text-muted-foreground/60 bg-background/60 border-t border-border`),children:`Scroll to zoom · Drag to pan · Esc to close`}),t[66]=$):$=t[66];let _e;return t[67]!==Z||t[68]!==ge?(_e=(0,ie.createPortal)((0,Q.jsx)(z,{children:(0,Q.jsxs)(`div`,{className:`fixed inset-0 z-50 flex flex-col bg-black/85 backdrop-blur-sm`,role:`dialog`,"aria-modal":`true`,"aria-label":`Diagram fullscreen view`,children:[Z,ge,$]})}),document.body),t[67]=Z,t[68]=ge,t[69]=_e):_e=t[69],_e}function me(){return document.body.style.overflow=`hidden`,he}function he(){document.body.style.overflow=``}function ge(e){let t=(0,q.c)(57),{content:n,className:r}=e,[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(!1),{svgOutput:c,errorMessage:l}=fe(n,le()),u=l!==null,d;t[0]===n?d=t[1]:(d=async function(){await navigator.clipboard.writeText(n),a(!0),setTimeout(()=>a(!1),2e3)},t[0]=n,t[1]=d);let f=d,m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=O(p.compact,`font-mono text-muted-foreground`),t[2]=m):m=t[2];let h=u?`mermaid (render error)`:`mermaid diagram`,g;t[3]===h?g=t[4]:(g=(0,Q.jsx)(`span`,{className:m,children:h}),t[3]=h,t[4]=g);let _;t[5]!==u||t[6]!==c?(_=c&&!u&&(0,Q.jsxs)(B,{children:[(0,Q.jsx)(L,{asChild:!0,children:(0,Q.jsxs)(k,{variant:`action`,size:`icon-xs`,onClick:()=>s(!0),children:[(0,Q.jsx)(E,{}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`View fullscreen`})]})}),(0,Q.jsx)(R,{children:`View fullscreen`})]}),t[5]=u,t[6]=c,t[7]=_):_=t[7];let v;t[8]===i?v=t[9]:(v=i?(0,Q.jsx)(b,{}):(0,Q.jsx)(w,{}),t[8]=i,t[9]=v);let y;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Copy mermaid code`}),t[10]=y):y=t[10];let x;t[11]!==f||t[12]!==v?(x=(0,Q.jsxs)(k,{variant:`action`,size:`icon-xs`,onClick:f,children:[v,y]}),t[11]=f,t[12]=v,t[13]=x):x=t[13];let S;t[14]!==_||t[15]!==x?(S=(0,Q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[_,x]}),t[14]=_,t[15]=x,t[16]=S):S=t[16];let C;t[17]!==g||t[18]!==S?(C=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border bg-muted/80 px-4 py-2`,children:[g,S]}),t[17]=g,t[18]=S,t[19]=C):C=t[19];let T=C;if(u){let e;t[20]===r?e=t[21]:(e=O(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[20]=r,t[21]=e);let i;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(i=O(p.compact,`border-b border-border bg-background/50 px-4 py-2 text-destructive`),t[22]=i):i=t[22];let a;t[23]===l?a=t[24]:(a=(0,Q.jsx)(`div`,{className:i,role:`alert`,children:l}),t[23]=l,t[24]=a);let o;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(o=O(p.compact,`font-mono text-foreground leading-relaxed`),t[25]=o):o=t[25];let s;t[26]===n?s=t[27]:(s=(0,Q.jsx)(`pre`,{className:`overflow-x-auto p-4 max-w-full`,children:(0,Q.jsx)(`code`,{className:o,children:n})}),t[26]=n,t[27]=s);let c;return t[28]!==T||t[29]!==e||t[30]!==a||t[31]!==s?(c=(0,Q.jsxs)(`div`,{className:e,children:[T,a,s]}),t[28]=T,t[29]=e,t[30]=a,t[31]=s,t[32]=c):c=t[32],c}if(!c){let e;t[33]===r?e=t[34]:(e=O(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[33]=r,t[34]=e);let n;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(`div`,{className:O(p.compact,`p-4 text-muted-foreground`),children:`Rendering diagram…`}),t[35]=n):n=t[35];let i;return t[36]!==T||t[37]!==e?(i=(0,Q.jsxs)(`div`,{className:e,children:[T,n]}),t[36]=T,t[37]=e,t[38]=i):i=t[38],i}let D;t[39]===r?D=t[40]:(D=O(`group relative overflow-hidden rounded-lg border border-border bg-muted`,r),t[39]=r,t[40]=D);let A;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>s(!0),t[41]=A):A=t[41];let j;t[42]===c?j=t[43]:(j=(0,Q.jsx)(L,{asChild:!0,children:(0,Q.jsx)(`button`,{type:`button`,className:`block w-full text-left cursor-zoom-in p-4 max-w-full overflow-hidden [&_svg]:max-w-full [&_svg]:h-auto hover:bg-muted/70 transition-colors`,onClick:A,dangerouslySetInnerHTML:{__html:c}})}),t[42]=c,t[43]=j);let M;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,Q.jsx)(R,{children:`Click to view fullscreen`}),t[44]=M):M=t[44];let N;t[45]===j?N=t[46]:(N=(0,Q.jsxs)(B,{children:[j,M]}),t[45]=j,t[46]=N);let P;t[47]!==T||t[48]!==D||t[49]!==N?(P=(0,Q.jsxs)(`div`,{className:D,children:[T,N]}),t[47]=T,t[48]=D,t[49]=N,t[50]=P):P=t[50];let F;t[51]!==o||t[52]!==c?(F=o&&(0,Q.jsx)(pe,{svgOutput:c,onClose:()=>s(!1)}),t[51]=o,t[52]=c,t[53]=F):F=t[53];let I;return t[54]!==P||t[55]!==F?(I=(0,Q.jsxs)(z,{children:[P,F]}),t[54]=P,t[55]=F,t[56]=I):I=t[56],I}function $(e){let t=e.trim();if(t.startsWith(`/`)){let e=M().replace(/\/$/,``);return u(`${e}${t}`,e)}return u(t,M())}function _e(e){let t=e.trim();if(t.startsWith(`/api/`))return!0;if(!/^https?:\/\//i.test(t))return!1;try{let e=new URL(t);if(f(e.hostname))return!0;let n=new URL(M());return e.origin===n.origin&&e.pathname.startsWith(`/api/`)}catch{return!1}}function ve(e){let t=e.trim();return!t||t.startsWith(`mailto:`)||t.startsWith(`tel:`)?!1:I()?/^https?:\/\//i.test(t)||t.startsWith(`/api/`):_e(t)}function ye(e){let t=$(e);return A()&&!I()?(window.open(t,`_blank`,`noopener,noreferrer`),Promise.resolve()):N(t)}function be(e){return!!(f(e.hostname)||typeof window<`u`&&e.origin===window.location.origin)}function xe(e){return decodeURIComponent(e.replace(/^\/+/,``))}function Se(e){let t=e.trim();if(!t||t.includes(`
|
|
3
|
-
`))return null;let n=h(t);if(!n)return null;let r=t.toLowerCase();return r.startsWith(`http://`)||r.startsWith(`https://`)||r.startsWith(`/`)||r.includes(`/explorer/media`)||t.includes(`/`)||t.includes(`\\`)?{kind:n,src:t}:null}function Ce(e,t){let n=e.trim();if(!n||n.startsWith(`data:`)||n.includes(`/explorer/media`))return null;let r;if(/^https?:\/\//i.test(n)){let e;try{e=new URL(n)}catch{return null}if(!be(e))return null;r=xe(e.pathname)}else r=xe(n);let i=h(r);return!i||t&&i!==t?null:{path:r,kind:i}}function we(e,t){return $(`/api/threads/${encodeURIComponent(e)}/explorer/media?path=${encodeURIComponent(t)}`)}function Te(e){if(!e.startsWith(`/`))return!1;let t=e.split(`/`)[1]??``;return[`Users`,`tmp`,`var`,`private`,`Volumes`,`home`].includes(t)}function Ee(e,t){if(!e||e.startsWith(`data:`))return e;if(t){if(Te(e)&&h(e))return we(t,e);let n=Ce(e);if(n)return we(t,n.path)}return e.startsWith(`/`)?$(e):u(e,M())}function De(e,t){return Ee(e,t)}function Oe(e){let t=d(e);if(!t?.imageUrl&&!t?.imageData)return null;let n;if(typeof e==`object`&&e){let t=e;if(typeof t.model==`string`)n=t.model;else if(typeof t.content==`string`)try{let e=JSON.parse(t.content);typeof e.model==`string`&&(n=e.model)}catch{}}else if(typeof e==`string`)try{let t=JSON.parse(e.trim());typeof t.model==`string`&&(n=t.model)}catch{}return{imageUrl:t.imageUrl,imageData:t.imageData,model:n}}function ke(e,t){let n=Oe(e)??Oe(t);if(!n?.imageUrl&&!n?.imageData)return null;let r,i=[e,t.content,t];for(let e of i)if(typeof e==`string`&&e.trim().startsWith(`{`))try{let t=JSON.parse(e);if(typeof t.savedPath==`string`){r=t.savedPath;break}}catch{}else if(e&&typeof e==`object`){let t=e;if(typeof t.savedPath==`string`){r=t.savedPath;break}if(typeof t.content==`string`)try{let e=JSON.parse(t.content);if(typeof e.savedPath==`string`){r=e.savedPath;break}}catch{}}return{...n,savedPath:r}}function Ae(e){let t=(0,q.c)(34),{imageUrl:n,imageData:r,alt:i,threadId:a}=e,o=i===void 0?`Generated image`:i,[s,c]=(0,J.useState)(!1),l;t[0]!==r||t[1]!==n||t[2]!==a?(l=r?`data:image/png;base64,${r}`:De(n??``,a),t[0]=r,t[1]=n,t[2]=a,t[3]=l):l=t[3];let u=l,d;t[4]===u?d=t[5]:(d=async()=>{let e=m(u)??`generated-image-${Date.now()}.png`,{path:t}=await F(u.startsWith(`data:`)?{imageData:u.replace(/^data:[^;]+;base64,/,``),filename:e}:{imageUrl:u,filename:e});V({title:`Saved to downloads: ${t.split(`/`).pop()}`})},t[4]=u,t[5]=d);let f=d,p;t[6]===u?p=t[7]:(p=async()=>{await P(u.startsWith(`data:`)?{imageData:u.replace(/^data:[^;]+;base64,/,``)}:{imageUrl:u}),c(!0),setTimeout(()=>c(!1),2e3)},t[6]=u,t[7]=p);let h=p;if(!u)return null;let g;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(g={maxHeight:`512px`},t[8]=g):g=t[8];let _;t[9]!==o||t[10]!==u?(_=(0,Q.jsx)(`img`,{src:u,alt:o,className:`max-w-full rounded-lg block`,style:g}),t[9]=o,t[10]=u,t[11]=_):_=t[11];let v;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Q.jsx)(S,{className:`h-3.5 w-3.5`}),t[12]=v):v=t[12];let y;t[13]===f?y=t[14]:(y=(0,Q.jsx)(L,{asChild:!0,children:(0,Q.jsx)(`button`,{onClick:f,className:`flex items-center justify-center h-7 w-7 rounded-md bg-background/80 backdrop-blur-sm border border-border text-foreground hover:bg-background transition-colors`,children:v})}),t[13]=f,t[14]=y);let x;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,Q.jsx)(R,{children:`Save image`}),t[15]=x):x=t[15];let C;t[16]===y?C=t[17]:(C=(0,Q.jsxs)(B,{children:[y,x]}),t[16]=y,t[17]=C);let T;t[18]===s?T=t[19]:(T=s?(0,Q.jsx)(b,{className:`h-3.5 w-3.5 text-green-500`}):(0,Q.jsx)(w,{className:`h-3.5 w-3.5`}),t[18]=s,t[19]=T);let E;t[20]!==h||t[21]!==T?(E=(0,Q.jsx)(L,{asChild:!0,children:(0,Q.jsx)(`button`,{onClick:h,className:`flex items-center justify-center h-7 w-7 rounded-md bg-background/80 backdrop-blur-sm border border-border text-foreground hover:bg-background transition-colors`,children:T})}),t[20]=h,t[21]=T,t[22]=E):E=t[22];let D=s?`Copied!`:`Copy to clipboard`,O;t[23]===D?O=t[24]:(O=(0,Q.jsx)(R,{children:D}),t[23]=D,t[24]=O);let k;t[25]!==E||t[26]!==O?(k=(0,Q.jsxs)(B,{children:[E,O]}),t[25]=E,t[26]=O,t[27]=k):k=t[27];let A;t[28]!==C||t[29]!==k?(A=(0,Q.jsx)(`div`,{className:`absolute top-2 right-2 flex gap-1 opacity-0 group-hover/img:opacity-100 transition-opacity`,children:(0,Q.jsxs)(z,{children:[C,k]})}),t[28]=C,t[29]=k,t[30]=A):A=t[30];let j;return t[31]!==A||t[32]!==_?(j=(0,Q.jsxs)(`div`,{className:`mb-3 relative group/img inline-block max-w-full`,children:[_,A]}),t[31]=A,t[32]=_,t[33]=j):j=t[33],j}var je=l(`chat.media`);function Me(e){if(!e)return`Unknown media error`;switch(e.code){case MediaError.MEDIA_ERR_ABORTED:return`Playback aborted`;case MediaError.MEDIA_ERR_NETWORK:return`Network error while fetching media`;case MediaError.MEDIA_ERR_DECODE:return`Media decode error`;case MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED:return`Unsupported media format or inaccessible source`;default:return`Media error (code ${e.code})`}}async function Ne(e){try{let t=await fetch(e,{method:`GET`,headers:{Range:`bytes=0-0`}}),n=t.headers.get(`content-type`)??`unknown`,r=t.headers.get(`accept-ranges`)??`none`,i=t.headers.get(`content-range`),a=i?`, content-range=${i}`:``;return`HTTP ${t.status} ${t.statusText}, content-type=${n}, accept-ranges=${r}${a}`}catch(e){return e instanceof Error?e.message:`Fetch failed`}}function Pe(e){je.error(`Failed to load media`,{kind:e.kind,src:e.src,label:e.label,mediaError:e.mediaError?{code:e.mediaError.code,message:e.mediaError.message,label:Me(e.mediaError)}:void 0,probeResult:e.probeResult})}function Fe(e,t,n,r){let[i,a]=(0,J.useState)({objectUrl:null,loadError:null,loading:!1});return(0,J.useEffect)(()=>{if(!t){a(e=>(e.objectUrl&&URL.revokeObjectURL(e.objectUrl),{objectUrl:null,loadError:null,loading:!1}));return}let i=!1;a(e=>(e.objectUrl&&URL.revokeObjectURL(e.objectUrl),{objectUrl:null,loadError:null,loading:!0}));async function o(){try{let t=await fetch(e);if(!t.ok){let t=await Ne(e);throw Error(t)}let n=await t.blob();if(i)return;let r=URL.createObjectURL(n);if(i){URL.revokeObjectURL(r);return}a({objectUrl:r,loadError:null,loading:!1})}catch(t){if(i)return;let o=t instanceof Error?t.message:await Ne(e);Pe({kind:n,src:e,label:r,probeResult:o}),a({objectUrl:null,loadError:o,loading:!1})}}return o(),()=>{i=!0,a(e=>(e.objectUrl&&URL.revokeObjectURL(e.objectUrl),{objectUrl:null,loadError:null,loading:!1}))}},[e,t,n,r]),i}function Ie(e){let t=(0,q.c)(44),{src:n,label:r}=e,[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(!1),c=(0,J.useRef)(null),{objectUrl:l,loadError:u,loading:d}=Fe(n,i,`video`,r),f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=function(e){a(e),e||(s(!1),c.current&&c.current.pause())},t[0]=f):f=t[0];let m=f,h;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(h=function(){s(Le)},t[1]=h):h=t[1];let g=h,_;t[2]!==r||t[3]!==n?(_=async function(e){let t=e.currentTarget.error;Pe({kind:`video`,src:n,label:r,mediaError:t,probeResult:await Ne(n)})},t[2]=r,t[3]=n,t[4]=_):_=t[4];let v=_,b=r??`Video`,x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>a(!0),t[5]=x):x=t[5];let S=r?`Play ${r}`:`Play video`,C;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,Q.jsx)(`span`,{className:`flex h-14 w-14 items-center justify-center rounded-full bg-background/90 text-foreground shadow-sm`,children:(0,Q.jsx)(y,{className:`h-7 w-7 fill-current`})}),t[6]=C):C=t[6];let w;t[7]===S?w=t[8]:(w=(0,Q.jsx)(`button`,{type:`button`,onClick:x,"aria-label":S,className:`flex min-h-32 w-full items-center justify-center rounded-md bg-muted/30 transition-colors hover:bg-muted/50`,children:C}),t[7]=S,t[8]=w);let k=o?`h-dvh w-dvw max-w-none rounded-none`:`max-w-[min(92vw,960px)]`,A;t[9]===k?A=t[10]:(A=O(`gap-0 overflow-hidden border-none bg-black p-0 sm:rounded-lg`,k),t[9]=k,t[10]=A);let j;t[11]===b?j=t[12]:(j=(0,Q.jsx)(ne,{className:`sr-only`,children:b}),t[11]=b,t[12]=j);let M;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,Q.jsx)(ee,{className:`sr-only`,children:`Video player`}),t[13]=M):M=t[13];let N=o?`Shrink video`:`Expand video`,P;t[14]===o?P=t[15]:(P=o?(0,Q.jsx)(T,{className:`h-4 w-4`}):(0,Q.jsx)(E,{className:`h-4 w-4`}),t[14]=o,t[15]=P);let F;t[16]!==N||t[17]!==P?(F=(0,Q.jsx)(`button`,{type:`button`,onClick:g,"aria-label":N,className:`flex h-7 w-7 items-center justify-center rounded-full text-white/90 transition-colors hover:bg-white/15 hover:text-white`,children:P}),t[16]=N,t[17]=P,t[18]=F):F=t[18];let I;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,Q.jsxs)(H,{className:`flex h-7 w-7 items-center justify-center rounded-full text-white/90 transition-colors hover:bg-white/15 hover:text-white`,children:[(0,Q.jsx)(D,{className:`h-4 w-4`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),t[19]=I):I=t[19];let L;t[20]===F?L=t[21]:(L=(0,Q.jsxs)(`div`,{className:`absolute right-4 top-4 z-10 flex items-center gap-1`,children:[F,I]}),t[20]=F,t[21]=L);let R=o?`h-full`:`min-h-[240px]`,z;t[22]===R?z=t[23]:(z=O(`flex items-center justify-center p-3 pt-12 sm:p-4`,R),t[22]=R,t[23]=z);let B;t[24]!==o||t[25]!==v||t[26]!==u||t[27]!==d||t[28]!==l?(B=d?(0,Q.jsx)(`p`,{className:O(p.compact,`text-white/80`),children:`Loading video...`}):u?(0,Q.jsxs)(`p`,{className:O(p.compact,`px-4 text-center text-destructive`),children:[`Could not load video: `,u]}):l?(0,Q.jsx)(`video`,{ref:c,src:l,controls:!0,autoPlay:!0,playsInline:!0,className:O(`max-w-full rounded`,o?`max-h-full`:`max-h-[80vh]`),onError:v}):null,t[24]=o,t[25]=v,t[26]=u,t[27]=d,t[28]=l,t[29]=B):B=t[29];let V;t[30]!==z||t[31]!==B?(V=(0,Q.jsx)(`div`,{className:z,children:B}),t[30]=z,t[31]=B,t[32]=V):V=t[32];let W;t[33]!==j||t[34]!==L||t[35]!==V||t[36]!==A?(W=(0,Q.jsxs)(te,{hideClose:!0,className:A,children:[j,M,L,V]}),t[33]=j,t[34]=L,t[35]=V,t[36]=A,t[37]=W):W=t[37];let G;t[38]!==i||t[39]!==W?(G=(0,Q.jsx)(U,{open:i,onOpenChange:m,children:W}),t[38]=i,t[39]=W,t[40]=G):G=t[40];let K;return t[41]!==G||t[42]!==w?(K=(0,Q.jsxs)(Q.Fragment,{children:[w,G]}),t[41]=G,t[42]=w,t[43]=K):K=t[43],K}function Le(e){return!e}function Re(e){let t=(0,q.c)(12),{src:n,label:r}=e,{objectUrl:i,loadError:a,loading:o}=Fe(n,!0,`audio`,r),s;t[0]!==r||t[1]!==n?(s=async function(e){let t=e.currentTarget.error;Pe({kind:`audio`,src:n,label:r,mediaError:t,probeResult:await Ne(n)})},t[0]=r,t[1]=n,t[2]=s):s=t[2];let c=s,l;t[3]!==c||t[4]!==o||t[5]!==i?(l=o?(0,Q.jsx)(`p`,{className:O(p.compact,`text-muted-foreground`),children:`Loading audio...`}):i?(0,Q.jsx)(`audio`,{src:i,controls:!0,preload:`metadata`,className:`w-full`,onError:c}):null,t[3]=c,t[4]=o,t[5]=i,t[6]=l):l=t[6];let u;t[7]===a?u=t[8]:(u=a?(0,Q.jsxs)(`p`,{className:O(p.compact,`mt-2 text-destructive`),children:[`Could not load audio: `,a]}):null,t[7]=a,t[8]=u);let d;return t[9]!==l||t[10]!==u?(d=(0,Q.jsxs)(Q.Fragment,{children:[l,u]}),t[9]=l,t[10]=u,t[11]=d):d=t[11],d}function ze(e){let t=(0,q.c)(13),{src:n,kind:r,label:i}=e;if(!n)return null;let a=r===`video`?g:x,o=r===`video`?`p-2`:`p-3`,s;t[0]===o?s=t[1]:(s=O(`mt-2 max-w-full overflow-hidden rounded-lg border border-border bg-background`,o),t[0]=o,t[1]=s);let c;t[2]!==a||t[3]!==i?(c=i?(0,Q.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 text-muted-foreground`,children:[(0,Q.jsx)(a,{className:`h-4 w-4`}),(0,Q.jsx)(`span`,{className:O(p.compact,`truncate`),children:i})]}):null,t[2]=a,t[3]=i,t[4]=c):c=t[4];let l;t[5]!==r||t[6]!==i||t[7]!==n?(l=r===`video`?(0,Q.jsx)(Ie,{src:n,label:i}):(0,Q.jsx)(Re,{src:n,label:i}),t[5]=r,t[6]=i,t[7]=n,t[8]=l):l=t[8];let u;return t[9]!==s||t[10]!==c||t[11]!==l?(u=(0,Q.jsxs)(`div`,{className:s,children:[c,l]}),t[9]=s,t[10]=c,t[11]=l,t[12]=u):u=t[12],u}var Be=[`graph`,`flowchart`,`sequenceDiagram`,`classDiagram`,`stateDiagram`,`erDiagram`,`journey`,`gantt`,`pie`,`quadrantChart`,`requirementDiagram`,`gitgraph`,`mindmap`,`timeline`,`zenuml`,`sankey`,`block`,`architecture`,`c4`,`packet`,`circuit`],Ve=/```mermaid\s*\n([\s\S]*?)\n```/;function He(e){return e.split(`
|
|
4
|
-
`).find(e=>e.trim().length>0)??``}function Ue(e){let t=e.trim().toLowerCase();return t.length===0?!1:Be.some(e=>t===e.toLowerCase()||t.startsWith(e.toLowerCase()+` `))}function We(e){return!e||typeof e!=`string`?!1:Ve.test(e)?!0:Ue(He(e))}function Ge(e){let t=Ve.exec(e);return t?t[1].trim():Ue(He(e))?e.trim():null}function Ke(e){let t=(0,q.c)(14),{href:n,children:r}=e,i;t[0]===n?i=t[1]:(i=$(n),t[0]=n,t[1]=i);let a=i,o;t[2]===n?o=t[3]:(o=ve(n),t[2]=n,t[3]=o);let s=o,c;t[4]!==n||t[5]!==s?(c=function(e){s&&(e.preventDefault(),ye(n))},t[4]=n,t[5]=s,t[6]=c):c=t[6];let l=c,u;t[7]===s?u=t[8]:(u=s?{}:{target:`_blank`,rel:`noopener noreferrer`},t[7]=s,t[8]=u);let d;return t[9]!==r||t[10]!==l||t[11]!==a||t[12]!==u?(d=(0,Q.jsx)(`a`,{href:a,onClick:l,className:`text-inherit underline underline-offset-2 hover:text-inherit/80`,...u,children:r}),t[9]=r,t[10]=l,t[11]=a,t[12]=u,t[13]=d):d=t[13],d}function qe(e){let t=(0,q.c)(11),{path:n,children:r,className:i}=e,{openChatDockPanel:a}=G(),{setPendingExplorerPath:o}=W(),s;t[0]!==a||t[1]!==n||t[2]!==o?(s=function(e){e.preventDefault(),e.stopPropagation(),o(n),a(`explorer`)},t[0]=a,t[1]=n,t[2]=o,t[3]=s):s=t[3];let c=s,l;t[4]===i?l=t[5]:(l=O(`cursor-pointer underline decoration-border underline-offset-2 transition-colors hover:text-foreground hover:decoration-foreground/60`,i),t[4]=i,t[5]=l);let u;return t[6]!==r||t[7]!==c||t[8]!==n||t[9]!==l?(u=(0,Q.jsx)(`a`,{href:`#`,onClick:c,"data-file-path":n,className:l,children:r}),t[6]=r,t[7]=c,t[8]=n,t[9]=l,t[10]=u):u=t[10],u}var Je=`[a-z0-9_@~./\\\\+-]*[a-z0-9_@~-]\\.[a-z][a-z0-9-]{0,11}`,Ye=RegExp(`^(?:${Je})$`,`i`),Xe=/[:#]L?\d+(?:-\d+)?$/,Ze=/[.,;:!?)\]}'"]+$/;function Qe(e){let t=new Set,n=new Map;for(let r of e){let e=r.replace(/\\/g,`/`);if(!e||e.endsWith(`/`))continue;t.add(e);let i=e.slice(e.lastIndexOf(`/`)+1),a=n.get(i);a?a.push(e):n.set(i,[e])}for(let e of n.values())e.sort(nt);return{exact:t,byBasename:n}}function $e(e){let t=e.trim().replace(/\\/g,`/`);return t=t.replace(Ze,``),t=t.replace(Xe,``),t.startsWith(`@`)&&(t=t.slice(1)),t.startsWith(`./`)&&(t=t.slice(2)),t=t.replace(/^\/+/,``),t.length===0||t.length>512||/\s/.test(t)||t.includes(`://`)||!Ye.test(t)?null:t}function et(e,t){let n=$e(e);if(!n)return null;if(t.exact.has(n))return n;let r=n.slice(n.lastIndexOf(`/`)+1),i=t.byBasename.get(r);if(!i||i.length===0)return null;if(!n.includes(`/`))return i[0];let a=`/${n}`;return i.find(e=>e.endsWith(a))??null}function tt(e,t){let n=new RegExp(Je,`gi`),r=[],i=0,a;for(;(a=n.exec(e))!==null;)a.index>i&&r.push({text:e.slice(i,a.index),path:null}),r.push({text:a[0],path:et(a[0],t)}),i=a.index+a[0].length;return i<e.length&&r.push({text:e.slice(i),path:null}),r.length>0?r:[{text:e,path:null}]}function nt(e,t){let n=rt(e)-rt(t);return n===0?e.length-t.length||e.localeCompare(t):n}function rt(e){let t=1;for(let n=0;n<e.length;n+=1)e.charCodeAt(n)===47&&(t+=1);return t}var it=15e3,at=2e4;function ot(e){let t=(0,q.c)(10),n;t[0]===e?n=t[1]:(n=c.threads.files(e??``),t[0]=e,t[1]=n);let r;t[2]===e?r=t[3]:(r=()=>j(e),t[2]=e,t[3]=r);let i=!!e,a;t[4]!==n||t[5]!==r||t[6]!==i?(a={queryKey:n,queryFn:r,enabled:i,staleTime:it,refetchInterval:at},t[4]=n,t[5]=r,t[6]=i,t[7]=a):a=t[7];let o=K(a),s;return t[8]===o.data?s=t[9]:(s=o.data?Qe(o.data):null,t[8]=o.data,t[9]=s),s}var st=/^(\s*)([-*+]|\d+\.)\s+(.*)$/,ct=100,lt=/^!\[([^\]]*)\]\(([^)]+)\)\s*$/,ut=/[.,!?;:]+$/,dt=(0,J.memo)(function({content:e,className:t,enableMermaid:n=!1,threadId:r,compact:i=!1,bodyClassName:a,revealAnimation:o=!1}){let s=re(e,ct),c=ot(r),l=(0,J.useRef)(null),u=(0,J.useMemo)(()=>{if(!s||typeof s!=`string`)return l.current=null,[];let e=It(s,n,l.current);return l.current=e,e.blocks},[s,n]);return u.length===0?null:(0,Q.jsx)(`div`,{className:O(`prose-custom min-w-0 break-words`,t),children:u.map((e,t)=>(0,Q.jsx)(`div`,{className:O(Tt(t,u,i),o&&`animate-in fade-in duration-300 motion-reduce:animate-none`),children:(0,Q.jsx)(zt,{block:e,threadId:r,chatFileIndex:c,compact:i,bodyClassName:a})},t))})});function ft(e){let t=e.match(lt);return t?{alt:t[1],src:t[2]}:null}function pt(e,t,n){let r=e?`mt-0 space-y-0.5`:`mt-0 space-y-1`,i=n?`mt-1`:``;return t?O(r,i,`pl-6`):O(r,i,`pl-6 list-outside overflow-visible list-disc`)}function mt(e){return e.replace(/\t/g,` `).length}function ht(e){return/^\d+\.$/.test(e)?Number.parseInt(e,10):1}function gt(e,t){return mt(e)>t}function _t(e,t){let n=e[t]?.match(st);if(!n)return{block:{type:`paragraph`,text:``},nextIndex:t+1};let[,r,i,a]=n,o={ordered:/^\d+\.$/.test(i),start:ht(i),items:[{text:a,children:[]}]},s=[{indent:mt(r),item:o.items[0]}],c=t+1;for(;c<e.length;){let t=vt(e,c,s,o);if(c=t.nextIndex,t.stop)break}return{block:{type:`list`,list:o},nextIndex:c}}function vt(e,t,n,r){let i=e[t];return st.test(i)?yt(e,t,n,r):i.trim()===``?Ct(e,t):wt(e,t,n)}function yt(e,t,n,r){let[,i,a,o]=e[t].match(st),s=mt(i),c=/^\d+\.$/.test(a),l={text:o,children:[]};if(bt(n,s),n.length===0)return{nextIndex:t,stop:!0};let u=n[n.length-1],d=s===u.indent,f=gt(i,u.indent);return d?xt(n,r,c,s,l,t):f?St(n,u,c,a,s,l,t):{nextIndex:t,stop:!0}}function bt(e,t){for(;e.length>0&&t<e[e.length-1].indent;)e.pop()}function xt(e,t,n,r,i,a){let o=e[e.length-2]?.childList??t;return o.ordered===n?(o.items.push(i),e[e.length-1]={indent:r,item:i},{nextIndex:a+1,stop:!1}):{nextIndex:a,stop:!0}}function St(e,t,n,r,i,a,o){let s=t.childList;return(!s||s.ordered!==n)&&(s={ordered:n,start:ht(r),items:[]},t.item.children.push(s),t.childList=s),s.items.push(a),e.push({indent:i,item:a}),{nextIndex:o+1,stop:!1}}function Ct(e,t){let n=e[t+1];return!n||!st.test(n)?{nextIndex:t,stop:!0}:{nextIndex:t+1,stop:!1}}function wt(e,t,n){let r=mt(e[t].match(/^(\s*)/)?.[1]??``),i=n[n.length-1];return r>i.indent?(i.item.text=`${i.item.text}\n${e[t].trim()}`,{nextIndex:t+1,stop:!1}):{nextIndex:t,stop:!0}}function Tt(e,t,n=!1){if(e===0)return``;let r=t[e-1],i=t[e];return r.type===`list`||i.type===`list`?``:n?`mt-2`:`mt-3`}function Et(e,t,n){let r=e[t].trimStart().slice(3).trim(),i=[],a=t+1;for(;a<e.length&&!e[a].trimStart().startsWith("```");)i.push(e[a]),a++;let o=i.join(`
|
|
5
|
-
`);return n&&(r===`mermaid`||r===``&&We(o))?{block:{type:`mermaid`,code:o},nextIndex:a+1}:{block:{type:`code`,language:r,code:o},nextIndex:a+1}}function Dt(e){let t=e.match(/^(#{1,6})(\s.*)?$/);return t?{type:`heading`,level:t[1].length,text:t[2]?t[2].trim():``}:null}function Ot(e){return/^(---|\*\*\*|___)/.test(e.trim())}function kt(e,t){let n=e[t];if(!n.includes(`|`)||t+1>=e.length||!e[t+1].match(/^\|?\s*[-:]+/))return null;let r=n.split(`|`).map(e=>e.trim()).filter(Boolean),i=t+2,a=[];for(;i<e.length&&e[i].includes(`|`);)a.push(e[i].split(`|`).map(e=>e.trim()).filter(Boolean)),i++;return{block:{type:`table`,headers:r,rows:a},nextIndex:i}}function At(e,t){let n=[],r=t;for(;r<e.length&&e[r].startsWith(`> `);)n.push(e[r].slice(2)),r++;return{block:{type:`blockquote`,text:n.join(`
|
|
6
|
-
`)},nextIndex:r}}function jt(e){let t=ft(e);return t?{type:`image`,...t}:null}function Mt(e){let t=Se(e);return t?{type:`media`,kind:t.kind,src:t.src}:null}function Nt(e,t,n){let r=t,i=[];for(;r<e.length&&e[r].trim()!==``&&!e[r].startsWith(`#`)&&!e[r].startsWith("```")&&!e[r].startsWith(`> `)&&!st.test(e[r]);)i.push(e[r]),r++;let a=i.join(`
|
|
7
|
-
`);if(n&&We(a)){let e=Ge(a);if(e)return{block:{type:`mermaid`,code:e},nextIndex:r}}return{block:{type:`paragraph`,text:a},nextIndex:r}}function Pt(e){let t=[],n=0;for(let r=0;r<e.length;r++)t.push(n),n+=e[r].length+ +(r<e.length-1);return t}function Ft(e,t=!1){let n=e.split(`
|
|
8
|
-
`),r=Pt(n),i=[],a=[],o=0;for(;o<n.length;){let e=n[o],s=r[o]??0;if(e.trimStart().startsWith("```")){let{block:e,nextIndex:r}=Et(n,o,t);i.push(e),a.push(s),o=r;continue}let c=Dt(e);if(c){i.push(c),a.push(s),o++;continue}if(Ot(e)){i.push({type:`hr`}),a.push(s),o++;continue}let l=kt(n,o);if(l){i.push(l.block),a.push(s),o=l.nextIndex;continue}if(e.startsWith(`> `)){let{block:e,nextIndex:t}=At(n,o);i.push(e),a.push(s),o=t;continue}if(st.test(e)){let{block:e,nextIndex:t}=_t(n,o);i.push(e),a.push(s),o=t;continue}if(e.trim()===``){o++;continue}let u=jt(e);if(u){i.push(u),a.push(s),o++;continue}let d=Mt(e);if(d){i.push(d),a.push(s),o++;continue}let{block:f,nextIndex:p}=Nt(n,o,t);i.push(f),a.push(s),o=p}return{blocks:i,blockStarts:a}}function It(e,t,n){if(n&&n.enableMermaid===t&&n.md===e&&n.blocks.length>0)return n;if(n&&n.enableMermaid===t&&n.blocks.length>0&&e.startsWith(n.md)){let r=n.blockStarts[n.blockStarts.length-1]??0,i=n.blocks.slice(0,-1),a=n.blockStarts.slice(0,-1),o=Ft(e.slice(r),t);return{md:e,enableMermaid:t,blocks:[...i,...o.blocks],blockStarts:[...a,...o.blockStarts.map(e=>e+r)]}}let r=Ft(e,t);return{md:e,enableMermaid:t,blocks:r.blocks,blockStarts:r.blockStarts}}function Lt(e,t){return`${t}-${e.text}`}function Rt(e){let t=(0,q.c)(23),{list:n,compact:r,threadId:i,chatFileIndex:a,inlineCodeClass:o,bodyClassName:s,nested:c}=e,l=a===void 0?null:a,u=c===void 0?!1:c,d=s??(r?p.caption:p.body),f=n.ordered?`ol`:`ul`,m;t[0]!==d||t[1]!==r||t[2]!==n.ordered||t[3]!==u?(m=O(d,pt(r,n.ordered,u)),t[0]=d,t[1]=r,t[2]=n.ordered,t[3]=u,t[4]=m):m=t[4];let h=n.ordered?n.start:void 0,g;if(t[5]!==s||t[6]!==l||t[7]!==r||t[8]!==o||t[9]!==n.items||t[10]!==i){let e;t[12]!==s||t[13]!==l||t[14]!==r||t[15]!==o||t[16]!==i?(e=(e,t)=>(0,Q.jsx)(`li`,{children:(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[(0,Q.jsx)(Bt,{text:e.text,threadId:i,chatFileIndex:l,inlineCodeClass:o}),e.children.map((n,a)=>(0,Q.jsx)(Rt,{list:n,compact:r,threadId:i,chatFileIndex:l,inlineCodeClass:o,bodyClassName:s,nested:!0},`${Lt(e,t)}-child-${a}`))]})},Lt(e,t)),t[12]=s,t[13]=l,t[14]=r,t[15]=o,t[16]=i,t[17]=e):e=t[17],g=n.items.map(e),t[5]=s,t[6]=l,t[7]=r,t[8]=o,t[9]=n.items,t[10]=i,t[11]=g}else g=t[11];let _;return t[18]!==f||t[19]!==m||t[20]!==h||t[21]!==g?(_=(0,Q.jsx)(f,{className:m,start:h,children:g}),t[18]=f,t[19]=m,t[20]=h,t[21]=g,t[22]=_):_=t[22],_}var zt=(0,J.memo)(function(e){let t=(0,q.c)(96),{block:n,threadId:r,chatFileIndex:i,compact:a,bodyClassName:o}=e,s=i===void 0?null:i,c=a===void 0?!1:a,l=o??(c?p.caption:p.body),u;t[0]!==o||t[1]!==c?(u=o?O(o,`font-mono`):c?O(p.compact,`font-mono`):p.mono,t[0]=o,t[1]=c,t[2]=u):u=t[2];let d=u;switch(n.type){case`heading`:{let e=`h${n.level}`,i,a;if(t[3]!==e||t[4]!==n.level||t[5]!==c){let r=c?{1:O(p.caption,`font-semibold`),2:O(p.caption,`font-semibold`),3:O(p.body,`font-semibold`),4:O(p.body,`font-semibold`),5:O(p.compact,`font-semibold`),6:O(p.compact,`font-semibold`)}:{1:p.sectionTitle,2:p.subSectionTitle,3:p.subSectionTitle,4:p.subSectionTitle,5:p.sectionSubtitle,6:p.sectionSubtitle};i=e,a=O(r[n.level]),t[3]=e,t[4]=n.level,t[5]=c,t[6]=i,t[7]=a}else i=t[6],a=t[7];let o;t[8]!==n.text||t[9]!==s||t[10]!==d||t[11]!==r?(o=(0,Q.jsx)(Bt,{text:n.text,threadId:r,chatFileIndex:s,inlineCodeClass:d}),t[8]=n.text,t[9]=s,t[10]=d,t[11]=r,t[12]=o):o=t[12];let l;return t[13]!==i||t[14]!==a||t[15]!==o?(l=(0,Q.jsx)(i,{className:a,children:o}),t[13]=i,t[14]=a,t[15]=o,t[16]=l):l=t[16],l}case`code`:{let e;return t[17]!==n.code||t[18]!==n.language||t[19]!==c?(e=(0,Q.jsx)(Ut,{language:n.language,code:n.code,compact:c}),t[17]=n.code,t[18]=n.language,t[19]=c,t[20]=e):e=t[20],e}case`blockquote`:{let e;t[21]===l?e=t[22]:(e=O(l,`border-l-2 border-border pl-4 text-muted-foreground italic`),t[21]=l,t[22]=e);let i;t[23]!==n.text||t[24]!==s||t[25]!==d||t[26]!==r?(i=(0,Q.jsx)(Bt,{text:n.text,threadId:r,chatFileIndex:s,inlineCodeClass:d}),t[23]=n.text,t[24]=s,t[25]=d,t[26]=r,t[27]=i):i=t[27];let a;return t[28]!==e||t[29]!==i?(a=(0,Q.jsx)(`blockquote`,{className:e,children:i}),t[28]=e,t[29]=i,t[30]=a):a=t[30],a}case`list`:{let e;return t[31]!==n.list||t[32]!==o||t[33]!==s||t[34]!==c||t[35]!==d||t[36]!==r?(e=(0,Q.jsx)(Rt,{list:n.list,compact:c,threadId:r,chatFileIndex:s,inlineCodeClass:d,bodyClassName:o}),t[31]=n.list,t[32]=o,t[33]=s,t[34]=c,t[35]=d,t[36]=r,t[37]=e):e=t[37],e}case`paragraph`:{let e;t[38]===l?e=t[39]:(e=O(l,`mt-0 whitespace-pre-wrap break-words`),t[38]=l,t[39]=e);let i;t[40]!==n.text||t[41]!==s||t[42]!==d||t[43]!==r?(i=(0,Q.jsx)(Bt,{text:n.text,threadId:r,chatFileIndex:s,inlineCodeClass:d}),t[40]=n.text,t[41]=s,t[42]=d,t[43]=r,t[44]=i):i=t[44];let a;return t[45]!==e||t[46]!==i?(a=(0,Q.jsx)(`p`,{className:e,children:i}),t[45]=e,t[46]=i,t[47]=a):a=t[47],a}case`hr`:{let e;return t[48]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(`hr`,{className:`border-border`}),t[48]=e):e=t[48],e}case`table`:{let e;t[49]===l?e=t[50]:(e=O(l,`w-full`),t[49]=l,t[50]=e);let i;if(t[51]!==n.headers||t[52]!==s||t[53]!==d||t[54]!==r){let e;t[56]!==s||t[57]!==d||t[58]!==r?(e=(e,t)=>(0,Q.jsx)(`th`,{className:`px-3 py-2 text-left font-medium`,children:(0,Q.jsx)(Bt,{text:e,threadId:r,chatFileIndex:s,inlineCodeClass:d})},t),t[56]=s,t[57]=d,t[58]=r,t[59]=e):e=t[59],i=n.headers.map(e),t[51]=n.headers,t[52]=s,t[53]=d,t[54]=r,t[55]=i}else i=t[55];let a;t[60]===i?a=t[61]:(a=(0,Q.jsx)(`thead`,{children:(0,Q.jsx)(`tr`,{className:`border-b border-table-border`,children:i})}),t[60]=i,t[61]=a);let o;if(t[62]!==n.rows||t[63]!==s||t[64]!==d||t[65]!==r){let e;t[67]!==s||t[68]!==d||t[69]!==r?(e=(e,t)=>(0,Q.jsx)(`tr`,{children:e.map((e,t)=>(0,Q.jsx)(`td`,{className:`px-3 py-2`,children:(0,Q.jsx)(Bt,{text:e,threadId:r,chatFileIndex:s,inlineCodeClass:d})},t))},t),t[67]=s,t[68]=d,t[69]=r,t[70]=e):e=t[70],o=n.rows.map(e),t[62]=n.rows,t[63]=s,t[64]=d,t[65]=r,t[66]=o}else o=t[66];let c;t[71]===o?c=t[72]:(c=(0,Q.jsx)(`tbody`,{children:o}),t[71]=o,t[72]=c);let u;return t[73]!==e||t[74]!==a||t[75]!==c?(u=(0,Q.jsx)(`div`,{className:`overflow-x-auto rounded-md border border-table-border max-w-full`,children:(0,Q.jsxs)(`table`,{className:e,children:[a,c]})}),t[73]=e,t[74]=a,t[75]=c,t[76]=u):u=t[76],u}case`mermaid`:{let e;return t[77]===n.code?e=t[78]:(e=(0,Q.jsx)(ge,{content:n.code}),t[77]=n.code,t[78]=e),e}case`image`:{let e;t[79]!==n.src||t[80]!==r?(e=De(n.src,r),t[79]=n.src,t[80]=r,t[81]=e):e=t[81];let i=n.alt||`Image`,a;return t[82]!==e||t[83]!==i?(a=(0,Q.jsx)(Ae,{imageUrl:e,alt:i}),t[82]=e,t[83]=i,t[84]=a):a=t[84],a}case`media`:{let e;t[85]!==n.src||t[86]!==r?(e=Ee(n.src,r),t[85]=n.src,t[86]=r,t[87]=e):e=t[87];let i=e;if(n.kind===`image`){let e;return t[88]===i?e=t[89]:(e=(0,Q.jsx)(Ae,{imageUrl:i,alt:`Image`}),t[88]=i,t[89]=e),e}let a;t[90]===n.src?a=t[91]:(a=n.src.split(/[/\\]/).pop(),t[90]=n.src,t[91]=a);let o=a,s;return t[92]!==n.kind||t[93]!==o||t[94]!==i?(s=(0,Q.jsx)(ze,{src:i,kind:n.kind,label:o}),t[92]=n.kind,t[93]=o,t[94]=i,t[95]=s):s=t[95],s}default:return null}}),Bt=(0,J.memo)(function(e){let t=(0,q.c)(13),{text:n,threadId:r,chatFileIndex:i,inlineCodeClass:a}=e,o=i===void 0?null:i,s=a===void 0?p.mono:a,c;t[0]===n?c=t[1]:(c=Ht(n),t[0]=n,t[1]=c);let l=c,u;if(t[2]!==o||t[3]!==s||t[4]!==l||t[5]!==r){let e;t[7]!==o||t[8]!==s||t[9]!==r?(e=(e,t)=>{switch(e.type){case`bold`:return(0,Q.jsx)(`strong`,{className:`font-semibold`,children:e.text},t);case`italic`:return(0,Q.jsx)(`em`,{children:e.text},t);case`strikethrough`:return(0,Q.jsx)(`del`,{className:`text-muted-foreground`,children:e.text},t);case`code`:{let n=o?et(e.text,o):null;return n?(0,Q.jsx)(qe,{path:n,className:O(s,`rounded bg-muted/20 py-0.5`),children:e.text},t):(0,Q.jsx)(`code`,{className:O(s,`rounded bg-muted/20 py-0.5`),children:e.text},t)}case`link`:return(0,Q.jsx)(Ke,{href:e.href,children:e.text},t);case`image`:return(0,Q.jsx)(Ae,{imageUrl:De(e.src,r),alt:e.alt||`Image`},t);case`text`:return(0,Q.jsx)(J.Fragment,{children:Vt(e.text,o,s)},t);default:return null}},t[7]=o,t[8]=s,t[9]=r,t[10]=e):e=t[10],u=l.map(e),t[2]=o,t[3]=s,t[4]=l,t[5]=r,t[6]=u}else u=t[6];let d;return t[11]===u?d=t[12]:(d=(0,Q.jsx)(Q.Fragment,{children:u}),t[11]=u,t[12]=d),d});function Vt(e,t,n){return t?tt(e,t).map((e,t)=>e.path?(0,Q.jsx)(qe,{path:e.path,className:O(n,`rounded bg-muted/20 py-0.5`),children:e.text},t):(0,Q.jsx)(`span`,{children:e.text},t)):(0,Q.jsx)(`span`,{children:e})}function Ht(e){let t=[],n=/(`[^`]+`)|(!\[[^\]]*\]\([^)]+\))|(\*\*[^*]+\*\*)|(\*[^*]+\*)|(__[^_]+__)|(_[^_]+_)|(~~[^~]+~~)|(\[[^\]]+\]\([^)]+\))|(https?:\/\/[^\s<>"`]+)/gi,r=0,i;for(;(i=n.exec(e))!==null;){i.index>r&&t.push({type:`text`,text:e.slice(r,i.index)});let n=i[0];if(n.startsWith("`"))t.push({type:`code`,text:n.slice(1,-1)});else if(n.startsWith(`![`)){let e=n.match(/!\[([^\]]*)\]\(([^)]+)\)/);e&&t.push({type:`image`,alt:e[1],src:e[2]})}else if(n.startsWith(`**`)||n.startsWith(`__`))t.push({type:`bold`,text:n.slice(2,-2)});else if(n.startsWith(`~~`))t.push({type:`strikethrough`,text:n.slice(2,-2)});else if(n.startsWith(`*`)||n.startsWith(`_`))t.push({type:`italic`,text:n.slice(1,-1)});else if(n.startsWith(`[`)){let e=n.match(/\[([^\]]+)\]\(([^)]+)\)/);e&&t.push({type:`link`,text:e[1],href:e[2]})}else if(/^https?:\/\//i.test(n)){let e=n.replace(ut,``),r=n.slice(e.length);e&&t.push({type:`link`,text:e,href:e}),r&&t.push({type:`text`,text:r})}r=i.index+n.length}return r<e.length&&t.push({type:`text`,text:e.slice(r)}),t.length>0?t:[{type:`text`,text:e}]}function Ut(e){let t=(0,q.c)(27),{language:n,code:r,compact:i}=e,a=i===void 0?!1:i,[o,s]=(0,J.useState)(!1),c;t[0]===r?c=t[1]:(c=async function(){await navigator.clipboard.writeText(r),s(!0),setTimeout(()=>s(!1),2e3)},t[0]=r,t[1]=c);let l=c,u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=O(p.compact,`text-muted-foreground font-mono`),t[2]=u):u=t[2];let d=n||`text`,f;t[3]===d?f=t[4]:(f=(0,Q.jsx)(`span`,{className:u,children:d}),t[3]=d,t[4]=f);let m;t[5]===o?m=t[6]:(m=o?(0,Q.jsx)(b,{}):(0,Q.jsx)(w,{}),t[5]=o,t[6]=m);let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Q.jsx)(`span`,{className:`sr-only`,children:`Copy code`}),t[7]=h):h=t[7];let g;t[8]!==l||t[9]!==m?(g=(0,Q.jsxs)(k,{variant:`action`,size:`icon-xs`,onClick:l,children:[m,h]}),t[8]=l,t[9]=m,t[10]=g):g=t[10];let _;t[11]!==f||t[12]!==g?(_=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border bg-muted/80 px-4 py-2`,children:[f,g]}),t[11]=f,t[12]=g,t[13]=_):_=t[13];let v=a?`p-2`:`p-4`,y;t[14]===v?y=t[15]:(y=O(`overflow-x-auto max-w-full`,v),t[14]=v,t[15]=y);let x;t[16]===a?x=t[17]:(x=O(a?O(p.compact,`font-mono`):p.mono,`text-foreground leading-relaxed`),t[16]=a,t[17]=x);let S;t[18]!==r||t[19]!==x?(S=(0,Q.jsx)(`code`,{className:x,children:r}),t[18]=r,t[19]=x,t[20]=S):S=t[20];let C;t[21]!==y||t[22]!==S?(C=(0,Q.jsx)(`pre`,{className:y,children:S}),t[21]=y,t[22]=S,t[23]=C):C=t[23];let T;return t[24]!==C||t[25]!==_?(T=(0,Q.jsxs)(`div`,{className:`group relative overflow-hidden rounded-lg border border-border bg-muted`,children:[_,C]}),t[24]=C,t[25]=_,t[26]=T):T=t[26],T}export{Oe as a,Se as c,ke as i,K as l,ze as n,De as o,Ae as r,Ee as s,dt as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{ot as n}from"./dist-DjiNKpTV.js";import{D as r,Et as i,On as a,jn as o,un as s}from"./dist-CNOCRPxn.js";import{t as c}from"./utils-CT-Dw22R.js";import{t as l}from"./button-B6HDsfd5.js";import{i as u,n as d,r as f,t as p}from"./tooltip-BtJG5fZl.js";var m=e(),h=t();function g(e){let t=(0,m.c)(6),{onContinue:n,disabled:r,creating:o}=e,s=r||o,c;t[0]===o?c=t[1]:(c=o?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(i,{className:`mr-2 h-4 w-4 animate-spin`}),`Creating...`]}):(0,h.jsxs)(h.Fragment,{children:[`Continue`,(0,h.jsx)(a,{className:`ml-2 h-4 w-4`})]}),t[0]=o,t[1]=c);let u;return t[2]!==n||t[3]!==s||t[4]!==c?(u=(0,h.jsx)(`div`,{className:`mt-6 border-t pt-4 flex justify-end`,children:(0,h.jsx)(l,{onClick:n,disabled:s,children:c})}),t[2]=n,t[3]=s,t[4]=c,t[5]=u):u=t[5],u}function _(e){return e.toLowerCase().replace(/\s+/g,`-`).replace(/[^a-z0-9-]/g,``).replace(/-+/g,`-`).replace(/^-|-$/g,``)}function v(e){return e.replace(/-/g,` `).split(/\s+/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function y(e){return e.length>0&&e.length<=64}function b(e){let t=(0,m.c)(29),{name:i,description:a,installed:g,onClick:_,onOpen:v,onUninstall:y,showInstalledControls:b,className:x}=e,S=b===void 0?!0:b,C=!g&&`cursor-pointer hover:bg-accent/50`,w;t[0]!==x||t[1]!==C?(w=c(`flex w-full flex-col gap-2 rounded-lg border border-border bg-card p-2.5 text-left transition-colors`,C,x),t[0]=x,t[1]=C,t[2]=w):w=t[2];let T=g?void 0:_,E=g?void 0:`button`,D;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(D=c(n.label,`truncate leading-normal`),t[3]=D):D=t[3];let O;t[4]===i?O=t[5]:(O=(0,h.jsx)(`span`,{className:D,children:i}),t[4]=i,t[5]=O);let k;t[6]!==g||t[7]!==S?(k=g&&S&&(0,h.jsx)(f,{delayDuration:300,children:(0,h.jsxs)(p,{children:[(0,h.jsx)(u,{asChild:!0,children:(0,h.jsx)(`span`,{className:`flex-shrink-0 h-4 w-4 rounded-full bg-green-500/15 flex items-center justify-center`,children:(0,h.jsx)(o,{className:`h-2.5 w-2.5 text-green-600 dark:text-green-400`})})}),(0,h.jsx)(d,{children:`Installed`})]})}),t[6]=g,t[7]=S,t[8]=k):k=t[8];let A;t[9]!==O||t[10]!==k?(A=(0,h.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[O,k]}),t[9]=O,t[10]=k,t[11]=A):A=t[11];let j;t[12]!==g||t[13]!==v||t[14]!==y||t[15]!==S?(j=g&&S&&(0,h.jsxs)(`div`,{className:`flex items-center gap-1 flex-shrink-0`,children:[v&&(0,h.jsx)(f,{delayDuration:300,children:(0,h.jsxs)(p,{children:[(0,h.jsx)(u,{asChild:!0,children:(0,h.jsx)(l,{variant:`ghost`,size:`icon-sm`,onClick:e=>{e.stopPropagation(),v()},children:(0,h.jsx)(s,{className:`h-3.5 w-3.5`})})}),(0,h.jsx)(d,{children:`Open in Explorer`})]})}),y&&(0,h.jsx)(f,{delayDuration:300,children:(0,h.jsxs)(p,{children:[(0,h.jsx)(u,{asChild:!0,children:(0,h.jsx)(l,{variant:`ghost`,size:`icon-sm`,onClick:e=>{e.stopPropagation(),y()},className:`text-destructive hover:text-destructive`,children:(0,h.jsx)(r,{className:`h-3.5 w-3.5`})})}),(0,h.jsx)(d,{children:`Remove`})]})})]}),t[12]=g,t[13]=v,t[14]=y,t[15]=S,t[16]=j):j=t[16];let M;t[17]!==j||t[18]!==A?(M=(0,h.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[A,j]}),t[17]=j,t[18]=A,t[19]=M):M=t[19];let N;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(N=c(n.caption,`line-clamp-3 select-text`),t[20]=N):N=t[20];let P;t[21]===a?P=t[22]:(P=(0,h.jsx)(`p`,{className:N,children:a}),t[21]=a,t[22]=P);let F;return t[23]!==M||t[24]!==P||t[25]!==w||t[26]!==T||t[27]!==E?(F=(0,h.jsxs)(`div`,{className:w,onClick:T,role:E,children:[M,P]}),t[23]=M,t[24]=P,t[25]=w,t[26]=T,t[27]=E,t[28]=F):F=t[28],F}export{g as a,_ as i,v as n,y as r,b as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{ot as n}from"./dist-DjiNKpTV.js";import{t as r}from"./button-B6HDsfd5.js";import{a as i,i as a,o,r as s,s as c,t as l}from"./dialog--0foS3aw.js";import{Ft as u,o as d}from"./index-BOB3ZUQs.js";var f=e(),p=t();function m(e){let t=(0,f.c)(30),{open:m,onOpenChange:h,onNewBranch:g,onJustOpen:_,newChatOnNewBranch:v,onNewChatOnNewBranchChange:y,isLoading:b,projectName:x}=e,S=b===void 0?!1:b,C;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,p.jsx)(c,{children:`Pull Request Merged`}),t[0]=C):C=t[0];let w=x?` for ${x}`:``,T;t[1]===w?T=t[2]:(T=(0,p.jsxs)(o,{children:[C,(0,p.jsxs)(a,{children:[`The PR has already been merged`,w,`. Create a new branch and PR?`]})]}),t[1]=w,t[2]=T);let E;t[3]===y?E=t[4]:(E=e=>y(e===!0),t[3]=y,t[4]=E);let D;t[5]!==v||t[6]!==E?(D=(0,p.jsx)(d,{id:`new-chat-on-new-branch`,checked:v,onCheckedChange:E}),t[5]=v,t[6]=E,t[7]=D):D=t[7];let O;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,p.jsx)(u,{htmlFor:`new-chat-on-new-branch`,className:n.labelNormal,children:`New Chat`}),t[8]=O):O=t[8];let k;t[9]===D?k=t[10]:(k=(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[D,O]}),t[9]=D,t[10]=k);let A;t[11]!==S||t[12]!==_?(A=(0,p.jsx)(r,{variant:`ghost`,onClick:_,disabled:S,children:`Just Open`}),t[11]=S,t[12]=_,t[13]=A):A=t[13];let j;t[14]!==S||t[15]!==g?(j=(0,p.jsx)(r,{onClick:g,disabled:S,children:`New Branch`}),t[14]=S,t[15]=g,t[16]=j):j=t[16];let M;t[17]!==j||t[18]!==A?(M=(0,p.jsxs)(`div`,{className:`flex w-full flex-col-reverse gap-2 sm:w-auto sm:flex-row`,children:[A,j]}),t[17]=j,t[18]=A,t[19]=M):M=t[19];let N;t[20]!==M||t[21]!==k?(N=(0,p.jsxs)(i,{className:`flex-col gap-4 sm:flex-row sm:items-center sm:justify-between`,children:[k,M]}),t[20]=M,t[21]=k,t[22]=N):N=t[22];let P;t[23]!==N||t[24]!==T?(P=(0,p.jsxs)(s,{children:[T,N]}),t[23]=N,t[24]=T,t[25]=P):P=t[25];let F;return t[26]!==h||t[27]!==m||t[28]!==P?(F=(0,p.jsx)(l,{open:m,onOpenChange:h,children:P}),t[26]=h,t[27]=m,t[28]=P,t[29]=F):F=t[29],F}export{m as MergedPRDialog};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{ot as n}from"./dist-DjiNKpTV.js";import{P as r,Vn as i,Y as a,hn as o}from"./dist-CNOCRPxn.js";import{t as s}from"./button-B6HDsfd5.js";import{i as c,n as l,r as u,t as d}from"./tooltip-BtJG5fZl.js";import{o as f}from"./index-BOB3ZUQs.js";import{n as p}from"./sorting-DqwxPMRN.js";var m=e(),h=t();function g(e){let t=(0,m.c)(9),{codingIndex:i,modelName:a}=e,o=p(i);if(o===0)return null;let s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=[1,2,3,4,5],t[0]=s):s=t[0];let f;t[1]===o?f=t[2]:(f=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(`div`,{className:`flex items-center gap-0.5`,children:s.map(e=>(0,h.jsx)(r,{className:`h-3 w-3 ${e<=o?`fill-yellow-400 text-yellow-400`:`text-gray-300`}`},e))})}),t[1]=o,t[2]=f);let g;t[3]!==i||t[4]!==a?(g=(0,h.jsx)(l,{children:(0,h.jsxs)(`p`,{className:n.body,children:[a,` was indexed `,i,` for coding intelligence`]})}),t[3]=i,t[4]=a,t[5]=g):g=t[5];let _;return t[6]!==f||t[7]!==g?(_=(0,h.jsx)(u,{children:(0,h.jsxs)(d,{children:[f,g]})}),t[6]=f,t[7]=g,t[8]=_):_=t[8],_}function _(e){let t=(0,m.c)(10),{id:n,checked:r,disabled:i,onChange:a}=e,o=i===void 0?!1:i,s;t[0]===a?s=t[1]:(s=e=>a(e===!0),t[0]=a,t[1]=s);let p;t[2]!==r||t[3]!==o||t[4]!==n||t[5]!==s?(p=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(`span`,{className:`inline-flex`,children:(0,h.jsx)(f,{id:n,disabled:o,checked:r,onCheckedChange:s,"aria-label":`Select All Models`})})}),t[2]=r,t[3]=o,t[4]=n,t[5]=s,t[6]=p):p=t[6];let g;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,h.jsx)(l,{children:`Select All Models`}),t[7]=g):g=t[7];let _;return t[8]===p?_=t[9]:(_=(0,h.jsx)(u,{children:(0,h.jsxs)(d,{children:[p,g]})}),t[8]=p,t[9]=_),_}function v(e){let t=(0,m.c)(31),{sortBy:n,onSortByChange:f,showCodingIndex:p,showIntelligenceByPrice:g}=e,_=p===void 0?!1:p,v=g===void 0?!1:g,y=n===`alphabetical`?`secondary`:`ghost`,b;t[0]===f?b=t[1]:(b=()=>f(`alphabetical`),t[0]=f,t[1]=b);let x;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,h.jsx)(i,{className:`h-4 w-4`}),t[2]=x):x=t[2];let S;t[3]!==y||t[4]!==b?(S=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:y,size:`icon`,className:`h-8 w-8`,onClick:b,children:x})}),t[3]=y,t[4]=b,t[5]=S):S=t[5];let C;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,h.jsx)(l,{children:`Sort A–Z`}),t[6]=C):C=t[6];let w;t[7]===S?w=t[8]:(w=(0,h.jsxs)(d,{children:[S,C]}),t[7]=S,t[8]=w);let T=n===`price-low`||n===`price-high`?`secondary`:`ghost`,E;t[9]===f?E=t[10]:(E=()=>f(`price-low`),t[9]=f,t[10]=E);let D;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,h.jsx)(o,{className:`h-4 w-4`}),t[11]=D):D=t[11];let O;t[12]!==E||t[13]!==T?(O=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:T,size:`icon`,className:`h-8 w-8`,onClick:E,children:D})}),t[12]=E,t[13]=T,t[14]=O):O=t[14];let k;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,h.jsx)(l,{children:`Sort by price`}),t[15]=k):k=t[15];let A;t[16]===O?A=t[17]:(A=(0,h.jsxs)(d,{children:[O,k]}),t[16]=O,t[17]=A);let j;t[18]!==f||t[19]!==_||t[20]!==n?(j=_?(0,h.jsxs)(d,{children:[(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:n===`coding-index`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>f(`coding-index`),children:(0,h.jsx)(r,{className:`h-4 w-4`})})}),(0,h.jsx)(l,{children:`Sort by coding intelligence`})]}):null,t[18]=f,t[19]=_,t[20]=n,t[21]=j):j=t[21];let M;t[22]!==f||t[23]!==v||t[24]!==n?(M=v?(0,h.jsxs)(d,{children:[(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:n===`intelligence-by-price`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>f(`intelligence-by-price`),children:(0,h.jsx)(a,{className:`h-4 w-4`})})}),(0,h.jsx)(l,{children:`Sort by price/intelligence`})]}):null,t[22]=f,t[23]=v,t[24]=n,t[25]=M):M=t[25];let N;return t[26]!==A||t[27]!==j||t[28]!==M||t[29]!==w?(N=(0,h.jsx)(u,{children:(0,h.jsxs)(`div`,{className:`flex items-center rounded-md p-0.5`,children:[w,A,j,M]})}),t[26]=A,t[27]=j,t[28]=M,t[29]=w,t[30]=N):N=t[30],N}export{v as n,g as r,_ as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
async function e(e,t){let n=e.getReader(),r=new TextDecoder,i=``;try{for(;;){let{done:e,value:a}=await n.read();if(e)break;i+=r.decode(a,{stream:!0});let o=i.split(`
|
|
2
|
-
`);i=o.pop()??``;for(let e of o){let n=e.trim();if(n)try{await t(JSON.parse(n),n)}catch{await t(n,n)}}}if(i.trim())try{await t(JSON.parse(i),i)}catch{await t(i,i)}}finally{n.releaseLock()}}async function t(t,n){await e(t,e=>{if(typeof e==`string`){n.onOutput(e);return}if(!e||typeof e!=`object`)return;let t=e;t.type===`error`&&typeof t.message==`string`&&n.onError(t.message)})}export{t as n,e as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{G as i,S as a,ot as o}from"./dist-DjiNKpTV.js";import{En as s,Et as c,Rn as l,Vn as u,hn as d,jn as f,q as p,un as m}from"./dist-CNOCRPxn.js";import{n as h,t as g}from"./utils-CT-Dw22R.js";import{t as _}from"./button-B6HDsfd5.js";import{G as v,V as y,h as b,jt as x,kt as S,s as C,vn as w,yn as T}from"./api-D1GxdEEp.js";import{i as E,n as D,r as O,t as k}from"./tooltip-BtJG5fZl.js";import{n as A}from"./scroll-area-BMQFeWmq.js";import{a as j,i as M,o as N,r as P,s as F,t as I}from"./dialog--0foS3aw.js";import{Ct as L,En as R,Et as z,Ft as B,It as V,St as ee,Tt as H,bn as U,bt as W,hn as G,o as K,wt as q}from"./index-BOB3ZUQs.js";import{n as J,t as Y}from"./toggle-group-DMR7z3pz.js";import{t as te}from"./sorting-DqwxPMRN.js";import{t as ne}from"./pending-changes-Bn-0ak1d.js";function re(e){let t=/^[^:]+:\s+(.+)$/.exec(e);return(t?t[1]:e).trim()}function ie(e){return[G(e.id),e.name,re(e.name)]}function ae(e,t){let n=new Set(t.map(e=>e.toLowerCase()));return ie(e).some(e=>n.has(e.toLowerCase()))}function oe(e,t){return e.filter(e=>ae(e,t)).map(e=>e.id)}var X=t(),Z=e(n(),1),Q=r(),se=a(`app.model-selector.ui`),ce=`rounded-full border-0 px-3 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm`;function le({provider:e,onModelsChange:t,isLoading:n,disabled:r,displayMode:i=`grid`,autoSelectRecommended:a=!1}){let[s,l]=(0,Z.useState)([]),[f,m]=(0,Z.useState)(new Set),[_,y]=(0,Z.useState)(new Set),[b,S]=(0,Z.useState)(new Map),[C,w]=(0,Z.useState)(!1),[T,A]=(0,Z.useState)(``),[j,M]=(0,Z.useState)(`alphabetical`);(0,Z.useEffect)(()=>{N()},[e]);let N=async()=>{w(!0),A(``),M(`alphabetical`);try{let t=await v(e);l(t.models);let n=new Set(t.enabledModelIds);m(n);let r=new Map,i=new Set;if(a)try{let{models:e}=await x();i=new Set(oe(t.models,e)),r=new Map([...i].filter(e=>!n.has(e)).map(e=>[e,!0]))}catch(e){se.error(`Failed to load recommended models:`,e)}y(i),S(r),P(n,r,t.models)}catch(t){se.error(`Failed to load models for ${e}:`,t),l([]),m(new Set),y(new Set)}finally{w(!1)}},P=(e,n,r=s)=>{let i=new Set(e);r.forEach(e=>{n.has(e.id)&&(n.get(e.id)?i.add(e.id):i.delete(e.id))}),t?.(i)},F=e=>{S(t=>{let n=ne(t,e,f);return P(f,n),n})},I=e=>{S(t=>{let n=new Map(t);return s.forEach(t=>{let r=f.has(t.id);e?r?n.delete(t.id):n.set(t.id,!0):r?n.set(t.id,!1):n.delete(t.id)}),P(f,n),n})},L=e=>G(e.id);function R(e,t=b){let n=t.has(e),r=t.get(e);return n?!!r:f.has(e)}let z=te({models:s,query:T,sortBy:j,getDisplayName:L,getPriority:e=>+!R(e.id)}),B=j===`alphabetical`?`alphabetical`:`price`;function ee(e){if(e===`alphabetical`){M(`alphabetical`);return}e===`price`&&M(`price-low`)}function H(){j!==`alphabetical`&&M(e=>e===`price-low`?`price-high`:`price-low`)}return C||n?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Q.jsx)(c,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):s.length===0?(0,Q.jsx)(`div`,{className:`text-center py-8`,children:(0,Q.jsx)(`p`,{className:o.bodyMuted,children:`No models available for this provider.`})}):i===`compact`?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Q.jsxs)(`div`,{className:g(`flex items-center justify-between gap-3`,r&&`opacity-25`),children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,Q.jsx)(K,{id:`select-all-models`,disabled:r,checked:s.every(e=>R(e.id)),onCheckedChange:e=>I(e===!0)}),(0,Q.jsx)(`label`,{htmlFor:`select-all-models`,className:g(o.body,`cursor-pointer`),children:`Select all models`})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[(0,Q.jsxs)(`div`,{className:`relative w-44 sm:w-52`,children:[(0,Q.jsx)(p,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none`}),(0,Q.jsx)(V,{placeholder:`Search models...`,value:T,onChange:e=>A(e.target.value),disabled:r,className:`pl-8 h-9`})]}),(0,Q.jsxs)(Y,{type:`single`,value:B,onValueChange:ee,"aria-label":`Sort models`,variant:`outline`,className:`inline-flex rounded-full border bg-muted/40 p-1`,children:[(0,Q.jsx)(J,{value:`alphabetical`,"aria-label":`Sort A–Z`,disabled:r,className:ce,children:(0,Q.jsx)(u,{className:`h-4 w-4`})}),(0,Q.jsx)(J,{value:`price`,"aria-label":`Sort by price`,disabled:r,className:ce,onClick:H,children:(0,Q.jsx)(d,{className:`h-4 w-4`})})]})]})]}),(0,Q.jsx)(O,{children:(0,Q.jsx)(`div`,{className:`grid grid-cols-1 gap-0 overflow-hidden rounded-md border border-table-border`,children:z.length===0?(0,Q.jsx)(`div`,{className:`text-center py-4`,children:(0,Q.jsx)(`p`,{className:o.bodyMuted,children:T?`No models match your search.`:`No models available.`})}):z.map(e=>{let t=R(e.id),n=e.pricing,i=t&&_.has(e.id);return(0,Q.jsxs)(k,{children:[(0,Q.jsx)(E,{asChild:!0,children:(0,Q.jsxs)(`div`,{className:g(`flex items-center space-x-3 p-3 hover:bg-muted/30 transition-colors cursor-default`,r&&`opacity-25`),children:[(0,Q.jsx)(K,{id:e.id,disabled:r,checked:t??!1,onCheckedChange:()=>F(e.id),className:`mt-0`}),(0,Q.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[(0,Q.jsxs)(`label`,{htmlFor:e.id,className:g(o.body,`peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate flex-1 w-0`),children:[L(e),i&&(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:` (Recommended)`})]}),n&&(0,Q.jsx)(`span`,{className:g(o.compact,`text-muted-foreground whitespace-nowrap flex-shrink-0`),children:(n.prompt??0)<=0&&(n.completion??0)<=0?`Free`:`${h(n.prompt??0)} in | ${h(n.completion??0)} out`})]})]})}),e.description&&(0,Q.jsx)(D,{side:`top`,className:`max-w-xs`,children:(0,Q.jsx)(`p`,{className:o.body,children:e.description})})]},e.id)})})})]}):null}var $=a(`app.onboarding-dialog.ui`);function ue(e){let t=(0,X.c)(26),{currentStep:n}=e,r=e=>e===`provider-selection`&&n===`provider-selection`||n===`model-selection`,i=e=>n===e,a=i(`git-check`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,s;t[0]===a?s=t[1]:(s=g(`flex items-center justify-center h-8 w-8 rounded-full`,o.label,a),t[0]=a,t[1]=s);let c;t[2]===s?c=t[3]:(c=(0,Q.jsx)(`div`,{className:s,children:`1`}),t[2]=s,t[3]=c);let l=r(`provider-selection`)?`bg-primary`:`bg-muted`,u;t[4]===l?u=t[5]:(u=g(`h-0.5 flex-1`,l),t[4]=l,t[5]=u);let d;t[6]===u?d=t[7]:(d=(0,Q.jsx)(`div`,{className:u}),t[6]=u,t[7]=d);let f=i(`provider-selection`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,p;t[8]===f?p=t[9]:(p=g(`flex items-center justify-center h-8 w-8 rounded-full`,o.label,f),t[8]=f,t[9]=p);let m;t[10]===p?m=t[11]:(m=(0,Q.jsx)(`div`,{className:p,children:`2`}),t[10]=p,t[11]=m);let h=r(`model-selection`)?`bg-primary`:`bg-muted`,_;t[12]===h?_=t[13]:(_=g(`h-0.5 flex-1`,h),t[12]=h,t[13]=_);let v;t[14]===_?v=t[15]:(v=(0,Q.jsx)(`div`,{className:_}),t[14]=_,t[15]=v);let y=i(`model-selection`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,b;t[16]===y?b=t[17]:(b=g(`flex items-center justify-center h-8 w-8 rounded-full`,o.label,y),t[16]=y,t[17]=b);let x;t[18]===b?x=t[19]:(x=(0,Q.jsx)(`div`,{className:b,children:`3`}),t[18]=b,t[19]=x);let S;return t[20]!==v||t[21]!==x||t[22]!==c||t[23]!==d||t[24]!==m?(S=(0,Q.jsxs)(`div`,{className:`w-1/2 mx-auto flex items-center gap-2 mb-6`,children:[c,d,m,v,x]}),t[20]=v,t[21]=x,t[22]=c,t[23]=d,t[24]=m,t[25]=S):S=t[25],S}function de(e){let t=(0,X.c)(3),{currentStep:n}=e;if(n===`provider-selection`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(F,{children:`Select an AI Provider`}),(0,Q.jsx)(M,{children:`Choose your preferred AI provider and enter your API key.`})]}),t[0]=e):e=t[0],e}if(n===`model-selection`){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(F,{children:`Select Models`}),(0,Q.jsx)(M,{children:`Choose which models you want to use with this provider.`})]}),t[1]=e):e=t[1],e}let r;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(F,{children:`Let's get started`}),(0,Q.jsx)(M,{children:`First, we need to check that Git is installed on your system.`})]}),t[2]=r):r=t[2],r}function fe(e){let t=(0,X.c)(7),{gitLoading:n,gitInstalled:r}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Q.jsx)(c,{className:`h-5 w-5 animate-spin text-muted-foreground`})}),t[0]=e):e=t[0],e}if(r){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsxs)(U,{variant:`success`,className:`mb-0 flex items-start gap-3`,children:[(0,Q.jsx)(f,{className:`h-5 w-5 text-green-600 flex-shrink-0 mt-0.5`}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`p`,{className:g(o.label,`text-green-900`),children:`Git is installed`}),(0,Q.jsx)(`p`,{className:o.bodyMuted,children:`You're all set to use Git features in Tarsk.`})]})]}),t[1]=e):e=t[1],e}let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(s,{className:`h-5 w-5 text-yellow-600 flex-shrink-0 mt-0.5`}),t[2]=i):i=t[2];let a,l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(`p`,{className:o.label,children:`Git is not installed`}),l=(0,Q.jsx)(`p`,{className:o.bodyMuted,children:`Git is required for some features in Tarsk. You can continue without it, but we recommend installing it.`}),t[3]=a,t[4]=l):(a=t[3],l=t[4]);let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=g(o.caption,`text-brand hover:underline mt-2 inline-flex items-center gap-1`),t[5]=u):u=t[5];let d;return t[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsxs)(U,{variant:`hint`,className:`mb-0 flex items-start gap-3`,children:[i,(0,Q.jsxs)(`div`,{className:`flex-1`,children:[a,l,(0,Q.jsxs)(`a`,{href:`https://git-scm.com/downloads`,target:`_blank`,rel:`noreferrer`,className:u,children:[`Download Git `,(0,Q.jsx)(m,{className:`h-3 w-3`})]})]})]}),t[6]=d):d=t[6],d}function pe(e){let t=(0,X.c)(16),{selectedProvider:n,onProviderChange:r,apiKey:a,onApiKeyChange:s,validatingKey:c,providerEnvValues:l,onProviderEnvChange:u,keyError:d}=e,f;t[0]!==a||t[1]!==s||t[2]!==r||t[3]!==n||t[4]!==c?(f=(0,Q.jsx)(W,{selectedProvider:n,onProviderChange:r,showApiKeyInput:!0,apiKey:a,onApiKeyChange:s,variant:`dropdown`,isLoading:c}),t[0]=a,t[1]=s,t[2]=r,t[3]=n,t[4]=c,t[5]=f):f=t[5];let p;t[6]!==u||t[7]!==l||t[8]!==n?(p=n&&q(n).map(e=>(0,Q.jsx)(R,{label:(0,Q.jsx)(B,{htmlFor:e,children:L(e)}),control:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`input`,{id:e,value:l[e]??``,onChange:t=>u(e,t.target.value),className:`h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base`,placeholder:i(n.slug)&&e===`LOCAL_API_URL`?n.api:e,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`}),n.slug===`azure`&&e===H(n)||i(n.slug)&&e===`LOCAL_API_URL`?(0,Q.jsx)(`p`,{className:g(o.bodyMuted,`mt-2 break-all`),children:z(n,l)||n.api}):null]}),align:`start`},e)),t[6]=u,t[7]=l,t[8]=n,t[9]=p):p=t[9];let m;t[10]===d?m=t[11]:(m=d&&(0,Q.jsx)(U,{variant:`error`,className:`mb-0`,children:d}),t[10]=d,t[11]=m);let h;return t[12]!==f||t[13]!==p||t[14]!==m?(h=(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[f,p,m]}),t[12]=f,t[13]=p,t[14]=m,t[15]=h):h=t[15],h}function me(e){let t=(0,X.c)(4),{providerSlug:n,modelsLoading:r,onModelsChange:i}=e,a;return t[0]!==r||t[1]!==i||t[2]!==n?(a=(0,Q.jsx)(`div`,{className:`space-y-4`,children:(0,Q.jsx)(le,{provider:n,isLoading:r,displayMode:`compact`,disabled:!1,autoSelectRecommended:!0,onModelsChange:i})}),t[0]=r,t[1]=i,t[2]=n,t[3]=a):a=t[3],a}function he(e){let t=(0,X.c)(32),{currentStep:n,savingOnboarding:r,gitLoading:i,validatingKey:a,apiKey:o,hasProvider:s,onSkip:u,onBack:d,onContinue:p,onValidate:m,onFinish:h}=e,g;t[0]!==n||t[1]!==u||t[2]!==r?(g=n===`provider-selection`&&(0,Q.jsx)(_,{variant:`ghost`,onClick:u,disabled:r,children:`Skip for now`}),t[0]=n,t[1]=u,t[2]=r,t[3]=g):g=t[3];let v;t[4]===g?v=t[5]:(v=(0,Q.jsx)(`div`,{children:g}),t[4]=g,t[5]=v);let y;t[6]!==n||t[7]!==d||t[8]!==r?(y=n!==`git-check`&&(0,Q.jsx)(_,{variant:`outline`,onClick:d,disabled:r,children:`Back`}),t[6]=n,t[7]=d,t[8]=r,t[9]=y):y=t[9];let b;t[10]!==n||t[11]!==i||t[12]!==p?(b=n===`git-check`&&(0,Q.jsxs)(_,{onClick:p,disabled:i,className:`gap-2`,children:[`Continue `,(0,Q.jsx)(l,{className:`h-4 w-4`})]}),t[10]=n,t[11]=i,t[12]=p,t[13]=b):b=t[13];let x;t[14]!==o||t[15]!==n||t[16]!==s||t[17]!==m||t[18]!==a?(x=n===`provider-selection`&&(0,Q.jsx)(_,{onClick:m,disabled:a||!o.trim()||!s,className:`gap-2`,children:a?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(c,{className:`h-4 w-4 animate-spin`}),`Validating...`]}):(0,Q.jsxs)(Q.Fragment,{children:[`Next `,(0,Q.jsx)(l,{className:`h-4 w-4`})]})}),t[14]=o,t[15]=n,t[16]=s,t[17]=m,t[18]=a,t[19]=x):x=t[19];let S;t[20]!==n||t[21]!==h||t[22]!==r?(S=n===`model-selection`&&(0,Q.jsx)(_,{onClick:h,disabled:r,className:`gap-2`,children:r?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(c,{className:`h-4 w-4 animate-spin`}),`Finishing...`]}):(0,Q.jsxs)(Q.Fragment,{children:[`Finish `,(0,Q.jsx)(f,{className:`h-4 w-4`})]})}),t[20]=n,t[21]=h,t[22]=r,t[23]=S):S=t[23];let C;t[24]!==y||t[25]!==b||t[26]!==x||t[27]!==S?(C=(0,Q.jsxs)(`div`,{className:`flex gap-3`,children:[y,b,x,S]}),t[24]=y,t[25]=b,t[26]=x,t[27]=S,t[28]=C):C=t[28];let w;return t[29]!==v||t[30]!==C?(w=(0,Q.jsx)(`div`,{className:`px-6 py-4 border-t border-border bg-muted/10`,children:(0,Q.jsxs)(j,{className:`flex items-center justify-between`,children:[v,C]})}),t[29]=v,t[30]=C,t[31]=w):w=t[31],w}function ge({open:e,onOpenChange:t,onComplete:n}){let[r,i]=(0,Z.useState)(`git-check`),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)([]),[d,f]=(0,Z.useState)(null),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)({}),[_,x]=(0,Z.useState)(!1),[E,D]=(0,Z.useState)(``),[O,k]=(0,Z.useState)(new Set),[j,M]=(0,Z.useState)(!1),[F,R]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{e&&r===`git-check`&&z()},[e,r]),(0,Z.useEffect)(()=>{e&&r===`provider-selection`&&l.length===0&&B()},[e,r,l.length]),(0,Z.useEffect)(()=>{e&&r===`model-selection`&&d&&V()},[e,r,d]);let z=async()=>{c(!0);try{let e=await C();o(e.gitInstalled),e.gitInstalled&&i(`provider-selection`)}catch(e){$.error(`Failed to check git installation:`,e),o(!1)}finally{c(!1)}},B=async()=>{try{let e=await S();if(u(e),e.length>0&&!d){let t=ee(e);t&&(f(t),m(t.apiKey??``),g(t.envValues??{}))}}catch(e){$.error(`Failed to load providers:`,e)}},V=async()=>{if(d){M(!0);try{await v(d.name),k(new Set)}catch(e){$.error(`Failed to load models:`,e)}finally{M(!1)}}},H=async()=>{if(!d||!p.trim()){D(`Please enter an API key`);return}let e=q(d),t=e.find(e=>!h[e]?.trim());if(t){D(`Please enter ${L(t)}`);return}x(!0),D(``);try{e.length>0&&await w(Object.fromEntries(e.map(e=>[e,h[e].trim()]))),await T(d.slug,p),i(`model-selection`)}catch(e){D(e instanceof Error?e.message:`Failed to validate API key`)}finally{x(!1)}},U=async()=>{if(d){R(!0);try{for(let e of O)await y(d.slug,e);await b(),n?.(),t(!1)}catch(e){$.error(`Failed to complete onboarding:`,e)}finally{R(!1)}}},W=async()=>{R(!0);try{await b(),n?.(),t(!1)}catch(e){$.error(`Failed to skip onboarding:`,e)}finally{R(!1)}},G=e=>{f(e),m(e.apiKey??``),g(e.envValues??{}),D(``)},K=(e,t)=>{g(n=>({...n,[e]:t}))},J=()=>{i(`provider-selection`)};function Y(){r===`provider-selection`?i(`git-check`):r===`model-selection`&&i(`provider-selection`)}return(0,Q.jsx)(I,{open:e,onOpenChange:t,children:(0,Q.jsxs)(P,{className:`max-w-2xl h-[min(42rem,90dvh)] flex flex-col p-0 overflow-hidden`,children:[(0,Q.jsxs)(`div`,{className:`px-6 pt-6 pb-2`,children:[(0,Q.jsx)(ue,{currentStep:r}),(0,Q.jsx)(N,{children:(0,Q.jsx)(de,{currentStep:r})})]}),(0,Q.jsx)(A,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,Q.jsxs)(`div`,{className:`px-6 py-4`,children:[r===`git-check`&&(0,Q.jsx)(`div`,{className:`space-y-4`,children:(0,Q.jsx)(fe,{gitLoading:s,gitInstalled:a})}),r===`provider-selection`&&(0,Q.jsx)(pe,{selectedProvider:d,onProviderChange:G,apiKey:p,onApiKeyChange:m,validatingKey:_,providerEnvValues:h,onProviderEnvChange:K,keyError:E}),r===`model-selection`&&d&&(0,Q.jsx)(me,{providerSlug:d.slug,modelsLoading:j,onModelsChange:k})]})}),(0,Q.jsx)(he,{currentStep:r,savingOnboarding:F,gitLoading:s,validatingKey:_,apiKey:p,hasProvider:!!d,onSkip:()=>void W(),onBack:Y,onContinue:J,onValidate:()=>void H(),onFinish:()=>void U()})]})})}export{ge as OnboardingDialog,ge as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{s as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{L as a,ot as o}from"./dist-DjiNKpTV.js";import{Et as s,cn as c,ln as l,y as u}from"./dist-CNOCRPxn.js";import{t as d}from"./utils-CT-Dw22R.js";import{t as f}from"./button-B6HDsfd5.js";import{Rn as p,xt as m}from"./api-D1GxdEEp.js";import{t as h}from"./use-toast-xpb5jNtN.js";import{It as g,Mn as _,On as v,Tn as y,kn as b,xn as x}from"./index-BOB3ZUQs.js";import{t as S}from"./use-settings-page-loading-BTySlInF.js";var C=t(),w=e(n(),1),T=r();function E(e){let t=(0,C.c)(20),{entry:n,index:r,loading:i,onValueChange:o}=e,s=a(n.name),[u,p]=(0,w.useState)(!1),m=n.value.length>0||n.hasExistingValue,h=n.hasExistingValue&&!n.value?`••••••••`:`value`;(0,w.useEffect)(()=>{s||p(!1)},[s]);let _=g,v=s&&!u?`password`:`text`,y=n.value,b;t[0]!==r||t[1]!==o?(b=e=>o(r,e.target.value),t[0]=r,t[1]=o,t[2]=b):b=t[2];let x=d(`font-mono`,s&&`pr-10`),S;t[3]!==_||t[4]!==n.value||t[5]!==i||t[6]!==h||t[7]!==v||t[8]!==b||t[9]!==x?(S=(0,T.jsx)(_,{type:v,placeholder:h,value:y,onChange:b,className:x,disabled:i}),t[3]=_,t[4]=n.value,t[5]=i,t[6]=h,t[7]=v,t[8]=b,t[9]=x,t[10]=S):S=t[10];let E;t[11]!==m||t[12]!==s||t[13]!==i||t[14]!==p||t[15]!==u?(E=s?(0,T.jsx)(f,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 h-8 w-8 -translate-y-1/2 p-0`,onClick:()=>p(D),disabled:i||!m,children:u?(0,T.jsx)(l,{className:`h-4 w-4 text-muted-foreground`}):(0,T.jsx)(c,{className:`h-4 w-4 text-muted-foreground`})}):null,t[11]=m,t[12]=s,t[13]=i,t[14]=p,t[15]=u,t[16]=E):E=t[16];let O;return t[17]!==S||t[18]!==E?(O=(0,T.jsxs)(`div`,{className:`relative flex-1`,children:[S,E]}),t[17]=S,t[18]=E,t[19]=O):O=t[19],O}function D(e){return!e}function O({projectId:e}){let t=i(),[n,r]=(0,w.useState)([]),[a,c]=(0,w.useState)([]),[l,d]=(0,w.useState)(!0),[C,D]=(0,w.useState)(!1),O=(0,w.useCallback)(async()=>{if(!e){d(!1);return}d(!0);try{let t=(await m(e)).vars.map(e=>({name:e.name,value:e.value??``,hasExistingValue:e.hasValue&&e.value===void 0}));r(t),c(t)}catch(e){h({title:`Error`,description:e instanceof Error?e.message:`Failed to load environment variables`,variant:`destructive`})}finally{d(!1)}},[e]);(0,w.useLayoutEffect)(()=>{e&&d(!0)},[e]),(0,w.useEffect)(()=>{O()},[O]);let k=S(e,[l]);function A(){r(e=>[...e,{name:``,value:``,hasExistingValue:!1}])}function j(e,t){r(n=>n.map((n,r)=>r===e?{...n,name:t.toUpperCase()}:n))}function M(e,t){r(n=>n.map((n,r)=>r===e?{...n,value:t}:n))}function N(e){r(t=>t.filter((t,n)=>n!==e))}function P(){if(n.length!==a.length)return!0;for(let e=0;e<n.length;e+=1){let t=n[e],r=a[e];if(!r||t.name!==r.name||t.value!==r.value||t.hasExistingValue!==r.hasExistingValue)return!0}return!1}async function F(){if(!(!e||!P())){D(!0);try{let r=n.map(e=>({name:e.name.trim(),value:e.value,hasExistingValue:e.hasExistingValue})).filter(e=>e.name.length>0),i=r.find((e,t)=>r.findIndex(t=>t.name===e.name)!==t);if(i)throw Error(`Duplicate environment variable name: ${i.name}`);let a=r.find(e=>!e.hasExistingValue&&!e.value.trim());if(a)throw Error(`Value is required for environment variable: ${a.name}`);await p(e,r.map(e=>({name:e.name,value:e.value.trim()||void 0}))),c(n.map(e=>({...e,value:``}))),await O(),t(`/`)}catch(e){h({title:`Error`,description:e instanceof Error?e.message:`Failed to save environment variables`,variant:`destructive`})}finally{D(!1)}}}return e?(0,T.jsx)(y,{loading:k,children:(0,T.jsxs)(_,{className:`shrink-0`,children:[(0,T.jsx)(x,{title:`Environment Variables`,description:`Encrypted in Tarsk and injected for bash commands and MCP tools.`,action:(0,T.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,T.jsx)(f,{variant:`ghost`,size:`sm`,onClick:A,disabled:l,children:`Add variable`}),(0,T.jsx)(f,{onClick:()=>void F(),disabled:C||l,children:C?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(s,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`})]}),sticky:!1}),(0,T.jsx)(b,{className:`max-w-none pt-6`,children:n.length===0?(0,T.jsx)(`p`,{className:o.caption,children:`No environment variables configured`}):(0,T.jsx)(`div`,{className:`flex flex-col gap-2`,children:n.map((e,t)=>(0,T.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,T.jsx)(g,{placeholder:`API_KEY`,value:e.name,onChange:e=>j(t,e.target.value),className:`w-[35%] font-mono`,disabled:l}),(0,T.jsx)(E,{entry:e,index:t,loading:l,onValueChange:M}),(0,T.jsx)(f,{variant:`ghost`,size:`icon`,onClick:()=>N(t),className:`h-9 w-9 shrink-0`,disabled:l||C,children:(0,T.jsx)(u,{className:`h-3.5 w-3.5`})})]},t))})})]})}):(0,T.jsx)(v,{title:`No project selected`,children:`Please select a project from the sidebar to manage environment variables.`})}export{O as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{Bt as i,It as a,Jt as o,Kt as s,Lt as c,Rt as l,ot as u,qt as d,zt as f}from"./dist-DjiNKpTV.js";import{Et as p}from"./dist-CNOCRPxn.js";import{t as m}from"./utils-CT-Dw22R.js";import{t as h}from"./button-B6HDsfd5.js";import{$ as g,tt as _,zn as v}from"./api-D1GxdEEp.js";import{t as y}from"./use-toast-xpb5jNtN.js";import{At as b,Dn as x,Mn as S,Mt as C,Nt as w,Pt as T,Tn as E,hn as D,jt as O,kn as k,kt as A,xn as j,yn as M,zt as N}from"./index-BOB3ZUQs.js";import{t as P}from"./use-settings-page-loading-BTySlInF.js";var F=e(n(),1),I=t(),L=r(),R=`__unspecified__`,z=`__default__`;function B(e){let t=(0,I.c)(20),{value:n,onChange:r,enabledModels:s,disabled:u}=e,p=u===void 0?!1:u,m;if(t[0]!==s){m=new Map;for(let e of s){let t=e.provider??`other`,n=m.get(t);n?n.push(e):m.set(t,[e])}t[0]=s,t[1]=m}else m=t[1];let h=m,g;t[2]!==r||t[3]!==n?(g=function(e,t){let i={...n};if(t===R){delete i[e],r(i);return}let a=f(t);a&&(i[e]=a,r(i))},t[2]=r,t[3]=n,t[4]=g):g=t[4];let _=g,v;t[5]===s?v=t[6]:(v=function(e){if(!e)return;let t=e.provider.toLowerCase();return s.find(n=>n.id===e.model&&(n.provider??`other`).toLowerCase()===t)},t[5]=s,t[6]=v);let y=v,S;t[7]!==r||t[8]!==n?(S=function(e,t){let i=n[e];if(!i)return;let a={...i};if(t===z)delete a.reasoningEffort;else if(o(t))a.reasoningEffort=t;else return;r({...n,[e]:a})},t[7]=r,t[8]=n,t[9]=S):S=t[9];let E=S,D;t[10]!==p||t[11]!==s||t[12]!==y||t[13]!==_||t[14]!==E||t[15]!==h||t[16]!==n?(D=l.map(e=>{let t=n[e],r=t?i(t):R,o=y(t)?.supportedReasoningEfforts??[];return(0,L.jsx)(M,{title:c[e],description:a[e],children:(0,L.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,L.jsxs)(A,{value:r,onValueChange:t=>_(e,t),disabled:p,children:[(0,L.jsx)(w,{id:`model-alias-${e}`,className:`w-full min-w-0`,children:(0,L.jsx)(T,{placeholder:`Unspecified`})}),(0,L.jsxs)(b,{children:[(0,L.jsx)(O,{value:R,children:`Unspecified`}),s.length>0&&(0,L.jsx)(C,{}),[...h.entries()].map(H)]})]}),t&&o.length>0&&(0,L.jsxs)(A,{value:t.reasoningEffort??z,onValueChange:t=>E(e,t),disabled:p,children:[(0,L.jsx)(w,{id:`model-alias-${e}-reasoning`,className:`w-full min-w-0`,children:(0,L.jsx)(T,{placeholder:`Model default`})}),(0,L.jsxs)(b,{children:[(0,L.jsx)(O,{value:z,children:`Model default`}),(0,L.jsx)(O,{value:`off`,children:d(`off`)}),o.map(V)]})]})]})},e)}),t[10]=p,t[11]=s,t[12]=y,t[13]=_,t[14]=E,t[15]=h,t[16]=n,t[17]=D):D=t[17];let k;return t[18]===D?k=t[19]:(k=(0,L.jsx)(x,{id:`model-aliases`,children:D}),t[18]=D,t[19]=k),k}function V(e){return(0,L.jsx)(O,{value:e,children:d(e)},e)}function H(e){let[t,n]=e;return(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:m(u.dropdownGroupHeading,`px-2 py-1.5 uppercase`),children:t}),n.map(e=>{let n=i({provider:e.provider??t,model:e.id});return(0,L.jsx)(O,{value:n,children:D(e.id)},n)})]},t)}function U(e){return[...e].sort((e,t)=>{let n=(e.provider??``).localeCompare(t.provider??``);return n===0?D(e.id).localeCompare(D(t.id)):n})}function W(){let[e,t]=(0,F.useState)({}),[n,r]=(0,F.useState)({}),[i,a]=(0,F.useState)([]),[o,c]=(0,F.useState)(!0),[l,u]=(0,F.useState)(!1),d=(0,F.useCallback)(async()=>{c(!0);try{let[e,n]=await Promise.all([g(),_().catch(()=>({}))]),i=e.modelAliases??{};a(U(Object.values(n).flat())),t(i),r(i)}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to load model aliases`,variant:`destructive`})}finally{c(!1)}},[]);(0,F.useEffect)(()=>{d()},[d]);let f=P(`model-aliases`,[o]);function m(){return JSON.stringify(e)!==JSON.stringify(n)}async function b(){if(m()){u(!0);try{let t=Object.keys(e).length>0?e:void 0;if(t){let e=await _();s(t,Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.map(e=>e.id)])))}await v({modelAliases:t??null}),r(e),window.dispatchEvent(new Event(N)),await d()}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to save model aliases`,variant:`destructive`})}finally{u(!1)}}}return(0,L.jsx)(E,{loading:f,children:(0,L.jsxs)(S,{className:`shrink-0`,children:[(0,L.jsx)(j,{title:`Model Aliases`,description:`Map Tarsk-wide short names (fast, local, cheap, smart) to enabled models. Subagents can reference these aliases in AGENT.md. Set Cheap to enable Orchestrate mode.`,action:(0,L.jsx)(h,{onClick:()=>void b(),disabled:l||o,children:l?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(p,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`}),sticky:!1}),(0,L.jsx)(k,{className:`max-w-none pt-6`,children:(0,L.jsx)(B,{value:e,onChange:t,enabledModels:i,disabled:o||l})})]})})}export{W as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{s as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{Dt as a,ot as o}from"./dist-DjiNKpTV.js";import{Et as s,Wt as c}from"./dist-CNOCRPxn.js";import{t as l}from"./utils-CT-Dw22R.js";import{t as u}from"./button-B6HDsfd5.js";import{Bn as d,Ln as f,Vn as p,yt as m,zr as h}from"./api-D1GxdEEp.js";import{t as g}from"./use-toast-xpb5jNtN.js";import{Dn as ee,Ft as te,It as ne,Mn as re,On as ie,Sn as ae,Tn as oe,X as se,i as ce,kn as le,s as _,xn as ue,yn as v,yt as de}from"./index-BOB3ZUQs.js";import{i as fe}from"./commit-method-fields-BihSf23f.js";import{a as pe,n as y,r as me,t as b}from"./context-menu-e5jeH0Jl.js";import{t as he}from"./use-settings-page-loading-BTySlInF.js";var x=t(),S=e(n(),1),C=r();function ge(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>t(r),r.onerror=()=>n(Error(`The selected file is not a readable image.`)),r.src=e})}async function _e(e,t){if(!e){t.setLoading(!1);return}t.setLoading(!0);try{let n=await m(e);t.setProjectPath(n.projectPath??null),t.setName(n.name??``),t.setValue(n.setupScript??``),t.setValidationScript(n.validationScript??``),t.setRunCmd(n.runCommand??``),t.setCommitMethod(n.commitMethod??a.PullRequest),t.setAllowAllCommands(n.allowAllCommands!==!1),t.setAllowedCommandPatterns(n.allowedCommandPatterns??[]),t.setUseBuiltInBrowser(n.useBuiltInBrowser!==!1),t.setProjectIcon(n.projectIcon??null),t.setOriginalName(n.name??``),t.setOriginalAllowAllCommands(n.allowAllCommands!==!1),t.setOriginalAllowedCommandPatterns(n.allowedCommandPatterns??[]),t.setOriginalUseBuiltInBrowser(n.useBuiltInBrowser!==!1),t.setOriginalProjectIcon(n.projectIcon??null)}catch(e){g({title:`Error`,description:e instanceof Error?e.message:`Failed to load project settings`,variant:`destructive`})}finally{t.setLoading(!1)}}async function w(e,t){try{let n=await ge(e),r=document.createElement(`canvas`);r.width=256,r.height=256;let i=r.getContext(`2d`);if(!i)throw Error(`Could not prepare image conversion`);i.imageSmoothingEnabled=!0,i.imageSmoothingQuality=`high`;let a=Math.max(256/n.naturalWidth,256/n.naturalHeight),o=n.naturalWidth*a,s=n.naturalHeight*a;i.drawImage(n,(256-o)/2,(256-s)/2,o,s),t(r.toDataURL(`image/png`))}catch(e){g({title:`Could not use image`,description:e instanceof Error?e.message:`The selected file could not be read.`,variant:`destructive`})}}async function ve(e,t){let n=e.target.files?.[0];if(e.target.value=``,!n)return;let r=URL.createObjectURL(n);try{await w(r,t)}finally{URL.revokeObjectURL(r)}}async function ye(e,t,n){n(!0);try{let n=await f(e);n.runCommand?(t(n.runCommand),g({title:`Success`,description:`Suggested: ${n.runCommand}`})):g({title:`No command found`,description:`Could not detect a dev script in package.json`})}catch(e){g({title:`Error`,description:e instanceof Error?e.message:`Failed to suggest command`,variant:`destructive`})}finally{n(!1)}}async function T(e,t,n){t!==n&&await p(e,t)}async function be(e,t,n,r,i){await d(e,{setupScript:t.trim()||null,validationScript:n.trim()||null,runCommand:r.trim()||null,commitMethod:i})}async function xe(e,t,n,r,i){(t!==r||JSON.stringify(n)!==JSON.stringify(i))&&await d(e,{allowAllCommands:t,allowedCommandPatterns:n})}async function Se(e,t,n){t!==n&&await d(e,{useBuiltInBrowser:t})}async function E(e,t,n){t!==n&&await d(e,{projectIcon:t})}async function Ce(e,t,n,r,i,a){n.setSaving(!0);try{await T(e,t.name,t.originalName),await be(e,t.value,t.validationScript,t.runCmd,t.commitMethod),await xe(e,t.allowAllCommands,t.allowedCommandPatterns,t.originalAllowAllCommands,t.originalAllowedCommandPatterns),await Se(e,t.useBuiltInBrowser,t.originalUseBuiltInBrowser),await E(e,t.projectIcon,t.originalProjectIcon),n.setOriginalName(t.name),n.setOriginalAllowAllCommands(t.allowAllCommands),n.setOriginalAllowedCommandPatterns(t.allowedCommandPatterns),n.setOriginalUseBuiltInBrowser(t.useBuiltInBrowser),n.setOriginalProjectIcon(t.projectIcon),r&&await r(),await a(),i(`/`)}catch(e){g({title:`Error`,description:e instanceof Error?e.message:`Failed to save settings`,variant:`destructive`})}finally{n.setSaving(!1)}}function we(e){let t=(0,x.c)(10),{allowAllCommands:n,patterns:r,disabled:i,onRemove:a}=e;if(n||r.length===0)return null;let s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,C.jsx)(te,{children:`Allowed command patterns`}),t[0]=s):s=t[0];let c;if(t[1]!==i||t[2]!==a||t[3]!==r){let e;t[5]!==i||t[6]!==a?(e=e=>(0,C.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border border-border px-3 py-2`,children:[(0,C.jsx)(`code`,{className:l(o.mono,o.bodyMuted),children:e}),(0,C.jsx)(u,{type:`button`,variant:`ghost`,size:`sm`,disabled:i,onClick:()=>a(e),children:`Remove`})]},e),t[5]=i,t[6]=a,t[7]=e):e=t[7],c=r.map(e),t[1]=i,t[2]=a,t[3]=r,t[4]=c}else c=t[4];let d;return t[8]===c?d=t[9]:(d=(0,C.jsxs)(`div`,{className:`space-y-2 mt-3`,children:[s,(0,C.jsx)(`ul`,{className:`space-y-1`,children:c})]}),t[8]=c,t[9]=d),d}function Te(e){let t=(0,x.c)(21),{projectIcon:n,disabled:r,inputRef:i,onFileChange:a,onButtonClick:o,onRemove:s}=e,l;t[0]!==r||t[1]!==i||t[2]!==a?(l=(0,C.jsx)(`input`,{ref:i,type:`file`,accept:`image/*`,className:`sr-only`,onChange:a,disabled:r}),t[0]=r,t[1]=i,t[2]=a,t[3]=l):l=t[3];let u=n?`Change project icon`:`Choose project icon`,d;t[4]===n?d=t[5]:(d=n?(0,C.jsx)(`img`,{src:n,alt:``,className:`h-full w-full object-cover`}):(0,C.jsx)(c,{className:`h-4 w-4 text-muted-foreground`,strokeWidth:1.5}),t[4]=n,t[5]=d);let f;t[6]!==r||t[7]!==o||t[8]!==u||t[9]!==d?(f=(0,C.jsx)(pe,{asChild:!0,children:(0,C.jsx)(`button`,{type:`button`,className:`flex h-8 w-8 items-center justify-center overflow-hidden rounded-md border border-border bg-muted/40 outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:o,disabled:r,"aria-label":u,children:d})}),t[6]=r,t[7]=o,t[8]=u,t[9]=d,t[10]=f):f=t[10];let p;t[11]!==r||t[12]!==s||t[13]!==n?(p=n&&(0,C.jsx)(y,{children:(0,C.jsx)(me,{disabled:r,onSelect:s,children:`Remove`})}),t[11]=r,t[12]=s,t[13]=n,t[14]=p):p=t[14];let m;t[15]!==f||t[16]!==p?(m=(0,C.jsxs)(b,{children:[f,p]}),t[15]=f,t[16]=p,t[17]=m):m=t[17];let h;return t[18]!==l||t[19]!==m?(h=(0,C.jsxs)(`div`,{className:`flex items-center gap-2`,children:[l,m]}),t[18]=l,t[19]=m,t[20]=h):h=t[20],h}function Ee(e){let t=(0,x.c)(6),{saving:n,disabled:r,onClick:i}=e,a;t[0]===n?a=t[1]:(a=n?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(s,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[0]=n,t[1]=a);let o;return t[2]!==r||t[3]!==i||t[4]!==a?(o=(0,C.jsx)(u,{onClick:i,disabled:r,children:a}),t[2]=r,t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function De(e,t,n){let r=(0,x.c)(13),i;r[0]===e?i=r[1]:(i=function(t){return w(t,e)},r[0]=e,r[1]=i);let a=i,o,s;r[2]===a?(o=r[3],s=r[4]):(o=()=>{if(!h())return;let e=function(e){let t=e.detail.dataUrl;a(t)};return window.addEventListener(`tarsk:project-icon-selected`,e),()=>{window.removeEventListener(`tarsk:project-icon-selected`,e)}},s=[a],r[2]=a,r[3]=o,r[4]=s),(0,S.useEffect)(o,s);let c;r[5]===e?c=r[6]:(c=function(t){return ve(t,e)},r[5]=e,r[6]=c);let l=c,u;r[7]!==n||r[8]!==t?(u=function(){h()&&t?_(t):n.current?.click()},r[7]=n,r[8]=t,r[9]=u):u=r[9];let d=u,f;return r[10]!==d||r[11]!==l?(f={handleProjectIconChange:l,handleProjectIconButtonClick:d},r[10]=d,r[11]=l,r[12]=f):f=r[12],f}function Oe(e){let t=(0,x.c)(117),{projectId:n,onProjectUpdated:r}=e,c=i(),d=ce(),[f,p]=(0,S.useState)(``),[m,h]=(0,S.useState)(``),[g,te]=(0,S.useState)(``),[_,pe]=(0,S.useState)(a.PullRequest),[y,me]=(0,S.useState)(``),[b,ge]=(0,S.useState)(!1),[w,ve]=(0,S.useState)(!1),[T,be]=(0,S.useState)(!0),[xe,Se]=(0,S.useState)(``),[E,Oe]=(0,S.useState)(!0),D;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(D=[],t[0]=D):D=t[0];let[O,ke]=(0,S.useState)(D),[Ae,je]=(0,S.useState)(!0),Me;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(Me=[],t[1]=Me):Me=t[1];let[Ne,Pe]=(0,S.useState)(Me),[k,Fe]=(0,S.useState)(!0),[Ie,Le]=(0,S.useState)(!0),[A,Re]=(0,S.useState)(null),[ze,Be]=(0,S.useState)(null),[Ve,He]=(0,S.useState)(null),Ue=(0,S.useRef)(null),We;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(We={setProjectPath:He,setName:p,setValue:h,setRunCmd:te,setCommitMethod:pe,setValidationScript:me,setAllowAllCommands:Oe,setAllowedCommandPatterns:ke,setUseBuiltInBrowser:Fe,setProjectIcon:Re,setOriginalName:Se,setOriginalAllowAllCommands:je,setOriginalAllowedCommandPatterns:Pe,setOriginalUseBuiltInBrowser:Le,setOriginalProjectIcon:Be,setLoading:be,setSaving:ge},t[2]=We):We=t[2];let Ge=We,Ke;t[3]===n?Ke=t[4]:(Ke=()=>_e(n,Ge),t[3]=n,t[4]=Ke);let j=Ke,qe,M;t[5]===n?(qe=t[6],M=t[7]):(qe=()=>{n&&be(!0)},M=[n],t[5]=n,t[6]=qe,t[7]=M),(0,S.useLayoutEffect)(qe,M);let Je,Ye;t[8]===j?(Je=t[9],Ye=t[10]):(Je=()=>{j()},Ye=[j],t[8]=j,t[9]=Je,t[10]=Ye),(0,S.useEffect)(Je,Ye);let Xe;t[11]===T?Xe=t[12]:(Xe=[T],t[11]=T,t[12]=Xe);let Ze=he(n,Xe),Qe;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=function(e){pe(e)},t[13]=Qe):Qe=t[13];let $e=Qe,{handleProjectIconChange:et,handleProjectIconButtonClick:tt}=De(Re,Ve,Ue),nt;t[14]===n?nt=t[15]:(nt=async()=>{n&&await ye(n,te,ve)},t[14]=n,t[15]=nt);let rt=nt,it;t[16]!==E||t[17]!==O||t[18]!==_||t[19]!==j||t[20]!==f||t[21]!==c||t[22]!==r||t[23]!==Ae||t[24]!==Ne||t[25]!==xe||t[26]!==ze||t[27]!==Ie||t[28]!==A||t[29]!==n||t[30]!==g||t[31]!==k||t[32]!==y||t[33]!==m?(it=async()=>{n&&await Ce(n,{name:f,value:m,runCmd:g,commitMethod:_,validationScript:y,allowAllCommands:E,allowedCommandPatterns:O,useBuiltInBrowser:k,projectIcon:A,originalName:xe,originalAllowAllCommands:Ae,originalAllowedCommandPatterns:Ne,originalUseBuiltInBrowser:Ie,originalProjectIcon:ze},Ge,r,c,j)},t[16]=E,t[17]=O,t[18]=_,t[19]=j,t[20]=f,t[21]=c,t[22]=r,t[23]=Ae,t[24]=Ne,t[25]=xe,t[26]=ze,t[27]=Ie,t[28]=A,t[29]=n,t[30]=g,t[31]=k,t[32]=y,t[33]=m,t[34]=it):it=t[34];let at=it,N=T||b,ot=T||w;if(!n){let e;return t[35]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,C.jsx)(ie,{title:`No project selected`,children:`Please select a project from the sidebar to view its settings.`}),t[35]=e):e=t[35],e}let P;t[36]!==N||t[37]!==at||t[38]!==b?(P=(0,C.jsx)(ue,{title:`Project Settings`,description:`Configure settings for your project.`,action:(0,C.jsx)(Ee,{saving:b,disabled:N,onClick:at}),sticky:!1}),t[36]=N,t[37]=at,t[38]=b,t[39]=P):P=t[39];let st;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(st=e=>p(e.target.value),t[40]=st):st=t[40];let F;t[41]!==T||t[42]!==f?(F=(0,C.jsx)(v,{title:`Project Name`,children:(0,C.jsx)(ne,{id:`projectName`,value:f,onChange:st,placeholder:`Enter project name`,disabled:T})}),t[41]=T,t[42]=f,t[43]=F):F=t[43];let ct;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(ct=e=>h(e.target.value),t[44]=ct):ct=t[44];let I;t[45]!==T||t[46]!==m?(I=(0,C.jsx)(v,{title:`Setup Script`,description:`This script runs automatically after cloning the repo for new threads.`,children:(0,C.jsx)(se,{id:`setupScript`,value:m,onChange:ct,placeholder:`e.g. npm install`,className:`font-mono min-h-[80px] resize-none`,disabled:T})}),t[45]=T,t[46]=m,t[47]=I):I=t[47];let lt;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(lt=e=>me(e.target.value),t[48]=lt):lt=t[48];let L;t[49]!==T||t[50]!==y?(L=(0,C.jsx)(v,{title:`Validation Script`,description:`This script runs after each chat response. If it fails, Tarsk will try to fix issues automatically up to the retry limit.`,children:(0,C.jsx)(se,{id:`validationScript`,value:y,onChange:lt,placeholder:`e.g. npm run lint && npm test`,className:`font-mono min-h-[80px] resize-none`,disabled:T})}),t[49]=T,t[50]=y,t[51]=L):L=t[51];let ut;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(ut=e=>te(e.target.value),t[52]=ut):ut=t[52];let R;t[53]!==T||t[54]!==g?(R=(0,C.jsx)(ne,{id:`runCommand`,value:g,onChange:ut,placeholder:`e.g. npm run dev`,className:`font-mono pr-28`,disabled:T}),t[53]=T,t[54]=g,t[55]=R):R=t[55];let z;t[56]===w?z=t[57]:(z=w?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(s,{className:`h-3 w-3 animate-spin`}),`Suggesting...`]}):`Suggest`,t[56]=w,t[57]=z);let B;t[58]!==rt||t[59]!==ot||t[60]!==z?(B=(0,C.jsx)(u,{variant:`ghost`,size:`sm`,className:`absolute right-1 top-1 h-8`,onClick:rt,disabled:ot,children:z}),t[58]=rt,t[59]=ot,t[60]=z,t[61]=B):B=t[61];let V;t[62]!==R||t[63]!==B?(V=(0,C.jsx)(v,{title:`Run Command`,description:`The command to start the dev server. Leave empty to disable run functionality.`,children:(0,C.jsxs)(`div`,{className:`relative`,children:[R,B]})}),t[62]=R,t[63]=B,t[64]=V):V=t[64];let dt=_===a.PullRequest?`Feature branches are created and pull requests can be created.`:`Commits are made directly to the main branch without feature branches.`,H;t[65]!==_||t[66]!==T?(H=(0,C.jsx)(fe,{commitMethod:_,onCommitMethodChange:$e,disabled:T}),t[65]=_,t[66]=T,t[67]=H):H=t[67];let U;t[68]!==dt||t[69]!==H?(U=(0,C.jsx)(v,{title:`Commit Method`,description:dt,controlLayout:`row-end`,action:H}),t[68]=dt,t[69]=H,t[70]=U):U=t[70];let ft=!E,pt;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(pt=e=>Oe(!e),t[71]=pt):pt=t[71];let W;t[72]!==T||t[73]!==ft?(W=(0,C.jsx)(de,{value:ft,onChange:pt,disabled:T,ariaLabel:`Confirm Commands`}),t[72]=T,t[73]=ft,t[74]=W):W=t[74];let G;t[75]!==E||t[76]!==O||t[77]!==N?(G=!E&&O.length>0&&(0,C.jsx)(we,{allowAllCommands:E,patterns:O,disabled:N,onRemove:e=>ke(t=>t.filter(t=>t!==e))}),t[75]=E,t[76]=O,t[77]=N,t[78]=G):G=t[78];let K;t[79]!==W||t[80]!==G?(K=(0,C.jsx)(v,{title:`Confirm Commands`,description:`When enabled, the agent asks for approval before running bash commands, skill scripts, and browser shell calls.`,controlLayout:`row-end`,action:W,children:G}),t[79]=W,t[80]=G,t[81]=K):K=t[81];let q;t[82]!==N||t[83]!==k?(q=(0,C.jsx)(v,{title:`Built-in Browser`,description:`When enabled, Tarsk shows the Browser tab and opens detected dev URLs in the app. When disabled, the tab is hidden and URLs open in your system browser.`,controlLayout:`row-end`,action:(0,C.jsx)(de,{value:k,onChange:Fe,disabled:N,ariaLabel:`Built-in Browser`})}),t[82]=N,t[83]=k,t[84]=q):q=t[84];let mt;t[85]===Symbol.for(`react.memo_cache_sentinel`)?(mt=()=>Re(null),t[85]=mt):mt=t[85];let J;t[86]!==N||t[87]!==tt||t[88]!==et||t[89]!==A?(J=(0,C.jsx)(v,{title:`Project Icon`,description:`Choose an image to use for this project on the Projects page. It will be center-cropped to a 256×256 PNG.`,controlLayout:`row-end`,action:(0,C.jsx)(Te,{projectIcon:A,disabled:N,inputRef:Ue,onFileChange:et,onButtonClick:tt,onRemove:mt})}),t[86]=N,t[87]=tt,t[88]=et,t[89]=A,t[90]=J):J=t[90];let Y;t[91]!==F||t[92]!==I||t[93]!==L||t[94]!==V||t[95]!==U||t[96]!==K||t[97]!==q||t[98]!==J?(Y=(0,C.jsx)(le,{className:`max-w-none pt-6`,children:(0,C.jsxs)(ee,{children:[F,I,L,V,U,K,q,J]})}),t[91]=F,t[92]=I,t[93]=L,t[94]=V,t[95]=U,t[96]=K,t[97]=q,t[98]=J,t[99]=Y):Y=t[99];let X;t[100]!==P||t[101]!==Y?(X=(0,C.jsxs)(re,{className:`shrink-0`,children:[P,Y]}),t[100]=P,t[101]=Y,t[102]=X):X=t[102];let ht;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(ht=(0,C.jsx)(ae,{title:`Delete Project`}),t[103]=ht):ht=t[103];let gt;t[104]===Symbol.for(`react.memo_cache_sentinel`)?(gt=(0,C.jsx)(`div`,{className:`min-w-0`,children:(0,C.jsx)(`p`,{className:l(o.bodyMuted),children:`Permanently removes the project, its threads, and all associated storage. This action cannot be undone.`})}),t[104]=gt):gt=t[104];let Z;t[105]!==f||t[106]!==n||t[107]!==d?(Z=()=>{n&&d({id:n,name:f})},t[105]=f,t[106]=n,t[107]=d,t[108]=Z):Z=t[108];let Q;t[109]!==N||t[110]!==Z?(Q=(0,C.jsxs)(re,{className:`shrink-0 rounded-none border-t border-table-border pt-6 mt-8`,children:[ht,(0,C.jsxs)(`div`,{className:`flex flex-col items-start gap-4`,children:[gt,(0,C.jsx)(u,{type:`button`,variant:`destructive`,disabled:N,onClick:Z,children:`Delete Project`})]})]}),t[109]=N,t[110]=Z,t[111]=Q):Q=t[111];let $;return t[112]!==Ze||t[113]!==n||t[114]!==X||t[115]!==Q?($=(0,C.jsxs)(oe,{loading:Ze,children:[X,Q]},n),t[112]=Ze,t[113]=n,t[114]=X,t[115]=Q,t[116]=$):$=t[116],$}export{Oe as default};
|