most-box 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -13
- package/out/404/index.html +2 -2
- package/out/404.html +2 -2
- package/out/__next.__PAGE__.txt +6 -6
- package/out/__next._full.txt +15 -15
- package/out/__next._head.txt +3 -3
- package/out/__next._index.txt +7 -7
- package/out/__next._tree.txt +4 -4
- package/out/_next/static/chunks/00t5ddkkjek9v.js +1 -0
- package/out/_next/static/chunks/0hodisxqbtmye.js +1 -0
- package/out/_next/static/chunks/0jinrmgt26crz.js +1 -0
- package/out/_next/static/chunks/0mslhkdi-msxv.js +1 -0
- package/out/_next/static/chunks/1h-f81ddyfcmx.css +1 -0
- package/out/_next/static/chunks/1x76jmdus29em.js +1 -0
- package/out/_next/static/chunks/22vt64m0krmev.js +1 -0
- package/out/_next/static/chunks/{0vmjat-s4a3yj.css → 258tyt1xt34p4.css} +1 -1
- package/out/_next/static/chunks/266xuv6ts5889.js +5 -0
- package/out/_next/static/chunks/26hcvxjw9do9d.js +1 -0
- package/out/_next/static/chunks/{0nwdp-n94owg0.css → 2jnstwjg45vfp.css} +1 -1
- package/out/_next/static/chunks/2o-0n-9r5u1oh.js +1 -0
- package/out/_next/static/chunks/2pkm-6u9yq_cq.js +1 -0
- package/out/_next/static/chunks/31zdi2pl6em6-.css +1 -0
- package/out/_next/static/chunks/393isf5crmqic.js +1 -0
- package/out/_next/static/chunks/3e9ia0hs-pqvs.css +1 -0
- package/out/_next/static/chunks/3ej6im7cbakx3.js +1 -0
- package/out/_next/static/chunks/3ejz1mdljwwqf.css +1 -0
- package/out/_next/static/chunks/{0s7i7nfr9j3b1.js → 3m7_o1ihz8ay_.js} +1 -1
- package/out/_next/static/chunks/3qm2vbylm324o.css +1 -0
- package/out/_next/static/chunks/3uxltn4677hjy.js +1 -0
- package/out/_next/static/chunks/3w2qk10_udrd9.js +1 -0
- package/out/_next/static/chunks/3xl0fq2d3dle6.js +1 -0
- package/out/_next/static/chunks/{23kls47vn_rpg.css → 440es_b4nw-7c.css} +2 -2
- package/out/_next/static/chunks/{turbopack-026p0g9v9_pva.js → turbopack-3vvza9m6839dy.js} +1 -1
- package/out/_not-found/__next._full.txt +12 -12
- package/out/_not-found/__next._head.txt +3 -3
- package/out/_not-found/__next._index.txt +7 -7
- package/out/_not-found/__next._not-found.__PAGE__.txt +4 -4
- package/out/_not-found/__next._not-found.txt +3 -3
- package/out/_not-found/__next._tree.txt +2 -2
- package/out/_not-found/index.html +2 -2
- package/out/_not-found/index.txt +12 -12
- package/out/admin/__next._full.txt +13 -13
- package/out/admin/__next._head.txt +3 -3
- package/out/admin/__next._index.txt +7 -7
- package/out/admin/__next._tree.txt +2 -2
- package/out/admin/__next.admin.__PAGE__.txt +4 -4
- package/out/admin/__next.admin.txt +3 -3
- package/out/admin/index.html +2 -2
- package/out/admin/index.txt +13 -13
- package/out/app/__next._full.txt +13 -13
- package/out/app/__next._head.txt +3 -3
- package/out/app/__next._index.txt +7 -7
- package/out/app/__next._tree.txt +2 -2
- package/out/app/__next.app.__PAGE__.txt +4 -4
- package/out/app/__next.app.txt +3 -3
- package/out/app/index.html +2 -2
- package/out/app/index.txt +13 -13
- package/out/chat/__next._full.txt +14 -14
- package/out/chat/__next._head.txt +3 -3
- package/out/chat/__next._index.txt +7 -7
- package/out/chat/__next._tree.txt +3 -3
- package/out/chat/__next.chat.__PAGE__.txt +4 -4
- package/out/chat/__next.chat.txt +4 -4
- package/out/chat/index.html +2 -2
- package/out/chat/index.txt +14 -14
- package/out/chat/join/__next._full.txt +14 -14
- package/out/chat/join/__next._head.txt +3 -3
- package/out/chat/join/__next._index.txt +7 -7
- package/out/chat/join/__next._tree.txt +3 -3
- package/out/chat/join/__next.chat.join.__PAGE__.txt +4 -4
- package/out/chat/join/__next.chat.join.txt +3 -3
- package/out/chat/join/__next.chat.txt +4 -4
- package/out/chat/join/index.html +2 -2
- package/out/chat/join/index.txt +14 -14
- package/out/demo/__next._full.txt +17 -16
- package/out/demo/__next._head.txt +3 -3
- package/out/demo/__next._index.txt +7 -7
- package/out/demo/__next._tree.txt +6 -5
- package/out/demo/__next.demo.__PAGE__.txt +8 -7
- package/out/demo/__next.demo.txt +3 -3
- package/out/demo/index.html +3 -3
- package/out/demo/index.txt +17 -16
- package/out/download/__next._full.txt +37 -33
- package/out/download/__next._head.txt +3 -3
- package/out/download/__next._index.txt +7 -7
- package/out/download/__next._tree.txt +3 -3
- package/out/download/__next.download.__PAGE__.txt +6 -6
- package/out/download/__next.download.txt +3 -3
- package/out/download/index.html +2 -2
- package/out/download/index.txt +37 -33
- package/out/game/__next._full.txt +11 -11
- package/out/game/__next._head.txt +3 -3
- package/out/game/__next._index.txt +7 -7
- package/out/game/__next._tree.txt +2 -2
- package/out/game/__next.game.__PAGE__.txt +2 -2
- package/out/game/__next.game.txt +3 -3
- package/out/game/gandengyan/__next._full.txt +14 -14
- package/out/game/gandengyan/__next._head.txt +3 -3
- package/out/game/gandengyan/__next._index.txt +7 -7
- package/out/game/gandengyan/__next._tree.txt +3 -3
- package/out/game/gandengyan/__next.game.gandengyan.__PAGE__.txt +5 -5
- package/out/game/gandengyan/__next.game.gandengyan.txt +3 -3
- package/out/game/gandengyan/__next.game.txt +3 -3
- package/out/game/gandengyan/index.html +2 -2
- package/out/game/gandengyan/index.txt +14 -14
- package/out/game/index.html +1 -1
- package/out/game/index.txt +11 -11
- package/out/game/zhajinhua/__next._full.txt +14 -13
- package/out/game/zhajinhua/__next._head.txt +3 -3
- package/out/game/zhajinhua/__next._index.txt +7 -7
- package/out/game/zhajinhua/__next._tree.txt +3 -2
- package/out/game/zhajinhua/__next.game.txt +3 -3
- package/out/game/zhajinhua/__next.game.zhajinhua.__PAGE__.txt +5 -4
- package/out/game/zhajinhua/__next.game.zhajinhua.txt +3 -3
- package/out/game/zhajinhua/index.html +2 -2
- package/out/game/zhajinhua/index.txt +14 -13
- package/out/index.html +2 -2
- package/out/index.txt +15 -15
- package/out/note/__next._full.txt +13 -13
- package/out/note/__next._head.txt +3 -3
- package/out/note/__next._index.txt +7 -7
- package/out/note/__next._tree.txt +2 -2
- package/out/note/__next.note.__PAGE__.txt +4 -4
- package/out/note/__next.note.txt +3 -3
- package/out/note/index.html +2 -2
- package/out/note/index.txt +13 -13
- package/out/ping/__next._full.txt +14 -14
- package/out/ping/__next._head.txt +3 -3
- package/out/ping/__next._index.txt +7 -7
- package/out/ping/__next._tree.txt +3 -3
- package/out/ping/__next.ping.__PAGE__.txt +5 -5
- package/out/ping/__next.ping.txt +3 -3
- package/out/ping/index.html +2 -2
- package/out/ping/index.txt +14 -14
- package/out/web3/__next._full.txt +14 -14
- package/out/web3/__next._head.txt +3 -3
- package/out/web3/__next._index.txt +7 -7
- package/out/web3/__next._tree.txt +3 -3
- package/out/web3/__next.web3.__PAGE__.txt +4 -4
- package/out/web3/__next.web3.txt +4 -4
- package/out/web3/ed25519/__next._full.txt +12 -12
- package/out/web3/ed25519/__next._head.txt +3 -3
- package/out/web3/ed25519/__next._index.txt +7 -7
- package/out/web3/ed25519/__next._tree.txt +3 -3
- package/out/web3/ed25519/__next.web3.ed25519.__PAGE__.txt +2 -2
- package/out/web3/ed25519/__next.web3.ed25519.txt +3 -3
- package/out/web3/ed25519/__next.web3.txt +4 -4
- package/out/web3/ed25519/index.html +1 -1
- package/out/web3/ed25519/index.txt +12 -12
- package/out/web3/index.html +2 -2
- package/out/web3/index.txt +14 -14
- package/out/web3/tools/__next._full.txt +12 -12
- package/out/web3/tools/__next._head.txt +3 -3
- package/out/web3/tools/__next._index.txt +7 -7
- package/out/web3/tools/__next._tree.txt +3 -3
- package/out/web3/tools/__next.web3.tools.__PAGE__.txt +2 -2
- package/out/web3/tools/__next.web3.tools.txt +3 -3
- package/out/web3/tools/__next.web3.txt +4 -4
- package/out/web3/tools/index.html +1 -1
- package/out/web3/tools/index.txt +12 -12
- package/package.json +1 -1
- package/server/src/core/gameRoom.js +12 -0
- package/server/src/core/zhajinhua.js +82 -14
- package/server/src/games/gandengyan.js +39 -0
- package/server/src/http/app.js +66 -1
- package/server/src/http/nodeStatus.js +18 -0
- package/server/src/index.js +667 -165
- package/out/_next/static/chunks/0-ryc9icn6dql.css +0 -1
- package/out/_next/static/chunks/088-v8tzobg5g.js +0 -1
- package/out/_next/static/chunks/0g9303i8psy6z.js +0 -1
- package/out/_next/static/chunks/10p6-qnuk3p9x.js +0 -1
- package/out/_next/static/chunks/1ei8b9nw-ea8p.css +0 -1
- package/out/_next/static/chunks/2524ggtr3e4fp.js +0 -1
- package/out/_next/static/chunks/2fmkcw8ui5xp3.js +0 -5
- package/out/_next/static/chunks/2mcmt4yla_xle.js +0 -1
- package/out/_next/static/chunks/2nbju8t9-ux58.css +0 -1
- package/out/_next/static/chunks/2v7_4ps1l4a8o.css +0 -1
- package/out/_next/static/chunks/2vk2ln79gpvm4.js +0 -1
- package/out/_next/static/chunks/37msy2-4ucgts.js +0 -1
- package/out/_next/static/chunks/384w3w4qvhw61.js +0 -1
- package/out/_next/static/chunks/3aa-weedhv4e0.js +0 -1
- package/out/_next/static/chunks/3erbaukgkw8f2.js +0 -1
- package/out/_next/static/chunks/3fea100s764m-.js +0 -1
- package/out/_next/static/chunks/3qj5xz_d4cbk6.js +0 -1
- /package/out/_next/static/{NPIlpdzQWkiVZpgfhlypH → TXy93SnAZQ7OQ-aVUkmHa}/_buildManifest.js +0 -0
- /package/out/_next/static/{NPIlpdzQWkiVZpgfhlypH → TXy93SnAZQ7OQ-aVUkmHa}/_clientMiddlewareManifest.js +0 -0
- /package/out/_next/static/{NPIlpdzQWkiVZpgfhlypH → TXy93SnAZQ7OQ-aVUkmHa}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95057,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={formatUrl:function(){return o},formatWithValidation:function(){return u},urlObjectKeys:function(){return i}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let l=e.r(90809)._(e.r(98183)),s=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:n}=e,r=e.protocol||"",a=e.pathname||"",o=e.hash||"",i=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:n&&(u=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(u+=":"+e.port)),i&&"object"==typeof i&&(i=String(l.urlQueryToSearchParams(i)));let c=e.search||i&&`?${i}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||s.test(r))&&!1!==u?(u="//"+(u||""),a&&"/"!==a[0]&&(a="/"+a)):u||(u=""),o&&"#"!==o[0]&&(o="#"+o),c&&"?"!==c[0]&&(c="?"+c),a=a.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${r}${u}${a}${c}${o}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return o(e)}},18581,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return a}});let r=e.r(71645);function a(e,t){let n=(0,r.useRef)(null),a=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=n.current;e&&(n.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(n.current=l(e,r)),t&&(a.current=l(t,r))},[e,t])}function l(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},73668,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isLocalURL",{enumerable:!0,get:function(){return l}});let r=e.r(18967),a=e.r(52817);function l(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,a.hasBasePath)(n.pathname)}catch(e){return!1}}},84508,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"errorOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},22016,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return g},useLinkStatus:function(){return v}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let l=e.r(90809),s=e.r(18050),o=l._(e.r(71645)),i=e.r(95057),u=e.r(8372),c=e.r(18581),d=e.r(18967),f=e.r(5550);e.r(33525);let p=e.r(88540),h=e.r(91949),m=e.r(73668),y=e.r(9396);function g(t){var n,r;let a,l,g,[v,C]=(0,o.useOptimistic)(h.IDLE_LINK_STATUS),j=(0,o.useRef)(null),{href:k,as:S,children:x,prefetch:w=null,passHref:M,replace:R,shallow:$,scroll:N,onClick:E,onMouseEnter:A,onTouchStart:O,legacyBehavior:L=!1,onNavigate:T,transitionTypes:P,ref:U,unstable_dynamicOnHover:_,...I}=t;a=x,L&&("string"==typeof a||"number"==typeof a)&&(a=(0,s.jsx)("a",{children:a}));let z=o.default.useContext(u.AppRouterContext),D=!1!==w,B=!1!==w?null===(r=w)||"auto"===r?y.FetchStrategy.PPR:y.FetchStrategy.Full:y.FetchStrategy.PPR,K="string"==typeof(n=S||k)?n:(0,i.formatUrl)(n);if(L){if(a?.$$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});l=o.default.Children.only(a)}let V=L?l&&"object"==typeof l&&l.ref:U,F=o.default.useCallback(e=>(null!==z&&(j.current=(0,h.mountLinkInstance)(e,K,z,B,D,C)),()=>{j.current&&((0,h.unmountLinkForCurrentNavigation)(j.current),j.current=null),(0,h.unmountPrefetchableInstance)(e)}),[D,K,z,B,C]),G={ref:(0,c.useMergedRef)(F,V),onClick(t){L||"function"!=typeof E||E(t),L&&l.props&&"function"==typeof l.props.onClick&&l.props.onClick(t),!z||t.defaultPrevented||function(t,n,r,a,l,s,i){if("u">typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(n)){a&&(t.preventDefault(),location.replace(n));return}if(t.preventDefault(),s){let e=!1;if(s({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);o.default.startTransition(()=>{d(n,a?"replace":"push",!1===l?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,r.current,i)})}}(t,K,j,R,N,T,P)},onMouseEnter(e){L||"function"!=typeof A||A(e),L&&l.props&&"function"==typeof l.props.onMouseEnter&&l.props.onMouseEnter(e),z&&D&&(0,h.onNavigationIntent)(e.currentTarget,!0===_)},onTouchStart:function(e){L||"function"!=typeof O||O(e),L&&l.props&&"function"==typeof l.props.onTouchStart&&l.props.onTouchStart(e),z&&D&&(0,h.onNavigationIntent)(e.currentTarget,!0===_)}};return(0,d.isAbsoluteUrl)(K)?G.href=K:L&&!M&&("a"!==l.type||"href"in l.props)||(G.href=(0,f.addBasePath)(K)),g=L?o.default.cloneElement(l,G):(0,s.jsx)("a",{...I,...G,children:a}),(0,s.jsx)(b.Provider,{value:v,children:g})}e.r(84508);let b=(0,o.createContext)(h.IDLE_LINK_STATUS),v=()=>(0,o.useContext)(b);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},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)},11241,e=>{"use strict";let t=(0,e.i(56420).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],11241)},96699,e=>{"use strict";let t=(0,e.i(56420).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,t],96699)},35965,e=>{"use strict";let t=(0,e.i(56420).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,t],35965)},59665,5142,e=>{"use strict";var t=e.i(18050),n=e.i(71645);let r=(0,e.i(56420).default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);function a(e=!1,t={}){let[r,l]=(0,n.useState)(e),s=(0,n.useCallback)(()=>{l(e=>e||(t.onOpen?.(),!0))},[t.onOpen]),o=(0,n.useCallback)(()=>{l(e=>e?(t.onClose?.(),!1):e)},[t.onClose]);return[r,{open:s,close:o,toggle:(0,n.useCallback)(()=>{r?o():s()},[o,s,r]),set:l}]}e.s(["useDisclosure",0,a],5142);let l=(0,n.createContext)(null);e.s(["default",0,function({sidebar:e,className:s="",headerTitle:o,headerRight:i,sidebarToggleReplacement:u,defaultHide:c=!1,children:d}){let[f,p]=a(!1),[h,m]=(0,n.useState)(c),y=(0,n.useRef)(c),g=function(e,{getInitialValueInEffect:t}={getInitialValueInEffect:!0}){let[r,a]=(0,n.useState)(t?void 0:!!("u">typeof window&&"matchMedia"in window)&&window.matchMedia(e).matches);return(0,n.useEffect)(()=>{try{if("matchMedia"in window){let t=window.matchMedia(e);a(t.matches);let n=e=>a(e.matches);return t.addEventListener("change",n),()=>{t.removeEventListener("change",n)}}}catch(e){return}},[e]),r||!1}("(max-width: 768px)"),b=(0,n.useCallback)((e={})=>{p.close(),e.collapse&&m(!0)},[p]);(0,n.useEffect)(()=>{c!==y.current&&(c?b({collapse:!0}):m(!1),y.current=c)},[c,b]);let v=()=>{g?p.open():m(!1)};return(0,t.jsx)(l.Provider,{value:{closeSidebar:b,openSidebar:v,isSidebarVisible:g?f:!h},children:(0,t.jsxs)("div",{className:["app-layout",s].filter(Boolean).join(" "),children:[(0,t.jsx)("div",{className:`sidebar-overlay ${f?"visible":""}`,onClick:()=>b()}),(0,t.jsx)("div",{className:`sidebar ${f?"open":""} ${h?"collapsed":""}`,children:e({closeSidebar:b,openSidebar:v})}),(0,t.jsxs)("div",{className:"main-content",children:[(0,t.jsxs)("header",{className:"app-header",children:[(0,t.jsxs)("div",{className:"header-left",children:[u??(0,t.jsx)("button",{onClick:()=>{g?p.toggle():m(!h)},className:"btn btn-icon sidebar-toggle-btn","aria-label":g?"打开菜单":h?"展开侧边栏":"收起侧边栏",children:(0,t.jsx)(r,{size:16})}),o]}),(0,t.jsx)("div",{className:"header-right",children:i})]}),d]})]})})},"useAppShell",0,function(){let e=(0,n.useContext)(l);if(!e)throw Error("useAppShell must be used within AppShell");return e}],59665)},67784,e=>{"use strict";let t=(0,e.i(56420).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);e.s(["LogOut",0,t],67784)},48119,e=>{"use strict";let t=(0,e.i(56420).default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);e.s(["MoreHorizontal",0,t],48119)},27648,e=>{"use strict";var t=e.i(18050),n=e.i(71645),r=e.i(67784),a=e.i(48119);e.i(4121);var l=e.i(20885),s=e.i(88361),o=e.i(93957),i=e.i(71192);e.s(["default",0,function({className:e=""}){let u=(0,i.useUserStore)(e=>e.identity),c=(0,i.useUserStore)(e=>e.openLoginModal),d=(0,i.useUserStore)(e=>e.logoutUser),[f,p]=(0,n.useState)(!1);return(0,t.jsxs)("div",{className:`chat-sidebar-footer sidebar-account ${e}`,children:[(0,t.jsxs)("div",{className:"user-info",children:[(0,t.jsx)("img",{className:"user-avatar-img",src:(0,o.generateAvatar)(u?.address,u?.avatar),alt:"avatar"}),(0,t.jsx)("span",{className:"user-name",title:u?.address,children:u?.displayName||"未登录"})]}),u?(0,t.jsx)(l.ActionMenu,{ariaLabel:"账号操作",placement:"top-end",items:[{key:"logout",label:"退出",icon:(0,t.jsx)(r.LogOut,{size:16}),onSelect:()=>p(!0)}],renderTrigger:e=>(0,t.jsx)("button",{...e,className:"btn btn-icon account-menu-trigger","aria-label":"更多操作",title:"更多操作",children:(0,t.jsx)(a.MoreHorizontal,{size:16})})}):(0,t.jsx)("button",{className:"btn btn-primary login-btn",onClick:c,children:"登录"}),f&&(0,t.jsx)(s.ConfirmModal,{title:"退出登录",message:"确定要退出当前账号吗?",confirmText:"退出",danger:!0,onConfirm:()=>{d(),p(!1)},onClose:()=>p(!1)})]})}])},87884,e=>{"use strict";var t=e.i(26913);e.s(["channelApi",0,{getChannels(e={}){let n=new URLSearchParams;e.type&&n.set("type",e.type),e.excludeType&&n.set("excludeType",e.excludeType);let r=n.toString();return t.api.get(r?`/api/channels?${r}`:"/api/channels").json()},createChannel:(e,n="personal",r={})=>t.api.post("/api/channels",{json:{name:e,type:n,...r}}).json(),leaveChannel:e=>t.api.delete(`/api/channels/${encodeURIComponent(e)}`).json(),getChannelMessages:(e,n=100,r=0)=>t.api.get(`/api/channels/${encodeURIComponent(e)}/messages?limit=${n}&offset=${r}`).json(),sendChannelMessage:({channelName:e,content:n,author:r,authorName:a,avatar:l,attachment:s})=>t.api.post(`/api/channels/${encodeURIComponent(e)}/messages`,{json:s?{content:n,author:r,authorName:a,avatar:l,attachment:s}:{content:n,author:r,authorName:a,avatar:l}}).json(),getChannelMembers:e=>t.api.get(`/api/channels/${encodeURIComponent(e)}/members`).json(),getChannelPeers:e=>t.api.get(`/api/channels/${encodeURIComponent(e)}/peers`).json(),setChannelRemark:(e,n)=>t.api.put(`/api/channels/${encodeURIComponent(e)}/remark`,{json:{remark:n}}).json(),setChannelPinned:(e,n)=>t.api.put(`/api/channels/${encodeURIComponent(e)}/pin`,{json:{pinned:n}}).json(),getFileDownloadUrl:e=>(0,t.getApiUrl)(`/api/files/${e}/download`)}])},23952,e=>{"use strict";var t=e.i(71645),n=e.i(87884),r=e.i(26913);function a(e="",t=[]){return[...new Set([e,...t].filter(Boolean))]}function l(e){return String(e.id||`${e.author||""}-${e.timestamp||""}-${e.content||""}`)}e.s(["useChannelMessages",0,function({isReady:e,enabled:s=!0,channelName:o="",extraSubscribedChannelNames:i=[],peerId:u="",waitForPeerId:c=!1,limit:d=100,reconnectBaseDelay:f=2500,acceptMessage:p,getMessageKey:h=l,onSyncError:m,onSocketEvent:y,onReconnect:g}){let[b,v]=(0,t.useState)([]),[C,j]=(0,t.useState)(!1),k=(0,t.useMemo)(()=>(function(e=[]){return a("",e).join("\n")})(i),[i]),S=(0,t.useRef)(null),x=(0,t.useRef)(o),w=(0,t.useRef)(i),M=(0,t.useRef)(null),R=(0,t.useRef)(0),$=(0,t.useRef)(p),N=(0,t.useRef)(h),E=(0,t.useRef)(y),A=(0,t.useRef)(m),O=(0,t.useRef)(g),L=(0,t.useRef)(u),T=(0,t.useRef)(new Set);(0,t.useEffect)(()=>{w.current=k?k.split("\n"):[]},[k]),(0,t.useEffect)(()=>{$.current=p},[p]),(0,t.useEffect)(()=>{N.current=h},[h]),(0,t.useEffect)(()=>{E.current=y},[y]),(0,t.useEffect)(()=>{A.current=m},[m]),(0,t.useEffect)(()=>{O.current=g},[g]);let P=(0,t.useCallback)(e=>{let t=$.current;return t?e.filter(t):e},[]),U=(0,t.useCallback)((e,t,n=!0)=>{let r=[...e];for(let e of P(t)){let t=N.current(e);if(n){let n=r.findIndex(t=>t.pending&&t.author?.toLowerCase()===e.author?.toLowerCase()&&t.content===e.content);if(-1!==n){r[n]={...e,id:e.id||t};continue}}r.some(e=>N.current(e)===t)||r.push({...e,id:e.id||t})}return r},[P]),_=(0,t.useCallback)((e,t)=>{S.current?.readyState===WebSocket.OPEN&&S.current.send(JSON.stringify({event:e,data:t}))},[]),I=(0,t.useCallback)(e=>{var t;let n,r,a=new Set(e.filter(Boolean)),l=(t=T.current,n=new Set(t),{subscribe:[...r=new Set(a)].filter(e=>!n.has(e)),unsubscribe:[...n].filter(e=>!r.has(e))});for(let e of l.unsubscribe)_("channel:unsubscribe",{channel:e});for(let e of l.subscribe)_("channel:subscribe",{channel:e});T.current=a},[_]),z=(0,t.useCallback)(()=>a(x.current,w.current),[]),D=(0,t.useCallback)(async(t=x.current,r={})=>{if(!t||!e)return[];try{let e=P(await n.channelApi.getChannelMessages(t,d));return v(t=>r.replace?e:U(t,e,!1)),e}catch(e){return r.replace&&v([]),await A.current?.(e),[]}},[P,e,d,U]);(0,t.useEffect)(()=>{L.current=u,u&&(_("register",{peerId:u}),c&&(I(z()),x.current&&D(x.current,{replace:!0})))},[z,u,I,D,c,_]);let B=(0,t.useCallback)(()=>{v([])},[]),K=(0,t.useCallback)(async({channelName:e=x.current,content:t,author:r,authorName:a,avatar:l,attachment:s,optimisticId:o})=>{let i=t.trim();if(!e||!i)return null;let u={id:o||`${r}-${Date.now()}-${Math.random().toString(36).slice(2)}`,author:r,authorName:a,content:i,timestamp:Date.now(),pending:!0,attachment:s};v(e=>[...e,u]);try{let t=await n.channelApi.sendChannelMessage({channelName:e,content:i,author:r,authorName:a,avatar:l,attachment:s});return v(e=>e.map(e=>e.id===u.id?{...t.message,id:t.message.id||N.current(t.message)}:e)),t.message}catch(e){throw v(e=>e.filter(e=>e.id!==u.id)),e}},[]);return(0,t.useEffect)(()=>{x.current=o,e&&s&&(o&&D(o,{replace:!0}),(!c||L.current)&&I(z()))},[o,s,k,z,e,I,D,c]),(0,t.useEffect)(()=>{e&&s&&(!c||L.current)&&I(z())},[s,z,e,I,c]),(0,t.useEffect)(()=>{if(!e||!s)return void j(!1);let t=!1;async function n(){let e=new WebSocket(await (0,r.getAuthenticatedWebSocketUrl)("/ws"));t?e.close():(e.onopen=()=>{j(!0),R.current=0,L.current&&e.send(JSON.stringify({event:"register",data:{peerId:L.current}})),(!c||L.current)&&(T.current.clear(),I(z()),x.current&&D(x.current,{replace:!0}),O.current?.())},e.onmessage=e=>{try{let t=JSON.parse(e.data);E.current?.(t.event,t.data),"channel:message"===t.event&&t.data?.channel===x.current&&t.data?.message&&v(e=>U(e,[t.data.message]))}catch{}},e.onclose=()=>{if(j(!1),t)return;let e=R.current;if(e>=20)return;let r=Math.min(f*Math.pow(2,e),3e4);R.current=e+1,M.current=setTimeout(n,r)},e.onerror=()=>e.close(),S.current=e)}return R.current=0,n(),()=>{t=!0,M.current&&clearTimeout(M.current),S.current?.close(),S.current=null,T.current.clear()}},[s,z,e,U,f,I,D,c]),{clearMessages:B,connected:C,messages:b,sendMessage:K,setMessages:v,syncMessages:D}}],23952)},21357,e=>{"use strict";let t=(0,e.i(56420).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",0,t],21357)},53881,53751,99591,34471,e=>{"use strict";var t=e.i(18050),n=e.i(22016),r=e.i(11241),a=e.i(56420);let l=(0,a.default)("spade",[["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"M2 14.499a5.5 5.5 0 0 0 9.591 3.675.6.6 0 0 1 .818.001A5.5 5.5 0 0 0 22 14.5c0-2.29-1.5-4-3-5.5l-5.492-5.312a2 2 0 0 0-3-.02L5 8.999c-1.5 1.5-3 3.2-3 5.5",key:"1aw2pz"}]]);e.s(["Spade",0,l],53751);let s=(0,a.default)("swords",[["polyline",{points:"14.5 17.5 3 6 3 3 6 3 17.5 14.5",key:"1hfsw2"}],["line",{x1:"13",x2:"19",y1:"19",y2:"13",key:"1vrmhu"}],["line",{x1:"16",x2:"20",y1:"16",y2:"20",key:"1bron3"}],["line",{x1:"19",x2:"21",y1:"21",y2:"19",key:"13pww6"}],["polyline",{points:"14.5 6.5 18 3 21 3 21 6 17.5 9.5",key:"hbey2j"}],["line",{x1:"5",x2:"9",y1:"14",y2:"18",key:"1hf58s"}],["line",{x1:"7",x2:"4",y1:"17",y2:"20",key:"pidxm4"}],["line",{x1:"3",x2:"5",y1:"19",y2:"21",key:"1pehsh"}]]);var o=e.i(27648);let i=[{id:"gandengyan",label:"干瞪眼",href:"/game/gandengyan/",icon:(0,t.jsx)(s,{size:16})},{id:"zhajinhua",label:"炸金花",href:"/game/zhajinhua/",icon:(0,t.jsx)(l,{size:16})}];e.s(["default",0,function({activeGame:e,closeSidebar:a}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.default,{href:"/",className:"sidebar-header sidebar-header-link",children:[(0,t.jsx)(r.ArrowLeft,{size:18}),(0,t.jsx)("h1",{children:"MOST PEOPLE"})]}),(0,t.jsx)("nav",{className:"sidebar-nav",children:i.map(r=>(0,t.jsxs)(n.default,{href:r.href,className:`sidebar-nav-btn ${e===r.id?"active":""}`,onClick:a,children:[r.icon,(0,t.jsx)("span",{children:r.label})]},r.id))}),(0,t.jsx)(o.default,{})]})}],53881);var u=e.i(71645);let c="game",d="mostbox.game.event",f=["gandengyan","zhajinhua"],p="ABCDEFGHJKLMNPQRSTUVWXYZ23456789";function h(e){let t=String(e||"").trim().toLowerCase();return f.includes(t)?t:""}function m(e){return String(e||"").trim().toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,8)}function y(e){return/^[A-Z0-9]{4,8}$/.test(String(e||""))}function g(){let e="";for(let t=0;t<6;t++)e+=p[function(e){if(globalThis.crypto?.getRandomValues){let t=new Uint32Array(1);return globalThis.crypto.getRandomValues(t),t[0]%e}return Math.floor(Math.random()*e)}(p.length)];return e}function b(e,t){let n=h(e),r=m(t);return n&&y(r)?`game-${n}-${r.toLowerCase()}`:""}function v({gameId:e,roomCode:t,event:n,payload:r}){var a;let l=h(e);return{kind:d,version:1,gameId:l,roomCode:m(t),event:String(n||""),eventId:(a=l||"game",`${a}_${Date.now()}_${function(){let e=new Uint8Array(4);if(globalThis.crypto?.getRandomValues)globalThis.crypto.getRandomValues(e);else for(let t=0;t<e.length;t++)e[t]=Math.floor(256*Math.random());return[...e].map(e=>e.toString(16).padStart(2,"0")).join("")}()}`),payload:r||{}}}function C(e,t={}){try{let n=JSON.parse(String(e||""));if(!n||n.kind!==d||1!==n.version||"string"!=typeof n.event||"string"!=typeof n.eventId)return null;let r=h(n.gameId),a=m(n.roomCode);if(!r||!y(a)||t.gameId&&r!==h(t.gameId)||t.roomCode&&a!==m(t.roomCode))return null;return{...n,gameId:r,roomCode:a,payload:n.payload&&"object"==typeof n.payload?n.payload:{}}}catch{return null}}function j(e,t){var n;if(!e||"object"!=typeof e)return null;let r=k(e.address||t);if(!r||k(t)!==r)return null;let a=String(e.name||"").trim().slice(0,50)||((n=r)?`${n.slice(0,6)}...${n.slice(-4)}`:"");return{address:r,name:a,publicKey:String(e.publicKey||"").trim(),joinedAt:Number(e.joinedAt||Date.now())}}function k(e){let t=String(e||"").trim();return/^0x[a-fA-F0-9]{40}$/.test(t)?t.toLowerCase():""}function S(e,t,n){let r=t.get(n.address);r?Object.assign(r,n):(e.push(n),t.set(n.address,n))}function x(e){return[...e].sort((e,t)=>Number(e.timestamp||0)-Number(t.timestamp||0))}e.s(["GAME_CHANNEL_TYPE",0,c,"createGameEvent",0,v,"createGameRoomCode",0,g,"deriveGameRoomLobby",0,function(e=[],t={}){let n=[],r=new Map,a="";for(let l of x(e)){let e=C(l.content,t);if(e){if("room:create"===e.event){let t=j(e.payload?.player,l.author);if(!t)continue;a||(a=t.address),S(n,r,t);continue}if("player:join"===e.event){let t=j(e.payload?.player,l.author);t&&S(n,r,t);continue}if("player:leave"===e.event){let t=k(e.payload?.player?.address||l.author);if(t){let e=n.findIndex(e=>e.address===t);-1!==e&&(n.splice(e,1),r.delete(t))}}}}return{gameId:h(t.gameId),roomCode:m(t.roomCode),hostAddress:a,players:n}},"gameRoomCodeToChannelName",0,b,"getLatestGameState",0,function(e=[],t={}){let n=null;for(let r of x(e)){let e=C(r.content,t);if(!e||"room:state"!==e.event)continue;let a=Number(e.payload?.seq||0);(!n||a>=Number(n.payload?.seq||0))&&(n=e)}return n},"normalizeGameRoomCode",0,m,"parseGameEvent",0,C],99591);var w=e.i(87884),M=e.i(23952),R=e.i(26913),$=e.i(3593),N=e.i(71192);async function E(e,t,n,r,a,l){let s=v({gameId:n,roomCode:r,event:a,payload:l});await w.channelApi.sendChannelMessage({channelName:e,content:JSON.stringify(s),author:t.address,authorName:A(t)})}function A(e){return e.displayName||e.username}e.s(["useGameRoom",0,function({gameId:e,onError:t,getPlayerPayload:n}){let r=(0,$.useAppStore)(e=>e.hasBackend),a=(0,$.useAppStore)(e=>e.checkBackend),l=(0,$.useAppStore)(e=>e.openConnectModal),s=(0,N.useUserStore)(e=>e.identity),o=(0,N.useUserStore)(e=>e.openLoginModal),[i,d]=(0,u.useState)(""),[f,p]=(0,u.useState)(""),[h,y]=(0,u.useState)(!1),j=!0===r,k=(0,u.useCallback)(async(e,n)=>{let r=await (0,R.getApiErrorMessage)(e,n);t&&t(r)},[t]),S=(0,u.useCallback)(t=>!!C(t.content,{gameId:e,roomCode:i}),[e,i]),x=(0,u.useCallback)(t=>{let n=C(t.content,{gameId:e,roomCode:i});return n?`${t.author}-${n.eventId}`:`${t.author}-${t.timestamp}-${t.content}`},[e,i]),{clearMessages:O,connected:L,messages:T,sendMessage:P,syncMessages:U}=(0,M.useChannelMessages)({isReady:j,enabled:!!s,channelName:f,limit:500,acceptMessage:S,getMessageKey:x,onSyncError:e=>k(e,"无法读取房间记录")}),_=(0,u.useMemo)(()=>T.map(t=>({message:t,event:C(t.content,{gameId:e,roomCode:i})})).filter(e=>e.event),[e,T,i]),I=(0,u.useCallback)(()=>s?!!j||(l(),!1):(o(),!1),[j,l,o,s]);(0,u.useEffect)(()=>{null===r&&a()},[a,r]);let z=(0,u.useCallback)(async(r,a=!1)=>{if(!I()||!s)return!1;let l=a?g():m(r),o=b(e,l);if(!o)return t&&t("请输入 4-8 位房间码"),!1;y(!0);try{var i;return await w.channelApi.createChannel(o,c),await E(o,s,e,l,a?"room:create":"player:join",{player:n?n(s):{address:(i=s).address,name:A(i),publicKey:"",joinedAt:Date.now()}}),d(l),p(o),O(),!0}catch(e){return await k(e,a?"创建房间失败":"进入房间失败"),!1}finally{y(!1)}},[I,e,n,t,k,O,s]),D=(0,u.useCallback)(()=>z("",!0),[z]),B=(0,u.useCallback)(e=>z(e),[z]),K=(0,u.useCallback)(async(t,n={})=>{if(!I()||!s||!f||!i)return!1;let r=v({gameId:e,roomCode:i,event:t,payload:n}),a=JSON.stringify(r);try{return await P({channelName:f,content:a,author:s.address,authorName:A(s),optimisticId:`${s.address}-${r.eventId}`}),!0}catch(e){return await k(e,"发送房间事件失败"),!1}},[f,I,e,k,i,P,s]);return{channelName:f,connected:L,createRoom:D,ensureReady:I,isBackendReady:j,joinRoom:B,joining:h,messages:T,roomCode:i,roomEvents:_,sendRoomEvent:K,setRoomCode:d,syncMessages:U,userIdentity:s}}],34471)}]);
|
|
@@ -1,5 +1,5 @@
|
|
|
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:#1c1c1ef0;--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}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-size:14px;font-weight:500;font-family:var(--font-sans);color:var(--text-primary);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-tap-highlight-color:transparent;padding:10px 16px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-loading{opacity:.7}.btn-sm{border-radius:var(--radius-sm);min-height:32px;padding:6px 12px;font-size:13px}.btn-primary{color:#fff;background:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 16px #5e6ad24d}.sidebar-open-hint{margin-top:var(--space-2)}.error-boundary-page{min-height:100dvh;padding:var(--space-8);background:var(--bg-primary);font-family:var(--font-sans);flex-direction:column;justify-content:center;align-items:center;display:flex}.error-boundary-title{margin-bottom:var(--space-2);color:var(--text-primary);font-size:20px;font-weight:600}.error-boundary-desc{color:var(--text-secondary);margin-bottom:var(--space-6);text-align:center;max-width:400px}.error-boundary-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;border:none;padding:10px 24px;font-size:14px}.error-boundary-btn:hover{background:var(--accent-hover)}.btn-secondary{color:var(--text-primary);background:var(--glass-bg-subtle);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--glass-border)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.btn-danger{color:#fff;background:var(--danger)}.btn-danger:hover:not(:disabled){box-shadow:0 4px 16px #ff3b304d}.btn-ghost{color:var(--text-secondary);border:1px solid var(--glass-border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--glass-bg-subtle);color:var(--text-primary);border-color:var(--glass-border-strong)}.btn-info{color:#fff;background:var(--info)}.btn-info:hover:not(:disabled){box-shadow:0 4px 16px #5ac8fa4d}.btn-warning{color:#fff;background:var(--warning)}.btn-warning:hover:not(:disabled){box-shadow:0 4px 16px #ff95004d}.btn-icon{border-radius:var(--radius-md);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);width:32px;height:32px;color:var(--text-secondary);padding:0}.btn-icon:hover:not(:disabled){background:var(--glass-bg);color:var(--text-primary);border-color:var(--glass-border-strong)}.btn-circle{border-radius:50%;width:44px;height:44px;padding:0}.btn-full,.btn-block{width:100%}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:100dvh;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}button{font-family:var(--font-sans);cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}::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)}}.input{width:100%;font-size:14px;font-family:var(--font-sans);color:var(--text-primary);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;outline:none;padding:10px 14px}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--accent);background:var(--glass-bg);box-shadow:0 0 0 3px var(--accent-soft)}.input-pill{border-radius:var(--radius-full);padding:12px 18px}.input-compact{padding:10px 12px;font-size:13px}.input-flex{flex:1}.ui-input-control{align-items:center;display:flex;position:relative}.ui-input-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:12px}.ui-input-control .input{padding-left:34px}.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);resize:none;outline:none;padding:12px 14px}.textarea:focus{border-color:var(--accent)}.textarea::placeholder{color:var(--text-muted)}.textarea.mono{font-family:var(--font-mono);font-size:12px}.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);border-radius:var(--radius-md);background:var(--glass-bg-subtle);padding:10px 12px;display:flex}.mono-row.danger{background:#ff3b3014}.mono-row.danger .mono,.danger{color:var(--danger)}.setting-switch{min-height:44px;color:var(--text-primary);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}.setting-switch input{appearance:none;border-radius:var(--radius-full);border:1px solid var(--glass-border);background:color-mix(in srgb, var(--text-muted) 20%, transparent);cursor:pointer;width:42px;height:24px;transition:all var(--transition-fast);flex-shrink:0;position:relative}.setting-switch input:after{content:"";width:18px;height:18px;transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #00000040}.setting-switch input:checked{background:var(--accent);border-color:var(--accent)}.setting-switch input:checked:after{transform:translate(18px)}.status-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.status-dot.success,.status-dot.connected{background:var(--success)}.status-dot.warning,.status-dot.checking{background:var(--warning)}.status-dot.checking{animation:1.2s ease-in-out infinite pulse}.status-dot.danger,.status-dot.error,.status-dot.disconnected{background:var(--danger)}.status-dot.info,.status-dot.ready{background:var(--info)}.ui-badge{border-radius:var(--radius-full);border:1px solid var(--glass-border);background:var(--glass-bg-subtle);min-height:26px;color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.ui-chip-list{gap:var(--space-2);flex-wrap:wrap;list-style:none;display:flex}.ui-chip{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg-subtle);min-height:30px;color:var(--text-secondary);align-items:center;padding:6px 10px;font-size:13px;line-height:1;display:inline-flex}.ui-segmented-control{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;display:inline-grid}.ui-segmented-option{border-radius:var(--radius-sm);min-height:40px;color:var(--text-secondary);font:inherit;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.ui-segmented-option:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb, var(--accent) 8%, transparent)}.ui-segmented-option.is-active,.ui-segmented-option.active,.ui-segmented-option[aria-selected=true]{color:var(--accent);background:var(--accent-soft)}.ui-segmented-option:disabled{opacity:.45;cursor:not-allowed}.ui-action-dashed{border:1.5px dashed var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-subtle);min-height:40px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:6px;padding:10px;font-size:13px;font-weight:500;display:inline-flex}.ui-action-dashed:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.ui-action-dashed-sm{min-height:32px;padding:6px 10px;font-size:12px}.ui-meta-box{color:var(--text-primary);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:10px 12px;font-size:14px}.ui-empty-inline{color:var(--text-muted);text-align:center;background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:14px 12px;font-size:13px}.ui-empty-state{text-align:center;min-height:180px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.ui-empty-icon{border-radius:var(--radius-lg);background:var(--glass-bg-subtle);width:64px;height:64px;-webkit-backdrop-filter:var(--blur-md);border:1px solid var(--glass-border);color:var(--text-muted);justify-content:center;align-items:center;display:flex}.ui-empty-icon-lg{width:80px;height:80px;color:var(--accent);background:var(--glass-bg-heavy);-webkit-backdrop-filter:var(--blur-2xl);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow-lg), var(--glass-shadow-inset)}.ui-empty-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.ui-empty-desc{max-width:320px;color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.ui-file-card{width:min(320px,100%);min-height:64px;color:var(--text-primary);text-align:left;background:var(--glass-bg-heavy);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow), var(--glass-shadow-inset);transition:all var(--transition-fast);grid-template-columns:42px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:10px;display:grid}button.ui-file-card{cursor:pointer}.ui-file-card:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px);box-shadow:0 6px 18px #5e6ad229}.ui-file-card:disabled{cursor:progress;opacity:.75}.ui-file-icon{border-radius:var(--radius-md);background:var(--accent-soft);width:42px;height:42px;color:var(--accent);justify-content:center;align-items:center;display:flex}.ui-file-icon.image{color:var(--success)}.ui-file-icon.video{color:var(--danger)}.ui-file-icon.audio{color:var(--info)}.ui-file-info{flex-direction:column;gap:4px;min-width:0;display:flex}.ui-file-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.ui-file-meta{color:var(--text-muted);font-size:11px}.ui-file-action{min-width:0;color:var(--text-secondary);white-space:nowrap;justify-content:center;align-items:center;font-size:12px;display:flex}.ui-file-action.available{color:var(--success)}.ui-file-action.error{color:var(--danger)}.chat-attachment-card{width:min(320px,68vw)}.chat-message.self .chat-attachment-card{background:color-mix(in srgb, var(--accent) 12%, var(--glass-bg-heavy));border-color:color-mix(in srgb, var(--accent) 35%, var(--glass-border))}.ui-spinner{animation:.8s linear infinite spin}.ui-list-item{border-radius:var(--radius-sm);transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,1fr);align-items:center;gap:6px;display:grid}.ui-list-item:hover,.ui-list-item.active,.ui-list-item.is-active{border-color:var(--glass-border);background:var(--glass-bg-subtle)}.ui-list-item.active,.ui-list-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.ui-list-item-main{min-width:0;color:var(--text-primary);text-align:left;background:0 0;border:0;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 8px;display:grid}.ui-list-icon,.ui-icon-tile{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--accent);background:var(--accent-soft);justify-content:center;align-items:center;display:flex}.ui-list-icon.warning,.ui-icon-tile.warning{color:var(--warning);background:#ff950024}.ui-list-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.ui-list-title,.ui-list-desc,.ui-list-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ui-list-title{color:var(--text-primary);font-size:13px;font-weight:700}.ui-list-desc,.ui-list-meta{color:var(--text-secondary);font-size:12px}.ui-list-meta{text-align:right;max-width:72px}.ui-peer-info,.peer-info{min-width:0;color:var(--text-secondary);align-items:center;gap:8px;font-size:11px;display:flex}.ui-peer-dot,.peer-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:6px;height:6px}.ui-peer-id,.peer-id{min-width:0;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ui-notice{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-subtle);color:var(--text-secondary);align-items:center;gap:6px;padding:10px 12px;font-size:13px;line-height:1.45;display:flex}.ui-notice svg{flex-shrink:0}.ui-notice.danger,.ui-notice.error{color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent);border-color:color-mix(in srgb, var(--danger) 22%, var(--glass-border))}.ui-notice.warning{color:var(--warning);background:color-mix(in srgb, var(--warning) 10%, transparent);border-color:color-mix(in srgb, var(--warning) 28%, var(--glass-border))}.ui-notice.success{color:var(--success);background:color-mix(in srgb, var(--success) 10%, transparent);border-color:color-mix(in srgb, var(--success) 28%, var(--glass-border))}.ui-code-box{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-subtle);color:var(--text-primary);font-family:var(--font-mono);overflow-wrap:anywhere;padding:12px;font-size:13px;line-height:1.5;display:block}.backend-error-page{min-height:60dvh;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}.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}@media (max-width:480px){.not-found-card{padding:var(--space-8) var(--space-5)}.not-found-actions{flex-direction:column;width:100%}.not-found-actions .btn{width:100%}}
|
|
2
|
-
.app-layout{height:100dvh;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;-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;gap:8px;min-height:64px;padding:14px 16px;display:flex}.sidebar .sidebar-header.sidebar-header-link{cursor:pointer}.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-empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.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-nav-btn svg{flex-shrink:0}.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}.desktop-client-banner{background:var(--glass-bg-heavy);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);border:1px solid #ff950059;align-items:center;gap:12px;margin:16px 24px 0;padding:14px 16px;display:flex}.desktop-client-banner-icon{color:#fff;background:var(--warning);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.desktop-client-banner-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.desktop-client-banner-copy strong{color:var(--text-primary);font-size:14px;font-weight:700}.desktop-client-banner-copy span{color:var(--text-secondary);font-size:12px;line-height:1.5}.desktop-client-banner .btn{flex-shrink:0}.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}.app-empty-state{flex-direction:column;align-items:center;gap:12px;display:flex}.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{top:var(--modal-visual-top,0px);height:var(--modal-visual-height,100dvh);z-index:200;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;left:0;right: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}.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}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.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-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)}.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}.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}.input-modal h3{color:var(--text-primary);margin-bottom:16px;font-size:16px;font-weight:600}.input-modal-error{color:var(--danger);margin-top:8px;font-size:12px;line-height:1.5}.modal-actions{gap:8px;margin-top:16px;display:flex}.modal-actions .btn{border-radius:var(--radius-md);flex:1;padding-inline:12px;font-size:13px}.download-modal{flex-direction:column;gap:14px;display:flex}.download-modal .modal-header{margin-bottom:2px}.download-link-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.download-check-btn{justify-content:center;gap:6px;min-width:88px;padding:10px 14px}.download-check-status{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg-subtle);min-height:38px;color:var(--text-secondary);align-items:flex-start;gap:8px;padding:10px 12px;font-size:12px;line-height:1.45;display:flex}.download-check-status svg{flex:none;margin-top:1px}.download-check-status.success{color:var(--success);background:#34c7591a;border-color:#34c75959}.download-check-status.error{color:var(--danger);background:#ff3b301a;border-color:#ff3b3059}.download-modal>.btn-full{justify-content:center;gap:6px;margin-top:2px}.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{align-items:center;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-storage-note{border-radius:var(--radius-md);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.share-modal .share-storage-note span{min-width:0}.share-modal .share-storage-note button{flex:none}.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)}.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:80dvh;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{white-space:nowrap;color:var(--text-secondary);font-size:12px}.batch-bar .batch-dismiss{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:4px;display:flex}.batch-bar .batch-divider{background:var(--glass-border);width:1px;height:20px}.transfer-modal{max-height:70dvh;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-meter{border-radius:var(--radius-full);background:var(--glass-bg-subtle);appearance:none;border:0;flex:1;height:4px;overflow:hidden}.transfer-modal .transfer-progress-meter::-webkit-progress-bar{background:var(--glass-bg-subtle)}.transfer-modal .transfer-progress-meter::-webkit-progress-value{border-radius:var(--radius-full);background:var(--accent);transition:width .2s}.transfer-modal .transfer-progress-meter::-moz-progress-bar{border-radius:var(--radius-full);background:var(--accent)}.transfer-modal .transfer-progress-meter.download::-webkit-progress-value{background:var(--info)}.transfer-modal .transfer-progress-meter.download::-moz-progress-bar{background:var(--info)}.transfer-modal .transfer-progress-meter.error::-webkit-progress-value{background:var(--danger)}.transfer-modal .transfer-progress-meter.error::-moz-progress-bar{background:var(--danger)}.transfer-modal .transfer-progress-meter.cancelled::-webkit-progress-value{background:var(--warning)}.transfer-modal .transfer-progress-meter.cancelled::-moz-progress-bar{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(-50%)translateY(16px)}to{opacity:1;transform:translate(-50%)translateY(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;bottom:80px;left:50%;transform:translate(-50%)}.toast.success{color:#fff;background:#34c75999}.toast.error{color:#fff;background:#ff3b3099}.toast.warning{color:#fff;background:#ff950099}.toast.info{color:#fff;background:#5ac8fa99}.toast-stack-0{bottom:80px}.toast-stack-1{bottom:140px}.toast-stack-2{bottom:200px}.toast-stack-3{bottom:260px}.toast-stack-4{bottom:320px}.toast-stack-5{bottom:380px}.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-hint{color:var(--text-muted);margin-top:4px;font-size:11px}.login-modal{width:100%}.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-error{border-radius:var(--radius-sm);color:var(--danger);background:#ff3b301a;padding:8px 10px;font-size:12px;line-height:1.4}.login-password-wrapper{align-items:center;display:flex;position:relative}.login-password-wrapper .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-buttons-row{gap:8px;display:flex}.login-buttons-row .btn-primary,.login-buttons-row .btn-secondary{flex:1;padding-inline:12px;font-size:13px}.connect-modal{width:100%}.connect-modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.connect-modal-header h3{color:var(--text-primary);font-size:16px;font-weight:600}.connect-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}.connect-modal-close:hover{color:var(--text-primary);background:var(--glass-bg-subtle)}.connect-modal-body{flex-direction:column;gap:12px;display:flex}.preview-text-container{background:var(--glass-bg-heavy);width:90vw;max-width:900px;max-height:80dvh;-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:80dvh}.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}.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-empty-trash:hover:not(:disabled){background:#ff3b3026}.btn-star{background:var(--warning);color:#fff}.btn-star:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #ff95004d}.btn-move{background:var(--accent);color:#fff}.btn-move:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #5e6ad24d}.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){.input,.textarea,.search-box input{font-size:16px}.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:calc(var(--modal-visual-height,100dvh) - 12px);overscroll-behavior:contain;overflow:auto}.sidebar-toggle-btn{display:flex}.app-header{gap:8px;min-height:56px;padding:12px 16px}.app-header .header-right{gap:4px}.desktop-client-banner{flex-direction:column;align-items:stretch;margin:12px 16px 0}.desktop-client-banner-icon{width:36px;height:36px}.desktop-client-banner .btn{width:100%}.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%}.download-link-row{grid-template-columns:1fr}.download-check-btn{width:100%}.toast{width:min(100vw - 24px,420px);left:50%}.batch-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:14px 40px 12px 16px;left:12px;right:12px;transform:none}.batch-bar .batch-info{text-align:center;width:100%;color:var(--text-primary);margin-bottom:2px;font-size:13px;font-weight:500}.batch-bar .batch-dismiss{background:var(--glass-bg-subtle);transition:background var(--transition);border-radius:50%;padding:6px;position:absolute;top:8px;right:8px}.batch-bar .batch-dismiss:hover{background:var(--glass-bg)}.batch-bar .batch-divider{display:none}.batch-bar .btn-sm{border-radius:var(--radius-md);min-width:64px;padding-inline:14px;font-size:13px}.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:8px;padding:12px 12px 10px}.batch-bar .batch-info{font-size:12px}.batch-bar .btn-sm{min-width:56px;padding-inline:12px;font-size:12px}}.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{padding:14px 32px;font-size:16px;font-weight:600}.app-home-btn-secondary{margin-top:12px;padding:10px 24px;font-size:14px}.drawer-label{color:var(--text-primary);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.drawer-hint{color:var(--text-muted);margin-top:8px;font-size:11px}.drawer-hint-spaced{margin-bottom:12px}.remote-node-form{flex-direction:column;gap:8px;display:flex}.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)}.spin{animation:1s linear infinite spin}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
|
|
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:#1c1c1ef0;--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}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-size:14px;font-weight:500;font-family:var(--font-sans);color:var(--text-primary);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-tap-highlight-color:transparent;padding:10px 16px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-loading{opacity:.7}.btn-sm{border-radius:var(--radius-sm);min-height:32px;padding:6px 12px;font-size:13px}.btn-primary{color:#fff;background:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 16px #5e6ad24d}.sidebar-open-hint{margin-top:var(--space-2)}.error-boundary-page{min-height:100dvh;padding:var(--space-8);background:var(--bg-primary);font-family:var(--font-sans);flex-direction:column;justify-content:center;align-items:center;display:flex}.error-boundary-title{margin-bottom:var(--space-2);color:var(--text-primary);font-size:20px;font-weight:600}.error-boundary-desc{color:var(--text-secondary);margin-bottom:var(--space-6);text-align:center;max-width:400px}.error-boundary-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;border:none;padding:10px 24px;font-size:14px}.error-boundary-btn:hover{background:var(--accent-hover)}.btn-secondary{color:var(--text-primary);background:var(--glass-bg-subtle);-webkit-backdrop-filter:var(--blur-sm);border:1px solid var(--glass-border)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.btn-danger{color:#fff;background:var(--danger)}.btn-danger:hover:not(:disabled){box-shadow:0 4px 16px #ff3b304d}.btn-ghost{color:var(--text-secondary);border:1px solid var(--glass-border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--glass-bg-subtle);color:var(--text-primary);border-color:var(--glass-border-strong)}.btn-info{color:#fff;background:var(--info)}.btn-info:hover:not(:disabled){box-shadow:0 4px 16px #5ac8fa4d}.btn-warning{color:#fff;background:var(--warning)}.btn-warning:hover:not(:disabled){box-shadow:0 4px 16px #ff95004d}.btn-icon{border-radius:var(--radius-md);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);width:32px;height:32px;color:var(--text-secondary);padding:0}.btn-icon:hover:not(:disabled){background:var(--glass-bg);color:var(--text-primary);border-color:var(--glass-border-strong)}.btn-circle{border-radius:50%;width:44px;height:44px;padding:0}.btn-full,.btn-block{width:100%}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:100dvh;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}button{font-family:var(--font-sans);cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}::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)}}.input{width:100%;font-size:14px;font-family:var(--font-sans);color:var(--text-primary);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;outline:none;padding:10px 14px}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--accent);background:var(--glass-bg);box-shadow:0 0 0 3px var(--accent-soft)}.input-pill{border-radius:var(--radius-full);padding:12px 18px}.input-compact{padding:10px 12px;font-size:13px}.input-flex{flex:1}.ui-input-control{align-items:center;display:flex;position:relative}.ui-input-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:12px}.ui-input-control .input{padding-left:34px}.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);resize:none;outline:none;padding:12px 14px}.textarea:focus{border-color:var(--accent)}.textarea::placeholder{color:var(--text-muted)}.textarea.mono{font-family:var(--font-mono);font-size:12px}.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);border-radius:var(--radius-md);background:var(--glass-bg-subtle);padding:10px 12px;display:flex}.mono-row.danger{background:#ff3b3014}.mono-row.danger .mono,.danger{color:var(--danger)}.setting-switch{min-height:44px;color:var(--text-primary);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}.setting-switch input{appearance:none;border-radius:var(--radius-full);border:1px solid var(--glass-border);background:color-mix(in srgb, var(--text-muted) 20%, transparent);cursor:pointer;width:42px;height:24px;transition:all var(--transition-fast);flex-shrink:0;position:relative}.setting-switch input:after{content:"";width:18px;height:18px;transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #00000040}.setting-switch input:checked{background:var(--accent);border-color:var(--accent)}.setting-switch input:checked:after{transform:translate(18px)}.status-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.status-dot.success,.status-dot.connected{background:var(--success)}.status-dot.warning,.status-dot.checking{background:var(--warning)}.status-dot.checking{animation:1.2s ease-in-out infinite pulse}.status-dot.danger,.status-dot.error,.status-dot.disconnected{background:var(--danger)}.status-dot.info,.status-dot.ready{background:var(--info)}.ui-badge{border-radius:var(--radius-full);border:1px solid var(--glass-border);background:var(--glass-bg-subtle);min-height:26px;color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.ui-chip-list{gap:var(--space-2);flex-wrap:wrap;list-style:none;display:flex}.ui-chip{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg-subtle);min-height:30px;color:var(--text-secondary);align-items:center;padding:6px 10px;font-size:13px;line-height:1;display:inline-flex}.ui-segmented-control{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;display:inline-grid}.ui-segmented-option{border-radius:var(--radius-sm);min-height:40px;color:var(--text-secondary);font:inherit;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.ui-segmented-option:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb, var(--accent) 8%, transparent)}.ui-segmented-option.is-active,.ui-segmented-option.active,.ui-segmented-option[aria-selected=true]{color:var(--accent);background:var(--accent-soft)}.ui-segmented-option:disabled{opacity:.45;cursor:not-allowed}.ui-action-dashed{border:1.5px dashed var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-subtle);min-height:40px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:6px;padding:10px;font-size:13px;font-weight:500;display:inline-flex}.ui-action-dashed:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.ui-action-dashed-sm{min-height:32px;padding:6px 10px;font-size:12px}.ui-meta-box{color:var(--text-primary);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:10px 12px;font-size:14px}.ui-empty-inline{color:var(--text-muted);text-align:center;background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:14px 12px;font-size:13px}.ui-empty-state{text-align:center;min-height:180px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.ui-empty-icon{border-radius:var(--radius-lg);background:var(--glass-bg-subtle);width:64px;height:64px;-webkit-backdrop-filter:var(--blur-md);border:1px solid var(--glass-border);color:var(--text-muted);justify-content:center;align-items:center;display:flex}.ui-empty-icon-lg{width:80px;height:80px;color:var(--accent);background:var(--glass-bg-heavy);-webkit-backdrop-filter:var(--blur-2xl);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow-lg), var(--glass-shadow-inset)}.ui-empty-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.ui-empty-desc{max-width:320px;color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.ui-file-card{width:min(320px,100%);min-height:64px;color:var(--text-primary);text-align:left;background:var(--glass-bg-heavy);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow), var(--glass-shadow-inset);transition:all var(--transition-fast);grid-template-columns:42px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:10px;display:grid}button.ui-file-card{cursor:pointer}.ui-file-card:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px);box-shadow:0 6px 18px #5e6ad229}.ui-file-card:disabled{cursor:progress;opacity:.75}.ui-file-icon{border-radius:var(--radius-md);background:var(--accent-soft);width:42px;height:42px;color:var(--accent);justify-content:center;align-items:center;display:flex}.ui-file-icon.image{color:var(--success)}.ui-file-icon.video{color:var(--danger)}.ui-file-icon.audio{color:var(--info)}.ui-file-info{flex-direction:column;gap:4px;min-width:0;display:flex}.ui-file-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.ui-file-meta{color:var(--text-muted);font-size:11px}.ui-file-action{min-width:0;color:var(--text-secondary);white-space:nowrap;justify-content:center;align-items:center;font-size:12px;display:flex}.ui-file-action.available{color:var(--success)}.ui-file-action.error{color:var(--danger)}.chat-attachment-card{width:min(320px,68vw)}.chat-message.self .chat-attachment-card{background:color-mix(in srgb, var(--accent) 12%, var(--glass-bg-heavy));border-color:color-mix(in srgb, var(--accent) 35%, var(--glass-border))}.ui-spinner{animation:.8s linear infinite spin}.ui-list-item{border-radius:var(--radius-sm);transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,1fr);align-items:center;gap:6px;display:grid}.ui-list-item:hover,.ui-list-item.active,.ui-list-item.is-active{border-color:var(--glass-border);background:var(--glass-bg-subtle)}.ui-list-item.active,.ui-list-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.ui-list-item-main{min-width:0;color:var(--text-primary);text-align:left;background:0 0;border:0;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 8px;display:grid}.ui-list-icon,.ui-icon-tile{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--accent);background:var(--accent-soft);justify-content:center;align-items:center;display:flex}.ui-list-icon.warning,.ui-icon-tile.warning{color:var(--warning);background:#ff950024}.ui-list-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.ui-list-title,.ui-list-desc,.ui-list-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ui-list-title{color:var(--text-primary);font-size:13px;font-weight:700}.ui-list-desc,.ui-list-meta{color:var(--text-secondary);font-size:12px}.ui-list-meta{text-align:right;max-width:72px}.ui-peer-info,.peer-info{min-width:0;color:var(--text-secondary);align-items:center;gap:8px;font-size:11px;display:flex}.ui-peer-dot,.peer-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:6px;height:6px}.ui-peer-id,.peer-id{min-width:0;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ui-notice{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-subtle);color:var(--text-secondary);align-items:center;gap:6px;padding:10px 12px;font-size:13px;line-height:1.45;display:flex}.ui-notice svg{flex-shrink:0}.ui-notice.danger,.ui-notice.error{color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent);border-color:color-mix(in srgb, var(--danger) 22%, var(--glass-border))}.ui-notice.warning{color:var(--warning);background:color-mix(in srgb, var(--warning) 10%, transparent);border-color:color-mix(in srgb, var(--warning) 28%, var(--glass-border))}.ui-notice.success{color:var(--success);background:color-mix(in srgb, var(--success) 10%, transparent);border-color:color-mix(in srgb, var(--success) 28%, var(--glass-border))}.ui-code-box{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-subtle);color:var(--text-primary);font-family:var(--font-mono);overflow-wrap:anywhere;padding:12px;font-size:13px;line-height:1.5;display:block}.ui-action-menu-anchor{justify-content:center;align-items:center;display:inline-flex}.ui-action-menu{top:var(--action-menu-top,0);left:var(--action-menu-left,0);z-index:1000;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-secondary) 96%, transparent);min-width:148px;max-width:min(300px,100vw - 16px);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform-origin:100% 0;transition:opacity var(--transition-fast), transform var(--transition-fast);flex-direction:column;gap:2px;padding:6px;display:flex;position:fixed;transform:translateY(4px)scale(.98)}.ui-action-menu.is-positioned{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.ui-action-menu-item{border-radius:var(--radius-sm);width:100%;min-height:34px;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:minmax(0,1fr);align-items:center;gap:2px 8px;padding:8px 10px;display:grid}.ui-action-menu-item.has-icon{grid-template-columns:18px minmax(0,1fr)}.ui-action-menu-item.has-description{align-items:start;padding-block:9px}.ui-action-menu-item:hover:not(:disabled),.ui-action-menu-item:focus-visible{background:var(--glass-bg-subtle);color:var(--text-primary);outline:none}.ui-action-menu-item:disabled{cursor:not-allowed;opacity:.55}.ui-action-menu-item.danger{color:var(--danger)}.ui-action-menu-item.danger:hover:not(:disabled),.ui-action-menu-item.danger:focus-visible{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.ui-action-menu-item-icon{grid-row:span 2;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.ui-action-menu-item-label{min-width:0;color:inherit;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.35}.ui-action-menu-item-description{min-width:0;color:var(--text-muted);font-size:11px;line-height:1.4}.backend-error-page{min-height:60dvh;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}.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}@media (max-width:480px){.not-found-card{padding:var(--space-8) var(--space-5)}.not-found-actions{flex-direction:column;width:100%}.not-found-actions .btn{width:100%}}
|
|
2
|
+
.app-layout{height:100dvh;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:100dvh;-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:hidden}.sidebar.collapsed{border:none;width:0;overflow:hidden}.sidebar .sidebar-header{border-bottom:1px solid var(--glass-border);align-items:center;gap:8px;min-height:64px;padding:14px 16px;display:flex}.sidebar .sidebar-header.sidebar-header-link{cursor:pointer}.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{overscroll-behavior:contain;flex:1;min-height:0;padding:12px 8px;overflow-y:auto}.sidebar .sidebar-empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.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)}.sidebar .sidebar-nav-btn svg{flex-shrink:0}.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 .account-menu-trigger{flex-shrink:0;width:30px;height:30px}.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}.sidebar-toggle-static-logo{width:32px;height:32px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.sidebar-toggle-static-logo-img{object-fit:cover;width:100%;height:100%}.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}.desktop-client-banner{background:var(--glass-bg-heavy);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);border:1px solid #ff950059;align-items:center;gap:12px;margin:16px 24px 0;padding:14px 16px;display:flex}.desktop-client-banner-icon{color:#fff;background:var(--warning);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.desktop-client-banner-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.desktop-client-banner-copy strong{color:var(--text-primary);font-size:14px;font-weight:700}.desktop-client-banner-copy span{color:var(--text-secondary);font-size:12px;line-height:1.5}.desktop-client-banner .btn{flex-shrink:0}.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}.app-empty-state{flex-direction:column;align-items:center;gap:12px;display:flex}.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{top:var(--modal-visual-top,0px);height:var(--modal-visual-height,100dvh);z-index:200;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;left:0;right: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}.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}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.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-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)}.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}.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}.input-modal h3{color:var(--text-primary);margin-bottom:16px;font-size:16px;font-weight:600}.input-modal-error{color:var(--danger);margin-top:8px;font-size:12px;line-height:1.5}.modal-actions{gap:8px;margin-top:16px;display:flex}.modal-actions .btn{border-radius:var(--radius-md);flex:1;padding-inline:12px;font-size:13px}.download-modal{flex-direction:column;gap:14px;display:flex}.download-modal .modal-header{margin-bottom:2px}.download-link-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.download-check-btn{justify-content:center;gap:6px;min-width:88px;padding:10px 14px}.download-check-status{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg-subtle);min-height:38px;color:var(--text-secondary);align-items:flex-start;gap:8px;padding:10px 12px;font-size:12px;line-height:1.45;display:flex}.download-check-status svg{flex:none;margin-top:1px}.download-check-status.success{color:var(--success);background:#34c7591a;border-color:#34c75959}.download-check-status.error{color:var(--danger);background:#ff3b301a;border-color:#ff3b3059}.download-modal>.btn-full{justify-content:center;gap:6px;margin-top:2px}.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{align-items:center;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-storage-note{border-radius:var(--radius-md);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.share-modal .share-storage-note span{min-width:0}.share-modal .share-storage-note button{flex:none}.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)}.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:80dvh;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{white-space:nowrap;color:var(--text-secondary);font-size:12px}.batch-bar .batch-dismiss{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:4px;display:flex}.batch-bar .batch-divider{background:var(--glass-border);width:1px;height:20px}.transfer-modal{max-height:70dvh;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-meter{border-radius:var(--radius-full);background:var(--glass-bg-subtle);appearance:none;border:0;flex:1;height:4px;overflow:hidden}.transfer-modal .transfer-progress-meter::-webkit-progress-bar{background:var(--glass-bg-subtle)}.transfer-modal .transfer-progress-meter::-webkit-progress-value{border-radius:var(--radius-full);background:var(--accent);transition:width .2s}.transfer-modal .transfer-progress-meter::-moz-progress-bar{border-radius:var(--radius-full);background:var(--accent)}.transfer-modal .transfer-progress-meter.download::-webkit-progress-value{background:var(--info)}.transfer-modal .transfer-progress-meter.download::-moz-progress-bar{background:var(--info)}.transfer-modal .transfer-progress-meter.error::-webkit-progress-value{background:var(--danger)}.transfer-modal .transfer-progress-meter.error::-moz-progress-bar{background:var(--danger)}.transfer-modal .transfer-progress-meter.cancelled::-webkit-progress-value{background:var(--warning)}.transfer-modal .transfer-progress-meter.cancelled::-moz-progress-bar{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(-50%)translateY(16px)}to{opacity:1;transform:translate(-50%)translateY(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;bottom:80px;left:50%;transform:translate(-50%)}.toast.success{color:#fff;background:#34c75999}.toast.error{color:#fff;background:#ff3b3099}.toast.warning{color:#fff;background:#ff950099}.toast.info{color:#fff;background:#5ac8fa99}.toast-stack-0{bottom:80px}.toast-stack-1{bottom:140px}.toast-stack-2{bottom:200px}.toast-stack-3{bottom:260px}.toast-stack-4{bottom:320px}.toast-stack-5{bottom:380px}.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-hint{color:var(--text-muted);margin-top:4px;font-size:11px}.login-modal{width:100%}.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-error{border-radius:var(--radius-sm);color:var(--danger);background:#ff3b301a;padding:8px 10px;font-size:12px;line-height:1.4}.login-password-wrapper{align-items:center;display:flex;position:relative}.login-password-wrapper .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-buttons-row{gap:8px;display:flex}.login-buttons-row .btn-primary,.login-buttons-row .btn-secondary{flex:1;padding-inline:12px;font-size:13px}.connect-modal{width:100%}.connect-modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.connect-modal-header h3{color:var(--text-primary);font-size:16px;font-weight:600}.connect-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}.connect-modal-close:hover{color:var(--text-primary);background:var(--glass-bg-subtle)}.connect-modal-body{flex-direction:column;gap:12px;display:flex}.preview-text-container{background:var(--glass-bg-heavy);width:90vw;max-width:900px;max-height:80dvh;-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:80dvh}.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}.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-empty-trash:hover:not(:disabled){background:#ff3b3026}.btn-star{background:var(--warning);color:#fff}.btn-star:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #ff95004d}.btn-move{background:var(--accent);color:#fff}.btn-move:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #5e6ad24d}.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){.input,.textarea,.search-box input{font-size:16px}.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:calc(var(--modal-visual-height,100dvh) - 12px);overscroll-behavior:contain;overflow:auto}.sidebar-toggle-btn{display:flex}.app-header{gap:8px;min-height:56px;padding:12px 16px}.app-header .header-right{gap:4px}.desktop-client-banner{flex-direction:column;align-items:stretch;margin:12px 16px 0}.desktop-client-banner-icon{width:36px;height:36px}.desktop-client-banner .btn{width:100%}.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%}.download-link-row{grid-template-columns:1fr}.download-check-btn{width:100%}.toast{width:min(100vw - 24px,420px);left:50%}.batch-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:14px 40px 12px 16px;left:12px;right:12px;transform:none}.batch-bar .batch-info{text-align:center;width:100%;color:var(--text-primary);margin-bottom:2px;font-size:13px;font-weight:500}.batch-bar .batch-dismiss{background:var(--glass-bg-subtle);transition:background var(--transition);border-radius:50%;padding:6px;position:absolute;top:8px;right:8px}.batch-bar .batch-dismiss:hover{background:var(--glass-bg)}.batch-bar .batch-divider{display:none}.batch-bar .btn-sm{border-radius:var(--radius-md);min-width:64px;padding-inline:14px;font-size:13px}.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:8px;padding:12px 12px 10px}.batch-bar .batch-info{font-size:12px}.batch-bar .btn-sm{min-width:56px;padding-inline:12px;font-size:12px}}.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{padding:14px 32px;font-size:16px;font-weight:600}.app-home-btn-secondary{margin-top:12px;padding:10px 24px;font-size:14px}.drawer-label{color:var(--text-primary);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.drawer-hint{color:var(--text-muted);margin-top:8px;font-size:11px}.drawer-hint-spaced{margin-bottom:12px}.remote-node-form{flex-direction:column;gap:8px;display:flex}.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)}.spin{animation:1s linear infinite spin}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
|
|
3
3
|
.ProseMirror{word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0;position:relative}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection ::selection{background:0 0}.ProseMirror-hideselection ::selection{background:0 0}.ProseMirror-hideselection{caret-color:#0000}.ProseMirror [draggable][contenteditable=false]{-webkit-user-select:text;user-select:text}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";pointer-events:none;border:2px solid #8cf;position:absolute;inset:-2px -2px -2px -32px}img.ProseMirror-separator{border:none!important;margin:0!important;display:inline!important}
|
|
4
4
|
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/0az8vxg2gfuhm.js","static/chunks/0s7i7nfr9j3b1.js","static/chunks/3oe03qxgd_rid.js","static/chunks/3w4o9hklow6fg.js","static/chunks/27jktro2p5rq9.js"],runtimeModuleIds:[94553]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=["NEXT_DEPLOYMENT_ID","NEXT_CLIENT_ASSET_SUFFIX"];var o,i=((o=i||{})[o.Runtime=0]="Runtime",o[o.Parent=1]="Parent",o[o.Update=2]="Update",o);let l=new WeakMap;function s(e,t){this.m=e,this.e=t}let u=s.prototype,a=Object.prototype.hasOwnProperty,c="u">typeof Symbol&&Symbol.toStringTag;function f(e,t,r){a.call(e,t)||Object.defineProperty(e,t,r)}function p(e,t){let r=e[t];return r||(r=h(t),e[t]=r),r}function h(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function d(e,t){f(e,"__esModule",{value:!0}),c&&f(e,c,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)f(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?f(e,n,{get:o,set:t[r++],enumerable:!0}):f(e,n,{get:o,enumerable:!0})}Object.seal(e)}function m(e,t){(null!=t?p(this.c,t):this.m).exports=e}u.s=function(e,t){let r,n;null!=t?n=(r=p(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,d(n,e)},u.j=function(e,t){var r,n;let o,i,s;null!=t?i=(o=p(this.c,t)).exports:(o=this.m,i=this.e);let u=(r=o,n=i,(s=l.get(r))||(l.set(r,s=[]),r.exports=r.namespaceObject=new Proxy(n,{get(e,t){if(a.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of s){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of s)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),s);"object"==typeof e&&null!==e&&u.push(e)},u.v=m,u.n=function(e,t){let r;(r=null!=t?p(this.c,t):this.m).exports=r.namespaceObject=e};let b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,y=[null,b({}),b([]),b(b)];function g(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!y.includes(t);t=b(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),d(t,n),t}function w(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=g(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function O(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function j(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}u.i=w,u.A=function(e){return this.r(e)(w.bind(this))},u.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},u.r=function(e){return B(e,this.m).exports},u.f=function(e){function t(t){if(t=O(t),a.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=O(t),a.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let k=Symbol("turbopack queues"),U=Symbol("turbopack exports"),v=Symbol("turbopack error");function C(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}u.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:i,reject:l,promise:s}=j(),u=Object.assign(s,{[U]:r.exports,[k]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[U]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(k in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[U]:{},[k]:e=>e(t)};return e.then(e=>{r[U]=e,C(t)},e=>{r[v]=e,C(t)}),r}}return{[U]:e,[k]:()=>{}}}),r=()=>t.map(e=>{if(e[v])throw e[v];return e[U]}),{promise:i,resolve:l}=j(),s=Object.assign(()=>l(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[k](u)),s.queueCount?i:r()},function(e){e?l(u[v]=e):i(u[U]),C(n)}),n&&-1===n.status&&(n.status=0)};let P=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}P.prototype=URL.prototype,u.U=P,u.z=function(e){throw Error("dynamic usage of require is not supported")},u.g=globalThis;let S=s.prototype,$=new Map;u.M=$;let _=new Map,E=new Map;async function T(e,t,r){let n;if("string"==typeof r)return M(e,t,q(r));let o=r.included||[],i=o.map(e=>!!$.has(e)||_.get(e));if(i.length>0&&i.every(e=>e))return void await Promise.all(i);let l=r.moduleChunks||[],s=l.map(e=>E.get(e)).filter(e=>e);if(s.length>0){if(s.length===l.length)return void await Promise.all(s);let r=new Set;for(let e of l)E.has(e)||r.add(e);for(let n of r){let r=M(e,t,q(n));E.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=M(e,t,q(r.path)),l))E.has(o)||E.set(o,n)}for(let e of o)_.has(e)||_.set(e,n);await n}S.l=function(e){return T(i.Parent,this.m.id,e)};let A=Promise.resolve(void 0),x=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),l=x.get(o);if(void 0===l){let e=x.set.bind(x,o,A);l=o.then(e).catch(e=>{let o;switch(t){case i.Runtime:o=`as a runtime dependency of chunk ${r}`;break;case i.Parent:o=`from module ${r}`;break;case i.Update:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),x.set(o,l)}return l}function q(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}S.L=function(e){return M(i.Parent,this.m.id,e)},S.R=function(e){let t=this.r(e);return t?.default??t},S.P=function(e){return`/ROOT/${e??""}`},S.q=function(e,t){m.call(this,`${e}${r}`,t)},S.b=function(e,t,o,i){let l="SharedWorker"===e.name,s=[o.map(e=>q(e)).reverse(),r];for(let e of n)s.push(globalThis[e]);let u=new URL(q(t),location.origin),a=JSON.stringify(s);return l?u.searchParams.set("params",a):u.hash="#params="+encodeURIComponent(a),new e(u,i?{...i,type:void 0}:void 0)};let N=/\.js(?:\?[^#]*)?(?:#.*)?$/,K=/\.css(?:\?[^#]*)?(?:#.*)?$/;function L(e){return K.test(e)}u.w=function(t,r,n){return e.loadWebAssembly(i.Parent,this.m.id,t,r,n)},u.u=function(t,r){return e.loadWebAssemblyModule(i.Parent,this.m.id,t,r)};let I={};u.c=I;let B=(e,t)=>{let r=I[e];if(r){if(r.error)throw r.error;return r}return W(e,i.Parent,t.id)};function W(e,t,r){let n=$.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=h(e),i=o.exports;I[e]=o;let l=new s(o,i);try{n(l,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&g(o.exports,o.namespaceObject),o}function F(t){let r,n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r<e.length;){let n,o=r+1;for(;o<e.length&&"function"!=typeof e[o];)o++;if(o===e.length)throw Error("malformed chunk format, expected a factory function");let i=e[o];for(let i=r;i<o;i++){let r=e[i],o=t.get(r);if(o){n=o;break}}let l=n??i,s=!1;for(let n=r;n<o;n++){let r=e[n];t.has(r)||(s||(l===i&&Object.defineProperty(i,"name",{value:"module evaluation"}),s=!0),t.set(r,l))}r=o+1}}(t,$)),e.registerChunk(n,r)}let X=new Map;function D(e){let t=X.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},X.set(e,t)}return t}e={async registerChunk(e,r){let n=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(e.src.replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(e);if(D("string"==typeof e?q(e):e.src).resolve(),null!=r){for(let e of r.otherChunks)D(q("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(e=>T(i.Runtime,n,e))),r.runtimeModuleIds.length>0)for(let e of r.runtimeModuleIds)!function(e,t){let r=I[t];if(r){if(r.error)throw r.error;return}W(t,i.Runtime,e)}(n,e)}},loadChunkCached:(e,t)=>(function(e,t){let r=D(t);if(r.loadingStarted)return r.promise;if(e===i.Runtime)return r.loadingStarted=!0,L(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(L(t));else if(N.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(L(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(N.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let i=fetch(q(r)),{instance:l}=await WebAssembly.instantiateStreaming(i,o);return l.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(q(r));return await WebAssembly.compileStreaming(o)}};let H=globalThis.TURBOPACK;globalThis.TURBOPACK={push:F},H.forEach(F)})();
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/0az8vxg2gfuhm.js","static/chunks/3m7_o1ihz8ay_.js","static/chunks/3oe03qxgd_rid.js","static/chunks/3w4o9hklow6fg.js","static/chunks/27jktro2p5rq9.js"],runtimeModuleIds:[94553]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=["NEXT_DEPLOYMENT_ID","NEXT_CLIENT_ASSET_SUFFIX"];var o,i=((o=i||{})[o.Runtime=0]="Runtime",o[o.Parent=1]="Parent",o[o.Update=2]="Update",o);let l=new WeakMap;function s(e,t){this.m=e,this.e=t}let u=s.prototype,a=Object.prototype.hasOwnProperty,c="u">typeof Symbol&&Symbol.toStringTag;function f(e,t,r){a.call(e,t)||Object.defineProperty(e,t,r)}function p(e,t){let r=e[t];return r||(r=h(t),e[t]=r),r}function h(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function d(e,t){f(e,"__esModule",{value:!0}),c&&f(e,c,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)f(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?f(e,n,{get:o,set:t[r++],enumerable:!0}):f(e,n,{get:o,enumerable:!0})}Object.seal(e)}function m(e,t){(null!=t?p(this.c,t):this.m).exports=e}u.s=function(e,t){let r,n;null!=t?n=(r=p(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,d(n,e)},u.j=function(e,t){var r,n;let o,i,s;null!=t?i=(o=p(this.c,t)).exports:(o=this.m,i=this.e);let u=(r=o,n=i,(s=l.get(r))||(l.set(r,s=[]),r.exports=r.namespaceObject=new Proxy(n,{get(e,t){if(a.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of s){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of s)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),s);"object"==typeof e&&null!==e&&u.push(e)},u.v=m,u.n=function(e,t){let r;(r=null!=t?p(this.c,t):this.m).exports=r.namespaceObject=e};let b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,y=[null,b({}),b([]),b(b)];function g(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!y.includes(t);t=b(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),d(t,n),t}function w(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=g(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function O(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function k(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}u.i=w,u.A=function(e){return this.r(e)(w.bind(this))},u.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},u.r=function(e){return B(e,this.m).exports},u.f=function(e){function t(t){if(t=O(t),a.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=O(t),a.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let j=Symbol("turbopack queues"),U=Symbol("turbopack exports"),v=Symbol("turbopack error");function C(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}u.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:i,reject:l,promise:s}=k(),u=Object.assign(s,{[U]:r.exports,[j]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[U]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(j in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[U]:{},[j]:e=>e(t)};return e.then(e=>{r[U]=e,C(t)},e=>{r[v]=e,C(t)}),r}}return{[U]:e,[j]:()=>{}}}),r=()=>t.map(e=>{if(e[v])throw e[v];return e[U]}),{promise:i,resolve:l}=k(),s=Object.assign(()=>l(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[j](u)),s.queueCount?i:r()},function(e){e?l(u[v]=e):i(u[U]),C(n)}),n&&-1===n.status&&(n.status=0)};let P=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}P.prototype=URL.prototype,u.U=P,u.z=function(e){throw Error("dynamic usage of require is not supported")},u.g=globalThis;let S=s.prototype,_=new Map;u.M=_;let $=new Map,E=new Map;async function T(e,t,r){let n;if("string"==typeof r)return M(e,t,q(r));let o=r.included||[],i=o.map(e=>!!_.has(e)||$.get(e));if(i.length>0&&i.every(e=>e))return void await Promise.all(i);let l=r.moduleChunks||[],s=l.map(e=>E.get(e)).filter(e=>e);if(s.length>0){if(s.length===l.length)return void await Promise.all(s);let r=new Set;for(let e of l)E.has(e)||r.add(e);for(let n of r){let r=M(e,t,q(n));E.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=M(e,t,q(r.path)),l))E.has(o)||E.set(o,n)}for(let e of o)$.has(e)||$.set(e,n);await n}S.l=function(e){return T(i.Parent,this.m.id,e)};let A=Promise.resolve(void 0),x=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),l=x.get(o);if(void 0===l){let e=x.set.bind(x,o,A);l=o.then(e).catch(e=>{let o;switch(t){case i.Runtime:o=`as a runtime dependency of chunk ${r}`;break;case i.Parent:o=`from module ${r}`;break;case i.Update:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),x.set(o,l)}return l}function q(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}S.L=function(e){return M(i.Parent,this.m.id,e)},S.R=function(e){let t=this.r(e);return t?.default??t},S.P=function(e){return`/ROOT/${e??""}`},S.q=function(e,t){m.call(this,`${e}${r}`,t)},S.b=function(e,t,o,i){let l="SharedWorker"===e.name,s=[o.map(e=>q(e)).reverse(),r];for(let e of n)s.push(globalThis[e]);let u=new URL(q(t),location.origin),a=JSON.stringify(s);return l?u.searchParams.set("params",a):u.hash="#params="+encodeURIComponent(a),new e(u,i?{...i,type:void 0}:void 0)};let N=/\.js(?:\?[^#]*)?(?:#.*)?$/,K=/\.css(?:\?[^#]*)?(?:#.*)?$/;function L(e){return K.test(e)}u.w=function(t,r,n){return e.loadWebAssembly(i.Parent,this.m.id,t,r,n)},u.u=function(t,r){return e.loadWebAssemblyModule(i.Parent,this.m.id,t,r)};let I={};u.c=I;let B=(e,t)=>{let r=I[e];if(r){if(r.error)throw r.error;return r}return W(e,i.Parent,t.id)};function W(e,t,r){let n=_.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=h(e),i=o.exports;I[e]=o;let l=new s(o,i);try{n(l,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&g(o.exports,o.namespaceObject),o}function F(t){let r,n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r<e.length;){let n,o=r+1;for(;o<e.length&&"function"!=typeof e[o];)o++;if(o===e.length)throw Error("malformed chunk format, expected a factory function");let i=e[o];for(let i=r;i<o;i++){let r=e[i],o=t.get(r);if(o){n=o;break}}let l=n??i,s=!1;for(let n=r;n<o;n++){let r=e[n];t.has(r)||(s||(l===i&&Object.defineProperty(i,"name",{value:"module evaluation"}),s=!0),t.set(r,l))}r=o+1}}(t,_)),e.registerChunk(n,r)}let X=new Map;function D(e){let t=X.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},X.set(e,t)}return t}e={async registerChunk(e,r){let n=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(e.src.replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(e);if(D("string"==typeof e?q(e):e.src).resolve(),null!=r){for(let e of r.otherChunks)D(q("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(e=>T(i.Runtime,n,e))),r.runtimeModuleIds.length>0)for(let e of r.runtimeModuleIds)!function(e,t){let r=I[t];if(r){if(r.error)throw r.error;return}W(t,i.Runtime,e)}(n,e)}},loadChunkCached:(e,t)=>(function(e,t){let r=D(t);if(r.loadingStarted)return r.promise;if(e===i.Runtime)return r.loadingStarted=!0,L(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(L(t));else if(N.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(L(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(N.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let i=fetch(q(r)),{instance:l}=await WebAssembly.instantiateStreaming(i,o);return l.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(q(r));return await WebAssembly.compileStreaming(o)}};let H=globalThis.TURBOPACK;globalThis.TURBOPACK={push:F},H.forEach(F)})();
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[14232,["/_next/static/chunks/
|
|
3
|
-
3:I[52925,["/_next/static/chunks/
|
|
4
|
-
4:I[39756,["/_next/static/chunks/
|
|
5
|
-
5:I[37457,["/_next/static/chunks/
|
|
6
|
-
6:I[36768,["/_next/static/chunks/
|
|
7
|
-
7:I[47257,["/_next/static/chunks/
|
|
8
|
-
a:I[97367,["/_next/static/chunks/
|
|
2
|
+
2:I[14232,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"ErrorBoundary"]
|
|
3
|
+
3:I[52925,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"default"]
|
|
4
|
+
4:I[39756,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"default"]
|
|
5
|
+
5:I[37457,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"default"]
|
|
6
|
+
6:I[36768,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js","/_next/static/chunks/1v-molv0hbcjl.js"],"default"]
|
|
7
|
+
7:I[47257,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"ClientPageRoot"]
|
|
8
|
+
a:I[97367,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"OutletBoundary"]
|
|
9
9
|
b:"$Sreact.suspense"
|
|
10
|
-
e:I[97367,["/_next/static/chunks/
|
|
11
|
-
10:I[97367,["/_next/static/chunks/
|
|
12
|
-
12:I[68027,["/_next/static/chunks/
|
|
13
|
-
:HL["/_next/static/chunks/
|
|
10
|
+
e:I[97367,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"ViewportBoundary"]
|
|
11
|
+
10:I[97367,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"MetadataBoundary"]
|
|
12
|
+
12:I[68027,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"default",1]
|
|
13
|
+
:HL["/_next/static/chunks/440es_b4nw-7c.css","style"]
|
|
14
14
|
:HL["/_next/static/chunks/2vm9uslik2wfi.css","style"]
|
|
15
|
-
0:{"P":null,"c":["","_not-found",""],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/
|
|
15
|
+
0:{"P":null,"c":["","_not-found",""],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/440es_b4nw-7c.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/2vm9uslik2wfi.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0hodisxqbtmye.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0jinrmgt26crz.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/2im7c515bo69p.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/3g0c367tk4esf.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-CN","suppressHydrationWarning":true,"data-scroll-behavior":"smooth","children":[["$","head",null,{"children":[["$","meta",null,{"charSet":"UTF-8"}],["$","meta",null,{"name":"viewport","content":"width=device-width, initial-scale=1.0"}],["$","link",null,{"rel":"icon","href":"/logo.svg","type":"image/svg+xml"}],["$","meta",null,{"name":"theme-color","content":"#5e6ad2"}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n var theme = localStorage.getItem('theme');\n if (theme === 'dark' || (!theme && window.matchMedia('(prefers-color-scheme: dark)').matches)) {\n document.documentElement.setAttribute('data-theme', 'dark');\n }\n })();\n "}}]]}],["$","body",null,{"children":["$","$L2",null,{"children":[["$","$L3",null,{}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n window.onerror = function(message, source, lineno, colno, error) {\n console.error('[Global Error]', { message, source, lineno, colno, error });\n };\n window.onunhandledrejection = function(event) {\n console.error('[Unhandled Promise Rejection]', event.reason);\n };\n "}}],["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","$L6",null,{}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L7",null,{"Component":"$6","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/1v-molv0hbcjl.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,"$@d"]},null,false,null],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$Le",null,{"children":"$Lf"}],["$","div",null,{"hidden":true,"children":["$","$L10",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L11"}]}]}],null]}],false]],"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/440es_b4nw-7c.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/2vm9uslik2wfi.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TXy93SnAZQ7OQ-aVUkmHa"}
|
|
16
16
|
13:[]
|
|
17
17
|
d:"$W13"
|
|
18
18
|
8:{}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[97367,["/_next/static/chunks/
|
|
3
|
-
3:I[97367,["/_next/static/chunks/
|
|
2
|
+
2:I[97367,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"ViewportBoundary"]
|
|
3
|
+
3:I[97367,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
|
-
0:{"rsc":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"MostBox"}],["$","meta","1",{"name":"description","content":"P2P 文件分享,无需注册"}]]}]}]}],null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"
|
|
5
|
+
0:{"rsc":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"MostBox"}],["$","meta","1",{"name":"description","content":"P2P 文件分享,无需注册"}]]}]}]}],null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TXy93SnAZQ7OQ-aVUkmHa"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[14232,["/_next/static/chunks/
|
|
3
|
-
3:I[52925,["/_next/static/chunks/
|
|
4
|
-
4:I[39756,["/_next/static/chunks/
|
|
5
|
-
5:I[37457,["/_next/static/chunks/
|
|
6
|
-
6:I[36768,["/_next/static/chunks/
|
|
7
|
-
:HL["/_next/static/chunks/
|
|
2
|
+
2:I[14232,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"ErrorBoundary"]
|
|
3
|
+
3:I[52925,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"default"]
|
|
4
|
+
4:I[39756,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"default"]
|
|
5
|
+
5:I[37457,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"default"]
|
|
6
|
+
6:I[36768,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js","/_next/static/chunks/1v-molv0hbcjl.js"],"default"]
|
|
7
|
+
:HL["/_next/static/chunks/440es_b4nw-7c.css","style"]
|
|
8
8
|
:HL["/_next/static/chunks/2vm9uslik2wfi.css","style"]
|
|
9
|
-
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/
|
|
9
|
+
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/440es_b4nw-7c.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/2vm9uslik2wfi.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0hodisxqbtmye.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0jinrmgt26crz.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/2im7c515bo69p.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/3g0c367tk4esf.js","async":true}]],["$","html",null,{"lang":"zh-CN","suppressHydrationWarning":true,"data-scroll-behavior":"smooth","children":[["$","head",null,{"children":[["$","meta",null,{"charSet":"UTF-8"}],["$","meta",null,{"name":"viewport","content":"width=device-width, initial-scale=1.0"}],["$","link",null,{"rel":"icon","href":"/logo.svg","type":"image/svg+xml"}],["$","meta",null,{"name":"theme-color","content":"#5e6ad2"}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n var theme = localStorage.getItem('theme');\n if (theme === 'dark' || (!theme && window.matchMedia('(prefers-color-scheme: dark)').matches)) {\n document.documentElement.setAttribute('data-theme', 'dark');\n }\n })();\n "}}]]}],["$","body",null,{"children":["$","$L2",null,{"children":[["$","$L3",null,{}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n window.onerror = function(message, source, lineno, colno, error) {\n console.error('[Global Error]', { message, source, lineno, colno, error });\n };\n window.onunhandledrejection = function(event) {\n console.error('[Unhandled Promise Rejection]', event.reason);\n };\n "}}],["$","$L4",null,{"parallelRouterKey":"children","template":["$","$L5",null,{}],"notFound":[["$","$L6",null,{}],[]]}]]}]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TXy93SnAZQ7OQ-aVUkmHa"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[47257,["/_next/static/chunks/
|
|
3
|
-
3:I[36768,["/_next/static/chunks/
|
|
4
|
-
6:I[97367,["/_next/static/chunks/
|
|
2
|
+
2:I[47257,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"ClientPageRoot"]
|
|
3
|
+
3:I[36768,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js","/_next/static/chunks/1v-molv0hbcjl.js"],"default"]
|
|
4
|
+
6:I[97367,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"OutletBoundary"]
|
|
5
5
|
7:"$Sreact.suspense"
|
|
6
|
-
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/1v-molv0hbcjl.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"
|
|
6
|
+
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/1v-molv0hbcjl.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TXy93SnAZQ7OQ-aVUkmHa"}
|
|
7
7
|
4:{}
|
|
8
8
|
5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
|
|
9
9
|
8:null
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[39756,["/_next/static/chunks/
|
|
3
|
-
3:I[37457,["/_next/static/chunks/
|
|
2
|
+
2:I[39756,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"default"]
|
|
3
|
+
3:I[37457,["/_next/static/chunks/0hodisxqbtmye.js","/_next/static/chunks/0jinrmgt26crz.js","/_next/static/chunks/2im7c515bo69p.js","/_next/static/chunks/3g0c367tk4esf.js"],"default"]
|
|
4
4
|
4:[]
|
|
5
|
-
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"
|
|
5
|
+
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TXy93SnAZQ7OQ-aVUkmHa"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
:HL["/_next/static/chunks/
|
|
1
|
+
:HL["/_next/static/chunks/440es_b4nw-7c.css","style"]
|
|
2
2
|
:HL["/_next/static/chunks/2vm9uslik2wfi.css","style"]
|
|
3
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"/_not-found","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"
|
|
3
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"/_not-found","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"TXy93SnAZQ7OQ-aVUkmHa"}
|