most-box 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +222 -182
  3. package/electron/main.js +67 -0
  4. package/out/404/index.html +2 -2
  5. package/out/404.html +2 -2
  6. package/out/__next.__PAGE__.txt +6 -4
  7. package/out/__next._full.txt +20 -17
  8. package/out/__next._head.txt +3 -3
  9. package/out/__next._index.txt +6 -5
  10. package/out/__next._tree.txt +4 -2
  11. package/out/_next/static/chunks/00s106sbq8t9v.js +1 -0
  12. package/out/_next/static/chunks/0174xh3wfsjm1.js +2 -0
  13. package/out/_next/static/chunks/01xlw8hd842-c.js +1 -0
  14. package/out/_next/static/chunks/02ou_44kkb5dz.js +1 -0
  15. package/out/_next/static/chunks/02pr2b_eos3~h.js +1 -0
  16. package/out/_next/static/chunks/07lsjkarm1p9f.css +1 -0
  17. package/out/_next/static/chunks/0_-ccbcyh_o30.css +1 -0
  18. package/out/_next/static/chunks/0_b839~4.q324.js +1 -0
  19. package/out/_next/static/chunks/0_sna3wdypbzr.js +1 -0
  20. package/out/_next/static/chunks/0_wia9ofmsi1c.css +2 -0
  21. package/out/_next/static/chunks/0byj66sc-9o0g.js +1 -0
  22. package/out/_next/static/chunks/0bzupvr5gt3k9.js +31 -0
  23. package/out/_next/static/chunks/0d3shmwh5_nmn.js +1 -0
  24. package/out/_next/static/chunks/0du450zbk4kq_.js +1 -0
  25. package/out/_next/static/chunks/0e_h0d3ekzks8.css +1 -0
  26. package/out/_next/static/chunks/0ho~log~~-jwp.css +1 -0
  27. package/out/_next/static/chunks/0ibjp~7qzxfjv.js +5 -0
  28. package/out/_next/static/chunks/0imvn_arv36xt.css +1 -0
  29. package/out/_next/static/chunks/0j9~17180dl8j.js +1 -0
  30. package/out/_next/static/chunks/0ji.28mehrvdp.js +1 -0
  31. package/out/_next/static/chunks/0jl~j62iz2uvr.js +1 -0
  32. package/out/_next/static/chunks/0nct0fubs64d-.js +1 -0
  33. package/out/_next/static/chunks/{0bogtdbh.dcu1.js → 0n~dq4kpx9xxx.js} +1 -1
  34. package/out/_next/static/chunks/0pqt~8bl3ukh4.js +4 -0
  35. package/out/_next/static/chunks/0q7ck9f.90_i9.js +1 -0
  36. package/out/_next/static/chunks/0qub_r0x_r-e9.css +1 -0
  37. package/out/_next/static/chunks/0rr4gwjp9z~9a.js +1 -0
  38. package/out/_next/static/chunks/0ry.po.a~iu4p.js +1 -0
  39. package/out/_next/static/chunks/0slwj0c46k5cu.js +1 -0
  40. package/out/_next/static/chunks/0sorqk.oc6b7j.css +1 -0
  41. package/out/_next/static/chunks/11dalasm30arx.js +1 -0
  42. package/out/_next/static/chunks/turbopack-0a_g3u0ud~jb8.js +1 -0
  43. package/out/_not-found/__next._full.txt +19 -15
  44. package/out/_not-found/__next._head.txt +3 -3
  45. package/out/_not-found/__next._index.txt +6 -5
  46. package/out/_not-found/__next._not-found.__PAGE__.txt +9 -0
  47. package/out/_not-found/__next._not-found.txt +3 -3
  48. package/out/_not-found/__next._tree.txt +2 -2
  49. package/out/_not-found/index.html +2 -2
  50. package/out/_not-found/index.txt +19 -15
  51. package/out/app/__next._full.txt +20 -0
  52. package/out/app/__next._head.txt +5 -0
  53. package/out/app/__next._index.txt +7 -0
  54. package/out/app/__next._tree.txt +2 -0
  55. package/out/app/__next.app.__PAGE__.txt +9 -0
  56. package/out/app/__next.app.txt +5 -0
  57. package/out/app/index.html +15 -0
  58. package/out/app/index.txt +20 -0
  59. package/out/changelog/__next._full.txt +22 -0
  60. package/out/changelog/__next._head.txt +5 -0
  61. package/out/changelog/__next._index.txt +7 -0
  62. package/out/changelog/__next._tree.txt +3 -0
  63. package/out/changelog/__next.changelog.__PAGE__.txt +10 -0
  64. package/out/changelog/__next.changelog.txt +5 -0
  65. package/out/changelog/index.html +15 -0
  66. package/out/changelog/index.txt +22 -0
  67. package/out/chat/__next._full.txt +20 -18
  68. package/out/chat/__next._head.txt +3 -3
  69. package/out/chat/__next._index.txt +6 -5
  70. package/out/chat/__next._tree.txt +3 -3
  71. package/out/chat/__next.chat.__PAGE__.txt +9 -0
  72. package/out/chat/__next.chat.txt +5 -4
  73. package/out/chat/index.html +2 -2
  74. package/out/chat/index.txt +20 -18
  75. package/out/docs/__next._full.txt +22 -0
  76. package/out/docs/__next._head.txt +5 -0
  77. package/out/docs/__next._index.txt +7 -0
  78. package/out/docs/__next._tree.txt +3 -0
  79. package/out/docs/__next.docs.__PAGE__.txt +10 -0
  80. package/out/docs/__next.docs.txt +5 -0
  81. package/out/docs/getting-started/__next._full.txt +22 -0
  82. package/out/docs/getting-started/__next._head.txt +5 -0
  83. package/out/docs/getting-started/__next._index.txt +7 -0
  84. package/out/docs/getting-started/__next._tree.txt +3 -0
  85. package/out/docs/getting-started/__next.docs.getting-started.__PAGE__.txt +10 -0
  86. package/out/docs/getting-started/__next.docs.getting-started.txt +5 -0
  87. package/out/docs/getting-started/__next.docs.txt +5 -0
  88. package/out/docs/getting-started/index.html +15 -0
  89. package/out/docs/getting-started/index.txt +22 -0
  90. package/out/docs/index.html +15 -0
  91. package/out/docs/index.txt +22 -0
  92. package/out/download/__next._full.txt +34 -0
  93. package/out/download/__next._head.txt +5 -0
  94. package/out/download/__next._index.txt +7 -0
  95. package/out/download/__next._tree.txt +4 -0
  96. package/out/download/__next.download.__PAGE__.txt +16 -0
  97. package/out/download/__next.download.txt +5 -0
  98. package/out/download/index.html +15 -0
  99. package/out/download/index.txt +34 -0
  100. package/out/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
  101. package/out/fonts/jetbrains-mono-latin-500-normal.woff2 +0 -0
  102. package/out/fonts/jetbrains-mono-latin-600-normal.woff2 +0 -0
  103. package/out/fonts/jetbrains-mono-latin-700-normal.woff2 +0 -0
  104. package/out/index.html +2 -2
  105. package/out/index.txt +20 -17
  106. package/out/lottery/__next._full.txt +21 -0
  107. package/out/lottery/__next._head.txt +5 -0
  108. package/out/lottery/__next._index.txt +7 -0
  109. package/out/lottery/__next._tree.txt +3 -0
  110. package/out/lottery/__next.lottery.__PAGE__.txt +9 -0
  111. package/out/lottery/__next.lottery.txt +6 -0
  112. package/out/lottery/index.html +15 -0
  113. package/out/lottery/index.txt +21 -0
  114. package/out/ping/__next._full.txt +21 -0
  115. package/out/ping/__next._head.txt +5 -0
  116. package/out/ping/__next._index.txt +7 -0
  117. package/out/ping/__next._tree.txt +4 -0
  118. package/out/ping/__next.ping.__PAGE__.txt +10 -0
  119. package/out/ping/__next.ping.txt +5 -0
  120. package/out/ping/index.html +15 -0
  121. package/out/ping/index.txt +21 -0
  122. package/out/pwa-512x512.png +0 -0
  123. package/out/web3/__next._full.txt +21 -0
  124. package/out/web3/__next._head.txt +5 -0
  125. package/out/web3/__next._index.txt +7 -0
  126. package/out/web3/__next._tree.txt +3 -0
  127. package/out/web3/__next.web3.__PAGE__.txt +9 -0
  128. package/out/web3/__next.web3.txt +6 -0
  129. package/out/web3/ed25519/__next._full.txt +20 -0
  130. package/out/web3/ed25519/__next._head.txt +5 -0
  131. package/out/web3/ed25519/__next._index.txt +7 -0
  132. package/out/web3/ed25519/__next._tree.txt +3 -0
  133. package/out/web3/ed25519/__next.web3.ed25519.__PAGE__.txt +6 -0
  134. package/out/web3/ed25519/__next.web3.ed25519.txt +5 -0
  135. package/out/web3/ed25519/__next.web3.txt +6 -0
  136. package/out/web3/ed25519/index.html +1 -0
  137. package/out/web3/ed25519/index.txt +20 -0
  138. package/out/web3/index.html +15 -0
  139. package/out/web3/index.txt +21 -0
  140. package/out/web3/tools/__next._full.txt +20 -0
  141. package/out/web3/tools/__next._head.txt +5 -0
  142. package/out/web3/tools/__next._index.txt +7 -0
  143. package/out/web3/tools/__next._tree.txt +3 -0
  144. package/out/web3/tools/__next.web3.tools.__PAGE__.txt +6 -0
  145. package/out/web3/tools/__next.web3.tools.txt +5 -0
  146. package/out/web3/tools/__next.web3.txt +6 -0
  147. package/out/web3/tools/index.html +1 -0
  148. package/out/web3/tools/index.txt +20 -0
  149. package/package.json +162 -53
  150. package/public/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
  151. package/public/fonts/jetbrains-mono-latin-500-normal.woff2 +0 -0
  152. package/public/fonts/jetbrains-mono-latin-600-normal.woff2 +0 -0
  153. package/public/fonts/jetbrains-mono-latin-700-normal.woff2 +0 -0
  154. package/public/pwa-512x512.png +0 -0
  155. package/server/cli.js +3 -0
  156. package/server/index.js +963 -0
  157. package/{src → server/src}/config.js +51 -50
  158. package/{src → server/src}/core/cid.js +157 -150
  159. package/{src → server/src}/index.js +1950 -1669
  160. package/server/src/utils/api.js +68 -0
  161. package/server/src/utils/avatar.js +11 -0
  162. package/{src → server/src}/utils/errors.js +70 -66
  163. package/server/src/utils/mostWallet.js +42 -0
  164. package/server/src/utils/mp.js +117 -0
  165. package/{src → server/src}/utils/security.js +173 -169
  166. package/server/src/utils/userIdentity.js +93 -0
  167. package/cli.js +0 -2
  168. package/out/_next/static/chunks/00l-yd3t8dvwz.js +0 -5
  169. package/out/_next/static/chunks/03k8t3tgym~8~.js +0 -1
  170. package/out/_next/static/chunks/09vfh8lfuacc0.css +0 -1
  171. package/out/_next/static/chunks/0dbhjjzl8qfwv.js +0 -1
  172. package/out/_next/static/chunks/0f73psqhr8dre.css +0 -1
  173. package/out/_next/static/chunks/0fbi7z4_.4j1j.js +0 -1
  174. package/out/_next/static/chunks/0ht900cau6_ur.js +0 -31
  175. package/out/_next/static/chunks/0ohm.ia-4ec60.js +0 -1
  176. package/out/_next/static/chunks/0u5ydb-f0.vxl.js +0 -1
  177. package/out/_next/static/chunks/14t2m1on-s5v~.js +0 -1
  178. package/out/_next/static/chunks/turbopack-076ce9exut_h3.js +0 -1
  179. package/out/_not-found/__next._not-found/__PAGE__.txt +0 -5
  180. package/out/app.css +0 -1535
  181. package/out/bundle.js +0 -107
  182. package/out/bundle.js.map +0 -7
  183. package/out/chat/__next.chat/__PAGE__.txt +0 -9
  184. package/out/chat-page.js +0 -112
  185. package/out/chat.css +0 -378
  186. package/out/index.js +0 -148
  187. package/public/app.css +0 -1535
  188. package/public/bundle.js +0 -107
  189. package/public/bundle.js.map +0 -7
  190. package/public/chat-page.js +0 -112
  191. package/public/chat.css +0 -378
  192. package/public/index.js +0 -148
  193. package/server.js +0 -880
  194. package/src/utils/api.js +0 -6
  195. /package/out/_next/static/{0h4f4QFk_KC9FlSRfQACk → alUUgRz4oMlw4EtULOYfV}/_buildManifest.js +0 -0
  196. /package/out/_next/static/{0h4f4QFk_KC9FlSRfQACk → alUUgRz4oMlw4EtULOYfV}/_clientMiddlewareManifest.js +0 -0
  197. /package/out/_next/static/{0h4f4QFk_KC9FlSRfQACk → alUUgRz4oMlw4EtULOYfV}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return i},formatWithValidation:function(){return c},urlObjectKeys:function(){return s}};for(var l in n)Object.defineProperty(r,l,{enumerable:!0,get:n[l]});let o=e.r(90809)._(e.r(98183)),a=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,n=e.protocol||"",l=e.pathname||"",i=e.hash||"",s=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),s&&"object"==typeof s&&(s=String(o.urlQueryToSearchParams(s)));let d=e.search||s&&`?${s}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||a.test(n))&&!1!==c?(c="//"+(c||""),l&&"/"!==l[0]&&(l="/"+l)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),d&&"?"!==d[0]&&(d="?"+d),l=l.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${n}${c}${l}${d}${i}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return i(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return l}});let n=e.r(71645);function l(e,t){let r=(0,n.useRef)(null),l=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=l.current;t&&(l.current=null,t())}else e&&(r.current=o(e,n)),t&&(l.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(18967),l=e.r(52817);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,l.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return j}};for(var l in n)Object.defineProperty(r,l,{enumerable:!0,get:n[l]});let o=e.r(90809),a=e.r(43476),i=o._(e.r(71645)),s=e.r(95057),c=e.r(8372),d=e.r(18581),u=e.r(18967),h=e.r(5550);e.r(33525);let f=e.r(88540),p=e.r(91949),m=e.r(73668),x=e.r(9396);function g(t){var r,n;let l,o,g,[j,v]=(0,i.useOptimistic)(p.IDLE_LINK_STATUS),b=(0,i.useRef)(null),{href:k,as:S,children:w,prefetch:P=null,passHref:C,replace:M,shallow:T,scroll:_,onClick:O,onMouseEnter:A,onTouchStart:z,legacyBehavior:N=!1,onNavigate:B,transitionTypes:E,ref:L,unstable_dynamicOnHover:W,...R}=t;l=w,N&&("string"==typeof l||"number"==typeof l)&&(l=(0,a.jsx)("a",{children:l}));let I=i.default.useContext(c.AppRouterContext),U=!1!==P,$=!1!==P?null===(n=P)||"auto"===n?x.FetchStrategy.PPR:x.FetchStrategy.Full:x.FetchStrategy.PPR,D="string"==typeof(r=S||k)?r:(0,s.formatUrl)(r);if(N){if(l?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=i.default.Children.only(l)}let F=N?o&&"object"==typeof o&&o.ref:L,K=i.default.useCallback(e=>(null!==I&&(b.current=(0,p.mountLinkInstance)(e,D,I,$,U,v)),()=>{b.current&&((0,p.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,p.unmountPrefetchableInstance)(e)}),[U,D,I,$,v]),H={ref:(0,d.useMergedRef)(K,F),onClick(t){N||"function"!=typeof O||O(t),N&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!I||t.defaultPrevented||function(t,r,n,l,o,a,s){if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(r)){l&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(99781);i.default.startTransition(()=>{u(r,l?"replace":"push",!1===o?f.ScrollBehavior.NoScroll:f.ScrollBehavior.Default,n.current,s)})}}(t,D,b,M,_,B,E)},onMouseEnter(e){N||"function"!=typeof A||A(e),N&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),I&&U&&(0,p.onNavigationIntent)(e.currentTarget,!0===W)},onTouchStart:function(e){N||"function"!=typeof z||z(e),N&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),I&&U&&(0,p.onNavigationIntent)(e.currentTarget,!0===W)}};return(0,u.isAbsoluteUrl)(D)?H.href=D:N&&!C&&("a"!==o.type||"href"in o.props)||(H.href=(0,h.addBasePath)(D)),g=N?i.default.cloneElement(o,H):(0,a.jsx)("a",{...R,...H,children:l}),(0,a.jsx)(y.Provider,{value:j,children:g})}e.r(84508);let y=(0,i.createContext)(p.IDLE_LINK_STATUS),j=()=>(0,i.useContext)(y);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},96661,e=>{"use strict";e.s(["mergeClasses",0,(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()])},71987,88973,e=>{"use strict";e.s(["default",0,{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"}],71987),e.s(["hasA11yProp",0,e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1}],88973)},5014,e=>{"use strict";var t=e.i(71645),r=e.i(71987),n=e.i(88973),l=e.i(96661);let o=(0,t.createContext)({}),a=(0,t.forwardRef)(({color:e,size:a,strokeWidth:i,absoluteStrokeWidth:s,className:c="",children:d,iconNode:u,...h},f)=>{let{size:p=24,strokeWidth:m=2,absoluteStrokeWidth:x=!1,color:g="currentColor",className:y=""}=(0,t.useContext)(o)??{},j=s??x?24*Number(i??m)/Number(a??p):i??m;return(0,t.createElement)("svg",{ref:f,...r.default,width:a??p??r.default.width,height:a??p??r.default.height,stroke:e??g,strokeWidth:j,className:(0,l.mergeClasses)("lucide",y,c),...!d&&!(0,n.hasA11yProp)(h)&&{"aria-hidden":"true"},...h},[...u.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(d)?d:[d]])});e.s(["default",0,a],5014)},56420,e=>{"use strict";var t=e.i(71645),r=e.i(96661);let n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var l=e.i(5014);e.s(["default",0,(e,o)=>{let a=(0,t.forwardRef)(({className:a,...i},s)=>(0,t.createElement)(l.default,{ref:s,iconNode:o,className:(0,r.mergeClasses)(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,a),...i}));return a.displayName=n(e),a}],56420)},35965,96699,93583,e=>{"use strict";var t=e.i(56420);let r=(0,t.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",0,r],35965);let n=(0,t.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);e.s(["Moon",0,n],96699);let l=(0,t.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);e.s(["Menu",0,l],93583)},40983,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(22016),l=e.i(35965),o=e.i(96699),a=e.i(93583);function i({size:e=24}){return(0,t.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("rect",{x:"2",y:"2",width:"8",height:"8",rx:"2",fill:"var(--accent)",opacity:"0.4"}),(0,t.jsx)("rect",{x:"14",y:"2",width:"8",height:"8",rx:"2",fill:"var(--accent)",opacity:"0.7"}),(0,t.jsx)("rect",{x:"2",y:"14",width:"8",height:"8",rx:"2",fill:"var(--accent)",opacity:"0.7"}),(0,t.jsx)("rect",{x:"14",y:"14",width:"8",height:"8",rx:"2",fill:"var(--accent)"})]})}let s=[{href:"/docs/getting-started/",label:"文档"},{href:"/ping/",label:"网络"},{href:"/changelog/",label:"更新日志"}];function c(){let[e,c]=(0,r.useState)(!1),[d,u]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=localStorage.getItem("theme"),t=window.matchMedia("(prefers-color-scheme: dark)").matches;("dark"===e||!e&&t)&&u(!0)},[]),(0,r.useEffect)(()=>{document.documentElement.setAttribute("data-theme",d?"dark":"light"),localStorage.setItem("theme",d?"dark":"light")},[d]),(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("nav",{className:"mkt-nav",children:(0,t.jsxs)("div",{className:"mkt-nav-inner",children:[(0,t.jsxs)(n.default,{href:"/",className:"mkt-nav-logo",children:[(0,t.jsx)(i,{}),"MOST PEOPLE"]}),(0,t.jsxs)("div",{className:`mkt-nav-links ${e?"open":""}`,children:[s.map(e=>(0,t.jsx)(n.default,{href:e.href,onClick:()=>c(!1),children:e.label},e.href)),(0,t.jsxs)("button",{className:"mkt-theme-toggle mkt-mobile-only",onClick:()=>{u(!d),c(!1)},"aria-label":"切换主题",children:[d?(0,t.jsx)(l.Sun,{size:16}):(0,t.jsx)(o.Moon,{size:16}),d?" 亮色模式":" 暗色模式"]})]}),(0,t.jsxs)("div",{className:"mkt-nav-cta",children:[(0,t.jsx)("button",{className:"mkt-theme-toggle mkt-desktop-only",onClick:()=>u(!d),"aria-label":"切换主题",children:d?(0,t.jsx)(l.Sun,{size:16}):(0,t.jsx)(o.Moon,{size:16})}),(0,t.jsx)(n.default,{href:"/app/",className:"mkt-btn-primary",children:"开始使用"}),(0,t.jsx)("button",{className:"mkt-nav-mobile-toggle",onClick:()=>c(!e),"aria-label":"菜单",children:(0,t.jsx)(a.Menu,{size:24})})]})]})})})}let d=[{href:"/",label:"关于"},{href:"/docs/getting-started/",label:"文档"},{href:"/changelog/",label:"更新日志"},{href:"https://github.com/most-people/most",label:"GitHub",external:!0}];function u(){return(0,t.jsx)("footer",{className:"mkt-footer",children:(0,t.jsx)("div",{className:"mkt-container",children:(0,t.jsxs)("div",{className:"mkt-footer-inner",children:[(0,t.jsx)("div",{className:"mkt-footer-links",children:d.map(e=>(0,t.jsx)(n.default,{href:e.href,...e.external?{target:"_blank",rel:"noopener noreferrer"}:{},children:e.label},e.href))}),(0,t.jsxs)("span",{className:"mkt-footer-copy",children:["© ",new Date().getFullYear()," MOST PEOPLE · MIT License"]})]})})})}e.s(["MarketingLayout",0,function({children:e}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c,{}),e,(0,t.jsx)(u,{})]})}],40983)},89664,e=>{"use strict";let t=(0,e.i(56420).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],89664)},14287,e=>{"use strict";var t=e.i(43476),r=e.i(22016),n=e.i(89664),l=e.i(40983);let o=[{title:"无需注册",desc:"打开浏览器即用,没有账号、没有登录、没有隐私收集"},{title:"P2P 直连",desc:"Hyperswarm 网络发现,点对点传输,不限速不限量"},{title:"大文件流式传输",desc:"GB 级文件轻松传,流式处理,内存占用低"},{title:"确定性链接",desc:"相同文件 = 相同 CID,一次发布永久有效"},{title:"频道聊天",desc:"P2P 加密即时通讯,创建频道与朋友实时聊天"},{title:"开源免费",desc:"MIT 协议,自托管,数据完全由自己掌控"}],a=[{num:"1",title:"下载桌面客户端",desc:"支持 Windows、macOS 和 Linux。",link:"/download",linkText:"前往下载页"},{num:"2",title:"安装并运行",desc:"安装后打开应用,即可使用 P2P 文件分享和加密聊天。"},{num:"3",title:"开始分享",desc:"上传文件生成链接,或创建频道与朋友聊天。"}],i=[{feature:"注册登录",wechat:"需要",cloud:"需要",mostbox:"不需要"},{feature:"传输限速",wechat:"有限制",cloud:"有限制",mostbox:"不限速"},{feature:"文件大小",wechat:"有限制",cloud:"有限制",mostbox:"无限制"},{feature:"中心化",wechat:"是",cloud:"是",mostbox:"否 (P2P)"},{feature:"端到端加密",wechat:"否",cloud:"部分",mostbox:"是"},{feature:"开源",wechat:"否",cloud:"否",mostbox:"MIT 协议"},{feature:"自托管",wechat:"否",cloud:"否",mostbox:"可以"}];e.s(["default",0,function(){return(0,t.jsx)(l.MarketingLayout,{children:(0,t.jsx)("main",{style:{paddingTop:64},children:(0,t.jsxs)("div",{style:{maxWidth:960,margin:"0 auto",padding:"48px 24px 80px"},children:[(0,t.jsx)("h1",{style:{fontSize:32,fontWeight:700,marginBottom:16,textAlign:"center"},children:"MostBox 文档"}),(0,t.jsx)("p",{style:{textAlign:"center",color:"var(--text-secondary)",marginBottom:48,maxWidth:"50ch",margin:"0 auto 48px"},children:"P2P 文件分享应用。基于 Hyperswarm/Hyperdrive 的去中心化文件分发。"}),(0,t.jsxs)("section",{style:{marginBottom:64},children:[(0,t.jsx)("h2",{style:{fontSize:20,fontWeight:600,marginBottom:16},children:"快速开始"}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:24},children:a.map(e=>(0,t.jsxs)("div",{style:{display:"flex",gap:16,alignItems:"flex-start"},children:[(0,t.jsx)("span",{style:{flexShrink:0,width:36,height:36,borderRadius:9999,background:"var(--accent)",color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:13,fontWeight:700},children:e.num}),(0,t.jsxs)("div",{style:{flex:1},children:[(0,t.jsx)("h4",{style:{fontSize:15,fontWeight:600,marginBottom:8},children:e.title}),(0,t.jsx)("p",{style:{fontSize:13,color:"var(--text-secondary)"},children:e.desc}),e.link&&(0,t.jsx)("p",{style:{marginTop:8},children:(0,t.jsxs)("a",{href:e.link,target:"_blank",rel:"noopener noreferrer",style:{fontSize:13,color:"var(--accent)"},children:[e.linkText," →"]})})]})]},e.num))})]}),(0,t.jsxs)("section",{style:{marginBottom:64},children:[(0,t.jsx)("h2",{style:{fontSize:20,fontWeight:600,marginBottom:16},children:"核心功能"}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:o.map(e=>(0,t.jsxs)("div",{style:{display:"flex",gap:12,alignItems:"flex-start"},children:[(0,t.jsx)("span",{style:{color:"var(--accent)",marginTop:2,flexShrink:0},children:(0,t.jsx)(n.Check,{size:16,strokeWidth:2})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("strong",{style:{display:"block",fontWeight:600,marginBottom:2},children:e.title}),(0,t.jsx)("span",{style:{color:"var(--text-secondary)",fontSize:13},children:e.desc})]})]},e.title))})]}),(0,t.jsxs)("section",{style:{marginBottom:64},children:[(0,t.jsx)("h2",{style:{fontSize:20,fontWeight:600,marginBottom:16},children:"为什么选择 MostBox?"}),(0,t.jsx)("div",{style:{overflowX:"auto"},children:(0,t.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13,fontFamily:"var(--font-mono)"},children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{style:{borderBottom:"2px solid var(--border-color)"},children:[(0,t.jsx)("th",{style:{textAlign:"left",padding:"12px 16px",fontWeight:600,fontSize:11,color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.05em"}}),(0,t.jsx)("th",{style:{textAlign:"center",padding:"12px 16px",fontWeight:600,fontSize:11,color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.05em"},children:"微信/QQ"}),(0,t.jsx)("th",{style:{textAlign:"center",padding:"12px 16px",fontWeight:600,fontSize:11,color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.05em"},children:"网盘"}),(0,t.jsx)("th",{style:{textAlign:"center",padding:"12px 16px",fontWeight:600,fontSize:11,color:"var(--accent)",textTransform:"uppercase",letterSpacing:"0.05em"},children:"MostBox"})]})}),(0,t.jsx)("tbody",{children:i.map(e=>(0,t.jsxs)("tr",{style:{borderBottom:"1px solid var(--border-color)"},children:[(0,t.jsx)("td",{style:{padding:"12px 16px"},children:e.feature}),(0,t.jsx)("td",{style:{padding:"12px 16px",textAlign:"center",color:"var(--text-secondary)"},children:e.wechat}),(0,t.jsx)("td",{style:{padding:"12px 16px",textAlign:"center",color:"var(--text-secondary)"},children:e.cloud}),(0,t.jsx)("td",{style:{padding:"12px 16px",textAlign:"center",color:"var(--accent)",fontWeight:600},children:e.mostbox})]},e.feature))})]})})]}),(0,t.jsx)("div",{style:{marginTop:48},children:(0,t.jsx)(r.default,{href:"/changelog/",style:{color:"var(--accent)",fontSize:14},children:"查看更新日志 →"})})]})})})}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return a},formatWithValidation:function(){return c},urlObjectKeys:function(){return i}};for(var l in n)Object.defineProperty(r,l,{enumerable:!0,get:n[l]});let o=e.r(90809)._(e.r(98183)),s=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,n=e.protocol||"",l=e.pathname||"",a=e.hash||"",i=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),i&&"object"==typeof i&&(i=String(o.urlQueryToSearchParams(i)));let d=e.search||i&&`?${i}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||s.test(n))&&!1!==c?(c="//"+(c||""),l&&"/"!==l[0]&&(l="/"+l)):c||(c=""),a&&"#"!==a[0]&&(a="#"+a),d&&"?"!==d[0]&&(d="?"+d),l=l.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${n}${c}${l}${d}${a}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return a(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return l}});let n=e.r(71645);function l(e,t){let r=(0,n.useRef)(null),l=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=l.current;t&&(l.current=null,t())}else e&&(r.current=o(e,n)),t&&(l.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(18967),l=e.r(52817);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,l.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return j}};for(var l in n)Object.defineProperty(r,l,{enumerable:!0,get:n[l]});let o=e.r(90809),s=e.r(43476),a=o._(e.r(71645)),i=e.r(95057),c=e.r(8372),d=e.r(18581),u=e.r(18967),h=e.r(5550);e.r(33525);let f=e.r(88540),p=e.r(91949),x=e.r(73668),g=e.r(9396);function y(t){var r,n;let l,o,y,[j,v]=(0,a.useOptimistic)(p.IDLE_LINK_STATUS),b=(0,a.useRef)(null),{href:k,as:S,children:w,prefetch:C=null,passHref:P,replace:M,shallow:_,scroll:O,onClick:B,onMouseEnter:N,onTouchStart:z,legacyBehavior:E=!1,onNavigate:L,transitionTypes:R,ref:T,unstable_dynamicOnHover:A,...W}=t;l=w,E&&("string"==typeof l||"number"==typeof l)&&(l=(0,s.jsx)("a",{children:l}));let I=a.default.useContext(c.AppRouterContext),U=!1!==C,$=!1!==C?null===(n=C)||"auto"===n?g.FetchStrategy.PPR:g.FetchStrategy.Full:g.FetchStrategy.PPR,K="string"==typeof(r=S||k)?r:(0,i.formatUrl)(r);if(E){if(l?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=a.default.Children.only(l)}let D=E?o&&"object"==typeof o&&o.ref:T,F=a.default.useCallback(e=>(null!==I&&(b.current=(0,p.mountLinkInstance)(e,K,I,$,U,v)),()=>{b.current&&((0,p.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,p.unmountPrefetchableInstance)(e)}),[U,K,I,$,v]),q={ref:(0,d.useMergedRef)(F,D),onClick(t){E||"function"!=typeof B||B(t),E&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!I||t.defaultPrevented||function(t,r,n,l,o,s,i){if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,x.isLocalURL)(r)){l&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),s){let e=!1;if(s({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(99781);a.default.startTransition(()=>{u(r,l?"replace":"push",!1===o?f.ScrollBehavior.NoScroll:f.ScrollBehavior.Default,n.current,i)})}}(t,K,b,M,O,L,R)},onMouseEnter(e){E||"function"!=typeof N||N(e),E&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),I&&U&&(0,p.onNavigationIntent)(e.currentTarget,!0===A)},onTouchStart:function(e){E||"function"!=typeof z||z(e),E&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),I&&U&&(0,p.onNavigationIntent)(e.currentTarget,!0===A)}};return(0,u.isAbsoluteUrl)(K)?q.href=K:E&&!P&&("a"!==o.type||"href"in o.props)||(q.href=(0,h.addBasePath)(K)),y=E?a.default.cloneElement(o,q):(0,s.jsx)("a",{...W,...q,children:l}),(0,s.jsx)(m.Provider,{value:j,children:y})}e.r(84508);let m=(0,a.createContext)(p.IDLE_LINK_STATUS),j=()=>(0,a.useContext)(m);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},96661,e=>{"use strict";e.s(["mergeClasses",0,(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()])},71987,88973,e=>{"use strict";e.s(["default",0,{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"}],71987),e.s(["hasA11yProp",0,e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1}],88973)},5014,e=>{"use strict";var t=e.i(71645),r=e.i(71987),n=e.i(88973),l=e.i(96661);let o=(0,t.createContext)({}),s=(0,t.forwardRef)(({color:e,size:s,strokeWidth:a,absoluteStrokeWidth:i,className:c="",children:d,iconNode:u,...h},f)=>{let{size:p=24,strokeWidth:x=2,absoluteStrokeWidth:g=!1,color:y="currentColor",className:m=""}=(0,t.useContext)(o)??{},j=i??g?24*Number(a??x)/Number(s??p):a??x;return(0,t.createElement)("svg",{ref:f,...r.default,width:s??p??r.default.width,height:s??p??r.default.height,stroke:e??y,strokeWidth:j,className:(0,l.mergeClasses)("lucide",m,c),...!d&&!(0,n.hasA11yProp)(h)&&{"aria-hidden":"true"},...h},[...u.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(d)?d:[d]])});e.s(["default",0,s],5014)},56420,e=>{"use strict";var t=e.i(71645),r=e.i(96661);let n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var l=e.i(5014);e.s(["default",0,(e,o)=>{let s=(0,t.forwardRef)(({className:s,...a},i)=>(0,t.createElement)(l.default,{ref:i,iconNode:o,className:(0,r.mergeClasses)(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,s),...a}));return s.displayName=n(e),s}],56420)},35965,96699,93583,e=>{"use strict";var t=e.i(56420);let r=(0,t.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",0,r],35965);let n=(0,t.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);e.s(["Moon",0,n],96699);let l=(0,t.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);e.s(["Menu",0,l],93583)},40983,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(22016),l=e.i(35965),o=e.i(96699),s=e.i(93583);function a({size:e=24}){return(0,t.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("rect",{x:"2",y:"2",width:"8",height:"8",rx:"2",fill:"var(--accent)",opacity:"0.4"}),(0,t.jsx)("rect",{x:"14",y:"2",width:"8",height:"8",rx:"2",fill:"var(--accent)",opacity:"0.7"}),(0,t.jsx)("rect",{x:"2",y:"14",width:"8",height:"8",rx:"2",fill:"var(--accent)",opacity:"0.7"}),(0,t.jsx)("rect",{x:"14",y:"14",width:"8",height:"8",rx:"2",fill:"var(--accent)"})]})}let i=[{href:"/docs/getting-started/",label:"文档"},{href:"/ping/",label:"网络"},{href:"/changelog/",label:"更新日志"}];function c(){let[e,c]=(0,r.useState)(!1),[d,u]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=localStorage.getItem("theme"),t=window.matchMedia("(prefers-color-scheme: dark)").matches;("dark"===e||!e&&t)&&u(!0)},[]),(0,r.useEffect)(()=>{document.documentElement.setAttribute("data-theme",d?"dark":"light"),localStorage.setItem("theme",d?"dark":"light")},[d]),(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("nav",{className:"mkt-nav",children:(0,t.jsxs)("div",{className:"mkt-nav-inner",children:[(0,t.jsxs)(n.default,{href:"/",className:"mkt-nav-logo",children:[(0,t.jsx)(a,{}),"MOST PEOPLE"]}),(0,t.jsxs)("div",{className:`mkt-nav-links ${e?"open":""}`,children:[i.map(e=>(0,t.jsx)(n.default,{href:e.href,onClick:()=>c(!1),children:e.label},e.href)),(0,t.jsxs)("button",{className:"mkt-theme-toggle mkt-mobile-only",onClick:()=>{u(!d),c(!1)},"aria-label":"切换主题",children:[d?(0,t.jsx)(l.Sun,{size:16}):(0,t.jsx)(o.Moon,{size:16}),d?" 亮色模式":" 暗色模式"]})]}),(0,t.jsxs)("div",{className:"mkt-nav-cta",children:[(0,t.jsx)("button",{className:"mkt-theme-toggle mkt-desktop-only",onClick:()=>u(!d),"aria-label":"切换主题",children:d?(0,t.jsx)(l.Sun,{size:16}):(0,t.jsx)(o.Moon,{size:16})}),(0,t.jsx)(n.default,{href:"/app/",className:"mkt-btn-primary",children:"开始使用"}),(0,t.jsx)("button",{className:"mkt-nav-mobile-toggle",onClick:()=>c(!e),"aria-label":"菜单",children:(0,t.jsx)(s.Menu,{size:24})})]})]})})})}let d=[{href:"/",label:"关于"},{href:"/docs/getting-started/",label:"文档"},{href:"/changelog/",label:"更新日志"},{href:"https://github.com/most-people/most",label:"GitHub",external:!0}];function u(){return(0,t.jsx)("footer",{className:"mkt-footer",children:(0,t.jsx)("div",{className:"mkt-container",children:(0,t.jsxs)("div",{className:"mkt-footer-inner",children:[(0,t.jsx)("div",{className:"mkt-footer-links",children:d.map(e=>(0,t.jsx)(n.default,{href:e.href,...e.external?{target:"_blank",rel:"noopener noreferrer"}:{},children:e.label},e.href))}),(0,t.jsxs)("span",{className:"mkt-footer-copy",children:["© ",new Date().getFullYear()," MOST PEOPLE · MIT License"]})]})})})}e.s(["MarketingLayout",0,function({children:e}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c,{}),e,(0,t.jsx)(u,{})]})}],40983)},36331,e=>{"use strict";var t=e.i(43476),r=e.i(22016),n=e.i(40983);e.s(["default",0,function(){return(0,t.jsx)(n.MarketingLayout,{children:(0,t.jsx)("main",{style:{paddingTop:64},children:(0,t.jsxs)("div",{style:{maxWidth:720,margin:"0 auto",padding:"48px 24px 80px"},children:[(0,t.jsx)("h1",{style:{fontSize:28,fontWeight:700,marginBottom:8},children:"快速开始"}),(0,t.jsx)("p",{style:{color:"var(--text-secondary)",marginBottom:32},children:"下载桌面客户端,获得完整的 P2P 体验。"}),(0,t.jsxs)("section",{style:{marginBottom:40},children:[(0,t.jsxs)("div",{style:{display:"flex",gap:16,alignItems:"flex-start",marginBottom:24},children:[(0,t.jsx)("span",{style:{flexShrink:0,width:36,height:36,borderRadius:9999,background:"var(--accent)",color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:13,fontWeight:700},children:"1"}),(0,t.jsxs)("div",{style:{flex:1},children:[(0,t.jsx)("h2",{style:{fontSize:18,fontWeight:600,marginBottom:8},children:"下载桌面客户端"}),(0,t.jsx)("p",{style:{fontSize:14,color:"var(--text-secondary)",marginBottom:12},children:"支持 Windows、macOS 和 Linux。数据完全本地存储,无需上传到任何服务器。"}),(0,t.jsx)(r.default,{href:"/download",style:{color:"var(--accent)",fontSize:14},children:"前往下载页 →"})]})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:16,alignItems:"flex-start",marginBottom:24},children:[(0,t.jsx)("span",{style:{flexShrink:0,width:36,height:36,borderRadius:9999,background:"var(--accent)",color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:13,fontWeight:700},children:"2"}),(0,t.jsxs)("div",{style:{flex:1},children:[(0,t.jsx)("h2",{style:{fontSize:18,fontWeight:600,marginBottom:8},children:"安装并运行"}),(0,t.jsx)("p",{style:{fontSize:14,color:"var(--text-secondary)",marginBottom:12},children:"安装后打开应用,即可使用 P2P 文件分享和加密聊天功能。"})]})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:16,alignItems:"flex-start"},children:[(0,t.jsx)("span",{style:{flexShrink:0,width:36,height:36,borderRadius:9999,background:"var(--accent)",color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:13,fontWeight:700},children:"3"}),(0,t.jsxs)("div",{style:{flex:1},children:[(0,t.jsx)("h2",{style:{fontSize:18,fontWeight:600,marginBottom:8},children:"开始使用"}),(0,t.jsx)("p",{style:{fontSize:14,color:"var(--text-secondary)"},children:"上传文件生成分享链接,或创建频道与朋友聊天。"})]})]})]}),(0,t.jsxs)("section",{style:{marginBottom:40,padding:20,background:"var(--bg-secondary)",border:"1px solid var(--border-color)",borderRadius:12},children:[(0,t.jsx)("h3",{style:{fontSize:16,fontWeight:600,marginBottom:12},children:"Web 端 vs 桌面端"}),(0,t.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{style:{borderBottom:"1px solid var(--border-color)"},children:[(0,t.jsx)("th",{style:{textAlign:"left",padding:"8px 0",fontWeight:600},children:"功能"}),(0,t.jsx)("th",{style:{textAlign:"left",padding:"8px 0",fontWeight:600},children:"Web 端"}),(0,t.jsx)("th",{style:{textAlign:"left",padding:"8px 0",fontWeight:600},children:"桌面端"})]})}),(0,t.jsxs)("tbody",{children:[(0,t.jsxs)("tr",{style:{borderBottom:"1px solid var(--border-color)"},children:[(0,t.jsx)("td",{style:{padding:"8px 0"},children:"P2P 文件分享"}),(0,t.jsx)("td",{style:{padding:"8px 0",color:"var(--warning)"},children:"仅展示"}),(0,t.jsx)("td",{style:{padding:"8px 0",color:"var(--success)"},children:"完整"})]}),(0,t.jsxs)("tr",{style:{borderBottom:"1px solid var(--border-color)"},children:[(0,t.jsx)("td",{style:{padding:"8px 0"},children:"P2P 加密聊天"}),(0,t.jsx)("td",{style:{padding:"8px 0",color:"var(--warning)"},children:"仅展示"}),(0,t.jsx)("td",{style:{padding:"8px 0",color:"var(--success)"},children:"完整"})]}),(0,t.jsxs)("tr",{style:{borderBottom:"1px solid var(--border-color)"},children:[(0,t.jsx)("td",{style:{padding:"8px 0"},children:"文件存储"}),(0,t.jsx)("td",{style:{padding:"8px 0",color:"var(--text-secondary)"},children:"不支持"}),(0,t.jsx)("td",{style:{padding:"8px 0",color:"var(--success)"},children:"持久化存储"})]}),(0,t.jsxs)("tr",{style:{borderBottom:"1px solid var(--border-color)"},children:[(0,t.jsx)("td",{style:{padding:"8px 0"},children:"离线消息"}),(0,t.jsx)("td",{style:{padding:"8px 0",color:"var(--text-secondary)"},children:"不支持"}),(0,t.jsx)("td",{style:{padding:"8px 0",color:"var(--success)"},children:"支持"})]}),(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{style:{padding:"8px 0"},children:"大文件传输"}),(0,t.jsx)("td",{style:{padding:"8px 0",color:"var(--text-secondary)"},children:"不支持"}),(0,t.jsx)("td",{style:{padding:"8px 0",color:"var(--success)"},children:"无限制"})]})]})]})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:24},children:[(0,t.jsx)(r.default,{href:"/docs/",style:{color:"var(--accent)",fontSize:14},children:"← 文档首页"}),(0,t.jsx)(r.default,{href:"/changelog/",style:{color:"var(--accent)",fontSize:14},children:"更新日志 →"})]})]})})})}])}]);
