tarsk 0.5.60 → 0.5.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/dist/index.js +41713 -25169
  2. package/dist/public/assets/account-view-D2h4wMCJ.js +1 -0
  3. package/dist/public/assets/alert-dialog-BpJafkQ6.js +1 -0
  4. package/dist/public/assets/api-DkhEo8tW.js +1 -0
  5. package/dist/public/assets/async-error-boundary-DR57nNXL.js +1 -0
  6. package/dist/public/assets/browser-tab-B15D-jTw.js +8 -0
  7. package/dist/public/assets/card-xQfAy2Rx.js +1 -0
  8. package/dist/public/assets/chat-dock-context-4ZMIlxAn.js +1 -0
  9. package/dist/public/assets/commit-dialog-CQH8QaWp.js +1 -0
  10. package/dist/public/assets/commit-method-fields-DYBEHZAP.js +1 -0
  11. package/dist/public/assets/context-menu-cv7nzOcn.js +1 -0
  12. package/dist/public/assets/conversation-history-view-BnhR9dL8.js +1 -0
  13. package/dist/public/assets/create-project-dialog-DCehjzue.js +6 -0
  14. package/dist/public/assets/create-repo-dialog-CVYlw8JI.js +1 -0
  15. package/dist/public/assets/delete-confirm-dialog-DoRgqETX.js +1 -0
  16. package/dist/public/assets/diff-view-B1xi9U57.js +4 -0
  17. package/dist/public/assets/editor.worker-Cn2oRESe.js +26 -0
  18. package/dist/public/assets/explorer-tab-context-8bs_tiCO.js +1 -0
  19. package/dist/public/assets/explorer-tab-view-DssrHe9f.js +2 -0
  20. package/dist/public/assets/explorer-tree-B2SnBNoL.js +1 -0
  21. package/dist/public/assets/explorer-view-B5nGnzAV.js +75 -0
  22. package/dist/public/assets/git-history-dialog-De7D-B_f.js +1 -0
  23. package/dist/public/assets/git-ops-button-DJYzg_I5.js +2 -0
  24. package/dist/public/assets/index-3N_2bBI0.css +1 -0
  25. package/dist/public/assets/index-cAZJlfDA.js +3307 -0
  26. package/dist/public/assets/interactive-WtOIgeV4.js +21 -0
  27. package/dist/public/assets/is-macos-client-BIb4ZSEa.js +1 -0
  28. package/dist/public/assets/local-tool-blocks-DlqmJ7__.js +1 -0
  29. package/dist/public/assets/main-tab-context-DHeKIUsf.js +1 -0
  30. package/dist/public/assets/mcp-server-card-DofWLHvo.js +1 -0
  31. package/dist/public/assets/merged-pr-dialog-CLaSLBzZ.js +1 -0
  32. package/dist/public/assets/model-list-controls-CRnIzfdp.js +1 -0
  33. package/dist/public/assets/monaco-BQve5vfS.css +1 -0
  34. package/dist/public/assets/monaco-D1hpqXQ0.js +1211 -0
  35. package/dist/public/assets/monaco-setup-VhLB0diG.js +1 -0
  36. package/dist/public/assets/ndjson-stream-DeGpE5o5.js +2 -0
  37. package/dist/public/assets/onboarding-Dy7KG3M5.js +46 -0
  38. package/dist/public/assets/project-env-vars-view-wQPOiCa_.js +1 -0
  39. package/dist/public/assets/project-model-aliases-view-CMEFOKJj.js +1 -0
  40. package/dist/public/assets/project-settings-view-BeKBKcaZ.js +1 -0
  41. package/dist/public/assets/project-tools-view-C7rQgJBp.js +1 -0
  42. package/dist/public/assets/providers-list-view-DqSw6lqh.js +1 -0
  43. package/dist/public/assets/pull-request-dialog-CX10DwW3.js +1 -0
  44. package/dist/public/assets/pull-with-changes-dialog-BIkrgGiK.js +1 -0
  45. package/dist/public/assets/push-before-pr-dialog-CMGZ4nuF.js +1 -0
  46. package/dist/public/assets/react-vendor-DgnPMVt4.js +22 -0
  47. package/dist/public/assets/settings-general-view-W0AXfWxp.js +1 -0
  48. package/dist/public/assets/settings-instructions-view-Dd3mwKFL.js +1 -0
  49. package/dist/public/assets/settings-list-Cyr7e0Le.js +1 -0
  50. package/dist/public/assets/settings-logs-view-CGbS3tw4.js +5 -0
  51. package/dist/public/assets/settings-mcp-servers-view-C3IkdzkJ.js +5 -0
  52. package/dist/public/assets/settings-models-view-DV2YF3YN.js +1 -0
  53. package/dist/public/assets/settings-rules-view-BnOeQFrJ.js +8 -0
  54. package/dist/public/assets/settings-skills-view-BvvWBK7C.js +3 -0
  55. package/dist/public/assets/settings-slack-view-CnCzVPQp.js +1 -0
  56. package/dist/public/assets/settings-slash-commands-view-Ds7RbQGD.js +1 -0
  57. package/dist/public/assets/settings-statistics-view-BI6827hL.js +1 -0
  58. package/dist/public/assets/settings-storage-view-Dp1y_kDe.js +1 -0
  59. package/dist/public/assets/settings-subagents-view-Cco1I1-K.js +2 -0
  60. package/dist/public/assets/settings-system-prompt-view-DZKKUgRY.js +1 -0
  61. package/dist/public/assets/settings-view-Ckzg0maK.js +2 -0
  62. package/dist/public/assets/skeleton-B_xdlo2b.js +1 -0
  63. package/dist/public/assets/slug-utils-DVB1L0_r.js +1 -0
  64. package/dist/public/assets/store-CSyJjyNs.js +7 -0
  65. package/dist/public/assets/table-CYWF-RhQ.js +1 -0
  66. package/dist/public/assets/tasks-view-tS75bdWk.js +2 -0
  67. package/dist/public/assets/terminal-panel-B5SzvdGO.js +38 -0
  68. package/dist/public/assets/terminal-panel-BrP-ENHg.css +1 -0
  69. package/dist/public/assets/thread-tool-blocks-BfowiaTH.js +1 -0
  70. package/dist/public/assets/ui-components-CuWavb_S.js +1 -0
  71. package/dist/public/assets/use-active-dock-panel-instance-CKEkba2q.js +1 -0
  72. package/dist/public/assets/use-deferred-search-DXrcdbyC.js +1 -0
  73. package/dist/public/assets/use-installed-ai-files-CTaDJ775.js +1 -0
  74. package/dist/public/assets/use-settings-page-loading-BC_wP7pl.js +1 -0
  75. package/dist/public/assets/use-suspense-resource-rX-GqyWi.js +1 -0
  76. package/dist/public/assets/use-toast-BFQ85Ly5.js +1 -0
  77. package/dist/public/assets/utils-Rlf65JHq.js +1 -0
  78. package/dist/public/assets/web-BNUbWWwf.js +1 -0
  79. package/dist/public/assets/web-CHZVpVHH.js +1 -0
  80. package/dist/public/assets/web-CaXKZtWk.js +1 -0
  81. package/dist/public/assets/web-Du8iyq0K.js +1 -0
  82. package/dist/public/browser-preview-rpc.js +58 -0
  83. package/dist/public/fonts/inter-cyrillic-ext-wght-normal.woff2 +0 -0
  84. package/dist/public/fonts/inter-cyrillic-wght-normal.woff2 +0 -0
  85. package/dist/public/fonts/inter-greek-ext-wght-normal.woff2 +0 -0
  86. package/dist/public/fonts/inter-greek-wght-normal.woff2 +0 -0
  87. package/dist/public/fonts/inter-latin-ext-wght-normal.woff2 +0 -0
  88. package/dist/public/fonts/inter-latin-wght-normal.woff2 +0 -0
  89. package/dist/public/fonts/inter-vietnamese-wght-normal.woff2 +0 -0
  90. package/dist/public/fonts/liberation-mono-regular.woff2 +0 -0
  91. package/dist/public/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.woff2 +0 -0
  92. package/dist/public/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2 +0 -0
  93. package/dist/public/fonts/plus-jakarta-sans-latin-wght-normal.woff2 +0 -0
  94. package/dist/public/fonts/plus-jakarta-sans-vietnamese-wght-normal.woff2 +0 -0
  95. package/dist/public/ide/android-studio.svg +10 -1
  96. package/dist/public/ide/antigravity.svg +3 -1
  97. package/dist/public/ide/cursor.svg +3 -12
  98. package/dist/public/ide/devin.svg +3 -1
  99. package/dist/public/ide/kiro.svg +2 -10
  100. package/dist/public/ide/terminal.svg +3 -7
  101. package/dist/public/ide/vscode.svg +5 -2
  102. package/dist/public/ide/windsurf.svg +2 -2
  103. package/dist/public/ide/xcode.svg +3 -2
  104. package/dist/public/index.html +19 -10
  105. package/dist/public/slack-app-icon.png +0 -0
  106. package/dist/scaffold-templates.json +2 -1
  107. package/package.json +10 -4
  108. package/dist/public/assets/account-view-DPM8TZiH.js +0 -1
  109. package/dist/public/assets/api-BcqwPTwD.js +0 -1
  110. package/dist/public/assets/async-error-boundary-B56Jpu_o.js +0 -1
  111. package/dist/public/assets/browser-tab-k2H96rcs.js +0 -8
  112. package/dist/public/assets/card-C2MSBS4a.js +0 -1
  113. package/dist/public/assets/commit-dialog-CPsT5k3n.js +0 -1
  114. package/dist/public/assets/context-menu-7zA2_Vvh.js +0 -1
  115. package/dist/public/assets/create-repo-dialog-wC-DyHKe.js +0 -1
  116. package/dist/public/assets/dialogs-config-C7xqDv5K.js +0 -51
  117. package/dist/public/assets/diff-view-dAnk7skm.js +0 -4
  118. package/dist/public/assets/explorer-file-drop-DaQtKkIj.js +0 -1
  119. package/dist/public/assets/explorer-tab-context-gi63e_bv.js +0 -1
  120. package/dist/public/assets/explorer-tab-view-ai_mDxBQ.js +0 -2
  121. package/dist/public/assets/explorer-tree-BZFGE0sU.js +0 -1
  122. package/dist/public/assets/explorer-view-D6MhosMA.js +0 -75
  123. package/dist/public/assets/git-history-dialog-Dd_DmfZC.js +0 -1
  124. package/dist/public/assets/git-ops-button-BhHIYXxb.js +0 -2
  125. package/dist/public/assets/history-view-DVqIaJOR.js +0 -16
  126. package/dist/public/assets/index-CyxfX_DC.css +0 -1
  127. package/dist/public/assets/index-D2AOIdVd.js +0 -75
  128. package/dist/public/assets/mcp-server-card-CuBKoFtN.js +0 -1
  129. package/dist/public/assets/merged-pr-dialog-M4vwv3lT.js +0 -1
  130. package/dist/public/assets/model-list-controls-DBAyi2PU.js +0 -1
  131. package/dist/public/assets/monaco-Br_kD0ds.css +0 -1
  132. package/dist/public/assets/monaco-D3l3Gbj2.js +0 -1209
  133. package/dist/public/assets/onboarding-BpwQ9yz5.js +0 -1
  134. package/dist/public/assets/project-env-vars-view-Cs3LO_18.js +0 -1
  135. package/dist/public/assets/project-model-aliases-view-Z5b4ZC1k.js +0 -1
  136. package/dist/public/assets/project-settings-view-BOO6FS8b.js +0 -1
  137. package/dist/public/assets/project-tools-view-cjwDYCta.js +0 -1
  138. package/dist/public/assets/providers-list-view-BBGnB3Rq.js +0 -1
  139. package/dist/public/assets/pull-request-dialog-VOoEmwTG.js +0 -1
  140. package/dist/public/assets/pull-with-changes-dialog-CoHIwHJZ.js +0 -1
  141. package/dist/public/assets/push-before-pr-dialog-9fV4cFz5.js +0 -1
  142. package/dist/public/assets/react-vendor-XZeum4Wo.js +0 -14
  143. package/dist/public/assets/settings-general-view-CDr9M3SH.js +0 -1
  144. package/dist/public/assets/settings-instructions-view-B2mWcZiS.js +0 -1
  145. package/dist/public/assets/settings-list-JqM9DgX9.js +0 -1
  146. package/dist/public/assets/settings-logs-view-BjlFrCXc.js +0 -5
  147. package/dist/public/assets/settings-mcp-servers-view-BmVtKqmN.js +0 -5
  148. package/dist/public/assets/settings-models-view-E-HNZWxO.js +0 -1
  149. package/dist/public/assets/settings-rules-view-CdOk3Osl.js +0 -8
  150. package/dist/public/assets/settings-skills-view-Cn-GySxU.js +0 -3
  151. package/dist/public/assets/settings-slash-commands-view-CqYBr6_A.js +0 -1
  152. package/dist/public/assets/settings-statistics-view-B92b4bKS.js +0 -1
  153. package/dist/public/assets/settings-subagents-view-AL0iV3gX.js +0 -2
  154. package/dist/public/assets/settings-system-prompt-view-B6CBgNW3.js +0 -1
  155. package/dist/public/assets/settings-telegram-view-DHQxRoFn.js +0 -1
  156. package/dist/public/assets/settings-view-CBLOR6Gr.js +0 -2
  157. package/dist/public/assets/skeleton-CK0EzL_G.js +0 -1
  158. package/dist/public/assets/slug-utils-CdbHvCiP.js +0 -1
  159. package/dist/public/assets/tasks-view-D1nPjESr.js +0 -2
  160. package/dist/public/assets/terminal-panel-kHJ-D0s7.css +0 -1
  161. package/dist/public/assets/terminal-panel-m9GEHtY2.js +0 -7
  162. package/dist/public/assets/ui-components-BuIiDdYp.js +0 -1
  163. package/dist/public/assets/use-deferred-search-hIqqinof.js +0 -1
  164. package/dist/public/assets/use-installed-ai-files-C1Uta9US.js +0 -1
  165. package/dist/public/assets/use-settings-page-loading-DtwNt6_e.js +0 -1
  166. package/dist/public/assets/utils-B1IYtes_.js +0 -1
  167. package/dist/public/assets/web-BF1VNxf3.js +0 -1
  168. package/dist/public/assets/web-BGxrdTO9.js +0 -1
  169. package/dist/public/assets/web-DrKfK3e-.js +0 -1
  170. package/dist/public/assets/web-LjAIxEG5.js +0 -1
  171. package/dist/public/fonts/google-sans.ttf +0 -0
  172. package/dist/public/snpro.woff2 +0 -0
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ci as t,Ti as n,wi as r}from"./interactive-WtOIgeV4.js";var i=r(),a=e(n(),1),o=t(),s=(0,a.createContext)(null);function c(e){let t=(0,i.c)(8),{children:n}=e,[r,c]=(0,a.useState)(null),[u,d]=(0,a.useState)(0),[f,p]=(0,a.useState)(null),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{d(l)},t[0]=m):m=t[0];let h=m,g;t[1]!==f||t[2]!==u||t[3]!==r?(g={pendingExplorerPath:r,setPendingExplorerPath:c,explorerRefreshTick:u,triggerExplorerRefresh:h,explorerClearPath:f,setExplorerClearPath:p},t[1]=f,t[2]=u,t[3]=r,t[4]=g):g=t[4];let _=g,v;return t[5]!==n||t[6]!==_?(v=(0,o.jsx)(s.Provider,{value:_,children:n}),t[5]=n,t[6]=_,t[7]=v):v=t[7],v}function l(e){return e+1}function u(){let e=(0,a.useContext)(s);if(!e)throw Error(`useExplorerTab must be used within an ExplorerTabProvider`);return e}export{u as n,c as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/explorer-tree-B2SnBNoL.js","assets/rolldown-runtime-aKtaBQYM.js","assets/index-cAZJlfDA.js","assets/monaco-D1hpqXQ0.js","assets/monaco-BQve5vfS.css","assets/api-DkhEo8tW.js","assets/onboarding-Dy7KG3M5.js","assets/interactive-WtOIgeV4.js","assets/alert-dialog-BpJafkQ6.js","assets/react-vendor-DgnPMVt4.js","assets/use-toast-BFQ85Ly5.js","assets/chat-dock-context-4ZMIlxAn.js","assets/store-CSyJjyNs.js","assets/explorer-tab-context-8bs_tiCO.js","assets/main-tab-context-DHeKIUsf.js","assets/use-suspense-resource-rX-GqyWi.js","assets/local-tool-blocks-DlqmJ7__.js","assets/ndjson-stream-DeGpE5o5.js","assets/thread-tool-blocks-BfowiaTH.js","assets/utils-Rlf65JHq.js","assets/index-3N_2bBI0.css","assets/async-error-boundary-DR57nNXL.js","assets/card-xQfAy2Rx.js","assets/context-menu-cv7nzOcn.js","assets/ui-components-CuWavb_S.js","assets/explorer-view-B5nGnzAV.js","assets/monaco-setup-VhLB0diG.js"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ci as t,Fr as n,Ti as r,_ as i,i as a}from"./interactive-WtOIgeV4.js";import{bt as o,ht as ee,xt as te}from"./onboarding-Dy7KG3M5.js";import{l as s}from"./monaco-D1hpqXQ0.js";import{r as c}from"./store-CSyJjyNs.js";import{t as l}from"./use-toast-BFQ85Ly5.js";import{n as u}from"./explorer-tab-context-8bs_tiCO.js";import{$ as d,A as f,O as p,Q as m,St as h,X as g,Y as _,Z as v,j as y,k as b}from"./index-cAZJlfDA.js";import{t as x}from"./async-error-boundary-DR57nNXL.js";var S=e(r(),1),C=t(),w=(0,S.lazy)(()=>s(()=>import(`./explorer-tree-B2SnBNoL.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]))),ne=(0,S.lazy)(()=>s(()=>import(`./explorer-view-B5nGnzAV.js`),__vite__mapDeps([25,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26])));function T(){let e=c(e=>e.selectedThreadId),t=y(),[r,s]=(0,S.useState)(null),[T,E]=(0,S.useState)(!0),[D,O]=(0,S.useState)(null),[k,A]=(0,S.useState)(!1),[j,M]=(0,S.useState)(!1),N=(0,S.useRef)(0),{pendingExplorerPath:P,setPendingExplorerPath:F,explorerClearPath:I,setExplorerClearPath:L,triggerExplorerRefresh:R}=u();(0,S.useEffect)(()=>{function e(e){d(e.dataTransfer)&&e.preventDefault()}return window.addEventListener(`dragover`,e),window.addEventListener(`drop`,e),()=>{window.removeEventListener(`dragover`,e),window.removeEventListener(`drop`,e)}},[]),(0,S.useEffect)(()=>{E(!0)},[e]);let z=(0,S.useCallback)(e=>{s(e),t&&E(!1)},[t]),B=(0,S.useCallback)(()=>{E(!0)},[]),V=(0,S.useCallback)(e=>{s(e),t&&E(!1)},[t]);(0,S.useEffect)(()=>{P&&(s({name:P.split(`/`).pop()??P,path:P,type:`file`}),t&&E(!1),F(null))},[t,P,F]),(0,S.useEffect)(()=>{I&&(r&&(r.path===I||r.path.startsWith(I+`/`))&&(s(null),t&&E(!0)),L(null))},[I,t,r,L]);function H(){N.current=0,M(!1)}function U(e){d(e.dataTransfer)&&(N.current+=1,M(!0))}function W(e){d(e.dataTransfer)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)}function G(e){d(e.dataTransfer)&&(N.current=Math.max(0,N.current-1),N.current===0&&M(!1))}function K(e){if(!d(e.dataTransfer))return;e.preventDefault(),H();let{files:t,skippedFolders:n}=m(e.dataTransfer);n>0&&l({title:`Folders skipped`,description:`Only files can be copied. Drop individual files instead of folders.`}),t.length!==0&&O({files:t,dirPath:``})}let q=(0,S.useCallback)((e,t)=>{N.current=0,M(!1),O({files:e,dirPath:t})},[]);async function J(){if(!(!D||!e||k)){A(!0);try{let{copied:t,failures:n}=await v(e,D.dirPath,D.files);t.length>0&&R(),l(g(D,t.length,n))}finally{A(!1),O(null)}}}let Y={onDragEnter:U,onDragOver:W,onDragLeave:G,onDrop:K},X=j?(0,C.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-50 flex items-center justify-center bg-background/70`,children:(0,C.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border-2 border-dashed border-primary bg-background px-6 py-4`,children:[(0,C.jsx)(i,{className:`h-4 w-4 text-primary`}),(0,C.jsx)(`span`,{className:n.label,children:`Drop files to copy them into the repository`})]})}):null,Z=(0,C.jsx)(ee,{className:`h-full`,children:e?(0,C.jsx)(h,{threadId:e,children:(0,C.jsx)(x,{fallbackTitle:`Failed to load files`,children:(0,C.jsx)(S.Suspense,{fallback:(0,C.jsx)(te,{}),children:(0,C.jsx)(w,{threadId:e,selectedPath:r?.path??null,onNodeSelect:z,onFilesDrop:q})})})}):(0,C.jsx)(`p`,{className:a(n.caption,`px-3 py-4 text-center`),children:`No thread selected.`})}),Q=(0,C.jsx)(S.Suspense,{fallback:(0,C.jsx)(o,{}),children:(0,C.jsx)(ne,{selectedFile:r,showTreeBackButton:t&&!T,onShowTree:B,onFileCreated:V})}),$=(0,C.jsx)(_,{pendingDrop:D,dropCopying:k,onConfirm:()=>{J()},onDismiss:()=>{O(null)}});return t?(0,C.jsxs)(`div`,{className:`relative flex h-full flex-col overflow-hidden`,...Y,children:[X,$,(0,C.jsx)(`div`,{className:a(`flex-1 min-h-0 overflow-hidden`,!T&&`hidden`),children:Z}),(0,C.jsx)(`div`,{className:a(`flex-1 min-h-0 overflow-hidden`,T&&`hidden`),children:Q})]}):(0,C.jsxs)(`div`,{className:`relative flex h-full flex-col overflow-hidden`,...Y,children:[X,$,(0,C.jsxs)(f,{direction:`horizontal`,className:`flex-1 overflow-hidden`,children:[(0,C.jsx)(b,{defaultSize:25,minSize:15,maxSize:50,className:`overflow-hidden border-r border-border`,children:Z}),(0,C.jsx)(p,{withHandle:!0}),(0,C.jsx)(b,{className:`overflow-hidden`,children:Q})]})]})}export{T as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ci as t,Fr as n,Ft as r,Mt as i,Nt as a,Ti as o,fn as s,i as c,mn as l,wi as u,z as d}from"./interactive-WtOIgeV4.js";import{f,x as p,xt as m,yt as h}from"./onboarding-Dy7KG3M5.js";import{t as g}from"./use-toast-BFQ85Ly5.js";import{a as _,c as v,i as y,n as b,r as x,t as S}from"./alert-dialog-BpJafkQ6.js";import{n as C}from"./explorer-tab-context-8bs_tiCO.js";import{l as w,n as T,o as E,r as D,s as O,t as k}from"./api-DkhEo8tW.js";import{n as A,t as j}from"./use-suspense-resource-rX-GqyWi.js";import{$ as M,Ct as N,Q as P,_t as ee,rt as te,vt as F,yt as I}from"./index-cAZJlfDA.js";import{a as L,i as R,n as z,r as B,t as ne}from"./context-menu-cv7nzOcn.js";import{t as re}from"./async-error-boundary-DR57nNXL.js";import{t as V}from"./ui-components-CuWavb_S.js";var H=u(),U=e(o(),1),W=t(),G=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=c(`flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(V,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});G.displayName=V.displayName;var K=U.forwardRef((e,t)=>{let n=(0,H.c)(10),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,W.jsx)(d,{className:`mr-2 h-4 w-4 shrink-0 opacity-50`}),n[3]=a):a=n[3];let o;n[4]===r?o=n[5]:(o=c(`flex h-11 w-full rounded-md bg-transparent py-3 text-base outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,r),n[4]=r,n[5]=o);let s;return n[6]!==i||n[7]!==t||n[8]!==o?(s=(0,W.jsxs)(`div`,{className:`flex items-center border-b px-3`,"cmdk-input-wrapper":``,children:[a,(0,W.jsx)(V.Input,{ref:t,className:o,...i})]}),n[6]=i,n[7]=t,n[8]=o,n[9]=s):s=n[9],s});K.displayName=V.Input.displayName;var q=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=c(`max-h-[300px] overflow-y-auto overflow-x-hidden`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(V.List,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});q.displayName=V.List.displayName;var J=U.forwardRef((e,t)=>{let r=(0,H.c)(4),i;r[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=c(n.bodyMuted,`py-6 text-center`),r[0]=i):i=r[0];let a;return r[1]!==e||r[2]!==t?(a=(0,W.jsx)(V.Empty,{ref:t,className:i,...e}),r[1]=e,r[2]=t,r[3]=a):a=r[3],a});J.displayName=V.Empty.displayName;var Y=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=c(`overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(V.Group,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Y.displayName=V.Group.displayName;var ie=U.forwardRef((e,t)=>{let n=(0,H.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=c(`-mx-1 h-px bg-divider`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,W.jsx)(V.Separator,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});ie.displayName=V.Separator.displayName;var ae=U.forwardRef((e,t)=>{let r=(0,H.c)(9),i,a;r[0]===e?(i=r[1],a=r[2]):({className:i,...a}=e,r[0]=e,r[1]=i,r[2]=a);let o;r[3]===i?o=r[4]:(o=c(c(n.body,`relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`),i),r[3]=i,r[4]=o);let s;return r[5]!==a||r[6]!==t||r[7]!==o?(s=(0,W.jsx)(V.Item,{ref:t,className:o,...a}),r[5]=a,r[6]=t,r[7]=o,r[8]=s):s=r[8],s});ae.displayName=V.Item.displayName;var oe=e=>{let t=(0,H.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let a;t[3]===r?a=t[4]:(a=c(n.compact,`ml-auto tracking-widest text-muted-foreground`,r),t[3]=r,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,W.jsx)(`span`,{className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o};oe.displayName=`CommandShortcut`;var X=100,se=500;function Z(e){return e.trim().toLowerCase().split(/\s+/).filter(Boolean)}function ce(e,t){return t.length===0?!0:t.every(t=>e.haystack.includes(t))}function le(e,t,n){if(t.length===0)return[];let r=[];for(let n of e)if(ce(n,t)&&(r.push(n.node),r.length>=se))break;return r.sort((e,t)=>ue(e,t,n)).slice(0,X)}function ue(e,t,n){let r=n.trim().toLowerCase(),i=e.name.toLowerCase(),a=t.name.toLowerCase(),o=r?i.startsWith(r):!1;return o===(r?a.startsWith(r):!1)?e.type===t.type?e.path.localeCompare(t.path):e.type===`folder`?-1:1:o?-1:1}function de(e){let t=(0,H.c)(38),{items:r,isReady:a,onRequestIndex:o,onOpenChange:s,onSelect:l}=e,u=a===void 0?!1:a,d=(0,U.useRef)(null),f=(0,U.useRef)(!1),m=(0,U.useRef)(!1),[h,g]=(0,U.useState)(!1),[_,v]=(0,U.useState)(``),y=(0,U.useDeferredValue)(_),b;t[0]===o?b=t[1]:(b=function(){m.current||(m.current=!0,o())},t[0]=o,t[1]=b);let x=b,S;t[2]!==y||t[3]!==r?(S=le(r,Z(y),y),t[2]=y,t[3]=r,t[4]=S):S=t[4];let C=S,w,T;t[5]!==s||t[6]!==_?(w=()=>{let e=_.trim().length>0;g(e),f.current!==e&&(f.current=e,s(e))},T=[s,_],t[5]=s,t[6]=_,t[7]=w,t[8]=T):(w=t[7],T=t[8]),(0,U.useEffect)(w,T);let E;t[9]===s?E=t[10]:(E=function(e){e||v(``),g(e),s(e),e&&requestAnimationFrame(()=>d.current?.focus())},t[9]=s,t[10]=E);let D=E,O;t[11]!==s||t[12]!==l?(O=function(e){l(e),g(!1),s(!1),v(``)},t[11]=s,t[12]=l,t[13]=O):O=t[13];let k=O,A;t[14]===x?A=t[15]:(A=e=>{x(),v(e.target.value)},t[14]=x,t[15]=A);let j;t[16]!==_||t[17]!==x||t[18]!==A?(j=(0,W.jsx)(I,{asChild:!0,children:(0,W.jsx)(`div`,{className:`bg-transparent`,children:(0,W.jsx)(p,{ref:d,value:_,onPointerDown:x,onChange:A,placeholder:`Search files and folders`,className:`pr-[4px]`})})}),t[16]=_,t[17]=x,t[18]=A,t[19]=j):j=t[19];let M;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(M=c(n.compact,`py-4`),t[20]=M):M=t[20];let N=u?`No matches found.`:`Indexing files and folders...`,P;t[21]===N?P=t[22]:(P=(0,W.jsx)(J,{className:M,children:N}),t[21]=N,t[22]=P);let L;if(t[23]!==k||t[24]!==C){let e;t[26]===k?e=t[27]:(e=e=>(0,W.jsxs)(ae,{value:e.path,onSelect:()=>k(e),className:e.ignored?`opacity-50`:void 0,children:[e.type===`folder`?(0,W.jsx)(i,{className:`h-4 w-4 text-muted-foreground`}):(0,W.jsx)(te,{filename:e.name}),(0,W.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,W.jsx)(`div`,{className:`truncate`,children:e.name}),(0,W.jsx)(`div`,{className:c(n.compact,`truncate text-muted-foreground`),children:e.path})]})]},e.path),t[26]=k,t[27]=e),L=C.map(e),t[23]=k,t[24]=C,t[25]=L}else L=t[25];let R;t[28]===L?R=t[29]:(R=(0,W.jsx)(Y,{children:L}),t[28]=L,t[29]=R);let z;t[30]!==P||t[31]!==R?(z=(0,W.jsx)(F,{align:`start`,side:`bottom`,sideOffset:4,onOpenAutoFocus:Q,className:`w-[var(--radix-popover-trigger-width)] p-0`,children:(0,W.jsx)(G,{shouldFilter:!1,children:(0,W.jsxs)(q,{children:[P,R]})})}),t[30]=P,t[31]=R,t[32]=z):z=t[32];let B;return t[33]!==D||t[34]!==h||t[35]!==z||t[36]!==j?(B=(0,W.jsxs)(ee,{open:h,onOpenChange:D,children:[j,z]}),t[33]=D,t[34]=h,t[35]=z,t[36]=j,t[37]=B):B=t[37],B}function Q(e){return e.preventDefault()}function fe(e,t,n){return`explorer-dir:${e}:${t}:${n}`}function pe(e){let t=(0,H.c)(12),{threadId:n,dirPath:r,version:i,children:a}=e,o;t[0]!==r||t[1]!==n||t[2]!==i?(o=fe(n,r,i),t[0]=r,t[1]=n,t[2]=i,t[3]=o):o=t[3];let s;t[4]!==r||t[5]!==n?(s=()=>E(n,r).then(me),t[4]=r,t[5]=n,t[6]=s):s=t[6];let c=j(o,s),l;t[7]!==a||t[8]!==c?(l=a(c),t[7]=a,t[8]=c,t[9]=l):l=t[9];let u;return t[10]===l?u=t[11]:(u=(0,W.jsx)(W.Fragment,{children:l}),t[10]=l,t[11]=u),u}function me(e){return e.entries}function he(e){let t=(0,H.c)(17),{defaultValue:r,onCommit:i,onCancel:a,level:o,basePadding:s,icon:c}=e,l=(0,U.useRef)(null),u,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{l.current?.focus(),l.current?.select()},d=[],t[0]=u,t[1]=d):(u=t[0],d=t[1]),(0,U.useEffect)(u,d);let p;t[2]!==a||t[3]!==i?(p=function(e){if(e.key===`Enter`){let e=l.current?.value.trim()??``;e?i(e):a()}else e.key===`Escape`&&a()},t[2]=a,t[3]=i,t[4]=p):p=t[4];let m=p,h;t[5]!==a||t[6]!==i?(h=function(){let e=l.current?.value.trim()??``;e?i(e):a()},t[5]=a,t[6]=i,t[7]=h):h=t[7];let g=h,_;t[8]!==r||t[9]!==g||t[10]!==m?(_=(0,W.jsx)(`input`,{ref:l,defaultValue:r,onKeyDown:m,onBlur:g,className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`,onClick:$}),t[8]=r,t[9]=g,t[10]=m,t[11]=_):_=t[11];let v;return t[12]!==s||t[13]!==c||t[14]!==o||t[15]!==_?(v=(0,W.jsxs)(f,{level:o,basePadding:s,className:n.conversationBody,children:[c,_]}),t[12]=s,t[13]=c,t[14]=o,t[15]=_,t[16]=v):v=t[16],v}function $(e){return e.stopPropagation()}function ge(e){return e.map(e=>({node:e,haystack:`${e.name} ${e.path}`.toLowerCase()}))}function _e(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(0,t):``}var ve=(0,U.memo)(function e({node:t,level:o,threadId:u,selectedPath:d,expandedPaths:p,getDirVersion:m,renamingPath:_,newItemIn:v,onToggleFolder:y,onSelectNode:b,onStartRename:x,onCommitRename:S,onCancelRename:C,onDelete:w,onOpen:T,onCopyReference:E,onNewFile:D,onNewFolder:O,onCommitNewItem:k,onCancelNewItem:A,dropTargetPath:j,onFolderDropTargetChange:N,onFilesDrop:ee}){let F=p.has(t.path),I=_===t.path,re=v?.dirPath===t.path&&F,V=j===t.path;return t.type===`folder`?(0,W.jsxs)(ne,{children:[(0,W.jsx)(L,{asChild:!0,children:(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(f,{level:o,basePadding:10,selected:d===t.path,className:c(n.conversationBody,t.ignored&&`opacity-50`,V&&`bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-primary`),onClick:e=>{e.stopPropagation(),y(t)},onDragOver:e=>{M(e.dataTransfer)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`copy`,V||N(t.path))},onDragLeave:e=>{M(e.dataTransfer)&&(e.currentTarget.contains(e.relatedTarget)||V&&N(null))},onDrop:e=>{if(!M(e.dataTransfer))return;e.preventDefault(),e.stopPropagation(),N(null);let{files:n,skippedFolders:r}=P(e.dataTransfer);r>0&&g({title:`Folders skipped`,description:`Only files can be copied. Drop individual files instead of folders.`}),n.length>0&&ee(n,t.path)},children:[(0,W.jsx)(`span`,{className:`text-muted-foreground w-3 flex-shrink-0`,children:F?(0,W.jsx)(l,{className:`h-3 w-3`}):(0,W.jsx)(s,{className:`h-3 w-3`})}),I?(0,W.jsxs)(W.Fragment,{children:[F?(0,W.jsx)(a,{className:`h-4 w-4 flex-shrink-0`}):(0,W.jsx)(i,{className:`h-4 w-4 flex-shrink-0`}),(0,W.jsx)(`input`,{autoFocus:!0,defaultValue:t.name,onKeyDown:e=>{if(e.key===`Enter`){let n=e.target.value.trim();n?S(t,n):C()}else e.key===`Escape`&&C()},onBlur:e=>{let n=e.target.value.trim();n?S(t,n):C()},onClick:e=>e.stopPropagation(),className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`})]}):(0,W.jsxs)(W.Fragment,{children:[F?(0,W.jsx)(a,{className:`h-4 w-4 flex-shrink-0`}):(0,W.jsx)(i,{className:`h-4 w-4 flex-shrink-0`}),(0,W.jsx)(`span`,{className:`flex-1 truncate`,children:t.name})]})]}),F&&(0,W.jsx)(`div`,{children:(0,W.jsx)(U.Suspense,{fallback:(0,W.jsx)(h,{}),children:(0,W.jsx)(pe,{threadId:u,dirPath:t.path,version:m(t.path),children:t=>(0,W.jsxs)(W.Fragment,{children:[re&&(0,W.jsx)(he,{defaultValue:``,level:o+1,basePadding:v.type===`folder`?10:22,icon:v.type===`folder`?(0,W.jsx)(i,{className:`h-4 w-4 flex-shrink-0`}):(0,W.jsx)(r,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),onCommit:k,onCancel:A}),t.map(t=>(0,W.jsx)(e,{node:t,level:o+1,threadId:u,selectedPath:d,expandedPaths:p,getDirVersion:m,renamingPath:_,newItemIn:v,onToggleFolder:y,onSelectNode:b,onStartRename:x,onCommitRename:S,onCancelRename:C,onDelete:w,onOpen:T,onCopyReference:E,onNewFile:D,onNewFolder:O,onCommitNewItem:k,onCancelNewItem:A,dropTargetPath:j,onFolderDropTargetChange:N,onFilesDrop:ee},t.path))]})})})})]})}),(0,W.jsxs)(z,{children:[(0,W.jsx)(B,{onSelect:()=>T(t),children:`Open`}),(0,W.jsx)(R,{}),(0,W.jsx)(B,{onSelect:()=>D(t.path),children:`New File...`}),(0,W.jsx)(B,{onSelect:()=>O(t.path),children:`New Folder...`}),(0,W.jsx)(R,{}),(0,W.jsx)(B,{onSelect:()=>E(t),children:`Copy Reference`}),(0,W.jsx)(B,{onSelect:()=>x(t),children:`Rename...`}),(0,W.jsx)(B,{onSelect:()=>w(t),className:`text-destructive focus:text-destructive`,children:`Delete`})]})]}):(0,W.jsxs)(ne,{children:[(0,W.jsx)(L,{asChild:!0,children:(0,W.jsxs)(f,{level:o,basePadding:22,selected:d===t.path,className:c(n.conversationBody,t.ignored&&`opacity-50`),onClick:()=>b(t),children:[(0,W.jsx)(te,{filename:t.name}),I?(0,W.jsx)(`input`,{autoFocus:!0,defaultValue:t.name,onKeyDown:e=>{if(e.key===`Enter`){let n=e.target.value.trim();n?S(t,n):C()}else e.key===`Escape`&&C()},onBlur:e=>{let n=e.target.value.trim();n?S(t,n):C()},onClick:e=>e.stopPropagation(),className:`flex-1 min-w-0 bg-transparent outline-none border border-border rounded px-1 text-base`}):(0,W.jsx)(`span`,{className:`flex-1 truncate`,children:t.name})]})}),(0,W.jsxs)(z,{children:[(0,W.jsx)(B,{onSelect:()=>T(t),children:`Open`}),(0,W.jsx)(R,{}),(0,W.jsx)(B,{onSelect:()=>D(_e(t.path)),children:`New File...`}),(0,W.jsx)(B,{onSelect:()=>O(_e(t.path)),children:`New Folder...`}),(0,W.jsx)(R,{}),(0,W.jsx)(B,{onSelect:()=>E(t),children:`Copy Reference`}),(0,W.jsx)(B,{onSelect:()=>x(t),children:`Rename...`}),(0,W.jsx)(B,{onSelect:()=>w(t),className:`text-destructive focus:text-destructive`,children:`Delete`})]})]})}),ye=new Map;function be({threadId:e,selectedPath:t,onNodeSelect:n,onFilesDrop:a}){let[o,s]=(0,U.useState)(()=>new Map([[``,0]])),[c,l]=(0,U.useState)(new Set),[u,d]=(0,U.useState)(null),[f,p]=(0,U.useState)(null),[h,j]=(0,U.useState)(null),[M,P]=(0,U.useState)(null),[ee,te]=(0,U.useState)(!1),[F,I]=(0,U.useState)([]),[R,V]=(0,U.useState)(!1),[H,G]=(0,U.useState)(!1),K=(0,U.useRef)(null),q=(0,U.useRef)(0),J=(0,U.useRef)(null),{explorerRefreshTick:Y,pendingExplorerPath:ie,setExplorerClearPath:ae}=C(),{fetchUnifiedStatus:oe}=N(),X=(0,U.useMemo)(()=>`${e}:${Y}`,[Y,e]),se=(0,U.useCallback)(e=>{(0,U.startTransition)(()=>{te(t=>t===e?t:e)})},[]),Z=(0,U.useCallback)(async()=>{if(!e)return;let t=ye.get(X);if(t){I(t),V(!0);return}if(K.current!==X){K.current=X,I([]),V(!1);try{let t=ge((await E(e,``,!0)).entries);ye.set(X,t),I(t),V(!0)}catch{I([]),V(!1)}finally{K.current===X&&(K.current=null)}}},[X,e]),ce=(0,U.useCallback)(()=>{G(!0)},[]),le=(0,U.useCallback)(()=>{ye.delete(X),I([]),V(!1)},[X]),ue=(0,U.useCallback)(()=>{le(),H&&Z()},[le,Z,H]),Q=(0,U.useCallback)(e=>o.get(e)??0,[o]),me=(0,U.useCallback)(e=>{s(t=>{let n=new Map(t);return n.set(e,(t.get(e)??0)+1),n})},[]),$=(0,U.useCallback)(t=>{e&&(A(fe(e,t,Q(t))),me(t))},[me,Q,e]),be=(0,U.useCallback)(t=>{if(!e)return;let n=t.path.split(`/`);t.type===`file`&&n.pop();let r=[],i=``;for(let e of n)i=i?`${i}/${e}`:e,r.push(i);l(e=>{let t=new Set(e);for(let e of r)t.add(e);return t})},[e]);(0,U.useEffect)(()=>{if(!e)return;let t=J.current!==null&&J.current!==e;J.current=e,t&&(s(new Map([[``,0]])),l(new Set),d(null),p(null),q.current=Y)},[Y,e]),(0,U.useEffect)(()=>{!e||Y<=q.current||(q.current=Y,s(t=>{let n=new Set([``]);for(let e of c)n.add(e);let r=new Map(t);for(let i of n){let n=t.get(i)??0;A(fe(e,i,n)),r.set(i,n+1)}return r}))},[Y,c,e]),(0,U.useEffect)(()=>{I([]),V(!1),G(!1),K.current=null},[X]),(0,U.useEffect)(()=>{!H||!e||Z()},[Z,H,e]),(0,U.useEffect)(()=>{if(!ie||!e)return;let t=ie.split(`/`);t.pop();let n=[],r=``;for(let e of t)r=r?`${r}/${e}`:e,n.push(r);if(n.length!==0){l(e=>{let t=new Set(e);for(let e of n)t.add(e);return t});for(let e of n)s(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})}},[ie,e]);function xe(e){c.has(e.path)?l(t=>{let n=new Set(t);return n.delete(e.path),n}):(l(t=>new Set(t).add(e.path)),s(t=>{if(t.has(e.path))return t;let n=new Map(t);return n.set(e.path,0),n}))}function Se(e){j(e)}async function Ce(t){try{await O(e,t.path)}catch{g({title:`Error`,description:`Failed to open "${t.name}"`,variant:`destructive`})}}async function we(e){try{await navigator.clipboard.writeText(e.path);let t=g({title:`Copied`,description:`Reference copied to clipboard.`});window.setTimeout(()=>{t.dismiss()},2e3)}catch{g({title:`Error`,description:`Failed to copy reference for "${e.name}"`,variant:`destructive`})}}async function Te(){if(!h)return;let t=h;j(null);try{await D(e,t.path),ae(t.path),$(_e(t.path)),ue(),oe(!0),l(e=>{let n=new Set(e);for(let e of n)(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}),s(e=>{let n=new Map(e);for(let e of n.keys())(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n})}catch{g({title:`Error`,description:`Failed to move "${t.name}" to trash`,variant:`destructive`})}}function Ee(e){p(null),d(e.path)}async function De(t,n){if(n===t.name){d(null);return}d(null);try{await w(e,t.path,n),$(_e(t.path)),ue(),oe(!0),t.type===`folder`&&(l(e=>{let n=new Set(e);for(let e of n)(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}),s(e=>{let n=new Map(e);for(let e of n.keys())(e===t.path||e.startsWith(t.path+`/`))&&n.delete(e);return n}))}catch{g({title:`Error`,description:`Failed to rename "${t.name}"`,variant:`destructive`})}}function Oe(e){d(null),c.has(e)||(l(t=>new Set(t).add(e)),s(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})),p({dirPath:e,type:`file`})}function ke(e){d(null),c.has(e)||(l(t=>new Set(t).add(e)),s(t=>{if(t.has(e))return t;let n=new Map(t);return n.set(e,0),n})),p({dirPath:e,type:`folder`})}async function Ae(t){if(!f)return;let{dirPath:n,type:r}=f;p(null);try{r===`file`?await k(e,n,t):await T(e,n,t),$(n),ue(),oe(!0)}catch{g({title:`Error`,description:`Failed to create ${r} "${t}"`,variant:`destructive`})}}function je(){p(null)}let Me=(0,U.useCallback)((e,t)=>{a?.(e,t)},[a]);function Ne(e){be(e),e.type===`file`&&n(e)}let Pe=f?.dirPath===``?(0,W.jsx)(he,{defaultValue:``,level:0,basePadding:f.type===`folder`?10:22,icon:f.type===`folder`?(0,W.jsx)(i,{className:`h-4 w-4 flex-shrink-0`}):(0,W.jsx)(r,{className:`h-4 w-4 flex-shrink-0 text-muted-foreground`}),onCommit:Ae,onCancel:je}):null;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(S,{open:h!==null,onOpenChange:e=>!e&&j(null),children:(0,W.jsxs)(y,{children:[(0,W.jsx)(v,{children:`Move to Trash`}),(0,W.jsxs)(_,{children:[`Move “`,h?.name,`” to trash?`]}),(0,W.jsxs)(`div`,{className:`flex gap-3 justify-end`,children:[(0,W.jsx)(x,{children:`Cancel`}),(0,W.jsx)(b,{onClick:()=>void Te(),children:`Move to Trash`})]})]})}),(0,W.jsx)(`div`,{className:`border-b border-border px-2 py-2`,children:(0,W.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,W.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,W.jsx)(de,{items:F,isReady:R,onRequestIndex:ce,onOpenChange:se,onSelect:e=>Ne(e)},X)})})}),(0,W.jsxs)(ne,{children:[(0,W.jsx)(L,{asChild:!0,disabled:ee,children:(0,W.jsx)(`div`,{className:`py-2 min-h-full`,children:(0,W.jsx)(re,{fallbackTitle:`Failed to load files`,onRetry:()=>$(``),children:(0,W.jsx)(U.Suspense,{fallback:(0,W.jsx)(m,{}),children:(0,W.jsx)(pe,{threadId:e,dirPath:``,version:Q(``),children:r=>(0,W.jsxs)(W.Fragment,{children:[Pe,r.map(r=>(0,W.jsx)(ve,{node:r,level:0,threadId:e,selectedPath:t,expandedPaths:c,getDirVersion:Q,renamingPath:u,newItemIn:f,onToggleFolder:xe,onSelectNode:n,onStartRename:Ee,onCommitRename:De,onCancelRename:()=>d(null),onDelete:Se,onOpen:Ce,onCopyReference:we,onNewFile:Oe,onNewFolder:ke,onCommitNewItem:Ae,onCancelNewItem:je,dropTargetPath:M,onFolderDropTargetChange:P,onFilesDrop:Me},r.path))]})})})})})}),(0,W.jsxs)(z,{children:[(0,W.jsx)(B,{onSelect:()=>Oe(``),children:`New File...`}),(0,W.jsx)(B,{onSelect:()=>ke(``),children:`New Folder...`})]})]})]})}export{be as default};
@@ -0,0 +1,75 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ci as t,Fr as n,Jn as r,Kt as i,Lt as a,Rt as o,Ti as s,Y as c,hn as l,hr as u,i as d,in as ee,mr as f,mt as p,q as te,tt as ne,wi as m}from"./interactive-WtOIgeV4.js";import{d as h}from"./react-vendor-DgnPMVt4.js";import{Jn as g,bt as _,wo as v,xa as re}from"./onboarding-Dy7KG3M5.js";import{r as ie}from"./store-CSyJjyNs.js";import{t as y}from"./use-toast-BFQ85Ly5.js";import{n as b}from"./explorer-tab-context-8bs_tiCO.js";import{a as x,c as S,i as C,o as w,s as T,t as ae,u as oe}from"./api-DkhEo8tW.js";import{n as E,t as D}from"./use-suspense-resource-rX-GqyWi.js";import{n as se}from"./utils-Rlf65JHq.js";import{Dt as ce,Mt as le,Nt as ue,Ot as de,Tt as fe,wt as pe}from"./index-cAZJlfDA.js";import{t as O}from"./async-error-boundary-DR57nNXL.js";import"./monaco-setup-VhLB0diG.js";var k=m(),A=e(s(),1),j=t(),M=r(`explorer.preview`),N=[{label:`Markdown`,ext:`md`,icon:o},{label:`TypeScript`,ext:`ts`,icon:i},{label:`Text`,ext:`txt`,icon:a}];async function P(e,t){try{let n=await w(e,``),r=new Set(n.entries.map(e=>e.name)),i=`untitled`,a=`${i}.${t}`,o=2;for(;r.has(a);)a=`${i}${o}.${t}`,o++;return a}catch{return`untitled.${t}`}}function F(e){return u(e)===`md`}function I(e){return{ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,json:`json`,md:`markdown`,mdc:`markdown`,css:`css`,scss:`scss`,html:`html`,py:`python`,sh:`shell`,yaml:`yaml`,yml:`yaml`,xml:`xml`,sql:`sql`}[u(e)]??`plaintext`}function L(e,t){return`explorer-file:${e}:${t}`}function R(e){let t=(0,k.c)(11),{threadId:n,path:r,contentKey:i,onContentReady:a}=e,o;t[0]!==r||t[1]!==n?(o=L(n,r),t[0]=r,t[1]=n,t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==n?(s=async()=>{try{return await x(n,r)}catch(e){let t=e;throw z(`Failed to load explorer file preview`,{threadId:n,path:r},t),t}},t[3]=r,t[4]=n,t[5]=s):s=t[5];let c=D(o,s),l,u;return t[6]!==i||t[7]!==a||t[8]!==c.content?(l=()=>{a({key:i,content:c.content,original:c.content})},u=[a,c.content,i],t[6]=i,t[7]=a,t[8]=c.content,t[9]=l,t[10]=u):(l=t[9],u=t[10]),(0,A.useLayoutEffect)(l,u),null}function z(e,t,n){M.error(e,{...t,error:n})}function B(e,t){return`explorer-media:${e}:${t}`}function V(e,t){let n=(0,k.c)(11),r;n[0]!==t||n[1]!==e?(r=B(e,t),n[0]=t,n[1]=e,n[2]=r):r=n[2];let i;n[3]!==t||n[4]!==e?(i=async()=>{try{return await C(e,t)}catch(n){let r=n;throw z(`Failed to load explorer media preview`,{threadId:e,path:t},r),r}},n[3]=t,n[4]=e,n[5]=i):i=n[5];let a=D(r,i),o;n[6]===a?o=n[7]:(o=URL.createObjectURL(a),n[6]=a,n[7]=o);let s=o,c,l;return n[8]===s?(c=n[9],l=n[10]):(c=()=>()=>{URL.revokeObjectURL(s)},l=[s],n[8]=s,n[9]=c,n[10]=l),(0,A.useEffect)(c,l),s}function me(e){let t=(0,k.c)(3),{threadId:n,path:r,alt:i}=e,a=V(n,r),o;return t[0]!==i||t[1]!==a?(o=(0,j.jsx)(`div`,{className:`flex items-center justify-center h-full p-4 overflow-auto`,children:(0,j.jsx)(`img`,{src:a,alt:i,className:`max-w-full max-h-full object-contain`})}),t[0]=i,t[1]=a,t[2]=o):o=t[2],o}function he(e){let t=(0,k.c)(2),{threadId:n,path:r}=e,i=V(n,r),a;return t[0]===i?a=t[1]:(a=(0,j.jsx)(`div`,{className:`flex items-center justify-center h-full p-4`,children:(0,j.jsx)(`video`,{src:i,controls:!0,className:`max-w-full max-h-full`})}),t[0]=i,t[1]=a),a}function H({selectedFile:e,showTreeBackButton:t=!1,onShowTree:r,onFileCreated:i}){let{resolvedTheme:a}=se(),s=ie(e=>e.selectedThreadId),{triggerExplorerRefresh:u}=b(),m=(0,A.useRef)(null),x=(0,A.useRef)(null),C=(0,A.useRef)(!1),[w,D]=(0,A.useState)(null),[k,M]=(0,A.useState)(!1),[V,H]=(0,A.useState)(!1),[U,W]=(0,A.useState)(`edit`),[ge,_e]=(0,A.useState)(0),[G,ve]=(0,A.useState)(null),[K,q]=(0,A.useState)(!1),ye=e?.path??null;(0,A.useEffect)(()=>{s&&g(s).then(ve).catch(()=>{})},[s]);let be=async()=>{if(!(!G||K)){q(!0);try{await navigator.clipboard.writeText(G),y({title:`Copied`,description:`Repository folder path copied to clipboard.`})}catch(e){z(`Failed to copy explorer folder path`,{threadId:s,folderPath:G},e),y({title:`Error`,description:`Failed to copy path to clipboard.`,variant:`destructive`})}finally{q(!1)}}},xe=async()=>{if(s)try{await T(s,`.`)}catch(e){z(`Failed to open explorer repository folder`,{threadId:s,folderPath:G},e),y({title:`Error`,description:`Failed to open repository folder.`,variant:`destructive`})}},Se=(0,A.useCallback)(async e=>{if(s)try{let t=await P(s,e);await ae(s,``,t);let n={name:t,path:t,type:`file`};x.current=t,C.current=!0,i?.(n),u(),y({title:`Created`,description:`${t} created successfully.`})}catch(t){z(`Failed to create explorer file`,{threadId:s,extension:e},t),y({title:`Error`,description:`Failed to create file.`,variant:`destructive`})}},[s,i,u]),J=e?f(e.path,e.name):null,Y=e?.type===`file`&&s&&!J?e:null,X=Y?`${s}:${Y.path}:${ge}`:null,Z=w&&w.key===X?w:null,Q=Z?.content??``,Ce=Z?.original??``;(0,A.useEffect)(()=>()=>{m.current&&=(m.current.getModel()?.dispose(),m.current.dispose(),null)},[]),(0,A.useEffect)(()=>{e?.type===`file`?x.current===e.path?(x.current=null,W(`edit`)):W(F(e.path)?`view`:`edit`):W(`edit`)},[ye,s]);async function $(){if(!(!s||!e||!X)){M(!0);try{await oe(s,e.path,Q),D({key:X,content:Q,original:Q}),y({title:`Saved`,description:`${e.name} saved successfully.`})}catch(t){z(`Failed to save explorer file`,{threadId:s,path:e.path},t),y({title:`Error`,description:t instanceof Error?t.message:`Failed to save file`,variant:`destructive`})}finally{M(!1)}}}async function we(){if(!(!s||!e||V)){H(!0);try{if(!re()){if(typeof window>`u`)return;let t=document.querySelector(`[data-markdown-print-content]`);if(!(t instanceof HTMLElement)){y({title:`Print unavailable`,description:`Couldn't find the markdown preview to print.`,variant:`destructive`});return}let n=`<!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>${e.name??`Markdown document`}</title>
7
+ <style>
8
+ :root {
9
+ color-scheme: light;
10
+ font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
11
+ line-height: 1.5;
12
+ }
13
+ * {
14
+ box-sizing: border-box;
15
+ }
16
+ body {
17
+ margin: 0;
18
+ background: white;
19
+ color: black;
20
+ }
21
+ .markdown-print-shell {
22
+ max-width: 900px;
23
+ margin: 0 auto;
24
+ padding: 32px;
25
+ }
26
+ img, video, svg {
27
+ max-width: 100%;
28
+ height: auto;
29
+ }
30
+ pre {
31
+ white-space: pre-wrap;
32
+ overflow-wrap: anywhere;
33
+ border: 1px solid #d4d4d8;
34
+ border-radius: 8px;
35
+ padding: 12px;
36
+ background: #f4f4f5;
37
+ }
38
+ code {
39
+ white-space: pre-wrap;
40
+ overflow-wrap: anywhere;
41
+ }
42
+ table {
43
+ width: 100%;
44
+ border-collapse: collapse;
45
+ }
46
+ th, td {
47
+ border: 1px solid #d4d4d8;
48
+ padding: 8px;
49
+ text-align: left;
50
+ }
51
+ @page {
52
+ margin: 0.75in;
53
+ }
54
+ @media print {
55
+ body {
56
+ -webkit-print-color-adjust: exact;
57
+ print-color-adjust: exact;
58
+ }
59
+ .markdown-print-shell {
60
+ max-width: none;
61
+ padding: 0;
62
+ }
63
+ }
64
+ </style>
65
+ </head>
66
+ <body>
67
+ <main class="markdown-print-shell">${t.innerHTML}</main>
68
+ <script>
69
+ window.addEventListener("load", () => {
70
+ window.focus();
71
+ window.print();
72
+ }, { once: true });
73
+ <\/script>
74
+ </body>
75
+ </html>`,r=window.open(``,`_blank`,`noopener,noreferrer`);if(!r){y({title:`Print blocked`,description:`Allow pop-ups to print this file.`,variant:`destructive`});return}r.document.open(),r.document.write(n),r.document.close();return}y({title:`PDF created`,description:`Opened ${(await S(s,e.path)).outputPath.split(/[\\/]/).pop()??`the PDF`} in your default app.`})}catch(t){z(`Failed to print markdown file as PDF`,{threadId:s,path:e.path},t),y({title:`PDF export failed`,description:t instanceof Error?t.message:`Failed to convert this markdown file to PDF.`,variant:`destructive`})}finally{H(!1)}}}function Te(){!s||!Y||(E(L(s,Y.path)),_e(e=>e+1))}return s?(0,j.jsxs)(`div`,{className:`explorer-view-root flex flex-col h-full print:block print:h-auto`,children:[(0,j.jsxs)(ue,{className:`justify-between print:hidden`,children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[t&&r?(0,j.jsxs)(v,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-muted-foreground electrobun-webkit-app-region-no-drag`,onClick:r,children:[(0,j.jsx)(ne,{className:`h-4 w-4`}),(0,j.jsx)(`span`,{className:`sr-only`,children:`Show file tree`})]}):null,(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,j.jsx)(`span`,{className:d(n.label,`truncate leading-normal text-foreground`),children:e?e.name:`Select a file to edit`}),(0,j.jsx)(`span`,{className:d(n.compact,`truncate text-muted-foreground`),children:e?e.path:`Browse and edit repository files`})]})]}),(0,j.jsxs)(`div`,{className:`flex gap-2`,children:[Y&&Z?(0,j.jsxs)(j.Fragment,{children:[F(Y.path)&&U===`view`?(0,j.jsxs)(v,{size:`sm`,variant:`outline`,onClick:()=>void we(),disabled:V,children:[V?(0,j.jsx)(p,{className:`h-4 w-4 animate-spin`}):(0,j.jsx)(te,{className:`h-4 w-4`}),V?`Printing…`:`Print`]}):null,F(Y.path)?(0,j.jsxs)(`div`,{className:`flex rounded-full border border-input bg-background p-0.5`,children:[(0,j.jsx)(v,{size:`sm`,variant:U===`view`?`secondary`:`ghost`,className:`h-7 px-3`,onClick:()=>W(`view`),children:`View`}),(0,j.jsx)(v,{size:`sm`,variant:U===`edit`?`secondary`:`ghost`,className:`h-7 px-3`,onClick:()=>W(`edit`),children:`Edit`})]}):null,(0,j.jsxs)(v,{size:`sm`,onClick:()=>void $(),disabled:k||!Q||Q===Ce,children:[k?(0,j.jsx)(p,{className:`h-4 w-4 animate-spin`}):null,`Save`]})]}):null,e?null:(0,j.jsxs)(fe,{children:[(0,j.jsx)(le,{asChild:!0,children:(0,j.jsxs)(v,{size:`sm`,className:`gap-1.5`,children:[(0,j.jsx)(c,{className:`h-3.5 w-3.5`}),`New file`]})}),(0,j.jsx)(ce,{align:`end`,children:N.map(({label:e,ext:t,icon:n})=>(0,j.jsxs)(de,{onSelect:()=>void Se(t),children:[(0,j.jsx)(n,{className:`h-4 w-4`}),e]},t))})]})]})]}),(0,j.jsx)(`div`,{className:`flex-1 overflow-hidden print:overflow-visible print:flex-none`,children:(0,j.jsx)(`div`,{className:`h-full relative overflow-hidden print:h-auto print:overflow-visible`,children:Y?(0,j.jsxs)(O,{fallbackTitle:`Failed to load file`,onRetry:Te,children:[(0,j.jsx)(A.Suspense,{fallback:(0,j.jsx)(_,{}),children:(0,j.jsx)(R,{threadId:s,path:Y.path,contentKey:X??``,onContentReady:D},X??void 0)}),Z?F(Y.path)&&U===`view`?(0,j.jsx)(`div`,{className:`h-full overflow-auto p-6 print:h-auto print:overflow-visible print:p-0`,children:(0,j.jsx)(`div`,{className:`mx-auto max-w-4xl print:max-w-none`,"data-markdown-print-content":!0,children:(0,j.jsx)(pe,{content:Q,enableMermaid:!0})})}):(0,j.jsx)(h,{height:`100%`,language:I(Y.path),value:Q,onChange:e=>D(t=>t&&{...t,content:e??``}),onMount:e=>{m.current=e,C.current&&(C.current=!1,e.focus())},theme:a===`dark`?`vs-dark`:`vs-light`,options:{minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:`on`,automaticLayout:!0,fontSize:14,lineNumbers:`on`,renderLineHighlight:`line`,scrollbar:{vertical:`auto`,horizontal:`auto`}}}):(0,j.jsx)(_,{})]},X??void 0):e?.type===`file`&&J===`image`?(0,j.jsx)(O,{fallbackTitle:`Failed to load image`,onRetry:()=>{!s||!e||E(B(s,e.path))},children:(0,j.jsx)(A.Suspense,{fallback:(0,j.jsx)(_,{}),children:(0,j.jsx)(me,{threadId:s,path:e.path,alt:e.name})})},e.path):e?.type===`file`&&J===`video`?(0,j.jsx)(O,{fallbackTitle:`Failed to load video`,onRetry:()=>{!s||!e||E(B(s,e.path))},children:(0,j.jsx)(A.Suspense,{fallback:(0,j.jsx)(_,{}),children:(0,j.jsx)(he,{threadId:s,path:e.path})})},e.path):(0,j.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center p-8`,children:[(0,j.jsx)(`h2`,{className:d(n.pageTitle,`text-foreground`),children:`File Explorer`}),(0,j.jsx)(`p`,{className:d(n.pageSubtitle),children:`Browse and edit files`})]})})}),e?null:(0,j.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 px-4 py-2`,children:G?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`button`,{type:`button`,onClick:()=>void xe(),className:d(n.compact,`min-w-0 flex-1 truncate text-left font-mono text-muted-foreground hover:text-foreground hover:underline`),title:G,children:G}),(0,j.jsxs)(v,{variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0`,onClick:()=>void be(),disabled:K,children:[K?(0,j.jsx)(l,{className:`h-3.5 w-3.5`}):(0,j.jsx)(ee,{className:`h-3.5 w-3.5`}),(0,j.jsx)(`span`,{className:`sr-only`,children:`Copy path`})]})]}):(0,j.jsx)(`p`,{className:d(n.compact,`text-muted-foreground/50 italic`),children:`Loading path...`})})]}):(0,j.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center`,children:[(0,j.jsx)(o,{className:`h-8 w-8 text-muted-foreground`}),(0,j.jsx)(`p`,{className:n.bodyMuted,children:`Select a thread to browse its files`})]})}export{H as default};
@@ -0,0 +1 @@
1
+ import{Ci as e,Fr as t,i as n,mt as r,wi as i}from"./interactive-WtOIgeV4.js";import{A as a,D as o,O as s,T as c,j as l,k as u,wo as d}from"./onboarding-Dy7KG3M5.js";var f=i(),p=e();function m(e){let i=(0,f.c)(28),{open:m,onOpenChange:g,commits:_,displayedCommits:v,isLoadingMore:y,onScroll:b,currentBranch:x}=e,S;i[0]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,p.jsx)(l,{children:`Commit History`}),i[0]=S):S=i[0];let C;i[1]===x?C=i[2]:(C=(0,p.jsxs)(a,{children:[S,(0,p.jsxs)(s,{children:[`Recent commits on branch `,x]})]}),i[1]=x,i[2]=C);let w;i[3]===v?w=i[4]:(w=v.length>0?v.map(h):(0,p.jsx)(`p`,{className:n(t.bodyMuted,`text-center py-8`),children:`No commits found`}),i[3]=v,i[4]=w);let T;i[5]===y?T=i[6]:(T=y&&(0,p.jsx)(`div`,{className:`p-3 text-center`,children:(0,p.jsx)(r,{className:`h-4 w-4 animate-spin inline`})}),i[5]=y,i[6]=T);let E;i[7]!==_.length||i[8]!==v.length||i[9]!==y?(E=v.length<_.length&&!y&&(0,p.jsx)(`div`,{className:n(t.caption,`p-3 text-center`),children:`Scroll to load more`}),i[7]=_.length,i[8]=v.length,i[9]=y,i[10]=E):E=i[10];let D;i[11]!==w||i[12]!==T||i[13]!==E?(D=(0,p.jsxs)(`div`,{className:`divide-y`,children:[w,T,E]}),i[11]=w,i[12]=T,i[13]=E,i[14]=D):D=i[14];let O;i[15]!==b||i[16]!==D?(O=(0,p.jsx)(`div`,{className:`flex-1 overflow-y-auto border rounded-lg`,onScroll:b,children:D}),i[15]=b,i[16]=D,i[17]=O):O=i[17];let k;i[18]===g?k=i[19]:(k=(0,p.jsx)(u,{children:(0,p.jsx)(d,{onClick:()=>g(!1),children:`Close`})}),i[18]=g,i[19]=k);let A;i[20]!==C||i[21]!==O||i[22]!==k?(A=(0,p.jsxs)(o,{className:`max-w-2xl max-h-[80vh] flex flex-col`,children:[C,O,k]}),i[20]=C,i[21]=O,i[22]=k,i[23]=A):A=i[23];let j;return i[24]!==g||i[25]!==m||i[26]!==A?(j=(0,p.jsx)(c,{open:m,onOpenChange:g,children:A}),i[24]=g,i[25]=m,i[26]=A,i[27]=j):j=i[27],j}function h(e){return(0,p.jsxs)(`div`,{className:`p-3 hover:bg-muted/50 transition-colors`,children:[(0,p.jsx)(`p`,{className:n(t.label,`break-words`),children:e.message}),(0,p.jsxs)(`p`,{className:n(t.bodyMuted,`mt-1`),children:[(0,p.jsx)(`span`,{className:t.mono,children:e.hash.substring(0,7)}),` •`,` `,e.author,` • `,new Date(e.date).toLocaleDateString()]})]},e.hash)}export{m as GitHistoryDialog};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/commit-dialog-CQH8QaWp.js","assets/index-cAZJlfDA.js","assets/rolldown-runtime-aKtaBQYM.js","assets/monaco-D1hpqXQ0.js","assets/monaco-BQve5vfS.css","assets/api-DkhEo8tW.js","assets/onboarding-Dy7KG3M5.js","assets/interactive-WtOIgeV4.js","assets/alert-dialog-BpJafkQ6.js","assets/react-vendor-DgnPMVt4.js","assets/use-toast-BFQ85Ly5.js","assets/chat-dock-context-4ZMIlxAn.js","assets/store-CSyJjyNs.js","assets/explorer-tab-context-8bs_tiCO.js","assets/main-tab-context-DHeKIUsf.js","assets/use-suspense-resource-rX-GqyWi.js","assets/local-tool-blocks-DlqmJ7__.js","assets/ndjson-stream-DeGpE5o5.js","assets/thread-tool-blocks-BfowiaTH.js","assets/utils-Rlf65JHq.js","assets/index-3N_2bBI0.css","assets/pull-request-dialog-CX10DwW3.js","assets/create-repo-dialog-CVYlw8JI.js","assets/git-history-dialog-De7D-B_f.js","assets/push-before-pr-dialog-CMGZ4nuF.js","assets/pull-with-changes-dialog-BIkrgGiK.js"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Ci as t,Ct as n,Fr as r,G as i,Jn as a,Ot as o,Qt as s,Ti as c,_ as l,d as u,dn as d,ei as f,en as p,i as m,jt as h,kt as g,mt as _,wi as v,wn as y,xn as b}from"./interactive-WtOIgeV4.js";import{$i as x,Ct as S,Fr as C,Gi as w,Ki as T,Mr as E,Oi as D,St as O,Tt as ee,Yi as k,Zi as A,Zn as j,ea as M,f as te,fr as N,ia as P,na as ne,oa as F,qi as I,ra as re,ta as L,wo as ie,wt as R}from"./onboarding-Dy7KG3M5.js";import{l as z}from"./monaco-D1hpqXQ0.js";import{n as ae,q as B,r as oe}from"./store-CSyJjyNs.js";import{t as V}from"./use-toast-BFQ85Ly5.js";import{At as se,Ct as ce,Dt as le,F as ue,I as de,J as fe,L as H,Mt as pe,Ot as U,P as me,R as he,Tt as ge,a as _e,jt as ve,o as ye,s as be}from"./index-cAZJlfDA.js";var xe=v(),W=e(c(),1),G=t();function K(e){return!e.hasChanges&&e.defaultBranchBehind>0}function Se(e){return e.prExists&&e.prState===`OPEN`&&!e.hasChanges&&!e.hasUnpushedCommits}function q(e){return e.hasUnpushedCommits&&e.prExists}function Ce(e,t){return t?`Creating PR`:e.hasChanges?`Commit`:q(e)?`Update PR`:Se(e)?`Open PR`:e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges?`Create PR`:K(e)?`Sync`:`Commit`}function we(e,t,n=!1){return t||n||e.hasChanges||q(e)||Se(e)||e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges||!e.hasChanges&&!e.hasUnpushedCommits&&!K(e)?null:K(e)?(0,G.jsx)(y,{className:`h-3.5 w-3.5`}):(0,G.jsx)(g,{className:`h-3.5 w-3.5`})}function J(e){if(e.hasChanges)return e.changedFilesCount>0?`Commit ${e.changedFilesCount} changed file${e.changedFilesCount===1?``:`s`}`:`No changes to commit`;if(q(e))return`Update pull request with unpushed commits`;if(Se(e))return`View pull request in GitHub`;if(e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges)return`Create pull request for committed changes`;if(K(e)){let t=e.defaultBranch??`main`,n=`${e.defaultBranchBehind} commit${e.defaultBranchBehind===1?``:`s`} behind origin/${t}`,r=e.defaultBranchAhead>0?`, ${e.defaultBranchAhead} commit${e.defaultBranchAhead===1?``:`s`} ahead`:``;return e.currentBranch===e.defaultBranch?`Your branch is ${n}${r}. Click to pull the latest changes.`:`Your branch "${e.currentBranch}" is ${n}${r}. Click to rebase onto the latest ${t}.`}return`No actions available`}function Te(e,t,n=!1){return t||n?!0:Se(e)||e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges||K(e)?!1:!e.hasChanges&&!e.hasUnpushedCommits}function Ee(e){return e.hasChanges||Se(e)||q(e)||K(e)||e.commitsAheadOfDefault&&!e.prExists&&!e.hasChanges}function Y(e){let t=(0,xe.c)(104),{branchStatus:a,remoteUrl:c,hasRemoteBranch:f,hasUnpushedCommits:h,canCreateRepo:v,repoUrl:x,isRefreshing:C,isCreatingPR:w,hasChanges:T,commitsAheadOfDefault:E,prExists:D,defaultBranch:k,defaultBranchAhead:A,defaultBranchBehind:j,gitUser:M,isDirectCommitMode:te,autoGenerateCommitMessage:N,isLoading:P,isLoadingHistory:ne,isQuickCommitting:F,onFetch:I,onPull:re,onPush:L,onOpenHistory:z,onCreatePR:ae,onCreateRepo:B,onViewInGitHub:oe,onQuickCommit:V,onSyncWithDefault:ce,onOpenChange:ue,open:de,layout:fe}=e,H=w===void 0?!1:w,me=fe===void 0?`bar`:fe,_e=!!k&&!!c&&j>0,ye=!T&&!P,be;t[0]!==H||t[1]!==C?(be=H||C?(0,G.jsx)(_,{className:`h-4 w-4 shrink-0 animate-spin`}):(0,G.jsx)(d,{className:`h-4 w-4 shrink-0`}),t[0]=H,t[1]=C,t[2]=be):be=t[2];let W=be,K;t[3]!==H||t[4]!==P||t[5]!==C||t[6]!==me||t[7]!==W?(K=(0,G.jsx)(pe,{asChild:!0,children:me===`sidebar`?(0,G.jsx)(ie,{variant:`ghost`,size:`icon-sm`,className:`shrink-0 text-muted-foreground`,disabled:P||H,"aria-label":`Git Ops`,children:W}):me===`bar`?(0,G.jsx)(`button`,{type:`button`,className:`flex h-full shrink-0 items-center rounded-r-full pr-3 pl-0.5 disabled:opacity-50`,disabled:P||H,"aria-label":`Git Ops`,children:H||C?(0,G.jsx)(_,{className:m(he,`animate-spin`)}):(0,G.jsx)(d,{className:he})}):(0,G.jsxs)(ie,{variant:`outline`,size:`sm`,className:`h-8 w-full justify-start gap-2 rounded-md px-1`,disabled:P||H,children:[(0,G.jsx)(`span`,{children:`Git Ops`}),H||C?(0,G.jsx)(_,{className:`h-3.5 w-3.5 animate-spin`}):(0,G.jsx)(d,{className:`h-3.5 w-3.5`})]})}),t[3]=H,t[4]=P,t[5]=C,t[6]=me,t[7]=W,t[8]=K):K=t[8];let Se=me===`sidebar`?`start`:`end`,q;t[9]!==a||t[10]!==c?(q=a===`Behind`&&(0,G.jsxs)(`div`,{className:m(r.compact,`px-2 py-1 text-amber-600`),children:[`Branch is behind `,c?`origin`:`remote`]}),t[9]=a,t[10]=c,t[11]=q):q=t[11];let Ce;t[12]===M?Ce=t[13]:(Ce=M&&(0,G.jsxs)(`div`,{className:m(r.compact,`px-2 py-1 text-muted-foreground`),children:[(0,G.jsx)(`span`,{className:`font-medium`,children:`User:`}),` `,M]}),t[12]=M,t[13]=Ce);let we;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,G.jsx)(se,{}),t[14]=we):we=t[14];let J;t[15]!==ye||t[16]!==k||t[17]!==A||t[18]!==j||t[19]!==T||t[20]!==ce||t[21]!==_e?(J=_e&&(0,G.jsx)(R,{children:(0,G.jsxs)(O,{children:[(0,G.jsx)(ee,{asChild:!0,children:(0,G.jsxs)(U,{onClick:()=>{ye&&ce()},className:ye?``:`opacity-50 cursor-not-allowed`,children:[(0,G.jsx)(i,{className:`h-3.5 w-3.5 mr-2`}),`Sync with `,k,(0,G.jsxs)(`span`,{className:`ml-auto flex items-center gap-2 pl-3 text-xs tabular-nums text-muted-foreground`,children:[A>0&&(0,G.jsxs)(`span`,{className:`inline-flex items-center gap-0.5`,children:[(0,G.jsx)(b,{className:`h-3 w-3`}),A]}),j>0&&(0,G.jsxs)(`span`,{className:`inline-flex items-center gap-0.5`,children:[(0,G.jsx)(y,{className:`h-3 w-3`}),j]})]})]})}),(0,G.jsx)(S,{side:`right`,children:T?`Commit or stash changes before syncing with the default branch`:`Pull latest changes from origin/${k} onto your current branch`})]})}),t[15]=ye,t[16]=k,t[17]=A,t[18]=j,t[19]=T,t[20]=ce,t[21]=_e,t[22]=J):J=t[22];let Te;t[23]!==N||t[24]!==T||t[25]!==P||t[26]!==F||t[27]!==V?(Te=T&&N&&(0,G.jsx)(R,{children:(0,G.jsxs)(O,{children:[(0,G.jsx)(ee,{asChild:!0,children:(0,G.jsxs)(U,{onClick:V,disabled:P||F,children:[F?(0,G.jsx)(_,{className:`h-3.5 w-3.5 mr-2 animate-spin`}):(0,G.jsx)(u,{className:`h-3.5 w-3.5 mr-2`}),`Quick Commit`,(0,G.jsx)(ve,{children:`⌘⇧C`})]})}),(0,G.jsx)(S,{side:`right`,children:`Generate the commit message and commit`})]})}),t[23]=N,t[24]=T,t[25]=P,t[26]=F,t[27]=V,t[28]=Te):Te=t[28];let Ee;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,G.jsx)(p,{className:`h-3.5 w-3.5 mr-2`}),t[29]=Ee):Ee=t[29];let Y;t[30]!==P||t[31]!==I?(Y=(0,G.jsx)(ee,{asChild:!0,children:(0,G.jsxs)(U,{onClick:I,disabled:P,children:[Ee,`Fetch`]})}),t[30]=P,t[31]=I,t[32]=Y):Y=t[32];let X;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,G.jsx)(S,{side:`right`,children:`Download latest information from remote without merging changes`}),t[33]=X):X=t[33];let De;t[34]===Y?De=t[35]:(De=(0,G.jsx)(R,{children:(0,G.jsxs)(O,{children:[Y,X]})}),t[34]=Y,t[35]=De);let Z;t[36]!==f||t[37]!==P||t[38]!==re?(Z=()=>{f&&!P&&re()},t[36]=f,t[37]=P,t[38]=re,t[39]=Z):Z=t[39];let Oe=!f||P?`opacity-50 cursor-not-allowed`:``,ke;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,G.jsx)(y,{className:`h-3.5 w-3.5 mr-2`}),t[40]=ke):ke=t[40];let Ae;t[41]!==Z||t[42]!==Oe?(Ae=(0,G.jsx)(ee,{asChild:!0,children:(0,G.jsxs)(U,{onClick:Z,className:Oe,children:[ke,`Pull`]})}),t[41]=Z,t[42]=Oe,t[43]=Ae):Ae=t[43];let je=f?`Pull latest changes from remote`:`No remote branch to pull from`,Me;t[44]===je?Me=t[45]:(Me=(0,G.jsx)(S,{side:`right`,children:je}),t[44]=je,t[45]=Me);let Ne;t[46]!==Ae||t[47]!==Me?(Ne=(0,G.jsx)(R,{children:(0,G.jsxs)(O,{children:[Ae,Me]})}),t[46]=Ae,t[47]=Me,t[48]=Ne):Ne=t[48];let Pe;t[49]!==f||t[50]!==P||t[51]!==L?(Pe=!f&&(0,G.jsx)(R,{children:(0,G.jsxs)(O,{children:[(0,G.jsx)(ee,{asChild:!0,children:(0,G.jsxs)(U,{onClick:L,disabled:P,children:[(0,G.jsx)(l,{className:`h-3.5 w-3.5 mr-2`}),`Push Branch to Remote`]})}),(0,G.jsx)(S,{side:`right`,children:`Create remote branch and push local commits`})]})}),t[49]=f,t[50]=P,t[51]=L,t[52]=Pe):Pe=t[52];let Fe;t[53]!==h||t[54]!==P||t[55]!==L?(Fe=()=>{h&&!P&&L()},t[53]=h,t[54]=P,t[55]=L,t[56]=Fe):Fe=t[56];let Q=!h||P?`opacity-50 cursor-not-allowed`:``,Ie;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,G.jsx)(l,{className:`h-3.5 w-3.5 mr-2`}),t[57]=Ie):Ie=t[57];let Le;t[58]!==Fe||t[59]!==Q?(Le=(0,G.jsx)(ee,{asChild:!0,children:(0,G.jsxs)(U,{onClick:Fe,className:Q,children:[Ie,`Push Commits`]})}),t[58]=Fe,t[59]=Q,t[60]=Le):Le=t[60];let Re=h?P?`Push in progress...`:`Push your uncommitted commits to the remote branch`:`No commits to push - your branch is up to date with remote`,ze;t[61]===Re?ze=t[62]:(ze=(0,G.jsx)(S,{side:`right`,children:Re}),t[61]=Re,t[62]=ze);let $;t[63]!==Le||t[64]!==ze?($=(0,G.jsx)(R,{children:(0,G.jsxs)(O,{children:[Le,ze]})}),t[63]=Le,t[64]=ze,t[65]=$):$=t[65];let Be=P||ne,Ve;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=(0,G.jsx)(n,{className:`h-3.5 w-3.5 mr-2`}),t[66]=Ve):Ve=t[66];let He;t[67]!==z||t[68]!==Be?(He=(0,G.jsxs)(U,{onClick:z,disabled:Be,children:[Ve,`History`]}),t[67]=z,t[68]=Be,t[69]=He):He=t[69];let Ue;t[70]!==E||t[71]!==T||t[72]!==te||t[73]!==P||t[74]!==ae||t[75]!==D?(Ue=!te&&E&&!D&&!T&&(0,G.jsxs)(U,{onClick:ae,disabled:P,children:[(0,G.jsx)(g,{className:`h-3.5 w-3.5 mr-2`}),`Create Pull Request`,(0,G.jsx)(ve,{children:`⌘⇧P`})]}),t[70]=E,t[71]=T,t[72]=te,t[73]=P,t[74]=ae,t[75]=D,t[76]=Ue):Ue=t[76];let We;t[77]!==v||t[78]!==P||t[79]!==B?(We=v&&(0,G.jsxs)(U,{onClick:B,disabled:P,children:[(0,G.jsx)(o,{className:`h-3.5 w-3.5 mr-2`}),`Create Repo`]}),t[77]=v,t[78]=P,t[79]=B,t[80]=We):We=t[80];let Ge;t[81]!==P||t[82]!==oe||t[83]!==x?(Ge=x&&(0,G.jsxs)(U,{onClick:oe,disabled:P,children:[(0,G.jsx)(s,{className:`h-3.5 w-3.5 mr-2`}),`View in GitHub`,(0,G.jsx)(ve,{children:`⌘⇧G`})]}),t[81]=P,t[82]=oe,t[83]=x,t[84]=Ge):Ge=t[84];let Ke;t[85]!==Te||t[86]!==De||t[87]!==Ne||t[88]!==Pe||t[89]!==$||t[90]!==He||t[91]!==Ue||t[92]!==We||t[93]!==Ge||t[94]!==Se||t[95]!==q||t[96]!==Ce||t[97]!==J?(Ke=(0,G.jsxs)(le,{align:Se,children:[q,Ce,we,J,Te,De,Ne,Pe,$,He,Ue,We,Ge]}),t[85]=Te,t[86]=De,t[87]=Ne,t[88]=Pe,t[89]=$,t[90]=He,t[91]=Ue,t[92]=We,t[93]=Ge,t[94]=Se,t[95]=q,t[96]=Ce,t[97]=J,t[98]=Ke):Ke=t[98];let qe;return t[99]!==ue||t[100]!==de||t[101]!==Ke||t[102]!==K?(qe=(0,G.jsxs)(ge,{open:de,onOpenChange:ue,children:[K,Ke]}),t[99]=ue,t[100]=de,t[101]=Ke,t[102]=K,t[103]=qe):qe=t[103],qe}var X=(0,W.lazy)(()=>z(()=>import(`./commit-dialog-CQH8QaWp.js`).then(e=>({default:e.CommitDialog})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]))),De=(0,W.lazy)(()=>z(()=>import(`./pull-request-dialog-CX10DwW3.js`).then(e=>({default:e.PullRequestDialog})),__vite__mapDeps([21,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]))),Z=(0,W.lazy)(()=>z(()=>import(`./create-repo-dialog-CVYlw8JI.js`).then(e=>({default:e.CreateRepoDialog})),__vite__mapDeps([22,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]))),Oe=(0,W.lazy)(()=>z(()=>import(`./git-history-dialog-De7D-B_f.js`).then(e=>({default:e.GitHistoryDialog})),__vite__mapDeps([23,6,2,7]))),ke=(0,W.lazy)(()=>z(()=>import(`./push-before-pr-dialog-CMGZ4nuF.js`).then(e=>({default:e.PushBeforePRDialog})),__vite__mapDeps([24,6,2,7]))),Ae=(0,W.lazy)(()=>z(()=>import(`./pull-with-changes-dialog-BIkrgGiK.js`).then(e=>({default:e.PullWithChangesDialog})),__vite__mapDeps([25,6,2,7])));function je(){return null}function Me(e){let t=(0,xe.c)(67),{isLoading:n,currentBranch:r,commit:i,pullRequest:a,pushBeforePR:o,createRepo:s,history:c,pullWithChanges:l}=e,u;t[0]!==i.autoGenerate||t[1]!==i.isGenerating||t[2]!==i.isOpen||t[3]!==i.message||t[4]!==i.onAutoGenerateChange||t[5]!==i.onCommit||t[6]!==i.onGenerateMessage||t[7]!==i.onMessageChange||t[8]!==i.onOpenChange||t[9]!==r||t[10]!==n?(u=i.isOpen&&(0,G.jsx)(W.Suspense,{fallback:(0,G.jsx)(je,{}),children:(0,G.jsx)(X,{open:i.isOpen,onOpenChange:i.onOpenChange,commitMessage:i.message,onCommitMessageChange:i.onMessageChange,autoGenerateCommitMessage:i.autoGenerate,onAutoGenerateChange:i.onAutoGenerateChange,isGeneratingMessage:i.isGenerating,isLoading:n,onGenerateMessage:i.onGenerateMessage,onCommit:i.onCommit,currentBranch:r})}),t[0]=i.autoGenerate,t[1]=i.isGenerating,t[2]=i.isOpen,t[3]=i.message,t[4]=i.onAutoGenerateChange,t[5]=i.onCommit,t[6]=i.onGenerateMessage,t[7]=i.onMessageChange,t[8]=i.onOpenChange,t[9]=r,t[10]=n,t[11]=u):u=t[11];let d;t[12]!==r||t[13]!==n||t[14]!==a.autoGenerate||t[15]!==a.createBranchAfterPR||t[16]!==a.description||t[17]!==a.isGeneratingInfo||t[18]!==a.isOpen||t[19]!==a.onAutoGenerateChange||t[20]!==a.onCreateBranchAfterPRChange||t[21]!==a.onCreatePR||t[22]!==a.onDescriptionChange||t[23]!==a.onGenerateInfo||t[24]!==a.onOpenChange||t[25]!==a.onTitleChange||t[26]!==a.title?(d=a.isOpen&&(0,G.jsx)(W.Suspense,{fallback:(0,G.jsx)(je,{}),children:(0,G.jsx)(De,{open:a.isOpen,onOpenChange:a.onOpenChange,prTitle:a.title,onPrTitleChange:a.onTitleChange,prDescription:a.description,onPrDescriptionChange:a.onDescriptionChange,isGeneratingPRInfo:a.isGeneratingInfo,isLoading:n,onGeneratePRInfo:a.onGenerateInfo,onCreatePR:a.onCreatePR,currentBranch:r,autoGeneratePRInfo:a.autoGenerate,onAutoGeneratePRInfoChange:a.onAutoGenerateChange,createBranchAfterPR:a.createBranchAfterPR,onCreateBranchAfterPRChange:a.onCreateBranchAfterPRChange})}),t[12]=r,t[13]=n,t[14]=a.autoGenerate,t[15]=a.createBranchAfterPR,t[16]=a.description,t[17]=a.isGeneratingInfo,t[18]=a.isOpen,t[19]=a.onAutoGenerateChange,t[20]=a.onCreateBranchAfterPRChange,t[21]=a.onCreatePR,t[22]=a.onDescriptionChange,t[23]=a.onGenerateInfo,t[24]=a.onOpenChange,t[25]=a.onTitleChange,t[26]=a.title,t[27]=d):d=t[27];let f;t[28]!==n||t[29]!==o.isOpen||t[30]!==o.onCancel||t[31]!==o.onOpenChange||t[32]!==o.onPushAndCreatePR?(f=o.isOpen&&(0,G.jsx)(W.Suspense,{fallback:(0,G.jsx)(je,{}),children:(0,G.jsx)(ke,{open:o.isOpen,onOpenChange:o.onOpenChange,isLoading:n,onPushAndCreatePR:o.onPushAndCreatePR,onCancel:o.onCancel})}),t[28]=n,t[29]=o.isOpen,t[30]=o.onCancel,t[31]=o.onOpenChange,t[32]=o.onPushAndCreatePR,t[33]=f):f=t[33];let p;t[34]!==s.description||t[35]!==s.isOpen||t[36]!==s.isPrivate||t[37]!==s.name||t[38]!==s.onCreateRepo||t[39]!==s.onDescriptionChange||t[40]!==s.onNameChange||t[41]!==s.onOpenChange||t[42]!==s.onPrivateChange||t[43]!==n?(p=s.isOpen&&(0,G.jsx)(W.Suspense,{fallback:(0,G.jsx)(je,{}),children:(0,G.jsx)(Z,{open:s.isOpen,onOpenChange:s.onOpenChange,repoName:s.name,onRepoNameChange:s.onNameChange,repoDescription:s.description,onRepoDescriptionChange:s.onDescriptionChange,isPrivateRepo:s.isPrivate,onPrivateRepoChange:s.onPrivateChange,isLoading:n,onCreateRepo:s.onCreateRepo})}),t[34]=s.description,t[35]=s.isOpen,t[36]=s.isPrivate,t[37]=s.name,t[38]=s.onCreateRepo,t[39]=s.onDescriptionChange,t[40]=s.onNameChange,t[41]=s.onOpenChange,t[42]=s.onPrivateChange,t[43]=n,t[44]=p):p=t[44];let m;t[45]!==r||t[46]!==c.commits||t[47]!==c.displayedCommits||t[48]!==c.isLoadingMore||t[49]!==c.isOpen||t[50]!==c.onOpenChange||t[51]!==c.onScroll?(m=c.isOpen&&(0,G.jsx)(W.Suspense,{fallback:(0,G.jsx)(je,{}),children:(0,G.jsx)(Oe,{open:c.isOpen,onOpenChange:c.onOpenChange,commits:c.commits,displayedCommits:c.displayedCommits,isLoadingMore:c.isLoadingMore,onScroll:c.onScroll,currentBranch:r})}),t[45]=r,t[46]=c.commits,t[47]=c.displayedCommits,t[48]=c.isLoadingMore,t[49]=c.isOpen,t[50]=c.onOpenChange,t[51]=c.onScroll,t[52]=m):m=t[52];let h;t[53]!==n||t[54]!==l.isOpen||t[55]!==l.onCancel||t[56]!==l.onCommitFirst||t[57]!==l.onOpenChange||t[58]!==l.onStashAndPull?(h=l.isOpen&&(0,G.jsx)(W.Suspense,{fallback:(0,G.jsx)(je,{}),children:(0,G.jsx)(Ae,{open:l.isOpen,onOpenChange:l.onOpenChange,onCommitFirst:l.onCommitFirst,onStashAndPull:l.onStashAndPull,onCancel:l.onCancel,isLoading:n})}),t[53]=n,t[54]=l.isOpen,t[55]=l.onCancel,t[56]=l.onCommitFirst,t[57]=l.onOpenChange,t[58]=l.onStashAndPull,t[59]=h):h=t[59];let g;return t[60]!==u||t[61]!==d||t[62]!==f||t[63]!==p||t[64]!==m||t[65]!==h?(g=(0,G.jsxs)(G.Fragment,{children:[u,d,f,p,m,h]}),t[60]=u,t[61]=d,t[62]=f,t[63]=p,t[64]=m,t[65]=h,t[66]=g):g=t[66],g}function Ne(e){let t=e.split(`/`);return t.length>=2?{provider:t[0],model:t.slice(1).join(`/`)}:{provider:void 0,model:e}}var Pe=a(`app.use-ai-generation.hook`);function Fe(e,t,n){let[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(!1),s=()=>n?.id?n.provider?{provider:n.provider,model:n.id}:Ne(n.id):{provider:void 0,model:void 0};return{isGeneratingMessage:r,isGeneratingPRInfo:a,generateCommitMessageWithAI:(0,W.useCallback)(async()=>{if(!e)return null;try{i(!0);let{provider:t,model:n}=s();return await T(e,n,t)}catch(e){return Pe.error(`Failed to generate commit message:`,e),V({title:`Error`,description:e instanceof Error?e.message:`Failed to generate commit message`,variant:`destructive`}),null}finally{i(!1)}},[e,n]),generatePRInfoWithAI:(0,W.useCallback)(async()=>{if(!e)return null;try{o(!0);let{provider:t,model:n}=s();return await I(e,n,t)}catch(e){return Pe.error(`Failed to generate PR info:`,e),V({title:`Error`,description:e instanceof Error?e.message:`Failed to generate PR info`,variant:`destructive`}),null}finally{o(!1)}},[e,n])}}function Q(e){return e?!0:(V({title:`Error`,description:`No thread selected`,variant:`destructive`}),!1)}async function Ie(e,t,n,r){r&&(await D(e,{title:r}),n({type:B.UpdateThreadTitle,projectId:t,threadId:e,title:r}))}var Le=2e3,Re=6;function ze(e,t){let n=0;e.current!==null&&clearInterval(e.current),e.current=setInterval(async()=>{if(n++,n>=Re){e.current!==null&&(clearInterval(e.current),e.current=null);return}await t(!0)},Le)}var $=a(`app.git-ops-button.ui`),Be=10;function Ve(e){let{projectId:t,threadId:n,projectName:r,dispatch:i,aiGeneration:a,unifiedGitStatus:o}=e,[s,c]=(0,W.useState)(!1),[l,u]=(0,W.useState)(!1),[d,f]=(0,W.useState)(!1),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(``),[_,v]=(0,W.useState)(``),[y,b]=(0,W.useState)(``),[S,T]=(0,W.useState)(!1),[D,O]=(0,W.useState)(null),ee=(0,W.useRef)(!1),te=(0,W.useRef)(!1),I=(0,W.useRef)(_),ie=(0,W.useRef)(y);I.current=_,ie.current=y;let[R,z]=(0,W.useState)(!1),[ae,oe]=(0,W.useState)([]),[se,ce]=(0,W.useState)(!1),[le,ue]=(0,W.useState)([]),[de,fe]=(0,W.useState)(!1),[H,pe]=(0,W.useState)(!1),[U,me]=(0,W.useState)(``),[he,ge]=(0,W.useState)(``),[ve,xe]=(0,W.useState)(``),[G,K]=(0,W.useState)(!1),[Se,q]=(0,W.useState)(!1),[Ce,we]=(0,W.useState)(!1),[J,Te]=(0,W.useState)(!1),Ee=(0,W.useRef)(!1),Y=(0,W.useRef)(null);(0,W.useEffect)(()=>()=>{Y.current!==null&&(clearInterval(Y.current),Y.current=null)},[]);async function X(){E();let e=await N();i({type:B.SetProjects,projects:e.projects,cloneRootPath:e.cloneRootPath})}async function De(){if(Z.createBranchAfterPR)try{V({title:`New branch created`,description:`Created new branch "${(await M(n)).branchName}" from the latest default branch`}),await o.fetchUnifiedStatus(!0),X()}catch(e){$.error(`Failed to create new branch after PR:`,e),V({title:`Failed to create new branch`,description:e instanceof Error?e.message:`Unknown error occurred`,variant:`destructive`})}}let[Z,Oe]=(0,W.useState)(()=>ye());(0,W.useEffect)(()=>{H&&r&&!U&&me(r)},[H,r,U]),(0,W.useEffect)(()=>{be(Z)},[Z]);function ke(){G||(K(!0),j().then(e=>xe(e)).catch(()=>{}))}function Ae(e){Te(e),e&&(ke(),o.fetchUnifiedStatus(!0))}(0,W.useEffect)(()=>{l&&o.prExists&&o.prState===`OPEN`&&u(!1)},[o.prExists,o.prState,l]),(0,W.useEffect)(()=>{if(!l)return;let e=setTimeout(()=>{u(!1)},15e3);return()=>clearTimeout(e)},[l]),(0,W.useEffect)(()=>{let e=o.prExists&&o.prState===`OPEN`&&!o.hasChanges&&!o.hasUnpushedCommits;e&&!Ee.current&&X(),Ee.current=e},[o.hasChanges,o.hasUnpushedCommits,o.prExists,o.prState]);async function je(){if(h.trim()&&Q(n))try{c(!0),await x(n,h),g(``),f(!1),await o.fetchUnifiedStatus(!0),X(),V({title:`Changes committed successfully`,description:`Your changes have been committed to '${o.currentBranch}'.`}),Ce&&(we(!1),await He())}catch(e){$.error(`Failed to commit:`,e),V({title:`Commit failed`,description:e instanceof Error?e.message:`Failed to commit changes`,variant:`destructive`})}finally{c(!1)}}async function Me(){if(!Q(n))return;let e=o.prUrl;if(!e)try{e=(await A(n)).url}catch(e){$.error(`Failed to fetch pull request URL:`,e),V({title:`Could not open pull request`,description:e instanceof Error?e.message:`Failed to fetch pull request URL`,variant:`destructive`});return}if(!e){V({title:`Could not open pull request`,description:`Pull request URL is unavailable. Try refreshing git status.`,variant:`destructive`});return}try{await C(e)}catch(e){$.error(`Failed to open pull request:`,e),V({title:`Could not open pull request`,description:e instanceof Error?e.message:`Failed to open URL in browser`,variant:`destructive`})}}async function Ne(){if(o.hasChanges){f(!0);return}if(o.hasUnpushedCommits&&o.prExists){let e=o.prState;try{e=(await A(n)).state??e}catch(e){$.warn(`Could not refresh pull request state before update:`,e)}if(e===`MERGED`){_e();return}await Re();return}if(o.prExists&&o.prState===`OPEN`&&!o.hasChanges&&!o.hasUnpushedCommits){await Me();return}if(o.commitsAheadOfDefault&&!o.prExists&&!o.hasChanges){m(!0);return}if(o.defaultBranchBehind>0){await Ge();return}}async function Pe(){let e=await a.generateCommitMessageWithAI();e&&g(e)}async function Fe(){if(Q(n))try{c(!0);let e=await a.generateCommitMessageWithAI();if(!e){V({title:`Quick Commit failed`,description:`Could not generate commit message`,variant:`destructive`});return}await x(n,e),await o.fetchUnifiedStatus(!0),X(),V({title:`Changes committed successfully`,description:`Committed: ${e}`})}catch(e){$.error(`Quick commit failed:`,e),V({title:`Quick Commit failed`,description:e instanceof Error?e.message:`Failed to commit changes`,variant:`destructive`})}finally{c(!1)}}async function Le(){if(Q(n))try{c(!0),await ne(n),await o.fetchUnifiedStatus()}catch(e){$.error(`Failed to fetch:`,e)}finally{c(!1)}}async function Re(){if(Q(n))try{c(!0),await P(n),await o.fetchUnifiedStatus(!0),X(),o.hasRemoteBranch?V({title:`Branch pushed successfully`,description:`Your branch '${o.currentBranch}' has been pushed to the remote.`}):V({title:`Push completed`,description:`Changes have been pushed successfully.`})}catch(e){$.error(`Failed to push:`,e),V({title:`Push failed`,description:e instanceof Error?e.message:`Failed to push to remote`,variant:`destructive`})}finally{c(!1)}}async function Ve(){if(Q(n)){if(o.hasChanges){q(!0);return}await He()}}async function He(){try{c(!0),await re(n),await o.fetchUnifiedStatus(!0),X(),V({title:`Pull successful`,description:`Latest changes have been pulled from remote.`})}catch(e){$.error(`Failed to pull:`,e),V({title:`Pull failed`,description:e instanceof Error?e.message:`Failed to pull from remote`,variant:`destructive`})}finally{c(!1)}}function Ue(){q(!1),we(!0),f(!0)}async function We(){q(!1),await He()}async function Ge(){if(Q(n))try{c(!0),await F(n),await o.fetchUnifiedStatus(!0),X(),V({title:`Branch synced successfully`,description:`Your branch '${o.currentBranch}' has been synced with the latest changes`})}catch(e){$.error(`[sync] ✗ Failed to sync branch:`,e),V({title:`Sync failed`,description:e instanceof Error?e.message:`Failed to sync with default branch`,variant:`destructive`})}finally{c(!1)}}async function Ke(){if(Q(n))try{c(!0),u(!0);let e=await L(n,_,y);await Ie(n,t,i,e.title??_),e.prUrl&&await C(e.prUrl),v(``),b(``),m(!1),await o.fetchUnifiedStatus(!0),X(),await De(),ze(Y,o.fetchUnifiedStatus)}catch(e){$.error(`Failed to create PR:`,e);let t=e instanceof Error?e.message:`Failed to create PR`;t.includes(`push the current branch`)||t.includes(`--head flag`)?(m(!1),Ye({title:_,description:y})):(u(!1),V({title:`Create PR Failed`,description:t,variant:`destructive`}))}finally{c(!1)}}async function qe(){if(Q(n))try{c(!0);let e=await w(n,U,he,Z.privateRepositoryDefault);e.repoUrl&&setTimeout(()=>{C(e.repoUrl)},3e3),me(``),ge(``),pe(!1),await o.fetchUnifiedStatus(),X()}catch(e){$.error(`Failed to create repo:`,e)}finally{c(!1)}}async function Je(){let e=await a.generatePRInfoWithAI();e&&(v(e.title),b(e.description),V({title:`Success`,description:`PR title and description generated`}))}async function Ye(e){let r=e??D;if(!(!n||!r))try{c(!0),u(!0);try{await P(n)}catch(e){let t=e?.message??``;if(t.includes(`non-fast-forward`)||t.includes(`Updates were rejected because the tip of your current branch is behind`)){V({title:`Syncing branch before push`,description:`Your branch is behind remote. Pulling latest changes first...`});try{await F(n),await P(n)}catch{throw e}}else throw e}let e=await L(n,r.title,r.description);await Ie(n,t,i,e.title??r.title),e.prUrl&&await C(e.prUrl),v(``),b(``),O(null),T(!1),await o.fetchUnifiedStatus(!0),X(),await De(),ze(Y,o.fetchUnifiedStatus)}catch(e){$.error(`Failed to push and create PR:`,e);let t=e instanceof Error?e.message:`Failed to push and create PR`;u(!1),V({title:`Push & Create PR Failed`,description:t,variant:`destructive`})}finally{c(!1)}}async function Xe(){if(Q(n))try{ce(!0);let e=await k(n,100);oe(e),ue(e.slice(0,Be)),z(!0)}catch(e){$.error(`Failed to fetch git history:`,e)}finally{ce(!1)}}function Ze(){de||(fe(!0),setTimeout(()=>{let e=le.length+Be;ue(ae.slice(0,e)),fe(!1)},300))}function Qe(e){let t=e.currentTarget;t.scrollHeight-t.scrollTop-t.clientHeight<100&&le.length<ae.length&&!de&&Ze()}function $e(){o.repoUrl&&C(o.repoUrl)}function et(){T(!1),O(null)}return{isLoading:s,isCreatingPR:l,isCommitDialogOpen:d,setIsCommitDialogOpen:f,isPRDialogOpen:p,setIsPRDialogOpen:m,commitMessage:h,setCommitMessage:g,prTitle:_,setPrTitle:v,prDescription:y,setPrDescription:b,isPushBeforePRDialogOpen:S,setIsPushBeforePRDialogOpen:T,prGenerationRef:ee,commitGenerationRef:te,prTitleRef:I,prDescriptionRef:ie,isHistoryDialogOpen:R,setIsHistoryDialogOpen:z,commits:ae,displayedCommits:le,isLoadingHistory:se,isLoadingMore:de,isRepoDialogOpen:H,setIsRepoDialogOpen:pe,repoName:U,setRepoName:me,repoDescription:he,setRepoDescription:ge,gitUser:ve,isPullWithChangesDialogOpen:Se,setIsPullWithChangesDialogOpen:q,isGitOpsMenuOpen:J,userPrefs:Z,setUserPrefsState:Oe,handleGitOpsMenuOpenChange:Ae,handleCommit:je,handleOpenPullRequest:Me,handleMainButtonClick:Ne,handleGenerateCommitMessage:Pe,handleQuickCommit:Fe,handleFetch:Le,handlePush:Re,handlePull:Ve,handleSyncBranch:Ge,handleCreatePR:Ke,handleCreateRepo:qe,handleGeneratePRInfo:Je,handlePushAndCreatePR:Ye,handleOpenHistory:Xe,handleScroll:Qe,handleViewInGitHub:$e,handleCancelPushBeforePR:et,handleCommitFirstAndPull:Ue,handleStashAndPull:We}}function He(e){let t=(0,xe.c)(29),{threadId:n,aiGeneration:r,isCommitDialogOpen:i,commitMessage:a,setCommitMessage:o,autoGenerateCommitMessage:s,commitGenerationRef:c,isPRDialogOpen:l,prTitleRef:u,prDescriptionRef:d,setPrTitle:f,setPrDescription:p,autoGeneratePRInfo:m,prGenerationRef:h}=e,g;t[0]!==r||t[1]!==s||t[2]!==c||t[3]!==a||t[4]!==i||t[5]!==o||t[6]!==n?(g=()=>{if(!i){c.current=!1;return}i&&s&&!a.trim()&&n&&!c.current&&(c.current=!0,(async function(){let e=await r.generateCommitMessageWithAI();e&&o(e)})())},t[0]=r,t[1]=s,t[2]=c,t[3]=a,t[4]=i,t[5]=o,t[6]=n,t[7]=g):g=t[7];let _;t[8]!==r.generateCommitMessageWithAI||t[9]!==s||t[10]!==a||t[11]!==i||t[12]!==n?(_=[i,s,n,r.generateCommitMessageWithAI,a],t[8]=r.generateCommitMessageWithAI,t[9]=s,t[10]=a,t[11]=i,t[12]=n,t[13]=_):_=t[13],(0,W.useEffect)(g,_);let v;t[14]!==r||t[15]!==m||t[16]!==l||t[17]!==d||t[18]!==h||t[19]!==u||t[20]!==p||t[21]!==f||t[22]!==n?(v=()=>{if(!l){h.current=!1;return}l&&m&&!u.current.trim()&&!d.current.trim()&&n&&!h.current&&(h.current=!0,(async function(){let e=await r.generatePRInfoWithAI();e&&(f(e.title),p(e.description))})())},t[14]=r,t[15]=m,t[16]=l,t[17]=d,t[18]=h,t[19]=u,t[20]=p,t[21]=f,t[22]=n,t[23]=v):v=t[23];let y;t[24]!==r.generatePRInfoWithAI||t[25]!==m||t[26]!==l||t[27]!==n?(y=[l,m,n,r.generatePRInfoWithAI],t[24]=r.generatePRInfoWithAI,t[25]=m,t[26]=l,t[27]=n,t[28]=y):y=t[28],(0,W.useEffect)(v,y)}function Ue(e){let{unifiedGitStatus:t,autoGenerateCommitMessage:n,isLoading:r,isCreatingPR:i,isDirectCommitMode:a,onQuickCommit:o,onCreatePR:s,onViewInGitHub:c,onOpenGitOpsMenu:l}=e,u=(0,W.useRef)(o),d=(0,W.useRef)(s),f=(0,W.useRef)(c),p=(0,W.useRef)(l);u.current=o,d.current=s,f.current=c,p.current=l,(0,W.useEffect)(()=>{function e(e){let o=e.key.toLowerCase();if((e.metaKey||e.ctrlKey)&&e.shiftKey&&!e.altKey){if(o===`c`){t.hasChanges&&n&&!r&&(e.preventDefault(),u.current());return}if(o===`p`){t.commitsAheadOfDefault&&!t.prExists&&!t.hasChanges&&!r&&!a&&(e.preventDefault(),d.current());return}if(o===`g`){t.repoUrl&&!r&&(e.preventDefault(),f.current());return}o===`b`&&!r&&!i&&(e.preventDefault(),p.current())}}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t.commitsAheadOfDefault,t.hasChanges,t.prExists,t.repoUrl,n,r,i,a])}function We(e){let t=(0,xe.c)(173),{projectId:n,threadId:i,layout:a}=e,o=a===void 0?`bar`:a,s=ae(),c=fe(),l;t[0]===i?l=t[1]:(l=e=>e.projectModelSelections[i],t[0]=i,t[1]=l);let u=oe(l),d;t[2]===n?d=t[3]:(d=e=>e.projects.find(e=>e.projectId===n),t[2]=n,t[3]=d);let p=oe(d),g=ce(),_=Fe(i,n,u),v=p?.commitMethod===f.Direct,y=p?.name,b;t[4]!==_||t[5]!==s||t[6]!==n||t[7]!==y||t[8]!==i||t[9]!==g?(b={projectId:n,threadId:i,projectName:y,dispatch:s,aiGeneration:_,unifiedGitStatus:g},t[4]=_,t[5]=s,t[6]=n,t[7]=y,t[8]=i,t[9]=g,t[10]=b):b=t[10];let x=Ve(b),C;t[11]!==x.commitGenerationRef||t[12]!==x.commitMessage||t[13]!==x.isCommitDialogOpen||t[14]!==x.isPRDialogOpen||t[15]!==x.prDescriptionRef||t[16]!==x.prGenerationRef||t[17]!==x.prTitleRef||t[18]!==x.setCommitMessage||t[19]!==x.setPrDescription||t[20]!==x.setPrTitle||t[21]!==x.userPrefs.autoGenerateCommitMessage||t[22]!==x.userPrefs.autoGeneratePRInfo||t[23]!==_||t[24]!==i?(C={threadId:i,aiGeneration:_,isCommitDialogOpen:x.isCommitDialogOpen,commitMessage:x.commitMessage,setCommitMessage:x.setCommitMessage,autoGenerateCommitMessage:x.userPrefs.autoGenerateCommitMessage,commitGenerationRef:x.commitGenerationRef,isPRDialogOpen:x.isPRDialogOpen,prTitleRef:x.prTitleRef,prDescriptionRef:x.prDescriptionRef,setPrTitle:x.setPrTitle,setPrDescription:x.setPrDescription,autoGeneratePRInfo:x.userPrefs.autoGeneratePRInfo,prGenerationRef:x.prGenerationRef},t[11]=x.commitGenerationRef,t[12]=x.commitMessage,t[13]=x.isCommitDialogOpen,t[14]=x.isPRDialogOpen,t[15]=x.prDescriptionRef,t[16]=x.prGenerationRef,t[17]=x.prTitleRef,t[18]=x.setCommitMessage,t[19]=x.setPrDescription,t[20]=x.setPrTitle,t[21]=x.userPrefs.autoGenerateCommitMessage,t[22]=x.userPrefs.autoGeneratePRInfo,t[23]=_,t[24]=i,t[25]=C):C=t[25],He(C);let w;t[26]===x?w=t[27]:(w=()=>x.setIsPRDialogOpen(!0),t[26]=x,t[27]=w);let T;t[28]===x?T=t[29]:(T=()=>{x.isLoading||x.isCreatingPR||x.handleGitOpsMenuOpenChange(!0)},t[28]=x,t[29]=T);let E;t[30]!==x.handleQuickCommit||t[31]!==x.handleViewInGitHub||t[32]!==x.isCreatingPR||t[33]!==x.isLoading||t[34]!==x.userPrefs.autoGenerateCommitMessage||t[35]!==v||t[36]!==w||t[37]!==T||t[38]!==g?(E={unifiedGitStatus:g,autoGenerateCommitMessage:x.userPrefs.autoGenerateCommitMessage,isLoading:x.isLoading,isCreatingPR:x.isCreatingPR,isDirectCommitMode:v,onQuickCommit:x.handleQuickCommit,onCreatePR:w,onViewInGitHub:x.handleViewInGitHub,onOpenGitOpsMenu:T},t[30]=x.handleQuickCommit,t[31]=x.handleViewInGitHub,t[32]=x.isCreatingPR,t[33]=x.isLoading,t[34]=x.userPrefs.autoGenerateCommitMessage,t[35]=v,t[36]=w,t[37]=T,t[38]=g,t[39]=E):E=t[39],Ue(E);let D;if(t[40]!==x||t[41]!==_.isGeneratingMessage||t[42]!==v||t[43]!==o||t[44]!==c||t[45]!==g){let e=Ee(g),n=Te(g,x.isLoading,x.isCreatingPR),i=x.isLoading||x.isCreatingPR,a=n&&!i,s;t[47]!==x.isCreatingPR||t[48]!==g?(s=Ce(g,x.isCreatingPR),t[47]=x.isCreatingPR,t[48]=g,t[49]=s):s=t[49];let l=s,u;t[50]!==x.isCreatingPR||t[51]!==x.isLoading||t[52]!==g?(u=we(g,x.isCreatingPR,x.isLoading)??(0,G.jsx)(h,{className:`h-4 w-4 shrink-0`}),t[50]=x.isCreatingPR,t[51]=x.isLoading,t[52]=g,t[53]=u):u=t[53];let d=u,f=c&&!e?H:me,p=g.defaultBranch??null,y=_.isGeneratingMessage&&x.isLoading,b,C,w,T,E,k;t[54]===x?(b=t[55],C=t[56],w=t[57],T=t[58],E=t[59],k=t[60]):(b=()=>void x.handleFetch(),C=()=>void x.handlePull(),w=()=>void x.handlePush(),T=()=>void x.handleOpenHistory(),E=()=>x.setIsPRDialogOpen(!0),k=()=>x.setIsRepoDialogOpen(!0),t[54]=x,t[55]=b,t[56]=C,t[57]=w,t[58]=T,t[59]=E,t[60]=k);let A,j;t[61]===x?(A=t[62],j=t[63]):(A=()=>void x.handleQuickCommit(),j=()=>void x.handleSyncBranch(),t[61]=x,t[62]=A,t[63]=j);let M;t[64]!==x.gitUser||t[65]!==x.handleGitOpsMenuOpenChange||t[66]!==x.handleViewInGitHub||t[67]!==x.isCreatingPR||t[68]!==x.isGitOpsMenuOpen||t[69]!==x.isLoading||t[70]!==x.isLoadingHistory||t[71]!==x.userPrefs.autoGenerateCommitMessage||t[72]!==v||t[73]!==o||t[74]!==p||t[75]!==y||t[76]!==b||t[77]!==C||t[78]!==w||t[79]!==T||t[80]!==E||t[81]!==k||t[82]!==A||t[83]!==j||t[84]!==g.canCreateRepo||t[85]!==g.commitsAheadOfDefault||t[86]!==g.defaultBranchAhead||t[87]!==g.defaultBranchBehind||t[88]!==g.hasChanges||t[89]!==g.hasRemoteBranch||t[90]!==g.hasUnpushedCommits||t[91]!==g.isRefreshing||t[92]!==g.prExists||t[93]!==g.remoteUrl||t[94]!==g.repoUrl||t[95]!==g.status?(M=(0,G.jsx)(Y,{branchStatus:g.status,remoteUrl:g.remoteUrl,hasRemoteBranch:g.hasRemoteBranch,hasUnpushedCommits:g.hasUnpushedCommits,canCreateRepo:g.canCreateRepo,repoUrl:g.repoUrl,isRefreshing:g.isRefreshing,isCreatingPR:x.isCreatingPR,hasChanges:g.hasChanges,commitsAheadOfDefault:g.commitsAheadOfDefault,prExists:g.prExists,defaultBranch:p,defaultBranchAhead:g.defaultBranchAhead,defaultBranchBehind:g.defaultBranchBehind,gitUser:x.gitUser,isDirectCommitMode:v,autoGenerateCommitMessage:x.userPrefs.autoGenerateCommitMessage,isLoading:x.isLoading,isLoadingHistory:x.isLoadingHistory,isQuickCommitting:y,onFetch:b,onPull:C,onPush:w,onOpenHistory:T,onCreatePR:E,onCreateRepo:k,onViewInGitHub:x.handleViewInGitHub,onQuickCommit:A,onSyncWithDefault:j,open:x.isGitOpsMenuOpen,onOpenChange:x.handleGitOpsMenuOpenChange,layout:o}),t[64]=x.gitUser,t[65]=x.handleGitOpsMenuOpenChange,t[66]=x.handleViewInGitHub,t[67]=x.isCreatingPR,t[68]=x.isGitOpsMenuOpen,t[69]=x.isLoading,t[70]=x.isLoadingHistory,t[71]=x.userPrefs.autoGenerateCommitMessage,t[72]=v,t[73]=o,t[74]=p,t[75]=y,t[76]=b,t[77]=C,t[78]=w,t[79]=T,t[80]=E,t[81]=k,t[82]=A,t[83]=j,t[84]=g.canCreateRepo,t[85]=g.commitsAheadOfDefault,t[86]=g.defaultBranchAhead,t[87]=g.defaultBranchBehind,t[88]=g.hasChanges,t[89]=g.hasRemoteBranch,t[90]=g.hasUnpushedCommits,t[91]=g.isRefreshing,t[92]=g.prExists,t[93]=g.remoteUrl,t[94]=g.repoUrl,t[95]=g.status,t[96]=M):M=t[96];let N=M;D=o===`sidebar`?(0,G.jsxs)(`div`,{className:`flex w-full min-w-0 items-center`,children:[(0,G.jsx)(R,{children:(0,G.jsxs)(O,{children:[(0,G.jsx)(ee,{asChild:!0,children:(0,G.jsx)(te,{asChild:!0,className:`min-w-0 flex-1`,children:(0,G.jsx)(`button`,{type:`button`,className:m(`min-w-0 w-full justify-start`,e&&`border-transparent bg-brand !text-white hover:bg-brand/90 hover:!text-white dark:bg-brand dark:hover:bg-brand/90`,e&&a&&`cursor-default opacity-50 hover:bg-brand hover:!text-white`,!e&&a&&`cursor-default`),disabled:i,"aria-disabled":n,onClick:n?void 0:x.handleMainButtonClick,children:(0,G.jsxs)(`span`,{className:m(`flex min-w-0 flex-1 items-center gap-2`,!e&&a&&`text-muted-foreground opacity-50`,e&&`font-medium text-white`),children:[d,(0,G.jsx)(`span`,{className:m(r.body,`truncate`),children:l})]})})})}),(0,G.jsx)(S,{side:`right`,children:J(g)})]})}),N]}):o===`bar`?(0,G.jsxs)(`div`,{className:m(f,de,ue,`group min-w-0 gap-0 px-0`,e&&`border-transparent bg-brand !text-white hover:bg-brand/90 hover:!text-white dark:bg-brand dark:hover:bg-brand/90`,e&&a&&`cursor-default opacity-50 hover:bg-brand hover:!text-white`),children:[(0,G.jsx)(R,{children:(0,G.jsxs)(O,{children:[(0,G.jsx)(ee,{asChild:!0,children:(0,G.jsx)(`button`,{type:`button`,className:m(r.compact,`flex min-w-0 flex-1 items-center gap-1.5 rounded-l-full pl-3 pr-0.5 disabled:opacity-50`,a&&`cursor-default`,e&&`text-white`),disabled:i,"aria-disabled":n,onClick:n?void 0:x.handleMainButtonClick,children:(0,G.jsxs)(`span`,{className:m(`inline-flex min-w-0 items-center gap-1.5 truncate`,e&&`font-medium`,!e&&a&&`opacity-50`),children:[d,(0,G.jsx)(`span`,{className:`truncate`,children:l})]})})}),(0,G.jsx)(S,{side:`top`,children:J(g)})]})}),N]}):(0,G.jsxs)(`div`,{className:m(`flex w-full flex-col gap-1 items-stretch [&_button]:w-full [&_button]:justify-start`),children:[(0,G.jsx)(R,{children:(0,G.jsxs)(O,{children:[(0,G.jsx)(ee,{asChild:!0,children:(0,G.jsx)(ie,{variant:`outline`,size:`sm`,className:m(`h-8 gap-1.5 rounded-md border`,e&&`border-transparent bg-brand !text-white hover:bg-brand/90 hover:!text-white dark:bg-brand dark:hover:bg-brand/90`,a&&`cursor-default hover:bg-background hover:text-foreground`),disabled:i,"aria-disabled":n,onClick:n?void 0:x.handleMainButtonClick,children:(0,G.jsxs)(`span`,{className:m(`inline-flex items-center gap-1.5`,e&&`text-white`,a&&!e&&`text-muted-foreground opacity-50`,a&&e&&`opacity-50`),children:[d,l]})})}),(0,G.jsx)(S,{children:J(g)})]})}),N]}),t[40]=x,t[41]=_.isGeneratingMessage,t[42]=v,t[43]=o,t[44]=c,t[45]=g,t[46]=D}else D=t[46];let k;t[97]===x?k=t[98]:(k=e=>x.setUserPrefsState(t=>({...t,autoGenerateCommitMessage:e})),t[97]=x,t[98]=k);let A;t[99]!==x.commitMessage||t[100]!==x.handleCommit||t[101]!==x.handleGenerateCommitMessage||t[102]!==x.isCommitDialogOpen||t[103]!==x.setCommitMessage||t[104]!==x.setIsCommitDialogOpen||t[105]!==x.userPrefs.autoGenerateCommitMessage||t[106]!==_.isGeneratingMessage||t[107]!==k?(A={isOpen:x.isCommitDialogOpen,onOpenChange:x.setIsCommitDialogOpen,message:x.commitMessage,onMessageChange:x.setCommitMessage,autoGenerate:x.userPrefs.autoGenerateCommitMessage,onAutoGenerateChange:k,isGenerating:_.isGeneratingMessage,onGenerateMessage:x.handleGenerateCommitMessage,onCommit:x.handleCommit},t[99]=x.commitMessage,t[100]=x.handleCommit,t[101]=x.handleGenerateCommitMessage,t[102]=x.isCommitDialogOpen,t[103]=x.setCommitMessage,t[104]=x.setIsCommitDialogOpen,t[105]=x.userPrefs.autoGenerateCommitMessage,t[106]=_.isGeneratingMessage,t[107]=k,t[108]=A):A=t[108];let j;t[109]===x?j=t[110]:(j=e=>x.setUserPrefsState(t=>({...t,autoGeneratePRInfo:e})),t[109]=x,t[110]=j);let M;t[111]===x?M=t[112]:(M=e=>x.setUserPrefsState(t=>({...t,createBranchAfterPR:e})),t[111]=x,t[112]=M);let N;t[113]!==x.handleCreatePR||t[114]!==x.handleGeneratePRInfo||t[115]!==x.isPRDialogOpen||t[116]!==x.prDescription||t[117]!==x.prTitle||t[118]!==x.setIsPRDialogOpen||t[119]!==x.setPrDescription||t[120]!==x.setPrTitle||t[121]!==x.userPrefs.autoGeneratePRInfo||t[122]!==x.userPrefs.createBranchAfterPR||t[123]!==_.isGeneratingPRInfo||t[124]!==j||t[125]!==M?(N={isOpen:x.isPRDialogOpen,onOpenChange:x.setIsPRDialogOpen,title:x.prTitle,onTitleChange:x.setPrTitle,description:x.prDescription,onDescriptionChange:x.setPrDescription,isGeneratingInfo:_.isGeneratingPRInfo,onGenerateInfo:x.handleGeneratePRInfo,onCreatePR:x.handleCreatePR,autoGenerate:x.userPrefs.autoGeneratePRInfo,onAutoGenerateChange:j,createBranchAfterPR:x.userPrefs.createBranchAfterPR,onCreateBranchAfterPRChange:M},t[113]=x.handleCreatePR,t[114]=x.handleGeneratePRInfo,t[115]=x.isPRDialogOpen,t[116]=x.prDescription,t[117]=x.prTitle,t[118]=x.setIsPRDialogOpen,t[119]=x.setPrDescription,t[120]=x.setPrTitle,t[121]=x.userPrefs.autoGeneratePRInfo,t[122]=x.userPrefs.createBranchAfterPR,t[123]=_.isGeneratingPRInfo,t[124]=j,t[125]=M,t[126]=N):N=t[126];let P;t[127]===x?P=t[128]:(P=()=>x.handlePushAndCreatePR(),t[127]=x,t[128]=P);let ne;t[129]!==x.handleCancelPushBeforePR||t[130]!==x.isPushBeforePRDialogOpen||t[131]!==x.setIsPushBeforePRDialogOpen||t[132]!==P?(ne={isOpen:x.isPushBeforePRDialogOpen,onOpenChange:x.setIsPushBeforePRDialogOpen,onPushAndCreatePR:P,onCancel:x.handleCancelPushBeforePR},t[129]=x.handleCancelPushBeforePR,t[130]=x.isPushBeforePRDialogOpen,t[131]=x.setIsPushBeforePRDialogOpen,t[132]=P,t[133]=ne):ne=t[133];let F;t[134]===x?F=t[135]:(F=e=>x.setUserPrefsState(t=>({...t,privateRepositoryDefault:e})),t[134]=x,t[135]=F);let I;t[136]!==x.handleCreateRepo||t[137]!==x.isRepoDialogOpen||t[138]!==x.repoDescription||t[139]!==x.repoName||t[140]!==x.setIsRepoDialogOpen||t[141]!==x.setRepoDescription||t[142]!==x.setRepoName||t[143]!==x.userPrefs.privateRepositoryDefault||t[144]!==F?(I={isOpen:x.isRepoDialogOpen,onOpenChange:x.setIsRepoDialogOpen,name:x.repoName,onNameChange:x.setRepoName,description:x.repoDescription,onDescriptionChange:x.setRepoDescription,isPrivate:x.userPrefs.privateRepositoryDefault,onPrivateChange:F,onCreateRepo:x.handleCreateRepo},t[136]=x.handleCreateRepo,t[137]=x.isRepoDialogOpen,t[138]=x.repoDescription,t[139]=x.repoName,t[140]=x.setIsRepoDialogOpen,t[141]=x.setRepoDescription,t[142]=x.setRepoName,t[143]=x.userPrefs.privateRepositoryDefault,t[144]=F,t[145]=I):I=t[145];let re;t[146]!==x.commits||t[147]!==x.displayedCommits||t[148]!==x.handleScroll||t[149]!==x.isHistoryDialogOpen||t[150]!==x.isLoadingMore||t[151]!==x.setIsHistoryDialogOpen?(re={isOpen:x.isHistoryDialogOpen,onOpenChange:x.setIsHistoryDialogOpen,commits:x.commits,displayedCommits:x.displayedCommits,isLoadingMore:x.isLoadingMore,onScroll:x.handleScroll},t[146]=x.commits,t[147]=x.displayedCommits,t[148]=x.handleScroll,t[149]=x.isHistoryDialogOpen,t[150]=x.isLoadingMore,t[151]=x.setIsHistoryDialogOpen,t[152]=re):re=t[152];let L;t[153]===x?L=t[154]:(L=()=>x.setIsPullWithChangesDialogOpen(!1),t[153]=x,t[154]=L);let z;t[155]!==x.handleCommitFirstAndPull||t[156]!==x.handleStashAndPull||t[157]!==x.isPullWithChangesDialogOpen||t[158]!==x.setIsPullWithChangesDialogOpen||t[159]!==L?(z={isOpen:x.isPullWithChangesDialogOpen,onOpenChange:x.setIsPullWithChangesDialogOpen,onCommitFirst:x.handleCommitFirstAndPull,onStashAndPull:x.handleStashAndPull,onCancel:L},t[155]=x.handleCommitFirstAndPull,t[156]=x.handleStashAndPull,t[157]=x.isPullWithChangesDialogOpen,t[158]=x.setIsPullWithChangesDialogOpen,t[159]=L,t[160]=z):z=t[160];let B;t[161]!==x.isLoading||t[162]!==A||t[163]!==N||t[164]!==ne||t[165]!==I||t[166]!==re||t[167]!==z||t[168]!==g.currentBranch?(B=(0,G.jsx)(Me,{isLoading:x.isLoading,currentBranch:g.currentBranch,commit:A,pullRequest:N,pushBeforePR:ne,createRepo:I,history:re,pullWithChanges:z}),t[161]=x.isLoading,t[162]=A,t[163]=N,t[164]=ne,t[165]=I,t[166]=re,t[167]=z,t[168]=g.currentBranch,t[169]=B):B=t[169];let V;return t[170]!==D||t[171]!==B?(V=(0,G.jsxs)(G.Fragment,{children:[D,B]}),t[170]=D,t[171]=B,t[172]=V):V=t[172],V}export{We as GitOpsButton};
@@ -0,0 +1 @@
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-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-\[400px\]{height:400px}.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-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-\[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-5{min-width:1.25rem}.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-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-\[--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-\[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-\[1_1_380px\]{flex:380px}.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}.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-border\/60>:not([hidden])~:not([hidden]){border-color:hsl(var(--border) / .6)}.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-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}.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-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.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-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\/40{border-color:hsl(var(--destructive) / .4)}.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-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\/35{background-color:hsl(var(--foreground) / .35)}.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-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-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}.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-16{padding-top:4rem}.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}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.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\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-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}.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\]{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\]{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))}@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-orbit{0%{transform:translate(6px,6px)}25%{transform:translate(18px,6px)}50%{transform:translate(18px,18px)}75%{transform:translate(6px,18px)}to{transform:translate(6px,6px)}}.ai-spinner-dot{animation:2.4s linear infinite ai-spinner-orbit}.ai-spinner-dot:nth-child(2){animation-delay:-.6s}.ai-spinner-dot:nth-child(3){animation-delay:-1.2s}@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}.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-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\: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\: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\: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\:opacity-100{opacity:1}}.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-black\/55:is(.dark *){background-color:#0000008c}.dark\:bg-brand:is(.dark *){background-color:hsl(var(--brand))}.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-emerald-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-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-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-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-\[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\: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}.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}}.\[\&\: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}.\[\&\>\[data-radix-scroll-area-viewport\]\>div\]\:block>[data-radix-scroll-area-viewport]>div{display:block}.\[\&\>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}