@forsion/unit 2.12.2 → 2.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -0
- package/backendWorker.mjs +6 -2
- package/main.mjs +987 -495
- package/package.json +1 -1
- package/release.json +5 -5
- package/web/assets/ArtificialView-BSv3Mx5C.js +1 -0
- package/web/assets/{AutomationBuilder-sxWdUa0L.js → AutomationBuilder-BuiHtVB-.js} +1 -1
- package/web/assets/CalendarConfigView-BJtG6cqN.js +1 -0
- package/web/assets/CalendarView-C-FX1RED.js +1 -0
- package/web/assets/CapabilityMenu-kx1TIJYN.js +1 -0
- package/web/assets/{CheckboxInput-BsaoUHZ0.js → CheckboxInput-eW7xdiRS.js} +1 -1
- package/web/assets/Chrome-B77-lQyh.js +1 -0
- package/web/assets/{CodeView-j065KtVh.js → CodeView-Df3AiSIi.js} +3 -3
- package/web/assets/DashboardGridView-MlO1dpuo.js +17 -0
- package/web/assets/{EventCard-BmDQkEj9.js → EventCard-CDmeCbI8.js} +1 -1
- package/web/assets/ExcalidrawCanvas-D9vkBh_5.js +1 -0
- package/web/assets/{FloatingToc-CENybkAA.js → FloatingToc-tART_jC4.js} +1 -1
- package/web/assets/HomepageView-Trqmd3RV.js +1 -0
- package/web/assets/ImageStudioPanels-BfCVTnKC.js +3 -0
- package/web/assets/ImageStudioView-KJhx0wJk.js +1 -0
- package/web/assets/InlineFiles-BHwivGbQ.js +1 -0
- package/web/assets/MarkdownBlock--__nPQGh.css +1 -0
- package/web/assets/MarkdownBlock-D8LgHFYY.js +58 -0
- package/web/assets/ModelPill-DrW2cG0l.js +2 -0
- package/web/assets/MuseLibraryView-CW78Uivf.js +2 -0
- package/web/assets/{MuseView-d-iBk3sc.js → MuseView-Cb6R_l4i.js} +2 -2
- package/web/assets/{PageHistoryPanel-CR-k1AM7.js → PageHistoryPanel-BQs9IWTP.js} +2 -2
- package/web/assets/PdfAnnotator-BFTBkxvO.js +505 -0
- package/web/assets/PdfAnnotator-C_kglLCA.css +1 -0
- package/web/assets/{ProductView-u2aezVsl.js → ProductView-mB-S0j81.js} +1 -1
- package/web/assets/RightPanel-BVZeVO3c.js +4 -0
- package/web/assets/RunLocationPicker-BE5mxnab.css +1 -0
- package/web/assets/RunLocationPicker-CyVa0RJa.js +38 -0
- package/web/assets/{SidebarRow-BuSkKH5q.js → SidebarRow-D77yrSLf.js} +1 -1
- package/web/assets/{SketchCard-D87GADyG.js → SketchCard-CAAr_cqF.js} +5 -5
- package/web/assets/{StudioGuestSurface-BijU_EEb.js → StudioGuestSurface-DthpuVGg.js} +1 -1
- package/web/assets/{TodoListView-DPPVpPUn.js → TodoListView-C3ZkMIIf.js} +1 -1
- package/web/assets/{Tooltip-DY4ISA-e.js → Tooltip-D9Dt9ZTr.js} +1 -1
- package/web/assets/UnifiedPage-C75y-MKT.js +68 -0
- package/web/assets/UnifiedPage-CWXc_mo1.css +1 -0
- package/web/assets/{amadeus-manual.en-DWaN2fPs.js → amadeus-manual.en-D5wZKuag.js} +3 -3
- package/web/assets/{amadeus-manual.zh--7D5TS8X.js → amadeus-manual.zh-Br5fidrj.js} +3 -3
- package/web/assets/{appStore-Dg9WALEA.js → appStore-B1ynyt42.js} +186 -120
- package/web/assets/appStore-BC_CQv-L.css +1 -0
- package/web/assets/{arrow-up-right-CpQs92mu.js → arrow-up-right-R10mR2I6.js} +1 -1
- package/web/assets/{astryxBridge-BZhaZPs4.js → astryxBridge-CU_kQTEl.js} +3 -3
- package/web/assets/automationListSource-B8EIRmDW.js +1 -0
- package/web/assets/book-open-DBJ3dDpw.js +1 -0
- package/web/assets/{calendarNavStore-C7fGRpoH.js → calendarNavStore-DGvUlU5N.js} +1 -1
- package/web/assets/{canvasPrefs-BeG4oEgP.js → canvasPrefs-DwL_OAAo.js} +1 -1
- package/web/assets/chatBoxSurface-Lq-2qfd3.js +1 -0
- package/web/assets/{circle-question-mark-WL3vbp-Z.js → circle-question-mark-HPZpZQxd.js} +1 -1
- package/web/assets/{circle-x-D7s-M5sB.js → circle-x-BZfe7d6S.js} +1 -1
- package/web/assets/{client-BSKpsyAw.js → client-DxGbwZLy.js} +1 -1
- package/web/assets/{code-xml-BALV9u_c.js → code-xml-joKQ-qGS.js} +1 -1
- package/web/assets/{codeStudioStore-C2mWfm32.js → codeStudioStore-C7rGKlOC.js} +1 -1
- package/web/assets/codingNavigation-CZB4v1ZW.css +1 -0
- package/web/assets/codingNavigation-CjeWG4xm.js +47 -0
- package/web/assets/{create-4xUyKtAF.js → create-BjBRKATq.js} +4 -4
- package/web/assets/dashboardSurface-Cojgf_-U.js +1 -0
- package/web/assets/{deskCapture-Df701U8L.js → deskCapture-DnGWk1iq.js} +1 -1
- package/web/assets/{diff2html-BV-zCH4d.js → diff2html-Cd1rVi_Z.js} +1 -1
- package/web/assets/{docx-preview-DW4IyU_Q.js → docx-preview-CK0k1mUD.js} +1 -1
- package/web/assets/{emoji-DGaxpCIu.js → emoji-Cjm3bKiF.js} +1 -1
- package/web/assets/floatingTocSurface-Dd1pT5j5.js +1 -0
- package/web/assets/foldActions-Dm-uAt3L.js +1 -0
- package/web/assets/folder-CvZyHIgb.js +1 -0
- package/web/assets/{folder-plus-D1TDb7k9.js → folder-plus-BRScGQ9m.js} +1 -1
- package/web/assets/gestures-CZQVefU0.js +1 -0
- package/web/assets/{hand-Crrw-nSn.js → hand-D3QspKYq.js} +1 -1
- package/web/assets/{hard-drive-BbyVSbfP.js → hard-drive-BQsHSala.js} +1 -1
- package/web/assets/i18n-ecQQxiMQ.css +1 -0
- package/web/assets/i18n.generated-BZRHO2Nc.js +15 -0
- package/web/assets/imageStudio--KF9gwHA.css +1 -0
- package/web/assets/imageStudio-Cy3_437s.js +2 -0
- package/web/assets/{index-CflzrdSt.js → index-0AYHATDX.js} +1 -1
- package/web/assets/{index-Dg9oixs4.js → index-1FhRiJ_X.js} +1 -1
- package/web/assets/{index-CqyM6tQ0.js → index-4E9nrhwf.js} +1 -1
- package/web/assets/{index-Cmr7gVZQ.js → index-8ag1K7AZ.js} +1 -1
- package/web/assets/{index-SZ5waGAq.js → index-9BmmlTjY.js} +1 -1
- package/web/assets/{index-CzM-C2Sd.js → index-B5GxvbNm.js} +1 -1
- package/web/assets/{index-DKhyDkGB.js → index-BPhwi4-v.js} +1 -1
- package/web/assets/index-BaRySZ-M.js +1 -0
- package/web/assets/{index-Brik2pf9.js → index-BcVGjCAJ.js} +1 -1
- package/web/assets/{index-OHi69jDq.js → index-BdZaheMZ.js} +1 -1
- package/web/assets/{index-D1f_JwPH.js → index-BgDZGDqt.js} +1 -1
- package/web/assets/{index-C6GJulug.js → index-BgtO11q8.js} +1 -1
- package/web/assets/{index-CF4RV4mh.js → index-Bh_nLVTc.js} +90 -90
- package/web/assets/{index-DjzSBM0U.js → index-BnWj6ggb.js} +1 -1
- package/web/assets/{index-BRW82CsP.js → index-Bpc3R3DS.js} +1 -1
- package/web/assets/{index-BCZZVJ_w.js → index-C9yo04Ck.js} +1 -1
- package/web/assets/{index--drOLtq7.js → index-CcOag8eb.js} +1 -1
- package/web/assets/{index-Czu_bbDM.js → index-D0FLFLfh.js} +1 -1
- package/web/assets/{index-KL5Rj9kP.js → index-D6mpAJ9S.js} +1 -1
- package/web/assets/{index-tAXBa_fN.js → index-DElrDw66.js} +1 -1
- package/web/assets/{index-DUWR2nZi.js → index-DJLWTPtq.js} +1 -1
- package/web/assets/{index-gPSbFSUn.js → index-DNE_PBJt.js} +1 -1
- package/web/assets/index-Dj-PygjB.js +1 -0
- package/web/assets/{index-BYsdKR_1.js → index-Dkd-nl1u.js} +1 -1
- package/web/assets/{index-C7U6T-k8.js → index-GjLSlygt.js} +1 -1
- package/web/assets/{invitePage-lLQ-e0pj.js → invitePage-B4gMvEKi.js} +1 -1
- package/web/assets/{ipc-DQOD2UKk.js → ipc-CPhL3bPp.js} +1 -1
- package/web/assets/{jszip.min-DZxV9uZ_.js → jszip.min-DAJT9RUA.js} +1 -1
- package/web/assets/launchpad-C2c1MSVX.css +1 -0
- package/web/assets/{layout-grid-B_pjJwz4.js → layout-grid-DfUfnvDS.js} +1 -1
- package/web/assets/{linkFollow-C0_3k_PC.js → linkFollow-C6PHGUxk.js} +5 -5
- package/web/assets/{list-tree-DkAJYEXd.js → list-tree-DaGpnIYu.js} +1 -1
- package/web/assets/{listFold-BsOVn9UZ.js → listFold-Q_8mh5ZG.js} +1 -1
- package/web/assets/{lock-BnGHxjeE.js → lock-DQ_yL4nF.js} +1 -1
- package/web/assets/{log-out-DBuMeqik.js → log-out-DFwTeh2X.js} +1 -1
- package/web/assets/main-CwqZ_ymb.js +19 -0
- package/web/assets/markdownEditorSurface-e_oMhqx-.js +3 -0
- package/web/assets/mdMarkStore-DjN4bf1T.js +2 -0
- package/web/assets/{mdMarks-Bq7Hl-4C.js → mdMarks-cmL6vzR-.js} +1 -1
- package/web/assets/{message-square-plus-BiAZAvcw.js → message-square-plus-CEHkduIL.js} +1 -1
- package/web/assets/{messages-BH5MfQdZ.js → messages-CBtmbpur.js} +1 -1
- package/web/assets/minus-BUT48dAC.js +1 -0
- package/web/assets/mobileEntry-qR7BAROr.js +13 -0
- package/web/assets/nativeDownload-CziEyW_p.js +1 -0
- package/web/assets/{pageChrome-xLNdFaSg.css → pageChrome-CovzZPdb.css} +1 -1
- package/web/assets/pageChrome-DFz_AAzZ.js +1 -0
- package/web/assets/{pageTree-CZH2J6cc.js → pageTree-yVO1_fSy.js} +2 -2
- package/web/assets/{pen-tool-lkmBqliH.js → pen-tool-uxsFELYC.js} +1 -1
- package/web/assets/{pencil-Cvk91P_Z.js → pencil-BSbra1Ra.js} +1 -1
- package/web/assets/pluginChat-BMFnf_j2.js +2 -0
- package/web/assets/{redo-2-DSi54z4e.js → redo-2-BK5LMNa5.js} +1 -1
- package/web/assets/{rotate-ccw-CUlnplr0.js → rotate-ccw-HedfU4na.js} +1 -1
- package/web/assets/{sharePage-MM6UpPJ9.js → sharePage-CpzDpuU1.js} +2 -2
- package/web/assets/{shareViewer-CDZ8lTdy.js → shareViewer-BwzH2bIs.js} +1 -1
- package/web/assets/{star-CwDiGyUW.js → star-CgYon3z4.js} +1 -1
- package/web/assets/tableSurface-CmDwnKnd.js +1 -0
- package/web/assets/{terminal-DIXogYJY.js → terminal-krsPf1mc.js} +1 -1
- package/web/assets/{terminalView-B3aZSsrQ.js → terminalView-4e2_u5_I.js} +1 -1
- package/web/assets/theme-C6D3tMGV.css +1 -0
- package/web/assets/type-GJYLEhY-.js +1 -0
- package/web/assets/{undo-2-tUKCv5Gs.js → undo-2-DCTs4Ro4.js} +1 -1
- package/web/assets/{unitAccount-D8lVwaaT.js → unitAccount-D3xjX3cu.js} +1 -1
- package/web/assets/{unitBridge-D547ublk.js → unitBridge-D5JcIkAP.js} +1 -1
- package/web/assets/{unitCloudTransport-BVF6lVp4.js → unitCloudTransport-B44L3x6M.js} +1 -1
- package/web/assets/{unitOwnerAccess-BfnEjsZb.js → unitOwnerAccess-CRUHWGpf.js} +1 -1
- package/web/assets/{unitShim-DxetRgmP.js → unitShim-_VzxvdEG.js} +3 -3
- package/web/assets/{upload-BbeAsMuD.js → upload-MVVRQtkj.js} +1 -1
- package/web/assets/userSpaces-CI4eqEgh.js +1 -0
- package/web/assets/viewportLock-BH26xHQO.js +611 -0
- package/web/assets/viewportLock-IP1zaVkz.css +1 -0
- package/web/assets/{workflow-DuoVRSSX.js → workflow-DzeW9OXR.js} +1 -1
- package/web/assets/{zoom-in-hr5bRpDL.js → zoom-in-CovPsw4g.js} +1 -1
- package/web/index.html +212 -13
- package/web/assets/ArtificialView-B4ESD4iK.js +0 -1
- package/web/assets/CalendarConfigView-cCfo_EvZ.js +0 -1
- package/web/assets/CalendarView-wgLapctk.js +0 -1
- package/web/assets/CapabilityMenu-BQBsM638.js +0 -1
- package/web/assets/ChatView-BIUk0OJd.css +0 -1
- package/web/assets/ChatView-C-jCJnyS.js +0 -47
- package/web/assets/Chrome-CwFiDmre.js +0 -1
- package/web/assets/DashboardGridView-DXqe0vPd.js +0 -17
- package/web/assets/ExcalidrawCanvas-C3egkikA.js +0 -1
- package/web/assets/HomepageView-CRdhjLXu.js +0 -1
- package/web/assets/ImageStudioPanels-Dke7xf8E.js +0 -3
- package/web/assets/ImageStudioView-g38V8gaj.js +0 -1
- package/web/assets/InlineFiles-C_hjvn3u.js +0 -1
- package/web/assets/MarkdownBlock-DIjYEhTK.js +0 -56
- package/web/assets/ModelPill-BPlgovPo.js +0 -1
- package/web/assets/MuseLibraryView-CenyTTim.js +0 -2
- package/web/assets/PdfAnnotator-CGzC_o1Q.css +0 -1
- package/web/assets/PdfAnnotator-D79ip27w.js +0 -560
- package/web/assets/RightPanel-C3OJTIqT.js +0 -4
- package/web/assets/RunLocationPicker-BNcZ7KKF.css +0 -1
- package/web/assets/RunLocationPicker-CTYXUH2z.js +0 -34
- package/web/assets/UnifiedPage-CKNtVD_n.js +0 -57
- package/web/assets/UnifiedPage-DX_sTpyZ.css +0 -1
- package/web/assets/appStore-Di8LXuJ9.css +0 -1
- package/web/assets/automationListSource-DP5xZBxo.js +0 -1
- package/web/assets/chatBoxSurface-zvcyfrxE.js +0 -1
- package/web/assets/dashboardSurface-CFTH5z4c.js +0 -1
- package/web/assets/ellipsis-r1EcXsFq.js +0 -1
- package/web/assets/floatingTocSurface-C6RJ6i41.js +0 -1
- package/web/assets/foldActions-B7KByFdN.js +0 -1
- package/web/assets/folder-DlxnPmWY.js +0 -1
- package/web/assets/frame-_xBVYe3P.js +0 -1
- package/web/assets/gestures-CkW1Kfs9.js +0 -1
- package/web/assets/i18n-D-eU58uw.css +0 -1
- package/web/assets/i18n.generated-Bbsz16cl.js +0 -15
- package/web/assets/imageStudio-BqbNOvpu.css +0 -1
- package/web/assets/imageStudio-C_Rs630L.js +0 -2
- package/web/assets/index-BCubCwdT.js +0 -1
- package/web/assets/index-DZfZTksa.js +0 -1
- package/web/assets/main-Dki8NlsT.js +0 -21
- package/web/assets/markdownEditorSurface-B4PeUzed.js +0 -3
- package/web/assets/mdMarkStore-CsKl7C8O.js +0 -2
- package/web/assets/minus-Cyv1YzOU.js +0 -1
- package/web/assets/mobileEntry-Bd_nKr0D.js +0 -13
- package/web/assets/nativeDownload-D-f1_L2S.js +0 -1
- package/web/assets/pageChrome-C9_azUYW.js +0 -1
- package/web/assets/panel-left-rOc8As0s.js +0 -1
- package/web/assets/pen-line-m6_HvWZ9.js +0 -1
- package/web/assets/sticky-note-BIuPUSOU.js +0 -1
- package/web/assets/tableSurface-Y_JBQsuz.js +0 -1
- package/web/assets/theme-DfEi_DND.css +0 -1
- package/web/assets/type-Cqoabh7H.js +0 -1
- package/web/assets/userSpaces-DyyAn7vj.js +0 -1
- package/web/assets/viewportLock-C4SX-9PO.js +0 -103
- package/web/assets/viewportLock-DYSe7Jsn.css +0 -1
- package/web/assets/waves-horizontal-B8ZpHQ5H.js +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import{d as x,j as m,R as Rt,r as bt,u as Rr,f as Dr,t as jr,L as Lr}from"./index-Bh_nLVTc.js";import{c as Or}from"./client-DxGbwZLy.js";import{u as Ir,a as Fr,b as Nr,A as Br,C as zr,c as Ur,M as Wr,S as _r,B as $r,P as Kr,d as Hr,N as Gr,i as Yr,e as Xr}from"./viewportLock-BH26xHQO.js";import{H as Ii,a as qr,u as et,b as Zr,o as Jr,f as Qr,c as Fi,n as es,d as ta,e as ea,g as ns,h as na,i as Ni,j as sa,k as ia,l as oa,m as ra,S as aa,Q as la,O as ca,p as ss,q as is,r as ua,s as ha,t as os,v as da,w as fa,x as ma,y as pa,z as ga,A as ya,B as va,C as xa,D as ba,E as wa}from"./appStore-B1ynyt42.js";import{i as Ta,u as Ye,b as Bi,E as Sa}from"./codingNavigation-CjeWG4xm.js";import{F as Pa}from"./UnifiedPage-C75y-MKT.js";import{d as Ca,i as Aa,s as ka}from"./RunLocationPicker-CyVa0RJa.js";import{i as Tn,R as Ma,a as Va,b as Ea}from"./ipc-CPhL3bPp.js";import"./i18n.generated-BZRHO2Nc.js";import"./ModelPill-DrW2cG0l.js";import"./rotate-ccw-HedfU4na.js";import"./upload-MVVRQtkj.js";import"./hard-drive-BQsHSala.js";import"./CapabilityMenu-kx1TIJYN.js";import"./book-open-DBJ3dDpw.js";import"./folder-plus-BRScGQ9m.js";import"./circle-x-BZfe7d6S.js";import"./userSpaces-CI4eqEgh.js";import"./automationListSource-B8EIRmDW.js";import"./nativeDownload-CziEyW_p.js";import"./messages-CBtmbpur.js";import"./code-xml-joKQ-qGS.js";import"./workflow-DzeW9OXR.js";import"./list-tree-DaGpnIYu.js";import"./layout-grid-DfUfnvDS.js";import"./terminal-krsPf1mc.js";import"./star-CgYon3z4.js";import"./folder-CvZyHIgb.js";import"./DashboardGridView-MlO1dpuo.js";import"./FloatingToc-tART_jC4.js";import"./MarkdownBlock-D8LgHFYY.js";import"./index-BaRySZ-M.js";import"./linkFollow-C6PHGUxk.js";import"./mdMarks-cmL6vzR-.js";import"./emoji-Cjm3bKiF.js";import"./listFold-Q_8mh5ZG.js";import"./pageChrome-DFz_AAzZ.js";import"./pageTree-yVO1_fSy.js";import"./pluginExt-Byb64tQO.js";import"./SidebarRow-D77yrSLf.js";import"./pen-tool-uxsFELYC.js";import"./pencil-BSbra1Ra.js";import"./type-GJYLEhY-.js";import"./undo-2-DCTs4Ro4.js";import"./redo-2-BK5LMNa5.js";import"./lock-DQ_yL4nF.js";import"./AutomationBuilder-BuiHtVB-.js";import"./gestures-CZQVefU0.js";import"./Chrome-B77-lQyh.js";import"./minus-BUT48dAC.js";import"./canvasPrefs-DwL_OAAo.js";import"./circle-question-mark-HPZpZQxd.js";import"./InlineFiles-BHwivGbQ.js";import"./RightPanel-BVZeVO3c.js";import"./MuseView-Cb6R_l4i.js";import"./approvalText-Cy2UAUAQ.js";import"./message-square-plus-CEHkduIL.js";import"./codeStudioStore-C7rGKlOC.js";import"./log-out-DFwTeh2X.js";import"./index-Dj-PygjB.js";/* empty css */import"./StudioGuestSurface-DthpuVGg.js";import"./create-BjBRKATq.js";import"./pdf.worker.min-CGb3BKV9.js";import"./zoom-in-CovPsw4g.js";import"./SketchCard-CAAr_cqF.js";import"./mdMarkStore-DjN4bf1T.js";import"./arrow-up-right-R10mR2I6.js";import"./hand-D3QspKYq.js";import"./foldActions-Dm-uAt3L.js";const Me={addListener:async(t,e)=>({remove:()=>{}}),minimizeApp:async()=>{},getLaunchUrl:async()=>{}},Sn=x.createContext({});function Pn(t){const e=x.useRef(null);return e.current===null&&(e.current=t()),e.current}const Ra=typeof window<"u",Cn=Ra?x.useLayoutEffect:x.useEffect,Te=x.createContext(null);function An(t,e){t.indexOf(e)===-1&&t.push(e)}function de(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const rt=(t,e,n)=>n>e?e:n<t?t:n;let kn=()=>{};const ht={},zi=t=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(t),Ui=t=>typeof t=="object"&&t!==null,Wi=t=>/^0[^.\s]+$/u.test(t);function _i(t){let e;return()=>(e===void 0&&(e=t()),e)}const Z=t=>t,_t=(...t)=>t.reduce((e,n)=>s=>n(e(s))),Ft=(t,e,n)=>{const s=e-t;return s?(n-t)/s:1};class Mn{constructor(){this.subscriptions=[]}add(e){return An(this.subscriptions,e),()=>de(this.subscriptions,e)}notify(e,n,s){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](e,n,s);else for(let r=0;r<i;r++){const o=this.subscriptions[r];o&&o(e,n,s)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const H=t=>t*1e3,q=t=>t/1e3,$i=(t,e)=>e?t*(1e3/e):0,Ki=(t,e,n)=>(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t,Da=1e-7,ja=12;function La(t,e,n,s,i){let r,o,a=0;do o=e+(n-e)/2,r=Ki(o,s,i)-t,r>0?n=o:e=o;while(Math.abs(r)>Da&&++a<ja);return o}function $t(t,e,n,s){if(t===e&&n===s)return Z;const i=r=>La(r,0,1,t,n);return r=>r===0||r===1?r:Ki(i(r),e,s)}const Hi=t=>e=>e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2,Gi=t=>e=>1-t(1-e),Yi=$t(.33,1.53,.69,.99),Vn=Gi(Yi),Xi=Hi(Vn),qi=t=>t>=1?1:(t*=2)<1?.5*Vn(t):.5*(2-Math.pow(2,-10*(t-1))),En=t=>1-Math.sin(Math.acos(t)),Zi=Gi(En),Ji=Hi(En),Oa=$t(.42,0,1,1),Ia=$t(0,0,.58,1),Qi=$t(.42,0,.58,1),Fa=t=>Array.isArray(t)&&typeof t[0]!="number",to=t=>Array.isArray(t)&&typeof t[0]=="number",Na={linear:Z,easeIn:Oa,easeInOut:Qi,easeOut:Ia,circIn:En,circInOut:Ji,circOut:Zi,backIn:Vn,backInOut:Xi,backOut:Yi,anticipate:qi},Ba=t=>typeof t=="string",rs=t=>{if(to(t)){kn(t.length===4);const[e,n,s,i]=t;return $t(e,n,s,i)}else if(Ba(t))return Na[t];return t},Yt=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function za(t){let e=new Set,n=new Set,s=!1,i=!1;const r=new WeakSet;let o={delta:0,timestamp:0,isProcessing:!1};function a(c){r.has(c)&&(l.schedule(c),t()),c(o)}const l={schedule:(c,u=!1,h=!1)=>{const p=h&&s?e:n;return u&&r.add(c),p.add(c),c},cancel:c=>{n.delete(c),r.delete(c)},process:c=>{if(o=c,s){i=!0;return}s=!0;const u=e;e=n,n=u,e.forEach(a),e.clear(),s=!1,i&&(i=!1,l.process(c))}};return l}const Ua=40;function eo(t,e){let n=!1,s=!0;const i={delta:0,timestamp:0,isProcessing:!1},r=()=>n=!0,o=Yt.reduce((b,T)=>(b[T]=za(r),b),{}),{setup:a,read:l,resolveKeyframes:c,preUpdate:u,update:h,preRender:d,render:p,postRender:f}=o,y=()=>{const b=ht.useManualTiming,T=b?i.timestamp:performance.now();n=!1,b||(i.delta=s?1e3/60:Math.max(Math.min(T-i.timestamp,Ua),1)),i.timestamp=T,i.isProcessing=!0,a.process(i),l.process(i),c.process(i),u.process(i),h.process(i),d.process(i),p.process(i),f.process(i),i.isProcessing=!1,n&&e&&(s=!1,t(y))},v=()=>{n=!0,s=!0,i.isProcessing||t(y)};return{schedule:Yt.reduce((b,T)=>{const k=o[T];return b[T]=(V,M=!1,C=!1)=>(n||v(),k.schedule(V,M,C)),b},{}),cancel:b=>{for(let T=0;T<Yt.length;T++)o[Yt[T]].cancel(b)},state:i,steps:o}}const{schedule:L,cancel:dt,state:U,steps:Ve}=eo(typeof requestAnimationFrame<"u"?requestAnimationFrame:Z,!0);let se;function Wa(){se=void 0}const _={now:()=>(se===void 0&&_.set(U.isProcessing||ht.useManualTiming?U.timestamp:performance.now()),se),set:t=>{se=t,queueMicrotask(Wa)}},no=t=>e=>typeof e=="string"&&e.startsWith(t),so=no("--"),_a=no("var(--"),Rn=t=>_a(t)?$a.test(t.split("/*")[0].trim()):!1,$a=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function as(t){return typeof t!="string"?!1:t.split("/*")[0].includes("var(--")}const kt={test:t=>typeof t=="number",parse:parseFloat,transform:t=>t},Nt={...kt,transform:t=>rt(0,1,t)},Xt={...kt,default:1},jt=t=>Math.round(t*1e5)/1e5,Dn=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function Ka(t){return t==null}const Ha=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,jn=(t,e)=>n=>!!(typeof n=="string"&&Ha.test(n)&&n.startsWith(t)||e&&!Ka(n)&&Object.prototype.hasOwnProperty.call(n,e)),io=(t,e,n)=>s=>{if(typeof s!="string")return s;const[i,r,o,a]=s.match(Dn);return{[t]:parseFloat(i),[e]:parseFloat(r),[n]:parseFloat(o),alpha:a!==void 0?parseFloat(a):1}},Ga=t=>rt(0,255,t),Ee={...kt,transform:t=>Math.round(Ga(t))},gt={test:jn("rgb","red"),parse:io("red","green","blue"),transform:({red:t,green:e,blue:n,alpha:s=1})=>"rgba("+Ee.transform(t)+", "+Ee.transform(e)+", "+Ee.transform(n)+", "+jt(Nt.transform(s))+")"};function Ya(t){let e="",n="",s="",i="";return t.length>5?(e=t.substring(1,3),n=t.substring(3,5),s=t.substring(5,7),i=t.substring(7,9)):(e=t.substring(1,2),n=t.substring(2,3),s=t.substring(3,4),i=t.substring(4,5),e+=e,n+=n,s+=s,i+=i),{red:parseInt(e,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:i?parseInt(i,16)/255:1}}const Xe={test:jn("#"),parse:Ya,transform:gt.transform},Kt=t=>({test:e=>typeof e=="string"&&e.endsWith(t)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${t}`}),at=Kt("deg"),ot=Kt("%"),P=Kt("px"),Xa=Kt("vh"),qa=Kt("vw"),ls={...ot,parse:t=>ot.parse(t)/100,transform:t=>ot.transform(t*100)},Tt={test:jn("hsl","hue"),parse:io("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:n,alpha:s=1})=>"hsla("+Math.round(t)+", "+ot.transform(jt(e))+", "+ot.transform(jt(n))+", "+jt(Nt.transform(s))+")"},F={test:t=>gt.test(t)||Xe.test(t)||Tt.test(t),parse:t=>gt.test(t)?gt.parse(t):Tt.test(t)?Tt.parse(t):Xe.parse(t),transform:t=>typeof t=="string"?t:t.hasOwnProperty("red")?gt.transform(t):Tt.transform(t),getAnimatableNone:t=>{const e=F.parse(t);return e.alpha=0,F.transform(e)}},Za=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Ja(t){return isNaN(t)&&typeof t=="string"&&(t.match(Dn)?.length||0)+(t.match(Za)?.length||0)>0}const oo="number",ro="color",Qa="var",tl="var(",cs="${}",el=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Ct(t){const e=t.toString(),n=[],s={color:[],number:[],var:[]},i=[];let r=0;const a=e.replace(el,l=>(F.test(l)?(s.color.push(r),i.push(ro),n.push(F.parse(l))):l.startsWith(tl)?(s.var.push(r),i.push(Qa),n.push(l)):(s.number.push(r),i.push(oo),n.push(parseFloat(l))),++r,cs)).split(cs);return{values:n,split:a,indexes:s,types:i}}function nl(t){return Ct(t).values}function ao({split:t,types:e}){const n=t.length;return s=>{let i="";for(let r=0;r<n;r++)if(i+=t[r],s[r]!==void 0){const o=e[r];o===oo?i+=jt(s[r]):o===ro?i+=F.transform(s[r]):i+=s[r]}return i}}function sl(t){return ao(Ct(t))}const il=t=>typeof t=="number"?0:F.test(t)?F.getAnimatableNone(t):t,ol=(t,e)=>typeof t=="number"?e?.trim().endsWith("/")?t:0:il(t);function rl(t){const e=Ct(t);return ao(e)(e.values.map((s,i)=>ol(s,e.split[i])))}const nt={test:Ja,parse:nl,createTransformer:sl,getAnimatableNone:rl};function Re(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*(2/3-n)*6:t}function al({hue:t,saturation:e,lightness:n,alpha:s}){t/=360,e/=100,n/=100;let i=0,r=0,o=0;if(!e)i=r=o=n;else{const a=n<.5?n*(1+e):n+e-n*e,l=2*n-a;i=Re(l,a,t+1/3),r=Re(l,a,t),o=Re(l,a,t-1/3)}return{red:Math.round(i*255),green:Math.round(r*255),blue:Math.round(o*255),alpha:s}}function fe(t,e){return n=>n>0?e:t}const j=(t,e,n)=>t+(e-t)*n,De=(t,e,n)=>{const s=t*t,i=n*(e*e-s)+s;return i<0?0:Math.sqrt(i)},ll=[Xe,gt,Tt],cl=t=>ll.find(e=>e.test(t));function us(t){const e=cl(t);if(!e)return!1;let n=e.parse(t);return e===Tt&&(n=al(n)),n}const hs=(t,e)=>{const n=us(t),s=us(e);if(!n||!s)return fe(t,e);const i={...n};return r=>(i.red=De(n.red,s.red,r),i.green=De(n.green,s.green,r),i.blue=De(n.blue,s.blue,r),i.alpha=j(n.alpha,s.alpha,r),gt.transform(i))},qe=new Set(["none","hidden"]);function ul(t,e){return qe.has(t)?n=>n<=0?t:e:n=>n>=1?e:t}function hl(t,e){return n=>j(t,e,n)}function Ln(t){return typeof t=="number"?hl:typeof t=="string"?Rn(t)?fe:F.test(t)?hs:ml:Array.isArray(t)?lo:typeof t=="object"?F.test(t)?hs:dl:fe}function lo(t,e){const n=[...t],s=n.length,i=t.map((r,o)=>Ln(r)(r,e[o]));return r=>{for(let o=0;o<s;o++)n[o]=i[o](r);return n}}function dl(t,e){const n={...t,...e},s={};for(const i in n)t[i]!==void 0&&e[i]!==void 0&&(s[i]=Ln(t[i])(t[i],e[i]));return i=>{for(const r in s)n[r]=s[r](i);return n}}function fl(t,e){const n=[],s={color:0,var:0,number:0};for(let i=0;i<e.values.length;i++){const r=e.types[i],o=t.indexes[r][s[r]],a=t.values[o]??0;n[i]=a,s[r]++}return n}const ml=(t,e)=>{const n=nt.createTransformer(e),s=Ct(t),i=Ct(e);return s.indexes.var.length===i.indexes.var.length&&s.indexes.color.length===i.indexes.color.length&&s.indexes.number.length>=i.indexes.number.length?qe.has(t)&&!i.values.length||qe.has(e)&&!s.values.length?ul(t,e):_t(lo(fl(s,i),i.values),n):fe(t,e)};function co(t,e,n){return typeof t=="number"&&typeof e=="number"&&typeof n=="number"?j(t,e,n):Ln(t)(t,e)}const pl=t=>{const e=({timestamp:n})=>t(n);return{start:(n=!0)=>L.update(e,n),stop:()=>dt(e),now:()=>U.isProcessing?U.timestamp:_.now()}},uo=(t,e,n=10)=>{let s="";const i=Math.max(Math.round(e/n),2);for(let r=0;r<i;r++)s+=Math.round(t(r/(i-1))*1e4)/1e4+", ";return`linear(${s.substring(0,s.length-2)})`},me=2e4;function On(t){let e=0;const n=50;let s=t.next(e);for(;!s.done&&e<me;)e+=n,s=t.next(e);return e>=me?1/0:e}function gl(t,e=100,n){const s=n({...t,keyframes:[0,e]}),i=Math.min(On(s),me);return{type:"keyframes",ease:r=>s.next(i*r).value/e,duration:q(i)}}const I={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function Ze(t,e){return t*Math.sqrt(1-e*e)}const yl=12;function vl(t,e,n){let s=n;for(let i=1;i<yl;i++)s=s-t(s)/e(s);return s}const je=.001;function xl({duration:t=I.duration,bounce:e=I.bounce,velocity:n=I.velocity,mass:s=I.mass}){let i,r,o=1-e;o=rt(I.minDamping,I.maxDamping,o),t=rt(I.minDuration,I.maxDuration,q(t)),o<1?(i=c=>{const u=c*o,h=u*t,d=u-n,p=Ze(c,o),f=Math.exp(-h);return je-d/p*f},r=c=>{const h=c*o*t,d=h*n+n,p=Math.pow(o,2)*Math.pow(c,2)*t,f=Math.exp(-h),y=Ze(Math.pow(c,2),o);return(-i(c)+je>0?-1:1)*((d-p)*f)/y}):(i=c=>{const u=Math.exp(-c*t),h=(c-n)*t+1;return-je+u*h},r=c=>{const u=Math.exp(-c*t),h=(n-c)*(t*t);return u*h});const a=5/t,l=vl(i,r,a);if(t=H(t),isNaN(l))return{stiffness:I.stiffness,damping:I.damping,duration:t};{const c=Math.pow(l,2)*s;return{stiffness:c,damping:o*2*Math.sqrt(s*c),duration:t}}}const bl=["duration","bounce"],wl=["stiffness","damping","mass"];function ds(t,e){return e.some(n=>t[n]!==void 0)}function Tl(t){let e={velocity:I.velocity,stiffness:I.stiffness,damping:I.damping,mass:I.mass,isResolvedFromDuration:!1,...t};if(!ds(t,wl)&&ds(t,bl))if(e.velocity=0,t.visualDuration){const n=t.visualDuration,s=2*Math.PI/(n*1.2),i=s*s,r=2*rt(.05,1,1-(t.bounce||0))*Math.sqrt(i);e={...e,mass:I.mass,stiffness:i,damping:r}}else{const n=xl({...t,velocity:0});e={...e,...n,mass:I.mass},e.isResolvedFromDuration=!0}return e}function pe(t=I.visualDuration,e=I.bounce){const n=typeof t!="object"?{visualDuration:t,keyframes:[0,1],bounce:e}:t;let{restSpeed:s,restDelta:i}=n;const r=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],a={done:!1,value:r},{stiffness:l,damping:c,mass:u,duration:h,velocity:d,isResolvedFromDuration:p}=Tl({...n,velocity:-q(n.velocity||0)}),f=d||0,y=c/(2*Math.sqrt(l*u)),v=o-r,g=q(Math.sqrt(l/u)),S=Math.abs(v)<5;s||(s=S?I.restSpeed.granular:I.restSpeed.default),i||(i=S?I.restDelta.granular:I.restDelta.default);let b,T,k,V,M,C;if(y<1)k=Ze(g,y),V=(f+y*g*v)/k,b=A=>{const O=Math.exp(-y*g*A);return o-O*(V*Math.sin(k*A)+v*Math.cos(k*A))},M=y*g*V+v*k,C=y*g*v-V*k,T=A=>Math.exp(-y*g*A)*(M*Math.sin(k*A)+C*Math.cos(k*A));else if(y===1){b=O=>o-Math.exp(-g*O)*(v+(f+g*v)*O);const A=f+g*v;T=O=>Math.exp(-g*O)*(g*A*O-f)}else{const A=g*Math.sqrt(y*y-1);b=G=>{const Y=Math.exp(-y*g*G),K=Math.min(A*G,300);return o-Y*((f+y*g*v)*Math.sinh(K)+A*v*Math.cosh(K))/A};const O=(f+y*g*v)/A,N=y*g*O-v*A,J=y*g*v-O*A;T=G=>{const Y=Math.exp(-y*g*G),K=Math.min(A*G,300);return Y*(N*Math.sinh(K)+J*Math.cosh(K))}}const E={calculatedDuration:p&&h||null,velocity:A=>H(T(A)),next:A=>{if(!p&&y<1){const N=Math.exp(-y*g*A),J=Math.sin(k*A),G=Math.cos(k*A),Y=o-N*(V*J+v*G),K=H(N*(M*J+C*G));return a.done=Math.abs(K)<=s&&Math.abs(o-Y)<=i,a.value=a.done?o:Y,a}const O=b(A);if(p)a.done=A>=h;else{const N=H(T(A));a.done=Math.abs(N)<=s&&Math.abs(o-O)<=i}return a.value=a.done?o:O,a},toString:()=>{const A=Math.min(On(E),me),O=uo(N=>E.next(A*N).value,A,30);return A+"ms "+O},toTransition:()=>{}};return E}pe.applyToOptions=t=>{const e=gl(t,100,pe);return t.ease=e.ease,t.duration=H(e.duration),t.type="keyframes",t};const Sl=5;function ho(t,e,n){const s=Math.max(e-Sl,0);return $i(n-t(s),e-s)}function Je({keyframes:t,velocity:e=0,power:n=.8,timeConstant:s=325,bounceDamping:i=10,bounceStiffness:r=500,modifyTarget:o,min:a,max:l,restDelta:c=.5,restSpeed:u}){const h=t[0],d={done:!1,value:h},p=C=>a!==void 0&&C<a||l!==void 0&&C>l,f=C=>a===void 0?l:l===void 0||Math.abs(a-C)<Math.abs(l-C)?a:l;let y=n*e;const v=h+y,g=o===void 0?v:o(v);g!==v&&(y=g-h);const S=C=>-y*Math.exp(-C/s),b=C=>g+S(C),T=C=>{const E=S(C),A=b(C);d.done=Math.abs(E)<=c,d.value=d.done?g:A};let k,V;const M=C=>{p(d.value)&&(k=C,V=pe({keyframes:[d.value,f(d.value)],velocity:ho(b,C,d.value),damping:i,stiffness:r,restDelta:c,restSpeed:u}))};return M(0),{calculatedDuration:null,next:C=>{let E=!1;return!V&&k===void 0&&(E=!0,T(C),M(C)),k!==void 0&&C>=k?V.next(C-k):(!E&&T(C),d)}}}function Pl(t,e,n){const s=[],i=n||ht.mix||co,r=t.length-1;for(let o=0;o<r;o++){let a=i(t[o],t[o+1]);if(e){const l=Array.isArray(e)?e[o]||Z:e;a=_t(l,a)}s.push(a)}return s}function Cl(t,e,{clamp:n=!0,ease:s,mixer:i}={}){const r=t.length;if(kn(r===e.length),r===1)return()=>e[0];if(r===2&&e[0]===e[1])return()=>e[1];const o=t[0]===t[1];t[0]>t[r-1]&&(t=[...t].reverse(),e=[...e].reverse());const a=Pl(e,s,i),l=a.length,c=u=>{if(o&&u<t[0])return e[0];let h=0;if(l>1)for(;h<t.length-2&&!(u<t[h+1]);h++);const d=Ft(t[h],t[h+1],u);return a[h](d)};return n?u=>c(rt(t[0],t[r-1],u)):c}function Al(t,e){const n=t[t.length-1];for(let s=1;s<=e;s++){const i=Ft(0,e,s);t.push(j(n,1,i))}}function kl(t){const e=[0];return Al(e,t.length-1),e}function Ml(t,e){return t.map(n=>n*e)}function Vl(t,e){return t.map(()=>e||Qi).splice(0,t.length-1)}function Lt({duration:t=300,keyframes:e,times:n,ease:s="easeInOut"}){const i=Fa(s)?s.map(rs):rs(s),r={done:!1,value:e[0]},o=Ml(n&&n.length===e.length?n:kl(e),t),a=Cl(o,e,{ease:Array.isArray(i)?i:Vl(e,i)});return{calculatedDuration:t,next:l=>(r.value=a(l),r.done=l>=t,r)}}const El=t=>t!==null;function Se(t,{repeat:e,repeatType:n="loop"},s,i=1){const r=t.filter(El),a=i<0||e&&n!=="loop"&&e%2===1?0:r.length-1;return!a||s===void 0?r[a]:s}const Rl={decay:Je,inertia:Je,tween:Lt,keyframes:Lt,spring:pe};function fo(t){typeof t.type=="string"&&(t.type=Rl[t.type])}class In{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,n){return this.finished.then(e,n)}}const Dl=t=>t/100;class ge extends In{constructor(e){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{const{motionValue:n}=this.options;n&&n.updatedAt!==_.now()&&this.tick(_.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){const{options:e}=this;fo(e);const{type:n=Lt,repeat:s=0,repeatDelay:i=0,repeatType:r,velocity:o=0}=e;let{keyframes:a}=e;const l=n||Lt;l!==Lt&&typeof a[0]!="number"&&(this.mixKeyframes=_t(Dl,co(a[0],a[1])),a=[0,100]);const c=l({...e,keyframes:a});r==="mirror"&&(this.mirroredGenerator=l({...e,keyframes:[...a].reverse(),velocity:-o})),c.calculatedDuration===null&&(c.calculatedDuration=On(c));const{calculatedDuration:u}=c;this.calculatedDuration=u,this.resolvedDuration=u+i,this.totalDuration=this.resolvedDuration*(s+1)-i,this.generator=c}updateTime(e){const n=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=n}tick(e,n=!1){const{generator:s,totalDuration:i,mixKeyframes:r,mirroredGenerator:o,resolvedDuration:a,calculatedDuration:l}=this;if(this.startTime===null)return s.next(0);const{delay:c=0,keyframes:u,repeat:h,repeatType:d,repeatDelay:p,type:f,onUpdate:y,finalKeyframe:v}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-i/this.speed,this.startTime)),n?this.currentTime=e:this.updateTime(e);const g=this.currentTime-c*(this.playbackSpeed>=0?1:-1),S=this.playbackSpeed>=0?g<0:g>i;this.currentTime=Math.max(g,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=i);let b=this.currentTime,T=s;if(h){const C=Math.min(this.currentTime,i)/a;let E=Math.floor(C),A=C%1;!A&&C>=1&&(A=1),A===1&&E--,E=Math.min(E,h+1),E%2&&(d==="reverse"?(A=1-A,p&&(A-=p/a)):d==="mirror"&&(T=o)),b=rt(0,1,A)*a}let k;S?(this.delayState.value=u[0],k=this.delayState):k=T.next(b),r&&!S&&(k.value=r(k.value));let{done:V}=k;!S&&l!==null&&(V=this.playbackSpeed>=0?this.currentTime>=i:this.currentTime<=0);const M=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&V);return M&&f!==Je&&(k.value=Se(u,this.options,v,this.speed)),y&&y(k.value),M&&this.finish(),k}then(e,n){return this.finished.then(e,n)}get duration(){return q(this.calculatedDuration)}get iterationDuration(){const{delay:e=0}=this.options||{};return this.duration+q(e)}get time(){return q(this.currentTime)}set time(e){e=H(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=e,this.tick(e))}getGeneratorVelocity(){const e=this.currentTime;if(e<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(e);const n=this.generator.next(e).value;return ho(s=>this.generator.next(s).value,e,n)}get speed(){return this.playbackSpeed}set speed(e){const n=this.playbackSpeed!==e;n&&this.driver&&this.updateTime(_.now()),this.playbackSpeed=e,n&&this.driver&&(this.time=q(this.currentTime))}play(){if(this.isStopped)return;const{driver:e=pl,startTime:n}=this.options;this.driver||(this.driver=e(i=>this.tick(i))),this.options.onPlay?.();const s=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=s):this.holdTime!==null?this.startTime=s-this.holdTime:this.startTime||(this.startTime=n??s),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(_.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),e.observe(this)}}function jl(t){for(let e=1;e<t.length;e++)t[e]??(t[e]=t[e-1])}const yt=t=>t*180/Math.PI,Qe=t=>{const e=yt(Math.atan2(t[1],t[0]));return tn(e)},Ll={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:t=>(Math.abs(t[0])+Math.abs(t[3]))/2,rotate:Qe,rotateZ:Qe,skewX:t=>yt(Math.atan(t[1])),skewY:t=>yt(Math.atan(t[2])),skew:t=>(Math.abs(t[1])+Math.abs(t[2]))/2},tn=t=>(t=t%360,t<0&&(t+=360),t),fs=Qe,ms=t=>Math.sqrt(t[0]*t[0]+t[1]*t[1]),ps=t=>Math.sqrt(t[4]*t[4]+t[5]*t[5]),Ol={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:ms,scaleY:ps,scale:t=>(ms(t)+ps(t))/2,rotateX:t=>tn(yt(Math.atan2(t[6],t[5]))),rotateY:t=>tn(yt(Math.atan2(-t[2],t[0]))),rotateZ:fs,rotate:fs,skewX:t=>yt(Math.atan(t[4])),skewY:t=>yt(Math.atan(t[1])),skew:t=>(Math.abs(t[1])+Math.abs(t[4]))/2};function en(t){return t.includes("scale")?1:0}function nn(t,e){if(!t||t==="none")return en(e);const n=t.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let s,i;if(n)s=Ol,i=n;else{const a=t.match(/^matrix\(([-\d.e\s,]+)\)$/u);s=Ll,i=a}if(!i)return en(e);const r=s[e],o=i[1].split(",").map(Fl);return typeof r=="function"?r(o):o[r]}const Il=(t,e)=>{const{transform:n="none"}=getComputedStyle(t);return nn(n,e)};function Fl(t){return parseFloat(t.trim())}const Mt=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Vt=new Set([...Mt,"pathRotation"]),gs=t=>t===kt||t===P,Nl=new Set(["x","y","z"]),Bl=Mt.filter(t=>!Nl.has(t));function zl(t){const e=[];return Bl.forEach(n=>{const s=t.getValue(n);s!==void 0&&(e.push([n,s.get()]),s.set(n.startsWith("scale")?1:0))}),e}const ut={width:({x:t},{paddingLeft:e="0",paddingRight:n="0",boxSizing:s})=>{const i=t.max-t.min;return s==="border-box"?i:i-parseFloat(e)-parseFloat(n)},height:({y:t},{paddingTop:e="0",paddingBottom:n="0",boxSizing:s})=>{const i=t.max-t.min;return s==="border-box"?i:i-parseFloat(e)-parseFloat(n)},top:(t,{top:e})=>parseFloat(e),left:(t,{left:e})=>parseFloat(e),bottom:({y:t},{top:e})=>parseFloat(e)+(t.max-t.min),right:({x:t},{left:e})=>parseFloat(e)+(t.max-t.min),x:(t,{transform:e})=>nn(e,"x"),y:(t,{transform:e})=>nn(e,"y")};ut.translateX=ut.x;ut.translateY=ut.y;const vt=new Set;let sn=!1,on=!1,rn=!1;function mo(){if(on){const t=Array.from(vt).filter(s=>s.needsMeasurement),e=new Set(t.map(s=>s.element)),n=new Map;e.forEach(s=>{const i=zl(s);i.length&&(n.set(s,i),s.render())}),t.forEach(s=>s.measureInitialState()),e.forEach(s=>{s.render();const i=n.get(s);i&&i.forEach(([r,o])=>{s.getValue(r)?.set(o)})}),t.forEach(s=>s.measureEndState()),t.forEach(s=>{s.suspendedScrollY!==void 0&&window.scrollTo(0,s.suspendedScrollY)})}on=!1,sn=!1,vt.forEach(t=>t.complete(rn)),vt.clear()}function po(){vt.forEach(t=>{t.readKeyframes(),t.needsMeasurement&&(on=!0)})}function Ul(){rn=!0,po(),mo(),rn=!1}class Fn{constructor(e,n,s,i,r,o=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=n,this.name=s,this.motionValue=i,this.element=r,this.isAsync=o}scheduleResolve(){this.state="scheduled",this.isAsync?(vt.add(this),sn||(sn=!0,L.read(po),L.resolveKeyframes(mo))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:e,name:n,element:s,motionValue:i}=this;if(e[0]===null){const r=i?.get(),o=e[e.length-1];if(r!==void 0)e[0]=r;else if(s&&n){const a=s.readValue(n,o);a!=null&&(e[0]=a)}e[0]===void 0&&(e[0]=o),i&&r===void 0&&i.set(e[0])}jl(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),vt.delete(this)}cancel(){this.state==="scheduled"&&(vt.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const Wl=t=>t.startsWith("--");function go(t,e,n){Wl(e)?t.style.setProperty(e,n):t.style[e]=n}const _l={};function yo(t,e){const n=_i(t);return()=>_l[e]??n()}const $l=yo(()=>window.ScrollTimeline!==void 0,"scrollTimeline"),vo=yo(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Dt=([t,e,n,s])=>`cubic-bezier(${t}, ${e}, ${n}, ${s})`,ys={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Dt([0,.65,.55,1]),circOut:Dt([.55,0,1,.45]),backIn:Dt([.31,.01,.66,-.59]),backOut:Dt([.33,1.53,.69,.99])};function xo(t,e){if(t)return typeof t=="function"?vo()?uo(t,e):"ease-out":to(t)?Dt(t):Array.isArray(t)?t.map(n=>xo(n,e)||ys.easeOut):ys[t]}function Kl(t,e,n,{delay:s=0,duration:i=300,repeat:r=0,repeatType:o="loop",ease:a="easeOut",times:l}={},c=void 0){const u={[e]:n};l&&(u.offset=l);const h=xo(a,i);Array.isArray(h)&&(u.easing=h);const d={delay:s,duration:i,easing:Array.isArray(h)?"linear":h,fill:"both",iterations:r+1,direction:o==="reverse"?"alternate":"normal"};return c&&(d.pseudoElement=c),t.animate(u,d)}function bo(t){return typeof t=="function"&&"applyToOptions"in t}function Hl({type:t,...e}){return bo(t)&&vo()?t.applyToOptions(e):(e.duration??(e.duration=300),e.ease??(e.ease="easeOut"),e)}class wo extends In{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;const{element:n,name:s,keyframes:i,pseudoElement:r,allowFlatten:o=!1,finalKeyframe:a,onComplete:l}=e;this.isPseudoElement=!!r,this.allowFlatten=o,this.options=e,kn(typeof e.type!="string");const c=Hl(e);this.animation=Kl(n,s,i,c,r),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!r){const u=Se(i,this.options,a,this.speed);this.updateMotionValue&&this.updateMotionValue(u),go(n,s,u),this.animation.cancel()}l?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:e}=this;e==="idle"||e==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){const e=this.options?.element;!this.isPseudoElement&&e?.isConnected&&this.animation.commitStyles?.()}get duration(){const e=this.animation.effect?.getComputedTiming?.().duration||0;return q(Number(e))}get iterationDuration(){const{delay:e=0}=this.options||{};return this.duration+q(e)}get time(){return q(Number(this.animation.currentTime)||0)}set time(e){const n=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=H(e),n&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:n,rangeEnd:s,observe:i}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,e&&$l()?(this.animation.timeline=e,n&&(this.animation.rangeStart=n),s&&(this.animation.rangeEnd=s),Z):i(this)}}const To={anticipate:qi,backInOut:Xi,circInOut:Ji};function Gl(t){return t in To}function Yl(t){typeof t.ease=="string"&&Gl(t.ease)&&(t.ease=To[t.ease])}const Le=10;class Xl extends wo{constructor(e){Yl(e),fo(e),super(e),e.startTime!==void 0&&e.autoplay!==!1&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){const{motionValue:n,onUpdate:s,onComplete:i,element:r,...o}=this.options;if(!n)return;if(e!==void 0){n.set(e);return}const a=new ge({...o,autoplay:!1}),l=Math.max(Le,_.now()-this.startTime),c=rt(0,Le,l-Le),u=a.sample(l).value,{name:h}=this.options;r&&h&&go(r,h,u),n.setWithVelocity(a.sample(Math.max(0,l-c)).value,u,c),a.stop()}}const vs=(t,e)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(nt.test(t)||t==="0")&&!t.startsWith("url("));function ql(t){const e=t[0];if(t.length===1)return!0;for(let n=0;n<t.length;n++)if(t[n]!==e)return!0}function Zl(t,e,n,s){const i=t[0];if(i===null)return!1;if(e==="display"||e==="visibility")return!0;const r=t[t.length-1],o=vs(i,e),a=vs(r,e);return!o||!a?!1:ql(t)||(n==="spring"||bo(n))&&s}function an(t){t.duration=0,t.type="keyframes"}const So=new Set(["opacity","clipPath","filter","transform"]),Jl=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function Ql(t){for(let e=0;e<t.length;e++)if(typeof t[e]=="string"&&Jl.test(t[e]))return!0;return!1}const tc=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),ec=_i(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function nc(t){const{motionValue:e,name:n,repeatDelay:s,repeatType:i,damping:r,type:o,keyframes:a}=t;if(!(e?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:c,transformTemplate:u}=e.owner.getProps();return ec()&&n&&(So.has(n)||tc.has(n)&&Ql(a))&&(n!=="transform"||!u)&&!c&&!s&&i!=="mirror"&&r!==0&&o!=="inertia"}const sc=40;class ic extends In{constructor({autoplay:e=!0,delay:n=0,type:s="keyframes",repeat:i=0,repeatDelay:r=0,repeatType:o="loop",keyframes:a,name:l,motionValue:c,element:u,...h}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=_.now();const d={autoplay:e,delay:n,type:s,repeat:i,repeatDelay:r,repeatType:o,name:l,motionValue:c,element:u,...h},p=u?.KeyframeResolver||Fn;this.keyframeResolver=new p(a,(f,y,v)=>this.onKeyframesResolved(f,y,d,!v),l,c,u),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,n,s,i){this.keyframeResolver=void 0;const{name:r,type:o,velocity:a,delay:l,isHandoff:c,onUpdate:u}=s;this.resolvedAt=_.now();let h=!0;Zl(e,r,o,a)||(h=!1,(ht.instantAnimations||!l)&&u?.(Se(e,s,n)),e[0]=e[e.length-1],an(s),s.repeat=0);const p={startTime:i?this.resolvedAt?this.resolvedAt-this.createdAt>sc?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...s,keyframes:e},f=h&&!c&&nc(p),y=p.motionValue?.owner?.current;let v;if(f)try{v=new Xl({...p,element:y})}catch{v=new ge(p)}else v=new ge(p);v.finished.then(()=>{this.notifyFinished()}).catch(Z),this.pendingTimeline&&(this.stopTimeline=v.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=v}get finished(){return this._animation?this.animation.finished:this._finished}then(e,n){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Ul()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}function Po(t,e,n,s=0,i=1){const r=Array.from(t).sort((c,u)=>c.sortNodePosition(u)).indexOf(e),o=t.size,a=(o-1)*s;return typeof n=="function"?n(r,o):i===1?r*s:a-r*s}const xs=30,oc=t=>!isNaN(parseFloat(t));class rc{constructor(e,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=s=>{const i=_.now();if(this.updatedAt!==i&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(s),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const r of this.dependents)r.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=n.owner}setCurrent(e){this.current=e,this.updatedAt=_.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=oc(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on("change",e)}on(e,n){this.events[e]||(this.events[e]=new Mn);const s=this.events[e].add(n);return e==="change"?()=>{s(),L.read(()=>{this.events.change.getSize()||this.stop()})}:s}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,n){this.passiveEffect=e,this.stopPassiveEffect=n}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,n,s){this.set(n),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-s}jump(e,n=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||(this.dependents=new Set),this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const e=_.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>xs)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,xs);return $i(parseFloat(this.current)-parseFloat(this.prevFrameValue),n)}start(e){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=e(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function At(t,e){return new rc(t,e)}function Co(t,e){if(t?.inherit&&e){const{inherit:n,...s}=t;return{...e,...s}}return t}function Nn(t,e){const n=t?.[e]??t?.default??t;return n!==t?Co(n,t):n}const ac={type:"spring",stiffness:500,damping:25,restSpeed:10},lc=t=>({type:"spring",stiffness:550,damping:t===0?2*Math.sqrt(550):30,restSpeed:10}),cc={type:"keyframes",duration:.8},uc={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},hc=(t,{keyframes:e})=>e.length>2?cc:Vt.has(t)?t.startsWith("scale")?lc(e[1]):ac:uc,dc=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]);function fc(t){for(const e in t)if(!dc.has(e))return!0;return!1}const Bn=(t,e,n,s={},i,r)=>o=>{const a=Nn(s,t)||{},l=a.delay||s.delay||0;let{elapsed:c=0}=s;c=c-H(l);const u={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:e.getVelocity(),...a,delay:-c,onUpdate:d=>{e.set(d),a.onUpdate&&a.onUpdate(d)},onComplete:()=>{o(),a.onComplete&&a.onComplete()},name:t,motionValue:e,element:r?void 0:i};fc(a)||Object.assign(u,hc(t,u)),u.duration&&(u.duration=H(u.duration)),u.repeatDelay&&(u.repeatDelay=H(u.repeatDelay)),u.from!==void 0&&(u.keyframes[0]=u.from);let h=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(an(u),u.delay===0&&(h=!0)),(ht.instantAnimations||ht.skipAnimations||i?.shouldSkipAnimations||a.skipAnimations)&&(h=!0,an(u),u.delay=0),u.allowFlatten=!a.type&&!a.ease,h&&!r&&e.get()!==void 0){const d=Se(u.keyframes,a);if(d!==void 0){L.update(()=>{u.onUpdate(d),u.onComplete()});return}}return a.isSync?new ge(u):new ic(u)},mc=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function pc(t){const e=mc.exec(t);if(!e)return[,];const[,n,s,i]=e;return[`--${n??s}`,i]}function Ao(t,e,n=1){const[s,i]=pc(t);if(!s)return;const r=window.getComputedStyle(e).getPropertyValue(s);if(r){const o=r.trim();return zi(o)?parseFloat(o):o}return Rn(i)?Ao(i,e,n+1):i}function bs(t){const e=[{},{}];return t?.values.forEach((n,s)=>{e[0][s]=n.get(),e[1][s]=n.getVelocity()}),e}function zn(t,e,n,s){if(typeof e=="function"){const[i,r]=bs(s);e=e(n!==void 0?n:t.custom,i,r)}if(typeof e=="string"&&(e=t.variants&&t.variants[e]),typeof e=="function"){const[i,r]=bs(s);e=e(n!==void 0?n:t.custom,i,r)}return e}function xt(t,e,n){const s=t.getProps();return zn(s,e,n!==void 0?n:s.custom,t)}const ko=new Set(["width","height","top","left","right","bottom",...Mt]),ln=t=>Array.isArray(t);function gc(t,e,n){t.hasValue(e)?t.getValue(e).set(n):t.addValue(e,At(n))}function yc(t){return ln(t)?t[t.length-1]||0:t}function vc(t,e){const n=xt(t,e);let{transitionEnd:s={},transition:i={},...r}=n||{};r={...r,...s};for(const o in r){const a=yc(r[o]);gc(t,o,a)}}const W=t=>!!(t&&t.getVelocity);function xc(t){return!!(W(t)&&t.add)}function cn(t,e){const n=t.getValue("willChange");if(xc(n))return n.add(e);if(!n&&ht.WillChange){const s=new ht.WillChange("auto");t.addValue("willChange",s),s.add(e)}}function Un(t){return t.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}const bc="framerAppearId",Mo="data-"+Un(bc);function Vo(t){return t.props[Mo]}function wc({protectedKeys:t,needsAnimating:e},n){const s=t.hasOwnProperty(n)&&e[n]!==!0;return e[n]=!1,s}function Eo(t,e,{delay:n=0,transitionOverride:s,type:i}={}){let{transition:r,transitionEnd:o,...a}=e;const l=t.getDefaultTransition();r=r?Co(r,l):l;const c=r?.reduceMotion,u=r?.skipAnimations;s&&(r=s);const h=[],d=i&&t.animationState&&t.animationState.getState()[i],p=r?.path;p&&p.animateVisualElement(t,a,r,n,h);for(const f in a){const y=t.getValue(f,t.latestValues[f]??null),v=a[f];if(v===void 0||d&&wc(d,f))continue;const g={delay:n,...Nn(r||{},f)};u&&(g.skipAnimations=!0);const S=y.get();if(S!==void 0&&!y.isAnimating()&&!Array.isArray(v)&&v===S&&!g.velocity){L.update(()=>y.set(v));continue}let b=!1;if(window.MotionHandoffAnimation){const V=Vo(t);if(V){const M=window.MotionHandoffAnimation(V,f,L);M!==null&&(g.startTime=M,b=!0)}}cn(t,f);const T=c??t.shouldReduceMotion;y.start(Bn(f,y,v,T&&ko.has(f)?{type:!1}:g,t,b));const k=y.animation;k&&h.push(k)}if(o){const f=()=>L.update(()=>{o&&vc(t,o)});h.length?Promise.all(h).then(f):f()}return h}function un(t,e,n={}){const s=xt(t,e,n.type==="exit"?t.presenceContext?.custom:void 0);let{transition:i=t.getDefaultTransition()||{}}=s||{};n.transitionOverride&&(i=n.transitionOverride);const r=s?()=>Promise.all(Eo(t,s,n)):()=>Promise.resolve(),o=t.variantChildren&&t.variantChildren.size?(l=0)=>{const{delayChildren:c=0,staggerChildren:u,staggerDirection:h}=i;return Tc(t,e,l,c,u,h,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,c]=a==="beforeChildren"?[r,o]:[o,r];return l().then(()=>c())}else return Promise.all([r(),o(n.delay)])}function Tc(t,e,n=0,s=0,i=0,r=1,o){const a=[];for(const l of t.variantChildren)l.notify("AnimationStart",e),a.push(un(l,e,{...o,delay:n+(typeof s=="function"?0:s)+Po(t.variantChildren,l,s,i,r)}).then(()=>l.notify("AnimationComplete",e)));return Promise.all(a)}function Sc(t,e,n={}){t.notify("AnimationStart",e);let s;if(Array.isArray(e)){const i=e.map(r=>un(t,r,n));s=Promise.all(i)}else if(typeof e=="string")s=un(t,e,n);else{const i=typeof e=="function"?xt(t,e,n.custom):e;s=Promise.all(Eo(t,i,n))}return s.then(()=>{t.notify("AnimationComplete",e)})}const Pc={test:t=>t==="auto",parse:t=>t},Ro=t=>e=>e.test(t),Do=[kt,P,ot,at,qa,Xa,Pc],ws=t=>Do.find(Ro(t));function Cc(t){return typeof t=="number"?t===0:t!==null?t==="none"||t==="0"||Wi(t):!0}const Ac=new Set(["brightness","contrast","saturate","opacity"]);function kc(t){const[e,n]=t.slice(0,-1).split("(");if(e==="drop-shadow")return t;const[s]=n.match(Dn)||[];if(!s)return t;const i=n.replace(s,"");let r=Ac.has(e)?1:0;return s!==n&&(r*=100),e+"("+r+i+")"}const Mc=/\b([a-z-]*)\(.*?\)/gu,hn={...nt,getAnimatableNone:t=>{const e=t.match(Mc);return e?e.map(kc).join(" "):t}},dn={...nt,getAnimatableNone:t=>{const e=nt.parse(t);return nt.createTransformer(t)(e.map(s=>typeof s=="number"?0:typeof s=="object"?{...s,alpha:1}:s))}},Ts={...kt,transform:Math.round},Vc={rotate:at,pathRotation:at,rotateX:at,rotateY:at,rotateZ:at,scale:Xt,scaleX:Xt,scaleY:Xt,scaleZ:Xt,skew:at,skewX:at,skewY:at,distance:P,translateX:P,translateY:P,translateZ:P,x:P,y:P,z:P,perspective:P,transformPerspective:P,opacity:Nt,originX:ls,originY:ls,originZ:P},ye={borderWidth:P,borderTopWidth:P,borderRightWidth:P,borderBottomWidth:P,borderLeftWidth:P,borderRadius:P,borderTopLeftRadius:P,borderTopRightRadius:P,borderBottomRightRadius:P,borderBottomLeftRadius:P,width:P,maxWidth:P,height:P,maxHeight:P,top:P,right:P,bottom:P,left:P,inset:P,insetBlock:P,insetBlockStart:P,insetBlockEnd:P,insetInline:P,insetInlineStart:P,insetInlineEnd:P,padding:P,paddingTop:P,paddingRight:P,paddingBottom:P,paddingLeft:P,paddingBlock:P,paddingBlockStart:P,paddingBlockEnd:P,paddingInline:P,paddingInlineStart:P,paddingInlineEnd:P,margin:P,marginTop:P,marginRight:P,marginBottom:P,marginLeft:P,marginBlock:P,marginBlockStart:P,marginBlockEnd:P,marginInline:P,marginInlineStart:P,marginInlineEnd:P,fontSize:P,backgroundPositionX:P,backgroundPositionY:P,...Vc,zIndex:Ts,fillOpacity:Nt,strokeOpacity:Nt,numOctaves:Ts},Ec={...ye,color:F,backgroundColor:F,outlineColor:F,fill:F,stroke:F,borderColor:F,borderTopColor:F,borderRightColor:F,borderBottomColor:F,borderLeftColor:F,filter:hn,WebkitFilter:hn,mask:dn,WebkitMask:dn},jo=t=>Ec[t],Rc=new Set([hn,dn]);function Lo(t,e){let n=jo(t);return Rc.has(n)||(n=nt),n.getAnimatableNone?n.getAnimatableNone(e):void 0}const Dc=new Set(["auto","none","0"]);function jc(t,e,n){let s=0,i;for(;s<t.length&&!i;){const r=t[s];typeof r=="string"&&!Dc.has(r)&&Ct(r).values.length&&(i=t[s]),s++}if(i&&n)for(const r of e)t[r]=Lo(n,i)}class Lc extends Fn{constructor(e,n,s,i,r){super(e,n,s,i,r,!0)}readKeyframes(){const{unresolvedKeyframes:e,element:n,name:s}=this;if(!n||!n.current)return;super.readKeyframes();for(let u=0;u<e.length;u++){let h=e[u];if(typeof h=="string"&&(h=h.trim(),Rn(h))){const d=Ao(h,n.current);d!==void 0&&(e[u]=d),u===e.length-1&&(this.finalKeyframe=h)}}if(this.resolveNoneKeyframes(),!ko.has(s)||e.length!==2)return;const[i,r]=e,o=ws(i),a=ws(r),l=as(i),c=as(r);if(l!==c&&ut[s]){this.needsMeasurement=!0;return}if(o!==a)if(gs(o)&&gs(a))for(let u=0;u<e.length;u++){const h=e[u];typeof h=="string"&&(e[u]=parseFloat(h))}else ut[s]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:e,name:n}=this,s=[];for(let i=0;i<e.length;i++)(e[i]===null||Cc(e[i]))&&s.push(i);s.length&&jc(e,s,n)}measureInitialState(){const{element:e,unresolvedKeyframes:n,name:s}=this;if(!e||!e.current)return;s==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=ut[s](e.measureViewportBox(),window.getComputedStyle(e.current)),n[0]=this.measuredOrigin;const i=n[n.length-1];i!==void 0&&e.getValue(s,i).jump(i,!1)}measureEndState(){const{element:e,name:n,unresolvedKeyframes:s}=this;if(!e||!e.current)return;const i=e.getValue(n);i&&i.jump(this.measuredOrigin,!1);const r=s.length-1,o=s[r];s[r]=ut[n](e.measureViewportBox(),window.getComputedStyle(e.current)),o!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=o),this.removedTransforms?.length&&this.removedTransforms.forEach(([a,l])=>{e.getValue(a).set(l)}),this.resolveNoneKeyframes()}}const Wn=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"];function Oo(t,e,n){if(t==null)return[];if(t instanceof EventTarget)return[t];if(typeof t=="string"){let s=document;const i=n?.[t]??s.querySelectorAll(t);return i?Array.from(i):[]}return Array.from(t).filter(s=>s!=null)}const fn=(t,e)=>e&&typeof t=="number"?e.transform(t):t;function ie(t){return Ui(t)&&"offsetHeight"in t&&!("ownerSVGElement"in t)}const{schedule:_n}=eo(queueMicrotask,!1),tt={x:!1,y:!1};function Io(){return tt.x||tt.y}function Oc(t){return t==="x"||t==="y"?tt[t]?null:(tt[t]=!0,()=>{tt[t]=!1}):tt.x||tt.y?null:(tt.x=tt.y=!0,()=>{tt.x=tt.y=!1})}function Fo(t,e){const n=Oo(t),s=new AbortController,i={passive:!0,...e,signal:s.signal};return[n,i,()=>s.abort()]}function Ic(t){return!(t.pointerType==="touch"||Io())}function Fc(t,e,n={}){const[s,i,r]=Fo(t,n);return s.forEach(o=>{let a=!1,l=!1,c;const u=()=>{o.removeEventListener("pointerleave",f)},h=v=>{c&&(c(v),c=void 0),u()},d=v=>{a=!1,window.removeEventListener("pointerup",d),window.removeEventListener("pointercancel",d),l&&(l=!1,h(v))},p=()=>{a=!0,window.addEventListener("pointerup",d,i),window.addEventListener("pointercancel",d,i)},f=v=>{if(v.pointerType!=="touch"){if(a){l=!0;return}h(v)}},y=v=>{if(!Ic(v))return;l=!1;const g=e(o,v);typeof g=="function"&&(c=g,o.addEventListener("pointerleave",f,i))};o.addEventListener("pointerenter",y,i),o.addEventListener("pointerdown",p,i)}),r}const No=(t,e)=>e?t===e?!0:No(t,e.parentElement):!1,$n=t=>t.pointerType==="mouse"?typeof t.button!="number"||t.button<=0:t.isPrimary!==!1,Nc=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function Bc(t){return Nc.has(t.tagName)||t.isContentEditable===!0}const zc=new Set(["INPUT","SELECT","TEXTAREA"]);function Uc(t){return zc.has(t.tagName)||t.isContentEditable===!0}const oe=new WeakSet;function Ss(t){return e=>{e.key==="Enter"&&t(e)}}function Oe(t,e){t.dispatchEvent(new PointerEvent("pointer"+e,{isPrimary:!0,bubbles:!0}))}const Wc=(t,e)=>{const n=t.currentTarget;if(!n)return;const s=Ss(()=>{if(oe.has(n))return;Oe(n,"down");const i=Ss(()=>{Oe(n,"up")}),r=()=>Oe(n,"cancel");n.addEventListener("keyup",i,e),n.addEventListener("blur",r,e)});n.addEventListener("keydown",s,e),n.addEventListener("blur",()=>n.removeEventListener("keydown",s),e)};function Ps(t){return $n(t)&&!Io()}const Cs=new WeakSet;function _c(t,e,n={}){const[s,i,r]=Fo(t,n),o=a=>{const l=a.currentTarget;if(!Ps(a)||Cs.has(a))return;oe.add(l),n.stopPropagation&&Cs.add(a);const c=e(l,a),u={...i,capture:!0},h=(f,y)=>{window.removeEventListener("pointerup",d,u),window.removeEventListener("pointercancel",p,u),oe.has(l)&&oe.delete(l),Ps(f)&&typeof c=="function"&&c(f,{success:y})},d=f=>{h(f,l===window||l===document||n.useGlobalTarget||No(l,f.target))},p=f=>{h(f,!1)};window.addEventListener("pointerup",d,u),window.addEventListener("pointercancel",p,u)};return s.forEach(a=>{(n.useGlobalTarget?window:a).addEventListener("pointerdown",o,i),ie(a)&&(a.addEventListener("focus",c=>Wc(c,i)),!Bc(a)&&!a.hasAttribute("tabindex")&&(a.tabIndex=0))}),r}function Kn(t){return Ui(t)&&"ownerSVGElement"in t}const re=new WeakMap;let ae;const Bo=(t,e,n)=>(s,i)=>i&&i[0]?i[0][t+"Size"]:Kn(s)&&"getBBox"in s?s.getBBox()[e]:s[n],$c=Bo("inline","width","offsetWidth"),Kc=Bo("block","height","offsetHeight");function Hc({target:t,borderBoxSize:e}){re.get(t)?.forEach(n=>{n(t,{get width(){return $c(t,e)},get height(){return Kc(t,e)}})})}function Gc(t){t.forEach(Hc)}function Yc(){typeof ResizeObserver>"u"||(ae=new ResizeObserver(Gc))}function Xc(t,e){ae||Yc();const n=Oo(t);return n.forEach(s=>{let i=re.get(s);i||(i=new Set,re.set(s,i)),i.add(e),ae?.observe(s)}),()=>{n.forEach(s=>{const i=re.get(s);i?.delete(e),i?.size||ae?.unobserve(s)})}}const le=new Set;let St;function qc(){St=()=>{const t={get width(){return window.innerWidth},get height(){return window.innerHeight}};le.forEach(e=>e(t))},window.addEventListener("resize",St)}function Zc(t){return le.add(t),St||qc(),()=>{le.delete(t),!le.size&&typeof St=="function"&&(window.removeEventListener("resize",St),St=void 0)}}function As(t,e){return typeof t=="function"?Zc(t):Xc(t,e)}function Jc(t){return Kn(t)&&t.tagName==="svg"}const Qc=[...Do,F,nt],tu=t=>Qc.find(Ro(t)),ks=()=>({translate:0,scale:1,origin:0,originPoint:0}),Pt=()=>({x:ks(),y:ks()}),Ms=()=>({min:0,max:0}),z=()=>({x:Ms(),y:Ms()}),eu=new WeakMap;function Pe(t){return t!==null&&typeof t=="object"&&typeof t.start=="function"}function Bt(t){return typeof t=="string"||Array.isArray(t)}const Hn=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Gn=["initial",...Hn];function Ce(t){return Pe(t.animate)||Gn.some(e=>Bt(t[e]))}function zo(t){return!!(Ce(t)||t.variants)}function nu(t,e,n){for(const s in e){const i=e[s],r=n[s];if(W(i))t.addValue(s,i);else if(W(r))t.addValue(s,At(i,{owner:t}));else if(r!==i)if(t.hasValue(s)){const o=t.getValue(s);o.liveStyle===!0?o.jump(i):o.hasAnimated||o.set(i)}else{const o=t.getStaticValue(s);t.addValue(s,At(o!==void 0?o:i,{owner:t}))}}for(const s in n)e[s]===void 0&&t.removeValue(s);return e}const mn={current:null},Uo={current:!1},su=typeof window<"u";function iu(){if(Uo.current=!0,!!su)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),e=()=>mn.current=t.matches;t.addEventListener("change",e),e()}else mn.current=!1}const Vs=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let ve={};function Wo(t){ve=t}function ou(){return ve}class ru{scrapeMotionValuesFromProps(e,n,s){return{}}constructor({parent:e,props:n,presenceContext:s,reducedMotionConfig:i,skipAnimations:r,blockInitialAnimation:o,visualState:a},l={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=Fn,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const p=_.now();this.renderScheduledAt<p&&(this.renderScheduledAt=p,L.render(this.render,!1,!0))};const{latestValues:c,renderState:u}=a;this.latestValues=c,this.baseTarget={...c},this.initialValues=n.initial?{...c}:{},this.renderState=u,this.parent=e,this.props=n,this.presenceContext=s,this.depth=e?e.depth+1:0,this.reducedMotionConfig=i,this.skipAnimationsConfig=r,this.options=l,this.blockInitialAnimation=!!o,this.isControllingVariants=Ce(n),this.isVariantNode=zo(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);const{willChange:h,...d}=this.scrapeMotionValuesFromProps(n,{},this);for(const p in d){const f=d[p];c[p]!==void 0&&W(f)&&f.set(c[p])}}mount(e){if(this.hasBeenMounted)for(const n in this.initialValues)this.values.get(n)?.jump(this.initialValues[n]),this.latestValues[n]=this.initialValues[n];this.current=e,eu.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,s)=>this.bindToMotionValue(s,n)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(Uo.current||iu(),this.shouldReduceMotion=mn.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),dt(this.notifyUpdate),dt(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const e in this.events)this.events[e].clear();for(const e in this.features){const n=this.features[e];n&&(n.unmount(),n.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,n){if(this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)(),n.accelerate&&So.has(e)&&this.current instanceof HTMLElement){const{factory:o,keyframes:a,times:l,ease:c,duration:u}=n.accelerate,h=new wo({element:this.current,name:e,keyframes:a,times:l,ease:c,duration:H(u)}),d=o(h);this.valueSubscriptions.set(e,()=>{d(),h.cancel()});return}const s=Vt.has(e);s&&this.onBindTransform&&this.onBindTransform();const i=n.on("change",o=>{this.latestValues[e]=o,this.props.onUpdate&&L.preRender(this.notifyUpdate),s&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let r;typeof window<"u"&&window.MotionCheckAppearSync&&(r=window.MotionCheckAppearSync(this,e,n)),this.valueSubscriptions.set(e,()=>{i(),r&&r()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e="animation";for(e in ve){const n=ve[e];if(!n)continue;const{isEnabled:s,Feature:i}=n;if(!this.features[e]&&i&&s(this.props)&&(this.features[e]=new i(this)),this.features[e]){const r=this.features[e];r.isMounted?r.update():(r.mount(),r.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):z()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,n){this.latestValues[e]=n}update(e,n){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let s=0;s<Vs.length;s++){const i=Vs[s];this.propEventSubscriptions[i]&&(this.propEventSubscriptions[i](),delete this.propEventSubscriptions[i]);const r="on"+i,o=e[r];o&&(this.propEventSubscriptions[i]=this.on(i,o))}this.prevMotionValues=nu(this,this.scrapeMotionValuesFromProps(e,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(e){const n=this.getClosestVariantNode();if(n)return n.variantChildren&&n.variantChildren.add(e),()=>n.variantChildren.delete(e)}addValue(e,n){const s=this.values.get(e);n!==s&&(s&&this.removeValue(e),this.bindToMotionValue(e,n),this.values.set(e,n),this.latestValues[e]=n.get())}removeValue(e){this.values.delete(e);const n=this.valueSubscriptions.get(e);n&&(n(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,n){if(this.props.values&&this.props.values[e])return this.props.values[e];let s=this.values.get(e);return s===void 0&&n!==void 0&&(s=At(n===null?void 0:n,{owner:this}),this.addValue(e,s)),s}readValue(e,n){let s=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return s!=null&&(typeof s=="string"&&(zi(s)||Wi(s))?s=parseFloat(s):!tu(s)&&nt.test(n)&&(s=Lo(e,n)),this.setBaseTarget(e,W(s)?s.get():s)),W(s)?s.get():s}setBaseTarget(e,n){this.baseTarget[e]=n}getBaseTarget(e){const{initial:n}=this.props;let s;if(typeof n=="string"||typeof n=="object"){const r=zn(this.props,n,this.presenceContext?.custom);r&&(s=r[e])}if(n&&s!==void 0)return s;const i=this.getBaseTargetFromProps(this.props,e);return i!==void 0&&!W(i)?i:this.initialValues[e]!==void 0&&s===void 0?void 0:this.baseTarget[e]}on(e,n){return this.events[e]||(this.events[e]=new Mn),this.events[e].add(n)}notify(e,...n){this.events[e]&&this.events[e].notify(...n)}scheduleRenderMicrotask(){_n.render(this.render)}}class _o extends ru{constructor(){super(...arguments),this.KeyframeResolver=Lc}sortInstanceNodePosition(e,n){return e.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(e,n){const s=e.style;return s?s[n]:void 0}removeValueFromRenderState(e,{vars:n,style:s}){delete n[e],delete s[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:e}=this.props;W(e)&&(this.childSubscription=e.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}class ft{constructor(e){this.isMounted=!1,this.node=e}update(){}}function $o({top:t,left:e,right:n,bottom:s}){return{x:{min:e,max:n},y:{min:t,max:s}}}function au({x:t,y:e}){return{top:e.min,right:t.max,bottom:e.max,left:t.min}}function lu(t,e){if(!e)return t;const n=e({x:t.left,y:t.top}),s=e({x:t.right,y:t.bottom});return{top:n.y,left:n.x,bottom:s.y,right:s.x}}function Ie(t){return t===void 0||t===1}function pn({scale:t,scaleX:e,scaleY:n}){return!Ie(t)||!Ie(e)||!Ie(n)}function pt(t){return pn(t)||Ko(t)||t.z||t.rotate||t.rotateX||t.rotateY||t.skewX||t.skewY}function Ko(t){return Es(t.x)||Es(t.y)}function Es(t){return t&&t!=="0%"}function xe(t,e,n){const s=t-n,i=e*s;return n+i}function Rs(t,e,n,s,i){return i!==void 0&&(t=xe(t,i,s)),xe(t,n,s)+e}function gn(t,e=0,n=1,s,i){t.min=Rs(t.min,e,n,s,i),t.max=Rs(t.max,e,n,s,i)}function Ho(t,{x:e,y:n}){gn(t.x,e.translate,e.scale,e.originPoint),gn(t.y,n.translate,n.scale,n.originPoint)}const Ds=.999999999999,js=1.0000000000001;function cu(t,e,n,s=!1){const i=n.length;if(!i)return;e.x=e.y=1;let r,o;for(let a=0;a<i;a++){r=n[a],o=r.projectionDelta;const{visualElement:l}=r.options;l&&l.props.style&&l.props.style.display==="contents"||(s&&r.options.layoutScroll&&r.scroll&&r!==r.root&&(it(t.x,-r.scroll.offset.x),it(t.y,-r.scroll.offset.y)),o&&(e.x*=o.x.scale,e.y*=o.y.scale,Ho(t,o)),s&&pt(r.latestValues)&&ce(t,r.latestValues,r.layout?.layoutBox))}e.x<js&&e.x>Ds&&(e.x=1),e.y<js&&e.y>Ds&&(e.y=1)}function it(t,e){t.min+=e,t.max+=e}function Ls(t,e,n,s,i=.5){const r=j(t.min,t.max,i);gn(t,e,n,r,s)}function Os(t,e){return typeof t=="string"?parseFloat(t)/100*(e.max-e.min):t}function ce(t,e,n){const s=n??t;Ls(t.x,Os(e.x,s.x),e.scaleX,e.scale,e.originX),Ls(t.y,Os(e.y,s.y),e.scaleY,e.scale,e.originY)}function Go(t,e){return $o(lu(t.getBoundingClientRect(),e))}function uu(t,e,n){const s=Go(t,n),{scroll:i}=e;return i&&(it(s.x,i.offset.x),it(s.y,i.offset.y)),s}const hu={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},du=Mt.length;function fu(t,e,n){let s="",i=!0;for(let o=0;o<du;o++){const a=Mt[o],l=t[a];if(l===void 0)continue;let c=!0;if(typeof l=="number")c=l===(a.startsWith("scale")?1:0);else{const u=parseFloat(l);c=a.startsWith("scale")?u===1:u===0}if(!c||n){const u=fn(l,ye[a]);if(!c){i=!1;const h=hu[a]||a;s+=`${h}(${u}) `}n&&(e[a]=u)}}const r=t.pathRotation;return r&&(i=!1,s+=`rotate(${fn(r,ye.pathRotation)}) `),s=s.trim(),n?s=n(e,i?"":s):i&&(s="none"),s}function Yn(t,e,n){const{style:s,vars:i,transformOrigin:r}=t;let o=!1,a=!1;for(const l in e){const c=e[l];if(Vt.has(l)){o=!0;continue}else if(so(l)){i[l]=c;continue}else{const u=fn(c,ye[l]);l.startsWith("origin")?(a=!0,r[l]=u):s[l]=u}}if(e.transform||(o||n?s.transform=fu(e,t.transform,n):s.transform&&(s.transform="none")),a){const{originX:l="50%",originY:c="50%",originZ:u=0}=r;s.transformOrigin=`${l} ${c} ${u}`}}function Yo(t,{style:e,vars:n},s,i){const r=t.style;let o;for(o in e)r[o]=e[o];i?.applyProjectionStyles(r,s);for(o in n)r.setProperty(o,n[o])}function Is(t,e){return e.max===e.min?0:t/(e.max-e.min)*100}const Et={correct:(t,e)=>{if(!e.target)return t;if(typeof t=="string")if(P.test(t))t=parseFloat(t);else return t;const n=Is(t,e.target.x),s=Is(t,e.target.y);return`${n}% ${s}%`}},mu={correct:(t,{treeScale:e,projectionDelta:n})=>{const s=t,i=nt.parse(t);if(i.length>5)return s;const r=nt.createTransformer(t),o=typeof i[0]!="number"?1:0,a=n.x.scale*e.x,l=n.y.scale*e.y;i[0+o]/=a,i[1+o]/=l;const c=j(a,l,.5);return typeof i[2+o]=="number"&&(i[2+o]/=c),typeof i[3+o]=="number"&&(i[3+o]/=c),r(i)}},yn={borderRadius:{...Et,applyTo:[...Wn]},borderTopLeftRadius:Et,borderTopRightRadius:Et,borderBottomLeftRadius:Et,borderBottomRightRadius:Et,boxShadow:mu};function Xo(t,{layout:e,layoutId:n}){return Vt.has(t)||t.startsWith("origin")||(e||n!==void 0)&&(!!yn[t]||t==="opacity")}function Xn(t,e,n){const s=t.style,i=e?.style,r={};if(!s)return r;for(const o in s)(W(s[o])||i&&W(i[o])||Xo(o,t)||n?.getValue(o)?.liveStyle!==void 0)&&(r[o]=s[o]);return r}function pu(t){return window.getComputedStyle(t)}class gu extends _o{constructor(){super(...arguments),this.type="html",this.renderInstance=Yo}readValueFromInstance(e,n){if(Vt.has(n))return this.projection?.isProjecting?en(n):Il(e,n);{const s=pu(e),i=(so(n)?s.getPropertyValue(n):s[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(e,{transformPagePoint:n}){return Go(e,n)}build(e,n,s){Yn(e,n,s.transformTemplate)}scrapeMotionValuesFromProps(e,n,s){return Xn(e,n,s)}}const yu={offset:"stroke-dashoffset",array:"stroke-dasharray"},vu={offset:"strokeDashoffset",array:"strokeDasharray"};function xu(t,e,n=1,s=0,i=!0){t.pathLength=1;const r=i?yu:vu;t[r.offset]=`${-s}`,t[r.array]=`${e} ${n}`}const bu=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function qo(t,{attrX:e,attrY:n,attrScale:s,pathLength:i,pathSpacing:r=1,pathOffset:o=0,...a},l,c,u){if(Yn(t,a,c),l){t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox);return}t.attrs=t.style,t.style={};const{attrs:h,style:d}=t;h.transform&&(d.transform=h.transform,delete h.transform),(d.transform||h.transformOrigin)&&(d.transformOrigin=h.transformOrigin??"50% 50%",delete h.transformOrigin),d.transform&&(d.transformBox=u?.transformBox??"fill-box",delete h.transformBox);for(const p of bu)h[p]!==void 0&&(d[p]=h[p],delete h[p]);e!==void 0&&(h.x=e),n!==void 0&&(h.y=n),s!==void 0&&(h.scale=s),i!==void 0&&xu(h,i,r,o,!1)}const Zo=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),Jo=t=>typeof t=="string"&&t.toLowerCase()==="svg";function wu(t,e,n,s){Yo(t,e,void 0,s);for(const i in e.attrs)t.setAttribute(Zo.has(i)?i:Un(i),e.attrs[i])}function Qo(t,e,n){const s=Xn(t,e,n);for(const i in t)if(W(t[i])||W(e[i])){const r=Mt.indexOf(i)!==-1?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i;s[r]=t[i]}return s}class Tu extends _o{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=z}getBaseTargetFromProps(e,n){return e[n]}readValueFromInstance(e,n){if(Vt.has(n)){const s=jo(n);return s&&s.default||0}return n=Zo.has(n)?n:Un(n),e.getAttribute(n)}scrapeMotionValuesFromProps(e,n,s){return Qo(e,n,s)}build(e,n,s){qo(e,n,this.isSVGTag,s.transformTemplate,s.style)}renderInstance(e,n,s,i){wu(e,n,s,i)}mount(e){this.isSVGTag=Jo(e.tagName),super.mount(e)}}const Su=Gn.length;function tr(t){if(!t)return;if(!t.isControllingVariants){const n=t.parent?tr(t.parent)||{}:{};return t.props.initial!==void 0&&(n.initial=t.props.initial),n}const e={};for(let n=0;n<Su;n++){const s=Gn[n],i=t.props[s];(Bt(i)||i===!1)&&(e[s]=i)}return e}function er(t,e){if(!Array.isArray(e))return!1;const n=e.length;if(n!==t.length)return!1;for(let s=0;s<n;s++)if(e[s]!==t[s])return!1;return!0}const Pu=[...Hn].reverse(),Cu=Hn.length;function Au(t){return e=>Promise.all(e.map(({animation:n,options:s})=>Sc(t,n,s)))}function ku(t){let e=Au(t),n=Fs(),s=!0,i=!1;const r=c=>(u,h)=>{const d=xt(t,h,c==="exit"?t.presenceContext?.custom:void 0);if(d){const{transition:p,transitionEnd:f,...y}=d;u={...u,...y,...f}}return u};function o(c){e=c(t)}function a(c){const{props:u}=t,h=tr(t.parent)||{},d=[],p=new Set;let f={},y=1/0;for(let g=0;g<Cu;g++){const S=Pu[g],b=n[S],T=u[S]!==void 0?u[S]:h[S],k=Bt(T),V=S===c?b.isActive:null;V===!1&&(y=g);let M=T===h[S]&&T!==u[S]&&k;if(M&&(s||i)&&t.manuallyAnimateOnMount&&(M=!1),b.protectedKeys={...f},!b.isActive&&V===null||!T&&!b.prevProp||Pe(T)||typeof T=="boolean")continue;if(S==="exit"&&b.isActive&&V!==!0){b.prevResolvedValues&&(f={...f,...b.prevResolvedValues});continue}const C=Mu(b.prevProp,T);let E=C||S===c&&b.isActive&&!M&&k||g>y&&k,A=!1;const O=Array.isArray(T)?T:[T];let N=O.reduce(r(S),{});V===!1&&(N={});const{prevResolvedValues:J={}}=b,G={...J,...N},Y=B=>{E=!0,p.has(B)&&(A=!0,p.delete(B)),b.needsAnimating[B]=!0;const w=t.getValue(B);w&&(w.liveStyle=!1)};for(const B in G){const w=N[B],R=J[B];if(f.hasOwnProperty(B))continue;let X=!1;ln(w)&&ln(R)?X=!er(w,R)||C:X=w!==R,X?w!=null?Y(B):p.add(B):w!==void 0&&p.has(B)?Y(B):b.protectedKeys[B]=!0}b.prevProp=T,b.prevResolvedValues=N,b.isActive&&(f={...f,...N}),(s||i)&&t.blockInitialAnimation&&(E=!1);const K=M&&C;E&&(!K||A)&&d.push(...O.map(B=>{const w={type:S};if(typeof B=="string"&&(s||i)&&!K&&t.manuallyAnimateOnMount&&t.parent){const{parent:R}=t,X=xt(R,B);if(R.enteringChildren&&X){const{delayChildren:D}=X.transition||{};w.delay=Po(R.enteringChildren,t,D)}}return{animation:B,options:w}}))}if(p.size){const g={};if(typeof u.initial!="boolean"){const S=xt(t,Array.isArray(u.initial)?u.initial[0]:u.initial);S&&S.transition&&(g.transition=S.transition)}p.forEach(S=>{const b=t.getBaseTarget(S),T=t.getValue(S);T&&(T.liveStyle=!0),g[S]=b??null}),d.push({animation:g})}let v=!!d.length;return s&&(u.initial===!1||u.initial===u.animate)&&!t.manuallyAnimateOnMount&&(v=!1),s=!1,i=!1,v?e(d):Promise.resolve()}function l(c,u){if(n[c].isActive===u)return Promise.resolve();t.variantChildren?.forEach(d=>d.animationState?.setActive(c,u)),n[c].isActive=u;const h=a(c);for(const d in n)n[d].protectedKeys={};return h}return{animateChanges:a,setActive:l,setAnimateFunction:o,getState:()=>n,reset:()=>{n=Fs(),i=!0}}}function Mu(t,e){return typeof e=="string"?e!==t:Array.isArray(e)?!er(e,t):!1}function mt(t=!1){return{isActive:t,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Fs(){return{animate:mt(!0),whileInView:mt(),whileHover:mt(),whileTap:mt(),whileDrag:mt(),whileFocus:mt(),exit:mt()}}function vn(t,e){t.min=e.min,t.max=e.max}function Q(t,e){vn(t.x,e.x),vn(t.y,e.y)}function Ns(t,e){t.translate=e.translate,t.scale=e.scale,t.originPoint=e.originPoint,t.origin=e.origin}const nr=1e-4,Vu=1-nr,Eu=1+nr,sr=.01,Ru=0-sr,Du=0+sr;function $(t){return t.max-t.min}function ju(t,e,n){return Math.abs(t-e)<=n}function Bs(t,e,n,s=.5){t.origin=s,t.originPoint=j(e.min,e.max,t.origin),t.scale=$(n)/$(e),t.translate=j(n.min,n.max,t.origin)-t.originPoint,(t.scale>=Vu&&t.scale<=Eu||isNaN(t.scale))&&(t.scale=1),(t.translate>=Ru&&t.translate<=Du||isNaN(t.translate))&&(t.translate=0)}function Ot(t,e,n,s){Bs(t.x,e.x,n.x,s?s.originX:void 0),Bs(t.y,e.y,n.y,s?s.originY:void 0)}function zs(t,e,n,s=0){const i=s?j(n.min,n.max,s):n.min;t.min=i+e.min,t.max=t.min+$(e)}function Lu(t,e,n,s){zs(t.x,e.x,n.x,s?.x),zs(t.y,e.y,n.y,s?.y)}function Us(t,e,n,s=0){const i=s?j(n.min,n.max,s):n.min;t.min=e.min-i,t.max=t.min+$(e)}function be(t,e,n,s){Us(t.x,e.x,n.x,s?.x),Us(t.y,e.y,n.y,s?.y)}function Ws(t,e,n,s,i){return t-=e,t=xe(t,1/n,s),i!==void 0&&(t=xe(t,1/i,s)),t}function Ou(t,e=0,n=1,s=.5,i,r=t,o=t){if(ot.test(e)&&(e=parseFloat(e),e=j(o.min,o.max,e/100)-o.min),typeof e!="number")return;let a=j(r.min,r.max,s);t===r&&(a-=e),t.min=Ws(t.min,e,n,a,i),t.max=Ws(t.max,e,n,a,i)}function _s(t,e,[n,s,i],r,o){Ou(t,e[n],e[s],e[i],e.scale,r,o)}const Iu=["x","scaleX","originX"],Fu=["y","scaleY","originY"];function $s(t,e,n,s){_s(t.x,e,Iu,n?n.x:void 0,s?s.x:void 0),_s(t.y,e,Fu,n?n.y:void 0,s?s.y:void 0)}function Ks(t){return t.translate===0&&t.scale===1}function ir(t){return Ks(t.x)&&Ks(t.y)}function Hs(t,e){return t.min===e.min&&t.max===e.max}function Nu(t,e){return Hs(t.x,e.x)&&Hs(t.y,e.y)}function Gs(t,e){return Math.round(t.min)===Math.round(e.min)&&Math.round(t.max)===Math.round(e.max)}function or(t,e){return Gs(t.x,e.x)&&Gs(t.y,e.y)}function Ys(t){return $(t.x)/$(t.y)}function Xs(t,e){return t.translate===e.translate&&t.scale===e.scale&&t.originPoint===e.originPoint}function st(t){return[t("x"),t("y")]}function Bu(t,e,n){let s="";const i=t.x.translate/e.x,r=t.y.translate/e.y,o=n?.z||0;if((i||r||o)&&(s=`translate3d(${i}px, ${r}px, ${o}px) `),(e.x!==1||e.y!==1)&&(s+=`scale(${1/e.x}, ${1/e.y}) `),n){const{transformPerspective:c,rotate:u,pathRotation:h,rotateX:d,rotateY:p,skewX:f,skewY:y}=n;c&&(s=`perspective(${c}px) ${s}`),u&&(s+=`rotate(${u}deg) `),h&&(s+=`rotate(${h}deg) `),d&&(s+=`rotateX(${d}deg) `),p&&(s+=`rotateY(${p}deg) `),f&&(s+=`skewX(${f}deg) `),y&&(s+=`skewY(${y}deg) `)}const a=t.x.scale*e.x,l=t.y.scale*e.y;return(a!==1||l!==1)&&(s+=`scale(${a}, ${l})`),s||"none"}const zu=Wn.length,qs=t=>typeof t=="string"?parseFloat(t):t,Zs=t=>typeof t=="number"||P.test(t);function Uu(t,e,n,s,i,r){i?(t.opacity=j(0,n.opacity??1,Wu(s)),t.opacityExit=j(e.opacity??1,0,_u(s))):r&&(t.opacity=j(e.opacity??1,n.opacity??1,s));for(let o=0;o<zu;o++){const a=Wn[o];let l=Js(e,a),c=Js(n,a);if(l===void 0&&c===void 0)continue;l||(l=0),c||(c=0),l===0||c===0||Zs(l)===Zs(c)?(t[a]=Math.max(j(qs(l),qs(c),s),0),(ot.test(c)||ot.test(l))&&(t[a]+="%")):t[a]=c}(e.rotate||n.rotate)&&(t.rotate=j(e.rotate||0,n.rotate||0,s))}function Js(t,e){return t[e]!==void 0?t[e]:t.borderRadius}const Wu=rr(0,.5,Zi),_u=rr(.5,.95,Z);function rr(t,e,n){return s=>s<t?0:s>e?1:n(Ft(t,e,s))}function $u(t,e,n){const s=W(t)?t:At(t);return s.start(Bn("",s,e,n)),s.animation}function zt(t,e,n,s={passive:!0}){return t.addEventListener(e,n,s),()=>t.removeEventListener(e,n,s)}const Ku=(t,e)=>t.depth-e.depth;class Hu{constructor(){this.children=[],this.isDirty=!1}add(e){An(this.children,e),this.isDirty=!0}remove(e){de(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(Ku),this.isDirty=!1,this.children.forEach(e)}}function Gu(t,e){const n=_.now(),s=({timestamp:i})=>{const r=i-n;r>=e&&(dt(s),t(r-e))};return L.setup(s,!0),()=>dt(s)}function ue(t){return W(t)?t.get():t}class Yu{constructor(){this.members=[]}add(e){An(this.members,e);for(let n=this.members.length-1;n>=0;n--){const s=this.members[n];if(s===e||s===this.lead||s===this.prevLead)continue;const i=s.instance;(!i||i.isConnected===!1)&&!s.snapshot&&(de(this.members,s),s.unmount())}e.scheduleRender()}remove(e){if(de(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(e){for(let n=this.members.indexOf(e)-1;n>=0;n--){const s=this.members[n];if(s.isPresent!==!1&&s.instance?.isConnected!==!1)return this.promote(s),!0}return!1}promote(e,n){const s=this.lead;if(e!==s&&(this.prevLead=s,this.lead=e,e.show(),s)){s.updateSnapshot(),e.scheduleRender();const{layoutDependency:i}=s.options,{layoutDependency:r}=e.options;(i===void 0||i!==r)&&(e.resumeFrom=s,n&&(s.preserveOpacity=!0),s.snapshot&&(e.snapshot=s.snapshot,e.snapshot.latestValues=s.animationValues||s.latestValues),e.root?.isUpdating&&(e.isLayoutDirty=!0)),e.options.crossfade===!1&&s.hide()}}exitAnimationComplete(){this.members.forEach(e=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}}const he={hasAnimatedSinceResize:!0,hasEverUpdated:!1},Fe=["","X","Y","Z"],Xu=1e3;let qu=0;function Ne(t,e,n,s){const{latestValues:i}=e;i[t]&&(n[t]=i[t],e.setStaticValue(t,0),s&&(s[t]=0))}function ar(t){if(t.hasCheckedOptimisedAppear=!0,t.root===t)return;const{visualElement:e}=t.options;if(!e)return;const n=Vo(e);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:i,layoutId:r}=t.options;window.MotionCancelOptimisedAnimation(n,"transform",L,!(i||r))}const{parent:s}=t;s&&!s.hasCheckedOptimisedAppear&&ar(s)}function lr({attachResizeListener:t,defaultParent:e,measureScroll:n,checkIsScrollRoot:s,resetTransform:i}){return class{constructor(o={},a=e?.()){this.id=qu++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(Qu),this.nodes.forEach(oh),this.nodes.forEach(rh),this.nodes.forEach(th)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=o,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;l<this.path.length;l++)this.path[l].shouldResetTransform=!0;this.root===this&&(this.nodes=new Hu)}addEventListener(o,a){return this.eventHandlers.has(o)||this.eventHandlers.set(o,new Mn),this.eventHandlers.get(o).add(a)}notifyListeners(o,...a){const l=this.eventHandlers.get(o);l&&l.notify(...a)}hasListeners(o){return this.eventHandlers.has(o)}mount(o){if(this.instance)return;this.isSVG=Kn(o)&&!Jc(o),this.instance=o;const{layoutId:a,layout:l,visualElement:c}=this.options;if(c&&!c.current&&c.mount(o),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(l||a)&&(this.isLayoutDirty=!0),t){let u,h=0;const d=()=>this.root.updateBlockedByResize=!1;L.read(()=>{h=window.innerWidth}),t(o,()=>{const p=window.innerWidth;p!==h&&(h=p,this.root.updateBlockedByResize=!0,u&&u(),u=Gu(d,250),he.hasAnimatedSinceResize&&(he.hasAnimatedSinceResize=!1,this.nodes.forEach(ei)))})}a&&this.root.registerSharedNode(a,this),this.options.animate!==!1&&c&&(a||l)&&this.addEventListener("didUpdate",({delta:u,hasLayoutChanged:h,hasRelativeLayoutChanged:d,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const f=this.options.transition||c.getDefaultTransition()||hh,{onLayoutAnimationStart:y,onLayoutAnimationComplete:v}=c.getProps(),g=!this.targetLayout||!or(this.targetLayout,p),S=!h&&d;if(this.options.layoutRoot||this.resumeFrom||S||h&&(g||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const b={...Nn(f,"layout"),onPlay:y,onComplete:v};(c.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b),this.setAnimationOrigin(u,S,b.path)}else h||ei(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const o=this.getStack();o&&o.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),dt(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(ah),this.animationId++)}getTransformTemplate(){const{visualElement:o}=this.options;return o&&o.getProps().transformTemplate}willUpdate(o=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&ar(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let u=0;u<this.path.length;u++){const h=this.path[u];h.shouldResetTransform=!0,(typeof h.latestValues.x=="string"||typeof h.latestValues.y=="string")&&(h.isLayoutDirty=!0),h.updateScroll("snapshot"),h.options.layoutRoot&&h.willUpdate(!1)}const{layoutId:a,layout:l}=this.options;if(a===void 0&&!l)return;const c=this.getTransformTemplate();this.prevTransformTemplateValue=c?c(this.latestValues,""):void 0,this.updateSnapshot(),o&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){const l=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),l&&this.nodes.forEach(nh),this.nodes.forEach(Qs);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(ti);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(sh),this.nodes.forEach(ih),this.nodes.forEach(Zu),this.nodes.forEach(Ju)):this.nodes.forEach(ti),this.clearAllSnapshots();const a=_.now();U.delta=rt(0,1e3/60,a-U.timestamp),U.timestamp=a,U.isProcessing=!0,Ve.update.process(U),Ve.preRender.process(U),Ve.render.process(U),U.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,_n.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(eh),this.sharedNodes.forEach(lh)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,L.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){L.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!$(this.snapshot.measuredBox.x)&&!$(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l<this.path.length;l++)this.path[l].updateScroll();const o=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||(this.layoutCorrected=z()),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:a}=this.options;a&&a.notify("LayoutMeasure",this.layout.layoutBox,o?o.layoutBox:void 0)}updateScroll(o="measure"){let a=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===o&&(a=!1),a&&this.instance){const l=s(this.instance);this.scroll={animationId:this.root.animationId,phase:o,isRoot:l,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:l}}}resetTransform(){if(!i)return;const o=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,a=this.projectionDelta&&!ir(this.projectionDelta),l=this.getTransformTemplate(),c=l?l(this.latestValues,""):void 0,u=c!==this.prevTransformTemplateValue;o&&this.instance&&(a||pt(this.latestValues)||u)&&(i(this.instance,c),this.shouldResetTransform=!1,this.scheduleRender())}measure(o=!0){const a=this.measurePageBox();let l=this.removeElementScroll(a);return o&&(l=this.removeTransform(l)),dh(l),{animationId:this.root.animationId,measuredBox:a,layoutBox:l,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:o}=this.options;if(!o)return z();const a=o.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(fh))){const{scroll:c}=this.root;c&&(it(a.x,c.offset.x),it(a.y,c.offset.y))}return a}removeElementScroll(o){const a=z();if(Q(a,o),this.scroll?.wasRoot)return a;for(let l=0;l<this.path.length;l++){const c=this.path[l],{scroll:u,options:h}=c;c!==this.root&&u&&h.layoutScroll&&(u.wasRoot&&Q(a,o),it(a.x,u.offset.x),it(a.y,u.offset.y))}return a}applyTransform(o,a=!1,l){const c=l||z();Q(c,o);for(let u=0;u<this.path.length;u++){const h=this.path[u];!a&&h.options.layoutScroll&&h.scroll&&h!==h.root&&(it(c.x,-h.scroll.offset.x),it(c.y,-h.scroll.offset.y)),pt(h.latestValues)&&ce(c,h.latestValues,h.layout?.layoutBox)}return pt(this.latestValues)&&ce(c,this.latestValues,this.layout?.layoutBox),c}removeTransform(o){const a=z();Q(a,o);for(let l=0;l<this.path.length;l++){const c=this.path[l];if(!pt(c.latestValues))continue;let u;c.instance&&(pn(c.latestValues)&&c.updateSnapshot(),u=z(),Q(u,c.measurePageBox())),$s(a,c.latestValues,c.snapshot?.layoutBox,u)}return pt(this.latestValues)&&$s(a,this.latestValues),a}setTargetDelta(o){this.targetDelta=o,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(o){this.options={...this.options,...o,crossfade:o.crossfade!==void 0?o.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==U.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(o=!1){const a=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=a.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=a.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=a.isSharedProjectionDirty);const l=!!this.resumingFrom||this!==a;if(!(o||l&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:u,layoutId:h}=this.options;if(!this.layout||!(u||h))return;this.resolvedRelativeTargetAt=U.timestamp;const d=this.getClosestProjectingParent();d&&this.linkedParentVersion!==d.layoutVersion&&!d.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&d&&d.layout?this.createRelativeTarget(d,this.layout.layoutBox,d.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=z(),this.targetWithTransforms=z()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),Lu(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):Q(this.target,this.layout.layoutBox),Ho(this.target,this.targetDelta)):Q(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&d&&!!d.resumingFrom==!!this.resumingFrom&&!d.options.layoutScroll&&d.target&&this.animationProgress!==1?this.createRelativeTarget(d,this.target,d.target):this.relativeParent=this.relativeTarget=void 0))}getClosestProjectingParent(){if(!(!this.parent||pn(this.parent.latestValues)||Ko(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(o,a,l){this.relativeParent=o,this.linkedParentVersion=o.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=z(),this.relativeTargetOrigin=z(),be(this.relativeTargetOrigin,a,l,this.options.layoutAnchor||void 0),Q(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){const o=this.getLead(),a=!!this.resumingFrom||this!==o;let l=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(l=!1),a&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(l=!1),this.resolvedRelativeTargetAt===U.timestamp&&(l=!1),l)return;const{layout:c,layoutId:u}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(c||u))return;Q(this.layoutCorrected,this.layout.layoutBox);const h=this.treeScale.x,d=this.treeScale.y;cu(this.layoutCorrected,this.treeScale,this.path,a),o.layout&&!o.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(o.target=o.layout.layoutBox,o.targetWithTransforms=z());const{target:p}=o;if(!p){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Ns(this.prevProjectionDelta.x,this.projectionDelta.x),Ns(this.prevProjectionDelta.y,this.projectionDelta.y)),Ot(this.projectionDelta,this.layoutCorrected,p,this.latestValues),(this.treeScale.x!==h||this.treeScale.y!==d||!Xs(this.projectionDelta.x,this.prevProjectionDelta.x)||!Xs(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",p))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(o=!0){if(this.options.visualElement?.scheduleRender(),o){const a=this.getStack();a&&a.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=Pt(),this.projectionDelta=Pt(),this.projectionDeltaWithTransform=Pt()}setAnimationOrigin(o,a=!1,l){const c=this.snapshot,u=c?c.latestValues:{},h={...this.latestValues},d=Pt();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!a;const p=z(),f=c?c.source:void 0,y=this.layout?this.layout.source:void 0,v=f!==y,g=this.getStack(),S=!g||g.members.length<=1,b=!!(v&&!S&&this.options.crossfade===!0&&!this.path.some(uh));this.animationProgress=0;let T;const k=l?.interpolateProjection(o);this.mixTargetDelta=V=>{const M=V/1e3,C=k?.(M);C?(d.x.translate=C.x,d.x.scale=j(o.x.scale,1,M),d.x.origin=o.x.origin,d.x.originPoint=o.x.originPoint,d.y.translate=C.y,d.y.scale=j(o.y.scale,1,M),d.y.origin=o.y.origin,d.y.originPoint=o.y.originPoint):(ni(d.x,o.x,M),ni(d.y,o.y,M)),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(be(p,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),ch(this.relativeTarget,this.relativeTargetOrigin,p,M),T&&Nu(this.relativeTarget,T)&&(this.isProjectionDirty=!1),T||(T=z()),Q(T,this.relativeTarget)),v&&(this.animationValues=h,Uu(h,u,this.latestValues,M,b,S)),C&&C.rotate!==void 0&&(this.animationValues||(this.animationValues=h),this.animationValues.pathRotation=C.rotate),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=M},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(o){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(dt(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=L.update(()=>{he.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=At(0)),this.motionValue.jump(0,!1),this.currentAnimation=$u(this.motionValue,[0,1e3],{...o,velocity:0,isSync:!0,onUpdate:a=>{this.mixTargetDelta(a),o.onUpdate&&o.onUpdate(a)},onComplete:()=>{o.onComplete&&o.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const o=this.getStack();o&&o.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Xu),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const o=this.getLead();let{targetWithTransforms:a,target:l,layout:c,latestValues:u}=o;if(!(!a||!l||!c)){if(this!==o&&this.layout&&c&&cr(this.options.animationType,this.layout.layoutBox,c.layoutBox)){l=this.target||z();const h=$(this.layout.layoutBox.x);l.x.min=o.target.x.min,l.x.max=l.x.min+h;const d=$(this.layout.layoutBox.y);l.y.min=o.target.y.min,l.y.max=l.y.min+d}Q(a,l),ce(a,u),Ot(this.projectionDeltaWithTransform,this.layoutCorrected,a,u)}}registerSharedNode(o,a){this.sharedNodes.has(o)||this.sharedNodes.set(o,new Yu),this.sharedNodes.get(o).add(a);const c=a.options.initialPromotionConfig;a.promote({transition:c?c.transition:void 0,preserveFollowOpacity:c&&c.shouldPreserveFollowOpacity?c.shouldPreserveFollowOpacity(a):void 0})}isLead(){const o=this.getStack();return o?o.lead===this:!0}getLead(){const{layoutId:o}=this.options;return o?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:o}=this.options;return o?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:o}=this.options;if(o)return this.root.sharedNodes.get(o)}promote({needsReset:o,transition:a,preserveFollowOpacity:l}={}){const c=this.getStack();c&&c.promote(this,l),o&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const o=this.getStack();return o?o.relegate(this):!1}resetSkewAndRotation(){const{visualElement:o}=this.options;if(!o)return;let a=!1;const{latestValues:l}=o;if((l.z||l.rotate||l.rotateX||l.rotateY||l.rotateZ||l.skewX||l.skewY)&&(a=!0),!a)return;const c={};l.z&&Ne("z",o,c,this.animationValues);for(let u=0;u<Fe.length;u++)Ne(`rotate${Fe[u]}`,o,c,this.animationValues),Ne(`skew${Fe[u]}`,o,c,this.animationValues);o.render();for(const u in c)o.setStaticValue(u,c[u]),this.animationValues&&(this.animationValues[u]=c[u]);o.scheduleRender()}applyProjectionStyles(o,a){if(!this.instance||this.isSVG)return;if(!this.isVisible){o.visibility="hidden";return}const l=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,o.visibility="",o.opacity="",o.pointerEvents=ue(a?.pointerEvents)||"",o.transform=l?l(this.latestValues,""):"none";return}const c=this.getLead();if(!this.projectionDelta||!this.layout||!c.target){this.options.layoutId&&(o.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,o.pointerEvents=ue(a?.pointerEvents)||""),this.hasProjected&&!pt(this.latestValues)&&(o.transform=l?l({},""):"none",this.hasProjected=!1);return}o.visibility="";const u=c.animationValues||c.latestValues;this.applyTransformsToTarget();let h=Bu(this.projectionDeltaWithTransform,this.treeScale,u);l&&(h=l(u,h)),o.transform=h;const{x:d,y:p}=this.projectionDelta;o.transformOrigin=`${d.origin*100}% ${p.origin*100}% 0`,c.animationValues?o.opacity=c===this?u.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:u.opacityExit:o.opacity=c===this?u.opacity!==void 0?u.opacity:"":u.opacityExit!==void 0?u.opacityExit:0;for(const f in yn){if(u[f]===void 0)continue;const{correct:y,applyTo:v,isCSSVariable:g}=yn[f],S=h==="none"?u[f]:y(u[f],c);if(v){const b=v.length;for(let T=0;T<b;T++)o[v[T]]=S}else g?this.options.visualElement.renderState.vars[f]=S:o[f]=S}this.options.layoutId&&(o.pointerEvents=c===this?ue(a?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(o=>o.currentAnimation?.stop()),this.root.nodes.forEach(Qs),this.root.sharedNodes.clear()}}}function Zu(t){t.updateLayout()}function Ju(t){const e=t.resumeFrom?.snapshot||t.snapshot;if(t.isLead()&&t.layout&&e&&t.hasListeners("didUpdate")){const{layoutBox:n,measuredBox:s}=t.layout,{animationType:i}=t.options,r=e.source!==t.layout.source;if(i==="size")st(u=>{const h=r?e.measuredBox[u]:e.layoutBox[u],d=$(h);h.min=n[u].min,h.max=h.min+d});else if(i==="x"||i==="y"){const u=i==="x"?"y":"x";vn(r?e.measuredBox[u]:e.layoutBox[u],n[u])}else cr(i,e.layoutBox,n)&&st(u=>{const h=r?e.measuredBox[u]:e.layoutBox[u],d=$(n[u]);h.max=h.min+d,t.relativeTarget&&!t.currentAnimation&&(t.isProjectionDirty=!0,t.relativeTarget[u].max=t.relativeTarget[u].min+d)});const o=Pt();Ot(o,n,e.layoutBox);const a=Pt();r?Ot(a,t.applyTransform(s,!0),e.measuredBox):Ot(a,n,e.layoutBox);const l=!ir(o);let c=!1;if(!t.resumeFrom){const u=t.getClosestProjectingParent();if(u&&!u.resumeFrom){const{snapshot:h,layout:d}=u;if(h&&d){const p=t.options.layoutAnchor||void 0,f=z();be(f,e.layoutBox,h.layoutBox,p);const y=z();be(y,n,d.layoutBox,p),or(f,y)||(c=!0),u.options.layoutRoot&&(t.relativeTarget=y,t.relativeTargetOrigin=f,t.relativeParent=u)}}}t.notifyListeners("didUpdate",{layout:n,snapshot:e,delta:a,layoutDelta:o,hasLayoutChanged:l,hasRelativeLayoutChanged:c})}else if(t.isLead()){const{onExitComplete:n}=t.options;n&&n()}t.options.transition=void 0}function Qu(t){t.parent&&(t.isProjecting()||(t.isProjectionDirty=t.parent.isProjectionDirty),t.isSharedProjectionDirty||(t.isSharedProjectionDirty=!!(t.isProjectionDirty||t.parent.isProjectionDirty||t.parent.isSharedProjectionDirty)),t.isTransformDirty||(t.isTransformDirty=t.parent.isTransformDirty))}function th(t){t.isProjectionDirty=t.isSharedProjectionDirty=t.isTransformDirty=!1}function eh(t){t.clearSnapshot()}function Qs(t){t.clearMeasurements()}function nh(t){t.isLayoutDirty=!0,t.updateLayout()}function ti(t){t.isLayoutDirty=!1}function sh(t){t.isAnimationBlocked&&t.layout&&!t.isLayoutDirty&&(t.snapshot=t.layout,t.isLayoutDirty=!0)}function ih(t){const{visualElement:e}=t.options;e&&e.getProps().onBeforeLayoutMeasure&&e.notify("BeforeLayoutMeasure"),t.resetTransform()}function ei(t){t.finishAnimation(),t.targetDelta=t.relativeTarget=t.target=void 0,t.isProjectionDirty=!0}function oh(t){t.resolveTargetDelta()}function rh(t){t.calcProjection()}function ah(t){t.resetSkewAndRotation()}function lh(t){t.removeLeadSnapshot()}function ni(t,e,n){t.translate=j(e.translate,0,n),t.scale=j(e.scale,1,n),t.origin=e.origin,t.originPoint=e.originPoint}function si(t,e,n,s){t.min=j(e.min,n.min,s),t.max=j(e.max,n.max,s)}function ch(t,e,n,s){si(t.x,e.x,n.x,s),si(t.y,e.y,n.y,s)}function uh(t){return t.animationValues&&t.animationValues.opacityExit!==void 0}const hh={duration:.45,ease:[.4,0,.1,1]},ii=t=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(t),oi=ii("applewebkit/")&&!ii("chrome/")?Math.round:Z;function ri(t){t.min=oi(t.min),t.max=oi(t.max)}function dh(t){ri(t.x),ri(t.y)}function cr(t,e,n){return t==="position"||t==="preserve-aspect"&&!ju(Ys(e),Ys(n),.2)}function fh(t){return t!==t.root&&t.scroll?.wasRoot}const mh=lr({attachResizeListener:(t,e)=>zt(t,"resize",e),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),Be={current:void 0},ur=lr({measureScroll:t=>({x:t.scrollLeft,y:t.scrollTop}),defaultParent:()=>{if(!Be.current){const t=new mh({});t.mount(window),t.setOptions({layoutScroll:!0}),Be.current=t}return Be.current},resetTransform:(t,e)=>{t.style.transform=e!==void 0?e:"none"},checkIsScrollRoot:t=>window.getComputedStyle(t).position==="fixed"}),qn=x.createContext({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"});function ai(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function ph(...t){return e=>{let n=!1;const s=t.map(i=>{const r=ai(i,e);return!n&&typeof r=="function"&&(n=!0),r});if(n)return()=>{for(let i=0;i<s.length;i++){const r=s[i];typeof r=="function"?r():ai(t[i],null)}}}}function gh(...t){return x.useCallback(ph(...t),t)}class yh extends x.Component{getSnapshotBeforeUpdate(e){const n=this.props.childRef.current;if(ie(n)&&e.isPresent&&!this.props.isPresent&&this.props.pop!==!1){const s=n.offsetParent,i=ie(s)&&s.offsetWidth||0,r=ie(s)&&s.offsetHeight||0,o=getComputedStyle(n),a=this.props.sizeRef.current;a.height=parseFloat(o.height),a.width=parseFloat(o.width),a.top=n.offsetTop,a.left=n.offsetLeft,a.right=i-a.width-a.left,a.bottom=r-a.height-a.top,a.direction=o.direction}return null}componentDidUpdate(){}render(){return this.props.children}}function vh({children:t,isPresent:e,anchorX:n,anchorY:s,root:i,pop:r}){const o=x.useId(),a=x.useRef(null),l=x.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:"ltr"}),{nonce:c}=x.useContext(qn),u=t.props?.ref??t?.ref,h=gh(a,u);return x.useInsertionEffect(()=>{const{width:d,height:p,top:f,left:y,right:v,bottom:g,direction:S}=l.current;if(e||r===!1||!a.current||!d||!p)return;const b=S==="rtl",T=n==="left"?b?`right: ${v}`:`left: ${y}`:b?`left: ${y}`:`right: ${v}`,k=s==="bottom"?`bottom: ${g}`:`top: ${f}`;a.current.dataset.motionPopId=o;const V=document.createElement("style");c&&(V.nonce=c);const M=i??document.head;return M.appendChild(V),V.sheet&&V.sheet.insertRule(`
|
|
2
|
+
[data-motion-pop-id="${o}"] {
|
|
3
|
+
position: absolute !important;
|
|
4
|
+
width: ${d}px !important;
|
|
5
|
+
height: ${p}px !important;
|
|
6
|
+
${T}px !important;
|
|
7
|
+
${k}px !important;
|
|
8
|
+
}
|
|
9
|
+
`),()=>{a.current?.removeAttribute("data-motion-pop-id"),M.contains(V)&&M.removeChild(V)}},[e]),m.jsx(yh,{isPresent:e,childRef:a,sizeRef:l,pop:r,children:r===!1?t:x.cloneElement(t,{ref:h})})}const xh=({children:t,initial:e,isPresent:n,onExitComplete:s,custom:i,presenceAffectsLayout:r,mode:o,anchorX:a,anchorY:l,root:c})=>{const u=Pn(bh),h=x.useId(),d=x.useRef(n),p=x.useRef(s);Cn(()=>{d.current=n,p.current=s});let f=!0,y=x.useMemo(()=>(f=!1,{id:h,initial:e,isPresent:n,custom:i,onExitComplete:v=>{u.set(v,!0);for(const g of u.values())if(!g)return;s&&s()},register:v=>(u.set(v,!1),()=>{u.delete(v),!d.current&&!u.size&&p.current?.()})}),[n,u,s]);return r&&f&&(y={...y}),x.useMemo(()=>{u.forEach((v,g)=>u.set(g,!1))},[n]),x.useEffect(()=>{!n&&!u.size&&s&&s()},[n]),t=m.jsx(vh,{pop:o==="popLayout",isPresent:n,anchorX:a,anchorY:l,root:c,children:t}),m.jsx(Te.Provider,{value:y,children:t})};function bh(){return new Map}function hr(t=!0){const e=x.useContext(Te);if(e===null)return[!0,null];const{isPresent:n,onExitComplete:s,register:i}=e,r=x.useId();x.useEffect(()=>{if(t)return i(r)},[t]);const o=x.useCallback(()=>t&&s&&s(r),[r,s,t]);return!n&&s?[!1,o]:[!0]}const qt=t=>t.key||"";function li(t){const e=[];return x.Children.forEach(t,n=>{x.isValidElement(n)&&e.push(n)}),e}const Zt=({children:t,custom:e,initial:n=!0,onExitComplete:s,presenceAffectsLayout:i=!0,mode:r="sync",propagate:o=!1,anchorX:a="left",anchorY:l="top",root:c})=>{const[u,h]=hr(o),d=x.useMemo(()=>li(t),[t]),p=o&&!u?[]:d.map(qt),f=x.useRef(!0),y=x.useRef(d),v=Pn(()=>new Map),g=x.useRef(new Set),[S,b]=x.useState(d),[T,k]=x.useState(d);Cn(()=>{f.current=!1,y.current=d;for(let C=0;C<T.length;C++){const E=qt(T[C]);p.includes(E)?(v.delete(E),g.current.delete(E)):v.get(E)!==!0&&v.set(E,!1)}},[T,p.length,p.join("-")]);const V=[];if(d!==S){let C=[...d];for(let E=0;E<T.length;E++){const A=T[E],O=qt(A);p.includes(O)||(C.splice(E,0,A),V.push(A))}return r==="wait"&&V.length&&(C=V),k(li(C)),b(d),null}const{forceRender:M}=x.useContext(Sn);return m.jsx(m.Fragment,{children:T.map(C=>{const E=qt(C),A=o&&!u?!1:d===T||p.includes(E),O=()=>{if(g.current.has(E))return;if(v.has(E))g.current.add(E),v.set(E,!0);else return;let N=!0;v.forEach(J=>{J||(N=!1)}),N&&(M?.(),k(y.current),o&&h?.(),s&&s())};return m.jsx(xh,{isPresent:A,initial:!f.current||n?void 0:!1,custom:e,presenceAffectsLayout:i,mode:r,root:c,onExitComplete:A?void 0:O,anchorX:a,anchorY:l,children:C},E)})})},dr=x.createContext({strict:!1}),ci={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let ui=!1;function wh(){if(ui)return;const t={};for(const e in ci)t[e]={isEnabled:n=>ci[e].some(s=>!!n[s])};Wo(t),ui=!0}function fr(){return wh(),ou()}function Th(t){const e=fr();for(const n in t)e[n]={...e[n],...t[n]};Wo(e)}const Sh=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function we(t){return t.startsWith("while")||t.startsWith("drag")&&t!=="draggable"||t.startsWith("layout")||t.startsWith("onTap")||t.startsWith("onPan")||t.startsWith("onLayout")||Sh.has(t)}let mr=t=>!we(t);function Ph(t){typeof t=="function"&&(mr=e=>e.startsWith("on")?!we(e):t(e))}try{Ph(require("@emotion/is-prop-valid").default)}catch{}function Ch(t,e,n){const s={};for(const i in t)i==="values"&&typeof t.values=="object"||W(t[i])||(mr(i)||n===!0&&we(i)||!e&&!we(i)||t.draggable&&i.startsWith("onDrag"))&&(s[i]=t[i]);return s}const Ae=x.createContext({});function Ah(t,e){if(Ce(t)){const{initial:n,animate:s}=t;return{initial:n===!1||Bt(n)?n:void 0,animate:Bt(s)?s:void 0}}return t.inherit!==!1?e:{}}function kh(t){const{initial:e,animate:n}=Ah(t,x.useContext(Ae));return x.useMemo(()=>({initial:e,animate:n}),[hi(e),hi(n)])}function hi(t){return Array.isArray(t)?t.join(" "):t}const Zn=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function pr(t,e,n){for(const s in e)!W(e[s])&&!Xo(s,n)&&(t[s]=e[s])}function Mh({transformTemplate:t},e){return x.useMemo(()=>{const n=Zn();return Yn(n,e,t),Object.assign({},n.vars,n.style)},[e])}function Vh(t,e){const n=t.style||{},s={};return pr(s,n,t),Object.assign(s,Mh(t,e)),s}function Eh(t,e){const n={},s=Vh(t,e);return t.drag&&t.dragListener!==!1&&(n.draggable=!1,s.userSelect=s.WebkitUserSelect=s.WebkitTouchCallout="none",s.touchAction=t.drag===!0?"none":`pan-${t.drag==="x"?"y":"x"}`),t.tabIndex===void 0&&(t.onTap||t.onTapStart||t.whileTap)&&(n.tabIndex=0),n.style=s,n}const gr=()=>({...Zn(),attrs:{}});function Rh(t,e,n,s){const i=x.useMemo(()=>{const r=gr();return qo(r,e,Jo(s),t.transformTemplate,t.style),{...r.attrs,style:{...r.style}}},[e]);if(t.style){const r={};pr(r,t.style,t),i.style={...r,...i.style}}return i}const Dh=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function Jn(t){return typeof t!="string"||t.includes("-")?!1:!!(Dh.indexOf(t)>-1||/[A-Z]/u.test(t))}function jh(t,e,n,{latestValues:s},i,r=!1,o){const l=(o??Jn(t)?Rh:Eh)(e,s,i,t),c=Ch(e,typeof t=="string",r),u=t!==x.Fragment?{...c,...l,ref:n}:{},{children:h}=e,d=x.useMemo(()=>W(h)?h.get():h,[h]);return x.createElement(t,{...u,children:d})}function Lh({scrapeMotionValuesFromProps:t,createRenderState:e},n,s,i){return{latestValues:Oh(n,s,i,t),renderState:e()}}function Oh(t,e,n,s){const i={},r=s(t,{});for(const d in r)i[d]=ue(r[d]);let{initial:o,animate:a}=t;const l=Ce(t),c=zo(t);e&&c&&!l&&t.inherit!==!1&&(o===void 0&&(o=e.initial),a===void 0&&(a=e.animate));let u=n?n.initial===!1:!1;u=u||o===!1;const h=u?a:o;if(h&&typeof h!="boolean"&&!Pe(h)){const d=Array.isArray(h)?h:[h];for(let p=0;p<d.length;p++){const f=zn(t,d[p]);if(f){const{transitionEnd:y,transition:v,...g}=f;for(const S in g){let b=g[S];if(Array.isArray(b)){const T=u?b.length-1:0;b=b[T]}b!==null&&(i[S]=b)}for(const S in y)i[S]=y[S]}}}return i}const yr=t=>(e,n)=>{const s=x.useContext(Ae),i=x.useContext(Te),r=()=>Lh(t,e,s,i);return n?r():Pn(r)},Ih=yr({scrapeMotionValuesFromProps:Xn,createRenderState:Zn}),Fh=yr({scrapeMotionValuesFromProps:Qo,createRenderState:gr}),Nh=Symbol.for("motionComponentSymbol");function Bh(t,e,n){const s=x.useRef(n);x.useInsertionEffect(()=>{s.current=n});const i=x.useRef(null);return x.useCallback(r=>{r&&t.onMount?.(r),e&&(r?e.mount(r):e.unmount());const o=s.current;if(typeof o=="function")if(r){const a=o(r);typeof a=="function"&&(i.current=a)}else i.current?(i.current(),i.current=null):o(r);else o&&(o.current=r)},[e])}const vr=x.createContext({});function wt(t){return t&&typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function zh(t,e,n,s,i,r){const{visualElement:o}=x.useContext(Ae),a=x.useContext(dr),l=x.useContext(Te),c=x.useContext(qn),u=c.reducedMotion,h=c.skipAnimations,d=x.useRef(null),p=x.useRef(!1);s=s||a.renderer,!d.current&&s&&(d.current=s(t,{visualState:e,parent:o,props:n,presenceContext:l,blockInitialAnimation:l?l.initial===!1:!1,reducedMotionConfig:u,skipAnimations:h,isSVG:r}),p.current&&d.current&&(d.current.manuallyAnimateOnMount=!0));const f=d.current,y=x.useContext(vr);f&&!f.projection&&i&&(f.type==="html"||f.type==="svg")&&Uh(d.current,n,i,y);const v=x.useRef(!1);x.useInsertionEffect(()=>{f&&v.current&&f.update(n,l)});const g=n[Mo],S=x.useRef(!!g&&typeof window<"u"&&!window.MotionHandoffIsComplete?.(g)&&window.MotionHasOptimisedAnimation?.(g));return Cn(()=>{p.current=!0,f&&(v.current=!0,window.MotionIsMounted=!0,f.updateFeatures(),f.scheduleRenderMicrotask(),S.current&&f.animationState&&f.animationState.animateChanges())}),x.useEffect(()=>{f&&(!S.current&&f.animationState&&f.animationState.animateChanges(),S.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(g)}),S.current=!1),f.enteringChildren=void 0)}),f}function Uh(t,e,n,s){const{layoutId:i,layout:r,drag:o,dragConstraints:a,layoutScroll:l,layoutRoot:c,layoutAnchor:u,layoutCrossfade:h}=e;t.projection=new n(t.latestValues,e["data-framer-portal-id"]?void 0:xr(t.parent)),t.projection.setOptions({layoutId:i,layout:r,alwaysMeasureLayout:!!o||a&&wt(a),visualElement:t,animationType:typeof r=="string"?r:"both",initialPromotionConfig:s,crossfade:h,layoutScroll:l,layoutRoot:c,layoutAnchor:u})}function xr(t){if(t)return t.options.allowProjection!==!1?t.projection:xr(t.parent)}function ze(t,{forwardMotionProps:e=!1,type:n}={},s,i){s&&Th(s);const r=n?n==="svg":Jn(t),o=r?Fh:Ih;function a(c,u){let h;const d={...x.useContext(qn),...c,layoutId:Wh(c)},{isStatic:p}=d,f=kh(c),y=o(c,p);if(!p&&typeof window<"u"){_h();const v=$h(d);h=v.MeasureLayout,f.visualElement=zh(t,y,d,i,v.ProjectionNode,r)}return m.jsxs(Ae.Provider,{value:f,children:[h&&f.visualElement?m.jsx(h,{visualElement:f.visualElement,...d}):null,jh(t,c,Bh(y,f.visualElement,u),y,p,e,r)]})}a.displayName=`motion.${typeof t=="string"?t:`create(${t.displayName??t.name??""})`}`;const l=x.forwardRef(a);return l[Nh]=t,l}function Wh({layoutId:t}){const e=x.useContext(Sn).id;return e&&t!==void 0?e+"-"+t:t}function _h(t,e){x.useContext(dr).strict}function $h(t){const e=fr(),{drag:n,layout:s}=e;if(!n&&!s)return{};const i={...n,...s};return{MeasureLayout:n?.isEnabled(t)||s?.isEnabled(t)?i.MeasureLayout:void 0,ProjectionNode:i.ProjectionNode}}function Kh(t,e){if(typeof Proxy>"u")return ze;const n=new Map,s=(r,o)=>ze(r,o,t,e),i=(r,o)=>s(r,o);return new Proxy(i,{get:(r,o)=>o==="create"?s:(n.has(o)||n.set(o,ze(o,void 0,t,e)),n.get(o))})}const Hh=(t,e)=>e.isSVG??Jn(t)?new Tu(e):new gu(e,{allowProjection:t!==x.Fragment});class Gh extends ft{constructor(e){super(e),e.animationState||(e.animationState=ku(e))}updateAnimationControlsSubscription(){const{animate:e}=this.node.getProps();Pe(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:e}=this.node.getProps(),{animate:n}=this.node.prevProps||{};e!==n&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let Yh=0;class Xh extends ft{constructor(){super(...arguments),this.id=Yh++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;const{isPresent:e,onExitComplete:n}=this.node.presenceContext,{isPresent:s}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===s)return;if(e&&s===!1){if(this.isExitComplete){const{initial:r,custom:o}=this.node.getProps();if(typeof r=="string"||typeof r=="object"&&r!==null&&!Array.isArray(r)){const a=xt(this.node,r,o);if(a){const{transition:l,transitionEnd:c,...u}=a;for(const h in u)this.node.getValue(h)?.jump(u[h])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}const i=this.node.animationState.setActive("exit",!e);n&&!e&&i.then(()=>{this.isExitComplete=!0,n(this.id)})}mount(){const{register:e,onExitComplete:n}=this.node.presenceContext||{};n&&n(this.id),e&&(this.unmount=e(this.id))}unmount(){}}const qh={animation:{Feature:Gh},exit:{Feature:Xh}};function Ht(t){return{point:{x:t.pageX,y:t.pageY}}}const Zh=t=>e=>$n(e)&&t(e,Ht(e));function It(t,e,n,s){return zt(t,e,Zh(n),s)}const br=({current:t})=>t?t.ownerDocument.defaultView:null,di=(t,e)=>Math.abs(t-e);function Jh(t,e){const n=di(t.x,e.x),s=di(t.y,e.y);return Math.sqrt(n**2+s**2)}const fi=new Set(["auto","scroll"]);class wr{constructor(e,n,{transformPagePoint:s,contextWindow:i=window,dragSnapToOrigin:r=!1,distanceThreshold:o=3,element:a}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=f=>{this.handleScroll(f.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=Jt(this.lastRawMoveEventInfo,this.transformPagePoint));const f=Ue(this.lastMoveEventInfo,this.history),y=this.startEvent!==null,v=Jh(f.offset,{x:0,y:0})>=this.distanceThreshold;if(!y&&!v)return;const{point:g}=f,{timestamp:S}=U;this.history.push({...g,timestamp:S});const{onStart:b,onMove:T}=this.handlers;y||(b&&b(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),T&&T(this.lastMoveEvent,f)},this.handlePointerMove=(f,y)=>{this.lastMoveEvent=f,this.lastRawMoveEventInfo=y,this.lastMoveEventInfo=Jt(y,this.transformPagePoint),L.update(this.updatePoint,!0)},this.handlePointerUp=(f,y)=>{this.end();const{onEnd:v,onSessionEnd:g,resumeAnimation:S}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&S&&S(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const b=Ue(f.type==="pointercancel"?this.lastMoveEventInfo:Jt(y,this.transformPagePoint),this.history);this.startEvent&&v&&v(f,b),g&&g(f,b)},!$n(e))return;this.dragSnapToOrigin=r,this.handlers=n,this.transformPagePoint=s,this.distanceThreshold=o,this.contextWindow=i||window;const l=Ht(e),c=Jt(l,this.transformPagePoint),{point:u}=c,{timestamp:h}=U;this.history=[{...u,timestamp:h}];const{onSessionStart:d}=n;d&&d(e,Ue(c,this.history));const p={passive:!0,capture:!0};this.removeListeners=_t(It(this.contextWindow,"pointermove",this.handlePointerMove,p),It(this.contextWindow,"pointerup",this.handlePointerUp,p),It(this.contextWindow,"pointercancel",this.handlePointerUp,p)),a&&this.startScrollTracking(a)}startScrollTracking(e){let n=e.parentElement;for(;n;){const s=getComputedStyle(n);(fi.has(s.overflowX)||fi.has(s.overflowY))&&this.scrollPositions.set(n,{x:n.scrollLeft,y:n.scrollTop}),n=n.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(e){const n=this.scrollPositions.get(e);if(!n)return;const s=e===window,i=s?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},r={x:i.x-n.x,y:i.y-n.y};r.x===0&&r.y===0||(s?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=r.x,this.lastMoveEventInfo.point.y+=r.y):this.history.length>0&&(this.history[0].x-=r.x,this.history[0].y-=r.y),this.scrollPositions.set(e,i),L.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),dt(this.updatePoint)}}function Jt(t,e){return e?{point:e(t.point)}:t}function mi(t,e){return{x:t.x-e.x,y:t.y-e.y}}function Ue({point:t},e){return{point:t,delta:mi(t,Tr(e)),offset:mi(t,Qh(e)),velocity:td(e,.1)}}function Qh(t){return t[0]}function Tr(t){return t[t.length-1]}function td(t,e){if(t.length<2)return{x:0,y:0};let n=t.length-1,s=null;const i=Tr(t);for(;n>=0&&(s=t[n],!(i.timestamp-s.timestamp>H(e)));)n--;if(!s)return{x:0,y:0};s===t[0]&&t.length>2&&i.timestamp-s.timestamp>H(e)*2&&(s=t[1]);const r=q(i.timestamp-s.timestamp);if(r===0)return{x:0,y:0};const o={x:(i.x-s.x)/r,y:(i.y-s.y)/r};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function ed(t,{min:e,max:n},s){return e!==void 0&&t<e?t=s?j(e,t,s.min):Math.max(t,e):n!==void 0&&t>n&&(t=s?j(n,t,s.max):Math.min(t,n)),t}function pi(t,e,n){return{min:e!==void 0?t.min+e:void 0,max:n!==void 0?t.max+n-(t.max-t.min):void 0}}function nd(t,{top:e,left:n,bottom:s,right:i}){return{x:pi(t.x,n,i),y:pi(t.y,e,s)}}function gi(t,e){let n=e.min-t.min,s=e.max-t.max;return e.max-e.min<t.max-t.min&&([n,s]=[s,n]),{min:n,max:s}}function sd(t,e){return{x:gi(t.x,e.x),y:gi(t.y,e.y)}}function id(t,e){let n=.5;const s=$(t),i=$(e);return i>s?n=Ft(e.min,e.max-s,t.min):s>i&&(n=Ft(t.min,t.max-i,e.min)),rt(0,1,n)}function od(t,e){const n={};return e.min!==void 0&&(n.min=e.min-t.min),e.max!==void 0&&(n.max=e.max-t.min),n}const xn=.35;function rd(t=xn){return t===!1?t=0:t===!0&&(t=xn),{x:yi(t,"left","right"),y:yi(t,"top","bottom")}}function yi(t,e,n){return{min:vi(t,e),max:vi(t,n)}}function vi(t,e){return typeof t=="number"?t:t[e]||0}const ad=new WeakMap;class ld{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=z(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:n=!1,distanceThreshold:s}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const r=h=>{n&&this.snapToCursor(Ht(h).point),this.stopAnimation()},o=(h,d)=>{const{drag:p,dragPropagation:f,onDragStart:y}=this.getProps();if(p&&!f&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Oc(p),!this.openDragLock))return;this.latestPointerEvent=h,this.latestPanInfo=d,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),st(g=>{let S=this.getAxisMotionValue(g).get()||0;if(ot.test(S)){const{projection:b}=this.visualElement;if(b&&b.layout){const T=b.layout.layoutBox[g];T&&(S=$(T)*(parseFloat(S)/100))}}this.originPoint[g]=S}),y&&L.update(()=>y(h,d),!1,!0),cn(this.visualElement,"transform");const{animationState:v}=this.visualElement;v&&v.setActive("whileDrag",!0)},a=(h,d)=>{this.latestPointerEvent=h,this.latestPanInfo=d;const{dragPropagation:p,dragDirectionLock:f,onDirectionLock:y,onDrag:v}=this.getProps();if(!p&&!this.openDragLock)return;const{offset:g}=d;if(f&&this.currentDirection===null){this.currentDirection=ud(g),this.currentDirection!==null&&y&&y(this.currentDirection);return}this.updateAxis("x",d.point,g),this.updateAxis("y",d.point,g),this.visualElement.render(),v&&L.update(()=>v(h,d),!1,!0)},l=(h,d)=>{this.latestPointerEvent=h,this.latestPanInfo=d,this.stop(h,d),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>{const{dragSnapToOrigin:h}=this.getProps();(h||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:u}=this.getProps();this.panSession=new wr(e,{onSessionStart:r,onStart:o,onMove:a,onSessionEnd:l,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,distanceThreshold:s,contextWindow:br(this.visualElement),element:this.visualElement.current})}stop(e,n){const s=e||this.latestPointerEvent,i=n||this.latestPanInfo,r=this.isDragging;if(this.cancel(),!r||!i||!s)return;const{velocity:o}=i;this.startAnimation(o);const{onDragEnd:a}=this.getProps();a&&L.postRender(()=>a(s,i))}cancel(){this.isDragging=!1;const{projection:e,animationState:n}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:s}=this.getProps();!s&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,n,s){const{drag:i}=this.getProps();if(!s||!Qt(e,i,this.currentDirection))return;const r=this.getAxisMotionValue(e);let o=this.originPoint[e]+s[e];this.constraints&&this.constraints[e]&&(o=ed(o,this.constraints[e],this.elastic[e])),r.set(o)}resolveConstraints(){const{dragConstraints:e,dragElastic:n}=this.getProps(),s=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,i=this.constraints;e&&wt(e)?this.constraints||(this.constraints=this.resolveRefConstraints()):e&&s?this.constraints=nd(s.layoutBox,e):this.constraints=!1,this.elastic=rd(n),i!==this.constraints&&!wt(e)&&s&&this.constraints&&!this.hasMutatedConstraints&&st(r=>{this.constraints!==!1&&this.getAxisMotionValue(r)&&(this.constraints[r]=od(s.layoutBox[r],this.constraints[r]))})}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:n}=this.getProps();if(!e||!wt(e))return!1;const s=e.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;i.root&&(i.root.scroll=void 0,i.root.updateScroll());const r=uu(s,i.root,this.visualElement.getTransformPagePoint());let o=sd(i.layout.layoutBox,r);if(n){const a=n(au(o));this.hasMutatedConstraints=!!a,a&&(o=$o(a))}return o}startAnimation(e){const{drag:n,dragMomentum:s,dragElastic:i,dragTransition:r,dragSnapToOrigin:o,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},c=st(u=>{if(!Qt(u,n,this.currentDirection))return;let h=l&&l[u]||{};(o===!0||o===u)&&(h={min:0,max:0});const d=i?200:1e6,p=i?40:1e7,f={type:"inertia",velocity:s?e[u]:0,bounceStiffness:d,bounceDamping:p,timeConstant:750,restDelta:1,restSpeed:10,...r,...h};return this.startAxisValueAnimation(u,f)});return Promise.all(c).then(a)}startAxisValueAnimation(e,n){const s=this.getAxisMotionValue(e);return cn(this.visualElement,e),s.start(Bn(e,s,0,n,this.visualElement,!1))}stopAnimation(){st(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){const n=`_drag${e.toUpperCase()}`,i=this.visualElement.getProps()[n];return i||this.visualElement.getValue(e,this.visualElement.latestValues[e]??0)}snapToCursor(e){st(n=>{const{drag:s}=this.getProps();if(!Qt(n,s,this.currentDirection))return;const{projection:i}=this.visualElement,r=this.getAxisMotionValue(n);if(i&&i.layout){const{min:o,max:a}=i.layout.layoutBox[n],l=r.get()||0;r.set(e[n]-j(o,a,.5)+l)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:n}=this.getProps(),{projection:s}=this.visualElement;if(!wt(n)||!s||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};st(o=>{const a=this.getAxisMotionValue(o);if(a&&this.constraints!==!1){const l=a.get();i[o]=id({min:l,max:l},this.constraints[o])}});const{transformTemplate:r}=this.visualElement.getProps();this.visualElement.current.style.transform=r?r({},""):"none",s.root&&s.root.updateScroll(),s.updateLayout(),this.constraints=!1,this.resolveConstraints(),st(o=>{if(!Qt(o,e,null))return;const a=this.getAxisMotionValue(o),{min:l,max:c}=this.constraints[o];a.set(j(l,c,i[o]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;ad.set(this.visualElement,this);const e=this.visualElement.current,n=It(e,"pointerdown",c=>{const{drag:u,dragListener:h=!0}=this.getProps(),d=c.target,p=d!==e&&Uc(d);u&&h&&!p&&this.start(c)});let s;const i=()=>{const{dragConstraints:c}=this.getProps();wt(c)&&c.current&&(this.constraints=this.resolveRefConstraints(),s||(s=cd(e,c.current,()=>this.scalePositionWithinConstraints())))},{projection:r}=this.visualElement,o=r.addEventListener("measure",i);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),L.read(i);const a=zt(window,"resize",()=>this.scalePositionWithinConstraints()),l=r.addEventListener("didUpdate",(({delta:c,hasLayoutChanged:u})=>{this.isDragging&&u&&(st(h=>{const d=this.getAxisMotionValue(h);d&&(this.originPoint[h]+=c[h].translate,d.set(d.get()+c[h].translate))}),this.visualElement.render())}));return()=>{a(),n(),o(),l&&l(),s&&s()}}getProps(){const e=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:s=!1,dragPropagation:i=!1,dragConstraints:r=!1,dragElastic:o=xn,dragMomentum:a=!0}=e;return{...e,drag:n,dragDirectionLock:s,dragPropagation:i,dragConstraints:r,dragElastic:o,dragMomentum:a}}}function xi(t){let e=!0;return()=>{if(e){e=!1;return}t()}}function cd(t,e,n){const s=As(t,xi(n)),i=As(e,xi(n));return()=>{s(),i()}}function Qt(t,e,n){return(e===!0||e===t)&&(n===null||n===t)}function ud(t,e=10){let n=null;return Math.abs(t.y)>e?n="y":Math.abs(t.x)>e&&(n="x"),n}class hd extends ft{constructor(e){super(e),this.removeGroupControls=Z,this.removeListeners=Z,this.controls=new ld(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Z}update(){const{dragControls:e}=this.node.getProps(),{dragControls:n}=this.node.prevProps||{};e!==n&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const We=t=>(e,n)=>{t&&L.update(()=>t(e,n),!1,!0)};class dd extends ft{constructor(){super(...arguments),this.removePointerDownListener=Z}onPointerDown(e){this.session=new wr(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:br(this.node)})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:n,onPan:s,onPanEnd:i}=this.node.getProps();return{onSessionStart:We(e),onStart:We(n),onMove:We(s),onEnd:(r,o)=>{delete this.session,i&&L.postRender(()=>i(r,o))}}}mount(){this.removePointerDownListener=It(this.node.current,"pointerdown",e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let _e=!1;class fd extends x.Component{componentDidMount(){const{visualElement:e,layoutGroup:n,switchLayoutGroup:s,layoutId:i}=this.props,{projection:r}=e;r&&(n.group&&n.group.add(r),s&&s.register&&i&&s.register(r),_e&&r.root.didUpdate(),r.addEventListener("animationComplete",()=>{this.safeToRemove()}),r.setOptions({...r.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),he.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:n,visualElement:s,drag:i,isPresent:r}=this.props,{projection:o}=s;return o&&(o.isPresent=r,e.layoutDependency!==n&&o.setOptions({...o.options,layoutDependency:n}),_e=!0,i||e.layoutDependency!==n||n===void 0||e.isPresent!==r?o.willUpdate():this.safeToRemove(),e.isPresent!==r&&(r?o.promote():o.relegate()||L.postRender(()=>{const a=o.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{visualElement:e,layoutAnchor:n}=this.props,{projection:s}=e;s&&(s.options.layoutAnchor=n,s.root.didUpdate(),_n.postRender(()=>{!s.currentAnimation&&s.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:e,layoutGroup:n,switchLayoutGroup:s}=this.props,{projection:i}=e;_e=!0,i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),s&&s.deregister&&s.deregister(i))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function Sr(t){const[e,n]=hr(),s=x.useContext(Sn);return m.jsx(fd,{...t,layoutGroup:s,switchLayoutGroup:x.useContext(vr),isPresent:e,safeToRemove:n})}const md={pan:{Feature:dd},drag:{Feature:hd,ProjectionNode:ur,MeasureLayout:Sr}};function bi(t,e,n){const{props:s}=t;t.animationState&&s.whileHover&&t.animationState.setActive("whileHover",n==="Start");const i="onHover"+n,r=s[i];r&&L.postRender(()=>r(e,Ht(e)))}class pd extends ft{mount(){const{current:e}=this.node;e&&(this.unmount=Fc(e,(n,s)=>(bi(this.node,s,"Start"),i=>bi(this.node,i,"End"))))}unmount(){}}class gd extends ft{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=_t(zt(this.node.current,"focus",()=>this.onFocus()),zt(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function wi(t,e,n){const{props:s}=t;if(t.current instanceof HTMLButtonElement&&t.current.disabled)return;t.animationState&&s.whileTap&&t.animationState.setActive("whileTap",n==="Start");const i="onTap"+(n==="End"?"":n),r=s[i];r&&L.postRender(()=>r(e,Ht(e)))}class yd extends ft{mount(){const{current:e}=this.node;if(!e)return;const{globalTapTarget:n,propagate:s}=this.node.props;this.unmount=_c(e,(i,r)=>(wi(this.node,r,"Start"),(o,{success:a})=>wi(this.node,o,a?"End":"Cancel")),{useGlobalTarget:n,stopPropagation:s?.tap===!1})}unmount(){}}const bn=new WeakMap,$e=new WeakMap,vd=t=>{const e=bn.get(t.target);e&&e(t)},xd=t=>{t.forEach(vd)};function bd({root:t,...e}){const n=t||document;$e.has(n)||$e.set(n,{});const s=$e.get(n),i=JSON.stringify(e);return s[i]||(s[i]=new IntersectionObserver(xd,{root:t,...e})),s[i]}function wd(t,e,n){const s=bd(e);return bn.set(t,n),s.observe(t),()=>{bn.delete(t),s.unobserve(t)}}const Td={some:0,all:1};class Sd extends ft{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();const{viewport:e={}}=this.node.getProps(),{root:n,margin:s,amount:i="some",once:r}=e,o={root:n?n.current:void 0,rootMargin:s,threshold:typeof i=="number"?i:Td[i]},a=l=>{const{isIntersecting:c}=l;if(this.isInView===c||(this.isInView=c,r&&!c&&this.hasEnteredView))return;c&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",c);const{onViewportEnter:u,onViewportLeave:h}=this.node.getProps(),d=c?u:h;d&&d(l)};this.stopObserver=wd(this.node.current,o,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:e,prevProps:n}=this.node;["amount","margin","root"].some(Pd(e,n))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}function Pd({viewport:t={}},{viewport:e={}}={}){return n=>t[n]!==e[n]}const Cd={inView:{Feature:Sd},tap:{Feature:yd},focus:{Feature:gd},hover:{Feature:pd}},Ad={layout:{ProjectionNode:ur,MeasureLayout:Sr}},kd={...qh,...Cd,...md,...Ad},te=Kh(kd,Hh),Ti=t=>Symbol.iterator in t,Si=t=>"entries"in t,Pi=(t,e)=>{const n=t instanceof Map?t:new Map(t.entries()),s=e instanceof Map?e:new Map(e.entries());if(n.size!==s.size)return!1;for(const[i,r]of n)if(!s.has(i)||!Object.is(r,s.get(i)))return!1;return!0},Md=(t,e)=>{const n=t[Symbol.iterator](),s=e[Symbol.iterator]();let i=n.next(),r=s.next();for(;!i.done&&!r.done;){if(!Object.is(i.value,r.value))return!1;i=n.next(),r=s.next()}return!!i.done&&!!r.done};function Vd(t,e){return Object.is(t,e)?!0:typeof t!="object"||t===null||typeof e!="object"||e===null||Object.getPrototypeOf(t)!==Object.getPrototypeOf(e)?!1:Ti(t)&&Ti(e)?Si(t)&&Si(e)?Pi(t,e):Md(t,e):Pi({entries:()=>Object.entries(t)},{entries:()=>Object.entries(e)})}function Ed(t){const e=Rt.useRef(void 0);return n=>{const s=t(n);return Vd(e.current,s)?e.current:e.current=s}}const Ci=t=>{let e;const n=new Set,s=(c,u)=>{const h=typeof c=="function"?c(e):c;if(!Object.is(h,e)){const d=e;e=u??(typeof h!="object"||h===null)?h:Object.assign({},e,h),n.forEach(p=>p(e,d))}},i=()=>e,a={setState:s,getState:i,getInitialState:()=>l,subscribe:c=>(n.add(c),()=>n.delete(c))},l=e=t(s,i,a);return a},Rd=(t=>t?Ci(t):Ci),Dd=t=>t;function jd(t,e=Dd){const n=Rt.useSyncExternalStore(t.subscribe,Rt.useCallback(()=>e(t.getState()),[t,e]),Rt.useCallback(()=>e(t.getInitialState()),[t,e]));return Rt.useDebugValue(n),n}const Ai=t=>{const e=Rd(t),n=s=>jd(e,s);return Object.assign(n,e),n},Ld=(t=>t?Ai(t):Ai);const Pr=(...t)=>t.filter((e,n,s)=>!!e&&e.trim()!==""&&s.indexOf(e)===n).join(" ").trim();const Od=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const Id=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,n,s)=>s?s.toUpperCase():n.toLowerCase());const ki=t=>{const e=Id(t);return e.charAt(0).toUpperCase()+e.slice(1)};var Ke={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Fd=t=>{for(const e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1},Nd=x.createContext({}),Bd=()=>x.useContext(Nd),zd=x.forwardRef(({color:t,size:e,strokeWidth:n,absoluteStrokeWidth:s,className:i="",children:r,iconNode:o,...a},l)=>{const{size:c=24,strokeWidth:u=2,absoluteStrokeWidth:h=!1,color:d="currentColor",className:p=""}=Bd()??{},f=s??h?Number(n??u)*24/Number(e??c):n??u;return x.createElement("svg",{ref:l,...Ke,width:e??c??Ke.width,height:e??c??Ke.height,stroke:t??d,strokeWidth:f,className:Pr("lucide",p,i),...!r&&!Fd(a)&&{"aria-hidden":"true"},...a},[...o.map(([y,v])=>x.createElement(y,v)),...Array.isArray(r)?r:[r]])});const lt=(t,e)=>{const n=x.forwardRef(({className:s,...i},r)=>x.createElement(zd,{ref:r,iconNode:e,className:Pr(`lucide-${Od(ki(t))}`,`lucide-${t}`,s),...i}));return n.displayName=ki(t),n};const Ud=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],Mi=lt("arrow-right",Ud);const Wd=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],He=lt("check",Wd);const _d=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],$d=lt("chevron-down",_d);const Kd=[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]],Vi=lt("cloud",Kd);const Hd=[["path",{d:"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",key:"1pdavp"}],["path",{d:"M20.054 15.987H3.946",key:"14rxg9"}]],Gd=lt("laptop",Hd);const Yd=[["path",{d:"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8",key:"10dyio"}],["path",{d:"M10 19v-3.96 3.15",key:"1irgej"}],["path",{d:"M7 19h5",key:"qswx4l"}],["rect",{width:"6",height:"10",x:"16",y:"12",rx:"2",key:"1egngj"}]],Xd=lt("monitor-smartphone",Yd);const qd=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],Zd=lt("monitor",qd);const Jd=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],wn=lt("smartphone",Jd);const Qd=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],tf=lt("x",Qd);function ef(t,e){if(e.kind!=="unit")return null;const n=e.unitId.toLowerCase();return t.find(i=>i.id.toLowerCase()===n)?.name?.trim()||null}function Cr(t,e){return(t.kind??"desktop")==="desktop"&&t.id!==e}function nf(t,e,n,s={},i={},r=Date.now()){return t.filter(o=>Cr(o,e)).map(o=>{const a=Ca(o,s[o.id]??null,i[o.id],r);return{id:o.id,name:o.name,icon:o.icon??null,platform:o.platform??null,status:a.status,...a.refusal?{refusal:a.refusal}:{},capsReady:!!(o.online&&o.capsLive&&o.caps?.engine==="ready"),selected:n.kind==="unit"&&n.unitId===o.id}})}const sf={strict:"unitm.reason.strict","never-prompts":"unitm.reason.neverPrompts","not-signed-in":"unitm.reason.notSignedIn","roster-miss":"unitm.reason.rosterMiss","roster-unreachable":"unitm.reason.rosterUnreachable","no-answer":"unitm.reason.noAnswer",busy:"unitm.reason.busy"};function of(t,e){const n=t.refusal?.reason;if(Tn(n)&&(t.status==="callerBlocked"||t.status==="denied"||t.status==="awaitingConfirm"))return sf[n];switch(t.status){case"checking":return e?"unitm.checking":t.capsReady?"unitm.ready":"unitm.unknown";case"ready":return"unitm.ready";case"starting":return"unitm.starting";case"engineStopped":return"unitm.engineOff";case"noEngine":return"unitm.noEngine";case"offline":return"unitm.offline";case"unreachable":return"unitm.unreachable";case"remoteOff":return"unitm.remoteOff";case"awaitingConfirm":return t.refusal?.state==="unconfirmed"?"unitm.confirmNotAsked":"unitm.confirmPending";case"denied":return"unitm.confirmDenied";case"callerBlocked":return"unitm.confirmDenied"}}const rf={checking:"",ready:"ok",starting:"warn",engineStopped:"warn",noEngine:"err",offline:"",unreachable:"err",remoteOff:"warn",awaitingConfirm:"warn",denied:"err",callerBlocked:"err"};function af(t,e){if(t.status==="checking")return!e&&t.capsReady?"ok":"";const n=t.refusal?.reason;return t.status==="callerBlocked"&&Tn(n)&&Ma.has(n)?"warn":rf[t.status]}function Ar(t){return t==="native_only"?"nativeOnly":t==="caller_unsupported"||t==="CALLER_UNSUPPORTED"?"callerUnsupported":t==="network"||t==="server_429"||typeof t=="string"&&/^server_5\d\d$/.test(t)?"network":t==="auth_expired"||t==="server_401"||t==="not_signed_in"?"signedOut":"callerUnavailable"}const lf=2e3,cf=Va+Ea+5e3,uf=3e3;function ee(t,e){const n=e&&typeof e=="object"?e:{};return{ok:!1,status:t,...typeof n.code=="string"?{code:n.code}:{},...typeof n.state=="string"?{state:n.state}:{},...typeof n.reason=="string"?{reason:n.reason}:{}}}function hf(t){const e=t?.code;return e==="CALLER_UNAVAILABLE"||e==="CALLER_UNSUPPORTED"?e:null}function ne(t){const e=hf(t.json);return e?Ar(e):t.status===401?"signedOut":null}async function df(t,e,n,s){const i=()=>!!s?.aborted,r=await n.ensureSelf();if(i())return{kind:"cancelled"};if(!r.ok)return{kind:"phone",issue:Ar(r.code)};const o=`${t}/units/${e}/proxy`,a=async(d,p)=>{try{return await n.fetchJson(o+d,{...p,signal:s})}catch{return null}};let l=await a("/unit/remote-access");if(i())return{kind:"cancelled"};if(l===null)return{kind:"device",probe:{ok:!1,status:0}};const c=ne(l);if(c)return{kind:"phone",issue:c};if(l.status===200){let d=l.json??{};const p="REMOTE_CALLER_UNCONFIRMED",f=g=>g.remoteSessions===!1?{kind:"device",sticky:{code:"REMOTE_SESSIONS_OFF",at:n.now()}}:g.caller!=="trusted"&&g.caller!=="paired"&&Tn(g.reason)?{kind:"device",sticky:{code:p,...typeof g.caller=="string"?{state:g.caller}:{},reason:g.reason,at:n.now()}}:g.caller==="denied"?{kind:"device",sticky:{code:p,state:"denied",at:n.now()}}:null,y=()=>({kind:"device",sticky:{code:p,state:"unconfirmed",at:n.now()}}),v=f(d);if(v)return v;if(d.caller==="unconfirmed"){const g=await a("/unit/remote-access/request",{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});if(i())return{kind:"cancelled"};if(g===null)return{kind:"device",probe:{ok:!1,status:0}};const S=ne(g);if(S)return{kind:"phone",issue:S};if(g.status!==200)return{kind:"device",probe:ee(g.status,g.json)};d=g.json??{};const b=f(d);if(b)return b;if(d.caller==="unconfirmed")return y()}if(d.caller==="pending"){const g={code:p,state:"pending",at:n.now()};n.progress?.({sticky:g});const S=n.now()+cf;for(let b=!1;;){if(!b&&n.now()>=S&&(b=!0),await n.sleep(b?uf:lf),i())return{kind:"cancelled"};if(l=await a("/unit/remote-access"),i())return{kind:"cancelled"};if(l===null)return{kind:"device",probe:{ok:!1,status:0}};const T=ne(l);if(T)return{kind:"phone",issue:T};if(l.status!==200)return{kind:"device",probe:ee(l.status,l.json)};d=l.json??{};const k=f(d);if(k)return k;if(!(d.caller==="pending"&&!b)){if(d.caller==="unconfirmed"||d.caller==="pending")return y();break}}}}else if(l.status!==404)return{kind:"device",probe:ee(l.status,l.json)};const u=await a("/engine/agent/sessions");if(i())return{kind:"cancelled"};if(u===null)return{kind:"device",probe:{ok:!1,status:0}};const h=ne(u);return h?{kind:"phone",issue:h}:u.status<200||u.status>=300?{kind:"device",probe:ee(u.status,u.json)}:(n.progress?.({probe:{ok:!0}}),await n.select({kind:"unit",unitId:e}),{kind:"selected"})}const Ei={probes:{},sticky:{}};function Ut(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))return t;const n={...t};return delete n[e],n}function kr(t){return Object.keys(t).filter(n=>t[n].state==="pending").reduce((n,s)=>Ut(n,s),t)}function ff(t,e){return{probes:Ut(t.probes,e),sticky:kr(Ut(t.sticky,e))}}function mf(t,e,n){return n.sticky?{probes:Ut(t.probes,e),sticky:{...t.sticky,[e]:n.sticky}}:n.probe?{probes:{...t.probes,[e]:n.probe},sticky:Ut(t.sticky,e)}:t}function Ri(t){const e=kr(t.sticky);return e===t.sticky?t:{probes:t.probes,sticky:e}}async function pf(t){return t.current().kind==="unit"&&await t.select(Ii),t.forget()}function Ge(t){return ka(t,{explicit:!0,name:ef(Mr,t)})}let Mr=[];function Di(){return Qr()}const gf=t=>{const e=`${Fi()}/units/${t}/open`,n=et.getState().cfg.token;return n?`${e}#token=${encodeURIComponent(n)}`:e};bt({"unit.mobileNone":{zh:"名下还没有可连的设备:在电脑上登录同一 Forsion 账号,并开启「允许其他设备连接本机」",en:'No devices yet — sign in with this Forsion account on a computer and enable "Allow other devices to connect".'},"unit.mobileTunnel":{zh:"经云端中转打开(自动使用本机登录态)",en:"Opens via cloud relay (uses this device’s login automatically)"},"unitm.runOn":{zh:"在哪运行",en:"Run on"},"unitm.cloud":{zh:"Forsion 云端",en:"Forsion cloud"},"unitm.cloudDesc":{zh:"默认",en:"Default"},"unitm.current":{zh:"当前",en:"Current"},"unitm.checking":{zh:"正在连接…",en:"Connecting…"},"unitm.ready":{zh:"可用",en:"Available"},"unitm.unknown":{zh:"状态未知",en:"Status unknown"},"unitm.starting":{zh:"引擎正在启动",en:"Engine is starting"},"unitm.engineOff":{zh:"电脑在线,但 Forsion 引擎没有运行",en:"Online, but the Forsion engine isn't running"},"unitm.noEngine":{zh:"这台电脑上的 Forsion 没有 Agent 引擎",en:"Forsion on this computer has no agent engine"},"unitm.offline":{zh:"离线",en:"Offline"},"unitm.unreachable":{zh:"暂时连不上,稍后重试",en:"Can't reach it right now. Try again shortly"},"unitm.confirmPending":{zh:"请在「{name}」上允许这台手机",en:'Allow this phone on "{name}"'},"unitm.confirmDenied":{zh:"「{name}」拒绝了这台手机,10 分钟后可以再次请求",en:'"{name}" declined this phone. You can ask again in 10 minutes'},"unitm.confirmNotAsked":{zh:"「{name}」还没有允许这台手机,点按再次请求",en:`"{name}" hasn't allowed this phone yet. Tap to ask again`},"unitm.reason.strict":{zh:"「{name}」只允许这类连接查看,不会再询问;请在那台电脑的「设置 › 远程会话」中允许",en:`"{name}" only lets connections like this one view sessions and won't ask again. Allow it in Settings › Remote sessions there`},"unitm.reason.neverPrompts":{zh:"「{name}」不会为这类连接弹框询问;请在那台电脑的「设置 › 远程会话」中允许",en:`"{name}" doesn't ask for connections like this one. Allow it in Settings › Remote sessions there`},"unitm.reason.notSignedIn":{zh:"「{name}」没有登录 Forsion,请先在那台电脑上登录",en:`"{name}" isn't signed in to Forsion. Sign in there first`},"unitm.reason.rosterMiss":{zh:"「{name}」的账号里找不到这台手机,请确认两台设备登录的是同一个账号",en:`"{name}" can't find this phone in its account. Make sure both devices use the same account`},"unitm.reason.rosterUnreachable":{zh:"「{name}」暂时无法核对这台手机,请稍后再试",en:`"{name}" can't check this phone right now. Try again shortly`},"unitm.reason.noAnswer":{zh:"「{name}」上没有人回应确认,请稍后再试",en:'No one answered on "{name}". Try again in a minute'},"unitm.reason.busy":{zh:"「{name}」上待确认的请求太多,请稍后再试",en:'"{name}" has too many requests waiting. Try again shortly'},"unitm.remoteOff":{zh:"请在「{name}」上开启「允许远程会话」",en:'Turn on "Allow remote sessions" on "{name}"'},"unitm.callerUnavailable":{zh:"这台手机暂时无法证明自己的身份,请稍后重试",en:"This phone couldn't verify its identity. Try again later"},"unitm.callerUnsupported":{zh:"服务器版本过旧,暂不支持从手机运行",en:"The server is too old to run from a phone"},"unitm.network":{zh:"暂时连不上 Forsion,请检查网络后重试",en:"Can't reach Forsion right now. Check your connection and try again"},"unitm.signedOut":{zh:"登录已失效,请重新登录后再试",en:"Your sign-in has expired. Sign in again and retry"},"unitm.nativeOnly":{zh:"仅在 Forsion 安卓 App 中可用",en:"Only available in the Forsion Android app"},"unitm.vault":{zh:"智库",en:"Vault"},"unitm.vaultLocalDesc":{zh:"笔记存在这台手机上",en:"Notes are stored on this phone"},"unitm.vaultCloudDesc":{zh:"笔记存在云端,各设备都能打开",en:"Notes are stored in the cloud for all your devices"},"unitm.openScreen":{zh:"打开设备界面",en:"Open device screen"},"unitm.thisPhone":{zh:"本机",en:"This phone"},"unitm.registeredAs":{zh:"已登记为「{name}」",en:'Registered as "{name}"'},"unitm.notRegistered":{zh:"尚未登记(首次在电脑上运行时自动登记)",en:"Not registered yet (happens the first time you run on a computer)"},"unitm.forget":{zh:"移除本机登记",en:"Remove this phone"},"unitm.forgetConfirm":{zh:"移除后,各电脑对这台手机的授权都会失效",en:"Computers will stop trusting this phone after removal"},"unitm.forgetDo":{zh:"移除",en:"Remove"}});const Wt=Ld(t=>({open:!1,setOpen:e=>t({open:e})}));function yf(){window.tangu?.unitsList&&(Aa(()=>Wt.getState().setOpen(!0)),qr({id:"rb-units-mobile",side:"bottom",mobileFoot:!0,icon:Xd,tooltip:()=>et.getState().tr("unit.switcher"),onClick:()=>Wt.getState().setOpen(!0)}))}const ji=t=>{(async()=>{for(const e of[window.tangu?.openUnitPage,window.tangu?.openExternal])if(e)try{await e(t);return}catch{}window.open(t,"_blank","noopener")})()},Li=t=>t.endsWith("/")?t:`${t}/`,Oi=t=>t.icon?m.jsx("span",{style:{fontSize:18},"aria-hidden":!0,children:t.icon}):t.platform==="android"||t.platform==="ios"?m.jsx(wn,{size:18}):t.platform==="win32"||t.platform==="linux"?m.jsx(Zd,{size:18}):m.jsx(Gd,{size:18}),vf=()=>window.amadeusVaultMode,xf={nativeOnly:"unitm.nativeOnly",callerUnavailable:"unitm.callerUnavailable",callerUnsupported:"unitm.callerUnsupported",network:"unitm.network",signedOut:"unitm.signedOut"};function bf(){const{t}=Rr(),e=Wt(w=>w.open),n=Wt(w=>w.setOpen),[s,i]=x.useState(void 0),[r,o]=x.useState(null),[a,l]=x.useState(Ei),[c,u]=x.useState(null),[h,d]=x.useState(null),[p,f]=x.useState(!1),[y,v]=x.useState(!1),[g,S]=x.useState(""),b=x.useRef(null),T=Zr(w=>w.vaultSide),[k,V]=x.useState(!1),M=()=>{(window.tangu?.unitSelf?.()??Promise.resolve(null)).then(w=>{o(w),w?.relay==="native_only"?d("nativeOnly"):w?.relay==="unsupported"&&d("callerUnsupported")}).catch(()=>o(null))};x.useEffect(()=>{if(e)return i(void 0),d(null),v(!1),window.tangu?.unitsList?.().then(w=>{const R=w?.status===200?w.json?.units??[]:w?.status===401?null:[];R&&(Mr=R),i(R)}).catch(()=>i([])),M(),()=>{b.current?.abort(),b.current=null,u(null),l(Ri)}},[e]),x.useEffect(()=>{if(!e)return;const w=R=>{R.preventDefault(),n(!1)};return window.addEventListener("forsion:mobile-back",w),()=>window.removeEventListener("forsion:mobile-back",w)},[e,n]);const[,C]=x.useState(0);if(x.useEffect(()=>Jr(()=>C(w=>w+1)),[]),!e)return null;const E=Di(),A=nf(s||[],r?.unitId??null,E,a.probes,a.sticky),O=(s||[]).filter(w=>Cr(w,r?.unitId??null)),N=w=>{b.current?.abort();const R=new AbortController;b.current=R,u(w.id),d(null),l(D=>ff(D,w.id));const X=D=>{R.signal.aborted||l(ct=>mf(ct,w.id,D))};df(Fi(),w.id,{ensureSelf:async()=>{const D=await(window.tangu?.unitEnsureSelf?.()??Promise.resolve({ok:!1,code:"native_only"}));return D.ok&&!R.signal.aborted&&M(),D},fetchJson:async(D,ct)=>{const Qn=await fetch(D,ct);let ts=null;try{ts=await Qn.json()}catch{}return{status:Qn.status,json:ts}},select:Ge,sleep:D=>new Promise(ct=>setTimeout(ct,D)),now:()=>Date.now(),progress:X},R.signal).then(D=>{R.signal.aborted||D.kind==="cancelled"||(D.kind==="selected"?(es(w.id,{ok:!0}),ta(w.id)):D.kind==="device"&&(D.probe&&es(w.id,D.probe),D.sticky&&ea(w.id,D.sticky)),D.kind==="phone"?d(D.issue):D.kind==="device"&&X(D),M())}).finally(()=>{b.current===R&&(b.current=null,u(null))})},J=()=>{b.current?.abort(),b.current=null,u(null),l(Ri),Ge(Ii)},G=()=>{v(!1),b.current?.abort(),b.current=null,u(null),pf({current:Di,select:Ge,forget:()=>window.tangu?.unitForgetSelf?.()??Promise.resolve({ok:!1})}).catch(()=>({ok:!1})).then(()=>{l(Ei),M()})},Y=()=>{const w=g.trim();w&&ji(Li(/^https?:\/\//i.test(w)?w:`http://${w}`))},K=E.kind==="home",Gt=vf(),B=w=>{!Gt||k||w===T||(V(!0),Promise.resolve().then(()=>Gt.switch(w)).catch(R=>et.getState().toast(String(R?.message||R),!0)).finally(()=>V(!1)))};return m.jsx("div",{className:"mb-sheet-scrim us-scrim",onClick:()=>n(!1),"data-units-sheet":!0,children:m.jsxs("div",{className:"mb-sheet us-sheet",onClick:w=>w.stopPropagation(),children:[m.jsx("div",{className:"mb-sheet-grip"}),m.jsxs("div",{className:"us-head",children:[m.jsx("span",{className:"us-head-title",children:t("unit.switcher")}),m.jsx("button",{className:"us-icon-btn","aria-label":t("common.close"),onClick:()=>n(!1),children:m.jsx(tf,{size:18})})]}),m.jsxs("div",{className:"us-body",children:[Gt&&m.jsxs("section",{className:"us-section","data-vault-side":T,children:[m.jsx("div",{className:"us-section-title",children:t("unitm.vault")}),["local","cloud"].map(w=>m.jsxs("button",{className:"mb-sheet-row us-row","data-vault-row":w,"aria-pressed":T===w,"aria-busy":k||void 0,onClick:()=>B(w),children:[m.jsx("span",{className:"us-row-icon",children:w==="local"?m.jsx(wn,{size:18}):m.jsx(Vi,{size:18})}),m.jsxs("span",{className:"us-row-main",children:[m.jsx("span",{className:"us-row-title",children:m.jsx("span",{className:"us-row-name",children:t(w==="local"?"notes.cloud.local":"notes.cloud.cloud")})}),m.jsx("span",{className:"us-row-sub",children:t(w==="local"?"unitm.vaultLocalDesc":"unitm.vaultCloudDesc")})]}),m.jsx("span",{className:"us-row-end",children:T===w&&m.jsxs(m.Fragment,{children:[m.jsx("em",{className:"us-pill",children:t("unitm.current")}),m.jsx(He,{size:16})]})})]},w))]}),m.jsxs("section",{className:"us-section","data-run-on":!0,children:[m.jsx("div",{className:"us-section-title",children:t("unitm.runOn")}),h&&m.jsx("div",{className:"us-banner",role:"status","data-phone-issue":h,children:t(xf[h])}),m.jsxs("button",{className:"mb-sheet-row us-row","data-run-row":"home","aria-pressed":K,onClick:J,children:[m.jsx("span",{className:"us-row-icon",children:m.jsx(Vi,{size:18})}),m.jsxs("span",{className:"us-row-main",children:[m.jsx("span",{className:"us-row-title",children:m.jsx("span",{className:"us-row-name",children:t("unitm.cloud")})}),m.jsx("span",{className:"us-row-sub",children:t("unitm.cloudDesc")})]}),m.jsx("span",{className:"us-row-end",children:K&&m.jsxs(m.Fragment,{children:[m.jsx("em",{className:"us-pill",children:t("unitm.current")}),m.jsx(He,{size:16})]})})]}),s===void 0&&m.jsx("div",{className:"us-empty",children:"…"}),s===null&&m.jsx("div",{className:"us-empty",children:t("unit.notLoggedIn")}),s&&A.length===0&&m.jsx("div",{className:"us-empty",children:t("unit.mobileNone")}),A.map(w=>{const R=c===w.id,X=w.status==="offline";return m.jsxs("button",{className:"mb-sheet-row us-row","data-run-row":w.id,"data-status":w.status,"data-reason":w.refusal?.reason,"aria-pressed":w.selected,"aria-disabled":X||void 0,"aria-busy":R||void 0,onClick:()=>N(w),children:[m.jsx("span",{className:"us-row-icon",children:Oi(w)}),m.jsxs("span",{className:"us-row-main",children:[m.jsx("span",{className:"us-row-title",children:m.jsx("span",{className:"us-row-name",children:w.name})}),m.jsxs("span",{className:"us-row-sub",role:"status",children:[m.jsx("i",{className:`settings-status-dot ${af(w,R)}`,"aria-hidden":!0}),m.jsx("span",{children:t(of(w,R),{name:w.name})})]})]}),m.jsx("span",{className:"us-row-end",children:w.selected?m.jsxs(m.Fragment,{children:[m.jsx("em",{className:"us-pill",children:t("unitm.current")}),m.jsx(He,{size:16})]}):m.jsx(Mi,{size:15})})]},w.id)})]}),m.jsxs("section",{className:"us-section","data-open-screen":!0,children:[m.jsxs("button",{className:"us-section-title us-section-toggle","aria-expanded":p,onClick:()=>f(w=>!w),children:[m.jsx("span",{style:{flex:1},children:t("unitm.openScreen")}),m.jsx($d,{size:14})]}),p&&m.jsxs(m.Fragment,{children:[O.flatMap(w=>{const R=w.lanUrl;return(R?["lan","tunnel"]:["tunnel"]).map(D=>{const ct=D==="tunnel"&&!w.online;return m.jsxs("button",{className:"mb-sheet-row us-row","aria-disabled":ct||void 0,onClick:()=>ji(D==="lan"?Li(R):gf(w.id)),children:[m.jsx("span",{className:"us-row-icon",children:Oi(w)}),m.jsxs("span",{className:"us-row-main",children:[m.jsxs("span",{className:"us-row-title",children:[m.jsx("span",{className:"us-row-name",children:w.name}),m.jsx("em",{className:"us-pill muted",children:t(D==="lan"?"unit.viaLan":"unit.viaTunnel")}),ct&&m.jsx("em",{className:"us-pill muted",children:t("unit.offline")})]}),m.jsx("span",{className:"us-row-sub",children:t(D==="lan"?"unit.deviceLanDesc":"unit.mobileTunnel")})]}),m.jsx("span",{className:"us-row-end",children:m.jsx(Mi,{size:15})})]},`${w.id}:${D}`)})}),m.jsxs("div",{className:"us-addr",children:[m.jsx("div",{className:"us-addr-desc",children:t("unit.byAddressDesc")}),m.jsxs("div",{className:"us-addr-row",children:[m.jsx("input",{value:g,onChange:w=>S(w.target.value),onKeyDown:w=>{w.key==="Enter"&&Y()},placeholder:"http://<ip>:<port>",inputMode:"url"}),m.jsx("button",{className:"us-btn",onClick:Y,children:t("unit.byAddress")})]})]})]})]}),m.jsxs("section",{className:"us-section","data-this-phone":!0,children:[m.jsx("div",{className:"us-section-title",children:t("unitm.thisPhone")}),m.jsxs("div",{className:"us-self",children:[m.jsx("span",{className:"us-row-icon",children:m.jsx(wn,{size:18})}),m.jsx("span",{className:"us-self-text",children:r?.relay==="native_only"?t("unitm.nativeOnly"):r?.registered?t("unitm.registeredAs",{name:r.name||""}):t("unitm.notRegistered")}),r?.registered&&!y&&m.jsx("button",{className:"us-btn danger",onClick:()=>v(!0),children:t("unitm.forget")})]}),y&&m.jsxs("div",{className:"us-confirm",role:"alertdialog",children:[m.jsx("span",{children:t("unitm.forgetConfirm")}),m.jsxs("span",{className:"us-confirm-actions",children:[m.jsx("button",{className:"us-btn",onClick:()=>v(!1),children:t("common.cancel")}),m.jsx("button",{className:"us-btn danger",onClick:G,children:t("unitm.forgetDo")})]})]})]})]})]})})}function wf(){x.useEffect(()=>{const t=async()=>{if(!(!window.tangu?.mobile||et.getState().connState!=="ok"))try{(await ua(ha())).added&&(os.getState().refreshList(),os.getState().refreshUnread())}catch{}};t();const e=window.setInterval(t,5*6e4);let n=et.getState().connState;const s=et.subscribe(r=>{r.connState==="ok"&&n!=="ok"&&t(),n=r.connState}),i=()=>{document.hidden||t()};return document.addEventListener("visibilitychange",i),()=>{window.clearInterval(e),s(),document.removeEventListener("visibilitychange",i)}},[])}function Tf(){x.useEffect(()=>{if(!window.tangu?.mobile)return;const t=Me.addListener("backButton",()=>{const e=new Event("forsion:mobile-back",{cancelable:!0});if(window.dispatchEvent(e),e.defaultPrevented)return;const n=et.getState();if(n.onboarding)return;if(Bi(Ye.getState().webOpen,n.activeId)){Ye.getState().closeWeb();return}if(n.marketOpen){n.closeMarket();return}if(n.settingsOpen){n.closeSettings();return}const s=ss.getState(),i=da();if(i&&s.leftVisible){Me.minimizeApp();return}if(s.leftVisible){s.toggleSidebar("left");return}if(s.rightVisible){s.toggleSidebar("right");return}const r=s.mainTabs.find(o=>o.active);if(r){const o=is.getState().stacks[r.id];if(o&&o.idx>0){is.getState().back(r.id);return}if(i){s.toggleSidebar("left");return}if(r.type!=="home"&&r.type!=="homepage"){s.closeLeaf(r.id);const a=ss.getState().mainTabs.find(l=>l.active);if(a?.id!==r.id||a.type!==r.type)return}}Me.minimizeApp()});return()=>{t.then(e=>e.remove())}},[])}const Sf={mode:"hidden"};function Pf(){Ir(),wf(),Tf(),x.useEffect(()=>{Ta()},[]),x.useEffect(()=>{if(!ns())return;const l=window.setTimeout(()=>{na()},1200);return()=>window.clearTimeout(l)},[]);const t=Ni(),e=sa();Fr();const n=et(Ed(l=>({sessions:l.sessions,archivedSessions:l.archivedSessions,activeId:l.activeId,settingsOpen:l.settingsOpen,settingsTab:l.settingsTab,marketOpen:l.marketOpen,onboarding:l.onboarding,setOnboarding:l.setOnboarding,achievementsOpen:l.achievementsOpen,cfg:l.cfg,closeSettings:l.closeSettings,patchConfig:l.patchConfig,connect:l.connect}))),s=n.sessions.find(l=>l.id===n.activeId)||n.archivedSessions.find(l=>l.id===n.activeId)||null,i=Wt(l=>l.open),r=Ye(l=>Bi(l.webOpen,n.activeId));ia(n.onboarding||n.achievementsOpen||i||r?Sf:null);const o=oa(),a=ra(l=>l.items.find(c=>c.id==="rb-account"))?.component;return m.jsxs(m.Fragment,{children:[m.jsx("div",{className:"shell-host",children:m.jsx(aa,{dark:e.mode==="dark",buildDefault:Nr})}),o&&a&&m.jsx("div",{hidden:!0,children:m.jsx(a,{expanded:!1})}),ns()&&m.jsx(Br,{}),m.jsx(la,{}),m.jsx(Pa,{}),m.jsx(zr,{}),m.jsx(bf,{}),m.jsx(Zt,{children:n.achievementsOpen&&m.jsx(te.div,{style:{position:"fixed",inset:0,zIndex:50,display:"flex",minWidth:0,minHeight:0,overflow:"hidden",background:"var(--bg)"},initial:{opacity:0,scale:.985},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.985},transition:{duration:.22,ease:[.2,.8,.2,1]},children:m.jsx(Ur,{})},"achievements")}),m.jsx(Zt,{children:n.marketOpen&&m.jsx(te.div,{"data-mobile-market":!0,style:{position:"fixed",inset:0,zIndex:50,display:"flex",minWidth:0,minHeight:0,overflow:"hidden",background:"var(--bg)"},initial:{opacity:0,scale:.985},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.985},transition:{duration:.22,ease:[.2,.8,.2,1]},children:m.jsx(Wr,{onClose:()=>et.getState().closeMarket()})},"market")}),m.jsx(Zt,{children:n.settingsOpen&&m.jsx(te.div,{style:{position:"fixed",inset:0,zIndex:50,display:"flex",minWidth:0,minHeight:0,overflow:"hidden",background:"var(--bg)"},initial:{opacity:0,scale:.985},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.985},transition:{duration:.22,ease:[.2,.8,.2,1]},children:m.jsx(_r,{open:!0,initialTab:n.settingsTab??void 0,cfg:n.cfg,activeSession:s,themeLang:t.lang,themeSkin:t.skin,themeMode:t.mode,themeModePref:t.modePref,flatOn:t.flat,glassOn:t.glass,themeSeed:t.seed,onClose:()=>n.closeSettings(),onConfigChange:n.patchConfig,onThemeChange:(l,c,u)=>t.setTheme(l,c,t.bg,u),onFlatChange:t.setFlat,onGlassChange:l=>t.setGlass(l),onSeedChange:l=>t.setSeedValue(l),onReloadThemes:()=>t.reloadThemes(),onReconnect:l=>{n.connect({...n.cfg,...l||{}})}})},"settings")}),m.jsx(Zt,{children:n.onboarding&&m.jsx(te.div,{style:{position:"fixed",inset:0,zIndex:60,background:"var(--bg)"},initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,scale:1.06},transition:{duration:.45,ease:[.2,.8,.2,1]},children:m.jsx(ca,{themeLang:t.lang,themeSkin:t.skin,themeMode:t.mode,themeModePref:t.modePref,themeSeed:t.seed,onThemeChange:(l,c,u)=>t.setTheme(l,c,t.bg,u),onSeedChange:l=>t.setSeedValue(l),onReconnect:()=>{},onFinish:()=>n.setOnboarding(!1)})},"onboarding")}),m.jsx($r,{page:!0}),!n.settingsOpen&&!n.marketOpen&&!n.onboarding&&m.jsx(Kr,{}),m.jsx(Hr,{onOpen:()=>et.getState().openAchievements()}),m.jsx(Gr,{})]})}function ke(t){const e=async()=>{throw new Error(`Capacitor plugin "${t}" 在浏览器里不可用`)};return new Proxy({},{get:()=>e})}ke("SpaceShortcuts");ke("LiveIsland");bt({"island.channel":{zh:"Agent 运行状态",en:"Agent activity"},"island.untitled":{zh:"新会话",en:"New chat"},"island.thinking":{zh:"思考中…",en:"Thinking…"},"island.writing":{zh:"正在回复…",en:"Writing a reply…"},"island.tool":{zh:"正在执行 {tool}",en:"Running {tool}"},"island.approval":{zh:"等你批准:{tool}",en:"Needs your approval: {tool}"},"island.inquiry":{zh:"有个问题等你回答",en:"Waiting for your answer"},"island.chipApproval":{zh:"待审批",en:"Approve"},"island.chipInquiry":{zh:"待回答",en:"Reply"},"island.more":{zh:"另有 {n} 个在跑",en:"{n} more running"},"island.done":{zh:"已完成",en:"Done"},"island.failed":{zh:"运行出错",en:"Failed"},"island.stopped":{zh:"已停止",en:"Stopped"},"island.allow":{zh:"允许",en:"Allow"},"island.deny":{zh:"拒绝",en:"Deny"},"island.eventsChannel":{zh:"消息与提醒",en:"Messages and reminders"}});ke("NativeModelPicker");bt({"nativebar.badge.running":{zh:"有会话在运行",en:"A session is running"},"nativebar.badge.attention":{zh:"有会话等你处理",en:"A session is waiting for you"},"nativebar.badge.unread":{zh:"有未读",en:"Unread"}});bt({"mobile.files.skipped":{zh:"有 {n} 个文件太大、太多或无法读取,没有添加:{names}",en:"{n} file(s) were too large, too many or unreadable and were not added: {names}"},"mobile.files.cameraDenied":{zh:"没有相机权限,无法拍照。可以在系统设置里允许 Forsion 使用相机。",en:"Camera access is off, so no photo was taken. You can allow it for Forsion in system settings."},"mobile.files.noCamera":{zh:"相机打不开。",en:"The camera could not be opened."},"mobile.files.noPicker":{zh:"系统的选择器打不开。",en:"The system picker could not be opened."}});bt({"mobile.share.title":{zh:"分享到 Forsion",en:"Share to Forsion"},"mobile.share.newChat":{zh:"发到新会话",en:"Send to a new chat"},"mobile.share.toSession":{zh:"发到「{name}」",en:"Send to “{name}”"},"mobile.share.toNote":{zh:"存为笔记",en:"Save as a note"},"mobile.share.note":{zh:"发到会话 = 放进输入框,由你来发。",en:"A chat gets it in the message box — you press send."},"mobile.share.files":{zh:"{n} 个文件",en:"{n} file(s)"},"mobile.share.saved":{zh:"已存为笔记「{name}」",en:"Saved as the note “{name}”"},"mobile.share.saveFailed":{zh:"没能存为笔记:{reason}",en:"Couldn’t save the note: {reason}"},"mobile.share.nameTaken":{zh:"同名笔记太多",en:"too many notes with that name"}});bt({"phone.row.label":{zh:"允许 Tangu 操作这台手机",en:"Allow Tangu to operate this phone"},"phone.row.hint":{zh:"在这台手机上发起的对话里,Tangu 可以打开 App 和链接、导航、设闹钟与计时、控制媒体和手电筒,并起草短信、邮件、电话和日程;发送、拨打、保存始终由你来按。",en:"In chats started on this phone, Tangu can open apps and links, start navigation, set alarms and timers, control media and the flashlight, and draft messages, emails, calls and events. Sending, calling and saving are always up to you."},"phone.row.privacy":{zh:"指令与草稿内容会经过 Forsion 云端,并保存在对话记录里。",en:"Commands and draft text pass through Forsion cloud and are stored in the conversation."}});ke("PhoneControl");bt({"phone.native.enableTitle":{zh:"让 Tangu 操作这台手机?",en:"Let Tangu operate this phone?"},"phone.native.enableBody":{zh:`打开后,在这台手机上发起的对话里,Tangu 可以打开 App 和链接、导航、设闹钟与计时、控制媒体和手电筒,并替你起草短信、邮件、电话和日程——发送、拨打、保存始终由你来按。
|
|
10
|
+
|
|
11
|
+
指令与草稿内容会经过 Forsion 云端,并保存在对话记录里。随时可在设置里关闭。`,en:`When on, in chats started on this phone Tangu can open apps and links, start navigation, set alarms and timers, control media and the flashlight, and draft messages, emails, calls and events. You always press send, call or save yourself.
|
|
12
|
+
|
|
13
|
+
Commands and draft text pass through Forsion cloud and are stored in the conversation. You can turn this off in Settings at any time.`},"phone.native.enableConfirm":{zh:"允许",en:"Allow"},"phone.native.cancel":{zh:"取消",en:"Cancel"},"phone.native.confirmTitle":{zh:"打开其他 App?",en:"Open another app?"},"phone.native.confirmBody":{zh:"Tangu 想打开 {app}({target})。",en:"Tangu wants to open {app} ({target})."},"phone.native.confirmAllow":{zh:"打开",en:"Open"},"phone.native.confirmDeny":{zh:"拒绝",en:"Deny"}});window.addEventListener("error",t=>{console.error("[tangu-mobile] window error:",t.error||t.message)});window.addEventListener("unhandledrejection",t=>{console.error("[tangu-mobile] unhandledrejection:",t.reason)});try{document.documentElement.lang=Dr()==="zh"?"zh-CN":"en"}catch{}let Vr,Er=null;try{Vr=localStorage.getItem("forsion_theme_seed")||void 0}catch{}try{Er=localStorage.getItem("forsion_theme_lang")}catch{}try{fa(ma(),pa(),ga(),ya(),{customColor:Vr}),va(),document.documentElement.style.removeProperty("background"),Ni.getState().initThemes(Er),et.getState().setTr(jr),Yr(),xa(),Xr(),ba(),yf()}catch(t){console.error("[tangu-mobile] init failed, continue to mount:",t),wa("init",t)}Or.createRoot(document.getElementById("root")).render(m.jsx(Lr,{children:m.jsx(Sa,{children:m.jsx(Pf,{})})}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{R as w,t as b,r as L}from"./index-Bh_nLVTc.js";const z=e=>{let n;const s=new Set,l=(u,a)=>{const f=typeof u=="function"?u(n):u;if(!Object.is(f,n)){const y=n;n=a??(typeof f!="object"||f===null)?f:Object.assign({},n,f),s.forEach(E=>E(n,y))}},t=()=>n,d={setState:l,getState:t,getInitialState:()=>c,subscribe:u=>(s.add(u),()=>s.delete(u))},c=n=e(l,t,d);return d},q=(e=>e?z(e):z),C=e=>e;function F(e,n=C){const s=w.useSyncExternalStore(e.subscribe,w.useCallback(()=>n(e.getState()),[e,n]),w.useCallback(()=>n(e.getInitialState()),[e,n]));return w.useDebugValue(s),s}const K=e=>{const n=q(e),s=l=>F(n,l);return Object.assign(s,n),s},k=(e=>e?K(e):K),I=[{id:"system.generic",labelKey:"ntf.event.system",defaultOn:!0},{id:"sync.error",labelKey:"ntf.event.syncError",defaultOn:!0},{id:"sync.done",labelKey:"ntf.event.syncDone",defaultOn:!0},{id:"sync.doneOnline",labelKey:"ntf.event.syncDoneOnline",defaultOn:!1},{id:"agent.done",labelKey:"ntf.event.agentDone",defaultOn:!0},{id:"inbox.message",labelKey:"ntf.event.inbox",defaultOn:!0},{id:"note.reminder",labelKey:"ntf.event.noteReminder",defaultOn:!0},{id:"harness.candidates",labelKey:"ntf.event.harnessCandidates",defaultOn:!0},{id:"memory.projectCandidates",labelKey:"ntf.event.projectCandidates",defaultOn:!0},{id:"memory.projectCompacted",labelKey:"ntf.event.projectCompacted",defaultOn:!0}];function R(e){const n=I.find(s=>s.id===e);return n?n.defaultOn:!0}const N=4,B={success:3200,info:5e3,warning:8e3,error:0},U=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?Math.min(e,12e4):void 0,D=e=>e.durationMs??B[e.level],T="forsion.ntf.prefs";function P(){try{const e=localStorage.getItem(T);if(e)return{enabled:!0,osEnabled:!0,events:{},...JSON.parse(e)}}catch{}return{enabled:!0,osEnabled:!0,events:{}}}function M(e){try{localStorage.setItem(T,JSON.stringify(e))}catch{}}function V(e){return typeof window>"u"||!window.tangu?.mobile||!/Failed to fetch/i.test(e)?e:e.replace(/(?:TypeError:\s*)?Failed to fetch/gi,b("net.unavailable"))}const m=new Map;function O(e){const n=m.get(e);n?.handle&&clearTimeout(n.handle),m.delete(e)}let Y=0;const J=k((e,n)=>{const s=(t,o)=>{if(O(t),!(o<=0)){if(n().paused){m.set(t,{handle:null,deadline:0,remaining:o});return}m.set(t,{handle:setTimeout(()=>n().dismiss(t),o),deadline:Date.now()+o,remaining:0})}},l=t=>{try{t?.onClose?.()}catch{}};return{items:[],queue:[],prefs:P(),paused:!1,notify:t=>{const o=t.level&&["info","success","warning","error"].includes(t.level)?t.level:"info",i=t.event??"system.generic",d=n();if(!t.force&&!t.receipt&&(!d.prefs.enabled||!(d.prefs.events[i]??R(i))))return null;const c=t.sticky??o==="error",u=U(t.durationMs),a=V(String(t.text??"")).slice(0,500),f=t.title?String(t.title).slice(0,120):void 0;if(t.dedupeKey){const r=d.items.find(h=>h.dedupeKey===t.dedupeKey)||d.queue.find(h=>h.dedupeKey===t.dedupeKey);if(r){const h=d.items.some(p=>p.id===r.id),g={...r,text:a,title:f??r.title,level:o,count:r.count+1,createdAt:Date.now(),sticky:c||r.sticky,action:t.action??r.action,durationMs:u??r.durationMs,onClose:t.onClose??r.onClose};return e(p=>({items:p.items.map(v=>v.id===r.id?g:v),queue:p.queue.map(v=>v.id===r.id?g:v)})),h&&(g.sticky?O(r.id):s(r.id,D(g))),r.id}}const y={id:`ntf-${++Y}-${Date.now()}`,text:a,title:f,level:o,event:i,sourceLabel:t.sourceLabel,createdAt:Date.now(),sticky:c,count:1,dedupeKey:t.dedupeKey,action:t.action,durationMs:u,onClose:t.onClose},E=typeof document<"u"&&(!document.hasFocus()||document.visibilityState==="hidden");if(!t.inAppOnly&&!t.receipt&&d.prefs.osEnabled&&E){const r=f||t.sourceLabel||"Forsion";try{window.tangu?.notify?.(r,a,{event:i})}catch{}}return d.items.length<N?(e(r=>({items:[...r.items,y]})),c||s(y.id,D(y))):e(r=>({queue:[...r.queue,y]})),y.id},dismiss:t=>{O(t);const o=n(),i=o.items.find(a=>a.id===t)||o.queue.find(a=>a.id===t);let d=o.items.filter(a=>a.id!==t),c=o.queue.filter(a=>a.id!==t);if(d.length===o.items.length&&c.length===o.queue.length)return;const u=[];for(;d.length<N&&c.length;){const a=c[0];c=c.slice(1),d=[...d,a],u.push(a)}e({items:d,queue:c});for(const a of u)a.sticky||s(a.id,D(a));l(i)},dismissAll:()=>{for(const i of[...m.keys()])O(i);const{items:t,queue:o}=n();e({items:[],queue:[]});for(const i of[...t,...o])l(i)},setEnabled:t=>{const o={...n().prefs,enabled:t};e({prefs:o}),M(o)},setOsEnabled:t=>{const o={...n().prefs,osEnabled:t};e({prefs:o}),M(o)},setEventOn:(t,o)=>{const i={...n().prefs,events:{...n().prefs.events,[t]:o}};e({prefs:i}),M(i)},pause:()=>{if(!n().paused){e({paused:!0});for(const[t,o]of m)o.handle&&(clearTimeout(o.handle),m.set(t,{handle:null,deadline:0,remaining:Math.max(800,o.deadline-Date.now())}))}},resume:()=>{if(n().paused){e({paused:!1});for(const[t,o]of m)if(!o.handle){const i=o.remaining||1500;m.set(t,{handle:setTimeout(()=>n().dismiss(t),i),deadline:Date.now()+i,remaining:0})}}}}}),W=e=>J.getState().notify(e),S=50*1024*1024;L({"nativedl.saved":{zh:"已保存到「下载」:{name}",en:"Saved to Downloads: {name}"},"nativedl.tooLarge":{zh:"文件太大({size} MB),手机上一次最多保存 {max} MB",en:"File is too large ({size} MB); the phone can save up to {max} MB at a time"},"nativedl.unsupportedOs":{zh:"保存到「下载」需要 Android 10 及以上",en:"Saving to Downloads requires Android 10 or later"},"nativedl.failed":{zh:"保存到「下载」失败:{err}",en:"Could not save to Downloads: {err}"},"hostdl.failed":{zh:"下载失败({status})",en:"Download failed ({status})"},"hostdl.tooLarge":{zh:"文件太大({size} MB),远程下载一次最多 {max} MB",en:"File is too large ({size} MB); remote downloads are limited to {max} MB"},"hostdl.unsupported":{zh:"那台电脑上的 Forsion 版本还不支持远程下载文件",en:"Forsion on that computer does not support remote file downloads yet"}});function _(){return(typeof window<"u"?window.tangu?.saveDownload:void 0)??null}const x=e=>(e/1024/1024).toFixed(1);function j(e){return Object.assign(new Error(b("nativedl.tooLarge",{size:x(e),max:String(S/1024/1024)})),{code:"too_large"})}function X(e){const n=e?.code;if(n==="unsupported_os")return Object.assign(new Error(b("nativedl.unsupportedOs")),{code:n});const s=String(e?.message||e||"");return Object.assign(new Error(b("nativedl.failed",{err:s})),{code:typeof n=="string"?n:void 0})}async function A(e,n,s){const l=Number(s.headers.get("content-length"));if(Number.isFinite(l)&&l>S){try{await s.body?.cancel()}catch{}throw j(l)}const t=await s.blob();if(t.size>S)throw j(t.size);let o;try{o=(await e(n,t.type||"",t)).name||n}catch(i){throw i?.code==="too_large"?j(t.size):X(i)}return W({text:b("nativedl.saved",{name:o}),level:"info",inAppOnly:!0}),o}async function $(e,n){const s=_();if(s){await A(s,e,n);return}const l=await n.blob(),t=document.createElement("a");t.href=URL.createObjectURL(l),t.download=e,t.click(),setTimeout(()=>URL.revokeObjectURL(t.href),5e3)}async function G(e){let n={};try{n=await e.json()}catch{}return e.status===413&&n.code==="HOST_DOWNLOAD_TOO_LARGE"?Object.assign(new Error(b("hostdl.tooLarge",{size:x(Number(n.size)||0),max:String(Math.round((Number(n.limit)||0)/1024/1024))})),{status:413,code:"too_large"}):e.status===501?Object.assign(new Error(b("hostdl.unsupported")),{status:501}):Object.assign(new Error(b("hostdl.failed",{status:e.status})),{status:e.status})}const Q=Object.freeze(Object.defineProperty({__proto__:null,NATIVE_DOWNLOAD_MAX_BYTES:S,hostDownloadError:G,nativeSaveDownload:_,saveResponseAs:$,saveResponseNative:A},Symbol.toStringTag,{value:"Module"}));export{I as N,F as a,Q as b,k as c,R as e,G as h,W as n,$ as s,J as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.t2s-side{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;background:var(--sidebar-bg);font-family:var(--font-ui);color:var(--text);-webkit-app-region:drag}.t2s-side .t2s-search,.t2s-side button,.t2s-side input,.t2s-side [draggable=true],.t2s-side .t2s-scroll{-webkit-app-region:no-drag}.t2s-brand{display:flex;align-items:center;gap:8px;padding:14px 14px 10px;font-size:var(--ui-font-heading, 14px);font-weight:600;color:var(--text)}.t2s-brand-name{letter-spacing:.01em}.t2s-search{display:flex;align-items:center;gap:5.5px;margin:4px 7.5px 6px;padding:5.5px 8.5px;border-radius:var(--radius-pill, 999px);background:var(--overlay-light, rgba(127, 127, 127, .08));color:var(--text-muted)}.t2s-search input{flex:1;min-width:0;border:none;background:transparent;outline:none;color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-body, 13px)}.t2s-dim{opacity:.7;flex-shrink:0}.t2s-side{--t2s-icon: 13px}.t2sw .t2s-side,.t2sw-plug{--t2s-icon: 16.9px}:is(.t2s-side,.t2sw-plug) .t2s-lead{position:relative;flex-shrink:0;width:calc(var(--t2s-icon) + 1.5px);height:calc(var(--t2s-icon) + 1.5px);font-size:var(--t2s-icon);display:inline-flex;align-items:center;justify-content:center}:is(.t2s-side,.t2sw-plug) .t2s-lead .t2s-lead-icon{width:1em;height:1em}.t2s-lead img.t2s-project-icon{display:block;width:1em;height:1em;object-fit:cover;border-radius:3px}.t2s-side .t2s-lead .t2s-lead-chev{position:absolute;inset:0;margin:0;align-items:center;justify-content:center;transition:opacity var(--duration-fast, .15s),transform var(--duration-fast, .15s) var(--ease-out, ease)}.t2s-side .t2s-lead .t2s-lead-chev{opacity:0}@media(hover:hover){.t2s-side .t2s-srow:hover .t2s-lead-chev,.t2s-side .t2s-folder-row:hover .t2s-lead-chev{opacity:.7}.t2s-side .t2s-srow:hover .t2s-lead:has(.t2s-lead-chev)>:not(.t2s-lead-chev),.t2s-side .t2s-folder-row:hover .t2s-lead:has(.t2s-lead-chev)>:not(.t2s-lead-chev){opacity:0}}.t2s-side .t2s-chev{transition:transform var(--duration-fast, .15s) var(--ease-out, ease)}.t2s-side .t2s-chev.open{transform:rotate(90deg)}.t2s-side .t2s-folder-row{gap:5.5px;padding:4.5px;font-size:var(--ui-font-body, 13px);font-weight:600;letter-spacing:normal;text-transform:none}.t2s-side .t2s-group:has(.t2s-folder-row){margin-top:0}.t2s-vaultseg{position:relative;display:flex;height:26px;margin:4px 10px 8px;padding:2px;border-radius:var(--radius-pill, 999px);background:#0000000d;-webkit-app-region:no-drag;flex-shrink:0}:root.dark .t2s-vaultseg{background:#0000003d}.t2s-vaultseg-thumb{position:absolute;top:2px;bottom:2px;left:2px;width:calc((100% - 4px) / var(--seg-n, 2));border-radius:var(--radius-pill, 999px);background:var(--accent-light, var(--overlay-light, rgba(127, 127, 127, .12)));border:none;box-shadow:none;transition:transform .3s cubic-bezier(.32,1.25,.5,1);will-change:transform;transform:translate(calc(var(--seg-i, 0) * 100%))}.t2s-vaultseg-thumb[data-side=cloud],.t2s-vaultseg-thumb[data-side=canvas],.t2s-vaultseg-thumb[data-side=work]{transform:translate(100%)}.t2s-vaultseg button{position:relative;z-index:1;flex:1 1 0;min-width:0;border:none;background:none;border-radius:var(--radius-pill, 999px);font-family:var(--font-ui);font-size:var(--ui-font-meta, 12px);font-weight:500;letter-spacing:.02em;color:var(--text-faint, var(--text-muted));cursor:pointer;transition:color .25s var(--ease-out, ease)}.t2s-vaultseg button.on{color:var(--accent-ink, var(--accent, var(--text)))}.t2s-vaultseg[data-busy] button{cursor:default}.t2s-vaultseg-hint{margin:0 12px 8px;font-size:var(--ui-font-caption, 11px);line-height:1.5;color:var(--text-muted)}.t2s-vaultseg-login{display:inline-block;margin-left:6px;padding:1px 8px;border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-pill, 999px);background:var(--surface, transparent);color:var(--accent-ink, var(--accent));font-size:var(--ui-font-caption, 11px);cursor:pointer;-webkit-app-region:no-drag}.t2s-vaultseg-login:hover{background:var(--accent-light)}.t2sf-tree{display:flex;flex-direction:column;padding:1.5px 0 4.5px}.t2sf-row{display:flex;align-items:center;gap:5.5px;width:100%;padding:4.5px 6px 4.5px 14px;text-align:left;border-radius:var(--radius-sm, 8px);color:var(--text);font-size:var(--ui-font-body, 13px);cursor:pointer;transition:background var(--duration-fast, .15s)}.t2sf-row:hover{background:var(--overlay-light, rgba(127, 127, 127, .08))}.t2sf-fic{flex-shrink:0;color:var(--text-muted)}.t2sf-file .t2sf-fic{color:var(--text-faint, var(--text-muted))}.t2sf-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2sf-size{flex-shrink:0;font-size:var(--ui-font-caption, 11px);color:var(--text-faint, var(--text-muted))}.t2sf-row-act{width:24px;height:24px;margin:-3px -2px -3px 0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:none;background:transparent;color:var(--text-faint, var(--text-muted));border-radius:var(--radius-sm, 6px);cursor:pointer;transition:background var(--duration-fast, .15s),color var(--duration-fast, .15s)}.t2sf-row-act:hover{background:var(--overlay-light, rgba(127, 127, 127, .12));color:var(--text)}.t2sf-loading{font-size:var(--ui-font-meta, 12px);color:var(--text-faint, var(--text-muted));padding:2.5px 6px}.t2sf-empty{font-size:var(--ui-font-meta, 12px);color:var(--text-faint, var(--text-muted));padding:3px 6px 3px 30px}.t2sf-showall{display:flex;align-items:center;gap:4px;width:100%;margin-top:6px;padding:3.5px 6px;border:none;background:transparent;cursor:pointer;font:inherit;font-size:var(--ui-font-meta, 12px);text-align:left;color:var(--text-faint, var(--text-muted));border-radius:var(--radius-sm, 6px)}.t2sf-showall:hover{background:var(--overlay-light);color:var(--text)}.t2sf-showall-n{margin-left:auto;font-variant-numeric:tabular-nums;opacity:.8}.t2sf-row.sel{background:var(--overlay-medium)}.t2sf-row.drop,.t2s-group.drop{background:var(--accent-light);box-shadow:inset 0 0 0 1px var(--accent-ink);border-radius:var(--radius-sm, 8px)}.t2sf-input{display:block;width:calc(100% - 32px);margin:1.5px 6px 1.5px 0;padding:1.5px 4.5px;font-size:var(--ui-font-body, 13px);color:var(--text);background:var(--bg-card);border:1px solid var(--accent-ink);border-radius:var(--radius-sm, 8px);outline:none}.t2s-scroll{flex:1;min-height:0;overflow-y:auto;padding:1.5px 6px 9px}.t2s-foot{flex:0 0 auto;-webkit-app-region:no-drag;border-top:var(--border-width, 1px) solid var(--border);padding:3px 6px 6px;max-height:45vh;overflow-y:auto}.t2s-hint{padding:7.5px;font-size:var(--ui-font-meta, 12px);color:var(--text-muted)}.t2s-special-group{display:flex;flex-direction:column;gap:1px;margin-bottom:6px}.t2s-special{display:flex;align-items:center;gap:7px;width:100%;padding:6px 7.5px;border:none;background:transparent;color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-body, 13px);text-align:left;border-radius:var(--radius-md, 12px);cursor:pointer;transition:background var(--duration-fast, .15s)}.t2s-special:hover{background:var(--overlay-light, rgba(127, 127, 127, .08))}.t2s-special.active{background:color-mix(in srgb,var(--accent-ink) 12%,transparent)}.t2s-special-ic{display:inline-flex;color:var(--text-muted);flex-shrink:0}.t2s-side .t2s-special-ic>svg{width:var(--t2s-icon, 13px);height:var(--t2s-icon, 13px)}.t2s-special.active .t2s-special-ic{color:var(--accent-ink)}.t2s-special-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2s-special-go{display:inline-flex;color:var(--text-faint, var(--text-muted));opacity:.6;border-radius:var(--radius-sm, 6px)}.t2s-special-go:hover{opacity:1;background:var(--overlay-light, rgba(127, 127, 127, .12))}.t2s-group{display:flex;align-items:center;gap:1.5px;margin-top:4.5px;border-radius:var(--radius-sm, 6px);position:relative}.t2s-group.drag-over:before{content:"";position:absolute;left:4px;right:4px;top:-4px;height:3px;border-radius:var(--radius-pill, 999px);background:var(--accent-ink);z-index:3}.t2s-group.drag-over.below:before{top:auto;bottom:-4px}.t2s-group-sessions.drag-over-end{position:relative}.t2s-group-sessions.drag-over-end:after{content:"";position:absolute;left:4px;right:4px;bottom:-2px;height:3px;border-radius:var(--radius-pill, 999px);background:var(--accent-ink);z-index:3}.t2s-group.dragging{opacity:.4}.t2s-group-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:4px;padding:4px 4.5px;border:none;background:transparent;color:var(--text-muted);font-family:var(--font-ui);font-size:var(--ui-font-caption, 11px);font-weight:600;letter-spacing:.03em;text-transform:uppercase;text-align:left;cursor:pointer;border-radius:var(--radius-sm, 6px)}.t2s-group-toggle:hover{color:var(--text)}.t2s-group-toggle.active{color:var(--accent-ink)}.t2s-chev{display:inline-flex;opacity:.7;flex-shrink:0;cursor:pointer}.t2s-group-name{display:inline-flex;align-items:center;gap:4px;flex:1;min-width:0;white-space:nowrap}.t2s-group-name>svg{flex-shrink:0}.t2s-group-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2s-count{flex-shrink:0;font-size:var(--ui-font-caption, 11px);font-weight:600;color:var(--text-faint, var(--text-muted));background:var(--overlay-light, rgba(127, 127, 127, .1));border-radius:var(--radius-pill, 999px);padding:0 4.5px;line-height:16px}.t2s-mini-dot{width:6px;height:6px;border-radius:50%;background:var(--text-faint, var(--text-muted));opacity:.5}.t2s-mini-dot.ok{background:var(--green);opacity:1}.t2s-group-add{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-faint, var(--text-muted));border-radius:var(--radius-sm, 6px);cursor:pointer;flex-shrink:0;opacity:0;transition:opacity var(--duration-fast, .15s),background var(--duration-fast, .15s),color var(--duration-fast, .15s)}.t2s-group:hover .t2s-group-add{opacity:.7}.t2s-group-add:hover{opacity:1;background:var(--overlay-light, rgba(127, 127, 127, .12));color:var(--text)}.t2s-group-sessions{display:flex;flex-direction:column;gap:1px;padding-bottom:1.5px}.t2s-srow{position:relative;display:flex;align-items:center;gap:5.5px;width:100%;padding:4.5px 6px 4.5px 14px;border:none;background:transparent;color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-body, 13px);text-align:left;border-radius:var(--radius-sm, 6px);cursor:pointer;transition:background var(--duration-fast, .15s)}.t2s-srow:hover{background:var(--overlay-light, rgba(127, 127, 127, .08))}.t2s-srow.sel{background:var(--overlay-medium)}.t2s-srow.active{background:color-mix(in srgb,var(--accent-ink) 12%,transparent)}.t2s-srow.active:before{content:"";position:absolute;left:4.5px;top:5.5px;bottom:5.5px;width:2px;border-radius:2px;background:var(--accent-ink)}.t2s-srow-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2s-faint{color:var(--text-faint, var(--text-muted))}.t2s-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.t2s-lead .t2s-dot{position:absolute;right:-1px;bottom:-1px;box-shadow:0 0 0 1.5px var(--sidebar-bg)}.t2s-dot.running{background:var(--accent-ink);animation:t2s-pulse 1.4s ease-in-out infinite}.t2s-dot.unread{background:var(--accent-ink);opacity:.6}.t2s-dot.attention{background:var(--warning)}@keyframes t2s-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.t2s-srow-menu{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-sm, 6px);flex-shrink:0;color:var(--text-faint, var(--text-muted));opacity:0;transition:opacity var(--duration-fast, .15s),background var(--duration-fast, .15s)}.t2s-srow:hover .t2s-srow-menu{opacity:.7}.t2s-srow-menu:hover{opacity:1;background:var(--overlay-light, rgba(127, 127, 127, .12))}.t2s-rename{flex:1;min-width:0;background:var(--bg-card, var(--bg));color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-body, 13px);border:var(--border-width, 1px) solid var(--accent-ink);border-radius:var(--radius-sm, 8px);padding:1.5px 4.5px;outline:none}.t2s-viewmore{margin:1.5px 0 0 14px;padding:3px 6px;border:none;background:transparent;color:var(--text-muted);font-family:var(--font-ui);font-size:var(--ui-font-body, 13px);text-align:left;cursor:pointer;border-radius:var(--radius-sm, 6px)}.t2s-viewmore:hover{background:var(--overlay-light, rgba(127, 127, 127, .08));color:var(--text)}.t2s-add-ws{display:flex;align-items:center;gap:5.5px;width:100%;margin-top:6px;padding:6px 7.5px;border:1px dashed var(--border);background:transparent;color:var(--text-muted);font-family:var(--font-ui);font-size:var(--ui-font-body, 13px);border-radius:var(--radius-md, 12px);cursor:pointer;transition:border-color var(--duration-fast, .15s),color var(--duration-fast, .15s)}.t2s-add-ws:hover{border-color:var(--accent-ink);color:var(--text)}.t2s-archived-toggle{margin-top:4.5px;padding-left:6px}.t2sw{display:flex;flex-direction:column;height:100%;min-height:0}.t2sw-mode-slot{position:relative;z-index:6;flex:0 0 36px;min-height:36px}.t2sw-mode-picker{position:absolute;top:6px;left:6px;right:6px;border-radius:var(--radius-md, 10px);background:var(--overlay-subtle, rgba(127, 127, 127, .04));transition:background .18s var(--ease-out, ease-out),box-shadow .22s var(--ease-spring, ease-out)}.t2sw-mode-picker.is-open{background:var(--bg-card, var(--bg));box-shadow:var(--card-shadow)}.t2sw-mode-trigger{display:flex;align-items:center;gap:7px;width:100%;min-height:var(--menu-item-min-height, 28px);padding:var(--menu-item-pad-block, 4px) var(--menu-item-pad-inline, 8px);border:var(--border-width, 1px) solid transparent;border-radius:inherit;outline:none;background:transparent;color:var(--text-light, var(--text));font-family:var(--font-ui);font-size:var(--ui-font-meta, 12px);text-align:left;transition:background .18s var(--ease-out, ease-out),color .18s var(--ease-out, ease-out)}.t2sw-mode-trigger:hover,.t2sw-mode-trigger:focus-visible{background:var(--overlay-light, rgba(127, 127, 127, .08));color:var(--text)}.t2sw-mode-trigger.is-open{background:transparent;color:var(--text)}.t2sw-mode-trigger>svg{flex:none;color:var(--text-muted);transition:transform .22s var(--ease-spring, ease-out)}.t2sw-mode-trigger.is-open>svg{transform:rotate(180deg)}.t2sw-mode-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2sw-auto-now{opacity:.7;margin-left:3px}.t2sw-mode-reveal{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:grid-template-rows .22s var(--ease-spring, ease-out),opacity .12s ease,transform .22s var(--ease-spring, ease-out),visibility 0s linear .22s}.t2sw-mode-reveal.is-open{grid-template-rows:1fr;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}.t2sw-mode-clip{min-height:0;overflow:hidden}.t2sw-mode-menu{max-height:min(320px,calc(100vh - 64px));overflow-y:auto;padding:0 var(--menu-shell-padding, 4px) var(--menu-shell-padding, 4px)}.t2sw-mode-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:var(--menu-item-min-height, 28px);padding:var(--menu-item-pad-block, 4px) var(--menu-item-pad-inline, 8px);border:none;border-radius:var(--radius-md, 8px);outline:none;background:transparent;color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-meta, 12px);text-align:left;cursor:pointer}.t2sw-mode-item:hover{background:var(--menu-hover, rgba(127, 127, 127, .12))}.t2sw-mode-item .project-menu-name{flex:1}.project-menu-item.t2sw-mode-item.is-selected{background:var(--accent-light);color:var(--accent-ink)}.project-menu-item.t2sw-mode-item:focus-visible{outline:none;background:var(--menu-hover, rgba(127, 127, 127, .12));color:var(--text)}.project-menu-item.t2sw-mode-item.is-selected:focus-visible{background:var(--accent-light);color:var(--accent-ink)}.t2sw-mode-item .project-menu-check{display:inline-flex;width:14px;justify-content:center}@media(prefers-reduced-motion:reduce){.t2sw-mode-picker,.t2sw-mode-trigger,.t2sw-mode-trigger>svg,.t2sw-mode-reveal{transition:none}}.t2sw-body{display:flex;flex-direction:column;flex:1;min-height:0}.t2sw-body>*{flex:1;min-height:0}.t2sw .t2s-side{background:transparent}.t2sw-empty{padding:18px 12px;color:var(--text-muted);font-size:var(--ui-font-meta, 12px)}.t2sw,.t2sw *,.t2sw .t2s-vaultseg button{font-weight:400}.t2sw :is(.t2s-srow,.t2s-special).active,.t2sw :is(.t2s-srow,.t2s-special).active *{font-weight:500}.t2sw .t2s-special:not(.active),.t2sw .t2s-group-name{color:var(--text-muted)}.t2sw .t2s-special:not(.active):hover{color:var(--text)}.t2s-deep-head{padding-top:10px;font-size:var(--ui-font-caption, 11px);letter-spacing:.04em;color:var(--text-faint)}.t2s-srow.t2s-deep{align-items:flex-start;height:auto;padding-top:6px;padding-bottom:6px}.t2s-deep-col{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.t2s-deep-snip{font-size:var(--ui-font-caption, 11px);line-height:1.45;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.t2s-deep-date{font-size:var(--ui-font-caption, 11px);color:var(--text-faint);flex-shrink:0;margin-left:6px}.t2sw-plug{display:flex;flex-direction:column;min-height:0;flex:1}.t2sw-plug-list{flex:1 1 auto;min-height:0;overflow-y:auto}.t2sw-plug-list.amx-drop-into{box-shadow:inset 0 0 0 1.5px var(--accent, #6c5ce7);border-radius:var(--radius-sm, 6px)}.t2sw-plug-toolbar{display:flex;align-items:center;gap:4px;padding:6px 7px 2px;flex-shrink:0}.t2sw-plug-toolbar .t2s-search{flex:1;width:auto;min-width:0;margin:0;padding:5px 8px}.t2sw-plug-toolbar .t2s-search input{min-width:0;width:100%}.t2sw-plug-toolbar .t2s-search button{display:flex;flex:none;border:0;padding:0;background:transparent;color:var(--text-muted);cursor:pointer}.t2sw-plug-btn,.t2sw-plug-overflow,.t2sw-plug-filter,.t2sw-plug-reset,.t2sw-plug-row-menu{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:26px;border:0;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text-light);font:inherit;font-size:var(--ui-font-meta, 12px);cursor:pointer}.t2sw-plug-btn{display:block;max-width:42%;padding:3px 8px;flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.t2sw-plug-overflow,.t2sw-plug-reset{flex:none;width:26px;padding:0}.t2sw-plug-filterbar{display:flex;align-items:center;gap:2px;padding:3px 8px 5px;flex-shrink:0;min-width:0}.t2sw-plug-filter{justify-content:flex-start;min-width:0;max-width:75%;padding:3px 5px}.t2sw-plug-filter>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2sw-plug-filter>svg{flex:none}.t2sw-plug-total{margin-left:auto;flex:none;color:var(--text-faint);font-size:var(--ui-font-caption, 11px);font-variant-numeric:tabular-nums}.t2sw-plug-item{position:relative}.t2sw-plug-item .t2s-srow{font-weight:400}.t2sw-plug-item .t2s-srow:is(.active,.is-unread){font-weight:500}.t2sw-plug-item .t2s-srow *{font-weight:inherit}.t2sw-plug-item .t2s-srow.has-actions{padding-right:30px}.t2sw-plug-item .t2s-count{font-weight:400;background:transparent;padding:0;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2sw-plug-row-menu{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-height:24px;width:24px;padding:0;opacity:0}.t2sw-plug-item:hover .t2sw-plug-row-menu,.t2sw-plug-item:focus-within .t2sw-plug-row-menu,.t2sw-plug-row-menu[aria-expanded=true]{opacity:1}:is(.t2sw-plug-btn,.t2sw-plug-overflow,.t2sw-plug-filter,.t2sw-plug-reset,.t2sw-plug-row-menu):is(:hover,[aria-expanded=true]){background:var(--overlay-light);color:var(--text)}@media(hover:none){.t2sw-plug-row-menu{opacity:1}}.t2sw-plug-sec{display:flex;align-items:center;gap:6px;margin:10px 9.5px 2px;font-size:var(--ui-font-caption, 11px);color:var(--text-faint, var(--text-muted))}.t2sw-plug-mini{margin-left:auto;border:none;background:transparent;cursor:pointer;color:inherit;padding:0 4px;border-radius:var(--radius-sm, 6px);font-size:var(--ui-font-meta, 12px)}.t2sw-plug-mini:hover{background:var(--overlay-light, rgba(127, 127, 127, .12));color:var(--text)}.t2sw .t2s-srow,.t2sw .t2sf-row,.t2sw .t2s-folder-row{padding-block:3px}.t2sw .t2s-special,.t2sw .t2s-srow.t2s-deep{padding-block:4px}.t2sw .t2s-group-sessions,.t2sw .t2s-special-group{gap:.65px}.t2s-special-row{display:flex;align-items:center;gap:6px;min-width:0}.t2s-special-row .t2s-special{flex:1;min-width:0}.t2s-side .t2s-vaultseg.t2s-mode{width:94px;height:26px;flex-shrink:0;margin:0 4px 0 0}.t2s-side .t2s-vaultseg.t2s-mode button{padding:0;font-size:var(--ui-font-caption, 11px);line-height:16px}.t2s-flat{padding-top:2px}.t2sw-plug-btn{border:var(--border-width) solid var(--overlay-strong)}.am-app .amx-coverpick{width:min(336px,calc(100vw / var(--uiz, 1) - 24px));max-height:min(380px,calc(100vh / var(--uiz, 1) - 24px));display:flex;flex-direction:column;padding:0;overflow:hidden}.amx-coverpick-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 2px 12px;flex:none;font-weight:600}.am-app .amx-coverpick-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.amx-coverpick-tabs{display:flex;gap:4px;padding:2px 8px 6px;border-bottom:var(--border-width) solid var(--border);flex:none}.am-app .amx-coverpick-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ui-control-height);padding:4px 8px;border:0;border-radius:var(--radius-sm);font:inherit;font-weight:500;color:var(--text-muted);background:transparent;cursor:pointer}.am-app .amx-coverpick-tabs button[aria-selected=true]{color:var(--text);background:var(--menu-hover)}.amx-coverpick-tabs svg,.amx-coverpick-search svg{flex:none;color:var(--text-muted)}.amx-coverpick-panel{min-height:0;overflow:auto;overscroll-behavior:contain}.amx-coverpick-body{padding:10px 12px 12px}.amx-coverpick-search{display:flex;align-items:center;gap:8px;min-height:30px;margin-bottom:10px;padding:3px 4px 3px 10px;border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input)}.am-app .amx-coverpick-search input{flex:1;min-width:0;padding:0;border:0;border-radius:0;outline:none;background:transparent;box-shadow:none;color:var(--text);font:inherit}.amx-coverpick-search:focus-within{border-color:var(--sel-line)}.am-app .amx-coverpick-search input:focus-visible{outline:none;box-shadow:none}.am-app .amx-coverpick-go{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ui-control-height);padding:4px 10px;border:0;border-radius:var(--radius-sm);background:var(--action-fill);color:var(--on-action);font:inherit;font-weight:500;white-space:nowrap;cursor:pointer}.am-app .amx-coverpick-search .amx-coverpick-go{color:var(--text-muted);background:transparent}.am-app .amx-coverpick-go:disabled{opacity:.45;cursor:default}.amx-coverpick-section{margin-bottom:8px;color:var(--text-muted);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.amx-coverpick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.am-app .amx-coverpick-item{min-width:0;display:flex;flex-direction:column;gap:4px;border:0;padding:0;border-radius:var(--radius-sm);background:none;color:var(--text);text-align:left;cursor:pointer}.amx-coverpick-thumb{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:3 / 2;border-radius:var(--radius-sm);overflow:hidden;background:var(--overlay-light);color:var(--text-faint)}.amx-coverpick-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.amx-coverpick-thumb img[hidden]{display:none}.amx-coverpick-item[aria-pressed=true] .amx-coverpick-thumb{outline:var(--focus-ring) solid var(--sel-line);outline-offset:calc(-1 * var(--focus-ring))}.amx-coverpick-selected{position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:20px;height:20px;border-radius:var(--radius-sm);color:var(--on-action);background:var(--action-fill)}.amx-coverpick-cap{max-width:100%;font-size:var(--ui-font-caption);line-height:var(--ui-line-caption);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.amx-coverpick-url{display:flex;flex-direction:column;align-items:stretch;gap:8px}.amx-coverpick-url label{font-size:var(--ui-font-meta);color:var(--text-muted)}.am-app .amx-coverpick-url input{min-width:0;width:100%;min-height:30px;padding:4px 8px;border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font:inherit;outline:none}.am-app .amx-coverpick-url input:is(:focus,:focus-visible){border-color:var(--sel-line);outline:none;box-shadow:none}.amx-coverpick-url .amx-coverpick-go{align-self:flex-end;margin-top:6px}.amx-coverpick-hint{color:var(--text-muted);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.amx-coverpick-upload{display:flex;flex-direction:column;align-items:center;gap:8px;padding-block:16px;text-align:center}.amx-coverpick-upload>svg{color:var(--text-muted)}.amx-coverpick-upload-title{font-weight:500}.amx-coverpick-upload .amx-coverpick-go{margin-top:6px}.am-app .amx-coverpick :is(.amx-coverpick-tabs button,.amx-coverpick-close,.amx-coverpick-search .amx-coverpick-go):hover{background:var(--menu-hover);color:var(--text)}.am-app .amx-coverpick button:focus-visible{outline:var(--focus-ring) solid var(--sel-line);outline-offset:2px;box-shadow:none}.am-app .amx-coverpick-search input:focus-visible{outline:none}@media(max-width:380px){.amx-coverpick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.amx-coverpick-tabs{gap:2px}.am-app .amx-coverpick-tabs button{padding-inline:8px}}
|
|
1
|
+
.t2s-side{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;background:var(--sidebar-bg);font-family:var(--font-ui);color:var(--text);-webkit-app-region:drag}.t2s-side .t2s-search,.t2s-side button,.t2s-side input,.t2s-side [draggable=true],.t2s-side .t2s-scroll{-webkit-app-region:no-drag}.t2s-brand{display:flex;align-items:center;gap:8px;padding:14px 14px 10px;font-size:var(--ui-font-heading, 14px);font-weight:600;color:var(--text)}.t2s-brand-name{letter-spacing:.01em}.t2s-search{display:flex;align-items:center;gap:5.5px;margin:4px 7.5px 6px;padding:5.5px 8.5px;border-radius:var(--radius-pill, 999px);background:var(--overlay-light, rgba(127, 127, 127, .08));color:var(--text-muted)}.t2s-search input{flex:1;min-width:0;border:none;background:transparent;outline:none;color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-body, 13px)}.t2s-dim{opacity:.7;flex-shrink:0}.t2s-side{--t2s-icon: 13px}.t2sw .t2s-side,.t2sw-plug{--t2s-icon: 16.9px}:is(.t2s-side,.t2sw-plug) .t2s-lead{position:relative;flex-shrink:0;width:calc(var(--t2s-icon) + 1.5px);height:calc(var(--t2s-icon) + 1.5px);font-size:var(--t2s-icon);display:inline-flex;align-items:center;justify-content:center}:is(.t2s-side,.t2sw-plug) .t2s-lead .t2s-lead-icon{width:1em;height:1em}.t2s-lead img.t2s-project-icon{display:block;width:1em;height:1em;object-fit:cover;border-radius:3px}.t2s-side .t2s-lead .t2s-lead-chev{position:absolute;inset:0;margin:0;align-items:center;justify-content:center;transition:opacity var(--duration-fast, .15s),transform var(--duration-fast, .15s) var(--ease-out, ease)}.t2s-side .t2s-lead .t2s-lead-chev{opacity:0}@media(hover:hover){.t2s-side .t2s-srow:hover .t2s-lead-chev,.t2s-side .t2s-folder-row:hover .t2s-lead-chev{opacity:.7}.t2s-side .t2s-srow:hover .t2s-lead:has(.t2s-lead-chev)>:not(.t2s-lead-chev),.t2s-side .t2s-folder-row:hover .t2s-lead:has(.t2s-lead-chev)>:not(.t2s-lead-chev){opacity:0}}.t2s-side .t2s-chev{transition:transform var(--duration-fast, .15s) var(--ease-out, ease)}.t2s-side .t2s-chev.open{transform:rotate(90deg)}.t2s-side .t2s-folder-row{gap:5.5px;padding:4.5px;font-size:var(--ui-font-body, 13px);font-weight:600;letter-spacing:normal;text-transform:none}.t2s-side .t2s-group:has(.t2s-folder-row){margin-top:0}.t2s-vaultseg{position:relative;display:flex;height:26px;margin:4px 10px 8px;padding:2px;border-radius:var(--radius-pill, 999px);background:#0000000d;-webkit-app-region:no-drag;flex-shrink:0}:root.dark .t2s-vaultseg{background:#0000003d}.t2s-vaultseg-thumb{position:absolute;top:2px;bottom:2px;left:2px;width:calc((100% - 4px) / var(--seg-n, 2));border-radius:var(--radius-pill, 999px);background:var(--accent-light, var(--overlay-light, rgba(127, 127, 127, .12)));border:none;box-shadow:none;transition:transform .3s cubic-bezier(.32,1.25,.5,1);will-change:transform;transform:translate(calc(var(--seg-i, 0) * 100%))}.t2s-vaultseg-thumb[data-side=cloud],.t2s-vaultseg-thumb[data-side=canvas],.t2s-vaultseg-thumb[data-side=work]{transform:translate(100%)}.t2s-vaultseg button{position:relative;z-index:1;flex:1 1 0;min-width:0;border:none;background:none;border-radius:var(--radius-pill, 999px);font-family:var(--font-ui);font-size:var(--ui-font-meta, 12px);font-weight:500;letter-spacing:.02em;color:var(--text-faint, var(--text-muted));cursor:pointer;transition:color .25s var(--ease-out, ease)}.t2s-vaultseg button.on{color:var(--accent-ink, var(--accent, var(--text)))}.t2s-vaultseg[data-busy] button{cursor:default}.t2s-vaultseg-hint{margin:0 12px 8px;font-size:var(--ui-font-caption, 11px);line-height:1.5;color:var(--text-muted)}.t2s-vaultseg-login{display:inline-block;margin-left:6px;padding:1px 8px;border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-pill, 999px);background:var(--surface, transparent);color:var(--accent-ink, var(--accent));font-size:var(--ui-font-caption, 11px);cursor:pointer;-webkit-app-region:no-drag}.t2s-vaultseg-login:hover{background:var(--accent-light)}.t2sf-tree{display:flex;flex-direction:column;padding:1.5px 0 4.5px}.t2sf-row{display:flex;align-items:center;gap:5.5px;width:100%;padding:4.5px 6px 4.5px 14px;text-align:left;border-radius:var(--radius-sm, 8px);color:var(--text);font-size:var(--ui-font-body, 13px);cursor:pointer;transition:background var(--duration-fast, .15s)}.t2sf-row:hover{background:var(--overlay-light, rgba(127, 127, 127, .08))}.t2sf-fic{flex-shrink:0;color:var(--text-muted)}.t2sf-file .t2sf-fic{color:var(--text-faint, var(--text-muted))}.t2sf-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2sf-size{flex-shrink:0;font-size:var(--ui-font-caption, 11px);color:var(--text-faint, var(--text-muted))}.t2sf-row-act{width:24px;height:24px;margin:-3px -2px -3px 0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:none;background:transparent;color:var(--text-faint, var(--text-muted));border-radius:var(--radius-sm, 6px);cursor:pointer;transition:background var(--duration-fast, .15s),color var(--duration-fast, .15s)}.t2sf-row-act:hover{background:var(--overlay-light, rgba(127, 127, 127, .12));color:var(--text)}.t2sf-loading{font-size:var(--ui-font-meta, 12px);color:var(--text-faint, var(--text-muted));padding:2.5px 6px}.t2sf-empty{font-size:var(--ui-font-meta, 12px);color:var(--text-faint, var(--text-muted));padding:3px 6px 3px 30px}.t2sf-showall{display:flex;align-items:center;gap:4px;width:100%;margin-top:6px;padding:3.5px 6px;border:none;background:transparent;cursor:pointer;font:inherit;font-size:var(--ui-font-meta, 12px);text-align:left;color:var(--text-faint, var(--text-muted));border-radius:var(--radius-sm, 6px)}.t2sf-showall:hover{background:var(--overlay-light);color:var(--text)}.t2sf-showall-n{margin-left:auto;font-variant-numeric:tabular-nums;opacity:.8}.t2sf-row.sel{background:var(--overlay-medium)}.t2sf-row.drop,.t2s-group.drop{background:var(--accent-light);box-shadow:inset 0 0 0 1px var(--accent-ink);border-radius:var(--radius-sm, 8px)}.t2sf-input{display:block;width:calc(100% - 32px);margin:1.5px 6px 1.5px 0;padding:1.5px 4.5px;font-size:var(--ui-font-body, 13px);color:var(--text);background:var(--bg-card);border:1px solid var(--accent-ink);border-radius:var(--radius-sm, 8px);outline:none}.t2s-scroll{flex:1;min-height:0;overflow-y:auto;padding:1.5px 6px 9px}.t2s-foot{flex:0 0 auto;-webkit-app-region:no-drag;border-top:var(--border-width, 1px) solid var(--border);padding:3px 6px 6px;max-height:45vh;overflow-y:auto}.t2s-hint{padding:7.5px;font-size:var(--ui-font-meta, 12px);color:var(--text-muted)}.t2s-special-group{display:flex;flex-direction:column;gap:1px;margin-bottom:6px}.t2s-special{display:flex;align-items:center;gap:7px;width:100%;padding:6px 7.5px;border:none;background:transparent;color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-body, 13px);text-align:left;border-radius:var(--radius-md, 12px);cursor:pointer;transition:background var(--duration-fast, .15s)}.t2s-special:hover{background:var(--overlay-light, rgba(127, 127, 127, .08))}.t2s-special.active{background:color-mix(in srgb,var(--accent-ink) 12%,transparent)}.t2s-special-ic{display:inline-flex;color:var(--text-muted);flex-shrink:0}.t2s-side .t2s-special-ic>svg{width:var(--t2s-icon, 13px);height:var(--t2s-icon, 13px)}.t2s-special.active .t2s-special-ic{color:var(--accent-ink)}.t2s-special-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2s-special-go{display:inline-flex;color:var(--text-faint, var(--text-muted));opacity:.6;border-radius:var(--radius-sm, 6px)}.t2s-special-go:hover{opacity:1;background:var(--overlay-light, rgba(127, 127, 127, .12))}.t2s-group{display:flex;align-items:center;gap:1.5px;margin-top:4.5px;border-radius:var(--radius-sm, 6px);position:relative}.t2s-group.drag-over:before{content:"";position:absolute;left:4px;right:4px;top:-4px;height:3px;border-radius:var(--radius-pill, 999px);background:var(--accent-ink);z-index:3}.t2s-group.drag-over.below:before{top:auto;bottom:-4px}.t2s-group-sessions.drag-over-end{position:relative}.t2s-group-sessions.drag-over-end:after{content:"";position:absolute;left:4px;right:4px;bottom:-2px;height:3px;border-radius:var(--radius-pill, 999px);background:var(--accent-ink);z-index:3}.t2s-group.dragging{opacity:.4}.t2s-group-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:4px;padding:4px 4.5px;border:none;background:transparent;color:var(--text-muted);font-family:var(--font-ui);font-size:var(--ui-font-caption, 11px);font-weight:600;letter-spacing:.03em;text-transform:uppercase;text-align:left;cursor:pointer;border-radius:var(--radius-sm, 6px)}.t2s-group-toggle:hover{color:var(--text)}.t2s-group-toggle.active{color:var(--accent-ink)}.t2s-chev{display:inline-flex;opacity:.7;flex-shrink:0;cursor:pointer}.t2s-group-name{display:inline-flex;align-items:center;gap:4px;flex:1;min-width:0;white-space:nowrap}.t2s-group-name>svg{flex-shrink:0}.t2s-group-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2s-count{flex-shrink:0;font-size:var(--ui-font-caption, 11px);font-weight:600;color:var(--text-faint, var(--text-muted));background:var(--overlay-light, rgba(127, 127, 127, .1));border-radius:var(--radius-pill, 999px);padding:0 4.5px;line-height:16px}.t2s-mini-dot{width:6px;height:6px;border-radius:50%;background:var(--text-faint, var(--text-muted));opacity:.5}.t2s-mini-dot.ok{background:var(--green);opacity:1}.t2s-group-add{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-faint, var(--text-muted));border-radius:var(--radius-sm, 6px);cursor:pointer;flex-shrink:0;opacity:0;transition:opacity var(--duration-fast, .15s),background var(--duration-fast, .15s),color var(--duration-fast, .15s)}.t2s-group:hover .t2s-group-add{opacity:.7}.t2s-group-add:hover{opacity:1;background:var(--overlay-light, rgba(127, 127, 127, .12));color:var(--text)}.t2s-group-sessions{display:flex;flex-direction:column;gap:1px;padding-bottom:1.5px}.t2s-srow{position:relative;display:flex;align-items:center;gap:5.5px;width:100%;padding:4.5px 6px 4.5px 14px;border:none;background:transparent;color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-body, 13px);text-align:left;border-radius:var(--radius-sm, 6px);cursor:pointer;transition:background var(--duration-fast, .15s)}.t2s-srow:hover{background:var(--overlay-light, rgba(127, 127, 127, .08))}.t2s-srow.sel{background:var(--overlay-medium)}.t2s-srow.active{background:color-mix(in srgb,var(--accent-ink) 12%,transparent)}.t2s-srow.active:before{content:"";position:absolute;left:4.5px;top:5.5px;bottom:5.5px;width:2px;border-radius:2px;background:var(--accent-ink)}.t2s-srow-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2s-faint{color:var(--text-faint, var(--text-muted))}.t2s-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.t2s-lead .t2s-dot{position:absolute;right:-1px;bottom:-1px;box-shadow:0 0 0 1.5px var(--sidebar-bg)}.t2s-dot.running{background:var(--accent-ink);animation:t2s-pulse 1.4s ease-in-out infinite}.t2s-dot.unread{background:var(--accent-ink);opacity:.6}.t2s-dot.attention{background:var(--warning)}@keyframes t2s-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.t2s-srow-menu{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-sm, 6px);flex-shrink:0;color:var(--text-faint, var(--text-muted));opacity:0;transition:opacity var(--duration-fast, .15s),background var(--duration-fast, .15s)}.t2s-srow:hover .t2s-srow-menu{opacity:.7}.t2s-srow-menu:hover{opacity:1;background:var(--overlay-light, rgba(127, 127, 127, .12))}.t2s-rename{flex:1;min-width:0;background:var(--bg-card, var(--bg));color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-body, 13px);border:var(--border-width, 1px) solid var(--accent-ink);border-radius:var(--radius-sm, 8px);padding:1.5px 4.5px;outline:none}.t2s-viewmore{margin:1.5px 0 0 14px;padding:3px 6px;border:none;background:transparent;color:var(--text-muted);font-family:var(--font-ui);font-size:var(--ui-font-body, 13px);text-align:left;cursor:pointer;border-radius:var(--radius-sm, 6px)}.t2s-viewmore:hover{background:var(--overlay-light, rgba(127, 127, 127, .08));color:var(--text)}.t2s-add-ws{display:flex;align-items:center;gap:5.5px;width:100%;margin-top:6px;padding:6px 7.5px;border:1px dashed var(--border);background:transparent;color:var(--text-muted);font-family:var(--font-ui);font-size:var(--ui-font-body, 13px);border-radius:var(--radius-md, 12px);cursor:pointer;transition:border-color var(--duration-fast, .15s),color var(--duration-fast, .15s)}.t2s-add-ws:hover{border-color:var(--accent-ink);color:var(--text)}.t2s-archived-toggle{margin-top:4.5px;padding-left:6px}.t2sw{display:flex;flex-direction:column;height:100%;min-height:0}.t2sw-body{display:flex;flex-direction:column;flex:1;min-height:0}.t2sw-body>*{flex:1;min-height:0}.t2sw .t2s-side{background:transparent}.t2sw-empty{padding:18px 12px;color:var(--text-muted);font-size:var(--ui-font-meta, 12px)}.t2sw,.t2sw *,.t2sw .t2s-vaultseg button{font-weight:400}.t2sw :is(.t2s-srow,.t2s-special).active,.t2sw :is(.t2s-srow,.t2s-special).active *{font-weight:500}.t2sw .t2s-special:not(.active),.t2sw .t2s-group-name{color:var(--text-muted)}.t2sw .t2s-special:not(.active):hover{color:var(--text)}.t2s-deep-head{padding-top:10px;font-size:var(--ui-font-caption, 11px);letter-spacing:.04em;color:var(--text-faint)}.t2s-srow.t2s-deep{align-items:flex-start;height:auto;padding-top:6px;padding-bottom:6px}.t2s-deep-col{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.t2s-deep-snip{font-size:var(--ui-font-caption, 11px);line-height:1.45;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.t2s-deep-date{font-size:var(--ui-font-caption, 11px);color:var(--text-faint);flex-shrink:0;margin-left:6px}.t2sw-plug{display:flex;flex-direction:column;min-height:0;flex:1}.t2sw-plug-list{flex:1 1 auto;min-height:0;overflow-y:auto}.t2sw-plug-list.amx-drop-into{box-shadow:inset 0 0 0 1.5px var(--accent, #6c5ce7);border-radius:var(--radius-sm, 6px)}.t2sw-plug-toolbar{display:flex;align-items:center;gap:4px;padding:6px 7px 2px;flex-shrink:0}.t2sw-plug-toolbar .t2s-search{flex:1;width:auto;min-width:0;margin:0;padding:5px 8px}.t2sw-plug-toolbar .t2s-search input{min-width:0;width:100%}.t2sw-plug-toolbar .t2s-search button{display:flex;flex:none;border:0;padding:0;background:transparent;color:var(--text-muted);cursor:pointer}.t2sw-plug-btn,.t2sw-plug-overflow,.t2sw-plug-filter,.t2sw-plug-reset,.t2sw-plug-row-menu{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:26px;border:0;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text-light);font:inherit;font-size:var(--ui-font-meta, 12px);cursor:pointer}.t2sw-plug-btn{display:block;max-width:42%;padding:3px 8px;flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.t2sw-plug-overflow,.t2sw-plug-reset{flex:none;width:26px;padding:0}.t2sw-plug-filterbar{display:flex;align-items:center;gap:2px;padding:3px 8px 5px;flex-shrink:0;min-width:0}.t2sw-plug-filter{justify-content:flex-start;min-width:0;max-width:75%;padding:3px 5px}.t2sw-plug-filter>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2sw-plug-filter>svg{flex:none}.t2sw-plug-total{margin-left:auto;flex:none;color:var(--text-faint);font-size:var(--ui-font-caption, 11px);font-variant-numeric:tabular-nums}.t2sw-plug-item{position:relative}.t2sw-plug-item .t2s-srow{font-weight:400}.t2sw-plug-item .t2s-srow:is(.active,.is-unread){font-weight:500}.t2sw-plug-item .t2s-srow *{font-weight:inherit}.t2sw-plug-item .t2s-srow.has-actions{padding-right:30px}.t2sw-plug-item .t2s-count{font-weight:400;background:transparent;padding:0;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2sw-plug-row-menu{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-height:24px;width:24px;padding:0;opacity:0}.t2sw-plug-item:hover .t2sw-plug-row-menu,.t2sw-plug-item:focus-within .t2sw-plug-row-menu,.t2sw-plug-row-menu[aria-expanded=true]{opacity:1}:is(.t2sw-plug-btn,.t2sw-plug-overflow,.t2sw-plug-filter,.t2sw-plug-reset,.t2sw-plug-row-menu):is(:hover,[aria-expanded=true]){background:var(--overlay-light);color:var(--text)}@media(hover:none){.t2sw-plug-row-menu{opacity:1}}.t2sw-plug-sec{display:flex;align-items:center;gap:6px;margin:10px 9.5px 2px;font-size:var(--ui-font-caption, 11px);color:var(--text-faint, var(--text-muted))}.t2sw-plug-mini{margin-left:auto;border:none;background:transparent;cursor:pointer;color:inherit;padding:0 4px;border-radius:var(--radius-sm, 6px);font-size:var(--ui-font-meta, 12px)}.t2sw-plug-mini:hover{background:var(--overlay-light, rgba(127, 127, 127, .12));color:var(--text)}.t2sw .t2s-srow,.t2sw .t2sf-row,.t2sw .t2s-folder-row{padding-block:3px}.t2sw .t2s-special,.t2sw .t2s-srow.t2s-deep{padding-block:4px}.t2sw .t2s-group-sessions,.t2sw .t2s-special-group{gap:.65px}.t2s-special-row{display:flex;align-items:center;gap:6px;min-width:0}.t2s-special-row .t2s-special{flex:1;min-width:0}.t2s-side .t2s-vaultseg.t2s-mode{width:94px;height:26px;flex-shrink:0;margin:0 4px 0 0}.t2s-side .t2s-vaultseg.t2s-mode button{padding:0;font-size:var(--ui-font-caption, 11px);line-height:16px}.t2s-flat{padding-top:2px}.t2sw-plug-btn{border:var(--border-width) solid var(--overlay-strong)}.t2s-srow-time{display:none}.mb-shell[data-native-chrome] .t2s-srow-time{display:inline;flex-shrink:0;margin-left:8px;font-size:var(--ui-font-meta);color:var(--text-faint, var(--text-muted));font-variant-numeric:tabular-nums}@media(pointer:coarse){.t2s-srow-menu{opacity:.7;position:relative}.t2s-srow-menu:after{content:"";position:absolute;inset:-8px}}.am-app .amx-coverpick{width:min(336px,calc(100vw / var(--uiz, 1) - 24px));max-height:min(380px,calc(100vh / var(--uiz, 1) - 24px));display:flex;flex-direction:column;padding:0;overflow:hidden}.amx-coverpick-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 2px 12px;flex:none;font-weight:600}.am-app .amx-coverpick-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.amx-coverpick-tabs{display:flex;gap:4px;padding:2px 8px 6px;border-bottom:var(--border-width) solid var(--border);flex:none}.am-app .amx-coverpick-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ui-control-height);padding:4px 8px;border:0;border-radius:var(--radius-sm);font:inherit;font-weight:500;color:var(--text-muted);background:transparent;cursor:pointer}.am-app .amx-coverpick-tabs button[aria-selected=true]{color:var(--text);background:var(--menu-hover)}.amx-coverpick-tabs svg,.amx-coverpick-search svg{flex:none;color:var(--text-muted)}.amx-coverpick-panel{min-height:0;overflow:auto;overscroll-behavior:contain}.amx-coverpick-body{padding:10px 12px 12px}.amx-coverpick-search{display:flex;align-items:center;gap:8px;min-height:30px;margin-bottom:10px;padding:3px 4px 3px 10px;border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input)}.am-app .amx-coverpick-search input{flex:1;min-width:0;padding:0;border:0;border-radius:0;outline:none;background:transparent;box-shadow:none;color:var(--text);font:inherit}.amx-coverpick-search:focus-within{border-color:var(--sel-line)}.am-app .amx-coverpick-search input:focus-visible{outline:none;box-shadow:none}.am-app .amx-coverpick-go{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ui-control-height);padding:4px 10px;border:0;border-radius:var(--radius-sm);background:var(--action-fill);color:var(--on-action);font:inherit;font-weight:500;white-space:nowrap;cursor:pointer}.am-app .amx-coverpick-search .amx-coverpick-go{color:var(--text-muted);background:transparent}.am-app .amx-coverpick-go:disabled{opacity:.45;cursor:default}.amx-coverpick-section{margin-bottom:8px;color:var(--text-muted);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.amx-coverpick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.am-app .amx-coverpick-item{min-width:0;display:flex;flex-direction:column;gap:4px;border:0;padding:0;border-radius:var(--radius-sm);background:none;color:var(--text);text-align:left;cursor:pointer}.amx-coverpick-thumb{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:3 / 2;border-radius:var(--radius-sm);overflow:hidden;background:var(--overlay-light);color:var(--text-faint)}.amx-coverpick-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.amx-coverpick-thumb img[hidden]{display:none}.amx-coverpick-item[aria-pressed=true] .amx-coverpick-thumb{outline:var(--focus-ring) solid var(--sel-line);outline-offset:calc(-1 * var(--focus-ring))}.amx-coverpick-selected{position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:20px;height:20px;border-radius:var(--radius-sm);color:var(--on-action);background:var(--action-fill)}.amx-coverpick-cap{max-width:100%;font-size:var(--ui-font-caption);line-height:var(--ui-line-caption);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.amx-coverpick-url{display:flex;flex-direction:column;align-items:stretch;gap:8px}.amx-coverpick-url label{font-size:var(--ui-font-meta);color:var(--text-muted)}.am-app .amx-coverpick-url input{min-width:0;width:100%;min-height:30px;padding:4px 8px;border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font:inherit;outline:none}.am-app .amx-coverpick-url input:is(:focus,:focus-visible){border-color:var(--sel-line);outline:none;box-shadow:none}.amx-coverpick-url .amx-coverpick-go{align-self:flex-end;margin-top:6px}.amx-coverpick-hint{color:var(--text-muted);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.amx-coverpick-upload{display:flex;flex-direction:column;align-items:center;gap:8px;padding-block:16px;text-align:center}.amx-coverpick-upload>svg{color:var(--text-muted)}.amx-coverpick-upload-title{font-weight:500}.amx-coverpick-upload .amx-coverpick-go{margin-top:6px}.am-app .amx-coverpick :is(.amx-coverpick-tabs button,.amx-coverpick-close,.amx-coverpick-search .amx-coverpick-go):hover{background:var(--menu-hover);color:var(--text)}.am-app .amx-coverpick button:focus-visible{outline:var(--focus-ring) solid var(--sel-line);outline-offset:2px;box-shadow:none}.am-app .amx-coverpick-search input:focus-visible{outline:none}@media(max-width:380px){.amx-coverpick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.amx-coverpick-tabs{gap:2px}.am-app .amx-coverpick-tabs button{padding-inline:8px}}
|