@@ -0,0 +1,2 @@
1
+ :root{--bg-primary:#f5f5f7;--bg-secondary:#fff;--bg-tertiary:#e8e8ed;--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-muted:#86868b;--border-color:#0000000f;--accent:#5e6ad2;--accent-hover:#6e7ae0;--accent-soft:#5e6ad21f;--danger:#ff3b30;--success:#34c759;--warning:#ff9500;--info:#5ac8fa;--glass-bg:#ffffff73;--glass-bg-heavy:#ffffffe6;--glass-bg-subtle:#ffffff40;--glass-bg-solid:#fffc;--glass-border:#6161611a;--glass-border-strong:#616161b3;--glass-highlight:#fff9;--glass-shadow:0 8px 32px #00000014;--glass-shadow-lg:0 16px 48px #0000001f;--glass-shadow-inset:inset 0 1px 0 #fff9;--blur-sm:blur(8px);--blur-md:blur(16px);--blur-lg:blur(24px);--blur-xl:blur(32px);--blur-2xl:blur(40px);--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000a;--shadow:0 2px 8px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001a;--shadow-xl:0 16px 48px #0000001f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--transition:.25s cubic-bezier(.4, 0, .2, 1);--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-spring:.35s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--bg-primary:#000;--bg-secondary:#0a0a0a;--bg-tertiary:#141416;--text-primary:#f5f5f7;--text-secondary:#a1a1a6;--text-muted:#6e6e73;--border-color:#ffffff14;--accent:#5e6ad2;--accent-hover:#6e7ae0;--accent-soft:#5e6ad226;--danger:#ff453a;--success:#30d158;--warning:#ff9f0a;--info:#64d2ff;--glass-bg:#1c1c1e73;--glass-bg-heavy:#1c1c1ee6;--glass-bg-subtle:#1c1c1e40;--glass-bg-solid:#1c1c1ecc;--glass-border:#ffffff1a;--glass-border-strong:#ffffff26;--glass-highlight:#ffffff14;--glass-shadow:0 8px 32px #0000004d;--glass-shadow-lg:0 16px 48px #0006;--glass-shadow-inset:inset 0 1px 0 #ffffff0f}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(80% 60% at 20% 10%,#5e6ad214 0%,#0000 60%),radial-gradient(60% 80% at 80% 90%,#5ac8fa0f 0%,#0000 60%),radial-gradient(50% 50%,#34c7590a 0%,#0000 60%);position:fixed;inset:0}[data-theme=dark] body:before{background:radial-gradient(80% 60% at 20% 10%,#5e6ad21f 0%,#0000 60%),radial-gradient(60% 80% at 80% 90%,#5ac8fa14 0%,#0000 60%),radial-gradient(50% 50%,#34c7590d 0%,#0000 60%)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full);opacity:.5}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}a{color:var(--accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}button{font-family:var(--font-sans);cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.backend-error-page{min-height:60vh;padding:var(--space-8);justify-content:center;align-items:center;display:flex}.backend-error-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--blur-lg);backdrop-filter:var(--blur-lg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-12);text-align:center;width:100%;max-width:480px;box-shadow:var(--glass-shadow-lg);animation:.3s ease-out scaleIn}.backend-error-icon{margin-bottom:var(--space-4);font-size:48px}.backend-error-card h2{margin-bottom:var(--space-3);font-size:24px;font-weight:600}.backend-error-url{margin-bottom:var(--space-2)}.backend-error-url code{background:var(--glass-bg-solid);border-radius:var(--radius-sm);font-family:var(--font-mono);word-break:break-all;padding:4px 10px;font-size:14px}.backend-error-desc{color:var(--text-secondary);margin-bottom:var(--space-6);font-size:14px}.backend-error-form{gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.backend-error-input{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-subtle);-webkit-backdrop-filter:var(--blur-sm);backdrop-filter:var(--blur-sm);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);transition:border-color var(--transition-fast);outline:none;flex:1;padding:10px 14px}.backend-error-input:focus{border-color:var(--accent)}.backend-error-input::placeholder{color:var(--text-muted)}.backend-error-btn{border-radius:var(--radius-md);font-size:14px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;padding:10px 20px}.backend-error-btn.primary{background:var(--accent);color:#fff;border:none}.backend-error-btn.primary:hover:not(:disabled){background:var(--accent-hover)}.backend-error-btn.primary:disabled{opacity:.5;cursor:not-allowed}.backend-error-btn.secondary{color:var(--accent);border:1px solid var(--glass-border);background:var(--glass-bg-subtle)}.backend-error-btn.secondary:hover{background:var(--accent-soft)}.not-found-page{min-height:100dvh;padding:var(--space-8);justify-content:center;align-items:center;display:flex}.not-found-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--blur-lg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-12) var(--space-10);text-align:center;width:100%;max-width:420px;box-shadow:var(--glass-shadow-lg);animation:.35s cubic-bezier(.34,1.56,.64,1) both scaleIn}.not-found-icon{border-radius:var(--radius-full);background:var(--accent-soft);width:88px;height:88px;color:var(--accent);margin-bottom:var(--space-6);justify-content:center;align-items:center;display:inline-flex}.not-found-title{margin-bottom:var(--space-3);color:var(--text-primary);font-size:22px;font-weight:600}.not-found-desc{color:var(--text-secondary);margin-bottom:var(--space-8);font-size:15px;line-height:1.6}.not-found-actions{justify-content:center;align-items:center;gap:var(--space-3);display:flex}.not-found-btn-primary{justify-content:center;align-items:center;gap:var(--space-2);color:#fff;background:var(--accent);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.not-found-btn-primary:hover{background:var(--accent-hover);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px #bd42454d}.not-found-btn-secondary{justify-content:center;align-items:center;gap:var(--space-2);color:var(--text-primary);background:var(--glass-bg-subtle);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);padding:10px 20px;font-size:14px;font-weight:500;display:inline-flex}.not-found-btn-secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--glass-bg);transform:translateY(-1px)}@media (max-width:480px){.not-found-card{padding:var(--space-8) var(--space-5)}.not-found-actions{flex-direction:column;width:100%}.not-found-btn-primary,.not-found-btn-secondary{width:100%}}
2
+ .app-layout{height:100vh;color:var(--text-primary);background:0 0;display:flex;overflow:hidden}.backend-warning-bar{background:var(--warning);color:#fff;border-radius:var(--radius-sm);box-sizing:border-box;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px 16px;font-size:13px;font-weight:500;display:flex}.backend-warning-bar button{color:#fff;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:18px;line-height:1}.sidebar{background:var(--glass-bg-heavy);width:200px;height:100vh;-webkit-backdrop-filter:var(--blur-xl);border-right:1px solid var(--glass-border);box-shadow:var(--glass-shadow-inset);transition:width var(--transition), transform var(--transition);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.sidebar.collapsed{border:none;width:0;overflow:hidden}.sidebar .sidebar-header{border-bottom:1px solid var(--glass-border);align-items:center;min-height:64px;padding:14px 16px;display:flex}.sidebar .sidebar-header h1{background:linear-gradient(135deg, var(--accent), var(--info));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.sidebar .sidebar-nav{flex:1;padding:12px 8px}.sidebar .sidebar-nav-btn{border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:10px;margin-bottom:4px;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.sidebar .sidebar-nav-btn.active{background:var(--accent-soft);color:var(--accent);box-shadow:var(--glass-shadow-inset);font-weight:600}.sidebar .sidebar-nav-btn:hover:not(.active){background:var(--glass-bg-subtle);color:var(--text-primary)}.sidebar .sidebar-footer{border-top:1px solid var(--glass-border);padding:12px 16px}.sidebar .sidebar-footer-label{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:6px;font-size:11px;display:flex}.sidebar .storage-bar{border-radius:var(--radius-full);background:var(--glass-bg-subtle);height:4px;overflow:hidden}.sidebar .storage-bar-fill{background:linear-gradient(90deg, var(--accent), var(--info));border-radius:var(--radius-full);height:100%;transition:width .3s}.sidebar .storage-info{color:var(--text-secondary);justify-content:space-between;margin-top:4px;font-size:10px;display:flex}.sidebar .chat-sidebar-footer{border-top:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.sidebar .user-info{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.sidebar .user-avatar{border-radius:var(--radius-sm);background:var(--glass-bg-subtle);width:24px;height:24px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar .user-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sidebar .login-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;transition:all var(--transition-fast);border:none;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:500}.sidebar .login-btn:hover{opacity:.85;transform:scale(1.02)}.sidebar .logout-btn{border-radius:var(--radius-sm);border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:500}.sidebar .logout-btn:hover{background:var(--glass-bg-subtle);color:var(--text-primary)}.sidebar .sidebar-tools{border-top:1px solid var(--glass-border);padding:12px 8px}.sidebar .sidebar-tools-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:6px;padding-left:12px;font-size:11px;font-weight:500;display:flex}.sidebar-overlay{display:none}.sidebar-toggle-btn{display:flex}.mobile-menu-btn{display:none}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--glass-border);background:var(--glass-bg);min-height:64px;-webkit-backdrop-filter:var(--blur-lg);box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.app-header .header-left{align-items:center;gap:12px;display:flex}.app-header .header-title{font-size:16px;font-weight:600}.app-header .header-badge{border-radius:var(--radius-full);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);color:var(--text-secondary);align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:flex}.app-header .header-badge-dot{background:var(--warning);border-radius:50%;width:6px;height:6px}.app-header .header-badge-dot.connected{background:var(--success)}.app-header .header-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search-box{border-radius:var(--radius-md);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);align-items:center;gap:8px;padding:6px 12px;display:flex}.search-box input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;padding-left:2px;font-size:12px}.search-box button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:0;display:flex}.icon-btn{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg-subtle);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:relative}.icon-btn:hover{background:var(--glass-bg);color:var(--text-primary);border-color:var(--glass-border-strong)}.icon-btn.accent,.icon-btn.theme-toggle{color:var(--accent)}.icon-btn-badge{background:var(--danger);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.action-grid{grid-template-columns:1fr 1fr;gap:12px;padding:16px 24px;display:grid;position:relative}.action-card{border:1.5px dashed var(--glass-border-strong);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:var(--glass-bg-subtle);-webkit-backdrop-filter:var(--blur-sm);transition:all var(--transition);padding:20px;position:relative}.action-card:hover{background:var(--glass-bg);border-color:var(--accent);box-shadow:var(--glass-shadow)}.action-card p{color:var(--accent);font-size:12px;font-weight:500}.action-card.upload.drag-over{border-color:var(--accent);background:var(--accent-soft)}.action-card-download p{color:var(--info)}.action-card-input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;position:absolute;inset:0}.breadcrumb{align-items:center;gap:4px;padding:0 24px;font-size:12px;display:flex}.breadcrumb button{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:2px 4px}.breadcrumb button:hover{color:var(--text-primary);background:var(--glass-bg-subtle)}.breadcrumb button.current{color:var(--text-secondary);font-weight:500}.breadcrumb .breadcrumb-edit-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;align-items:center;padding:2px;display:flex}.content-grid{flex:1;padding:12px 24px;overflow:auto}.file-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;display:grid}.empty-state{text-align:center;color:var(--text-muted);padding:48px;font-size:13px}.empty-state.glass{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-12) var(--space-6);background:var(--glass-bg-subtle);border:1px dashed var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:var(--blur-sm);backdrop-filter:var(--blur-sm);flex-direction:column;display:flex}.empty-state.glass p{max-width:320px;font-size:14px;line-height:1.6}.empty-state-icon{border-radius:var(--radius-full);background:var(--glass-bg);width:64px;height:64px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.card{border-radius:var(--radius-lg);cursor:pointer;background:var(--glass-bg-subtle);-webkit-backdrop-filter:var(--blur-md);border:1px solid var(--glass-border);transition:all var(--transition);box-shadow:var(--glass-shadow-inset);flex-direction:column;align-items:center;padding:16px;display:flex}.card:hover{border-color:var(--glass-border-strong);background:var(--glass-bg);box-shadow:var(--glass-shadow);transform:translateY(-2px)}.card.selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--glass-shadow)}.card-icon{border-radius:var(--radius-md);width:56px;height:56px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;margin-bottom:10px;display:flex}.card-icon.folder{background:linear-gradient(135deg,#818cf8,#6366f1)}.card-icon.file{background:linear-gradient(135deg,#a78bfa,#8b5cf6)}.card-icon.starred{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.card-icon.trash{background:linear-gradient(135deg,#94a3b8,#64748b)}.card-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-primary);font-size:12px;font-weight:500;overflow:hidden}.card-date{color:var(--text-muted);margin-top:2px;font-size:10px}.modal-overlay{z-index:200;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-overlay-backdrop{z-index:0;-webkit-backdrop-filter:var(--blur-xl);pointer-events:none;background:#0000004d;position:absolute;inset:0}.modal-glass{z-index:1;border-radius:var(--radius-lg);background:var(--glass-bg-heavy);width:380px;max-width:calc(100vw - 32px);-webkit-backdrop-filter:var(--blur-2xl);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-lg), var(--glass-shadow-inset);padding:24px;animation:.25s scaleIn;position:relative}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header h3{font-size:16px;font-weight:600}.modal-header button{cursor:pointer;color:var(--text-muted);background:0 0;border:none}.modal-close-btn{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.modal-close-btn:hover{background:var(--glass-bg-subtle);color:var(--text-primary)}.welcome-modal{text-align:center}.welcome-modal h2{margin-bottom:12px;font-size:18px;font-weight:600}.welcome-modal p{color:var(--text-secondary);margin-bottom:20px;font-size:13px;line-height:1.6}.welcome-steps{justify-content:center;gap:6px;margin-bottom:20px;display:flex}.welcome-step-dot{background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:50%;width:6px;height:6px}.welcome-step-dot.active{background:var(--accent);border-color:var(--accent)}.welcome-actions{justify-content:center;gap:10px;display:flex}.welcome-success-icon{background:#34c75926;border:1px solid #34c7594d;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 16px;display:flex}.btn{border-radius:var(--radius-md);border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition);background:var(--glass-bg-subtle);-webkit-backdrop-filter:var(--blur-sm);justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:500;display:inline-flex}.btn.primary{background:var(--accent);color:#fff;border-color:#0000}.btn.primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #5e6ad24d}.btn.secondary{color:var(--text-secondary)}.btn.secondary:hover:not(:disabled){background:var(--glass-bg);color:var(--text-primary);border-color:var(--glass-border-strong)}.btn.danger{background:var(--danger);color:#fff;border-color:#0000}.btn.danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #ff3b304d}.btn.danger-hover{color:var(--text-muted)}.btn.danger-hover:hover:not(:disabled){color:var(--danger);background:#ff3b3014;border-color:#ff3b3033}.btn.small{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:4px;padding:6px 12px;font-size:13px;display:inline-flex}.btn.small:hover:not(:disabled){background:var(--glass-bg)}.btn.full{justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.btn:disabled{opacity:.5;cursor:not-allowed}.settings-modal .settings-title{color:var(--text-primary);font-size:18px;font-weight:600}.settings-modal .settings-label{color:var(--text-primary);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.settings-modal .settings-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-modal .settings-input{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg-subtle);color:var(--text-primary);transition:all var(--transition-fast);outline:none;flex:1;padding:10px 12px;font-size:13px}.settings-modal .settings-input:focus{border-color:var(--accent);background:var(--glass-bg);box-shadow:0 0 0 3px var(--accent-soft)}.settings-modal .settings-hint{color:var(--text-muted);margin-top:8px;font-size:11px}.settings-modal .settings-divider{border-top:1px solid var(--glass-border);padding-top:16px}.settings-modal .settings-about{text-align:center;margin-bottom:16px}.settings-modal .settings-about h3{color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:600}.settings-modal .settings-about p{color:var(--text-muted);font-size:12px}.network-addresses{flex-direction:column;gap:8px;margin-top:8px;display:flex}.address-item{background:var(--glass-bg-subtle);border-radius:var(--radius-md);border:1px solid var(--glass-border);align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.address-type{border-radius:var(--radius-sm);white-space:nowrap;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.address-type-local{color:var(--text-secondary);background:#64748b26}.address-type-lan{background:var(--accent-soft);color:var(--accent)}.address-type-tailscale{color:var(--success);background:#34c7591f}.address-type-zerotier{color:var(--info);background:#5ac8fa1f}.address-url{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.page-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.page-title{font-size:20px;font-weight:600}.qr-wrap{padding:var(--space-4);border-radius:var(--radius-lg);width:fit-content;margin:0 auto var(--space-3);background:#fff;justify-content:center;display:flex}.page-footer{align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-direction:column;display:flex}.input-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--blur-md);backdrop-filter:var(--blur-md);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-6);box-shadow:var(--glass-shadow)}.copy-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:4px;padding:4px;display:flex;position:relative}.copy-btn:hover{color:var(--accent);background:var(--accent-soft)}.copy-hint{background:var(--glass-bg-heavy);border:1px solid var(--glass-border);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;padding:2px 8px;font-size:11px;animation:.15s fadeIn;position:absolute;top:-22px;right:0}.back-btn{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg-subtle);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.back-btn:hover{background:var(--glass-bg);color:var(--text-primary)}.input,.textarea{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-subtle);width:100%;-webkit-backdrop-filter:var(--blur-sm);backdrop-filter:var(--blur-sm);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);transition:border-color var(--transition-fast);outline:none;padding:12px 14px}.input:focus,.textarea:focus{border-color:var(--accent)}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.input-wrap{position:relative}.input-wrap .input{padding-right:40px}.input-eye{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.input-eye:hover{color:var(--text-primary)}.loading-spinner{border:2px solid var(--glass-border);border-top-color:var(--accent);border-radius:var(--radius-full);width:32px;height:32px;margin:auto;animation:.8s linear infinite spin}.mono{font-family:var(--font-mono);word-break:break-all;color:var(--text-primary);flex:1;font-size:12px}.mono-row{align-items:center;gap:var(--space-2);background:var(--glass-bg-subtle);border-radius:var(--radius-md);padding:10px 12px;display:flex}.mono-row.danger{background:#ff3b3014}.mono-row.danger .mono{color:var(--danger)}.link{color:var(--accent);align-items:center;gap:4px;font-size:13px;display:inline-flex}.inline-link{color:var(--accent);margin-top:var(--space-1);align-items:center;gap:4px;font-size:13px;display:inline-flex}.tool-link{align-items:center;gap:var(--space-2);background:var(--glass-bg);-webkit-backdrop-filter:var(--blur-md);backdrop-filter:var(--blur-md);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--accent);transition:all var(--transition-fast);padding:10px 20px;font-size:14px;font-weight:500;display:inline-flex}.tool-link:hover{background:var(--accent-soft)}.hint-text{color:var(--text-muted);font-size:12px}.textarea.mono{font-family:var(--font-mono);resize:none;font-size:12px}.danger{color:var(--danger)}.guide-toggle{width:100%;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;margin-top:8px;padding:10px 12px;font-size:13px;display:flex}.guide-toggle:hover{color:var(--text-primary);background:var(--glass-bg-subtle)}.guide-content{background:var(--glass-bg-subtle);border-radius:var(--radius-md);border:1px solid var(--glass-border);flex-direction:column;gap:16px;margin-top:12px;padding:16px;display:flex}.guide-item{background:var(--glass-bg);border-radius:var(--radius-sm);border:1px solid var(--glass-border);flex-direction:column;gap:4px;padding:12px;font-size:13px;display:flex}.guide-item strong{color:var(--text-primary);font-size:14px}.guide-item span{color:var(--text-secondary);line-height:1.5}.guide-item a{color:var(--accent);font-size:12px;text-decoration:none}.guide-item a:hover{text-decoration:underline}.guide-item code{background:var(--glass-bg-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);word-break:break-all;border:1px solid var(--glass-border);margin-top:4px;padding:6px 10px;font-size:12px}.input-modal h3{color:var(--text-primary);margin-bottom:16px;font-size:16px;font-weight:600}.modal-input{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg-subtle);width:100%;color:var(--text-primary);transition:all var(--transition-fast);outline:none;margin-bottom:16px;padding:10px 12px;font-size:13px}.modal-input:focus{border-color:var(--accent);background:var(--glass-bg);box-shadow:0 0 0 3px var(--accent-soft)}.modal-actions{gap:8px;display:flex}.modal-actions .btn{border-radius:var(--radius-md);flex:1;padding:10px;font-size:13px}.confirm-modal h3{color:var(--text-primary);margin-bottom:12px;font-size:16px;font-weight:600}.confirm-modal p{color:var(--text-secondary);margin-bottom:20px;font-size:13px}.move-modal .move-breadcrumb{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.move-modal .move-breadcrumb-btn{border-radius:var(--radius-sm);background:var(--glass-bg-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border:none;padding:4px 8px;font-size:12px}.move-modal .move-breadcrumb-btn:hover{background:var(--glass-bg)}.move-modal .move-breadcrumb-btn.active{background:var(--accent-soft);color:var(--accent)}.move-modal .move-folder-list{max-height:200px;margin-bottom:16px;overflow:auto}.move-modal .move-folder-item{border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--text-primary);text-align:left;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.move-modal .move-folder-item:hover{background:var(--glass-bg-subtle)}.move-modal .move-folder-item.selected{background:var(--accent-soft);color:var(--accent)}.move-modal .move-new-folder{gap:8px;margin-bottom:16px;display:flex}.move-modal .move-new-folder input{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--glass-bg-subtle);color:var(--text-primary);transition:all var(--transition-fast);outline:none;flex:1;padding:8px 10px;font-size:12px}.move-modal .move-new-folder input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.share-modal .share-link-box{gap:10px;margin-bottom:16px;display:flex}.share-modal .share-link-text{border-radius:var(--radius-md);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);font-size:13px;font-family:var(--font-mono);color:var(--text-primary);word-break:break-all;flex:1;padding:12px 14px}.share-modal .share-copy-btn{border-radius:var(--radius-md);background:var(--accent);color:#fff;cursor:pointer;width:44px;transition:all var(--transition-fast);border:none}.share-modal .share-copy-btn:hover{background:var(--accent-hover);transform:scale(1.05)}.share-modal .share-copy-btn.copied{background:var(--success)}.download-modal .download-input{border-radius:var(--radius-md);border:1px solid var(--glass-border);width:100%;font-size:13px;font-family:var(--font-mono);background:var(--glass-bg-subtle);color:var(--text-primary);transition:all var(--transition-fast);outline:none;margin-bottom:16px;padding:12px 14px}.download-modal .download-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.download-modal .download-btn{border-radius:var(--radius-md);background:var(--info);color:#fff;cursor:pointer;width:100%;transition:all var(--transition-fast);border:none;padding:12px;font-size:13px;font-weight:600}.download-modal .download-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #5ac8fa4d}.download-modal .download-btn:disabled{background:var(--glass-bg-subtle);color:var(--text-muted);cursor:not-allowed}.preview-overlay{z-index:200;-webkit-backdrop-filter:var(--blur-lg);background:#000000d9;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.preview-overlay .preview-close{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg-subtle);width:36px;height:36px;-webkit-backdrop-filter:var(--blur-sm);cursor:pointer;color:#fff;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px}.preview-overlay .preview-close:hover{background:var(--glass-bg);transform:scale(1.05)}.preview-overlay img,.preview-overlay video{border-radius:var(--radius-lg);max-width:100%;max-height:80vh;box-shadow:var(--glass-shadow-lg)}.preview-overlay .preview-audio{background:var(--glass-bg-heavy);-webkit-backdrop-filter:var(--blur-2xl);border:1px solid var(--glass-border);border-radius:var(--radius-lg);min-width:320px;box-shadow:var(--glass-shadow-lg), var(--glass-shadow-inset);flex-direction:column;align-items:center;gap:20px;padding:40px 48px;display:flex}.preview-overlay .preview-audio-icon{background:var(--accent-soft);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.preview-overlay .preview-audio-filename{color:var(--text-secondary);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;font-size:14px;overflow:hidden}.preview-overlay .preview-audio-player{width:100%;max-width:400px;height:40px}.batch-bar{border-radius:var(--radius-lg);background:var(--glass-bg-heavy);-webkit-backdrop-filter:var(--blur-2xl);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-lg), var(--glass-shadow-inset);z-index:100;align-items:center;gap:8px;padding:10px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.batch-bar .batch-info{color:var(--text-secondary);font-size:12px}.batch-bar .batch-dismiss{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:4px}.batch-bar .batch-divider{background:var(--glass-border);width:1px;height:20px}.transfer-modal{max-height:70vh;overflow:auto}.transfer-modal .transfer-item{border-bottom:1px solid var(--glass-border);padding:10px 0}.transfer-modal .transfer-item-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.transfer-modal .transfer-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}.transfer-modal .transfer-item-cancel{cursor:pointer;color:var(--danger);background:0 0;border:none;padding:2px}.transfer-modal .transfer-progress-row{align-items:center;gap:8px;display:flex}.transfer-modal .transfer-progress-bar{border-radius:var(--radius-full);background:var(--glass-bg-subtle);flex:1;height:4px}.transfer-modal .transfer-progress-fill{border-radius:var(--radius-full);background:var(--accent);height:100%;transition:width .2s}.transfer-modal .transfer-progress-fill.download{background:var(--info)}.transfer-modal .transfer-progress-fill.error{background:var(--danger)}.transfer-modal .transfer-progress-fill.cancelled{background:var(--warning)}.transfer-modal .transfer-progress-text{color:var(--text-muted);text-align:right;min-width:32px;font-size:10px}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast{z-index:9999;border-radius:var(--radius-lg);box-shadow:var(--glass-shadow-lg);-webkit-backdrop-filter:var(--blur-lg);border:1px solid var(--glass-border);padding:12px 20px;font-size:13px;font-weight:500;animation:.25s toastSlideIn;position:fixed;right:24px}.toast.success{color:#fff;background:#34c75999}.toast.error{color:#fff;background:#ff3b3099}.toast.warning{color:#fff;background:#ff950099}.toast.info{color:#fff;background:#5ac8fa99}.welcome-path-section{text-align:left;margin-bottom:20px}.welcome-path-section .path-label{color:var(--text-muted);margin-bottom:4px;font-size:12px}.welcome-path-section .path-value{color:var(--text-primary);font-size:12px;font-family:var(--font-mono);background:var(--glass-bg-subtle);border-radius:var(--radius-sm);word-break:break-all;border:1px solid var(--glass-border);margin-bottom:12px;padding:8px 10px}.welcome-path-section .path-input{border-radius:var(--radius-sm);border:1px solid var(--glass-border);box-sizing:border-box;background:var(--glass-bg-subtle);width:100%;color:var(--text-primary);transition:all var(--transition-fast);outline:none;padding:10px 12px;font-size:13px}.welcome-path-section .path-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.welcome-path-section .path-hint{color:var(--text-muted);margin-top:4px;font-size:11px}.login-modal-overlay{z-index:200;-webkit-backdrop-filter:var(--blur-xl);background:#0000004d;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.login-modal{border-radius:var(--radius-lg);background:var(--glass-bg-heavy);width:320px;max-width:calc(100vw - 32px);-webkit-backdrop-filter:var(--blur-2xl);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-lg), var(--glass-shadow-inset);padding:24px;animation:.25s scaleIn}.login-modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.login-modal-header h3{color:var(--text-primary);font-size:16px;font-weight:600}.login-modal-close{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.login-modal-close:hover{color:var(--text-primary);background:var(--glass-bg-subtle)}.login-avatar-preview{border-radius:var(--radius-md);width:64px;height:64px;margin:0 auto 8px;display:block}.user-avatar-img{border-radius:var(--radius-sm);flex-shrink:0;width:24px;height:24px}.msg-avatar{border-radius:var(--radius-sm);flex-shrink:0;width:28px;height:28px;margin-right:10px}.login-modal-body{flex-direction:column;gap:12px;display:flex}.login-tip{color:var(--text-secondary);text-align:center;margin-bottom:4px;font-size:13px}.login-input{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg-subtle);width:100%;color:var(--text-primary);box-sizing:border-box;transition:all var(--transition-fast);outline:none;padding:10px 12px;font-size:13px}.login-input::placeholder{color:var(--text-muted)}.login-input:focus{border-color:var(--accent);background:var(--glass-bg);box-shadow:0 0 0 3px var(--accent-soft)}.login-password-wrapper{align-items:center;display:flex;position:relative}.login-password-wrapper .login-input{padding-right:40px}.login-password-toggle{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:10px}.login-password-toggle:hover{color:var(--text-primary);background:var(--glass-bg-subtle)}.login-submit{border-radius:var(--radius-md);background:var(--accent);color:#fff;cursor:pointer;width:100%;transition:all var(--transition-fast);border:none;padding:10px;font-size:13px;font-weight:600}.login-submit:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #5e6ad24d}.login-submit:disabled{opacity:.5;cursor:not-allowed}.preview-text-container{background:var(--glass-bg-heavy);width:90vw;max-width:900px;max-height:80vh;-webkit-backdrop-filter:var(--blur-2xl);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow-lg), var(--glass-shadow-inset);flex-direction:column;padding:20px;display:flex;overflow:auto}.preview-text-header{border-bottom:1px solid var(--glass-border);color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;font-size:13px;display:flex}.preview-text{color:var(--text-primary);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;max-height:100%;margin:0;font-size:13px;line-height:1.6;overflow:auto}.preview-text-loading{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.preview-text-spinner{opacity:.6;animation:.8s linear infinite spin}.preview-text-loading-hint{opacity:.6;text-align:center;max-width:300px;font-size:12px}.preview-media-wrapper{justify-content:center;align-items:center;min-width:100px;min-height:100px;display:flex;position:relative}.preview-media-wrapper .preview-loading{z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.preview-loading-spinner{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.preview-media-wrapper img,.preview-media-wrapper video{border-radius:var(--radius-lg);max-width:100%;max-height:80vh}.preview-unsupported{background:var(--glass-bg-heavy);border-radius:var(--radius-lg);text-align:center;color:var(--text-primary);border:1px solid var(--glass-border);padding:40px}.preview-unsupported p:first-of-type{word-break:break-all;font-size:14px;font-weight:500}.btn-nowrap{white-space:nowrap}.btn-shutdown{margin-top:20px}.settings-section{margin-bottom:20px}.settings-divider-top{margin-top:20px}.settings-subtitle{text-align:center;color:var(--text-secondary);font-size:12px}.icon-inline{vertical-align:middle;margin-right:6px}.guide-toggle-icon{transition:transform .2s}.guide-toggle-icon.rotated{transform:rotate(180deg)}.move-modal-desc{color:var(--text-secondary);margin-bottom:12px;font-size:12px}.move-modal-hint{color:var(--text-muted);margin-bottom:12px;font-size:11px}.breadcrumb-separator{color:var(--text-secondary)}.preview-file-icon{opacity:.5;margin-bottom:12px}.empty-transfer{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.btn-empty-trash{color:var(--danger);background:#ff3b301a}.btn-star{background:var(--warning);color:#fff}.btn-move{background:var(--accent);color:#fff}.move-modal-empty{color:var(--text-secondary);text-align:center;padding:16px;font-size:12px}.preview-unsupported-hint{opacity:.7;margin-top:8px;font-size:12px}.action-grid-icon{margin-bottom:8px}@media (max-width:768px){.sidebar{z-index:300;transition:transform var(--transition);width:240px;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:299;opacity:0;visibility:hidden;transition:all var(--transition);background:#0006;display:block;position:fixed;inset:0}.sidebar-overlay.visible{opacity:1;visibility:visible}.modal-overlay{z-index:301;align-items:flex-end;padding:0}.modal-overlay-backdrop{-webkit-backdrop-filter:var(--blur-lg)}.modal-glass{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%;max-height:85vh;overflow:auto}.sidebar-toggle-btn{display:flex}.app-header{gap:8px;min-height:56px;padding:12px 16px}.app-header .header-right{gap:4px}.action-grid{grid-template-columns:1fr;gap:8px;padding:12px 16px}.action-card{padding:14px}.breadcrumb{padding:0 16px}.content-grid{padding:12px 16px}.file-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.card{padding:12px}.card-icon{border-radius:var(--radius-sm);width:44px;height:44px;margin-bottom:8px}.card-name{font-size:11px}.welcome-modal,.settings-modal,.input-modal,.confirm-modal,.move-modal,.share-modal,.download-modal,.transfer-modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%}.toast{left:12px;right:12px}.batch-bar{flex-wrap:wrap;justify-content:center;gap:6px;bottom:12px;left:8px;right:8px;transform:none}.preview-overlay{padding:12px}}@media (max-width:480px){.file-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.card{padding:10px}.card-icon{width:40px;height:40px;margin-bottom:6px}.card-name{font-size:10px}.app-header{min-height:52px;padding:12px}.app-header .header-title{font-size:14px}.app-header .header-badge{padding:2px 6px;font-size:10px}.action-grid,.content-grid{padding:10px 12px}.breadcrumb{padding:0 12px;font-size:11px}.batch-bar{gap:4px;padding:8px 12px}.batch-bar .batch-info{font-size:11px}}.app-home{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100dvh - 144px);padding:0 24px;animation:.4s fadeInUp;display:flex}.app-home-card{border-radius:var(--radius-xl);background:var(--glass-bg-heavy);-webkit-backdrop-filter:var(--blur-2xl);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-lg), var(--glass-shadow-inset);flex-direction:column;align-items:center;width:100%;max-width:420px;padding:40px;display:flex}.app-home-card h1{letter-spacing:-.03px;background:linear-gradient(135deg, var(--accent), var(--info));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-top:16px;margin-bottom:8px;font-size:40px;font-weight:700}.app-home-badge{border-radius:var(--radius-full);background:var(--glass-bg-subtle);color:var(--text-secondary);border:1px solid var(--glass-border);align-items:center;gap:6px;margin-bottom:24px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.app-home-badge .badge-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.app-home-card p{color:var(--text-secondary);max-width:40ch;margin-bottom:32px;font-size:16px;line-height:1.6}.app-home-btn{border-radius:var(--radius-md);transition:all var(--transition);cursor:pointer;justify-content:center;align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.app-home-btn.primary{color:#fff;background:var(--accent);padding:14px 32px;font-size:16px}.app-home-btn.primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #5e6ad24d}.app-home-btn.secondary{color:var(--text-secondary);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);margin-top:12px;padding:10px 24px;font-size:14px}.app-home-btn.secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--glass-bg);transform:translateY(-1px)}.drawer-backdrop{-webkit-backdrop-filter:var(--blur-md);z-index:1000;background:#0006;animation:.2s fadeIn;position:fixed;inset:0}.settings-drawer{background:var(--glass-bg-heavy);width:420px;max-width:100vw;-webkit-backdrop-filter:var(--blur-2xl);border-left:1px solid var(--glass-border);z-index:1001;flex-direction:column;animation:.25s slideInRight;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 32px #00000026}.drawer-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.drawer-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.drawer-close-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;align-items:center;padding:6px;display:flex}.drawer-close-btn:hover{color:var(--text-primary);background:var(--glass-bg-subtle)}.drawer-content{flex:1;padding:20px 24px;overflow-y:auto}.drawer-section{margin-bottom:4px}.drawer-label{color:var(--text-primary);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.drawer-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.drawer-input{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg-subtle);color:var(--text-primary);transition:all var(--transition-fast);outline:none;flex:1;padding:10px 12px;font-size:13px}.drawer-input:focus{border-color:var(--accent);background:var(--glass-bg);box-shadow:0 0 0 3px var(--accent-soft)}.drawer-hint{color:var(--text-muted);margin-top:8px;font-size:11px}.drawer-status{color:var(--text-secondary);margin-top:8px;font-size:11px}.drawer-status.status-success{color:var(--success)}.drawer-status.status-error{color:var(--error)}.drawer-divider{border-top:1px solid var(--glass-border);margin:16px 0}.drawer-about h3{color:var(--text-primary);margin:0 0 4px;font-size:16px;font-weight:600}.drawer-about p{color:var(--text-secondary);margin:0;font-size:12px}.drawer-subtitle{color:var(--text-muted);margin-top:4px;font-size:11px}.download-platforms-mini{flex-direction:column;gap:8px;display:flex}.download-platform-mini{background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-fast);align-items:center;gap:10px;padding:10px 14px;font-size:14px;text-decoration:none;display:flex}.download-platform-mini:hover{background:var(--glass-bg);border-color:var(--accent)}.download-platform-mini-ext{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);margin-left:auto}.drawer-note{color:var(--text-secondary);font-size:13px;line-height:1.6}.drawer-note p{margin:0 0 8px}.drawer-note ul{margin:0;padding-left:18px}.drawer-note li{margin-bottom:4px}.drawer-footer{border-top:1px solid var(--glass-border);padding:16px 24px}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.settings-drawer{border-left:none;width:100vw}}.backend-guide{padding:0 16px;animation:.3s ease-out fadeInUp}.backend-guide-card{text-align:center;max-width:480px;margin:0 auto}.backend-guide-header{flex-direction:column;align-items:center;gap:12px;margin:16px 0;display:flex}.backend-guide-header h2{font-size:22px;font-weight:600}.backend-guide-desc{color:var(--text-secondary);margin-bottom:20px;font-size:14px;line-height:1.6}.backend-guide-input-wrap{gap:8px;margin-bottom:12px;display:flex}.backend-guide-input{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-subtle);color:var(--text-primary);transition:border-color var(--transition-fast);outline:none;flex:1;padding:10px 14px;font-size:14px}.backend-guide-input:focus{border-color:var(--accent)}.backend-guide-input::placeholder{color:var(--text-muted)}.backend-guide-connect-btn{border-radius:var(--radius-md);background:var(--accent);color:#fff;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:500;display:inline-flex}.backend-guide-connect-btn:hover:not(:disabled){background:var(--accent-hover)}.backend-guide-connect-btn:disabled{opacity:.5;cursor:not-allowed}.backend-guide-status{margin-bottom:16px;font-size:13px}.backend-guide-status.success{color:var(--success)}.backend-guide-status.error{color:var(--danger)}.backend-guide-divider{background:var(--glass-border);height:1px;margin:24px 0}.backend-guide-steps{text-align:left}.backend-guide-steps h3{text-align:center;margin-bottom:16px;font-size:15px;font-weight:600}.backend-guide-step{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.backend-guide-step .step-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.backend-guide-step strong{color:var(--text-primary);font-size:14px;font-weight:600}.backend-guide-step p{color:var(--text-secondary);margin-top:2px;font-size:13px}.backend-guide-code{background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:12px;font-family:var(--font-mono);color:var(--text-primary);margin-top:6px;padding:8px 12px;display:block}.backend-guide-back-btn{color:var(--text-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;align-items:center;gap:6px;margin-top:20px;padding:8px 16px;font-size:13px;display:inline-flex}.backend-guide-back-btn:hover{color:var(--text-primary);background:var(--glass-bg)}.spin{animation:1s linear infinite spin}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.download-banner{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-md);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin:8px 16px;padding:12px 16px;font-size:13px;display:flex}.download-banner-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.download-banner-btn:hover{color:#fff;background:var(--accent-hover)}@media (max-width:768px){.download-banner{text-align:center;flex-direction:column;gap:8px}}
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,35965,96699,93583,e=>{"use strict";var t=e.i(56420);let s=(0,t.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",0,s],35965);let r=(0,t.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);e.s(["Moon",0,r],96699);let a=(0,t.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);e.s(["Menu",0,a],93583)},59665,e=>{"use strict";var t=e.i(43476),s=e.i(71645),r=e.i(93583),a=e.i(5142);let o=(0,s.createContext)(null);e.s(["default",0,function({sidebar:e,headerTitle:i,headerRight:n,children:l}){let[c,d]=(0,a.useDisclosure)(!1),[h,u]=(0,s.useState)(!1),p=function(e,{getInitialValueInEffect:t}={getInitialValueInEffect:!0}){let[r,a]=(0,s.useState)(t?void 0:!!("u">typeof window&&"matchMedia"in window)&&window.matchMedia(e).matches);return(0,s.useEffect)(()=>{try{if("matchMedia"in window){let t=window.matchMedia(e);a(t.matches);let s=e=>a(e.matches);return t.addEventListener("change",s),()=>{t.removeEventListener("change",s)}}}catch(e){return}},[e]),r||!1}("(max-width: 768px)");return(0,t.jsx)(o.Provider,{value:{closeSidebar:d.close},children:(0,t.jsxs)("div",{className:"app-layout",children:[(0,t.jsx)("div",{className:`sidebar-overlay ${c?"visible":""}`,onClick:()=>d.close()}),(0,t.jsx)("div",{className:`sidebar ${c?"open":""} ${h?"collapsed":""}`,children:e({closeSidebar:d.close})}),(0,t.jsxs)("div",{className:"main-content",children:[(0,t.jsxs)("header",{className:"app-header",children:[(0,t.jsxs)("div",{className:"header-left",children:[(0,t.jsx)("button",{onClick:()=>{p?d.toggle():u(!h)},className:"icon-btn sidebar-toggle-btn","aria-label":p?"打开菜单":h?"展开侧边栏":"收起侧边栏",children:(0,t.jsx)(r.Menu,{size:16})}),i]}),(0,t.jsx)("div",{className:"header-right",children:n})]}),l]})]})})}],59665)},89664,e=>{"use strict";let t=(0,e.i(56420).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],89664)},68877,e=>{"use strict";let t=(0,e.i(56420).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",0,t],68877)},26913,e=>{"use strict";class t extends Error{name="KyError";get isKyError(){return!0}}class s extends t{name="HTTPError";response;request;options;data;constructor(e,t,s){const r=e.status||0===e.status?e.status:"",a=e.statusText??"",o=`${r} ${a}`.trim(),i=o?`status code ${o}`:"an unknown error";super(`Request failed with ${i}: ${t.method} ${t.url}`),this.response=e,this.request=t,this.options=s}}class r extends t{name="NetworkError";request;constructor(e,t){super(`Request failed due to a network error: ${e.method} ${e.url}`,t),this.request=e}}class a extends Error{name="NonError";value;constructor(e){let t="Non-error value was thrown";try{"string"==typeof e?t=e:e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message&&(t=e.message)}catch{}super(t),this.value=e}}class o extends t{name="ForceRetryError";customDelay;code;customRequest;constructor(e){const t=e?.cause?e.cause instanceof Error?e.cause:new a(e.cause):void 0;super(e?.code?`Forced retry: ${e.code}`:"Forced retry",t?{cause:t}:void 0),this.customDelay=e?.delay,this.code=e?.code,this.customRequest=e?.request}}class i extends Error{name="SchemaValidationError";issues;constructor(e){super("Response schema validation failed"),this.issues=e}}class n extends t{name="TimeoutError";request;constructor(e){super(`Request timed out: ${e.method} ${e.url}`),this.request=e}}let l=(()=>{let e=!1,t=!1,s="function"==typeof globalThis.Request;if("function"==typeof globalThis.ReadableStream&&s)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(e){if(e instanceof Error&&"unsupported BodyInit type"===e.message)return!1;throw e}return e&&!t})(),c="function"==typeof globalThis.AbortController,d="function"==typeof globalThis.AbortSignal&&"function"==typeof globalThis.AbortSignal.any,h="function"==typeof globalThis.ReadableStream,u="function"==typeof globalThis.FormData,p=["get","post","put","patch","head","delete"],m={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},f=Symbol("stop");class y{options;constructor(e){this.options=e}}let g=e=>new y(e),b={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,baseUrl:!0,prefix:!0,retry:!0,timeout:!0,totalTimeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0,context:!0},w={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,duplex:!0},x=new TextEncoder,j=(e,t,s)=>{let r,a=0;return e.pipeThrough(new TransformStream({transform(e,o){if(o.enqueue(e),r){a+=r.byteLength;let e=0===t?0:a/t;e>=1&&(e=1-Number.EPSILON),s?.({percent:e,totalBytes:Math.max(t,a),transferredBytes:a},r)}r=e},flush(){r&&(a+=r.byteLength,s?.({percent:1,totalBytes:Math.max(t,a),transferredBytes:a},r))}}))},v=e=>null!==e&&"object"==typeof e,k=Symbol("replaceOption"),N=e=>v(e)&&!0===e[k]?{isReplace:!0,value:e.value}:{isReplace:!1,value:e},R=(...e)=>{for(let t of e)if((!v(t)||Array.isArray(t))&&void 0!==t)throw TypeError("The `options` argument must be an object");return A({},...e)},T=(e={},t={})=>{let s=new globalThis.Headers(e),r=t instanceof globalThis.Headers;for(let[e,a]of new globalThis.Headers(t).entries())r&&"undefined"===a||void 0===a?s.delete(e):s.set(e,a);return s},C=e=>{if(!v(e)||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||null===t},S=e=>{if(e instanceof URLSearchParams){let t=new URLSearchParams(e),s=e[P];return s&&(t[P]=new Set(s)),t}return e instanceof globalThis.Headers?new globalThis.Headers(e):Array.isArray(e)?[...e]:C(e)?{...e}:e},q=(e,t)=>C(e)&&C(t)?Object.fromEntries(Object.entries({...e,...t}).filter(e=>void 0!==e[1])):T(e,t);function E(e,t,s){return Object.hasOwn(t,s)&&void 0===t[s]?[]:A(e[s]??[],t[s]??[])}let M=(e={},t={})=>({init:E(e,t,"init"),beforeRequest:E(e,t,"beforeRequest"),beforeRetry:E(e,t,"beforeRetry"),beforeError:E(e,t,"beforeError"),afterResponse:E(e,t,"afterResponse")}),P=Symbol("deletedParameters"),z=(e,t)=>{let s=new URLSearchParams,r=new Set;for(let a of[e,t])if(void 0!==a)if(a instanceof URLSearchParams){for(let[e,t]of a.entries())s.append(e,t),r.delete(e);let e=a[P];if(e)for(let t of e)s.delete(t),r.add(t)}else if(Array.isArray(a))for(let e of a){if(!Array.isArray(e)||2!==e.length)throw TypeError("Array search parameters must be provided in [[key, value], ...] format");s.append(String(e[0]),String(e[1])),r.delete(String(e[0]))}else if(v(a))for(let[e,t]of Object.entries(a))void 0===t?(s.delete(e),r.add(e)):(s.append(e,String(t)),r.delete(e));else for(let[e,t]of new URLSearchParams(a).entries())s.append(e,t),r.delete(e);return r.size>0&&(s[P]=r),s},A=(...e)=>{let t,s={},r={},a={},o=[];for(let i of e)if(Array.isArray(i))Array.isArray(s)||(s=[]),s=[...s,...i];else if(v(i)){for(let[e,r]of Object.entries(i)){if("signal"===e&&r instanceof globalThis.AbortSignal){o.push(r);continue}let a=N(r),{isReplace:i}=a;if(r=a.value,"context"===e){if(null!=r&&(!v(r)||Array.isArray(r)))throw TypeError("The `context` option must be an object");s={...s,context:null==r?{}:i?{...r}:{...s.context,...r}};continue}if("searchParams"===e){t=null==r?void 0:i||void 0===t?r:z(t,r);continue}v(r)&&!i&&e in s&&(r=A(s[e],r)),s={...s,[e]:r}}if(v(i.hooks)){let{value:e,isReplace:t}=N(i.hooks);a=t?M({},e):M(a,e),s.hooks=a}if(v(i.headers)){let{value:e,isReplace:t}=N(i.headers);r=t?S(e):q(r,e),s.headers=r}}return void 0!==t&&(s.searchParams=t),o.length>0&&(1===o.length?s.signal=o[0]:d?s.signal=AbortSignal.any(o):s.signal=o.at(-1)),s},L={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:[413,429,503],maxRetryAfter:1/0,backoffLimit:1/0,delay:e=>.3*2**(e-1)*1e3,jitter:void 0,retryOnTimeout:!1};async function $(e,t,s,r){return new Promise((a,o)=>{let i=setTimeout(()=>{s&&s.abort(),o(new n(e))},r.timeout);r.fetch(e,t).then(a).catch(o).then(()=>{clearTimeout(i)})})}async function D(e,{signal:t}){return new Promise((s,r)=>{function a(){clearTimeout(o),r(t.reason)}t&&(t.throwIfAborted(),t.addEventListener("abort",a,{once:!0}));let o=setTimeout(()=>{t?.removeEventListener("abort",a),s()},e)})}let O=Object.prototype.toString,F=new Set(["network error","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"]),U=(e,t)=>e instanceof t||e?.name===t.name,B=Symbol("timedOutResponseData"),H="The `schema` argument must follow the Standard Schema specification",I=Object.prototype.toString,J=e=>e instanceof globalThis.Request||"[object Request]"===I.call(e),V=e=>e instanceof globalThis.Response||"[object Response]"===I.call(e),W=async(e,t)=>{if("object"!=typeof t&&"function"!=typeof t||null===t)throw TypeError(H);let s=t["~standard"];if("object"!=typeof s||null===s||"function"!=typeof s.validate)throw TypeError(H);let r=await s.validate(e);if(r.issues)throw new i(r.issues);return r.value};class X{static create(e,t){var r,a;let i,n=t.hooks?.init??[],l=n.length>0?(i={...t,json:S(t.json),context:S(t.context),headers:S(t.headers),searchParams:Array.isArray(r=t.searchParams)?r.map(e=>[...e]):S(r)},void 0!==t.retry&&(i.retry="object"!=typeof(a=t.retry)?a:{...a,...a.methods&&{methods:[...a.methods]},...a.statusCodes&&{statusCodes:[...a.statusCodes]},...a.afterStatusCodes&&{afterStatusCodes:[...a.afterStatusCodes]}}),i):t;for(let e of n)e(l);let c=new X(e,l),d=async()=>{if("number"==typeof c.#e.timeout&&c.#e.timeout>0x7fffffff)throw RangeError("The `timeout` option cannot be greater than 2147483647");if("number"==typeof c.#e.totalTimeout&&c.#e.totalTimeout>0x7fffffff)throw RangeError("The `totalTimeout` option cannot be greater than 2147483647");await Promise.resolve();let e=await c.#t(),t=e??await c.#s(async()=>c.#r()),r=void 0!==e||c.#a();for(;;){if(void 0===t)return t;if(V(t))try{t=await c.#o(t)}catch(s){if(!(s instanceof o))throw s;let e=await c.#i(s,async()=>c.#r());if(void 0===e)return e;t=e,r=c.#a();continue}let e=t;if(!e.ok&&"opaque"!==e.type&&("function"==typeof c.#e.throwHttpErrors?c.#e.throwHttpErrors(e.status):c.#e.throwHttpErrors)){let a=new s(e,c.#n(e),c.#l());if(a.data=await c.#c(e),r)throw a;let o=await c.#i(a,async()=>c.#r());if(void 0===o)return o;t=o,r=c.#a();continue}break}if(!V(t))return t;if(c.#d(t),c.#e.onDownloadProgress){if("function"!=typeof c.#e.onDownloadProgress)throw TypeError("The `onDownloadProgress` option must be a function");if(!h)throw Error("Streams are not supported in your environment. `ReadableStream` is missing.");let e=t.clone();c.#h(t);var a=c.#e.onDownloadProgress;if(!e.body)return e;let s={status:e.status,statusText:e.statusText,headers:e.headers};if(204===e.status)return new Response(null,s);let r=Math.max(0,Number(e.headers.get("content-length"))||0);return new Response(j(e.body,r,a),s)}return t},u=(async()=>{try{return await d()}catch(t){if(!(t instanceof Error)||c.#u.has(t))throw t;let e=t;for(let t of c.#e.hooks.beforeError){let s=await t({request:c.request,options:c.#l(),error:e,retryCount:c.#p});s instanceof Error&&(e=s)}throw e}finally{let e=c.#m;c.#f(e?.body??void 0),c.request!==e&&c.#f(c.request.body??void 0)}})();for(let[e,t]of Object.entries(m))("bytes"!==e||"function"==typeof globalThis.Response?.prototype?.bytes)&&(u[e]=async s=>{c.request.headers.set("accept",c.request.headers.get("accept")||t);let r=await u;if("json"!==e)return r[e]();let a=await r.text();if(""===a)return void 0!==s?W(void 0,s):JSON.parse(a);let o=l.parseJson?await l.parseJson(a,{request:c.#n(r),response:r}):JSON.parse(a);return void 0===s?o:W(o,s)});return u}static #y(e){return!e||"object"!=typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.fromEntries(Object.entries(e).filter(([,e])=>void 0!==e))}request;#g;#p=0;#b;#e;#m;#w;#u=new WeakSet;#x;#j;#v=!1;#k=new WeakMap;constructor(e,t={}){if(this.#b=e,Object.hasOwn(t,"prefixUrl"))throw Error("The `prefixUrl` option has been renamed `prefix` in v2 and enhanced to allow slashes in input. See also the new `baseUrl` option for improved flexibility with standard URL resolution: https://github.com/sindresorhus/ky#baseurl");if(this.#e={...t,headers:T(this.#b.headers,t.headers),hooks:M({},t.hooks),method:(e=>p.includes(e)?e.toUpperCase():e)(t.method??this.#b.method??"GET"),prefix:String(t.prefix||""),retry:((e={})=>{if("number"==typeof e)return{...L,limit:e};if(e.methods&&!Array.isArray(e.methods))throw Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw Error("retry.statusCodes must be an array");let t=Object.fromEntries(Object.entries({...e,methods:e.methods?.map(e=>e.toLowerCase())}).filter(([,e])=>void 0!==e));return{...L,...t}})(t.retry),throwHttpErrors:t.throwHttpErrors??!0,timeout:t.timeout??1e4,totalTimeout:t.totalTimeout??!1,fetch:t.fetch??globalThis.fetch.bind(globalThis),context:t.context??{}},"string"!=typeof this.#b&&!(this.#b instanceof URL||this.#b instanceof globalThis.Request))throw TypeError("`input` must be a string, URL, or Request");if("string"==typeof this.#b){if(this.#e.prefix){const e=this.#e.prefix.replace(/\/+$/,""),t=this.#b.replace(/^\/+/,"");this.#b=`${e}/${t}`}if(this.#e.baseUrl){let e;try{e=new URL(this.#b)}catch{}e||(this.#b=new URL(this.#b,new Request(this.#e.baseUrl).url))}}c&&d&&(this.#w=this.#e.signal??this.#b.signal,this.#g=new globalThis.AbortController,this.#e.signal=this.#N()),l&&(this.#e.duplex="half"),void 0!==this.#e.json&&(this.#e.body=this.#e.stringifyJson?.(this.#e.json)??JSON.stringify(this.#e.json),this.#e.headers.set("content-type",this.#e.headers.get("content-type")??"application/json"));const s=t.headers&&new globalThis.Headers(t.headers).has("content-type");if(this.#b instanceof globalThis.Request&&(u&&this.#e.body instanceof globalThis.FormData||this.#e.body instanceof URLSearchParams)&&!s&&this.#e.headers.delete("content-type"),this.request=new globalThis.Request(this.#b,this.#e),(e=>void 0!==e&&(Array.isArray(e)?e.length>0:e instanceof URLSearchParams?e.size>0||!!e[P]?.size:"object"==typeof e?Object.keys(e).length>0:"string"==typeof e?e.trim().length>0:!!e))(this.#e.searchParams)){const e=new URL(this.request.url),t=this.#e.searchParams?.[P];if(t)for(const s of t)e.searchParams.delete(s);if("string"==typeof this.#e.searchParams){const t=this.#e.searchParams.replace(/^\?/,"");""!==t&&(e.search=e.search?`${e.search}&${t}`:`?${t}`)}else for(const[t,s]of new URLSearchParams(X.#y(this.#e.searchParams)).entries())e.searchParams.append(t,s);if(this.#e.searchParams&&"object"==typeof this.#e.searchParams&&!Array.isArray(this.#e.searchParams)&&!(this.#e.searchParams instanceof URLSearchParams))for(const[t,s]of Object.entries(this.#e.searchParams))void 0===s&&e.searchParams.delete(t);this.request=new globalThis.Request(e,this.#e)}if(this.#e.onUploadProgress&&"function"!=typeof this.#e.onUploadProgress)throw TypeError("The `onUploadProgress` option must be a function");this.#j="number"==typeof this.#e.totalTimeout?this.#R():void 0}#T(){let e=this.#e.retry.delay(this.#p+1),t=e;return!0===this.#e.retry.jitter?t=Math.random()*e:"function"==typeof this.#e.retry.jitter&&(!Number.isFinite(t=this.#e.retry.jitter(e))||t<0)&&(t=e),Math.min(this.#e.retry.backoffLimit,t)}async #C(e){if(this.#p>=this.#e.retry.limit)throw e;let t=e instanceof Error?e:new a(e);if(t instanceof o)return t.customDelay??this.#T();if(!this.#e.retry.methods.includes(this.request.method.toLowerCase()))throw e;if(void 0!==this.#e.retry.shouldRetry){let s=await this.#e.retry.shouldRetry({error:t,retryCount:this.#p+1});if(!1===s)throw e;if(!0===s)return this.#T()}if(U(e,n)){if(!this.#e.retry.retryOnTimeout)throw e;return this.#T()}if(U(e,s)){if(!this.#e.retry.statusCodes.includes(e.response.status))throw e;let t=e.response.headers.get("Retry-After")??e.response.headers.get("RateLimit-Reset")??e.response.headers.get("X-RateLimit-Retry-After")??e.response.headers.get("X-RateLimit-Reset")??e.response.headers.get("X-Rate-Limit-Reset");if(t&&this.#e.retry.afterStatusCodes.includes(e.response.status)){let e=1e3*Number(t);return(Number.isNaN(e)?e=Date.parse(t)-Date.now():e>=Date.parse("2024-01-01")&&(e-=Date.now()),Number.isFinite(e))?(e=Math.max(0,e),Math.min(this.#e.retry.maxRetryAfter,e)):Math.min(this.#e.retry.maxRetryAfter,this.#T())}if(413===e.response.status)throw e;return this.#T()}if(!U(e,r))throw e;return this.#T()}#d(e){let t=this.#n(e);return this.#e.parseJson&&(e.json=async()=>{let s=await e.text();return""===s?JSON.parse(s):this.#e.parseJson(s,{request:t,response:e})}),e}async #c(e){let t=await this.#S(e,this.#q());if(t===B)return void this.#E();if(!t)return;if(!this.#M(e.headers.get("content-type")??""))return t;let s=await this.#P(t,e,this.#q(),this.#n(e));return s===B?void this.#E():s}#q(){let e=!1===this.#e.timeout?1e4:this.#e.timeout,t=this.#z();if(void 0===t)return e;if(t<=0)throw new n(this.request);return Math.min(e,t)}#M(e){let t=(e.split(";",1)[0]??"").trim().toLowerCase();return/\/(?:.*[.+-])?json$/.test(t)}async #S(e,t){let s,{body:r}=e;if(!r)try{return await e.text()}catch{return}try{s=r.getReader()}catch{return}let a=(e=>{let t=/;\s*charset\s*=\s*(?:"([^"]+)"|([^;,\s]+))/i.exec(e),s=t?.[1]??t?.[2];if(s)try{return new TextDecoder(s)}catch{}return new TextDecoder})(e.headers.get("content-type")??""),o=[],i=0,n=(async()=>{try{for(;;){let{done:e,value:t}=await s.read();if(e)break;if((i+=t.byteLength)>0xa00000)return void s.cancel().catch(()=>void 0);o.push(a.decode(t,{stream:!0}))}}catch{return}return o.push(a.decode()),o.join("")})(),l=new Promise(e=>{let s=setTimeout(()=>{e(B)},t);n.finally(()=>{clearTimeout(s)})}),c=await Promise.race([n,l]);return c===B&&s.cancel().catch(()=>void 0),c}async #P(e,t,s,r){let a;try{return await Promise.race([Promise.resolve().then(()=>this.#e.parseJson?this.#e.parseJson(e,{request:r,response:t}):JSON.parse(e)),new Promise(e=>{a=setTimeout(()=>{e(B)},s)})])}catch{return}finally{clearTimeout(a)}}#f(e){e&&e.cancel().catch(()=>void 0)}#h(e){this.#f(e.body??void 0)}#N(){return this.#w?AbortSignal.any([this.#w,this.#g.signal]):this.#g.signal}#E(){let e=this.#z();if(void 0!==e&&e<=0)throw new n(this.request)}async #t(){for(let e of this.#e.hooks.beforeRequest){let t=await e({request:this.request,options:this.#l(),retryCount:0});if(J(t))this.#A(t);else if(V(t))return t}}async #o(e){let t=this.#n(e);for(let s of this.#e.hooks.afterResponse){let r,a=this.#L(e.clone(),t);this.#d(a);try{r=await s({request:this.request,options:this.#l(),response:a,retryCount:this.#p})}catch(t){throw a!==e&&this.#h(a),this.#h(e),t}if(r instanceof y)throw a!==e&&this.#h(a),this.#h(e),new o(r.options);let i=V(r)?this.#L(r,t):e;a!==e&&a!==i&&a.body!==i.body&&this.#h(a),e!==i&&e.body!==i.body&&this.#h(e),e=i}return e}async #s(e){try{return await e()}catch(t){return this.#i(t,e)}}async #i(e,t){this.#v=!1;let s=Math.min(await this.#C(e),0x7fffffff),r={signal:this.#w},a=this.#z();if(void 0!==a){if(a<=0)throw new n(this.request);if(s>=a)throw await D(a,r),new n(this.request)}if(await D(s,r),this.#E(),e instanceof o&&e.customRequest){let t=new globalThis.Request(e.customRequest,this.#e.signal?{signal:this.#e.signal}:void 0);this.#A(t)}for(let t of this.#e.hooks.beforeRetry){let s;try{s=await t({request:this.request,options:this.#l(),error:e,retryCount:this.#p+1})}catch(t){throw t instanceof Error&&t!==e&&this.#u.add(t),t}if(J(s)){this.#A(s);break}if(V(s))return this.#v=!0,this.#p++,s;if(s===f)return}return this.#E(),this.#p++,this.#s(t)}#a(){let e=this.#v;return this.#v=!1,e}async #r(){this.#g?.signal.aborted&&(this.#g=new globalThis.AbortController,this.#e.signal=this.#N(),this.request=new globalThis.Request(this.request,{signal:this.#e.signal}));let e=(e=>{let t={};for(let s in e)Object.hasOwn(e,s)&&(s in w||s in b||(t[s]=e[s]));return t})(this.#e),t=this.#e.retry.limit>0?this.request.clone():void 0,s=this.#$(this.request,this.#e.body??void 0);this.#m=s,t&&(this.request=t);try{let t=this.#z();if(void 0!==t&&t<=0)throw new n(this.request);let r=!1===this.#e.timeout?t:void 0===t?this.#e.timeout:Math.min(this.#e.timeout,t),a=void 0===r?await this.#e.fetch(s,e):await $(s,e,this.#g,{timeout:r,fetch:this.#e.fetch});return this.#L(a,s)}catch(e){if(function(e){if(!(e&&"[object Error]"===O.call(e)&&"TypeError"===e.name&&"string"==typeof e.message))return!1;let{message:t,stack:s}=e;return"Load failed"===t?void 0===s||"__sentry_captured__"in e:!!(t.startsWith("error sending request for url")||"Failed to fetch"===t||t.startsWith("Failed to fetch (")&&t.endsWith(")"))||F.has(t)}(e))throw new r(this.request,{cause:e});throw e}}#z(){if(void 0===this.#j)return;let e=this.#R()-this.#j;return Math.max(0,this.#e.totalTimeout-e)}#R(){return globalThis.performance?.now()??Date.now()}#l(){if(!this.#x){let{hooks:e,json:t,parseJson:s,stringifyJson:r,searchParams:a,timeout:o,totalTimeout:i,throwHttpErrors:n,fetch:l,...c}=this.#e;this.#x=Object.freeze(c)}return this.#x}#A(e){this.#x=void 0,this.request=e}#n(e){return this.#k.get(e)??this.request}#L(e,t){return this.#k.set(e,t),e}#$(e,t){return this.#e.onUploadProgress&&e.body&&l?((e,t,s)=>{if(!e.body)return e;let r=(e=>{if(!e)return 0;if(e instanceof FormData){let t=0;for(let[s,r]of e)t+=40,t+=x.encode(`Content-Disposition: form-data; name="${s}"`).byteLength,t+="string"==typeof r?x.encode(r).byteLength:r.size;return t}return e instanceof Blob?e.size:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:"string"==typeof e?x.encode(e).byteLength:e instanceof URLSearchParams?x.encode(e.toString()).byteLength:0})(s??e.body);return new Request(e,{duplex:"half",body:j(e.body,r,t)})})(e,this.#e.onUploadProgress,t??this.#e.body??void 0):e}}let _=e=>{let t=(t,s)=>X.create(t,R(e,s));for(let s of p)t[s]=(t,r)=>X.create(t,R(e,r,{method:s}));return t.create=e=>_(R(e)),t.extend=t=>("function"==typeof t&&(t=t(e??{})),_(R(e,t))),t.stop=f,t.retry=g,t},K=_(),G="mostbox_backend_url";function Z(){let e=localStorage.getItem(G)||"";return K.create({prefix:e})}let Q=Z();async function Y(){try{return(await fetch("/api/node-id",{method:"GET",signal:AbortSignal.timeout(2e3)})).ok}catch{return!1}}async function ee(){try{return(await fetch("http://localhost:1976/api/node-id",{method:"GET",signal:AbortSignal.timeout(2e3)})).ok}catch{return!1}}e.s(["api",()=>Q,"detectLocalhostBackend",0,ee,"detectSameOriginBackend",0,Y,"setBackendUrl",0,function(e){let t=(e||"").trim().replace(/\/+$/,"");t?localStorage.setItem(G,t):localStorage.removeItem(G),Q=Z()}],26913)},8734,e=>{"use strict";let t=(0,e.i(56420).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],8734)},51921,e=>{"use strict";let t=(0,e.i(56420).default)("music",[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]);e.s(["Music",0,t],51921)},66595,e=>{"use strict";let t=(0,e.i(56420).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",0,t],66595)},27627,e=>{"use strict";var t=e.i(43476),s=e.i(71645),r=e.i(56420);let a=(0,r.default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);var o=e.i(35965),i=e.i(96699);let n=(0,r.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),l=(0,r.default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]),c=(0,r.default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),d=(0,r.default)("film",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 3v18",key:"bbkbws"}],["path",{d:"M3 7.5h4",key:"zfgn84"}],["path",{d:"M3 12h18",key:"1i2n21"}],["path",{d:"M3 16.5h4",key:"1230mu"}],["path",{d:"M17 3v18",key:"in4fa5"}],["path",{d:"M17 7.5h4",key:"myr1c1"}],["path",{d:"M17 16.5h4",key:"go4c1d"}]]);var h=e.i(51921);let u=(0,r.default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),p=(0,r.default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var m=e.i(63676),f=e.i(89664),y=e.i(8734),g=e.i(62368);let b=(0,r.default)("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]),w=(0,r.default)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]),x=(0,r.default)("files",[["path",{d:"M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8",key:"14sh0y"}],["path",{d:"M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z",key:"1970lx"}],["path",{d:"M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1",key:"l4dndm"}]]),j=(0,r.default)("hard-drive",[["path",{d:"M10 16h.01",key:"1bzywj"}],["path",{d:"M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"18tbho"}],["path",{d:"M21.946 12.013H2.054",key:"zqlbp7"}],["path",{d:"M6 16h.01",key:"1pmjb7"}]]);var v=e.i(66595);let k=(0,r.default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),N=(0,r.default)("pen",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]),R=(0,r.default)("loader",[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]]);var T=e.i(68877),C=e.i(59665);e.i(4121);var S=e.i(57667),q=e.i(88361),E=e.i(47910),M=e.i(26913),P=e.i(9817),z=e.i(5142),A=e.i(22016);let L={listPublishedFiles:()=>M.api.get("/api/files").json(),listTrashFiles:()=>M.api.get("/api/trash").json(),deletePublishedFile:e=>M.api.delete(`/api/files/${e}`).json(),restoreTrashFile:e=>M.api.post(`/api/trash/${e}/restore`).json(),permanentDeleteTrashFile:e=>M.api.delete(`/api/trash/${e}`).json(),emptyTrash:()=>M.api.delete("/api/trash").json(),toggleStar:e=>M.api.post(`/api/files/${e}/star`).json(),getStorageStats:()=>M.api.get("/api/storage").json(),getConfig:()=>M.api.get("/api/config").json(),getDataPath:()=>M.api.get("/api/config/data-path").json(),getNetworkAddresses:()=>M.api.get("/api/network").json(),saveConfig:e=>M.api.post("/api/config",{json:e}).json(),async publishFile(e,t){let s=new FormData;s.append("file",e,t||e.name);let r=await M.api.post("/api/publish",{body:s});if(!r.ok)throw Error((await r.json().catch(()=>({error:r.statusText}))).error||"Request failed");return r.json()},downloadFile:e=>M.api.post("/api/download",{json:{link:e}}).json(),cancelDownload:e=>M.api.post("/api/download/cancel",{json:{taskId:e}}).json(),getFileDownloadUrl:e=>`/api/files/${e}/download`,moveFile:(e,t)=>M.api.post("/api/move",{json:{cid:e,newFileName:t}}).json(),renameFolder:(e,t)=>M.api.post("/api/folder/rename",{json:{oldPath:e,newPath:t}}).json()},$=[{cid:"mock1",fileName:"示例文档.pdf",size:2048576,createdAt:"2024-01-15",starred:!1},{cid:"mock2",fileName:"项目截图.png",size:1536e3,createdAt:"2024-01-20",starred:!0},{cid:"mock3",fileName:"会议录音.mp3",size:512e4,createdAt:"2024-02-01",starred:!1},{cid:"mock4",fileName:"演示视频.mp4",size:0x3200000,createdAt:"2024-02-10",starred:!1},{cid:"mock5",fileName:"代码备份.zip",size:0xa00000,createdAt:"2024-02-15",starred:!1},{cid:"mock6",fileName:"设计稿/首页设计.fig",size:8388608,createdAt:"2024-02-20",starred:!0},{cid:"mock7",fileName:"设计稿/图标集.svg",size:512e3,createdAt:"2024-02-22",starred:!1}],D={total:0x1900000000,used:0x1e0000000,free:0x1720000000,fileCount:42,trashCount:3};function O(e){return!e||e<=0?"0 B":e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:e<0x40000000?`${(e/1048576).toFixed(1)} MB`:`${(e/0x40000000).toFixed(2)} GB`}function F(e){let t=e.lastIndexOf("/");return -1===t?{folder:"",name:e}:{folder:e.substring(0,t),name:e.substring(t+1)}}function U(e){let t=e.split(".").pop().toLowerCase();return["jpg","jpeg","png","gif","webp","svg","bmp","ico","tiff","heic","heif"].includes(t)?"image":["mp4","webm","mov","avi","mkv","flv","wmv","m4v","mpeg","3gp"].includes(t)?"video":["mp3","wav","ogg","flac","aac","m4a","wma","opus"].includes(t)?"audio":["txt","md","js","ts","jsx","tsx","css","scss","less","json","xml","html","htm","yaml","yml","toml","ini","cfg","conf","log","sh","bash","py","rb","go","rs","java","c","cpp","h","hpp","cs","php","sql","graphql","env","gitignore","dockerfile","readme"].includes(t)?"text":"file"}function B(e){return e?[{path:"",name:"全部内容"},...e.split("/").filter(Boolean).map((e,t,s)=>({path:s.slice(0,t+1).join("/"),name:e}))]:[]}let H=(e,t)=>async()=>{try{e(await t())}catch(e){console.info(e)}};function I({file:e,isSelected:s,isDarkMode:r,onSelect:a,onPreview:o}){let i=U(e.fileName);return(0,t.jsxs)("div",{"data-id":e.cid,onClick:()=>a(e.cid),onDoubleClick:()=>o(e),className:`card ${s?"selected":""}`,children:[(0,t.jsxs)("div",{className:`card-icon ${e.starred?"starred":"file"}`,children:["image"===i&&(0,t.jsx)(n,{size:24,color:"#fff"}),"video"===i&&(0,t.jsx)(d,{size:24,color:"#fff"}),"audio"===i&&(0,t.jsx)(h.Music,{size:24,color:"#fff"}),"file"===i&&(0,t.jsx)(p,{size:24,color:"#fff"})]}),(0,t.jsx)("p",{className:"card-name",children:F(e.fileName).name})]})}function J({folder:e,isDarkMode:s,onClick:r}){return(0,t.jsxs)("div",{onClick:r,className:"card",children:[(0,t.jsx)("div",{className:"card-icon folder",children:(0,t.jsx)(c,{size:28,color:"#fff"})}),(0,t.jsx)("p",{className:"card-name",children:e.name})]})}function V({items:e,allFolders:r,currentPath:a,onMove:o,onClose:i}){let[n,l]=(0,s.useState)(""),[d,h]=(0,s.useState)(a),u=B(n);return(0,t.jsx)(S.ModalOverlay,{onClose:i,children:(0,t.jsxs)("div",{className:"move-modal",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"modal-header",children:[(0,t.jsx)("h3",{children:"移动到"}),(0,t.jsx)("button",{onClick:i,className:"modal-close-btn",children:(0,t.jsx)(m.X,{size:18})})]}),(0,t.jsxs)("p",{className:"move-modal-desc",children:["已选 ",e.length," 个项目"]}),(0,t.jsx)("div",{className:"move-new-folder",children:(0,t.jsx)("input",{type:"text",value:d,onChange:e=>h(e.target.value),placeholder:"输入路径创建嵌套文件夹"})}),(0,t.jsx)("p",{className:"move-modal-hint",children:"如 图片/壁纸"}),(0,t.jsx)("div",{className:"move-breadcrumb",children:u.map((e,r)=>(0,t.jsxs)(s.default.Fragment,{children:[r>0&&(0,t.jsx)("span",{className:"breadcrumb-separator",children:"/"}),(0,t.jsx)("button",{onClick:()=>{l(e.path),h(e.path)},className:`move-breadcrumb-btn ${n===e.path&&!d?"active":""}`,children:e.name},e.path)]},e.path))}),(0,t.jsxs)("div",{className:"move-folder-list",children:[0===r.filter(e=>{if(""===n)return!e.path.includes("/");let t=n+"/";return!!e.path.startsWith(t)&&!e.path.substring(t.length).includes("/")}).length&&(0,t.jsx)("p",{className:"move-modal-empty",children:"该目录下没有子文件夹"}),r.filter(e=>{if(""===n)return!e.path.includes("/");let t=n+"/";return!!e.path.startsWith(t)&&!e.path.substring(t.length).includes("/")}).map(e=>(0,t.jsxs)("button",{onClick:()=>l(e.path),className:`move-folder-item ${n===e.path&&!d?"selected":""}`,children:[(0,t.jsx)(c,{size:16}),(0,t.jsx)("span",{children:e.name})]},e.path))]}),(0,t.jsxs)("div",{className:"modal-actions",children:[(0,t.jsx)("button",{onClick:i,className:"btn secondary",children:"取消"}),(0,t.jsx)("button",{onClick:()=>{o(n||d.trim())},className:"btn primary",children:"移动"})]})]})})}e.s(["default",0,function(){let e,r,n,{isDarkMode:c,setIsDarkMode:d,addToast:M,openSettings:W}=(0,P.useApp)(),[X,_]=(0,s.useState)([]),[K,G]=(0,s.useState)([]),[Z,Q]=(0,s.useState)(null),[Y,ee]=(0,s.useState)("all"),[et,es]=(0,s.useState)(!1),[er,ea]=(0,s.useState)([]),[eo,ei]=(0,s.useState)(null),[en,el]=(0,s.useState)(null),[ec,ed]=(0,z.useDisclosure)(!1),[eh,eu]=(0,s.useState)(""),[ep,em]=(0,s.useState)([]),[ef,ey]=(0,z.useDisclosure)(!1),[eg,eb]=(0,s.useState)(""),{copy:ew,copied:ex}=function(e={}){let t=e.timeout??2e3,[r,a]=(0,s.useState)(null),[o,i]=(0,s.useState)(!1),n=(0,s.useRef)(null);return(0,s.useEffect)(()=>()=>{window.clearTimeout(n.current)},[]),{copy:e=>{"clipboard"in navigator?navigator.clipboard.writeText(e).then(()=>{a(null),window.clearTimeout(n.current),n.current=window.setTimeout(()=>i(!1),t),i(!0)}).catch(e=>a(e)):a(Error("useClipboard: navigator.clipboard is not supported"))},reset:()=>{i(!1),a(null),window.clearTimeout(n.current)},error:r,copied:o}}({timeout:2e3}),[ej,ev]=(0,s.useState)(0),[ek,eN]=(0,s.useState)({total:0,used:0,free:0}),[eR,eT]=(0,z.useDisclosure)(!1),[eC,eS]=(0,s.useState)(null),[eq,eE]=(0,s.useState)(null),[eM,eP]=(0,s.useState)(!1),[ez,eA]=(0,s.useState)(null),[eL,e$]=(0,s.useState)(""),[eD,eO]=(0,s.useState)(!1),[eF,eU]=(0,s.useState)(!1),[eB,eH]=(0,s.useState)(!1),eI=(0,s.useRef)(null);(0,s.useRef)(null),(0,s.useEffect)(()=>{eo&&("image"===eo.subtype||"video"===eo.subtype)&&(eU(!0),eH(!1)),eo&&"text"===eo.subtype&&(e$(""),e5(eo.cid))},[eo?.cid]),(0,s.useEffect)(()=>{let e=eI.current;if(!e)return;let t=()=>eU(!1),s=()=>eU(!1);return eo?.subtype==="image"?e.complete?eU(!1):(e.addEventListener("load",t),e.addEventListener("error",s)):eo?.subtype==="video"&&(e.addEventListener("canplay",t),e.addEventListener("error",s)),()=>{e.removeEventListener("load",t),e.removeEventListener("error",s),e.removeEventListener("canplay",t)}},[eo]);let eJ=Z||"",eV=(e=new Set,X.forEach(t=>{let{folder:s}=F(t.fileName),r=s.split("/").filter(Boolean),a="";for(let t of r)a+=(a?"/":"")+t,e.add(a)}),[...e].sort()),{folders:eW,files:eX}={folders:(r=eJ?eJ+"/":"",eV.filter(e=>{let t=e.toLowerCase().startsWith(r.toLowerCase()),s=e.substring(r.length);return t&&!s.includes("/")}).map(e=>({name:e.substring(r.length),path:e}))),files:X.filter(e=>F(e.fileName).folder===eJ)},e_=eg?X.filter(e=>F(e.fileName).name.toLowerCase().includes(eg.toLowerCase())):eX,eK=H(_,()=>L.listPublishedFiles().then(e=>e||[]).catch(()=>$)),eG=H(G,()=>L.listTrashFiles().then(e=>e||[]).catch(()=>[])),eZ=H(eN,()=>L.getStorageStats().catch(()=>D)),eQ=e=>{ea(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},eY=async e=>{try{await L.restoreTrashFile(e),M("已恢复","success"),eK(),eG(),eZ()}catch{M("恢复失败","error")}},e0=async()=>{eS({title:"清空回收站",message:"确定要清空回收站吗?此操作不可恢复!",confirmText:"清空",danger:!0,onConfirm:async()=>{eS(null);try{await L.emptyTrash(),M("回收站已清空","success"),eG(),eZ()}catch{M("清空失败","error")}}})},e1=async e=>{try{let t=await L.toggleStar(e);_(s=>s.map(s=>s.cid===e?{...s,starred:t.starred}:s)),M(t.starred?"已收藏":"已取消收藏","success")}catch{M("操作失败","error")}},e2=async()=>{let e="trash"===Y;eS({title:e?"永久删除":"批量删除",message:e?`确定要永久删除选中的 ${er.length} 个项目吗?此操作不可恢复!`:`确定要删除选中的 ${er.length} 个项目吗?`,confirmText:e?"永久删除":"删除",danger:!0,onConfirm:async()=>{eS(null);try{for(let t of er)e?await L.permanentDeleteTrashFile(t):t.startsWith("__")||await L.deletePublishedFile(t);ea([]),M(e?"已永久删除":"已删除","success"),eK(),eG(),eZ()}catch{M("删除失败","error")}}})},e4=async e=>{try{for(let t of er){let s=X.find(e=>e.cid===t);if(!s)continue;let{name:r}=F(s.fileName),a=e?`${e}/${r}`:r;s.fileName!==a&&await L.moveFile(t,a)}ea([]),eT.close(),M("已移动","success"),eK()}catch{M("移动失败","error")}},e6=e=>{let t=!!e.path,s=t?e.name:F(e.fileName).name;eE({title:t?"重命名文件夹":"重命名文件",placeholder:"请输入新名称",defaultValue:s,confirmText:"重命名",onConfirm:async r=>{if(r!==s){eP(!0);try{if(t){let t=e.path.lastIndexOf("/"),s=-1!==t?e.path.substring(0,t):"",a=s?`${s}/${r}`:r;await L.renameFolder(e.path,a),M("已重命名","success"),eK(),ts(a)}else{let{folder:t}=F(e.fileName),s=t?`${t}/${r}`:r;await L.moveFile(e.cid,s),M("已重命名","success"),eK()}eE(null)}catch{M("重命名失败","error")}finally{eP(!1)}}}})},e3=async e=>{let t=eJ?eJ+"/":"",s=[];for(let r of Array.from(e)){let e=t+r.name;if(X.some(t=>t.fileName===e)){M(`${r.name} 已存在`,"warning");continue}let a=`upload_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,o={id:a,fileName:r.name,progress:0,type:"upload",status:"uploading"};s.push(o),em(e=>[...e,o]),s.length>0&&ey.open();try{(await L.publishFile(r,e)).alreadyExists?(em(e=>e.map(e=>e.id===a?{...e,status:"completed"}:e)),M(`${r.name} 已存在`,"warning")):(em(e=>e.map(e=>e.id===a?{...e,progress:100,status:"completed"}:e)),M(`${r.name} 上传成功`,"success"))}catch(e){em(e=>e.map(e=>e.id===a?{...e,status:"error"}:e)),M(`上传失败: ${r.name}`,"error")}}setTimeout(()=>{em(e=>e.filter(e=>"completed"!==e.status&&"error"!==e.status&&"cancelled"!==e.status))},3e3),eK(),eZ()},e5=async e=>{eO(!0);try{let t=await fetch(`/api/files/${e}/download`,{headers:{Range:"bytes=0-9999"}});if(!t.ok)throw Error("加载失败");let s=await t.text();e$(s||"(文件为空)")}catch{e$("加载失败")}eO(!1)},[e8,e7]=(0,s.useState)(!1),e9=async()=>{if(!eh.trim()||!eh.startsWith("most://"))return void M("链接格式应为 most://<cid>","warning");if(!e8){e7(!0);try{let e=await L.downloadFile(eh);if(eu(""),ed.close(),e.alreadyExists)M(`${e.fileName} 已存在`,"warning");else{let t={id:e.taskId,fileName:"下载文件",progress:0,type:"download",status:"downloading"};em(e=>[...e,t]),ey.open(),M("下载已开始","info")}}catch(e){M("下载失败","error")}finally{e7(!1)}}},te=async e=>{if("download"===e.type&&"downloading"===e.status)try{await L.cancelDownload(e.id)}catch(e){M("取消失败","error")}},tt=async e=>{try{let t=await fetch(L.getFileDownloadUrl(e.cid));if(!t.ok)throw Error("获取文件失败");let s=await t.blob(),r=window.showSaveFilePicker;if(r){let t=await r({suggestedName:e.fileName}),a=await t.createWritable();await a.write(s),await a.close(),M("文件已保存","success")}else{let t=URL.createObjectURL(s),r=document.createElement("a");r.href=t,r.download=e.fileName,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(t),M("文件已下载","success")}}catch(e){"AbortError"!==e.name&&M("保存失败: "+e.message,"error")}},ts=e=>{Q(e||null),ea([])};(0,s.useEffect)(()=>{location.protocol;let e=new WebSocket(`${"https:"===location.protocol?"wss:":"ws:"}//${location.host}/ws`);return e.onmessage=e=>{try{let{event:t,data:s}=JSON.parse(e.data);if("publish:success"===t||"download:success"===t){eK(),eZ();let e=s.taskId||s.fileName;em(t=>t.map(t=>t.id===e||t.fileName===s.fileName?{...t,progress:100,status:"completed"}:t)),"download:success"===t&&(s.alreadyExists?M(`${s.fileName} 已存在`,"warning"):M(`${s.fileName} 下载完成`,"success"),setTimeout(()=>{em(t=>t.filter(t=>t.id!==e||"completed"!==t.status))},3e3))}"publish:progress"===t&&em(e=>e.map(e=>{if(s.file&&e.fileName===s.file&&"upload"===e.type){let t=50;return"calculating-cid"===s.stage?t=25:"uploading"===s.stage?t=75:"complete"===s.stage&&(t=100),{...e,progress:t}}return e})),"download:progress"===t&&em(e=>e.map(e=>e.id===s.taskId?{...e,progress:s.percent||0,loaded:s.loaded,total:s.total}:e)),"download:error"===t&&(em(e=>e.map(e=>e.id===s.taskId?{...e,status:"error"}:e)),M(`下载失败: ${s.error}`,"error")),"network:status"===t&&ev(s.peers||0),"download:status"===t&&em(e=>e.map(e=>e.id===s.taskId?{...e,fileName:s.file||e.fileName}:e)),"download:cancelled"===t&&(em(e=>e.map(e=>e.id===s.taskId?{...e,status:"cancelled"}:e)),M("下载已取消","warning"))}catch{}},()=>e.close()},[]),(0,s.useEffect)(()=>{eK(),eG(),eZ(),L.getStorageStats().then(e=>eN(e)).catch(()=>eN(D))},[]);let tr="all"===Y?e_:"starred"===Y?X.filter(e=>e.starred&&F(e.fileName).name.toLowerCase().includes(eg.toLowerCase())):K.filter(e=>F(e.fileName).name.toLowerCase().includes(eg.toLowerCase())),ta="starred"===Y?[]:eW.filter(e=>e.name.toLowerCase().includes(eg.toLowerCase())),to=B(eJ);return(0,t.jsxs)(C.default,{sidebar:({closeSidebar:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"sidebar-header",onClick:()=>window.location.href="/",style:{cursor:"pointer"},children:(0,t.jsx)("h1",{children:"MOST PEOPLE"})}),(0,t.jsx)("nav",{className:"sidebar-nav",children:[{id:"all",icon:(0,t.jsx)(x,{size:18}),label:"全部内容"},{id:"starred",icon:(0,t.jsx)(w,{size:18}),label:"收藏"},{id:"trash",icon:(0,t.jsx)(l,{size:18}),label:"回收站"}].map(s=>(0,t.jsxs)("button",{onClick:()=>{ee(s.id),Q(null),ea([]),eb(""),e()},className:`sidebar-nav-btn ${Y===s.id?"active":""}`,children:[s.icon,(0,t.jsx)("span",{children:s.label})]},s.id))}),(0,t.jsxs)("div",{className:"sidebar-footer",children:[(0,t.jsxs)("div",{className:"sidebar-footer-label",children:[(0,t.jsx)(j,{size:14}),(0,t.jsx)("span",{children:"存储空间"})]}),(0,t.jsx)("div",{className:"storage-bar",children:(0,t.jsx)("div",{className:"storage-bar-fill",style:{width:`${ek.total>0?ek.used/ek.total*100:0}%`}})}),(0,t.jsxs)("div",{className:"storage-info",children:[(0,t.jsx)("span",{children:O(ek.used)}),(0,t.jsx)("span",{children:ek.total>0?O(ek.total):"-"})]})]})]}),headerTitle:(0,t.jsx)("h2",{className:"header-title",children:"all"===Y?"全部内容":"starred"===Y?"收藏":"回收站"}),headerRight:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"search-box",children:[(0,t.jsx)(v.Search,{size:14}),(0,t.jsx)("input",{type:"text",value:eg,onChange:e=>eb(e.target.value),placeholder:"搜索..."}),eg&&(0,t.jsx)("button",{onClick:()=>eb(""),children:(0,t.jsx)(m.X,{size:12})})]}),"trash"===Y&&K.length>0&&(0,t.jsx)("button",{onClick:e0,className:"btn small btn-empty-trash",children:"清空回收站"}),(0,t.jsxs)("button",{onClick:()=>ey.open(),className:"icon-btn",children:[(0,t.jsx)(b,{size:16}),ep.length>0&&(0,t.jsx)("span",{className:"icon-btn-badge",children:ep.length})]}),(0,t.jsx)("button",{onClick:()=>d(!c),className:"icon-btn theme-toggle",children:c?(0,t.jsx)(o.Sun,{size:16}):(0,t.jsx)(i.Moon,{size:16})}),(0,t.jsx)("button",{onClick:()=>W(),className:"icon-btn",children:(0,t.jsx)(k,{size:16})})]}),children:[(0,t.jsxs)("div",{className:"download-banner",children:[(0,t.jsx)("span",{children:"Web 端仅用于界面展示,下载桌面客户端获得完整功能"}),(0,t.jsxs)(A.default,{href:"/download",className:"download-banner-btn",children:[(0,t.jsx)(g.Download,{size:14}),"下载客户端",(0,t.jsx)(T.ArrowRight,{size:12})]})]}),"all"===Y&&(0,t.jsxs)("div",{className:"action-grid",children:[(0,t.jsxs)("div",{className:`action-card upload ${et?"drag-over":""}`,onDragOver:e=>{e.preventDefault(),es(!0)},onDragLeave:()=>es(!1),onDrop:e=>{e.preventDefault(),es(!1),e3(e.dataTransfer.files)},children:[(0,t.jsx)("input",{type:"file",multiple:!0,onChange:e=>e3(e.target.files),className:"action-card-input"}),(0,t.jsx)(a,{size:20,className:"action-grid-icon"}),(0,t.jsx)("p",{children:"上传文件"})]}),(0,t.jsxs)("div",{className:"action-card action-card-download",onClick:()=>ed.open(),children:[(0,t.jsx)(g.Download,{size:20,className:"action-grid-icon"}),(0,t.jsx)("p",{children:"下载文件"})]})]}),"all"===Y&&(0,t.jsx)("div",{className:"breadcrumb",children:eJ?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>ts(""),children:"全部内容"}),to.slice(1).map((e,r)=>(0,t.jsxs)(s.default.Fragment,{children:[(0,t.jsx)(u,{size:12}),(0,t.jsx)("button",{onClick:()=>ts(e.path),className:r===to.length-2?"current":"",children:e.name}),r===to.length-2&&(0,t.jsx)("button",{onClick:()=>e6(e),className:"breadcrumb-edit-btn",children:(0,t.jsx)(N,{size:12})})]},e.path))]}):null}),(0,t.jsxs)("div",{className:"content-grid",children:["trash"===Y&&(0===tr.length?(0,t.jsx)("div",{className:"empty-state",children:eg?"未找到相关文件":"回收站是空的"}):(0,t.jsx)("div",{className:"file-grid",children:tr.map(e=>{var s;return(0,t.jsxs)("div",{onClick:()=>ea(t=>t.includes(e.cid)?t.filter(t=>t!==e.cid):[...t,e.cid]),onDoubleClick:()=>eY(e.cid),className:`card ${er.includes(e.cid)?"selected":""}`,children:[(0,t.jsx)("div",{className:"card-icon trash",children:(0,t.jsx)(p,{size:24,color:"#fff"})}),(0,t.jsx)("p",{className:"card-name",children:F(e.fileName).name}),(0,t.jsxs)("p",{className:"card-date",children:["删除于 ",(s=e.deletedAt)?new Date(s).toLocaleDateString("zh-CN"):""]})]},e.cid)})})),"trash"!==Y&&(0===tr.length&&0===ta.length?(0,t.jsx)("div",{className:"empty-state",children:eg?"未找到相关文件":"starred"===Y?"暂无的收藏":"暂无文件"}):(0,t.jsxs)("div",{className:"file-grid",children:[ta.map(e=>(0,t.jsx)(J,{folder:e,isDarkMode:c,onClick:()=>ts(e.path)},e.path)),tr.map(e=>(0,t.jsx)(I,{file:e,isSelected:er.includes(e.cid),isDarkMode:c,onSelect:eQ,onPreview:e=>ei({...e,subtype:U(e.fileName)})},e.cid))]}))]}),eC&&(0,t.jsx)(q.ConfirmModal,{title:eC.title,message:eC.message,confirmText:eC.confirmText,danger:eC.danger,closeOnOverlayClick:eC.danger,onConfirm:eC.onConfirm,onClose:()=>eS(null)}),eq&&(0,t.jsx)(E.InputModal,{title:eq.title,placeholder:eq.placeholder,defaultValue:eq.defaultValue,confirmText:eq.confirmText,isLoading:eM,onConfirm:eq.onConfirm,onClose:()=>eE(null)}),eR&&(0,t.jsx)(V,{items:er.map(e=>X.find(t=>t.cid===e)).filter(Boolean),allFolders:eV.map(e=>({path:e,name:e.split("/").pop()})),currentPath:eJ,onMove:e4,onClose:()=>eT.close()}),en&&(0,t.jsx)(S.ModalOverlay,{onClose:()=>el(null),children:(0,t.jsxs)("div",{className:"share-modal",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"modal-header",children:[(0,t.jsx)("h3",{children:"分享链接"}),(0,t.jsx)("button",{onClick:()=>el(null),className:"modal-close-btn",children:(0,t.jsx)(m.X,{size:18})})]}),(0,t.jsxs)("div",{className:"share-link-box",children:[(0,t.jsxs)("div",{className:"share-link-text",children:["most://",en.cid,"?filename=",en.fileName]}),(0,t.jsx)("button",{onClick:()=>{ew(`most://${en.cid}?filename=${en.fileName}`)},className:`share-copy-btn ${ex?"copied":""}`,children:ex?(0,t.jsx)(f.Check,{size:18}):(0,t.jsx)(y.Copy,{size:18})})]})]})}),ec&&(0,t.jsx)(S.ModalOverlay,{onClose:()=>ed.close(),children:(0,t.jsxs)("div",{className:"download-modal",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"modal-header",children:[(0,t.jsx)("h3",{children:"下载文件"}),(0,t.jsx)("button",{onClick:()=>ed.close(),className:"modal-close-btn",children:(0,t.jsx)(m.X,{size:18})})]}),(0,t.jsx)("input",{type:"text",value:eh,onChange:e=>eu(e.target.value),placeholder:"most://...",onKeyDown:e=>"Enter"===e.key&&e9(),className:"download-input"}),(0,t.jsx)("button",{onClick:e9,disabled:!eh.trim()||e8,className:"download-btn",children:e8?"下载中...":"开始下载"})]})}),eo&&(0,t.jsxs)("div",{className:"preview-overlay",onClick:()=>{ei(null),e$(""),eU(!1)},children:[(0,t.jsx)("button",{className:"preview-close",children:(0,t.jsx)(m.X,{size:20})}),(0,t.jsxs)("div",{onClick:e=>e.stopPropagation(),children:["image"===eo.subtype&&(0,t.jsx)("div",{className:"preview-media-wrapper",children:(0,t.jsx)("img",{ref:eI,src:L.getFileDownloadUrl(eo.cid),alt:""})}),"video"===eo.subtype&&(0,t.jsx)("div",{className:"preview-media-wrapper",children:(0,t.jsx)("video",{ref:eI,src:L.getFileDownloadUrl(eo.cid),controls:!0})}),"audio"===eo.subtype&&(0,t.jsxs)("div",{className:"preview-audio",children:[(0,t.jsx)("div",{className:"preview-audio-icon",children:(0,t.jsx)(h.Music,{size:36,color:"var(--accent)"})}),(0,t.jsx)("p",{className:"preview-audio-filename",children:eo.fileName}),(0,t.jsx)("audio",{className:"preview-audio-player",src:L.getFileDownloadUrl(eo.cid),controls:!0})]}),"file"===eo.subtype&&(0,t.jsxs)("div",{className:"preview-unsupported",children:[(0,t.jsx)(p,{size:48,className:"preview-file-icon"}),(0,t.jsx)("p",{children:eo.fileName}),(0,t.jsx)("p",{className:"preview-unsupported-hint",children:"无法预览"})]}),"text"===eo.subtype&&(0,t.jsxs)("div",{className:"preview-text-container",children:[(0,t.jsx)("div",{className:"preview-text-header",children:(0,t.jsx)("span",{children:eo.fileName})}),eD?(0,t.jsxs)("div",{className:"preview-text-loading",children:[(0,t.jsx)(R,{size:24,className:"preview-text-spinner"}),(0,t.jsx)("p",{children:"正在加载文本预览..."}),(0,t.jsx)("p",{className:"preview-text-loading-hint",children:"如果是初次预览,可能需要等待 P2P 网络同步"})]}):(0,t.jsx)("pre",{className:"preview-text",children:eL||"(文件为空)"})]})]})]}),er.length>0&&(0,t.jsxs)("div",{className:"batch-bar",children:[(0,t.jsxs)("span",{className:"batch-info",children:["已选 ",er.length," 项"]}),(0,t.jsx)("button",{onClick:()=>ea([]),className:"batch-dismiss",children:(0,t.jsx)(m.X,{size:16})}),(0,t.jsx)("div",{className:"batch-divider"}),"trash"===Y?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:async()=>{await Promise.all(er.map(e=>L.restoreTrashFile(e))),ea([]),M("已恢复","success"),eK(),eG(),eZ()},className:"btn small",children:"恢复"}),(0,t.jsx)("button",{onClick:e2,className:"btn small danger",children:"永久删除"})]}):(0,t.jsxs)(t.Fragment,{children:[1===er.length&&(n=X.find(e=>e.cid===er[0]))&&"file"!==U(n.fileName)&&(0,t.jsx)("button",{onClick:()=>{let e=X.find(e=>e.cid===er[0]);if(e){let t=U(e.fileName);ei({...e,subtype:t}),e$(""),"text"===t&&e5(e.cid)}},className:"btn small",children:"预览"}),(0,t.jsx)("button",{onClick:()=>{let e=er.some(e=>{let t=X.find(t=>t.cid===e);return t&&!t.starred});er.forEach(t=>{let s=X.find(e=>e.cid===t);s&&(e?!s.starred:s.starred)&&e1(t)})},className:"btn small btn-star",children:"收藏"}),1===er.length&&(0,t.jsx)("button",{onClick:()=>{let e=X.find(e=>e.cid===er[0]);e&&e6(e)},className:"btn small",children:"重命名"}),(0,t.jsx)("button",{onClick:()=>eT.open(),className:"btn small btn-move",children:"移动"}),(0,t.jsx)("button",{onClick:e2,className:"btn small danger",children:"删除"}),1===er.length&&(0,t.jsx)("button",{onClick:()=>el(X.find(e=>e.cid===er[0])),className:"btn small",children:"分享"}),1===er.length&&(0,t.jsx)("button",{onClick:()=>{let e=X.find(e=>e.cid===er[0]);e&&tt(e)},className:"btn small",children:"另存为"})]})]}),ef&&(0,t.jsx)(S.ModalOverlay,{onClose:()=>ey.close(),closeOnOverlayClick:!0,children:(0,t.jsxs)("div",{className:"transfer-modal",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"modal-header",children:[(0,t.jsx)("h3",{children:"传输"}),(0,t.jsx)("button",{onClick:()=>ey.close(),className:"modal-close-btn",children:(0,t.jsx)(m.X,{size:18})})]}),0===ep.length?(0,t.jsx)("div",{className:"empty-transfer",children:"暂无传输"}):ep.map(e=>(0,t.jsxs)("div",{className:"transfer-item",children:[(0,t.jsxs)("div",{className:"transfer-item-header",children:["upload"===e.type?(0,t.jsx)(a,{size:14}):(0,t.jsx)(g.Download,{size:14}),(0,t.jsx)("span",{className:"transfer-item-name",children:e.fileName}),"downloading"===e.status&&"download"===e.type&&(0,t.jsx)("button",{onClick:()=>te(e),className:"transfer-item-cancel",children:(0,t.jsx)(m.X,{size:14})})]}),(0,t.jsxs)("div",{className:"transfer-progress-row",children:[(0,t.jsx)("div",{className:"transfer-progress-bar",children:(0,t.jsx)("div",{className:`transfer-progress-fill ${"download"===e.type?"download":""} ${"error"===e.status?"error":""} ${"cancelled"===e.status?"cancelled":""}`,style:{width:`${e.progress}%`}})}),(0,t.jsx)("span",{className:"transfer-progress-text",children:"completed"===e.status?"完成":"error"===e.status?"失败":"cancelled"===e.status?"已取消":e.loaded&&e.total?`${O(e.loaded)}/${O(e.total)}`:`${e.progress}%`})]})]},e.id))]})})]})}],27627)}]);
@@ -0,0 +1,31 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,35451,(e,t,r)=>{var n={229:function(e){var t,r,n,o=e.exports={};function u(){throw Error("setTimeout has not been defined")}function i(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:u}catch(e){t=u}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===u||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}var l=[],s=!1,c=-1;function f(){s&&n&&(s=!1,n.length?l=n.concat(l):c=-1,l.length&&d())}function d(){if(!s){var e=a(f);s=!0;for(var t=l.length;t;){for(n=l,l=[];++c<t;)n&&n[c].run();c=-1,t=l.length}n=null,s=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===i||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function y(){}o.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];l.push(new p(e,t)),1!==l.length||s||a(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=y,o.addListener=y,o.once=y,o.off=y,o.removeListener=y,o.removeAllListeners=y,o.emit=y,o.prependListener=y,o.prependOnceListener=y,o.listeners=function(e){return[]},o.binding=function(e){throw Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw Error("process.chdir is not supported")},o.umask=function(){return 0}}},o={};function u(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={exports:{}},i=!0;try{n[e](r,r.exports,u),i=!1}finally{i&&delete o[e]}return r.exports}u.ab="/ROOT/node_modules/next/dist/compiled/process/",t.exports=u(229)},47167,(e,t,r)=>{"use strict";var n,o;t.exports=(null==(n=e.g.process)?void 0:n.env)&&"object"==typeof(null==(o=e.g.process)?void 0:o.env)?e.g.process:e.r(35451)},45689,(e,t,r)=>{"use strict";var n=Symbol.for("react.transitional.element");function o(e,t,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==t.key&&(o=""+t.key),"key"in t)for(var u in r={},t)"key"!==u&&(r[u]=t[u]);else r=t;return{$$typeof:n,type:e,key:o,ref:void 0!==(t=r.ref)?t:null,props:r}}r.Fragment=Symbol.for("react.fragment"),r.jsx=o,r.jsxs=o},43476,(e,t,r)=>{"use strict";t.exports=e.r(45689)},50740,(e,t,r)=>{"use strict";var n=e.i(47167),o=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),h=Symbol.for("react.activity"),b=Symbol.for("react.view_transition"),g=Symbol.iterator,_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,m={};function x(e,t,r){this.props=e,this.context=t,this.refs=m,this.updater=r||_}function j(){}function S(e,t,r){this.props=e,this.context=t,this.refs=m,this.updater=r||_}x.prototype.isReactComponent={},x.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},x.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},j.prototype=x.prototype;var O=S.prototype=new j;O.constructor=S,v(O,x.prototype),O.isPureReactComponent=!0;var E=Array.isArray;function w(){}var T={H:null,A:null,T:null,S:null},R=Object.prototype.hasOwnProperty;function P(e,t,r){var n=r.ref;return{$$typeof:o,type:e,key:t,ref:void 0!==n?n:null,props:r}}function A(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var M=/\/+/g;function C(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function k(e,t,r){if(null==e)return e;var n=[],i=0;return!function e(t,r,n,i,a){var l,s,c,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case o:case u:d=!0;break;case y:return e((d=t._init)(t._payload),r,n,i,a)}}if(d)return a=a(t),d=""===i?"."+C(t,0):i,E(a)?(n="",null!=d&&(n=d.replace(M,"$&/")+"/"),e(a,r,n,"",function(e){return e})):null!=a&&(A(a)&&(l=a,s=n+(null==a.key||t&&t.key===a.key?"":(""+a.key).replace(M,"$&/")+"/")+d,a=P(l.type,s,l.props)),r.push(a)),1;d=0;var p=""===i?".":i+":";if(E(t))for(var h=0;h<t.length;h++)f=p+C(i=t[h],h),d+=e(i,r,n,f,a);else if("function"==typeof(h=null===(c=t)||"object"!=typeof c?null:"function"==typeof(c=g&&c[g]||c["@@iterator"])?c:null))for(t=h.call(t),h=0;!(i=t.next()).done;)f=p+C(i=i.value,h++),d+=e(i,r,n,f,a);else if("object"===f){if("function"==typeof t.then)return e(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(w,w):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(t),r,n,i,a);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(r=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.")}return d}(e,n,"","",function(e){return t.call(r,e,i++)}),n}function H(e){if(-1===e._status){var t=(0,e._result)();t.then(function(r){(0===e._status||-1===e._status)&&(e._status=1,e._result=r,void 0===t.status&&(t.status="fulfilled",t.value=r))},function(r){(0===e._status||-1===e._status)&&(e._status=2,e._result=r,void 0===t.status&&(t.status="rejected",t.reason=r))}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var U="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof n.default&&"function"==typeof n.default.emit)return void n.default.emit("uncaughtException",e);console.error(e)};function N(e){var t=T.T,r={};r.types=null!==t?t.types:null,T.T=r;try{var n=e(),o=T.S;null!==o&&o(r,n),"object"==typeof n&&null!==n&&"function"==typeof n.then&&n.then(w,U)}catch(e){U(e)}finally{null!==t&&null!==r.types&&(t.types=r.types),T.T=t}}function I(e){var t=T.T;if(null!==t){var r=t.types;null===r?t.types=[e]:-1===r.indexOf(e)&&r.push(e)}else N(I.bind(null,e))}r.Activity=h,r.Children={map:k,forEach:function(e,t,r){k(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return k(e,function(){t++}),t},toArray:function(e){return k(e,function(e){return e})||[]},only:function(e){if(!A(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},r.Component=x,r.Fragment=i,r.Profiler=l,r.PureComponent=S,r.StrictMode=a,r.Suspense=d,r.ViewTransition=b,r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=T,r.__COMPILER_RUNTIME={__proto__:null,c:function(e){return T.H.useMemoCache(e)}},r.addTransitionType=I,r.cache=function(e){return function(){return e.apply(null,arguments)}},r.cacheSignal=function(){return null},r.cloneElement=function(e,t,r){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var n=v({},e.props),o=e.key;if(null!=t)for(u in void 0!==t.key&&(o=""+t.key),t)R.call(t,u)&&"key"!==u&&"__self"!==u&&"__source"!==u&&("ref"!==u||void 0!==t.ref)&&(n[u]=t[u]);var u=arguments.length-2;if(1===u)n.children=r;else if(1<u){for(var i=Array(u),a=0;a<u;a++)i[a]=arguments[a+2];n.children=i}return P(e.type,o,n)},r.createContext=function(e){return(e={$$typeof:c,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:s,_context:e},e},r.createElement=function(e,t,r){var n,o={},u=null;if(null!=t)for(n in void 0!==t.key&&(u=""+t.key),t)R.call(t,n)&&"key"!==n&&"__self"!==n&&"__source"!==n&&(o[n]=t[n]);var i=arguments.length-2;if(1===i)o.children=r;else if(1<i){for(var a=Array(i),l=0;l<i;l++)a[l]=arguments[l+2];o.children=a}if(e&&e.defaultProps)for(n in i=e.defaultProps)void 0===o[n]&&(o[n]=i[n]);return P(e,u,o)},r.createRef=function(){return{current:null}},r.forwardRef=function(e){return{$$typeof:f,render:e}},r.isValidElement=A,r.lazy=function(e){return{$$typeof:y,_payload:{_status:-1,_result:e},_init:H}},r.memo=function(e,t){return{$$typeof:p,type:e,compare:void 0===t?null:t}},r.startTransition=N,r.unstable_useCacheRefresh=function(){return T.H.useCacheRefresh()},r.use=function(e){return T.H.use(e)},r.useActionState=function(e,t,r){return T.H.useActionState(e,t,r)},r.useCallback=function(e,t){return T.H.useCallback(e,t)},r.useContext=function(e){return T.H.useContext(e)},r.useDebugValue=function(){},r.useDeferredValue=function(e,t){return T.H.useDeferredValue(e,t)},r.useEffect=function(e,t){return T.H.useEffect(e,t)},r.useEffectEvent=function(e){return T.H.useEffectEvent(e)},r.useId=function(){return T.H.useId()},r.useImperativeHandle=function(e,t,r){return T.H.useImperativeHandle(e,t,r)},r.useInsertionEffect=function(e,t){return T.H.useInsertionEffect(e,t)},r.useLayoutEffect=function(e,t){return T.H.useLayoutEffect(e,t)},r.useMemo=function(e,t){return T.H.useMemo(e,t)},r.useOptimistic=function(e,t){return T.H.useOptimistic(e,t)},r.useReducer=function(e,t,r){return T.H.useReducer(e,t,r)},r.useRef=function(e){return T.H.useRef(e)},r.useState=function(e){return T.H.useState(e)},r.useSyncExternalStore=function(e,t,r){return T.H.useSyncExternalStore(e,t,r)},r.useTransition=function(){return T.H.useTransition()},r.version="19.3.0-canary-3f0b9e61-20260317"},71645,(e,t,r)=>{"use strict";t.exports=e.r(50740)},55682,(e,t,r)=>{"use strict";r._=function(e){return e&&e.__esModule?e:{default:e}}},90317,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={bindSnapshot:function(){return s},createAsyncLocalStorage:function(){return l},createSnapshot:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class i{disable(){throw u}getStore(){}run(){throw u}exit(){throw u}enterWith(){throw u}static bind(e){return e}}let a="u">typeof globalThis&&globalThis.AsyncLocalStorage;function l(){return a?new a:new i}function s(e){return a?a.bind(e):i.bind(e)}function c(){return a?a.snapshot():function(e,...t){return e(...t)}}},42344,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},63599,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=e.r(42344)},12354,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"handleISRError",{enumerable:!0,get:function(){return o}});let n="u"<typeof window?e.r(63599).workAsyncStorage:void 0;function o({error:e}){if(n){let t=n.getStore();if(t?.isStaticGeneration)throw e&&console.error(e),e}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},90373,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useUntrackedPathname",{enumerable:!0,get:function(){return u}});let n=e.r(71645),o=e.r(61994);function u(){return!function(){if("u"<typeof window){let{workUnitAsyncStorage:t}=e.r(62141),r=t.getStore();if(!r)return!1;switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"validation-client":let n=r.fallbackRouteParams;return!!n&&n.size>0}}return!1}()?(0,n.useContext)(o.PathnameContext):null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},78377,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={handleHardNavError:function(){return i},useNavFailureHandler:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});e.r(71645);let u=e.r(51191);function i(e){return!!(e&&"u">typeof window)&&!!window.next.__pendingUrl&&(0,u.createHrefFromUrl)(new URL(window.location.href))!==(0,u.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function a(){}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},72383,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ErrorBoundary:function(){return h},ErrorBoundaryHandler:function(){return y}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(90809),i=e.r(43476),a=u._(e.r(71645)),l=e.r(90373),s=e.r(65713);e.r(78377);let c=e.r(12354),f=e.r(82604),d=e.r(8372),p="u">typeof window&&(0,f.isBot)(window.navigator.userAgent);class y extends a.default.Component{static{this.contextType=d.AppRouterContext}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.unstable_retry=()=>{(0,a.startTransition)(()=>{this.context?.refresh(),this.reset()})},this.state={error:null,previousPathname:this.props.pathname}}static getDerivedStateFromError(e){if((0,s.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error&&!p?((0,c.handleISRError)({error:this.state.error}),(0,i.jsxs)(i.Fragment,{children:[this.props.errorStyles,this.props.errorScripts,(0,i.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset,unstable_retry:this.unstable_retry})]})):this.props.children}}function h({errorComponent:e,errorStyles:t,errorScripts:r,children:n}){let o=(0,l.useUntrackedPathname)();return e?(0,i.jsx)(y,{pathname:o,errorComponent:e,errorStyles:t,errorScripts:r,children:n}):(0,i.jsx)(i.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},58442,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={RedirectBoundary:function(){return p},RedirectErrorBoundary:function(){return d}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(90809),i=e.r(43476),a=u._(e.r(71645)),l=e.r(76562),s=e.r(24063),c=e.r(68391);function f({redirect:e,reset:t,redirectType:r}){let n=(0,l.useRouter)();return(0,a.useEffect)(()=>{a.default.startTransition(()=>{"push"===r?n.push(e,{}):n.replace(e,{}),t()})},[e,r,t,n]),null}class d extends a.default.Component{constructor(e){super(e),this.state={redirect:null,redirectType:null}}static getDerivedStateFromError(e){if((0,c.isRedirectError)(e)){let t=(0,s.getURLFromRedirectError)(e),r=(0,s.getRedirectTypeFromError)(e);return"handled"in e?{redirect:null,redirectType:null}:{redirect:t,redirectType:r}}throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,i.jsx)(f,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}}function p({children:e}){let t=(0,l.useRouter)();return(0,i.jsx)(d,{router:t,children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},70725,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let n=e.r(13258);function o(e,t=!1){return Array.isArray(e)?`${e[0]}|${e[1]}|${e[2]}`:t&&e.startsWith(n.PAGE_SEGMENT_KEY)?n.PAGE_SEGMENT_KEY:e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},1244,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unresolvedThenable",{enumerable:!0,get:function(){return n}});let n={then:()=>{}};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},97367,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={MetadataBoundary:function(){return a},OutletBoundary:function(){return s},RootLayoutBoundary:function(){return c},ViewportBoundary:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(54839),i={[u.METADATA_BOUNDARY_NAME]:function({children:e}){return e},[u.VIEWPORT_BOUNDARY_NAME]:function({children:e}){return e},[u.OUTLET_BOUNDARY_NAME]:function({children:e}){return e},[u.ROOT_LAYOUT_BOUNDARY_NAME]:function({children:e}){return e}},a=i[u.METADATA_BOUNDARY_NAME.slice(0)],l=i[u.VIEWPORT_BOUNDARY_NAME.slice(0)],s=i[u.OUTLET_BOUNDARY_NAME.slice(0)],c=i[u.ROOT_LAYOUT_BOUNDARY_NAME.slice(0)]},18576,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={WarningIcon:function(){return l},errorStyles:function(){return i},errorThemeCss:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});e.r(55682);let u=e.r(43476);e.r(71645);let i={container:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",display:"flex",alignItems:"center",justifyContent:"center"},card:{marginTop:"-32px",maxWidth:"325px",padding:"32px 28px",textAlign:"left"},icon:{marginBottom:"24px"},title:{fontSize:"24px",fontWeight:500,letterSpacing:"-0.02em",lineHeight:"32px",margin:"0 0 12px 0",color:"var(--next-error-title)"},message:{fontSize:"14px",fontWeight:400,lineHeight:"21px",margin:"0 0 20px 0",color:"var(--next-error-message)"},form:{margin:0},buttonGroup:{display:"flex",gap:"8px",alignItems:"center"},button:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:"32px",padding:"0 12px",fontSize:"14px",fontWeight:500,lineHeight:"20px",borderRadius:"6px",cursor:"pointer",color:"var(--next-error-btn-text)",background:"var(--next-error-btn-bg)",border:"var(--next-error-btn-border)"},buttonSecondary:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:"32px",padding:"0 12px",fontSize:"14px",fontWeight:500,lineHeight:"20px",borderRadius:"6px",cursor:"pointer",color:"var(--next-error-btn-secondary-text)",background:"var(--next-error-btn-secondary-bg)",border:"var(--next-error-btn-secondary-border)"},digestFooter:{position:"fixed",bottom:"32px",left:"0",right:"0",textAlign:"center",fontFamily:'ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace',fontSize:"12px",lineHeight:"18px",fontWeight:400,margin:"0",color:"var(--next-error-digest)"}},a=`
2
+ :root {
3
+ --next-error-bg: #fff;
4
+ --next-error-text: #171717;
5
+ --next-error-title: #171717;
6
+ --next-error-message: #171717;
7
+ --next-error-digest: #666666;
8
+ --next-error-btn-text: #fff;
9
+ --next-error-btn-bg: #171717;
10
+ --next-error-btn-border: none;
11
+ --next-error-btn-secondary-text: #171717;
12
+ --next-error-btn-secondary-bg: transparent;
13
+ --next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);
14
+ }
15
+ @media (prefers-color-scheme: dark) {
16
+ :root {
17
+ --next-error-bg: #0a0a0a;
18
+ --next-error-text: #ededed;
19
+ --next-error-title: #ededed;
20
+ --next-error-message: #ededed;
21
+ --next-error-digest: #a0a0a0;
22
+ --next-error-btn-text: #0a0a0a;
23
+ --next-error-btn-bg: #ededed;
24
+ --next-error-btn-border: none;
25
+ --next-error-btn-secondary-text: #ededed;
26
+ --next-error-btn-secondary-bg: transparent;
27
+ --next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);
28
+ }
29
+ }
30
+ body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }
31
+ `.replace(/\n\s*/g,"");function l(){return(0,u.jsx)("svg",{width:"32",height:"32",viewBox:"-0.2 -1.5 32 32",fill:"none",style:i.icon,children:(0,u.jsx)("path",{d:"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z",fill:"var(--next-error-title)"})})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68027,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return i}}),e.r(55682);let n=e.r(43476);e.r(71645);let o=e.r(12354),u=e.r(18576),i=function({error:e}){let t=e?.digest,r=!!t;return(0,o.handleISRError)({error:e}),(0,n.jsxs)("html",{id:"__next_error__",children:[(0,n.jsx)("head",{children:(0,n.jsx)("style",{dangerouslySetInnerHTML:{__html:u.errorThemeCss}})}),(0,n.jsxs)("body",{children:[(0,n.jsx)("div",{style:u.errorStyles.container,children:(0,n.jsxs)("div",{style:u.errorStyles.card,children:[(0,n.jsx)(u.WarningIcon,{}),(0,n.jsx)("h1",{style:u.errorStyles.title,children:"This page couldn’t load"}),(0,n.jsx)("p",{style:u.errorStyles.message,children:r?"A server error occurred. Reload to try again.":"Reload to try again, or go back."}),(0,n.jsxs)("div",{style:u.errorStyles.buttonGroup,children:[(0,n.jsx)("form",{style:u.errorStyles.form,children:(0,n.jsx)("button",{type:"submit",style:u.errorStyles.button,children:"Reload"})}),!r&&(0,n.jsx)("button",{type:"button",style:u.errorStyles.buttonSecondary,onClick:()=>{window.history.length>1?window.history.back():window.location.href="/"},children:"Back"})]})]})}),t&&(0,n.jsxs)("p",{style:u.errorStyles.digestFooter,children:["ERROR ",t]})]})]})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]);