home-atom 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/.vite/manifest.json +33 -33
- package/dist/client/_next/static/chunks/{app-top-nav-Dh0jEt8u.js → app-top-nav-Co7RIixU.js} +1 -1
- package/dist/client/_next/static/chunks/{index-hn3AiVww.js → index-BUxxgh38.js} +3 -3
- package/dist/client/_next/static/chunks/{layout-segment-context-DRM8YCgm.js → layout-segment-context-D_cL7vkY.js} +1 -1
- package/dist/client/_next/static/chunks/manage-profiles-modal-CWi3qgd4.js +1 -0
- package/dist/client/_next/static/chunks/netflix-browser-BrXQctI5.js +2 -0
- package/dist/client/_next/static/chunks/playback-activity-66FeikYZ.js +1 -0
- package/dist/client/_next/static/chunks/playback-activity-track-switcher-BzvHiv7c.js +1 -0
- package/dist/client/_next/static/chunks/{step-forward-CV8I5pPb.js → provider-registry-CWHfJn3B.js} +1 -1
- package/dist/client/_next/static/chunks/spotify-app-CJimeMR0.js +1 -0
- package/dist/client/_next/static/chunks/storefront-CCeanBPs.js +1 -0
- package/dist/client/_next/static/css/index.8o3Y-jts.css +1 -0
- package/dist/client/_next/static/css/layout.D2NsWbhP.css +1 -0
- package/dist/client/_next/static/css/layout.D4D5fsiD.css +1 -0
- package/dist/client/_next/static/css/manage-profiles-modal.BOKESpxI.css +1 -0
- package/dist/client/vinext-client-entry-manifest.json +1 -1
- package/dist/server/BUILD_ID +1 -1
- package/dist/server/__vite_rsc_assets_manifest.js +35 -35
- package/dist/server/_next/static/{app-page-cache-DcrtN14Y.js → app-page-cache-CQaSjBaF.js} +1 -1
- package/dist/server/_next/static/{app-page-cache-render-DoCquoNb.js → app-page-cache-render-Dty3aMiv.js} +1 -1
- package/dist/server/_next/static/{app-route-handler-dispatch-Be2YIqVp.js → app-route-handler-dispatch-DCSrhGNV.js} +1 -1
- package/dist/server/_next/static/{cache-headers-BQ-QuzWN.js → cache-headers-lY59goLh.js} +1 -1
- package/dist/server/_next/static/css/index.8o3Y-jts.css +1 -0
- package/dist/server/_next/static/css/layout.D2NsWbhP.css +1 -0
- package/dist/server/_next/static/css/layout.D4D5fsiD.css +1 -0
- package/dist/server/_next/static/database-D79CeUrn.js +161 -0
- package/dist/server/_next/static/{db-BE1J0NNS.js → db-x8J3Vuoa.js} +1 -1
- package/dist/server/_next/static/{downloader-DgnjNL5T.js → downloader-0G-gq1D-.js} +3 -3
- package/dist/server/_next/static/episode-sync-Ct5CeY25.js +1 -0
- package/dist/server/_next/static/{isr-decision-D1zHgPSI.js → isr-decision-BOA4L6nr.js} +1 -1
- package/dist/server/_next/static/netflix-page-Cpp2PgD1.js +1 -0
- package/dist/server/_next/static/{page-Cs-erYTy.js → page-BvzzZVuW.js} +1 -1
- package/dist/server/_next/static/{page-DlBGATQp.js → page-C27wjUYW.js} +1 -1
- package/dist/server/_next/static/{page-DlRXyzSQ.js → page-Rnpx_OjW.js} +1 -1
- package/dist/server/_next/static/{providers-B3YELr_F.js → providers-DwLUa_U_.js} +13 -13
- package/dist/server/_next/static/{providers-CMBIwNGs.js → providers-_uOQh6hB.js} +1 -1
- package/dist/server/_next/static/{request-profile-B1yGQ0l6.js → request-profile-ClcH0i0T.js} +1 -1
- package/dist/server/_next/static/route-4xkmbpc4.js +1 -0
- package/dist/server/_next/static/{route-CeVsDcbj2.js → route-B0L_rsrg2.js} +1 -1
- package/dist/server/_next/static/{route-xtz48fti.js → route-B6q-wR2F.js} +1 -1
- package/dist/server/_next/static/{route-DXTJyFWD.js → route-B6zrlXB5.js} +1 -1
- package/dist/server/_next/static/{route-CNNiXZoM2.js → route-B99Pvusz2.js} +1 -1
- package/dist/server/_next/static/route-B9YeBtG6.js +1 -0
- package/dist/server/_next/static/route-BHbJ9hFI2.js +1 -0
- package/dist/server/_next/static/{route-mzLdjDCs2.js → route-BR3Y_0V42.js} +1 -1
- package/dist/server/_next/static/{route-Cim7D4XQ.js → route-BaGo5TEW.js} +1 -1
- package/dist/server/_next/static/{route-DslPFTAK.js → route-BczKcyvV.js} +1 -1
- package/dist/server/_next/static/{route-B0WNLJZp.js → route-BiSvZr_s.js} +1 -1
- package/dist/server/_next/static/{route-Dbs39TkC.js → route-Bj7s6WXI.js} +1 -1
- package/dist/server/_next/static/{route-vD15s2A8.js → route-CGH08Y8C.js} +1 -1
- package/dist/server/_next/static/{route-CkH7Cg-p.js → route-CJmc17Dq.js} +1 -1
- package/dist/server/_next/static/{route-C74RA7va.js → route-CLvr0Ue3.js} +1 -1
- package/dist/server/_next/static/route-CUaIuP8a.js +1 -0
- package/dist/server/_next/static/{route-BPcAdbz_.js → route-CcrNbScT.js} +1 -1
- package/dist/server/_next/static/route-CiOFTfyw2.js +1 -0
- package/dist/server/_next/static/route-Cn7l9eYT.js +1 -0
- package/dist/server/_next/static/route-CnKXQb5r2.js +1 -0
- package/dist/server/_next/static/{route-CVPPmUto.js → route-D93PQ3NI2.js} +1 -1
- package/dist/server/_next/static/{route-D_G2SOlz.js → route-D9ZD1_5T.js} +1 -1
- package/dist/server/_next/static/{route-DAyF4BHS.js → route-DWPhX9kT2.js} +1 -1
- package/dist/server/_next/static/route-DihT2xS82.js +1 -0
- package/dist/server/_next/static/route-Dn-sYYEs.js +1 -0
- package/dist/server/_next/static/route-DpzLCx1V.js +1 -0
- package/dist/server/_next/static/route-Dswz7MvP2.js +1 -0
- package/dist/server/_next/static/route-Dwk0kt8B.js +1 -0
- package/dist/server/_next/static/route-DxLQx9eD.js +1 -0
- package/dist/server/_next/static/{route-zazqen-A2.js → route-FwNLcs2r2.js} +1 -1
- package/dist/server/_next/static/route-GmbSJZjk2.js +1 -0
- package/dist/server/_next/static/route-iUxcDN2r.js +1 -0
- package/dist/server/_next/static/{route-UWQN8uYr.js → route-j61HPczh.js} +1 -1
- package/dist/server/_next/static/{route-CHJzaQu2.js → route-qJ1EJhxJ.js} +1 -1
- package/dist/server/_next/static/{route-BWk9YK7r.js → route-sNW0pw7C.js} +1 -1
- package/dist/server/_next/static/{seed-cache-oCd9Lfdw.js → seed-cache-DsYPqBld.js} +1 -1
- package/dist/server/_next/static/{server-CS40XqUP.js → server-DwVU6UyP.js} +1 -1
- package/dist/server/_next/static/storage-fxaUbjG1.js +322 -0
- package/dist/server/_next/static/streamer-DUAWx_Tm.js +2 -0
- package/dist/server/_next/static/{subtitles-DYBlMnha.js → subtitles-4c0GFlaW.js} +1 -1
- package/dist/server/_next/static/{title-progress-CQBrSxvN.js → title-progress-BTypVYBz.js} +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/prerendered-routes/404.html +2 -2
- package/dist/server/prerendered-routes/index.html +2 -2
- package/dist/server/prerendered-routes/index.rsc +2 -2
- package/dist/server/ssr/__vite_rsc_assets_manifest.js +35 -35
- package/dist/server/ssr/_next/static/css/refresh-cw.BOKESpxI.css +1 -0
- package/dist/server/ssr/_next/static/minimize-gPI5ytrc.js +1 -0
- package/dist/server/ssr/_next/static/netflix-browser-CXJEizJ6.js +2 -0
- package/dist/server/ssr/_next/static/{pin-BQre-tQY.js → pin-DiZl7z2n.js} +1 -1
- package/dist/server/ssr/_next/static/playback-activity-AIsC-eO5.js +1 -0
- package/dist/server/ssr/_next/static/refresh-cw-DNvHlOAy.js +1 -0
- package/dist/server/ssr/_next/static/spotify-app-xyDH0rho.js +1 -0
- package/dist/server/ssr/_next/static/storefront-DMeL08z3.js +1 -0
- package/dist/server/ssr/index.js +1 -1
- package/dist/server/ssr/vinext-client-assets.js +1 -1
- package/dist/server/ssr/vinext-server.json +1 -1
- package/dist/server/vinext-client-assets.js +1 -1
- package/dist/server/vinext-prerender-paths.json +1 -1
- package/dist/server/vinext-prerender.json +16 -1
- package/dist/server/vinext-server.json +1 -1
- package/package.json +4 -2
- package/dist/client/_next/static/chunks/manage-profiles-modal-Doi6QM4e.js +0 -1
- package/dist/client/_next/static/chunks/netflix-browser-L_Vb9wXK.js +0 -2
- package/dist/client/_next/static/chunks/playback-activity-Dug3BRYr.js +0 -1
- package/dist/client/_next/static/chunks/playback-activity-track-switcher-CbO6kl8K.js +0 -1
- package/dist/client/_next/static/chunks/spotify-app-f93K4FG_.js +0 -1
- package/dist/client/_next/static/chunks/storefront-C_nmcuvH.js +0 -1
- package/dist/client/_next/static/css/index.BGXy8e6j.css +0 -1
- package/dist/client/_next/static/css/layout.AKSLtSR6.css +0 -1
- package/dist/client/_next/static/css/layout.D8T68cCD.css +0 -1
- package/dist/client/_next/static/css/manage-profiles-modal.BAVyxRRR.css +0 -1
- package/dist/server/_next/static/css/index.BGXy8e6j.css +0 -1
- package/dist/server/_next/static/css/layout.AKSLtSR6.css +0 -1
- package/dist/server/_next/static/css/layout.D8T68cCD.css +0 -1
- package/dist/server/_next/static/database-BNnYfHmT.js +0 -114
- package/dist/server/_next/static/netflix-page-BRbORN1F.js +0 -1
- package/dist/server/_next/static/route-96DdgJBs.js +0 -1
- package/dist/server/_next/static/route-BBmE0xf12.js +0 -1
- package/dist/server/_next/static/route-BdG5ojMj2.js +0 -1
- package/dist/server/_next/static/route-BovNctFc.js +0 -1
- package/dist/server/_next/static/route-C2LuSjoh.js +0 -1
- package/dist/server/_next/static/route-CCUsQ7AG.js +0 -1
- package/dist/server/_next/static/route-CN6VdJwN.js +0 -1
- package/dist/server/_next/static/route-CjUCKwSj2.js +0 -1
- package/dist/server/_next/static/route-Cn40NftM.js +0 -1
- package/dist/server/_next/static/route-DWAMZHLa.js +0 -1
- package/dist/server/_next/static/route-DiT9UYUd.js +0 -1
- package/dist/server/_next/static/route-jMq6H_yh.js +0 -1
- package/dist/server/_next/static/storage-D1zF0J_t.js +0 -288
- package/dist/server/_next/static/streamer-B1PRR-dj.js +0 -2
- package/dist/server/ssr/_next/static/css/refresh-cw.BAVyxRRR.css +0 -1
- package/dist/server/ssr/_next/static/minimize-C9JLgte-.js +0 -1
- package/dist/server/ssr/_next/static/netflix-browser-CMAehdwi.js +0 -2
- package/dist/server/ssr/_next/static/playback-activity-D5TYX2Ae.js +0 -1
- package/dist/server/ssr/_next/static/refresh-cw-CWdWHjqY.js +0 -1
- package/dist/server/ssr/_next/static/spotify-app-CE-RaTjZ.js +0 -1
- package/dist/server/ssr/_next/static/storefront-C5NNzPMa.js +0 -1
- /package/dist/client/_next/static/{e1ce9af7-d770-43d6-845a-511443f19971 → 7c810a6d-59fd-41d6-b465-cf61efaea04f}/_buildManifest.js +0 -0
- /package/dist/client/_next/static/{e1ce9af7-d770-43d6-845a-511443f19971 → 7c810a6d-59fd-41d6-b465-cf61efaea04f}/_ssgManifest.js +0 -0
- /package/dist/server/_next/static/{layout-Ds3pFa6r.js → layout-D1iejeee.js} +0 -0
- /package/dist/server/_next/static/{layout-ClEWbCcj.js → layout-DpOw0OgX.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./framework~index~layout~layout~page~page~page~layout~page~app-page-cache-render~app-page-cac~nvd6h53m-ydvR7YSg.js";import{a as r,c as i,i as a,s as o}from"./unified-request-context-CgIMz2dD.js";import{D as s,f as c,g as l,h as u,l as d,m as f,p,r as ee,t as te,u as ne,x as re,y as ie}from"./request-context-C1ZJzkex.js";function m(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ae=e(t(),1);function oe(e,t){let n=e?.[t];return m(n)?n:void 0}function se(e,t){let n=oe(e,`cacheControl`)?.[t]??e?.[t];return typeof n==`number`?n:void 0}function ce(e){let t=oe(e,`cacheControl`)?.revalidate??e?.revalidate;return typeof t==`number`||t===!1?t:void 0}var le=50*1024*1024,ue=1e4;function de(e){if(!e)return 0;let t=0;for(let[n,r]of Object.entries(e))if(t+=n.length,Array.isArray(r))for(let e of r)t+=e.length;else t+=r.length;return t}function fe(e){if(e===null)return 25;switch(e.kind){case`FETCH`:return JSON.stringify(e.data??``).length;case`PAGES`:return e.html.length+JSON.stringify(e.pageData??{}).length+de(e.headers);case`APP_PAGE`:return e.html.length+(e.rscData?.byteLength??0)+(e.postponed?.length??0)+de(e.headers);case`APP_ROUTE`:return e.body.byteLength+de(e.headers);case`REDIRECT`:return JSON.stringify(e.props??{}).length;case`IMAGE`:return e.buffer.byteLength+e.extension.length+e.etag.length;default:return JSON.stringify(e).length}}function pe(e){return typeof e==`number`?e:typeof e?.cacheMaxMemorySize==`number`?e.cacheMaxMemorySize:typeof e?.maxMemoryCacheSize==`number`?e.maxMemoryCacheSize:le}function me(e,t){let n=e?.[t];return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}function he(e,t){let n=e?.[t];return typeof n==`number`&&n>0?n:void 0}var ge=class{store=new Map;tagRevalidatedAt=new Map;maxMemoryCacheSize;currentMemoryCacheSize=0;constructor(e){this.maxMemoryCacheSize=pe(e)}estimateEntrySize(e){return fe(e.value)+e.tags.reduce((e,t)=>e+t.length,0)+64}deleteEntry(e){let t=this.store.get(e);t&&(this.currentMemoryCacheSize-=this.estimateEntrySize(t),this.store.delete(e))}touchEntry(e,t){this.store.delete(e),this.store.set(e,t)}evictLeastRecentlyUsed(){for(;this.maxMemoryCacheSize>0&&this.currentMemoryCacheSize>this.maxMemoryCacheSize;){let e=this.store.keys().next().value;if(e===void 0)return;this.deleteEntry(e)}}async get(e,t){let n=this.store.get(e);if(!n)return null;for(let t of n.tags){let r=this.tagRevalidatedAt.get(t);if(r&&r>=n.lastModified)return this.deleteEntry(e),null}for(let e of me(t,`softTags`)){let t=this.tagRevalidatedAt.get(e);if(t&&t>=n.lastModified)return null}this.touchEntry(e,n);let r=Date.now();if(n.expireAt!==null&&r>n.expireAt)return{lastModified:n.lastModified,value:n.value,cacheState:`expired`,cacheControl:n.cacheControl};let i=he(t,`revalidate`),a=i===void 0?null:n.lastModified+i*1e3;return n.revalidateAt!==null&&r>n.revalidateAt||a!==null&&r>a?{lastModified:n.lastModified,value:n.value,cacheState:`stale`,cacheControl:n.cacheControl}:{lastModified:n.lastModified,value:n.value,cacheControl:n.cacheControl}}async set(e,t,n){let r=new Set;if(t&&`tags`in t&&Array.isArray(t.tags))for(let e of t.tags)r.add(e);for(let e of me(n,`tags`))r.add(e);let i=[...r],a=ce(n),o=se(n,`expire`);if(t&&`revalidate`in t&&typeof t.revalidate==`number`?a=t.revalidate:t&&`revalidate`in t&&t.revalidate===!1&&(a??=!1),a===0)return;let s=Date.now(),c=typeof a==`number`&&a>0?s+a*1e3:null,l=typeof o==`number`&&o>0?s+o*1e3:null,u=typeof a==`number`||a===!1?o===void 0?{revalidate:a}:{revalidate:a,expire:o}:void 0;if(this.maxMemoryCacheSize===0)return;let d={value:t,tags:i,lastModified:s,revalidateAt:c,expireAt:l,cacheControl:u},f=this.estimateEntrySize(d);if(f>this.maxMemoryCacheSize){this.deleteEntry(e);return}this.deleteEntry(e),this.store.set(e,d),this.currentMemoryCacheSize+=f,this.evictLeastRecentlyUsed()}async revalidateTag(e){let t=Array.isArray(e)?e:[e],n=Date.now();for(let e of t)for(this.tagRevalidatedAt.set(e,n);this.tagRevalidatedAt.size>ue;){let e=this.tagRevalidatedAt.keys().next().value;if(e===void 0)break;this.tagRevalidatedAt.delete(e)}}resetRequestCache(){}},h=Symbol.for(`vinext.cacheHandler`),g=globalThis;function _e(){return g[h]??(g[h]=new ge)}function ve(e){let t=g[h];t&&!(t instanceof ge)||(g[h]=new ge(e))}function _(){return _e()}var ye=class extends Error{constructor(e,t){super(`Route ${e} used ${t} during prerendering but the render was aborted. This is expected when prerendering is cut short (e.g. due to a dynamic access).`),this.name=`HangingPromiseRejectionError`}},be=new WeakMap;function xe(){}function Se(e,t,n){if(e.aborted){let e=Promise.reject(new ye(t,n));return e.catch(xe),e}let r=new Promise((r,i)=>{let a=i.bind(null,new ye(t,n)),o=be.get(e);if(o)o.push(a);else{let t=[a];be.set(e,t),e.addEventListener(`abort`,()=>{for(let e=0;e<t.length;e++)t[e]();t.length=0},{once:!0})}});return r.catch(xe),r}var Ce=i(`vinext.pprFallbackShell.als`),we=i(`vinext.pprFallbackShell.cacheTaskStack.als`);function Te(){}function Ee(e){let t=setTimeout(()=>{t=null,n=setTimeout(()=>{n=null,e()},0)},0),n=null;return()=>{t!==null&&(clearTimeout(t),t=null),n!==null&&(clearTimeout(n),n=null)}}function De(e){if(e.pendingCacheTasks!==0)return;let t=e.cacheReadyResolvers.splice(0);for(let e of t)e()}function Oe(e){e.pendingCacheTasks!==0||e.pendingCacheReadyCleanup!==null||(e.pendingCacheReadyCleanup=Ee(()=>{e.pendingCacheReadyCleanup=null,De(e),e.phase===`final`&&ke(e)}))}function ke(e){e.phase!==`final`||!e.isFinalRenderStarted||!e.hasDynamicBoundary||e.pendingCacheTasks>0||e.pendingCacheReadyCleanup!==null||e.isAbortScheduled||(e.isAbortScheduled=!0,e.pendingAbortCleanup=Ee(()=>{e.pendingAbortCleanup=null,e.isAbortScheduled=!1,e.phase===`final`&&e.hasDynamicBoundary&&e.pendingCacheTasks===0&&e.pendingCacheReadyCleanup===null&&!e.reactAbortController.signal.aborted&&(e.reactAbortController.abort(),e.abortController.abort())}))}function Ae(e,t){t.isPending&&(t.isPending=!1,t.epoch===e.cacheEpoch&&(e.pendingCacheTasks--,Oe(e)))}function je(e,t){!t.isPending||t.isIgnored||(t.isIgnored=!0,Ae(e,t))}function Me(){return Ce.getStore()??null}function Ne(e,t){Pe(e),e.phase===`final`&&ke(e);let n=Se(e.abortController.signal,e.routePattern,t);return n.catch(Te),n}function Pe(e){e.hasDynamicBoundary=!0;for(let t of we.getStore()??[])je(e,t);Oe(e)}var Fe=Symbol.for(`vinext.nextHeadersShim.fallback`),Ie=globalThis,Le=i(`vinext.nextHeadersShim.als`),Re=Ie[Fe]??={headersContext:null,dynamicUsageDetected:!1,renderRequestApiUsage:new Set,connectionProbe:null,invalidDynamicUsageError:null,pendingSetCookies:[],draftModeCookieHeader:null,phase:`render`};function v(){return r()?a():Le.getStore()??Re}function ze(){let e=v();e.headersContext?.forceStatic||(e.dynamicUsageDetected=!0,Be(e,e=>{e.dynamicUsageDetected=!0}))}function Be(e,t){let n=e.connectionProbe?.dynamicUsageTarget??null,r=new Set([e]);for(;n&&!r.has(n);)r.add(n),t(n),n=n.connectionProbe?.dynamicUsageTarget??null}function Ve(e,t){Be(e,e=>{e.invalidDynamicUsageError??=t})}async function He(e){let t=async t=>({result:await e(),dynamicDetected:t.dynamicUsageDetected});if(r()){let e=null;return await o(t=>{t.dynamicUsageDetected=!1,e=t},()=>{if(!e)throw Error(`Dynamic usage scope was not initialized`);return t(e)})}let n={...v(),dynamicUsageDetected:!1};return await Le.run(n,()=>t(n))}function Ue(e){v().renderRequestApiUsage.add(e)}function We(){let e=v().headersContext?.accessError;if(e)throw e}async function Ge(e){let t=v(),n=t.invalidDynamicUsageError,i=()=>{},a=new Promise(e=>{i=()=>e({completed:!1})}),s={active:!0,dynamicUsageTarget:t,interrupted:!1,interrupt(){s.interrupted||(s.interrupted=!0,i())},pending:new Promise(()=>{})},c=async r=>{try{let t=Promise.resolve().then(e).then(e=>({completed:!0,result:e}));return await Promise.race([t,a])}finally{s.active=!1,r.connectionProbe=t.connectionProbe??s,r.dynamicUsageDetected&&(t.dynamicUsageDetected=!0),r.invalidDynamicUsageError!==n&&t.invalidDynamicUsageError===n&&(t.invalidDynamicUsageError=r.invalidDynamicUsageError)}};if(r()){let e=null;return await o(t=>{t.connectionProbe=s,e=t},()=>{if(!e)throw Error(`Connection probe scope was not initialized`);return c(e)})}let l={...t,connectionProbe:s};return await Le.run(l,()=>c(l))}function Ke(){return[...v().renderRequestApiUsage].sort()}function qe(){let e=v(),t=[...e.renderRequestApiUsage].sort();return e.renderRequestApiUsage=new Set,t}var Je=Symbol.for(`vinext.cacheRuntime.contextAls`),Ye=Symbol.for(`vinext.unstableCache.als`);function Xe(e){let t=Reflect.get(globalThis,e);if(!t||typeof t!=`object`)return null;let n=Reflect.get(t,`getStore`);return typeof n==`function`?{getStore:()=>n.call(t)}:null}function Ze(){let e=Xe(Je)?.getStore();return!e||typeof e!=`object`?null:e}function Qe(){let e=Ze();return e!==null&&e.variant!==`private`}function $e(){return Xe(Ye)?.getStore()===!0}function et(e){if(Qe()){let t=Error(`\`${e}\` cannot be called inside "use cache". If you need this data inside a cached function, call \`${e}\` outside and pass the required data as an argument.`);try{let e=Ze();e&&(e.invalidDynamicUsageError=t);let n=a();n&&(n.invalidDynamicUsageError=t),Ve(v(),t)}catch{}throw t}if($e()){let t=Error(`\`${e}\` cannot be called inside a function cached with \`unstable_cache()\`. If you need this data inside a cached function, call \`${e}\` outside and pass the required data as an argument.`);try{let e=a();e&&(e.invalidDynamicUsageError=t),Ve(v(),t)}catch{}throw t}}function tt(){let e=v(),t=e.invalidDynamicUsageError;return e.invalidDynamicUsageError=null,t}function nt(){let e=v(),t=e.dynamicUsageDetected;return e.dynamicUsageDetected=!1,t}function rt(){return v().dynamicUsageDetected}function it(e,t){let n=e.phase;return n===`action`&&t===`render`&&e.headersContext?.mutableCookies?.[_t](),e.phase=t,n}function at(e){return it(v(),e)}function ot(){return v().phase}function st(){return v().headersContext}function ct(e){let t=v();e===null?(t.headersContext=null,t.phase=`render`):(t.headersContext=e,t.dynamicUsageDetected=!1,t.renderRequestApiUsage=new Set,t.pendingSetCookies=[],t.draftModeCookieHeader=null,t.phase=`render`)}var lt=new Set([`set`,`delete`,`append`]);function ut(e,t){let n=null,r=new Proxy(e.headers,{get(e,t){let r=n??e;if(typeof t==`string`&<.has(t))return(...r)=>(n||=new Headers(e),n[t](...r));let i=Reflect.get(r,t,r);return typeof i==`function`?i.bind(r):i}}),i=null;function a(){return i||(i=ee(r.get(`cookie`)||``),i)}return{headers:r,get cookies(){return a()},draftModeSecret:t?.draftModeSecret}}function dt(){let e=v(),t=e.pendingSetCookies;return e.pendingSetCookies=[],t}var ft=`__prerender_bypass`;function pt(){let e=v(),t=e.draftModeCookieHeader;return e.draftModeCookieHeader=null,t}function mt(e){if(e.length===0)throw Error(`[vinext] draft mode secret must be a non-empty string.`);return e}function ht(e,t){let n=e.headers.get(`cookie`);return n?ee(n).get(ft)===mt(t):!1}function gt(){let e=v().headersContext;if(!e)return null;if(e.draftModeEnabled!==void 0)return e.draftModeEnabled;let t=e.draftModeSecret;return t!==void 0&&e.cookies.get(ft)===mt(t)}var _t=Symbol(`vinext.synchronize-request-cookies`),y=n(),vt=`no-store, must-revalidate`,yt=class{ownsBackgroundRevalidation=!0;async get(e,t){return _().get(e,t)}async set(e,t,n){await _().set(e,t,n)}buildResponseHeaders(e){return e.pendingDynamicCheck?{"Cache-Control":vt}:{"Cache-Control":e.cacheControl}}async revalidateTag(e,t){}},bt=Symbol.for(`vinext.cdnCacheAdapter`),xt=globalThis,St=null;function Ct(){return xt[bt]||(St??=new yt)}function b(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=t*16777619>>>0;let n=84696351;for(let t=0;t<e.length;t++)n^=e.charCodeAt(t),n=n*16777619>>>0;return t.toString(16).padStart(8,`0`)+n.toString(16).padStart(8,`0`)}function wt(e){return e.startsWith(`/`)&&!e.startsWith(`//`)&&!e.includes(`?`)&&!e.includes(`#`)&&!e.includes(`\0`)}function Tt(e){if(e===`/`||e.length>1&&e[0]===`/`&&!e.includes(`//`)&&!e.includes(`/./`)&&!e.includes(`/../`)&&!e.endsWith(`/.`)&&!e.endsWith(`/..`))return e;let t=e.split(`/`),n=[];for(let e of t)e===``||e===`.`||(e===`..`?n.pop():n.push(e));return`/`+n.join(`/`)}var Et=(e,t)=>e<t?-1:+(e>t),Dt=[`schemaVersion`,`graphVersion`,`deploymentVersion`,`appElementsSchemaVersion`,`rscPayloadSchemaVersion`,`rootBoundaryId`,`renderEpoch`];function x(e={}){return{schemaVersion:1,graphVersion:e.graphVersion??null,deploymentVersion:e.deploymentVersion??null,appElementsSchemaVersion:1,rscPayloadSchemaVersion:1,rootBoundaryId:e.rootBoundaryId??null,renderEpoch:e.renderEpoch??null}}function Ot(e){return`app-route-graph:${b(JSON.stringify([e.routePattern,e.rootBoundaryId]))}`}function S(e){return typeof e==`string`||e===null}function kt(e){return e.schemaVersion===1&&e.appElementsSchemaVersion===1&&e.rscPayloadSchemaVersion===1}function At(e){return!m(e)||!kt(e)||!S(e.graphVersion)||!S(e.deploymentVersion)||!S(e.rootBoundaryId)||!S(e.renderEpoch)?null:{schemaVersion:1,graphVersion:e.graphVersion,deploymentVersion:e.deploymentVersion,appElementsSchemaVersion:1,rscPayloadSchemaVersion:1,rootBoundaryId:e.rootBoundaryId,renderEpoch:e.renderEpoch}}function C(e){return{kind:`incompatible`,fallback:`renderFresh`,reason:e}}function jt(e){return{kind:`unknown`,fallback:`renderFresh`,reason:e}}function w(e,t,n,r,i,a){return e===null||t===null?jt(n):e===t?null:a===void 0?C(r):Mt(e,t,a)?null:C(i)}function Mt(e,t,n){return n.some(n=>n.includes(e)&&n.includes(t))}function Nt(e,t,n={}){return e.schemaVersion===t.schemaVersion?e.appElementsSchemaVersion===t.appElementsSchemaVersion?e.rscPayloadSchemaVersion===t.rscPayloadSchemaVersion?w(e.graphVersion,t.graphVersion,`graphVersionUnknown`,`graphVersionMismatch`,`graphVersionNotDeclaredCompatible`,n.compatibilityMap?.graphVersions)||w(e.deploymentVersion,t.deploymentVersion,`deploymentVersionUnknown`,`deploymentVersionMismatch`,`deploymentVersionNotDeclaredCompatible`,n.compatibilityMap?.deploymentVersions)||w(e.rootBoundaryId,t.rootBoundaryId,`rootBoundaryIdUnknown`,`rootBoundaryIdMismatch`,`rootBoundaryIdNotDeclaredCompatible`,n.compatibilityMap?.rootBoundaryIds)||w(e.renderEpoch,t.renderEpoch,`renderEpochUnknown`,`renderEpochMismatch`,`renderEpochNotDeclaredCompatible`,n.compatibilityMap?.renderEpochs)||{kind:`compatible`}:C(`rscPayloadSchemaVersionMismatch`):C(`appElementsSchemaVersionMismatch`):C(`schemaVersionMismatch`)}var Pt=new WeakMap;function Ft(e,t){t.size!==0&&Pt.set(e,t)}function It(e,t){Pt.get(e)?.get(t)?.release()}function Lt(){let e=!1,t;return{promise:new Promise(e=>{t=e}),release(){e||(e=!0,t())}}}function Rt(e,t){if(t.length===0)return e;async function n(){return await Promise.all(t.map(e=>e.promise)),e}return(0,y.jsx)(n,{})}function zt(e,t){function n(){return t.release(),null}return(0,y.jsxs)(y.Fragment,{children:[e,(0,y.jsx)(n,{})]})}var Bt=`\0`,T=`__artifactCompatibility`,Vt=`__cacheEntryReuseProof`,E=`__dynamicStaleTime`,Ht=`__interception`,Ut=`__interceptionContext`,D=`__layoutIds`,O=`__layoutFlags`,Wt=`__renderObservation`,k=`__route`,A=`__rootLayout`,j=`__skippedLayoutIds`,Gt=`__sourcePage`,M=`__slotBindings`,Kt=`__staticSiblings`,qt=`__VINEXT_UNMATCHED_SLOT__`,Jt=Symbol.for(`vinext.unmatchedSlot`),Yt=new Set;function Xt(e){return new Set(e)}var Zt=Xt(`CP_CACHE_ENTRY_PROOF_MISSING.CP_MODEL_DISABLED.CP_ARTIFACT_COMPATIBILITY_INCOMPATIBLE.CP_ARTIFACT_COMPATIBILITY_UNKNOWN.CP_DIMENSION_COUNT_EXCEEDED.CP_DIMENSION_NAME_MISSING.CP_DIMENSION_NAME_TOO_LONG.CP_DIMENSION_VALUE_COUNT_EXCEEDED.CP_DIMENSION_VALUE_TOO_LONG.CP_DIMENSION_VALUES_MISSING.CP_ENCODED_VARIANT_TOO_LONG.CP_INVALID_VARIANT_BUDGET.CP_ROUTE_VARIANT_BUDGET_ROUTE_MISMATCH.CP_ROUTE_VARIANT_CEILING_EXCEEDED.CP_UNSAFE_PUBLIC_DIMENSION.CP_BOUNDARY_OUTCOME_MISMATCH.CP_BOUNDARY_OUTCOME_UNKNOWN.CP_PRIVATE_DYNAMIC_DOWNGRADE.CP_STATIC_LAYOUT_CANDIDATE_OUTPUT_KIND.CP_STATIC_LAYOUT_CURRENT_OUTPUT_KIND.CP_STATIC_LAYOUT_ID_MISMATCH.CP_STATIC_LAYOUT_OBSERVATION_OUTPUT_KIND.CP_STATIC_LAYOUT_OBSERVATION_OUTPUT_MISMATCH.CP_STATIC_LAYOUT_PRIVATE_DYNAMIC_DOWNGRADE.CP_STATIC_LAYOUT_REQUEST_API_OBSERVED.CP_STATIC_LAYOUT_REQUEST_API_UNKNOWN.CP_STATIC_LAYOUT_ROOT_BOUNDARY_MISMATCH.CP_STATIC_LAYOUT_ROOT_BOUNDARY_UNKNOWN.CP_STATIC_LAYOUT_VARIANT_DIMENSION_UNPROVEN`.split(`.`)),Qt=Et;function $t(e,t){return Qt(e.slotId,t.slotId)}function N(e,t={}){let n=t.layoutIds?new Set(t.layoutIds):null,r=new Set,i=[];for(let t of e){if(r.has(t.slotId))throw Error(`[vinext] Invalid __slotBindings in App Router payload: duplicate slot id`);if(r.add(t.slotId),n&&t.ownerLayoutId!==null&&!n.has(t.ownerLayoutId))throw Error(`[vinext] Invalid __slotBindings in App Router payload: owner layout id missing from __layoutIds`);i.push({...t})}return i.sort($t)}function P(e,t){return t===null?e:`${e}${Bt}${t}`}function en(e,t){return P(`route:${e}`,t)}function tn(e,t){return P(`page:${e}`,t)}function nn(e){return`layout:${e}`}function rn(e){return`template:${e}`}function an(e,t){return`slot:${e}:${t}`}function on(e,t){return P(e,t)}function sn(e){let t=e.indexOf(Bt),n=t===-1?e:e.slice(0,t);return n.startsWith(`/`)?{interceptionContext:t===-1?null:e.slice(t+1),path:n}:null}function cn(e){return e.startsWith(`/`)?e:null}function F(e){if(e.startsWith(`route:`)){let t=sn(e.slice(6));return t?{interceptionContext:t.interceptionContext,kind:`route`,path:t.path}:null}if(e.startsWith(`page:`)){let t=sn(e.slice(5));return t?{interceptionContext:t.interceptionContext,kind:`page`,path:t.path}:null}if(e.startsWith(`layout:`)){let t=cn(e.slice(7));return t?{kind:`layout`,treePath:t}:null}if(e.startsWith(`template:`)){let t=cn(e.slice(9));return t?{kind:`template`,treePath:t}:null}if(e.startsWith(`slot:`)){let t=e.slice(5),n=t.indexOf(`:`);if(n<=0)return null;let r=t.slice(0,n),i=cn(t.slice(n+1));return i?{kind:`slot`,name:r,treePath:i}:null}return null}function ln(e){if(!e.startsWith(`slot:`))return!1;let t=e.slice(5),n=t.indexOf(`:`);return n>0&&t.charCodeAt(n+1)===47}function un(e){let t=[...e.layoutIds??[]],n={[k]:e.routeId,[Ut]:e.interceptionContext,[D]:t,[A]:e.rootLayoutTreePath,...e.dynamicStaleTimeSeconds===void 0?{}:{[E]:e.dynamicStaleTimeSeconds},...e.sourcePage===null||e.sourcePage===void 0?{}:{[Gt]:e.sourcePage}},r=e.interception?{...n,[Ht]:e.interception}:n;return e.slotBindings&&e.slotBindings.length>0?{...r,[M]:N(e.slotBindings,{layoutIds:t})}:r}function dn(e){let t=!1;for(let[n,r]of Object.entries(e))if(ln(n)&&r===`__VINEXT_UNMATCHED_SLOT__`){t=!0;break}if(!t)return e;let n={};for(let[t,r]of Object.entries(e))n[t]=ln(t)&&r===`__VINEXT_UNMATCHED_SLOT__`?Jt:r;return n}function fn(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;for(let t of Object.values(e))if(t!==`s`&&t!==`d`)return!1;return!0}function pn(e){return fn(e)?e:{}}function mn(e,t){if(e===void 0)return[];if(!Array.isArray(e))throw Error(`[vinext] Invalid ${t} in App Router payload: expected layout id string[]`);let n=[];for(let r of e){if(typeof r!=`string`)throw Error(`[vinext] Invalid ${t} in App Router payload: expected layout id string[]`);if(F(r)?.kind!==`layout`)throw Error(`[vinext] Invalid ${t} in App Router payload: expected layout ids`);n.push(r)}return n}function hn(e){return mn(e,D)}function gn(e){return mn(e,j)}function _n(e){return e===`active`||e==="default"||e===`unmatched`}function vn(e,t={}){if(e===void 0)return[];if(!Array.isArray(e))throw Error(`[vinext] Invalid __slotBindings in App Router payload: expected array`);let n=[];for(let t of e){if(!m(t))throw Error(`[vinext] Invalid __slotBindings in App Router payload: expected objects`);let e=t.slotId;if(typeof e!=`string`||F(e)?.kind!==`slot`)throw Error(`[vinext] Invalid __slotBindings in App Router payload: expected slot ids`);let r=t.ownerLayoutId;if(r!==null&&(typeof r!=`string`||F(r)?.kind!==`layout`))throw Error(`[vinext] Invalid __slotBindings in App Router payload: expected owner layout ids`);let i=t.state;if(!_n(i))throw Error(`[vinext] Invalid __slotBindings in App Router payload: expected state`);let a=t.activeRouteId;if(a!=null&&(typeof a!=`string`||F(a)?.kind!==`route`))throw Error(`[vinext] Invalid __slotBindings in App Router payload: expected route ids`);n.push({...a===void 0?{}:{activeRouteId:a},ownerLayoutId:r,slotId:e,state:i})}return N(n,t)}function I(e,t){let n=e[t];if(typeof n!=`string`)throw Error(`[vinext] Invalid __interception in App Router payload: expected strings`);return n}function yn(e){if(!wt(e))throw Error(`[vinext] Invalid __interception in App Router payload: expected path URLs`);return e}function bn(e,t){let n=F(e);if(n?.kind!==`route`||n.path!==t||n.interceptionContext!==null)throw Error(`[vinext] Invalid __interception in App Router payload: expected route ids`);return e}function xn(e){if(F(e)?.kind!==`slot`)throw Error(`[vinext] Invalid __interception in App Router payload: expected slot id`);return e}function Sn(e){if(e==null)return null;if(!m(e))throw Error(`[vinext] Invalid __interception in App Router payload: expected object`);let t=yn(I(e,`sourceMatchedUrl`)),n=yn(I(e,`targetMatchedUrl`));return{sourceMatchedUrl:t,sourceRouteId:bn(I(e,`sourceRouteId`),t),slotId:xn(I(e,`slotId`)),targetMatchedUrl:n,targetRouteId:bn(I(e,`targetRouteId`),n)}}function Cn(e){return!(typeof e!=`object`||!e||Array.isArray(e)||(0,ae.isValidElement)(e))}function wn(e,t){return{...e,[O]:t}}function Tn(e){if(!Cn(e.element))return e.element;let t=En(e.skipDisposition),n={};for(let[r,i]of Object.entries(e.element)){if(t.has(r)){It(e.element,r);continue}n[r]=i===Jt?qt:i}return n[O]=e.layoutFlags,t.size>0&&(n[j]=[...t]),n[T]=e.artifactCompatibility??x(),e.cacheEntryReuseProof&&(n[Vt]=e.cacheEntryReuseProof),e.dynamicStaleTimeSeconds!==void 0&&(n[E]=e.dynamicStaleTimeSeconds),e.renderObservation&&(n[Wt]=e.renderObservation),n}function En(e){if(e?.enabled!==!0)return Yt;let t=new Set;for(let n of e.skippedEntryIds)F(n)?.kind===`layout`&&t.add(n);return t}function Dn(e){return e===void 0?x():At(e)??x()}function On(e){return e==null||typeof e!=`string`||!e.startsWith(`/`)?null:e}function kn(){return{kind:`runtime-cache-entry`,decision:null}}function An(e){return typeof e==`string`&&Zt.has(e)}function jn(e){return e===`renderFresh`||e===`privateUncacheable`}function Mn(e){return e===`affectedOutput`||e===`route`}function Nn(e){if(e===void 0)return null;if(!m(e)||e.kind!==`runtime-cache-entry`)return kn();let t=e.decision;return t===null||!m(t)?kn():t.kind===`reuse`&&t.canReuse===!0&&t.code===`CP_STATIC_LAYOUT_REUSE_PROVEN`&&t.reuseClass===`static-layout`?{kind:`runtime-cache-entry`,decision:{canReuse:!0,code:t.code,kind:`reuse`,reuseClass:t.reuseClass}}:t.kind===`reject`&&t.canReuse===!1&&An(t.code)&&jn(t.mode)&&Mn(t.scope)?{kind:`runtime-cache-entry`,decision:{canReuse:!1,code:t.code,kind:`reject`,mode:t.mode,scope:t.scope}}:kn()}function Pn(e){let t=e[k];if(typeof t!=`string`)throw Error(`[vinext] Missing __route string in App Router payload`);let n=e[Ut];if(n!=null&&typeof n!=`string`)throw Error(`[vinext] Invalid __interceptionContext in App Router payload`);let r=e[A];if(r===void 0)throw Error(`[vinext] Missing __rootLayout key in App Router payload`);if(r!==null&&typeof r!=`string`)throw Error(`[vinext] Invalid __rootLayout in App Router payload: expected string or null`);let i=pn(e[O]),a=hn(e[D]),o=gn(e[j]),s=vn(e[M],{layoutIds:a}),c=Sn(e[Ht]),l=Dn(e[T]),u=Nn(e[Vt]),d=e[E],f=typeof d==`number`&&Number.isFinite(d)&&d>=0?d:void 0,p=On(e[Gt]);return{artifactCompatibility:l,...u?{cacheEntryReuseProof:u}:{},...f===void 0?{}:{dynamicStaleTimeSeconds:f},interception:c,interceptionContext:n??null,layoutIds:a,layoutFlags:i,routeId:t,rootLayoutTreePath:r,skippedLayoutIds:o,slotBindings:s,sourcePage:p}}var Fn={keys:{artifactCompatibility:T,cacheEntryReuseProof:Vt,dynamicStaleTime:E,interception:Ht,interceptionContext:Ut,layoutIds:D,layoutFlags:O,renderObservation:Wt,rootLayout:A,route:k,skippedLayoutIds:j,slotBindings:M,sourcePage:Gt},unmatchedSlotValue:qt,createMetadataEntries:un,decode:dn,encodeCacheKey:on,encodeLayoutId:nn,encodeOutgoingPayload:Tn,encodePageId:tn,encodeRouteId:en,encodeSlotId:an,encodeTemplateId:rn,isSlotId:ln,parseElementKey:F,readMetadata:Pn,withLayoutFlags:wn},In=4096,Ln=256,Rn=16;function zn(e){return e.length===0||e.length>Ln?!1:Fn.isSlotId(e)}function Bn(e){if(!e||e.length>In)return null;let t=e.split(/\s+/).filter(e=>e&&zn(e));return t.length===0?null:Array.from(new Set(t)).sort().slice(0,Rn).join(` `)||null}var Vn=`navigation`,Hn=`prefetch-empty`,L=`prefetch-dynamic-shell`,R=`prefetch-loading-shell`;function Un(e){return e===`prefetch-empty`?`prefetch-empty`:e===`prefetch-dynamic-shell`?`prefetch-dynamic-shell`:e===`prefetch-loading-shell`?`prefetch-loading-shell`:null}function Wn(e){switch(e){case Hn:return Hn;case L:return L;case R:return R;default:return Vn}}var Gn=`__prefetchLoadingShell`,Kn=/[^\t\x20-\x7e]/,qn=/[^\t\x20-\x7e]+/g;function Jn(e){return Kn.test(e)?e.replace(qn,e=>encodeURIComponent(e)):e}function Yn(e){return e.map(Jn)}var Xn=Symbol.for(`vinext.cache.fallback`),Zn=globalThis,Qn=i(`vinext.cache.als`),$n=Zn[Xn]??={actionRevalidationKind:0,pendingRevalidatedTags:new Set,pendingRevalidations:new Set,requestScopedCacheLife:null,unstableCacheObservations:new Map,unstableCacheRevalidation:`foreground`};function z(){return r()?a():Qn.getStore()??$n}function er(){if(r()||Qn.getStore()!==void 0)return!0;let e=ot();return e===`action`||e===`route-handler`}function tr(e){if(!er())return!1;let t=z().pendingRevalidatedTags;return e.some(e=>t.has(e))}async function nr(){let e=z(),t=!1,n;for(;e.pendingRevalidations.size>0;){let r=[...e.pendingRevalidations];e.pendingRevalidations.clear();let i=await Promise.allSettled(r);for(let e of i)e.status===`rejected`&&!t&&(t=!0,n=e.reason)}if(t)throw n}function rr(e){let t=z();if(t.requestScopedCacheLife===null){t.requestScopedCacheLife={...e};return}e.stale!==void 0&&(t.requestScopedCacheLife.stale=t.requestScopedCacheLife.stale===void 0?e.stale:Math.min(t.requestScopedCacheLife.stale,e.stale)),e.revalidate!==void 0&&(t.requestScopedCacheLife.revalidate=t.requestScopedCacheLife.revalidate===void 0?e.revalidate:Math.min(t.requestScopedCacheLife.revalidate,e.revalidate)),e.expire!==void 0&&(t.requestScopedCacheLife.expire=t.requestScopedCacheLife.expire===void 0?e.expire:Math.min(t.requestScopedCacheLife.expire,e.expire))}function ir(){let e=z().requestScopedCacheLife;return e===null?null:{...e}}function ar(){let e=z(),t=e.requestScopedCacheLife;return e.requestScopedCacheLife=null,t}function or(){return[...z().unstableCacheObservations.values()].sort((e,t)=>e.keyHash.localeCompare(t.keyHash))}var sr=[`traceparent`,`tracestate`],cr=`v3`,B=1024*1024,V=31536e3,H=class extends Error{constructor(){super(`Fetch body too large for cache key generation`)}},U=class extends Error{constructor(){super(`Fetch body could not be serialized for cache key generation`)}};function lr(e,t){let n={};e instanceof Request&&e.headers&&e.headers.forEach((e,t)=>{n[t]=e}),t?.headers&&(t.headers instanceof Headers?t.headers:new Headers(t.headers)).forEach((e,t)=>{n[t]=e});for(let e of sr)delete n[e];return n}var ur=[`authorization`,`cookie`,`x-api-key`];function dr(e,t){let n=lr(e,t);return ur.some(e=>e in n)}async function fr(e,t,n){for(let[r,i]of e.entries()){if(typeof i==`string`){t(JSON.stringify([r,{kind:`string`,value:i}]));continue}if(i.size>B||n()+i.size>B)throw new H;t(JSON.stringify([r,{kind:`file`,name:i.name,type:i.type,value:await i.text()}]))}}function pr(e){let t=e?.split(`;`)[0]?.trim().toLowerCase();if(t===`multipart/form-data`||t===`application/x-www-form-urlencoded`)return t}function mr(e){let[t,...n]=e.split(`;`),r=n.map(e=>e.trim()).filter(Boolean).filter(e=>!/^boundary\s*=/i.test(e)),i=t.trim().toLowerCase();return r.length>0?`${i}; ${r.join(`; `)}`:i}async function hr(e){let t=e.headers.get(`content-length`);if(t){let e=Number(t);if(Number.isFinite(e)&&e>B)throw new H}let n=e.clone(),r=n.headers.get(`content-type`)??void 0,i=n.body?.getReader();if(!i)return{chunks:[],contentType:r};let a=[],o=0;try{for(;;){let{done:e,value:t}=await i.read();if(e)break;if(o+=t.byteLength,o>B)throw new H;a.push(t)}}catch(e){throw i.cancel().catch(()=>{}),e}return{chunks:a,contentType:r}}async function gr(e,t){if(!t?.body&&!(e instanceof Request&&e.body))return{bodyChunks:[]};let n=[],r=new TextEncoder,i=new TextDecoder,a=0,o,s=e=>{if(a+=r.encode(e).byteLength,a>B)throw new H;n.push(e)},c=()=>a;if(t?.body instanceof Uint8Array){if(t.body.byteLength>B)throw new H;s(i.decode(t.body)),t._ogBody=t.body}else if(t?.body&&typeof t.body.getReader==`function`){let[e,r]=t.body.tee();t._ogBody=r;let o=e.getReader();try{for(;;){let{done:e,value:t}=await o.read();if(e)break;if(typeof t==`string`)s(t);else{if(a+=t.byteLength,a>B)throw new H;n.push(i.decode(t,{stream:!0}))}}let e=i.decode();e&&s(e)}catch(e){throw await o.cancel(),e instanceof H?e:new U}}else if(t?.body instanceof URLSearchParams)t._ogBody=t.body,s(t.body.toString());else if(t?.body&&typeof t.body.keys==`function`){let e=t.body;t._ogBody=t.body,await fr(e,s,c)}else if(t?.body&&typeof t.body.arrayBuffer==`function`){let e=t.body;if(e.size>B)throw new H;s(await e.text());let n=await e.arrayBuffer();t._ogBody=new Blob([n],{type:e.type})}else if(typeof t?.body==`string`){if(t.body.length>B)throw new H;s(t.body),t._ogBody=t.body}else if(e instanceof Request&&e.body){let t,r;try{({chunks:t,contentType:r}=await hr(e))}catch(e){throw e instanceof H?e:new U}let a=pr(r);if(a)try{return await fr(await new Request(e.url,{method:e.method,headers:r?{"content-type":r}:void 0,body:new Blob(t)}).formData(),s,c),o=a===`multipart/form-data`&&r?mr(r):void 0,{bodyChunks:n,canonicalizedContentType:o}}catch(e){throw e instanceof H?e:new U}for(let e of t)s(i.decode(e,{stream:!0}));let l=i.decode();l&&s(l)}return{bodyChunks:n,canonicalizedContentType:o}}async function _r(e,t){let n,r=`GET`;typeof e==`string`?n=e:e instanceof URL?n=e.toString():(n=e.url,r=e.method||`GET`),t?.method&&(r=t.method);let i=lr(e,t),{bodyChunks:a,canonicalizedContentType:o}=await gr(e,t);o&&(i[`content-type`]=o);let s=JSON.stringify([cr,n,r,i,t?.mode,t?.redirect,t?.credentials,t?.referrer,t?.referrerPolicy,t?.integrity,t?.cache,a]),c=new TextEncoder().encode(s),l=await crypto.subtle.digest(`SHA-256`,c);return Array.prototype.map.call(new Uint8Array(l),e=>e.toString(16).padStart(2,`0`)).join(``)}var vr=Symbol.for(`vinext.fetchCache.pendingRefetches`),yr=globalThis,W=yr[vr]??=new Map,br=6e4,xr=Symbol.for(`vinext.fetchCache.originalFetch`),Sr=globalThis,G=Sr[xr]??=globalThis.fetch,Cr=Symbol.for(`vinext.fetchCache.fallback`),wr=globalThis,Tr=i(`vinext.fetchCache.als`),Er=()=>{},K;globalThis.FinalizationRegistry&&(K=new FinalizationRegistry(e=>{let t=e.deref();t&&!t.locked&&t.cancel(`Response object has been garbage collected`).then(Er,Er)}));var Dr=wr[Cr]??={cacheableFetchUrls:new Set,currentRequestTags:[],currentFetchSoftTags:[],currentFetchCacheMode:null,currentForceDynamicFetchDefault:!1,dynamicFetchUrls:new Set,refreshStaleFetchesInForeground:!1,isFetchDedupeActive:!1,currentFetchDedupeEntries:new Map};function q(){return r()?a():Tr.getStore()??Dr}function Or(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}function J(e){q().dynamicFetchUrls.add(Or(e))}function kr(e){J(e),ze()}function Ar(e){q().cacheableFetchUrls.add(Or(e))}function jr(e){Number.isFinite(e)&&e>0&&rr({revalidate:e})}function Mr(){return q().refreshStaleFetchesInForeground}async function Nr(e,t,n,r){if(e.status!==200)return null;let i=r?.cloneForReturn===!1?e:e.clone(),a=await i.text(),o={};return i.headers.forEach((e,t)=>{t.toLowerCase()!==`set-cookie`&&(o[t]=e)}),{kind:`FETCH`,data:{headers:o,body:a,url:e.url,status:i.status},tags:t,revalidate:n}}async function Pr(e,t,n,r,i,a){let o=await Nr(n,r,i,a);o&&await e.set(t,o,{fetchCache:!0,tags:r,revalidate:i})}async function Fr(e,t,n,r,i){if(!Number.isFinite(i)||i<=0||typeof n.revalidate!=`number`||n.revalidate<=i)return;let a=Array.from(new Set([...n.tags??[],...r])),o={...n,tags:a,revalidate:i};await e.set(t,o,{fetchCache:!0,tags:a,revalidate:i})}function Ir(){return[...q().cacheableFetchUrls].sort()}function Lr(){return[...q().dynamicFetchUrls].sort()}function Rr(){let e=q(),t=[...e.dynamicFetchUrls].sort();return e.dynamicFetchUrls=new Set,t}function zr(){return[...q().currentRequestTags]}function Br(e){q().currentFetchSoftTags=[...e]}function Vr(e){q().currentFetchCacheMode=e}function Hr(e){q().currentForceDynamicFetchDefault=e}function Ur(e){q().refreshStaleFetchesInForeground=e}function Wr(e,t){return e===`no-store`||e===`no-cache`||t?.revalidate===0}function Gr(e,t){return e===`force-cache`||t?.revalidate===!1||typeof t?.revalidate==`number`&&t.revalidate>0}function Kr(e){return e?.revalidate!==void 0}function qr(e){return!e?.revalidate}function Jr(e,t,n,r){if(r&&(!n||n===`auto`)&&(e===void 0||e==="default")&&qr(t))return`no-store`;if(!n||n===`auto`)return e;switch(n){case`force-cache`:return`force-cache`;case`force-no-store`:return`no-store`;case`only-cache`:if(Wr(e,t))throw Error('Route segment config `fetchCache = "only-cache"` conflicts with no-store fetch.');return e??`force-cache`;case`only-no-store`:if(Gr(e,t))throw Error('Route segment config `fetchCache = "only-no-store"` conflicts with cacheable fetch.');return e??`no-store`;case`default-cache`:return e??(Kr(t)?void 0:`force-cache`);case`default-no-store`:return e??(Kr(t)?void 0:`no-store`)}return e}function Yr(e,t){if(t?.cache!==void 0)return t.cache;if(!(!(e instanceof Request)||e.cache==="default"))return e.cache}function Xr(e){let t=Array.from(e.headers.entries()).filter(([e])=>!sr.includes(e.toLowerCase()));return JSON.stringify([e.method,t,e.mode,e.redirect,e.credentials,e.referrer,e.referrerPolicy,e.integrity])}function Zr(e,t){if(t?.signal)return null;let n=t?.method?.toUpperCase();if(n&&n!==`GET`&&n!==`HEAD`||t?.keepalive)return null;let r=typeof e==`string`||e instanceof URL?new Request(e,t):e;return r.method!==`GET`&&r.method!==`HEAD`||r.keepalive?null:{url:r.url,key:Xr(r)}}function Y(e,t){let n=new Response(e,{status:t.status,statusText:t.statusText,headers:new Headers(t.headers)});return Object.defineProperty(n,"url",{value:t.url,configurable:!0,enumerable:!0,writable:!1}),K&&n.body&&K.register(n,new WeakRef(n.body)),n}function Qr(e){if(!e.body)return[Y(null,e),Y(null,e)];let[t,n]=e.body.tee();return[Y(t,e),Y(n,e)]}function $r(e,t){let n=new Response(e.body,{status:e.status??200,headers:e.headers});return Object.defineProperty(n,"url",{value:e.url??Or(t),configurable:!0,enumerable:!0,writable:!1}),K&&n.body&&K.register(n,new WeakRef(n.body)),n}function X(e,t){let n=q();if(!n.isFetchDedupeActive)return G(e,t);let r=Zr(e,t);if(!r)return G(e,t);let i=n.currentFetchDedupeEntries,a=i.get(r.url);a||(a=[],i.set(r.url,a));for(let e of a)if(e.key===r.key)return e.promise.then(()=>{if(!e.response)throw Error(`[vinext] Missing deduped fetch response`);let[t,n]=Qr(e.response);return e.response=n,t});let o=G(e,t),s={key:r.key,promise:o,response:null};return a.push(s),o.then(e=>{let[t,n]=Qr(e);return s.response=n,t},e=>{let t=a.indexOf(s);throw t!==-1&&a.splice(t,1),e})}function ei(){return async function(e,t){let n=t?.next,r=Jr(Yr(e,t),n,q().currentFetchCacheMode,q().currentForceDynamicFetchDefault);if(!n&&!r)return J(e),X(e,t);if(r===`no-store`||r===`no-cache`||n?.revalidate===0){let n=Z(t,r);return kr(e),X(e,n)}if(!(r===`force-cache`||n?.revalidate===!1||typeof n?.revalidate==`number`&&n.revalidate>0)&&dr(e,t)){let n=Z(t,r);return J(e),X(e,n)}let i;if(r===`force-cache`)i=n?.revalidate&&typeof n.revalidate==`number`?n.revalidate:V;else if(n?.revalidate===!1)i=V;else if(typeof n?.revalidate==`number`&&n.revalidate>0)i=n.revalidate;else if(n?.tags&&n.tags.length>0)i=V;else{let n=Z(t,r);return J(e),X(e,n)}Ar(e),jr(i);let a=q().currentRequestTags,o=Yn(n?.tags??[]);if(o.length>0)for(let e of o)a.includes(e)||a.push(e);let s=q().currentFetchSoftTags,c=Z(t,r),l;try{l=await _r(e,c),c=Z(c,r)}catch(t){if(t instanceof H||t instanceof U)return c=Z(c,r),J(e),X(e,c);throw t}let u=_(),d=tr([...o,...s]);try{let t=d?null:await u.get(l,{kind:`FETCH`,tags:o,softTags:s,revalidate:i});if(t?.value?.kind===`FETCH`&&tr([...t.value.tags??[],...o,...s])&&(d=!0,t=null),t?.value&&t.value.kind===`FETCH`&&t.cacheState!==`stale`){await Fr(u,l,t.value,o,i);let n=t.value.data;return $r(n,e)}if(t?.value&&t.value.kind===`FETCH`&&t.cacheState===`stale`){if(Mr()){let t=await X(e,c);return await Pr(u,l,t,o,i),t}let n=t.value.data;if(!W.has(l)){let t=G(e,c).then(async e=>{await Pr(u,l,e,o,i,{cloneForReturn:!1})}).catch(t=>{let n=typeof e==`string`?e:e instanceof URL?e.toString():e.url;console.error(`[vinext] fetch cache background revalidation failed for ${n} (key=${l.slice(0,12)}...):`,t)}).finally(()=>{W.get(l)===t&&W.delete(l),clearTimeout(n)});W.set(l,t);let n=setTimeout(()=>{W.get(l)===t&&W.delete(l)},br);te()?.waitUntil(t)}return $r(n,e)}}catch(e){console.error(`[vinext] fetch cache read error:`,e)}let f=await(d?G(e,c):X(e,c)),p=await Nr(f,o,i);return p&&u.set(l,p,{fetchCache:!0,tags:o,revalidate:i}).catch(e=>{console.error(`[vinext] fetch cache write error:`,e)}),f}}function Z(e,t){if(!e)return t===void 0?void 0:{cache:t};let{next:n,_ogBody:r,...i}=e;return t!==void 0&&(i.cache=t),r!==void 0&&(i.body=r),Object.keys(i).length>0?i:void 0}var ti=Symbol.for(`vinext.fetchCache.patchInstalled`);function ni(){wr[ti]||(wr[ti]=!0,globalThis.fetch=ei())}function ri(e){ni();let t=q();return t.isFetchDedupeActive?e():r()?o(e=>{e.isFetchDedupeActive=!0,e.currentFetchDedupeEntries=new Map},e):Tr.run({...t,isFetchDedupeActive:!0,currentFetchDedupeEntries:new Map},e)}function ii(){ni()}function ai(){}var Q=`_rsc`,oi=`X-Vinext-RSC-Compatibility-Id`,si=`text/x-component`,ci=[`RSC`,f,c,p,u,ie,re,s].join(`, `),li=12,ui=new TextEncoder;function di(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/,``)}function fi(e){return e??`0`}function pi(e){return e&&e.length>0?e:null}function mi(){return pi(`0f01a76b-2e9c-4417-887f-ef74be791cea`)}function hi(e,t=mi()){let n=pi(t);n?e.set(oi,n):e.delete(oi)}function gi(e){e.delete(ne)}function _i(e){let t=Wn(e);return t===`navigation`?null:t}function $(e,t={}){let n=[e.get(c),e.get(p),e.get(f),e.get(u),e.get(ie),e.get(re),...t.includeRenderModeHeader===!1?[]:[_i(e.get(s))]];return n.every(e=>e===null)?null:n.map(fi).join(`,`)}async function vi(e){let t=await globalThis.crypto.subtle.digest(`SHA-256`,ui.encode(e));return di(new Uint8Array(t).subarray(0,li))}function yi(e){let t=$(e);return t===null?``:b(t)}async function bi(e){let t=$(e,{includeRenderModeHeader:!1});return t===null?null:vi(t)}function xi(e){let t=$(e,{includeRenderModeHeader:!1});return t===null?null:b(t)}function Si(e){return(e.search.startsWith(`?`)?e.search.slice(1):e.search).split(`&`).filter(e=>e.length>0&&!Ci(e))}function Ci(e){let t=e.indexOf(`=`),n=t===-1?e:e.slice(0,t);try{return decodeURIComponent(n.replaceAll(`+`,` `))===Q}catch{return n===Q}}function wi(e){return(e.search.startsWith(`?`)?e.search.slice(1):e.search).split(`&`).some(e=>e.length>0&&Ci(e))}async function Ti(e){let t=$(e);return t===null?``:vi(t)}function Ei(e,t){let n=Si(e);n.push(t.length>0?`${Q}=${t}`:Q),e.search=`?${n.join(`&`)}`}function Di(e){let t=Si(e);e.search=t.length>0?`?${t.join(`&`)}`:``}function Oi(e){return e.endsWith(`.rsc`)?e.slice(0,-4):e}function ki(e){let t=e.indexOf(`#`);return t===-1?e:e.slice(0,t)}async function Ai(e,t){let n=new URL(ki(e),`http://vinext.local`);return Ei(n,await Ti(t)),`${n.pathname}${n.search}`}async function ji(e,t){let n=new URL(t.url),r=new URL(e,n);if(r.origin!==n.origin)return r.toString();let i=await Ai(`${r.pathname}${r.search}`,t.headers);return`${r.origin}${i}`}async function Mi(e){if(!e.isRscRequest||e.request.method!==`GET`&&e.request.method!==`HEAD`)return null;let t=new URL(e.request.url),n=t.searchParams.get(Q),r=await Ti(e.request.headers);if(n===null&&r===``&&t.pathname.endsWith(`.rsc`))return null;let i=new Set([r]);if(n!==null&&n!==r&&(i.add(yi(e.request.headers)),_i(e.request.headers.get(`X-Vinext-Rsc-Render-Mode`))===null)){let t=await bi(e.request.headers),n=xi(e.request.headers);t!==null&&i.add(t),n!==null&&i.add(n)}return n!==null&&i.has(n)?null:(Ei(t,r),new Response(null,{status:307,headers:{Location:`${t.pathname}${t.search}`}}))}var Ni=new Set([`set-cookie`,`vary`]);function Pi(e,t){let n=e.get(`Vary`),r=(n?`${n}, ${t}`:t).split(`,`).map(e=>e.trim()).filter(e=>e.length>0);if(r.some(e=>e===`*`)){e.set(`Vary`,`*`);return}let i=new Set,a=[];for(let e of r){let t=e.toLowerCase();i.has(t)||(i.add(t),a.push(e))}e.set(`Vary`,a.join(`, `))}function Fi(e,t){if(t)for(let[n,r]of t){if(n.toLowerCase()===`vary`){Pi(e,r);continue}if(Ni.has(n.toLowerCase())){e.append(n,r);continue}e.set(n,r)}}var Ii=`private, no-cache, no-store, max-age=0, must-revalidate`,Li=`public, max-age=0, must-revalidate`,Ri=`s-maxage=31536000, stale-while-revalidate`,zi=`s-maxage=0, stale-while-revalidate`,Bi=`no-store, must-revalidate`,Vi=/(?:^|,)\s*s-maxage\s*=/i;function Hi(){return process.env.VINEXT_NEXT_DEPLOY_CACHE_CONTROL===`1`}function Ui(e){return Vi.test(e)}function Wi(e,t){if(e.delete(`Cache-Control`),Hi()&&Ui(t.cacheControl)){e.set(`Cache-Control`,Li);return}let n=Ct().buildResponseHeaders(t);for(let[t,r]of Object.entries(n)){if(r===null){e.delete(t);continue}r!==``&&e.set(t,r)}}function Gi(e,t){return e===!1?Ri:t===void 0?`s-maxage=${e}, stale-while-revalidate`:e>=t?`s-maxage=${e}`:`s-maxage=${e}, stale-while-revalidate=${t-e}`}function Ki(e,t,n){return t===!1||t===1/0?Ri:e===`STALE`&&n===void 0?zi:Gi(t,n)}function qi(e){return e===`STATIC`?`HIT`:e}function Ji(e,t){e.set(l,t),e.set(d,qi(t))}export{zt as $,Ur as A,ve as At,R as B,zr as C,He as Ct,Vr as D,We as Dt,ri as E,et as Et,Jn as F,A as G,Wn as H,Gn as I,Cn as J,Kt as K,Vn as L,nr as M,ir as N,Br as O,Ne as Ot,or as P,Rt as Q,L as R,ii as S,Ge as St,Lr as T,ct as Tt,Bn as U,Un as V,D as W,Lt as X,N as Y,Ft as Z,Mi as _,ht as _t,Wi as a,wt as at,ai as b,rt as bt,Fi as c,Ct as ct,si as d,qe as dt,Dt as et,ci as f,gt as ft,wi as g,ut as gt,ji as h,st as ht,Ri as i,At as it,ar as j,m as jt,Hr as k,Me as kt,Pi as l,nt as lt,gi as m,pt as mt,Ii as n,Ot as nt,Ki as o,Tt as ot,hi as p,dt as pt,Fn as q,Bi as r,Nt as rt,Gi as s,b as st,Ji as t,x as tt,Q as u,tt as ut,Di as v,ze as vt,Ir as w,at as wt,Rr as x,Ke as xt,Oi as y,Ue as yt,Hn as z};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./framework~index~layout~layout~page~page~page~layout~page~app-page-cache-render~app-page-cac~nvd6h53m-ydvR7YSg.js";import{a as r,c as i,i as a,s as o}from"./unified-request-context-CgIMz2dD.js";import{D as s,f as c,g as l,h as u,l as d,m as f,p,r as ee,t as te,u as ne,x as re,y as ie}from"./request-context-C1ZJzkex.js";function m(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ae=e(t(),1);function oe(e,t){let n=e?.[t];return m(n)?n:void 0}function se(e,t){let n=oe(e,`cacheControl`)?.[t]??e?.[t];return typeof n==`number`?n:void 0}function ce(e){let t=oe(e,`cacheControl`)?.revalidate??e?.revalidate;return typeof t==`number`||t===!1?t:void 0}var le=50*1024*1024,ue=1e4;function de(e){if(!e)return 0;let t=0;for(let[n,r]of Object.entries(e))if(t+=n.length,Array.isArray(r))for(let e of r)t+=e.length;else t+=r.length;return t}function fe(e){if(e===null)return 25;switch(e.kind){case`FETCH`:return JSON.stringify(e.data??``).length;case`PAGES`:return e.html.length+JSON.stringify(e.pageData??{}).length+de(e.headers);case`APP_PAGE`:return e.html.length+(e.rscData?.byteLength??0)+(e.postponed?.length??0)+de(e.headers);case`APP_ROUTE`:return e.body.byteLength+de(e.headers);case`REDIRECT`:return JSON.stringify(e.props??{}).length;case`IMAGE`:return e.buffer.byteLength+e.extension.length+e.etag.length;default:return JSON.stringify(e).length}}function pe(e){return typeof e==`number`?e:typeof e?.cacheMaxMemorySize==`number`?e.cacheMaxMemorySize:typeof e?.maxMemoryCacheSize==`number`?e.maxMemoryCacheSize:le}function me(e,t){let n=e?.[t];return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}function he(e,t){let n=e?.[t];return typeof n==`number`&&n>0?n:void 0}var ge=class{store=new Map;tagRevalidatedAt=new Map;maxMemoryCacheSize;currentMemoryCacheSize=0;constructor(e){this.maxMemoryCacheSize=pe(e)}estimateEntrySize(e){return fe(e.value)+e.tags.reduce((e,t)=>e+t.length,0)+64}deleteEntry(e){let t=this.store.get(e);t&&(this.currentMemoryCacheSize-=this.estimateEntrySize(t),this.store.delete(e))}touchEntry(e,t){this.store.delete(e),this.store.set(e,t)}evictLeastRecentlyUsed(){for(;this.maxMemoryCacheSize>0&&this.currentMemoryCacheSize>this.maxMemoryCacheSize;){let e=this.store.keys().next().value;if(e===void 0)return;this.deleteEntry(e)}}async get(e,t){let n=this.store.get(e);if(!n)return null;for(let t of n.tags){let r=this.tagRevalidatedAt.get(t);if(r&&r>=n.lastModified)return this.deleteEntry(e),null}for(let e of me(t,`softTags`)){let t=this.tagRevalidatedAt.get(e);if(t&&t>=n.lastModified)return null}this.touchEntry(e,n);let r=Date.now();if(n.expireAt!==null&&r>n.expireAt)return{lastModified:n.lastModified,value:n.value,cacheState:`expired`,cacheControl:n.cacheControl};let i=he(t,`revalidate`),a=i===void 0?null:n.lastModified+i*1e3;return n.revalidateAt!==null&&r>n.revalidateAt||a!==null&&r>a?{lastModified:n.lastModified,value:n.value,cacheState:`stale`,cacheControl:n.cacheControl}:{lastModified:n.lastModified,value:n.value,cacheControl:n.cacheControl}}async set(e,t,n){let r=new Set;if(t&&`tags`in t&&Array.isArray(t.tags))for(let e of t.tags)r.add(e);for(let e of me(n,`tags`))r.add(e);let i=[...r],a=ce(n),o=se(n,`expire`);if(t&&`revalidate`in t&&typeof t.revalidate==`number`?a=t.revalidate:t&&`revalidate`in t&&t.revalidate===!1&&(a??=!1),a===0)return;let s=Date.now(),c=typeof a==`number`&&a>0?s+a*1e3:null,l=typeof o==`number`&&o>0?s+o*1e3:null,u=typeof a==`number`||a===!1?o===void 0?{revalidate:a}:{revalidate:a,expire:o}:void 0;if(this.maxMemoryCacheSize===0)return;let d={value:t,tags:i,lastModified:s,revalidateAt:c,expireAt:l,cacheControl:u},f=this.estimateEntrySize(d);if(f>this.maxMemoryCacheSize){this.deleteEntry(e);return}this.deleteEntry(e),this.store.set(e,d),this.currentMemoryCacheSize+=f,this.evictLeastRecentlyUsed()}async revalidateTag(e){let t=Array.isArray(e)?e:[e],n=Date.now();for(let e of t)for(this.tagRevalidatedAt.set(e,n);this.tagRevalidatedAt.size>ue;){let e=this.tagRevalidatedAt.keys().next().value;if(e===void 0)break;this.tagRevalidatedAt.delete(e)}}resetRequestCache(){}},h=Symbol.for(`vinext.cacheHandler`),g=globalThis;function _e(){return g[h]??(g[h]=new ge)}function ve(e){let t=g[h];t&&!(t instanceof ge)||(g[h]=new ge(e))}function _(){return _e()}var ye=class extends Error{constructor(e,t){super(`Route ${e} used ${t} during prerendering but the render was aborted. This is expected when prerendering is cut short (e.g. due to a dynamic access).`),this.name=`HangingPromiseRejectionError`}},be=new WeakMap;function xe(){}function Se(e,t,n){if(e.aborted){let e=Promise.reject(new ye(t,n));return e.catch(xe),e}let r=new Promise((r,i)=>{let a=i.bind(null,new ye(t,n)),o=be.get(e);if(o)o.push(a);else{let t=[a];be.set(e,t),e.addEventListener(`abort`,()=>{for(let e=0;e<t.length;e++)t[e]();t.length=0},{once:!0})}});return r.catch(xe),r}var Ce=i(`vinext.pprFallbackShell.als`),we=i(`vinext.pprFallbackShell.cacheTaskStack.als`);function Te(){}function Ee(e){let t=setTimeout(()=>{t=null,n=setTimeout(()=>{n=null,e()},0)},0),n=null;return()=>{t!==null&&(clearTimeout(t),t=null),n!==null&&(clearTimeout(n),n=null)}}function De(e){if(e.pendingCacheTasks!==0)return;let t=e.cacheReadyResolvers.splice(0);for(let e of t)e()}function Oe(e){e.pendingCacheTasks!==0||e.pendingCacheReadyCleanup!==null||(e.pendingCacheReadyCleanup=Ee(()=>{e.pendingCacheReadyCleanup=null,De(e),e.phase===`final`&&ke(e)}))}function ke(e){e.phase!==`final`||!e.isFinalRenderStarted||!e.hasDynamicBoundary||e.pendingCacheTasks>0||e.pendingCacheReadyCleanup!==null||e.isAbortScheduled||(e.isAbortScheduled=!0,e.pendingAbortCleanup=Ee(()=>{e.pendingAbortCleanup=null,e.isAbortScheduled=!1,e.phase===`final`&&e.hasDynamicBoundary&&e.pendingCacheTasks===0&&e.pendingCacheReadyCleanup===null&&!e.reactAbortController.signal.aborted&&(e.reactAbortController.abort(),e.abortController.abort())}))}function Ae(e,t){t.isPending&&(t.isPending=!1,t.epoch===e.cacheEpoch&&(e.pendingCacheTasks--,Oe(e)))}function je(e,t){!t.isPending||t.isIgnored||(t.isIgnored=!0,Ae(e,t))}function Me(){return Ce.getStore()??null}function Ne(e,t){Pe(e),e.phase===`final`&&ke(e);let n=Se(e.abortController.signal,e.routePattern,t);return n.catch(Te),n}function Pe(e){e.hasDynamicBoundary=!0;for(let t of we.getStore()??[])je(e,t);Oe(e)}var Fe=Symbol.for(`vinext.nextHeadersShim.fallback`),Ie=globalThis,Le=i(`vinext.nextHeadersShim.als`),Re=Ie[Fe]??={headersContext:null,dynamicUsageDetected:!1,renderRequestApiUsage:new Set,connectionProbe:null,invalidDynamicUsageError:null,pendingSetCookies:[],draftModeCookieHeader:null,phase:`render`};function v(){return r()?a():Le.getStore()??Re}function ze(){let e=v();e.headersContext?.forceStatic||(e.dynamicUsageDetected=!0,Be(e,e=>{e.dynamicUsageDetected=!0}))}function Be(e,t){let n=e.connectionProbe?.dynamicUsageTarget??null,r=new Set([e]);for(;n&&!r.has(n);)r.add(n),t(n),n=n.connectionProbe?.dynamicUsageTarget??null}function Ve(e,t){Be(e,e=>{e.invalidDynamicUsageError??=t})}async function He(e){let t=async t=>({result:await e(),dynamicDetected:t.dynamicUsageDetected});if(r()){let e=null;return await o(t=>{t.dynamicUsageDetected=!1,e=t},()=>{if(!e)throw Error(`Dynamic usage scope was not initialized`);return t(e)})}let n={...v(),dynamicUsageDetected:!1};return await Le.run(n,()=>t(n))}function Ue(e){v().renderRequestApiUsage.add(e)}function We(){let e=v().headersContext?.accessError;if(e)throw e}async function Ge(e){let t=v(),n=t.invalidDynamicUsageError,i=()=>{},a=new Promise(e=>{i=()=>e({completed:!1})}),s={active:!0,dynamicUsageTarget:t,interrupted:!1,interrupt(){s.interrupted||(s.interrupted=!0,i())},pending:new Promise(()=>{})},c=async r=>{try{let t=Promise.resolve().then(e).then(e=>({completed:!0,result:e}));return await Promise.race([t,a])}finally{s.active=!1,r.connectionProbe=t.connectionProbe??s,r.dynamicUsageDetected&&(t.dynamicUsageDetected=!0),r.invalidDynamicUsageError!==n&&t.invalidDynamicUsageError===n&&(t.invalidDynamicUsageError=r.invalidDynamicUsageError)}};if(r()){let e=null;return await o(t=>{t.connectionProbe=s,e=t},()=>{if(!e)throw Error(`Connection probe scope was not initialized`);return c(e)})}let l={...t,connectionProbe:s};return await Le.run(l,()=>c(l))}function Ke(){return[...v().renderRequestApiUsage].sort()}function qe(){let e=v(),t=[...e.renderRequestApiUsage].sort();return e.renderRequestApiUsage=new Set,t}var Je=Symbol.for(`vinext.cacheRuntime.contextAls`),Ye=Symbol.for(`vinext.unstableCache.als`);function Xe(e){let t=Reflect.get(globalThis,e);if(!t||typeof t!=`object`)return null;let n=Reflect.get(t,`getStore`);return typeof n==`function`?{getStore:()=>n.call(t)}:null}function Ze(){let e=Xe(Je)?.getStore();return!e||typeof e!=`object`?null:e}function Qe(){let e=Ze();return e!==null&&e.variant!==`private`}function $e(){return Xe(Ye)?.getStore()===!0}function et(e){if(Qe()){let t=Error(`\`${e}\` cannot be called inside "use cache". If you need this data inside a cached function, call \`${e}\` outside and pass the required data as an argument.`);try{let e=Ze();e&&(e.invalidDynamicUsageError=t);let n=a();n&&(n.invalidDynamicUsageError=t),Ve(v(),t)}catch{}throw t}if($e()){let t=Error(`\`${e}\` cannot be called inside a function cached with \`unstable_cache()\`. If you need this data inside a cached function, call \`${e}\` outside and pass the required data as an argument.`);try{let e=a();e&&(e.invalidDynamicUsageError=t),Ve(v(),t)}catch{}throw t}}function tt(){let e=v(),t=e.invalidDynamicUsageError;return e.invalidDynamicUsageError=null,t}function nt(){let e=v(),t=e.dynamicUsageDetected;return e.dynamicUsageDetected=!1,t}function rt(){return v().dynamicUsageDetected}function it(e,t){let n=e.phase;return n===`action`&&t===`render`&&e.headersContext?.mutableCookies?.[_t](),e.phase=t,n}function at(e){return it(v(),e)}function ot(){return v().phase}function st(){return v().headersContext}function ct(e){let t=v();e===null?(t.headersContext=null,t.phase=`render`):(t.headersContext=e,t.dynamicUsageDetected=!1,t.renderRequestApiUsage=new Set,t.pendingSetCookies=[],t.draftModeCookieHeader=null,t.phase=`render`)}var lt=new Set([`set`,`delete`,`append`]);function ut(e,t){let n=null,r=new Proxy(e.headers,{get(e,t){let r=n??e;if(typeof t==`string`&<.has(t))return(...r)=>(n||=new Headers(e),n[t](...r));let i=Reflect.get(r,t,r);return typeof i==`function`?i.bind(r):i}}),i=null;function a(){return i||(i=ee(r.get(`cookie`)||``),i)}return{headers:r,get cookies(){return a()},draftModeSecret:t?.draftModeSecret}}function dt(){let e=v(),t=e.pendingSetCookies;return e.pendingSetCookies=[],t}var ft=`__prerender_bypass`;function pt(){let e=v(),t=e.draftModeCookieHeader;return e.draftModeCookieHeader=null,t}function mt(e){if(e.length===0)throw Error(`[vinext] draft mode secret must be a non-empty string.`);return e}function ht(e,t){let n=e.headers.get(`cookie`);return n?ee(n).get(ft)===mt(t):!1}function gt(){let e=v().headersContext;if(!e)return null;if(e.draftModeEnabled!==void 0)return e.draftModeEnabled;let t=e.draftModeSecret;return t!==void 0&&e.cookies.get(ft)===mt(t)}var _t=Symbol(`vinext.synchronize-request-cookies`),y=n(),vt=`no-store, must-revalidate`,yt=class{ownsBackgroundRevalidation=!0;async get(e,t){return _().get(e,t)}async set(e,t,n){await _().set(e,t,n)}buildResponseHeaders(e){return e.pendingDynamicCheck?{"Cache-Control":vt}:{"Cache-Control":e.cacheControl}}async revalidateTag(e,t){}},bt=Symbol.for(`vinext.cdnCacheAdapter`),xt=globalThis,St=null;function Ct(){return xt[bt]||(St??=new yt)}function b(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=t*16777619>>>0;let n=84696351;for(let t=0;t<e.length;t++)n^=e.charCodeAt(t),n=n*16777619>>>0;return t.toString(16).padStart(8,`0`)+n.toString(16).padStart(8,`0`)}function wt(e){return e.startsWith(`/`)&&!e.startsWith(`//`)&&!e.includes(`?`)&&!e.includes(`#`)&&!e.includes(`\0`)}function Tt(e){if(e===`/`||e.length>1&&e[0]===`/`&&!e.includes(`//`)&&!e.includes(`/./`)&&!e.includes(`/../`)&&!e.endsWith(`/.`)&&!e.endsWith(`/..`))return e;let t=e.split(`/`),n=[];for(let e of t)e===``||e===`.`||(e===`..`?n.pop():n.push(e));return`/`+n.join(`/`)}var Et=(e,t)=>e<t?-1:+(e>t),Dt=[`schemaVersion`,`graphVersion`,`deploymentVersion`,`appElementsSchemaVersion`,`rscPayloadSchemaVersion`,`rootBoundaryId`,`renderEpoch`];function x(e={}){return{schemaVersion:1,graphVersion:e.graphVersion??null,deploymentVersion:e.deploymentVersion??null,appElementsSchemaVersion:1,rscPayloadSchemaVersion:1,rootBoundaryId:e.rootBoundaryId??null,renderEpoch:e.renderEpoch??null}}function Ot(e){return`app-route-graph:${b(JSON.stringify([e.routePattern,e.rootBoundaryId]))}`}function S(e){return typeof e==`string`||e===null}function kt(e){return e.schemaVersion===1&&e.appElementsSchemaVersion===1&&e.rscPayloadSchemaVersion===1}function At(e){return!m(e)||!kt(e)||!S(e.graphVersion)||!S(e.deploymentVersion)||!S(e.rootBoundaryId)||!S(e.renderEpoch)?null:{schemaVersion:1,graphVersion:e.graphVersion,deploymentVersion:e.deploymentVersion,appElementsSchemaVersion:1,rscPayloadSchemaVersion:1,rootBoundaryId:e.rootBoundaryId,renderEpoch:e.renderEpoch}}function C(e){return{kind:`incompatible`,fallback:`renderFresh`,reason:e}}function jt(e){return{kind:`unknown`,fallback:`renderFresh`,reason:e}}function w(e,t,n,r,i,a){return e===null||t===null?jt(n):e===t?null:a===void 0?C(r):Mt(e,t,a)?null:C(i)}function Mt(e,t,n){return n.some(n=>n.includes(e)&&n.includes(t))}function Nt(e,t,n={}){return e.schemaVersion===t.schemaVersion?e.appElementsSchemaVersion===t.appElementsSchemaVersion?e.rscPayloadSchemaVersion===t.rscPayloadSchemaVersion?w(e.graphVersion,t.graphVersion,`graphVersionUnknown`,`graphVersionMismatch`,`graphVersionNotDeclaredCompatible`,n.compatibilityMap?.graphVersions)||w(e.deploymentVersion,t.deploymentVersion,`deploymentVersionUnknown`,`deploymentVersionMismatch`,`deploymentVersionNotDeclaredCompatible`,n.compatibilityMap?.deploymentVersions)||w(e.rootBoundaryId,t.rootBoundaryId,`rootBoundaryIdUnknown`,`rootBoundaryIdMismatch`,`rootBoundaryIdNotDeclaredCompatible`,n.compatibilityMap?.rootBoundaryIds)||w(e.renderEpoch,t.renderEpoch,`renderEpochUnknown`,`renderEpochMismatch`,`renderEpochNotDeclaredCompatible`,n.compatibilityMap?.renderEpochs)||{kind:`compatible`}:C(`rscPayloadSchemaVersionMismatch`):C(`appElementsSchemaVersionMismatch`):C(`schemaVersionMismatch`)}var Pt=new WeakMap;function Ft(e,t){t.size!==0&&Pt.set(e,t)}function It(e,t){Pt.get(e)?.get(t)?.release()}function Lt(){let e=!1,t;return{promise:new Promise(e=>{t=e}),release(){e||(e=!0,t())}}}function Rt(e,t){if(t.length===0)return e;async function n(){return await Promise.all(t.map(e=>e.promise)),e}return(0,y.jsx)(n,{})}function zt(e,t){function n(){return t.release(),null}return(0,y.jsxs)(y.Fragment,{children:[e,(0,y.jsx)(n,{})]})}var Bt=`\0`,T=`__artifactCompatibility`,Vt=`__cacheEntryReuseProof`,E=`__dynamicStaleTime`,Ht=`__interception`,Ut=`__interceptionContext`,D=`__layoutIds`,O=`__layoutFlags`,Wt=`__renderObservation`,k=`__route`,A=`__rootLayout`,j=`__skippedLayoutIds`,Gt=`__sourcePage`,M=`__slotBindings`,Kt=`__staticSiblings`,qt=`__VINEXT_UNMATCHED_SLOT__`,Jt=Symbol.for(`vinext.unmatchedSlot`),Yt=new Set;function Xt(e){return new Set(e)}var Zt=Xt(`CP_CACHE_ENTRY_PROOF_MISSING.CP_MODEL_DISABLED.CP_ARTIFACT_COMPATIBILITY_INCOMPATIBLE.CP_ARTIFACT_COMPATIBILITY_UNKNOWN.CP_DIMENSION_COUNT_EXCEEDED.CP_DIMENSION_NAME_MISSING.CP_DIMENSION_NAME_TOO_LONG.CP_DIMENSION_VALUE_COUNT_EXCEEDED.CP_DIMENSION_VALUE_TOO_LONG.CP_DIMENSION_VALUES_MISSING.CP_ENCODED_VARIANT_TOO_LONG.CP_INVALID_VARIANT_BUDGET.CP_ROUTE_VARIANT_BUDGET_ROUTE_MISMATCH.CP_ROUTE_VARIANT_CEILING_EXCEEDED.CP_UNSAFE_PUBLIC_DIMENSION.CP_BOUNDARY_OUTCOME_MISMATCH.CP_BOUNDARY_OUTCOME_UNKNOWN.CP_PRIVATE_DYNAMIC_DOWNGRADE.CP_STATIC_LAYOUT_CANDIDATE_OUTPUT_KIND.CP_STATIC_LAYOUT_CURRENT_OUTPUT_KIND.CP_STATIC_LAYOUT_ID_MISMATCH.CP_STATIC_LAYOUT_OBSERVATION_OUTPUT_KIND.CP_STATIC_LAYOUT_OBSERVATION_OUTPUT_MISMATCH.CP_STATIC_LAYOUT_PRIVATE_DYNAMIC_DOWNGRADE.CP_STATIC_LAYOUT_REQUEST_API_OBSERVED.CP_STATIC_LAYOUT_REQUEST_API_UNKNOWN.CP_STATIC_LAYOUT_ROOT_BOUNDARY_MISMATCH.CP_STATIC_LAYOUT_ROOT_BOUNDARY_UNKNOWN.CP_STATIC_LAYOUT_VARIANT_DIMENSION_UNPROVEN`.split(`.`)),Qt=Et;function $t(e,t){return Qt(e.slotId,t.slotId)}function N(e,t={}){let n=t.layoutIds?new Set(t.layoutIds):null,r=new Set,i=[];for(let t of e){if(r.has(t.slotId))throw Error(`[vinext] Invalid __slotBindings in App Router payload: duplicate slot id`);if(r.add(t.slotId),n&&t.ownerLayoutId!==null&&!n.has(t.ownerLayoutId))throw Error(`[vinext] Invalid __slotBindings in App Router payload: owner layout id missing from __layoutIds`);i.push({...t})}return i.sort($t)}function P(e,t){return t===null?e:`${e}${Bt}${t}`}function en(e,t){return P(`route:${e}`,t)}function tn(e,t){return P(`page:${e}`,t)}function nn(e){return`layout:${e}`}function rn(e){return`template:${e}`}function an(e,t){return`slot:${e}:${t}`}function on(e,t){return P(e,t)}function sn(e){let t=e.indexOf(Bt),n=t===-1?e:e.slice(0,t);return n.startsWith(`/`)?{interceptionContext:t===-1?null:e.slice(t+1),path:n}:null}function cn(e){return e.startsWith(`/`)?e:null}function F(e){if(e.startsWith(`route:`)){let t=sn(e.slice(6));return t?{interceptionContext:t.interceptionContext,kind:`route`,path:t.path}:null}if(e.startsWith(`page:`)){let t=sn(e.slice(5));return t?{interceptionContext:t.interceptionContext,kind:`page`,path:t.path}:null}if(e.startsWith(`layout:`)){let t=cn(e.slice(7));return t?{kind:`layout`,treePath:t}:null}if(e.startsWith(`template:`)){let t=cn(e.slice(9));return t?{kind:`template`,treePath:t}:null}if(e.startsWith(`slot:`)){let t=e.slice(5),n=t.indexOf(`:`);if(n<=0)return null;let r=t.slice(0,n),i=cn(t.slice(n+1));return i?{kind:`slot`,name:r,treePath:i}:null}return null}function ln(e){if(!e.startsWith(`slot:`))return!1;let t=e.slice(5),n=t.indexOf(`:`);return n>0&&t.charCodeAt(n+1)===47}function un(e){let t=[...e.layoutIds??[]],n={[k]:e.routeId,[Ut]:e.interceptionContext,[D]:t,[A]:e.rootLayoutTreePath,...e.dynamicStaleTimeSeconds===void 0?{}:{[E]:e.dynamicStaleTimeSeconds},...e.sourcePage===null||e.sourcePage===void 0?{}:{[Gt]:e.sourcePage}},r=e.interception?{...n,[Ht]:e.interception}:n;return e.slotBindings&&e.slotBindings.length>0?{...r,[M]:N(e.slotBindings,{layoutIds:t})}:r}function dn(e){let t=!1;for(let[n,r]of Object.entries(e))if(ln(n)&&r===`__VINEXT_UNMATCHED_SLOT__`){t=!0;break}if(!t)return e;let n={};for(let[t,r]of Object.entries(e))n[t]=ln(t)&&r===`__VINEXT_UNMATCHED_SLOT__`?Jt:r;return n}function fn(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;for(let t of Object.values(e))if(t!==`s`&&t!==`d`)return!1;return!0}function pn(e){return fn(e)?e:{}}function mn(e,t){if(e===void 0)return[];if(!Array.isArray(e))throw Error(`[vinext] Invalid ${t} in App Router payload: expected layout id string[]`);let n=[];for(let r of e){if(typeof r!=`string`)throw Error(`[vinext] Invalid ${t} in App Router payload: expected layout id string[]`);if(F(r)?.kind!==`layout`)throw Error(`[vinext] Invalid ${t} in App Router payload: expected layout ids`);n.push(r)}return n}function hn(e){return mn(e,D)}function gn(e){return mn(e,j)}function _n(e){return e===`active`||e==="default"||e===`unmatched`}function vn(e,t={}){if(e===void 0)return[];if(!Array.isArray(e))throw Error(`[vinext] Invalid __slotBindings in App Router payload: expected array`);let n=[];for(let t of e){if(!m(t))throw Error(`[vinext] Invalid __slotBindings in App Router payload: expected objects`);let e=t.slotId;if(typeof e!=`string`||F(e)?.kind!==`slot`)throw Error(`[vinext] Invalid __slotBindings in App Router payload: expected slot ids`);let r=t.ownerLayoutId;if(r!==null&&(typeof r!=`string`||F(r)?.kind!==`layout`))throw Error(`[vinext] Invalid __slotBindings in App Router payload: expected owner layout ids`);let i=t.state;if(!_n(i))throw Error(`[vinext] Invalid __slotBindings in App Router payload: expected state`);let a=t.activeRouteId;if(a!=null&&(typeof a!=`string`||F(a)?.kind!==`route`))throw Error(`[vinext] Invalid __slotBindings in App Router payload: expected route ids`);n.push({...a===void 0?{}:{activeRouteId:a},ownerLayoutId:r,slotId:e,state:i})}return N(n,t)}function I(e,t){let n=e[t];if(typeof n!=`string`)throw Error(`[vinext] Invalid __interception in App Router payload: expected strings`);return n}function yn(e){if(!wt(e))throw Error(`[vinext] Invalid __interception in App Router payload: expected path URLs`);return e}function bn(e,t){let n=F(e);if(n?.kind!==`route`||n.path!==t||n.interceptionContext!==null)throw Error(`[vinext] Invalid __interception in App Router payload: expected route ids`);return e}function xn(e){if(F(e)?.kind!==`slot`)throw Error(`[vinext] Invalid __interception in App Router payload: expected slot id`);return e}function Sn(e){if(e==null)return null;if(!m(e))throw Error(`[vinext] Invalid __interception in App Router payload: expected object`);let t=yn(I(e,`sourceMatchedUrl`)),n=yn(I(e,`targetMatchedUrl`));return{sourceMatchedUrl:t,sourceRouteId:bn(I(e,`sourceRouteId`),t),slotId:xn(I(e,`slotId`)),targetMatchedUrl:n,targetRouteId:bn(I(e,`targetRouteId`),n)}}function Cn(e){return!(typeof e!=`object`||!e||Array.isArray(e)||(0,ae.isValidElement)(e))}function wn(e,t){return{...e,[O]:t}}function Tn(e){if(!Cn(e.element))return e.element;let t=En(e.skipDisposition),n={};for(let[r,i]of Object.entries(e.element)){if(t.has(r)){It(e.element,r);continue}n[r]=i===Jt?qt:i}return n[O]=e.layoutFlags,t.size>0&&(n[j]=[...t]),n[T]=e.artifactCompatibility??x(),e.cacheEntryReuseProof&&(n[Vt]=e.cacheEntryReuseProof),e.dynamicStaleTimeSeconds!==void 0&&(n[E]=e.dynamicStaleTimeSeconds),e.renderObservation&&(n[Wt]=e.renderObservation),n}function En(e){if(e?.enabled!==!0)return Yt;let t=new Set;for(let n of e.skippedEntryIds)F(n)?.kind===`layout`&&t.add(n);return t}function Dn(e){return e===void 0?x():At(e)??x()}function On(e){return e==null||typeof e!=`string`||!e.startsWith(`/`)?null:e}function kn(){return{kind:`runtime-cache-entry`,decision:null}}function An(e){return typeof e==`string`&&Zt.has(e)}function jn(e){return e===`renderFresh`||e===`privateUncacheable`}function Mn(e){return e===`affectedOutput`||e===`route`}function Nn(e){if(e===void 0)return null;if(!m(e)||e.kind!==`runtime-cache-entry`)return kn();let t=e.decision;return t===null||!m(t)?kn():t.kind===`reuse`&&t.canReuse===!0&&t.code===`CP_STATIC_LAYOUT_REUSE_PROVEN`&&t.reuseClass===`static-layout`?{kind:`runtime-cache-entry`,decision:{canReuse:!0,code:t.code,kind:`reuse`,reuseClass:t.reuseClass}}:t.kind===`reject`&&t.canReuse===!1&&An(t.code)&&jn(t.mode)&&Mn(t.scope)?{kind:`runtime-cache-entry`,decision:{canReuse:!1,code:t.code,kind:`reject`,mode:t.mode,scope:t.scope}}:kn()}function Pn(e){let t=e[k];if(typeof t!=`string`)throw Error(`[vinext] Missing __route string in App Router payload`);let n=e[Ut];if(n!=null&&typeof n!=`string`)throw Error(`[vinext] Invalid __interceptionContext in App Router payload`);let r=e[A];if(r===void 0)throw Error(`[vinext] Missing __rootLayout key in App Router payload`);if(r!==null&&typeof r!=`string`)throw Error(`[vinext] Invalid __rootLayout in App Router payload: expected string or null`);let i=pn(e[O]),a=hn(e[D]),o=gn(e[j]),s=vn(e[M],{layoutIds:a}),c=Sn(e[Ht]),l=Dn(e[T]),u=Nn(e[Vt]),d=e[E],f=typeof d==`number`&&Number.isFinite(d)&&d>=0?d:void 0,p=On(e[Gt]);return{artifactCompatibility:l,...u?{cacheEntryReuseProof:u}:{},...f===void 0?{}:{dynamicStaleTimeSeconds:f},interception:c,interceptionContext:n??null,layoutIds:a,layoutFlags:i,routeId:t,rootLayoutTreePath:r,skippedLayoutIds:o,slotBindings:s,sourcePage:p}}var Fn={keys:{artifactCompatibility:T,cacheEntryReuseProof:Vt,dynamicStaleTime:E,interception:Ht,interceptionContext:Ut,layoutIds:D,layoutFlags:O,renderObservation:Wt,rootLayout:A,route:k,skippedLayoutIds:j,slotBindings:M,sourcePage:Gt},unmatchedSlotValue:qt,createMetadataEntries:un,decode:dn,encodeCacheKey:on,encodeLayoutId:nn,encodeOutgoingPayload:Tn,encodePageId:tn,encodeRouteId:en,encodeSlotId:an,encodeTemplateId:rn,isSlotId:ln,parseElementKey:F,readMetadata:Pn,withLayoutFlags:wn},In=4096,Ln=256,Rn=16;function zn(e){return e.length===0||e.length>Ln?!1:Fn.isSlotId(e)}function Bn(e){if(!e||e.length>In)return null;let t=e.split(/\s+/).filter(e=>e&&zn(e));return t.length===0?null:Array.from(new Set(t)).sort().slice(0,Rn).join(` `)||null}var Vn=`navigation`,Hn=`prefetch-empty`,L=`prefetch-dynamic-shell`,R=`prefetch-loading-shell`;function Un(e){return e===`prefetch-empty`?`prefetch-empty`:e===`prefetch-dynamic-shell`?`prefetch-dynamic-shell`:e===`prefetch-loading-shell`?`prefetch-loading-shell`:null}function Wn(e){switch(e){case Hn:return Hn;case L:return L;case R:return R;default:return Vn}}var Gn=`__prefetchLoadingShell`,Kn=/[^\t\x20-\x7e]/,qn=/[^\t\x20-\x7e]+/g;function Jn(e){return Kn.test(e)?e.replace(qn,e=>encodeURIComponent(e)):e}function Yn(e){return e.map(Jn)}var Xn=Symbol.for(`vinext.cache.fallback`),Zn=globalThis,Qn=i(`vinext.cache.als`),$n=Zn[Xn]??={actionRevalidationKind:0,pendingRevalidatedTags:new Set,pendingRevalidations:new Set,requestScopedCacheLife:null,unstableCacheObservations:new Map,unstableCacheRevalidation:`foreground`};function z(){return r()?a():Qn.getStore()??$n}function er(){if(r()||Qn.getStore()!==void 0)return!0;let e=ot();return e===`action`||e===`route-handler`}function tr(e){if(!er())return!1;let t=z().pendingRevalidatedTags;return e.some(e=>t.has(e))}async function nr(){let e=z(),t=!1,n;for(;e.pendingRevalidations.size>0;){let r=[...e.pendingRevalidations];e.pendingRevalidations.clear();let i=await Promise.allSettled(r);for(let e of i)e.status===`rejected`&&!t&&(t=!0,n=e.reason)}if(t)throw n}function rr(e){let t=z();if(t.requestScopedCacheLife===null){t.requestScopedCacheLife={...e};return}e.stale!==void 0&&(t.requestScopedCacheLife.stale=t.requestScopedCacheLife.stale===void 0?e.stale:Math.min(t.requestScopedCacheLife.stale,e.stale)),e.revalidate!==void 0&&(t.requestScopedCacheLife.revalidate=t.requestScopedCacheLife.revalidate===void 0?e.revalidate:Math.min(t.requestScopedCacheLife.revalidate,e.revalidate)),e.expire!==void 0&&(t.requestScopedCacheLife.expire=t.requestScopedCacheLife.expire===void 0?e.expire:Math.min(t.requestScopedCacheLife.expire,e.expire))}function ir(){let e=z().requestScopedCacheLife;return e===null?null:{...e}}function ar(){let e=z(),t=e.requestScopedCacheLife;return e.requestScopedCacheLife=null,t}function or(){return[...z().unstableCacheObservations.values()].sort((e,t)=>e.keyHash.localeCompare(t.keyHash))}var sr=[`traceparent`,`tracestate`],cr=`v3`,B=1024*1024,V=31536e3,H=class extends Error{constructor(){super(`Fetch body too large for cache key generation`)}},U=class extends Error{constructor(){super(`Fetch body could not be serialized for cache key generation`)}};function lr(e,t){let n={};e instanceof Request&&e.headers&&e.headers.forEach((e,t)=>{n[t]=e}),t?.headers&&(t.headers instanceof Headers?t.headers:new Headers(t.headers)).forEach((e,t)=>{n[t]=e});for(let e of sr)delete n[e];return n}var ur=[`authorization`,`cookie`,`x-api-key`];function dr(e,t){let n=lr(e,t);return ur.some(e=>e in n)}async function fr(e,t,n){for(let[r,i]of e.entries()){if(typeof i==`string`){t(JSON.stringify([r,{kind:`string`,value:i}]));continue}if(i.size>B||n()+i.size>B)throw new H;t(JSON.stringify([r,{kind:`file`,name:i.name,type:i.type,value:await i.text()}]))}}function pr(e){let t=e?.split(`;`)[0]?.trim().toLowerCase();if(t===`multipart/form-data`||t===`application/x-www-form-urlencoded`)return t}function mr(e){let[t,...n]=e.split(`;`),r=n.map(e=>e.trim()).filter(Boolean).filter(e=>!/^boundary\s*=/i.test(e)),i=t.trim().toLowerCase();return r.length>0?`${i}; ${r.join(`; `)}`:i}async function hr(e){let t=e.headers.get(`content-length`);if(t){let e=Number(t);if(Number.isFinite(e)&&e>B)throw new H}let n=e.clone(),r=n.headers.get(`content-type`)??void 0,i=n.body?.getReader();if(!i)return{chunks:[],contentType:r};let a=[],o=0;try{for(;;){let{done:e,value:t}=await i.read();if(e)break;if(o+=t.byteLength,o>B)throw new H;a.push(t)}}catch(e){throw i.cancel().catch(()=>{}),e}return{chunks:a,contentType:r}}async function gr(e,t){if(!t?.body&&!(e instanceof Request&&e.body))return{bodyChunks:[]};let n=[],r=new TextEncoder,i=new TextDecoder,a=0,o,s=e=>{if(a+=r.encode(e).byteLength,a>B)throw new H;n.push(e)},c=()=>a;if(t?.body instanceof Uint8Array){if(t.body.byteLength>B)throw new H;s(i.decode(t.body)),t._ogBody=t.body}else if(t?.body&&typeof t.body.getReader==`function`){let[e,r]=t.body.tee();t._ogBody=r;let o=e.getReader();try{for(;;){let{done:e,value:t}=await o.read();if(e)break;if(typeof t==`string`)s(t);else{if(a+=t.byteLength,a>B)throw new H;n.push(i.decode(t,{stream:!0}))}}let e=i.decode();e&&s(e)}catch(e){throw await o.cancel(),e instanceof H?e:new U}}else if(t?.body instanceof URLSearchParams)t._ogBody=t.body,s(t.body.toString());else if(t?.body&&typeof t.body.keys==`function`){let e=t.body;t._ogBody=t.body,await fr(e,s,c)}else if(t?.body&&typeof t.body.arrayBuffer==`function`){let e=t.body;if(e.size>B)throw new H;s(await e.text());let n=await e.arrayBuffer();t._ogBody=new Blob([n],{type:e.type})}else if(typeof t?.body==`string`){if(t.body.length>B)throw new H;s(t.body),t._ogBody=t.body}else if(e instanceof Request&&e.body){let t,r;try{({chunks:t,contentType:r}=await hr(e))}catch(e){throw e instanceof H?e:new U}let a=pr(r);if(a)try{return await fr(await new Request(e.url,{method:e.method,headers:r?{"content-type":r}:void 0,body:new Blob(t)}).formData(),s,c),o=a===`multipart/form-data`&&r?mr(r):void 0,{bodyChunks:n,canonicalizedContentType:o}}catch(e){throw e instanceof H?e:new U}for(let e of t)s(i.decode(e,{stream:!0}));let l=i.decode();l&&s(l)}return{bodyChunks:n,canonicalizedContentType:o}}async function _r(e,t){let n,r=`GET`;typeof e==`string`?n=e:e instanceof URL?n=e.toString():(n=e.url,r=e.method||`GET`),t?.method&&(r=t.method);let i=lr(e,t),{bodyChunks:a,canonicalizedContentType:o}=await gr(e,t);o&&(i[`content-type`]=o);let s=JSON.stringify([cr,n,r,i,t?.mode,t?.redirect,t?.credentials,t?.referrer,t?.referrerPolicy,t?.integrity,t?.cache,a]),c=new TextEncoder().encode(s),l=await crypto.subtle.digest(`SHA-256`,c);return Array.prototype.map.call(new Uint8Array(l),e=>e.toString(16).padStart(2,`0`)).join(``)}var vr=Symbol.for(`vinext.fetchCache.pendingRefetches`),yr=globalThis,W=yr[vr]??=new Map,br=6e4,xr=Symbol.for(`vinext.fetchCache.originalFetch`),Sr=globalThis,G=Sr[xr]??=globalThis.fetch,Cr=Symbol.for(`vinext.fetchCache.fallback`),wr=globalThis,Tr=i(`vinext.fetchCache.als`),Er=()=>{},K;globalThis.FinalizationRegistry&&(K=new FinalizationRegistry(e=>{let t=e.deref();t&&!t.locked&&t.cancel(`Response object has been garbage collected`).then(Er,Er)}));var Dr=wr[Cr]??={cacheableFetchUrls:new Set,currentRequestTags:[],currentFetchSoftTags:[],currentFetchCacheMode:null,currentForceDynamicFetchDefault:!1,dynamicFetchUrls:new Set,refreshStaleFetchesInForeground:!1,isFetchDedupeActive:!1,currentFetchDedupeEntries:new Map};function q(){return r()?a():Tr.getStore()??Dr}function Or(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}function J(e){q().dynamicFetchUrls.add(Or(e))}function kr(e){J(e),ze()}function Ar(e){q().cacheableFetchUrls.add(Or(e))}function jr(e){Number.isFinite(e)&&e>0&&rr({revalidate:e})}function Mr(){return q().refreshStaleFetchesInForeground}async function Nr(e,t,n,r){if(e.status!==200)return null;let i=r?.cloneForReturn===!1?e:e.clone(),a=await i.text(),o={};return i.headers.forEach((e,t)=>{t.toLowerCase()!==`set-cookie`&&(o[t]=e)}),{kind:`FETCH`,data:{headers:o,body:a,url:e.url,status:i.status},tags:t,revalidate:n}}async function Pr(e,t,n,r,i,a){let o=await Nr(n,r,i,a);o&&await e.set(t,o,{fetchCache:!0,tags:r,revalidate:i})}async function Fr(e,t,n,r,i){if(!Number.isFinite(i)||i<=0||typeof n.revalidate!=`number`||n.revalidate<=i)return;let a=Array.from(new Set([...n.tags??[],...r])),o={...n,tags:a,revalidate:i};await e.set(t,o,{fetchCache:!0,tags:a,revalidate:i})}function Ir(){return[...q().cacheableFetchUrls].sort()}function Lr(){return[...q().dynamicFetchUrls].sort()}function Rr(){let e=q(),t=[...e.dynamicFetchUrls].sort();return e.dynamicFetchUrls=new Set,t}function zr(){return[...q().currentRequestTags]}function Br(e){q().currentFetchSoftTags=[...e]}function Vr(e){q().currentFetchCacheMode=e}function Hr(e){q().currentForceDynamicFetchDefault=e}function Ur(e){q().refreshStaleFetchesInForeground=e}function Wr(e,t){return e===`no-store`||e===`no-cache`||t?.revalidate===0}function Gr(e,t){return e===`force-cache`||t?.revalidate===!1||typeof t?.revalidate==`number`&&t.revalidate>0}function Kr(e){return e?.revalidate!==void 0}function qr(e){return!e?.revalidate}function Jr(e,t,n,r){if(r&&(!n||n===`auto`)&&(e===void 0||e==="default")&&qr(t))return`no-store`;if(!n||n===`auto`)return e;switch(n){case`force-cache`:return`force-cache`;case`force-no-store`:return`no-store`;case`only-cache`:if(Wr(e,t))throw Error('Route segment config `fetchCache = "only-cache"` conflicts with no-store fetch.');return e??`force-cache`;case`only-no-store`:if(Gr(e,t))throw Error('Route segment config `fetchCache = "only-no-store"` conflicts with cacheable fetch.');return e??`no-store`;case`default-cache`:return e??(Kr(t)?void 0:`force-cache`);case`default-no-store`:return e??(Kr(t)?void 0:`no-store`)}return e}function Yr(e,t){if(t?.cache!==void 0)return t.cache;if(!(!(e instanceof Request)||e.cache==="default"))return e.cache}function Xr(e){let t=Array.from(e.headers.entries()).filter(([e])=>!sr.includes(e.toLowerCase()));return JSON.stringify([e.method,t,e.mode,e.redirect,e.credentials,e.referrer,e.referrerPolicy,e.integrity])}function Zr(e,t){if(t?.signal)return null;let n=t?.method?.toUpperCase();if(n&&n!==`GET`&&n!==`HEAD`||t?.keepalive)return null;let r=typeof e==`string`||e instanceof URL?new Request(e,t):e;return r.method!==`GET`&&r.method!==`HEAD`||r.keepalive?null:{url:r.url,key:Xr(r)}}function Y(e,t){let n=new Response(e,{status:t.status,statusText:t.statusText,headers:new Headers(t.headers)});return Object.defineProperty(n,"url",{value:t.url,configurable:!0,enumerable:!0,writable:!1}),K&&n.body&&K.register(n,new WeakRef(n.body)),n}function Qr(e){if(!e.body)return[Y(null,e),Y(null,e)];let[t,n]=e.body.tee();return[Y(t,e),Y(n,e)]}function $r(e,t){let n=new Response(e.body,{status:e.status??200,headers:e.headers});return Object.defineProperty(n,"url",{value:e.url??Or(t),configurable:!0,enumerable:!0,writable:!1}),K&&n.body&&K.register(n,new WeakRef(n.body)),n}function X(e,t){let n=q();if(!n.isFetchDedupeActive)return G(e,t);let r=Zr(e,t);if(!r)return G(e,t);let i=n.currentFetchDedupeEntries,a=i.get(r.url);a||(a=[],i.set(r.url,a));for(let e of a)if(e.key===r.key)return e.promise.then(()=>{if(!e.response)throw Error(`[vinext] Missing deduped fetch response`);let[t,n]=Qr(e.response);return e.response=n,t});let o=G(e,t),s={key:r.key,promise:o,response:null};return a.push(s),o.then(e=>{let[t,n]=Qr(e);return s.response=n,t},e=>{let t=a.indexOf(s);throw t!==-1&&a.splice(t,1),e})}function ei(){return async function(e,t){let n=t?.next,r=Jr(Yr(e,t),n,q().currentFetchCacheMode,q().currentForceDynamicFetchDefault);if(!n&&!r)return J(e),X(e,t);if(r===`no-store`||r===`no-cache`||n?.revalidate===0){let n=Z(t,r);return kr(e),X(e,n)}if(!(r===`force-cache`||n?.revalidate===!1||typeof n?.revalidate==`number`&&n.revalidate>0)&&dr(e,t)){let n=Z(t,r);return J(e),X(e,n)}let i;if(r===`force-cache`)i=n?.revalidate&&typeof n.revalidate==`number`?n.revalidate:V;else if(n?.revalidate===!1)i=V;else if(typeof n?.revalidate==`number`&&n.revalidate>0)i=n.revalidate;else if(n?.tags&&n.tags.length>0)i=V;else{let n=Z(t,r);return J(e),X(e,n)}Ar(e),jr(i);let a=q().currentRequestTags,o=Yn(n?.tags??[]);if(o.length>0)for(let e of o)a.includes(e)||a.push(e);let s=q().currentFetchSoftTags,c=Z(t,r),l;try{l=await _r(e,c),c=Z(c,r)}catch(t){if(t instanceof H||t instanceof U)return c=Z(c,r),J(e),X(e,c);throw t}let u=_(),d=tr([...o,...s]);try{let t=d?null:await u.get(l,{kind:`FETCH`,tags:o,softTags:s,revalidate:i});if(t?.value?.kind===`FETCH`&&tr([...t.value.tags??[],...o,...s])&&(d=!0,t=null),t?.value&&t.value.kind===`FETCH`&&t.cacheState!==`stale`){await Fr(u,l,t.value,o,i);let n=t.value.data;return $r(n,e)}if(t?.value&&t.value.kind===`FETCH`&&t.cacheState===`stale`){if(Mr()){let t=await X(e,c);return await Pr(u,l,t,o,i),t}let n=t.value.data;if(!W.has(l)){let t=G(e,c).then(async e=>{await Pr(u,l,e,o,i,{cloneForReturn:!1})}).catch(t=>{let n=typeof e==`string`?e:e instanceof URL?e.toString():e.url;console.error(`[vinext] fetch cache background revalidation failed for ${n} (key=${l.slice(0,12)}...):`,t)}).finally(()=>{W.get(l)===t&&W.delete(l),clearTimeout(n)});W.set(l,t);let n=setTimeout(()=>{W.get(l)===t&&W.delete(l)},br);te()?.waitUntil(t)}return $r(n,e)}}catch(e){console.error(`[vinext] fetch cache read error:`,e)}let f=await(d?G(e,c):X(e,c)),p=await Nr(f,o,i);return p&&u.set(l,p,{fetchCache:!0,tags:o,revalidate:i}).catch(e=>{console.error(`[vinext] fetch cache write error:`,e)}),f}}function Z(e,t){if(!e)return t===void 0?void 0:{cache:t};let{next:n,_ogBody:r,...i}=e;return t!==void 0&&(i.cache=t),r!==void 0&&(i.body=r),Object.keys(i).length>0?i:void 0}var ti=Symbol.for(`vinext.fetchCache.patchInstalled`);function ni(){wr[ti]||(wr[ti]=!0,globalThis.fetch=ei())}function ri(e){ni();let t=q();return t.isFetchDedupeActive?e():r()?o(e=>{e.isFetchDedupeActive=!0,e.currentFetchDedupeEntries=new Map},e):Tr.run({...t,isFetchDedupeActive:!0,currentFetchDedupeEntries:new Map},e)}function ii(){ni()}function ai(){}var Q=`_rsc`,oi=`X-Vinext-RSC-Compatibility-Id`,si=`text/x-component`,ci=[`RSC`,f,c,p,u,ie,re,s].join(`, `),li=12,ui=new TextEncoder;function di(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/,``)}function fi(e){return e??`0`}function pi(e){return e&&e.length>0?e:null}function mi(){return pi(`f6797592-3dbd-4e85-9858-90c723d642ea`)}function hi(e,t=mi()){let n=pi(t);n?e.set(oi,n):e.delete(oi)}function gi(e){e.delete(ne)}function _i(e){let t=Wn(e);return t===`navigation`?null:t}function $(e,t={}){let n=[e.get(c),e.get(p),e.get(f),e.get(u),e.get(ie),e.get(re),...t.includeRenderModeHeader===!1?[]:[_i(e.get(s))]];return n.every(e=>e===null)?null:n.map(fi).join(`,`)}async function vi(e){let t=await globalThis.crypto.subtle.digest(`SHA-256`,ui.encode(e));return di(new Uint8Array(t).subarray(0,li))}function yi(e){let t=$(e);return t===null?``:b(t)}async function bi(e){let t=$(e,{includeRenderModeHeader:!1});return t===null?null:vi(t)}function xi(e){let t=$(e,{includeRenderModeHeader:!1});return t===null?null:b(t)}function Si(e){return(e.search.startsWith(`?`)?e.search.slice(1):e.search).split(`&`).filter(e=>e.length>0&&!Ci(e))}function Ci(e){let t=e.indexOf(`=`),n=t===-1?e:e.slice(0,t);try{return decodeURIComponent(n.replaceAll(`+`,` `))===Q}catch{return n===Q}}function wi(e){return(e.search.startsWith(`?`)?e.search.slice(1):e.search).split(`&`).some(e=>e.length>0&&Ci(e))}async function Ti(e){let t=$(e);return t===null?``:vi(t)}function Ei(e,t){let n=Si(e);n.push(t.length>0?`${Q}=${t}`:Q),e.search=`?${n.join(`&`)}`}function Di(e){let t=Si(e);e.search=t.length>0?`?${t.join(`&`)}`:``}function Oi(e){return e.endsWith(`.rsc`)?e.slice(0,-4):e}function ki(e){let t=e.indexOf(`#`);return t===-1?e:e.slice(0,t)}async function Ai(e,t){let n=new URL(ki(e),`http://vinext.local`);return Ei(n,await Ti(t)),`${n.pathname}${n.search}`}async function ji(e,t){let n=new URL(t.url),r=new URL(e,n);if(r.origin!==n.origin)return r.toString();let i=await Ai(`${r.pathname}${r.search}`,t.headers);return`${r.origin}${i}`}async function Mi(e){if(!e.isRscRequest||e.request.method!==`GET`&&e.request.method!==`HEAD`)return null;let t=new URL(e.request.url),n=t.searchParams.get(Q),r=await Ti(e.request.headers);if(n===null&&r===``&&t.pathname.endsWith(`.rsc`))return null;let i=new Set([r]);if(n!==null&&n!==r&&(i.add(yi(e.request.headers)),_i(e.request.headers.get(`X-Vinext-Rsc-Render-Mode`))===null)){let t=await bi(e.request.headers),n=xi(e.request.headers);t!==null&&i.add(t),n!==null&&i.add(n)}return n!==null&&i.has(n)?null:(Ei(t,r),new Response(null,{status:307,headers:{Location:`${t.pathname}${t.search}`}}))}var Ni=new Set([`set-cookie`,`vary`]);function Pi(e,t){let n=e.get(`Vary`),r=(n?`${n}, ${t}`:t).split(`,`).map(e=>e.trim()).filter(e=>e.length>0);if(r.some(e=>e===`*`)){e.set(`Vary`,`*`);return}let i=new Set,a=[];for(let e of r){let t=e.toLowerCase();i.has(t)||(i.add(t),a.push(e))}e.set(`Vary`,a.join(`, `))}function Fi(e,t){if(t)for(let[n,r]of t){if(n.toLowerCase()===`vary`){Pi(e,r);continue}if(Ni.has(n.toLowerCase())){e.append(n,r);continue}e.set(n,r)}}var Ii=`private, no-cache, no-store, max-age=0, must-revalidate`,Li=`public, max-age=0, must-revalidate`,Ri=`s-maxage=31536000, stale-while-revalidate`,zi=`s-maxage=0, stale-while-revalidate`,Bi=`no-store, must-revalidate`,Vi=/(?:^|,)\s*s-maxage\s*=/i;function Hi(){return process.env.VINEXT_NEXT_DEPLOY_CACHE_CONTROL===`1`}function Ui(e){return Vi.test(e)}function Wi(e,t){if(e.delete(`Cache-Control`),Hi()&&Ui(t.cacheControl)){e.set(`Cache-Control`,Li);return}let n=Ct().buildResponseHeaders(t);for(let[t,r]of Object.entries(n)){if(r===null){e.delete(t);continue}r!==``&&e.set(t,r)}}function Gi(e,t){return e===!1?Ri:t===void 0?`s-maxage=${e}, stale-while-revalidate`:e>=t?`s-maxage=${e}`:`s-maxage=${e}, stale-while-revalidate=${t-e}`}function Ki(e,t,n){return t===!1||t===1/0?Ri:e===`STALE`&&n===void 0?zi:Gi(t,n)}function qi(e){return e===`STATIC`?`HIT`:e}function Ji(e,t){e.set(l,t),e.set(d,qi(t))}export{zt as $,Ur as A,ve as At,R as B,zr as C,He as Ct,Vr as D,We as Dt,ri as E,et as Et,Jn as F,A as G,Wn as H,Gn as I,Cn as J,Kt as K,Vn as L,nr as M,ir as N,Br as O,Ne as Ot,or as P,Rt as Q,L as R,ii as S,Ge as St,Lr as T,ct as Tt,Bn as U,Un as V,D as W,Lt as X,N as Y,Ft as Z,Mi as _,ht as _t,Wi as a,wt as at,ai as b,rt as bt,Fi as c,Ct as ct,si as d,qe as dt,Dt as et,ci as f,gt as ft,wi as g,ut as gt,ji as h,st as ht,Ri as i,At as it,ar as j,m as jt,Hr as k,Me as kt,Pi as l,nt as lt,gi as m,pt as mt,Ii as n,Ot as nt,Ki as o,Tt as ot,hi as p,dt as pt,Fn as q,Bi as r,Nt as rt,Gi as s,b as st,Ji as t,x as tt,Q as u,tt as ut,Di as v,ze as vt,Ir as w,at as wt,Rr as x,Ke as xt,Oi as y,Ue as yt,Hn as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/roboto-cyrillic-ext-wght-normal.BCp_3N7R.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/roboto-cyrillic-wght-normal.fOt7epNf.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/roboto-greek-ext-wght-normal.Bgw4czJT.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/roboto-greek-wght-normal.DlT9XTxE.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/roboto-math-wght-normal.4a3xuzGk.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/roboto-symbols-wght-normal.B7iHSfaG.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/roboto-vietnamese-wght-normal._f1XEJpo.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/roboto-latin-ext-wght-normal.DYIxWhlt.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/roboto-latin-wght-normal.ccAYIvAh.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#202124;--muted:#5f6368;--green:#00875f;--green-dark:#006e4c;--green-soft:#e6f4ef;--line:#dadce0;--surface:#fff;--container:1298px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Roboto Variable,Arial,Helvetica,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}.site-shell{min-height:100vh;overflow:hidden}.app-top-nav{--atn-height:2.25rem;z-index:90;height:calc(var(--atn-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) clamp(1rem, 3vw, 2.5rem) 0;-webkit-backdrop-filter:blur(14px)saturate(1.6);background:linear-gradient(#080808eb 0%,#080808d1 100%);border-bottom:1px solid #ffffff0f;align-items:center;gap:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;position:fixed;top:0;left:0;right:0}.app-top-nav__home{color:#ffffffb8;letter-spacing:.01em;white-space:nowrap;cursor:pointer;background:#ffffff0f;border:0;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .65rem .2rem .35rem;font-size:.72rem;font-weight:550;text-decoration:none;transition:background .18s,color .18s,transform .12s;display:inline-flex}.app-top-nav__home:hover{color:#fff;background:#ffffff1f;transform:translate(-1px)}.app-top-nav__home:active{transform:translate(-2px)scale(.97)}.app-top-nav__home svg{flex:none}.app-top-nav__separator{color:#fff3;-webkit-user-select:none;user-select:none;margin:0 .55rem;font-size:.72rem;font-weight:300}.app-top-nav__app{color:#ffffff80;letter-spacing:.02em;font-size:.72rem;font-weight:550}.store-container{width:min(calc(100% - 144px), var(--container));margin-inline:auto}.topbar{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-bottom:1px solid #0000;height:64px;position:sticky;top:0}.topbar:after{content:"";background:#3c404314;height:1px;position:absolute;bottom:-1px;left:0;right:0}.topbar__inner{align-items:center;height:100%;padding:0 24px 0 30px;display:flex}.brand-link{flex:none}.play-logo{color:#5f6368;letter-spacing:-.7px;white-space:nowrap;align-items:center;gap:9px;font-size:22px;font-weight:500;display:inline-flex}.play-mark{filter:saturate(.96);width:36px;height:40px}.google-word{font-weight:600}.main-nav{align-items:stretch;gap:30px;height:100%;margin-left:40px;display:flex}.main-nav a{color:#5f6368;white-space:nowrap;align-items:center;font-size:14px;font-weight:600;display:grid;position:relative}.main-nav a:after{background:var(--green);content:"";opacity:0;border-radius:3px 3px 0 0;height:3px;transition:all .16s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(.35)}.main-nav a:hover,.main-nav a.active{color:var(--green)}.main-nav a.active:after{opacity:1;transform:scaleX(1)}.top-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.top-actions>button,.mobile-menu-button{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;transition:background .15s;display:grid}.top-actions>button:hover,.mobile-menu-button:hover{background:#f1f3f4}.top-actions svg{color:#5f6368;stroke-width:2.4px;width:22px;height:22px}.store-access-trigger{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;transition:background .15s;display:grid}.store-access-trigger:hover{background:#f1f3f4}.access-popover.store-access-popover{--access-mobile-top:calc(64px + env(safe-area-inset-top));--access-right:-.4rem}.store-profile-menu{margin-left:2px;position:relative}.store-profile-trigger{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;min-width:44px;min-height:44px;padding:0 2px;display:flex}.store-profile-avatar{background:linear-gradient(155deg,#ffffff47,#0000 35%),#1565c0;border-radius:4px;width:32px;height:32px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 -5px #00000026}.store-profile-avatar span:first-child,.store-profile-avatar span:nth-child(2){background:#fff;border-radius:50%;width:4px;height:6px;position:absolute;top:11px}.store-profile-avatar span:first-child{left:7px}.store-profile-avatar span:nth-child(2){right:7px}.store-profile-avatar span:last-child{border-bottom:3px solid #fff;border-radius:0 0 50% 50%;height:6px;position:absolute;bottom:6px;left:7px;right:7px}.top-actions .store-profile-chevron{color:#5f6368;stroke-width:2.6px;width:13px;height:13px;transition:transform .16s}.store-profile-chevron--open{transform:rotate(180deg)}.store-profile-trigger:hover .store-profile-avatar{box-shadow:inset 0 -5px #00000026,0 0 0 3px #5f636824}.store-profile-trigger:focus-visible{outline-offset:2px;border-radius:6px;outline:2px solid #1a73e8}.store-profile-popover{z-index:70;color:#fff;background:#141414fa;border:1px solid #ffffff2e;border-radius:3px;width:min(240px,100vw - 24px);padding:8px 0;animation:.14s ease-out fade-in;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 14px 36px #00000057}.store-profile-caret{background:#141414;border-top:1px solid #fff3;border-left:1px solid #fff3;width:13px;height:13px;position:absolute;top:-7px;right:17px;transform:rotate(45deg)}.store-profile-option,.store-profile-manage{color:#fff;width:100%;min-height:44px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:6px 13px;font-size:13px;display:flex}.store-profile-option:hover,.store-profile-manage:hover{background:#ffffff14;text-decoration:underline}:is(.store-profile-option:focus-visible,.store-profile-manage:focus-visible){outline-offset:-3px;outline:2px solid #fff}.store-profile-option:disabled{cursor:wait;opacity:.72}.store-profile-mini-avatar{color:#fff;border-radius:3px;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid;box-shadow:inset 0 -4px #00000024}.store-profile-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.top-actions .store-profile-active-check{color:#46d369;stroke-width:2.5px;width:16px;height:16px}.store-profile-manage{border-top:1px solid #ffffff2e;margin-top:6px;padding-top:10px}.top-actions .store-profile-manage svg{color:#b3b3b3;stroke-width:2px;flex:0 0 18px;width:18px;height:18px}.store-profile-error{color:#ffb4b4;margin:5px 13px 2px;font-size:12px;line-height:1.35}.search-layer{z-index:80;background:#fffffff7;padding-top:14px;animation:.16s ease-out fade-in;position:fixed;inset:0;overflow-y:auto}.search-panel{background:#f1f3f4;border-radius:28px;align-items:center;gap:15px;width:min(100% - 32px,780px);height:58px;margin:0 auto;padding:0 10px 0 20px;display:flex;box-shadow:0 1px 2px #3c40432e}.search-panel>svg{color:#5f6368}.search-panel input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:18px}.search-panel button{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.search-panel button:hover{background:#e3e6e8}.search-results{width:min(100% - 32px,740px);margin:28px auto}.search-label{color:var(--muted);margin:0 12px 10px;font-size:13px;font-weight:600;display:block}.search-results>button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:16px;width:100%;padding:12px;display:flex}.search-results>button:hover{background:#f6f8f8}.search-results>button>span{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.search-results strong{font-size:15px}.search-results small{color:var(--muted);font-size:13px}.search-results>button>svg{color:var(--muted)}.empty-results{color:var(--muted);padding:28px 12px}.device-section{padding-top:25px}.device-tabs{scrollbar-width:none;gap:12px;padding:0 0 8px;display:flex;overflow-x:auto}.device-tabs::-webkit-scrollbar{display:none}.device-tabs button{border:1px solid var(--line);color:#5f6368;cursor:pointer;background:#fff;border-radius:19px;flex:none;align-items:center;gap:8px;min-height:36px;padding:0 17px;font-size:14px;font-weight:600;transition:border-color .15s,background .15s,color .15s,transform .15s;display:inline-flex}.device-tabs button:hover{border-color:#9aa0a6;transform:translateY(-1px)}.device-tabs button.active{border-color:var(--green-soft);background:var(--green-soft);color:var(--green-dark)}.first-section{padding-top:30px}.section-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:27px;display:flex}.section-heading h1,.section-heading h2{color:var(--ink);letter-spacing:-.45px;margin:0;font-size:23px;font-weight:600}.section-heading p{color:var(--muted);margin:5px 0 0;font-size:14px}.section-heading--simple{align-items:center}.section-heading--simple h2{align-items:center;gap:10px;display:flex}.section-heading--simple h2 svg{color:#f4511e}.view-more{color:#3c4043;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.view-more:hover{background:#f1f3f4}.rail-shell{position:relative}.app-rail{scroll-behavior:smooth;scrollbar-width:none;grid-auto-columns:minmax(134px,1fr);grid-auto-flow:column;gap:23px;padding:2px 2px 8px;display:grid;overflow-x:auto}.app-rail::-webkit-scrollbar{display:none}.app-card{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;min-width:0;padding:0;display:flex}.app-card:hover .app-icon{transform:translateY(-3px);box-shadow:0 6px 12px #3c404329,0 1px 3px #3c404333}.app-icon{aspect-ratio:1;border:1px solid #3c404314;border-radius:24%;place-items:center;width:100%;transition:transform .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.app-icon svg{z-index:2;color:#fffffff2;filter:drop-shadow(0 2px 4px #00000024);width:48%;height:48%;position:relative}.netflix-icon-mark{z-index:2;color:#e50914;letter-spacing:-.18em;text-indent:-.18em;text-shadow:0 4px 12px #00000073;font-family:Arial Black,Arial,sans-serif;font-size:clamp(2.1rem,5.2vw,4.7rem);font-weight:950;line-height:1;position:relative;transform:scaleX(.72)}.spotify-icon-mark{z-index:2;aspect-ratio:1;background:#07150b;border-radius:50%;width:58%;display:block;position:relative;box-shadow:0 3px 8px #00000038}.spotify-icon-mark i{border-top:clamp(2px,.35vw,5px) solid #35e878;border-radius:50%;width:64%;height:25%;position:absolute;left:20%;transform:rotate(8deg)}.spotify-icon-mark i:first-child{top:27%}.spotify-icon-mark i:nth-child(2){width:58%;top:43%;left:23%}.spotify-icon-mark i:nth-child(3){width:51%;top:58%;left:26%}.app-icon--small .netflix-icon-mark{font-size:34px}.app-card:nth-child(2) .app-icon svg,.search-results button:nth-child(3) .app-icon svg{color:#202124}.icon-shine{background:#ffffff29;border-radius:50%;width:65%;height:140%;position:absolute;top:-40%;left:-15%;transform:rotate(22deg)}.app-icon--small{border-radius:14px;flex:0 0 52px;width:52px;height:52px}.app-icon--small svg{width:26px;height:26px}.app-card__name{color:#303134;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:14px;font-size:14px;font-weight:500;line-height:1.38;display:-webkit-box;overflow:hidden}.app-card__category{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.rating{color:var(--muted);align-items:center;gap:3px;margin-top:4px;font-size:12px;display:inline-flex}.rail-arrow{z-index:4;color:#3c4043;cursor:pointer;opacity:0;background:#fff;border:0;border-radius:50%;place-items:center;width:42px;height:42px;transition:opacity .15s,transform .15s;display:grid;position:absolute;top:58px;box-shadow:0 2px 6px #3c40433d,0 1px 2px #3c404329}.rail-shell:hover .rail-arrow,.rail-shell:focus-within .rail-arrow{opacity:1}.rail-arrow:focus-visible{opacity:1}.rail-arrow:hover{transform:scale(1.04)}.rail-arrow--left{left:-18px}.rail-arrow--right{right:-18px}.editorial-section,.ai-section,.charts-section,.moments-section,.final-rail-section{padding-top:48px}.promo-rail{scrollbar-width:none;grid-template-columns:repeat(3,526px);gap:24px;padding:2px 2px 8px;display:grid;overflow-x:auto}.promo-rail::-webkit-scrollbar{display:none}.promo-card{border-radius:9px;min-height:394px;position:relative;overflow:hidden;box-shadow:0 1px 3px #3c404338}.promo-card--green{color:#173a2a;background:#c9f4da}.promo-card--plum{color:#fff;background:#611b2a}.promo-card--blue{color:#fff;background:#12377f}.promo-art{position:absolute;inset:0 0 98px;overflow:hidden}.promo-orb{border-radius:50%;position:absolute}.promo-orb--one{background:#ffffff2e;width:250px;height:250px;top:-38px;right:-35px}.promo-orb--two{border:42px solid #ffffff24;width:260px;height:260px;top:95px;left:-60px}.promo-card--green .promo-art{background:radial-gradient(circle at 60% 40%,#fffc 0 3px,#0000 4px),linear-gradient(150deg,#b6eaca,#68c88b)}.field-line{border:3px solid #fff9;display:block;position:absolute}.field-line--one{border-radius:50%;width:180px;height:180px;bottom:-72px;right:20px}.field-line--two{border-radius:0 60px 60px 0;width:190px;height:110px;top:40px;left:-20px}.field-ball,.score-ball{z-index:2;background:#ffffffe6;border-radius:50%;place-items:center;width:68px;height:68px;font-size:38px;display:grid;position:absolute;box-shadow:0 10px 28px #00000029}.field-ball{bottom:45px;right:90px;transform:rotate(-12deg)}.promo-card--plum .promo-art{background:linear-gradient(145deg,#e5a664,#914441)}.promo-card--plum .promo-art:after{z-index:1;content:"";background:linear-gradient(#0000,#46101fd1);position:absolute;inset:38% 0 0}.picnic-sun{background:#ffd795;border-radius:50%;width:82px;height:82px;position:absolute;top:32px;left:44px;box-shadow:0 0 0 20px #ffd7952e}.picnic-blanket{background:linear-gradient(90deg,#0000 46%,#fff3 47% 53%,#0000 54%),linear-gradient(#0000 46%,#fff3 47% 53%,#0000 54%),#c44747;border-radius:55% 0 0;width:310px;height:190px;position:absolute;bottom:-30px;right:-10px;transform:rotate(-7deg)}.picnic-item{z-index:2;filter:drop-shadow(0 7px 8px #4f18183d);font-size:52px;position:absolute}.picnic-item--one{bottom:34px;right:85px}.picnic-item--two{bottom:15px;right:175px;transform:rotate(7deg)}.promo-card--blue .promo-art{background:linear-gradient(150deg,#1d65c4,#142e6b)}.score-ring{border:36px solid #5b95ff99;border-radius:50%;width:245px;height:245px;position:absolute;top:18px;right:-35px}.score-card{color:#15387a;letter-spacing:-2px;background:#fff;border-radius:16px;padding:17px 22px;font-size:38px;font-weight:800;position:absolute;top:68px;left:52px;transform:rotate(-6deg);box-shadow:0 14px 24px #00103240}.score-ball{width:61px;height:61px;font-size:34px;bottom:22px;right:32px}.promo-eyebrow{z-index:3;color:#fff;background:#1a1c1fb3;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:700;position:absolute;top:10px;left:10px}.promo-copy{z-index:3;position:absolute;bottom:111px;left:24px;right:24px}.promo-copy h3{letter-spacing:-.4px;margin:0;font-size:23px;font-weight:700}.promo-copy p{margin:4px 0 0;font-size:15px}.promo-app{z-index:4;align-items:center;gap:12px;display:flex;position:absolute;bottom:18px;left:22px;right:22px}.promo-app>span{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.promo-app strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.promo-app small{opacity:.84;font-size:12px}.promo-app button{color:#303134;cursor:pointer;background:#ffffffc7;border:0;border-radius:9px;min-width:84px;height:35px;font-size:13px;font-weight:700}.promo-card--green .promo-app button{color:#173a2a;background:#3f765138}.promo-app button:hover{background:#fff}.feature-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.feature-card{color:#24243d;text-align:left;cursor:pointer;background:#eef0ff;border:0;border-radius:10px;flex-direction:column;align-items:stretch;min-height:285px;padding:22px;display:flex;position:relative;overflow:hidden}.feature-card--1{background:linear-gradient(145deg,#f7d5ff 0%,#e5b8ff 50%,#b797ff 100%)}.feature-card--2{background:linear-gradient(145deg,#d7f4ff 0%,#9ce2ec 52%,#65bfc8 100%)}.feature-card--3{background:linear-gradient(145deg,#dff4dd 0%,#a7d7aa 52%,#75b984 100%)}.feature-card__badge{background:#ffffff9e;border-radius:16px;align-items:center;gap:6px;width:max-content;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.feature-card__art{place-items:center;height:142px;display:grid;position:relative}.feature-phone{background:#ffffffeb;border:5px solid #1d1f26e0;border-radius:18px;place-items:center;width:86px;height:135px;transition:transform .2s;display:grid;position:absolute;top:15px;overflow:hidden;transform:rotate(4deg);box-shadow:0 15px 30px #3726502e}.feature-card:hover .feature-phone{transform:rotate(1deg)translateY(-5px)}.feature-phone .app-icon{border-radius:12px;flex-basis:42px;width:42px;height:42px}.feature-phone>span:not(.app-icon){background:#dde1e5;border-radius:4px;width:48px;height:5px}.feature-spark{color:#fff;text-shadow:0 3px 8px #5c367d38;font-size:24px;position:absolute}.feature-spark--one{top:24px;left:26%}.feature-spark--two{font-size:17px;bottom:25px;right:24%}.feature-card__copy{flex-direction:column;gap:5px;min-width:0;display:flex}.feature-card__copy strong{font-size:19px}.feature-card__copy small{color:#202124c2;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.charts-grid{grid-template-columns:repeat(3,1fr);gap:8px 28px;display:grid}.chart-row{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:13px;min-width:0;padding:11px 10px;display:flex}.chart-row:hover{background:#f6f8f8}.chart-number{width:22px;color:var(--muted);text-align:center;flex:0 0 22px;font-size:14px;font-weight:600}.chart-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chart-copy strong,.chart-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-copy strong{font-size:14px;font-weight:600}.chart-copy small{color:var(--muted);font-size:12px}.chart-row>svg{color:#70757a}.moments-banner{background:linear-gradient(120deg,#fff2c7 0%,#ffe0ae 38%,#ffc7a9 100%);border-radius:18px;grid-template-columns:1fr 1.15fr;min-height:340px;display:grid;position:relative;overflow:hidden}.moments-copy{z-index:2;flex-direction:column;justify-content:center;align-items:flex-start;padding:44px;display:flex;position:relative}.moments-kicker{color:#8d431b;letter-spacing:.6px;text-transform:uppercase;margin-bottom:13px;font-size:13px;font-weight:800}.moments-copy h2{color:#5b2c23;letter-spacing:-1.4px;max-width:420px;margin:0;font-size:clamp(30px,3vw,44px);line-height:1.05}.moments-copy p{color:#744739;max-width:470px;margin:17px 0 23px;font-size:15px;line-height:1.55}.moments-copy button{color:#fff;cursor:pointer;background:#5b2c23;border:0;border-radius:21px;align-items:center;gap:9px;height:42px;padding:0 18px;font-size:13px;font-weight:700;display:inline-flex}.moments-copy button:hover{background:#402019}.moments-art{position:relative}.sun-disc{background:#fffdcdb8;border-radius:50%;width:390px;height:390px;position:absolute;top:-90px;right:-55px;box-shadow:0 0 0 34px #fff6b238}.postcard{border:8px solid #fff;border-bottom-width:34px;border-radius:4px;place-items:center;display:grid;position:absolute;box-shadow:0 18px 30px #6f342233}.postcard svg{color:#fff;width:44px;height:44px}.postcard--one{z-index:3;background:linear-gradient(145deg,#e98e6a,#b84a6a);width:190px;height:224px;top:62px;left:11%;transform:rotate(-9deg)}.postcard--two{z-index:2;background:linear-gradient(145deg,#73caba,#238a91);width:180px;height:210px;top:28px;right:13%;transform:rotate(10deg)}.postcard--three{z-index:4;background:linear-gradient(145deg,#8d78dc,#51449c);width:173px;height:198px;bottom:-26px;right:4%;transform:rotate(-4deg)}.final-rail-section{padding-bottom:64px}.site-footer{background:#fbfbfc;border-top:1px solid #e2e4e7}.footer-grid{grid-template-columns:190px 190px 1fr;gap:42px;padding-top:42px;padding-bottom:34px;display:grid}.footer-grid>div{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.footer-grid h3{margin:0 0 5px;font-size:15px;font-weight:600}.footer-grid a,.footer-bottom a{color:#5f6368;font-size:13px}.footer-grid a:hover,.footer-bottom a:hover{color:var(--green)}.footer-grid .footer-note{text-align:right;justify-self:end;align-items:flex-end}.footer-note .play-logo{transform-origin:100%;transform:scale(.82)}.footer-note p{color:#70757a;max-width:420px;margin:0;font-size:12px;line-height:1.5}.footer-bottom{border-top:1px solid #e7e9ec;justify-content:space-between;align-items:center;gap:26px;min-height:74px;display:flex}.footer-bottom>div{flex-wrap:wrap;gap:25px;display:flex}.footer-bottom button{color:#5f6368;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:8px 0;font-size:13px;display:inline-flex}.modal-open{overflow:hidden}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#181c1f85;place-items:center;padding:24px;animation:.16s fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.app-modal{background:#fff;border-radius:26px;width:min(100%,610px);max-height:min(860px,100vh - 48px);padding:32px;animation:.22s cubic-bezier(.2,.75,.3,1) modal-up;position:relative;overflow-y:auto;box-shadow:0 24px 80px #10182040}.modal-close{z-index:2;cursor:pointer;background:#f1f3f4;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:18px;right:18px}.modal-hero{align-items:center;gap:23px;padding-right:48px;display:flex}.modal-hero .app-icon{flex:0 0 112px;width:112px;height:112px}.modal-kicker{color:var(--green);letter-spacing:.55px;text-transform:uppercase;font-size:12px;font-weight:800}.modal-hero h2{letter-spacing:-.8px;margin:7px 0 5px;font-size:30px}.modal-hero p{color:var(--green);margin:0;font-size:14px;font-weight:600}.modal-stats{grid-template-columns:repeat(3,1fr);margin:28px 0 22px;display:grid}.modal-stats>span{text-align:center;border-right:1px solid #e1e3e6;flex-direction:column;gap:4px;padding:0 16px;display:flex}.modal-stats>span:last-child{border-right:0}.modal-stats strong{font-size:14px}.modal-stats small{color:var(--muted);font-size:11px}.install-button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;height:44px;font-size:14px;font-weight:700;transition:background .15s;display:flex}.install-button:hover{background:var(--green-dark)}.install-button:disabled{cursor:default}.install-button--installing{background:#76aa98;position:relative;overflow:hidden}.install-button--installing:after{content:"";background:#fff;width:68%;height:3px;animation:1.1s ease-in-out installing;position:absolute;bottom:0;left:0}.install-button--installed{color:#137333;background:#e6f4ea}.modal-gallery{border-radius:14px;grid-template-columns:1.25fr .8fr .8fr;gap:10px;height:170px;margin:24px 0;display:grid;overflow:hidden}.modal-gallery span{background:radial-gradient(circle at 72% 26%,#ffffffe6 0 5%,#0000 5.5%),linear-gradient(145deg,#dff7ef,#69bda4);position:relative;overflow:hidden}.modal-gallery span:after{content:"";background:#ffffffd1;border-radius:22px 22px 0 0;height:138px;position:absolute;bottom:-42px;left:12px;right:12px;box-shadow:0 8px 20px #004d3624}.modal-gallery span:nth-child(2){background:linear-gradient(145deg,#e7dcff,#967ce0)}.modal-gallery span:nth-child(3){background:linear-gradient(145deg,#ffe9c7,#e8986a)}.app-modal h3{margin:0 0 9px;font-size:19px}.modal-description{color:#4d5156;margin:0;font-size:14px;line-height:1.6}.demo-note{color:#70757a;background:#f7f8f9;border-radius:10px;margin:17px 0 0;padding:12px 14px;font-size:11px;line-height:1.45}.notice-toast{z-index:120;color:#fff;opacity:0;pointer-events:none;background:#303134;border-radius:10px;max-width:min(360px,100vw - 48px);padding:12px 16px;font-size:13px;transition:opacity .18s,transform .18s;position:fixed;bottom:24px;right:24px;transform:translateY(12px);box-shadow:0 5px 18px #2021243d}.notice-toast--show{opacity:1;transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.activity-section{padding-top:28px}.activity-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.activity-heading h2{color:var(--ink);letter-spacing:-.45px;margin:0;font-size:23px;font-weight:600}.activity-heading p{color:var(--muted);margin:5px 0 0;font-size:14px}.activity-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:18px;min-width:0;display:grid}.activity-card{--activity-artwork:none;--activity-accent:#ef233c;color:#fff;background:#101114;border:1px solid #ffffff14;border-radius:21px;min-width:0;overflow:hidden;box-shadow:0 10px 30px #20212429,0 1px 3px #2021242e}.activity-card--spotify{--activity-accent:#1ed760}.activity-card__art{isolation:isolate;background-color:#202329;background-image:linear-gradient(180deg, #0506082e 0%, #07080a0d 36%, #0a0b0ef2 100%), var(--activity-artwork);background-position:50%;background-size:cover;flex-direction:column;justify-content:space-between;min-height:184px;padding:16px 18px 17px;display:flex;position:relative;overflow:hidden}.activity-card__art:after{z-index:-1;content:"";background:linear-gradient(90deg,#00000052,#0000 55%),radial-gradient(circle at 86% 5%,#ffffff1f,#0000 35%);position:absolute;inset:0}.activity-card__source{justify-content:space-between;align-items:center;gap:12px;display:flex}.activity-netflix-mark{color:#e50914;text-shadow:0 2px 5px #000000b3;background:#08080ac7;border-radius:7px;place-items:center;width:28px;height:28px;font-family:Arial Black,Arial,sans-serif;font-size:20px;font-weight:950;line-height:1;display:grid}.activity-spotify-mark{background:#1ed760;border-radius:50%;width:28px;height:28px;display:block;position:relative;overflow:hidden;box-shadow:0 3px 12px #00000059}.activity-spotify-mark i{border-top:2px solid #07140b;border-radius:50%;width:17px;height:8px;position:absolute;left:6px;transform:rotate(8deg)}.activity-spotify-mark i:first-child{top:7px}.activity-spotify-mark i:nth-child(2){width:15px;top:11px}.activity-spotify-mark i:nth-child(3){width:12px;top:15px}.activity-live{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);color:#ffffffe6;background:#08090cad;border:1px solid #ffffff29;border-radius:18px;align-items:center;gap:7px;padding:6px 9px;font-size:11px;font-weight:650;display:inline-flex}.activity-live i{background:#24d77a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #24d77a26}.activity-live svg{opacity:.72;stroke-width:2.2px;flex:0 0 13px;width:13px;height:13px}.activity-card__copy{min-width:0}.activity-card__copy>span{color:#ffffffb3;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:750;display:block}.activity-card__copy h3{letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(1.35rem,2.2vw,1.75rem);font-weight:720;overflow:hidden}.activity-card__copy p{color:#ffffffc2;text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:12px;overflow:hidden}.activity-card__remote{background:linear-gradient(#101114,#0b0c0e 72%),#101114;min-width:0;padding:0 18px 17px}.activity-progress{--activity-progress:0%;-webkit-appearance:none;appearance:none;background:linear-gradient(to right, var(--activity-accent) 0 var(--activity-progress), #ffffff40 var(--activity-progress) 100%) center / 100% 4px no-repeat;cursor:pointer;touch-action:pan-y;border:0;width:calc(100% + 36px);height:20px;margin:-8px -18px;padding:0}.activity-progress:disabled{cursor:default;opacity:.65}.activity-progress:focus-visible{filter:drop-shadow(0 0 4px #ffffffb8);outline:0}.activity-progress::-webkit-slider-runnable-track{background:0 0;border:0;height:4px}.activity-progress::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--activity-accent);opacity:0;border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin-top:-5px;transition:opacity .12s;box-shadow:0 1px 7px #00000073}.activity-progress::-moz-range-track{background:0 0;border:0;height:4px}.activity-progress::-moz-range-progress{background:0 0;height:4px}.activity-progress::-moz-range-thumb{background:var(--activity-accent);opacity:0;border:2px solid #fff;border-radius:50%;width:10px;height:10px;transition:opacity .12s;box-shadow:0 1px 7px #00000073}.activity-progress:hover::-webkit-slider-thumb{opacity:1}.activity-progress:active::-webkit-slider-thumb{opacity:1}.activity-progress:focus-visible::-webkit-slider-thumb{opacity:1}.activity-progress:hover::-moz-range-thumb{opacity:1}.activity-progress:active::-moz-range-thumb{opacity:1}.activity-progress:focus-visible::-moz-range-thumb{opacity:1}.activity-time{color:#ffffff94;font-variant-numeric:tabular-nums;justify-content:space-between;padding:8px 0 3px;font-size:10px;display:flex}.activity-marker-actions{gap:8px;padding:6px 0 2px;display:flex}.activity-skip-intro,.activity-next-episode-prompt{color:#fff;font:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:18px;align-items:center;gap:5px;padding:6px 14px 6px 10px;font-size:11px;font-weight:650;transition:background .12s,border-color .12s;animation:.22s ease-out activity-marker-in;display:inline-flex}.activity-skip-intro:hover,.activity-next-episode-prompt:hover{background:#ffffff29;border-color:#fff6}.activity-skip-intro:active,.activity-next-episode-prompt:active{transform:scale(.96)}.activity-skip-intro svg,.activity-next-episode-prompt svg{stroke-width:2.2px;opacity:.85;width:14px;height:14px}@keyframes activity-marker-in{0%{opacity:0;transform:translateY(4px)}}.activity-controls{align-items:center;gap:5px;min-width:0;padding-top:2px;display:flex}.activity-controls>button,.activity-volume button{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;transition:background .15s,color .15s,transform .15s;display:grid;position:relative}.activity-controls>button:hover,.activity-volume button:hover,.activity-controls>button.is-active{background:#ffffff1f}.activity-controls>button:disabled,.activity-subtitle-editor button:disabled{opacity:.38;cursor:not-allowed}.activity-controls>button:disabled:hover,.activity-subtitle-editor button:disabled:hover{background:0 0}.activity-controls>button:active,.activity-volume button:active{transform:scale(.94)}:is(.activity-controls button:focus-visible,.activity-controls select:focus-visible,.activity-controls input:focus-visible,.activity-subtitle-editor button:focus-visible,.activity-subtitle-editor select:focus-visible,.activity-subtitle-editor input:focus-visible){outline-offset:2px;outline:2px solid #8ab4f8}.activity-controls svg{stroke-width:2.1px;width:23px;height:23px}.activity-controls--spotify{max-width:520px}.activity-ten-second span{text-align:center;width:100%;font-size:8px;font-weight:800;position:absolute;top:15px;left:0}.activity-volume{flex:132px;align-items:center;min-width:90px;max-width:180px;display:flex}.activity-volume input,.activity-subtitle-size input{min-width:0;height:18px;accent-color:var(--activity-accent,#ef233c);cursor:pointer;flex:1;margin:0}.activity-volume input{--activity-volume:100%;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg, #ffffffeb 0 var(--activity-volume), #ffffff47 var(--activity-volume) 100%) center / 100% 3px no-repeat;height:24px}.activity-volume input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:0;border-radius:50%;width:12px;height:12px;box-shadow:0 1px 3px #00000080}.activity-volume input::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:12px;height:12px}.activity-episode-picker{color:#ffffffdb;background:#ffffff12;border:1px solid #ffffff26;border-radius:18px;flex:145px;align-items:center;gap:6px;min-width:116px;max-width:220px;height:36px;padding:0 8px;display:flex}.activity-episode-picker>svg{flex:0 0 17px;width:17px;height:17px}.activity-episode-picker select{width:100%;min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;outline:0;font-size:11px;font-weight:650}.activity-episode-picker option{color:#fff;background:#17191d}.activity-movie-search-overlay{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;justify-content:center;align-items:stretch;animation:.16s fade-in;display:flex;position:fixed;inset:0}.activity-movie-search{color:#fff;background:#17191d;border-left:1px solid #ffffff1a;border-right:1px solid #ffffff1a;flex-direction:column;width:min(100%,520px);height:100%;padding:22px;animation:.22s cubic-bezier(.2,.75,.3,1) modal-up;display:flex;overflow:hidden;box-shadow:0 0 60px #00000080,inset 0 0 0 1px #ffffff0f}.activity-movie-search__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.activity-movie-search__header h3{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:720}.activity-movie-search__now{color:#ffffff80;margin-top:3px;font-size:12px;font-weight:500;display:block}.activity-movie-search__header>button{color:#ffffffb3;cursor:pointer;background:#ffffff14;border:0;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;transition:background .15s;display:grid}.activity-movie-search__header>button:hover{background:#ffffff26}.activity-movie-search__header>button svg{width:18px;height:18px}.activity-movie-search__field{color:#ffffffa8;background:#0405077a;border:1px solid #ffffff2e;border-radius:11px;align-items:center;gap:8px;height:39px;padding:0 8px 0 11px;display:flex}.activity-movie-search__field:focus-within{border-color:#8ab4f8d1;box-shadow:0 0 0 1px #8ab4f83d}.activity-movie-search__field>svg{flex:0 0 17px;width:17px;height:17px}.activity-movie-search__field input{color:#fff;background:0 0;border:0;outline:0;width:100%;min-width:0;height:100%;padding:0;font-size:12px}.activity-movie-search__field input::placeholder{color:#ffffff7a}.activity-movie-search__field input::-webkit-search-cancel-button{display:none}.activity-movie-search__field button{color:#ffffffc2;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;padding:0;display:grid}.activity-movie-search__field button:hover{background:#ffffff1c}.activity-movie-search__field button svg{width:16px;height:16px}.activity-movie-search__heading{align-items:center;gap:10px;min-height:32px;padding:4px 1px 3px;display:flex}.activity-movie-search__heading strong{color:#ffffffe6;font-size:11px;font-weight:720}.activity-movie-search__notice{color:#ffb4ab;margin:0 0 7px;font-size:10px;line-height:1.4}.activity-movie-search__results{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff42 transparent;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;min-height:0;display:grid;overflow-y:auto}.activity-movie-search__results>button{color:#fff;text-align:left;cursor:pointer;background:#ffffff0e;border:1px solid #0000;border-radius:10px;align-items:center;gap:9px;min-width:0;min-height:58px;padding:5px;transition:border-color .14s,background .14s,transform .14s;display:flex}.activity-movie-search__results>button:hover{background:#ffffff1c;border-color:#ffffff26}.activity-movie-search__results>button:active{transform:scale(.985)}.activity-movie-search__results>button:disabled{opacity:.58;cursor:wait}.activity-movie-search__art{background:#25272b;border-radius:7px;flex:0 0 76px;width:76px;height:46px;display:block;position:relative;overflow:hidden}.activity-movie-search__art img{object-fit:cover;width:100%;height:100%}.activity-movie-search__art>svg{background:#000000ad;border-radius:50%;width:20px;height:20px;padding:3px;position:absolute;top:calc(50% - 10px);left:calc(50% - 10px)}.activity-track-search__art{background-position:50%;background-size:cover;flex-basis:58px;width:58px;height:58px}.activity-track-search__art>span{place-items:center;font-size:20px;font-weight:750;display:grid;position:absolute;inset:0}.activity-movie-search__copy{flex-direction:column;gap:3px;min-width:0;display:flex}.activity-movie-search__copy strong,.activity-movie-search__copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-movie-search__copy strong{font-size:11px;font-weight:680}.activity-movie-search__copy small{color:#ffffff8c;font-size:9px}.activity-movie-search__empty{color:#ffffff8f;text-align:center;flex:1;justify-content:center;align-items:center;gap:8px;min-height:68px;font-size:11px;display:flex}.activity-movie-search__empty svg{width:18px;height:18px}.activity-movie-search .spin{animation:.8s linear infinite activity-spin}.activity-subtitle-editor{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:13px;grid-template-columns:minmax(170px,1fr) auto minmax(135px,.75fr) auto;align-items:center;gap:12px;margin-top:12px;padding:13px;animation:.15s ease-out fade-in;display:grid}.activity-subtitle-editor__heading{color:#ffffffeb;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:700;display:flex}.activity-subtitle-editor__heading>span{align-items:center;gap:7px;display:inline-flex}.activity-subtitle-editor__heading svg{width:16px;height:16px}.activity-caption-toggle,.activity-reset-position{color:#ffffffd9;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:16px;font-size:10px;font-weight:700}.activity-caption-toggle{min-width:42px;padding:5px 9px}.activity-caption-toggle[aria-pressed=true]{color:#8bf0b8;background:#24d77a29;border-color:#24d77a73}.activity-subtitle-size,.activity-subtitle-color,.activity-subtitle-background{color:#ffffffa3;align-items:center;gap:8px;min-width:0;font-size:10px;font-weight:650;display:flex}.activity-subtitle-size output{color:#ffffffd1;font-variant-numeric:tabular-nums;width:31px;font-size:9px}.activity-subtitle-color input{cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:7px;width:31px;height:25px;padding:2px}.activity-subtitle-background select{color:#fff;background:#1c1e22;border:1px solid #ffffff24;border-radius:8px;flex:1;min-width:0;padding:6px 24px 6px 8px;font-size:10px}.activity-reset-position{white-space:nowrap;padding:7px 10px}.activity-reset-position:hover{background:#ffffff1a}.activity-empty{color:#3c4043;background:radial-gradient(circle at 4% 0,#00875f17,#0000 32%),#f8faf9;border:1px solid #e5e8e7;border-radius:17px;align-items:center;gap:15px;min-height:84px;padding:15px 18px;display:flex}.activity-empty__icon{background:var(--green-soft);width:44px;height:44px;color:var(--green-dark);border-radius:13px;flex:0 0 44px;place-items:center;display:grid}.activity-empty__icon svg{width:19px;height:19px}.activity-empty>span:last-child{flex-direction:column;gap:3px;min-width:0;display:flex}.activity-empty strong{font-size:13px;font-weight:650}.activity-empty small{color:var(--muted);font-size:12px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes activity-spin{to{transform:rotate(360deg)}}@keyframes modal-up{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes installing{0%{width:0}to{width:100%}}@media (min-width:1160px){.app-rail{grid-auto-columns:calc(12.5% - 20.125px)}}@media (max-width:1080px){.main-nav{gap:22px;margin-left:28px}.main-nav a:nth-last-child(-n+2){display:none}.promo-rail{grid-template-columns:repeat(3,minmax(390px,1fr))}.feature-grid{scrollbar-width:none;grid-template-columns:repeat(3,minmax(300px,1fr));padding-bottom:6px;overflow-x:auto}.feature-grid::-webkit-scrollbar{display:none}.charts-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:1199px){.store-container{width:calc(100% - 96px)}.app-rail{grid-auto-columns:calc(16.6667% - 13.3333px);gap:16px}}@media (max-width:760px){.store-container{width:calc(100% - 96px)}.topbar{height:104px}.topbar__inner{height:56px;padding:0 12px;position:relative}.brand-link{margin-left:8px;display:flex}.play-logo{gap:7px;font-size:19px}.play-mark{width:31px;height:35px}.main-nav{scrollbar-width:none;background:#fff;align-items:stretch;gap:0;height:48px;margin:0;padding:0 12px;display:flex;position:absolute;top:56px;left:0;right:0;overflow-x:auto}.main-nav a,.main-nav a:nth-last-child(-n+2){border-radius:0;flex:1 0 auto;place-items:center;min-width:max-content;min-height:48px;padding:0 17px;font-size:13px;display:grid}.main-nav a:after{display:block}.top-actions{gap:0}.top-actions>button,.store-access-trigger{width:38px;height:38px}.store-help-button{display:none}.device-section{padding-top:18px}.device-tabs{margin-right:-48px;padding-right:48px}.device-tabs button{min-height:34px;padding:0 14px;font-size:13px}.first-section{padding-top:25px}.section-heading{align-items:center;margin-bottom:19px}.section-heading h1,.section-heading h2{font-size:20px}.section-heading p{max-width:290px;font-size:13px;line-height:1.4}.view-more{width:36px;height:36px}.app-rail{grid-auto-columns:calc(25% - 12px);gap:16px;margin-right:-48px;padding-right:48px}.app-icon{border-radius:22%}.app-card__name{margin-top:11px;font-size:13px}.rail-arrow{display:none}.editorial-section,.ai-section,.charts-section,.moments-section,.final-rail-section{padding-top:38px}.promo-rail{grid-template-columns:repeat(3,100%);gap:16px;margin-right:-48px;padding-right:48px}.promo-card{min-height:380px}.promo-art{inset:0 0 105px}.promo-copy h3{font-size:20px}.feature-grid{grid-template-columns:repeat(3,100%);gap:16px;margin-right:-48px;padding-right:48px}.feature-card{min-height:266px}.charts-grid{grid-template-columns:1fr}.chart-row{padding-inline:4px}.moments-banner{grid-template-columns:1fr;min-height:580px}.moments-copy{justify-content:flex-start;padding:32px 26px}.moments-copy h2{max-width:330px;font-size:34px}.moments-copy p{max-width:340px}.moments-art{min-height:260px}.sun-disc{width:300px;height:300px;top:-55px;right:-72px}.postcard--one{width:145px;height:176px;top:-8px;left:10%}.postcard--two{width:140px;height:165px;top:-28px;right:8%}.postcard--three{width:130px;height:156px;bottom:-50px;right:7%}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}.footer-grid .footer-note{text-align:left;grid-column:1/-1;justify-self:start;align-items:flex-start}.footer-note .play-logo{transform-origin:0}.footer-bottom{flex-direction:column;align-items:flex-start;padding-top:22px;padding-bottom:22px}.footer-bottom>div{gap:15px 22px}.modal-backdrop{align-items:end;padding:0}.app-modal{border-radius:24px 24px 0 0;width:100%;max-height:calc(100vh - 28px);padding:27px 20px 24px}.modal-close{top:14px;right:14px}.modal-hero{gap:17px;padding-right:39px}.modal-hero .app-icon{flex-basis:86px;width:86px;height:86px}.modal-hero h2{font-size:24px}.modal-stats>span{padding:0 7px}.modal-gallery{height:135px}}@media (max-width:599px){.store-container{width:calc(100% - 48px)}.device-tabs,.app-rail,.promo-rail,.feature-grid{margin-right:-24px;padding-right:24px}.app-rail{grid-auto-columns:calc(33.3333% - 8px);gap:12px}}@media (max-width:420px){.promo-rail,.feature-grid{grid-template-columns:repeat(3,100%)}}@media (max-width:760px){.activity-section{padding-top:23px}.activity-heading{align-items:center;margin-bottom:15px}.activity-heading h2{font-size:20px}.activity-heading p{max-width:260px;font-size:13px;line-height:1.4}.activity-card__art{min-height:166px}.activity-controls{flex-wrap:wrap}.activity-volume{max-width:none}.activity-subtitle-editor{grid-template-columns:minmax(150px,1fr) auto}.activity-subtitle-background{min-width:150px}}@media (max-width:599px){.activity-heading{flex-direction:column;align-items:stretch;gap:12px}.activity-heading p{max-width:310px}.activity-list{gap:14px}.activity-card{border-radius:18px}.activity-card__art{min-height:154px;padding:13px 14px 15px}.activity-card__copy h3{font-size:21px}.activity-card__remote{padding:0 13px 14px}.activity-progress{width:calc(100% + 26px);margin-inline:-13px}.activity-controls{gap:3px}.activity-controls>button,.activity-volume button{flex-basis:38px;width:38px;height:38px}.activity-volume{flex-basis:100%;order:2;min-width:100%;padding-right:7px}.activity-episode-picker{flex-basis:calc(100% - 42px);order:3;max-width:none}.activity-subtitle-editor{grid-template-columns:1fr;gap:11px}.activity-movie-search{padding:16px}.activity-movie-search__results{grid-template-columns:1fr}.activity-subtitle-editor__heading{grid-column:1}.activity-subtitle-size,.activity-subtitle-color,.activity-subtitle-background{justify-content:space-between}.activity-subtitle-size input{max-width:170px}.activity-subtitle-background{min-width:0}.activity-reset-position{width:100%}}.embedded-app{z-index:320;color:#fff;background:#050505;flex-direction:column;min-width:0;min-height:0;animation:.18s ease-out embedded-app-in;display:flex;position:fixed;inset:0;overflow:hidden}.embedded-app__bar{z-index:2;background:#101114;border-bottom:1px solid #ffffff1a;flex:0 0 50px;grid-template-columns:1fr auto 1fr;align-items:center;min-height:50px;padding:0 clamp(12px,3vw,28px);display:grid;position:relative;box-shadow:0 5px 18px #0000004d}.embedded-app__bar button{color:#e9eaed;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;width:max-content;padding:8px 10px 8px 6px;font-size:13px;font-weight:650;display:inline-flex}.embedded-app__bar button:hover{background:#ffffff17}.embedded-app__bar strong{letter-spacing:.01em;font-size:14px;font-weight:650}.embedded-app iframe{opacity:0;background:#080808;border:0;flex:1;width:100%;min-width:0;min-height:0;transition:opacity .18s}.embedded-app iframe.is-loaded{opacity:1}.embedded-app__loading{z-index:1;color:#c7c9ce;text-align:center;background:#080808;place-content:center;gap:12px;font-size:13px;display:grid;position:absolute;inset:50px 0 0}.embedded-app__loading svg{margin:auto;animation:.9s linear infinite embedded-app-spin}@keyframes embedded-app-in{0%{opacity:0;transform:translateY(8px)}}@keyframes embedded-app-spin{to{transform:rotate(1turn)}}.kbapp-layer{z-index:300;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;color:#22272a;background:radial-gradient(circle at 86% 4%,#b7ccc066,#0000 31rem),#f1eee7;animation:.22s ease-out kbapp-in;position:fixed;inset:0;overflow-y:auto}.kbapp-header{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f1eee7e6;border-bottom:1px solid #22272a21;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;padding:0 clamp(18px,4vw,58px);display:grid;position:sticky;top:0}.kbapp-back,.kbapp-close,.kbapp-clear{cursor:pointer;background:0 0;border:0}.kbapp-back{color:#59605d;align-items:center;gap:8px;width:max-content;font-size:12px;font-weight:700;display:inline-flex}.kbapp-back svg{width:18px}.kbapp-brand{align-items:center;gap:10px;display:flex}.kbapp-brand>span{color:#fff;background:#202629;border-radius:10px;place-items:center;width:38px;height:38px;display:grid;box-shadow:inset 0 -4px #111416}.kbapp-brand svg{width:20px}.kbapp-brand>div{flex-direction:column;gap:2px;display:flex}.kbapp-brand strong{font-size:14px}.kbapp-brand small{color:#777c78;letter-spacing:.05em;text-transform:uppercase;font-size:9px}.kbapp-close{color:#5e6461;border-radius:50%;justify-self:end;place-items:center;width:40px;height:40px;display:grid}.kbapp-header-actions{justify-self:end;align-items:center;gap:2px;display:flex}.kbapp-access{color:#5e6461;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.kbapp-access svg{width:20px;height:20px}.kbapp-access:hover{background:#22272a14}.access-popover.kbapp-access-popover{--access-mobile-top:calc(62px + env(safe-area-inset-top))}.kbapp-close:hover{background:#22272a14}.kbapp-close svg{width:20px}.kbapp-main{width:min(100% - 40px,1420px);margin-inline:auto;padding-bottom:70px}.kbapp-intro{grid-template-columns:1.1fr .7fr;align-items:center;gap:60px;min-height:285px;padding:45px clamp(8px,3vw,40px);display:grid}.kbapp-kicker,.kbapp-focused-copy>span{color:#dd5d40;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.kbapp-intro h1{letter-spacing:-.06em;margin:13px 0 0;font-size:clamp(50px,6vw,82px);line-height:.9}.kbapp-intro h1 em{color:#ef694a;font-family:Georgia,Times New Roman,serif;font-weight:400}.kbapp-intro>p{color:#626863;max-width:440px;margin:0;font-size:16px;line-height:1.65}.kbapp-workspace{background:#faf8f3;border:1px solid #22272a24;border-radius:25px;overflow:hidden;box-shadow:0 28px 80px #34302821}.kbapp-alert{color:#873824;background:#fff1ec;border-bottom:1px solid #993e2933;align-items:center;gap:10px;min-height:46px;padding:9px 16px;font-size:12px;font-weight:650;display:flex}.kbapp-alert>svg{flex:none;width:17px;height:17px}.kbapp-alert span{flex:1;min-width:0}.kbapp-alert button{width:30px;height:30px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.kbapp-alert button:hover{background:#87382417}.kbapp-alert button svg{width:15px}.kbapp-toolbar{border-bottom:1px solid #dedad2;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:14px 22px;display:flex}.kbapp-tabs{background:#ece9e2;border:1px solid #d7d3ca;border-radius:13px;gap:4px;padding:4px;display:flex}.kbapp-tabs button{color:#737873;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;height:39px;padding:0 16px;font-size:11px;font-weight:700;display:inline-flex}.kbapp-tabs button.active{color:#24282a;background:#fff;box-shadow:0 2px 8px #2d2a241c}.kbapp-tabs svg,.kbapp-clear svg{width:16px}.kbapp-clear{color:#6b706c;border:1px solid #d9d5cd;border-radius:10px;align-items:center;gap:7px;height:38px;padding:0 12px;font-size:10px;font-weight:700;display:inline-flex}.kbapp-clear:hover{background:#efede7}.kbapp-status{background:#f1eee7;border:1px solid #d9d5cd;border-radius:10px;align-items:center;gap:18px;margin:0;padding:6px 14px;display:flex}.kbapp-status>div{align-items:center;gap:7px;min-width:0;display:flex}.kbapp-status dt{color:#8a8c87;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:800}.kbapp-status dd{color:#ef694a;text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:Georgia,Times New Roman,serif;font-size:16px;overflow:hidden}.kbapp-status code{color:#555c58;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.kbapp-board-shell{--kb-gap:clamp(3px, .46vw, 7px);--kb-height:clamp(37px, 3.8vw, 52px);background:linear-gradient(145deg,#ffffff0a,#0000 28%),#202527;border:1px solid #0c0e0f;border-radius:21px;margin:clamp(15px,2.3vw,32px);padding:clamp(14px,2vw,26px);box-shadow:0 14px #121517,0 25px 38px #1f1f1b47}.kbapp-board-top{color:#68706d;justify-content:flex-end;align-items:flex-start;gap:9px;height:25px;display:flex}.kbapp-board-top span{letter-spacing:.11em;margin-right:auto;font-size:8px;font-weight:800}.kbapp-board-top i{background:#3c4240;border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 1px #111}.kbapp-board-top i.on{background:#75dc89;box-shadow:0 0 7px #75dc89cc}.kbapp-function-row,.kbapp-row{gap:var(--kb-gap);display:flex}.kbapp-function-row{margin-bottom:calc(var(--kb-gap) * 1.7)}.kbapp-function-row .kbapp-key{flex:1 1 0;min-width:0}.kbapp-function-row .kbapp-key.has-gap{margin-left:calc(var(--kb-gap) * 1.2)}.kbapp-zones{grid-template-columns:minmax(570px,15fr) minmax(120px,3fr) minmax(164px,4fr);align-items:stretch;gap:clamp(10px,1.1vw,18px);display:grid}.kbapp-alpha{grid-template-rows:repeat(5, var(--kb-height));gap:var(--kb-gap);display:grid}.kbapp-row .kbapp-key{flex:var(--kb-width) var(--kb-width) 0;min-width:0}.kbapp-key{height:var(--kb-height);color:#343937;cursor:pointer;text-align:center;text-transform:lowercase;touch-action:manipulation;background:#f4efe6;border:1px solid #bbb6ac;border-radius:clamp(5px,.6vw,8px);place-items:center;min-width:0;padding:4px;font-size:clamp(6px,.72vw,10px);font-weight:700;line-height:1;transition:all 80ms;display:grid;position:relative;overflow:hidden;box-shadow:0 4px #aaa49a,0 6px 7px #00000047}.kbapp-key:hover{background:#fffdf8}.kbapp-key:focus-visible{z-index:2;outline-offset:2px;outline:2px solid #ef694a}.kbapp-key:active,.kbapp-key.is-active{color:#fff;background:#ef694a;transform:translateY(3px);box-shadow:0 1px #c84e34}.kbapp-key--modifier{color:#344139;background:#c8d4cc;border-color:#9dac9f;box-shadow:0 4px #829087,0 6px 7px #00000047}.kbapp-key--system{background:#e2d2bd;border-color:#baa992;box-shadow:0 4px #978a76,0 6px 7px #00000047}.kbapp-key--accent{color:#fff;background:#ef8064;border-color:#c75c43;box-shadow:0 4px #a74731,0 6px 7px #00000047}.kbapp-key small{color:#7e817d;font-size:.72em;font-weight:600;position:absolute;top:5px;left:6px}.kbapp-key.is-active small{color:#ffffffb8}.kbapp-navigation{flex-direction:column;justify-content:space-between;min-width:0;display:flex}.kbapp-nav-grid,.kbapp-arrow-grid{gap:var(--kb-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.kbapp-nav-grid{grid-template-rows:repeat(2, var(--kb-height))}.kbapp-arrow-grid{grid-template-areas:".up.""left down right";grid-template-rows:repeat(2, var(--kb-height))}.kbapp-arrow-grid .kbapp-key{font-size:clamp(11px,1.1vw,17px)}.kbapp-numpad{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"num divide multiply subtract""seven eight nine add""four five six add""one two three enter""zero zero decimal enter";grid-template-rows:repeat(5, var(--kb-height));gap:var(--kb-gap);min-width:0;display:grid}.kbapp-numpad .kbapp-key{height:auto}.kbapp-focused{grid-template-columns:minmax(220px,.8fr) minmax(310px,1fr);align-items:center;gap:clamp(40px,8vw,120px);min-height:380px;padding:35px clamp(25px,7vw,105px) 55px;display:grid}.kbapp-focused-copy{flex-direction:column;align-items:flex-start;display:flex}.kbapp-focused strong{color:#f5f1e8;margin-top:8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(35px,4vw,58px);font-weight:400}.kbapp-focused p{color:#919894;max-width:290px;margin:13px 0 0;font-size:12px;line-height:1.5}.kbapp-board-shell--numpad,.kbapp-board-shell--navigation{max-width:950px;margin-inline:auto}.kbapp-focused .kbapp-numpad{--kb-height:clamp(52px, 5.5vw, 72px);justify-self:end;width:100%;max-width:390px}.kbapp-focused .kbapp-navigation{--kb-height:clamp(52px, 5.5vw, 72px);justify-self:end;width:100%;max-width:390px;min-height:280px}.kbapp-trackpad-panel{padding:clamp(18px,3vw,40px)}.kbapp-trackpad-wrap{grid-template-rows:1fr auto;gap:clamp(14px,2vw,22px);max-width:900px;margin-inline:auto;display:grid}.kbapp-trackpad-surface{cursor:none;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(at 50% 30%,#ffffff0a,#0000 60%),linear-gradient(#2a2e30 0%,#1a1d1f 100%);border:1px solid #0c0e0f;border-radius:21px;place-items:center;min-height:clamp(260px,32vw,420px);transition:box-shadow .2s;display:grid;position:relative;box-shadow:0 14px #121517,0 25px 38px #1f1f1b47,inset 0 1px #ffffff0f}.kbapp-trackpad-surface:active{box-shadow:0 10px #121517,0 18px 28px #1f1f1b38,inset 0 1px #ffffff0f,inset 0 0 60px #ef694a0f}.kbapp-trackpad-hint{color:#5a5e5b;pointer-events:none;flex-direction:column;align-items:center;gap:10px;transition:opacity .2s;display:flex}.kbapp-trackpad-surface:active .kbapp-trackpad-hint{opacity:.3}.kbapp-trackpad-hint svg{color:#6b706c;width:32px;height:32px}.kbapp-trackpad-hint span{letter-spacing:.02em;font-size:13px;font-weight:700}.kbapp-trackpad-hint small{color:#464946;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600}.kbapp-trackpad-buttons{grid-template-columns:2fr 1fr 1fr;gap:clamp(6px,.8vw,10px);display:grid}.kbapp-trackpad-btn{color:#343937;cursor:pointer;text-transform:lowercase;touch-action:manipulation;background:#f4efe6;border:1px solid #bbb6ac;border-radius:clamp(10px,1.1vw,14px);justify-content:center;align-items:center;height:clamp(48px,5vw,62px);padding:0 16px;font-size:clamp(10px,1.1vw,13px);font-weight:700;transition:all 80ms;display:flex;box-shadow:0 4px #aaa49a,0 6px 7px #0000002e}.kbapp-trackpad-btn:hover{background:#fffdf8}.kbapp-trackpad-btn:active{color:#fff;background:#ef694a;transform:translateY(3px);box-shadow:0 1px #c84e34}.kbapp-trackpad-btn--click{color:#fff;background:#ef8064;border-color:#c75c43;box-shadow:0 4px #a74731,0 6px 7px #0000002e}.kbapp-trackpad-btn--click:hover{background:#f58f77}.kbapp-trackpad-btn--click:active{background:#d54e35;box-shadow:0 1px #9e3822}.kbapp-trackpad-btn--right{color:#344139;background:#c8d4cc;border-color:#9dac9f;box-shadow:0 4px #829087,0 6px 7px #0000002e}.kbapp-trackpad-btn--right:hover{background:#d4e0d8}.kbapp-trackpad-btn--right:active{color:#fff;background:#ef694a;box-shadow:0 1px #c84e34}.kbapp-trackpad-btn--double{color:#3e3628;background:#e2d2bd;border-color:#baa992;box-shadow:0 4px #978a76,0 6px 7px #0000002e}.kbapp-trackpad-btn--double:hover{background:#ecdecb}.kbapp-trackpad-btn--double:active{color:#fff;background:#ef694a;box-shadow:0 1px #c84e34}@keyframes kbapp-in{0%{opacity:0;transform:translateY(8px)}}@media (max-width:900px){.kbapp-intro{grid-template-columns:1fr;gap:22px;min-height:250px}.kbapp-intro>p{max-width:600px}.kbapp-board-shell{--kb-height:clamp(32px, 5vw, 42px)}.kbapp-zones{grid-template-columns:1fr}.kbapp-zones .kbapp-alpha{grid-column:1/-1}.kbapp-zones>.kbapp-navigation,.kbapp-zones>.kbapp-numpad{grid-row:2}.kbapp-zones>.kbapp-navigation{width:min(100%,290px)}.kbapp-zones>.kbapp-numpad{justify-self:end;width:min(100%,380px)}}@media (max-width:620px){.kbapp-header{min-height:62px;padding-right:max(13px, env(safe-area-inset-right));padding-left:max(13px, env(safe-area-inset-left))}.kbapp-back span,.kbapp-brand small{display:none}.kbapp-main{width:calc(100% - 16px);padding-bottom:max(42px, env(safe-area-inset-bottom))}.kbapp-intro{gap:16px;min-height:0;padding:30px 12px 32px}.kbapp-intro h1{font-size:clamp(39px,12.5vw,48px);line-height:.94}.kbapp-intro>p{max-width:36rem;font-size:14px;line-height:1.55}.kbapp-workspace{border-radius:18px}.kbapp-toolbar{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.kbapp-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;display:grid}.kbapp-tabs button{justify-content:center;min-width:0;height:42px;padding-inline:8px;font-size:10px}.kbapp-status{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;padding:8px 10px;display:grid}.kbapp-status>div{grid-template-columns:auto minmax(0,1fr);display:grid}.kbapp-board-shell{--kb-gap:3px;--kb-height:clamp(34px, 10vw, 40px);border-radius:14px;margin:9px 6px 22px;padding:10px 8px 15px;box-shadow:0 9px #121517,0 16px 25px #1f1f1b42}.kbapp-board-shell--full{overscroll-behavior-x:contain;scrollbar-color:#68706d transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overflow-x:auto}.kbapp-board-shell--full .kbapp-board-top,.kbapp-board-shell--full .kbapp-function-row,.kbapp-board-shell--full .kbapp-zones{width:680px}.kbapp-trackpad-panel{padding:12px}.kbapp-trackpad-surface{border-radius:14px;min-height:220px}.kbapp-trackpad-btn{border-radius:8px;height:44px;font-size:9px}.kbapp-trackpad-hint svg{width:24px;height:24px}.kbapp-trackpad-hint span{font-size:11px}.kbapp-trackpad-hint small{font-size:8px}.kbapp-function-row .kbapp-key{border-radius:4px;height:30px;padding:2px;font-size:6px}.kbapp-function-row .kbapp-key.has-gap{margin-left:calc(var(--kb-gap) * 1.2)}.kbapp-key{border-radius:4px;padding:2px;font-size:7px}.kbapp-key small{top:3px;left:3px}.kbapp-zones{gap:13px}.kbapp-zones>.kbapp-navigation{width:42%}.kbapp-zones>.kbapp-numpad{width:55%}.kbapp-focused{flex-direction:column;align-items:stretch;gap:28px;min-height:0;padding:24px 14px 37px;display:flex}.kbapp-focused-copy{width:100%}.kbapp-focused strong{font-size:clamp(34px,11vw,44px)}.kbapp-focused .kbapp-numpad,.kbapp-focused .kbapp-navigation{--kb-height:clamp(48px, 14vw, 58px);flex:none;width:100%;max-width:none}.kbapp-focused .kbapp-navigation{min-height:clamp(222px,69vw,274px)}}@media (max-width:350px){.kbapp-brand{gap:7px}.kbapp-brand>span{width:34px;height:34px}.kbapp-brand strong{font-size:12px}.kbapp-intro{padding-inline:8px}.kbapp-tabs button{padding-inline:5px}.kbapp-focused{padding-inline:10px}}.rsapp-layer{--rsapp-panel-width:min(394px, calc(100vw - 20px));z-index:340;color:#5f6368;background:#898989;animation:.18s ease-out rsapp-in;position:fixed;inset:0;overflow:hidden}.rsapp-sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rsapp-display-bar{z-index:2;background:#f8f9fa;border-bottom:1px solid #dadce0;height:47px;display:flex;position:absolute;top:0;left:0;right:0}.rsapp-display-bar__mark{color:#6b6f72;border-right:1px solid #dadce0;flex:0 0 49px;place-items:center;width:49px;display:grid}.rsapp-display-bar__mark svg{stroke-width:1.8px;width:17px;height:17px}.rsapp-display-tabs{scrollbar-width:none;flex:1;align-items:stretch;min-width:0;display:flex;overflow:auto hidden}.rsapp-display-tabs::-webkit-scrollbar{display:none}.rsapp-display-tabs button{color:#5f6368;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-right:1px solid #dadce0;flex:none;justify-content:center;align-items:center;gap:5px;min-width:150px;height:47px;padding:0 16px;font-size:14px;font-weight:500;display:inline-flex;overflow:hidden}.rsapp-display-tabs button:hover{background:#f1f3f4}.rsapp-display-tabs button.is-selected{color:#1a73e8;background:#fff;border:1px solid #dadce0;border-bottom-color:#fff;border-radius:10px 10px 0 0;height:47px;margin-top:0;position:relative}.rsapp-display-tabs button svg{stroke-width:1.8px;flex:0 0 16px;width:16px;height:16px}.rsapp-display-tabs button span{text-overflow:ellipsis;overflow:hidden}.rsapp-display-tabs button small{color:#80868b;font-size:11px;font-weight:450}.rsapp-display-tabs button.is-selected small{color:#1a73e8}.rsapp-display-tabs__loading{color:#6f7478;align-items:center;gap:8px;min-width:170px;padding:0 18px;font-size:13px;display:inline-flex}.rsapp-display-tabs__loading svg{width:16px}.rsapp-stage{z-index:1;overscroll-behavior:contain;background:#898989;position:absolute;inset:47px 0 0;overflow:hidden}.rsapp-stage.is-native-size{overflow:auto}.rsapp-stage__sizer{place-items:center;width:max-content;min-width:100%;height:max-content;min-height:100%;display:grid}.rsapp-screen{cursor:default;touch-action:none;-webkit-user-select:none;user-select:none;background:#000;outline:0;flex:none;min-width:1px;min-height:1px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #00000014}.rsapp-screen:focus-visible{box-shadow:0 0 0 2px #8ab4f8,0 0 0 5px #1a73e859}.rsapp-screen:not(.is-connected){cursor:default}.rsapp-screen img{pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.rsapp-screen.is-smooth img{image-rendering:auto}.rsapp-screen.is-crisp img{image-rendering:pixelated}.rsapp-stage__status{z-index:3;pointer-events:none;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.rsapp-status-card{color:#3c4043;text-align:center;pointer-events:auto;background:#fffffff5;border:1px solid #dadce0e6;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:188px;padding:27px 30px;display:flex;box-shadow:0 8px 32px #2021243d}.rsapp-status-card__icon{color:#5f6368;place-items:center;width:40px;height:40px;margin-bottom:11px;display:grid}.rsapp-status-card__icon svg{width:27px;height:27px}.rsapp-status-card>strong{font-size:17px;font-weight:600}.rsapp-status-card p{color:#6a6e72;max-width:330px;margin:7px 0 0;font-size:13px;line-height:1.45}.rsapp-status-card button{color:#fff;cursor:pointer;background:#1a73e8;border:0;border-radius:4px;align-items:center;gap:8px;min-height:38px;margin-top:18px;padding:0 17px;font-size:13px;font-weight:600;display:inline-flex}.rsapp-status-card button:hover{background:#1765cc}.rsapp-status-card button svg{width:16px}.rsapp-panel{z-index:6;width:var(--rsapp-panel-width);color:#5f6368;background:#fff;border-left:1px solid #dadce0;flex-direction:column;height:100dvh;transition:transform .18s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-7px 0 20px #3c404324}.rsapp-layer.has-open-panel .rsapp-panel{transform:translate(0)}.rsapp-panel[aria-hidden=true]{visibility:hidden;transition:transform .18s,visibility 0s linear .18s}.rsapp-panel__header{flex:0 0 54px;grid-template-columns:1fr 1fr 1fr;align-items:center;height:54px;padding:0 12px;display:grid}.rsapp-panel__header button{color:#666a6d;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.rsapp-panel__header button:nth-child(2){justify-self:center}.rsapp-panel__header-actions{justify-self:end;align-items:center;gap:2px;display:flex}.access-popover.rsapp-access-popover{--access-mobile-top:calc(54px + env(safe-area-inset-top))}.rsapp-panel__header button:hover{background:#f1f3f4}.rsapp-panel__header button:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.rsapp-panel-handle:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.rsapp-display-tabs button:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.rsapp-panel__actions button:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.rsapp-settings-section button:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.rsapp-settings-section input:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.rsapp-settings-section select:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.rsapp-toast button:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.rsapp-panel__header svg{stroke-width:2px;width:21px;height:21px}.rsapp-panel__actions{border-bottom:1px solid #dadce0;flex:0 0 76px;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0 20px 13px;display:grid}.rsapp-panel__actions button{color:#5f6368;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:0;height:63px;font-size:15px;font-weight:600;display:flex}.rsapp-panel__actions button:hover:not(:disabled){background:#f8f9fa;border-color:#c7c9cd}.rsapp-panel__actions button:active:not(:disabled){background:#f1f3f4}.rsapp-panel__actions button:disabled{opacity:.48;cursor:default}.rsapp-panel__actions svg{stroke-width:1.8px;width:24px;height:24px}.rsapp-panel__scroll{overscroll-behavior:contain;scrollbar-color:#b8babd transparent;scrollbar-width:thin;flex:1;min-height:0;overflow-y:auto}.rsapp-settings-section{border-bottom:1px solid #dadce0}.rsapp-settings-section__toggle{color:#5f6368;text-align:left;cursor:pointer;background:#fff;border:0;justify-content:space-between;align-items:center;width:100%;height:48px;padding:0 20px 0 16px;font-size:13px;font-weight:450;display:flex}.rsapp-settings-section__toggle:hover{background:#f8f9fa}.rsapp-settings-section__toggle svg{width:18px;height:18px;transition:transform .15s}.rsapp-settings-section__toggle svg.is-open{transform:rotate(180deg)}.rsapp-settings-section__body{padding:0 12px 10px 31px}.rsapp-setting{cursor:pointer;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:12px;min-height:69px;padding:5px 3px 7px 0;display:grid}.rsapp-setting input{accent-color:#1a73e8;cursor:pointer;width:20px;height:20px;margin:1px 0 0}.rsapp-setting.is-disabled,.rsapp-setting.is-disabled input{cursor:default}.rsapp-setting.is-disabled .rsapp-setting__copy{opacity:.72}.rsapp-setting__copy{flex-direction:column;gap:2px;min-width:0;display:flex}.rsapp-setting__copy strong,.rsapp-select-setting>strong{color:#606468;font-size:16px;font-weight:500;line-height:1.25}.rsapp-setting__copy small,.rsapp-select-setting>small{color:#686c70;font-size:12px;line-height:1.35}.rsapp-select-setting{flex-direction:column;align-items:flex-start;gap:5px;min-height:93px;padding:5px 3px 10px 0;display:flex}.rsapp-select-setting select{color:#5f6368;cursor:pointer;background:#fff;border:1px solid #c9ccd0;border-radius:3px;outline:0;min-width:118px;height:31px;padding:0 27px 0 10px;font-size:13px}.rsapp-select-setting select:disabled{opacity:1;color:#5f6368;cursor:default;-webkit-appearance:none;appearance:none;border-color:#0000;padding-left:0}.rsapp-input-help{color:#666a6e;grid-template-columns:21px minmax(0,1fr);gap:10px;padding:4px 3px 13px 0;font-size:12px;line-height:1.42;display:grid}.rsapp-input-help svg{width:18px;height:18px}.rsapp-shortcut{color:#5f6368;cursor:pointer;background:#f8f9fa;border:1px solid #dadce0;border-radius:4px;align-items:center;gap:10px;min-height:41px;margin:0 3px 10px 0;padding:7px 10px;font-size:13px;display:flex}.rsapp-shortcut:hover:not(:disabled){background:#f1f3f4;border-color:#bfc3c8}.rsapp-shortcut:disabled{opacity:.5;cursor:default}.rsapp-shortcut>svg{width:18px;height:18px}.rsapp-shortcut kbd{color:#5f6368;background:#fff;border:1px solid #c8cbd0;border-radius:3px;place-items:center;min-width:27px;height:23px;padding:0 5px;font-family:inherit;font-size:11px;display:inline-grid;box-shadow:0 1px #d4d7da}.rsapp-secure-note{color:#717579;background:#f8f9fa;border-radius:4px;margin:0 3px 11px 0;padding:10px 11px;font-size:11px;line-height:1.45}.rsapp-panel-handle{z-index:7;color:#74787c;cursor:pointer;background:#fff;border:0;border-radius:50%;place-items:center;width:48px;height:48px;transition:right .18s;display:grid;position:fixed;top:50%;right:12px;transform:translateY(-50%);box-shadow:0 2px 8px #3c40433d}.rsapp-layer.has-open-panel .rsapp-panel-handle{right:calc(var(--rsapp-panel-width) - 24px)}.rsapp-panel-handle:hover{background:#f8f9fa}.rsapp-panel-handle svg{stroke-width:2.6px;width:26px;height:26px}.rsapp-toast{z-index:9;bottom:max(20px, env(safe-area-inset-bottom));color:#fff;background:#303134;border-radius:4px;align-items:center;gap:14px;max-width:min(440px,100vw - 32px);min-height:48px;padding:8px 8px 8px 16px;font-size:13px;animation:.16s ease-out rsapp-toast-in;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 5px 18px #20212447}.rsapp-toast span{flex:1;min-width:0}.rsapp-toast button{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid}.rsapp-toast button:hover{background:#ffffff1f}.rsapp-toast svg{width:18px}.rsapp-spin{animation:.85s linear infinite rsapp-spin}@keyframes rsapp-in{0%{opacity:0}}@keyframes rsapp-spin{to{transform:rotate(1turn)}}@keyframes rsapp-toast-in{0%{opacity:0;transform:translate(-50%,9px)}}@media (max-width:700px){.rsapp-layer{--rsapp-panel-width:min(360px, calc(100vw - 12px))}.rsapp-display-bar__mark{flex-basis:44px;width:44px}.rsapp-display-tabs button{min-width:136px;padding-inline:12px;font-size:12px}.rsapp-display-tabs button small{font-size:10px}.rsapp-panel{box-shadow:-5px 0 18px #20212433}.rsapp-panel__actions{gap:12px;padding-left:14px;padding-right:14px}.rsapp-panel__actions button{font-size:13px}.rsapp-settings-section__body{padding-left:24px}.rsapp-status-card{min-height:172px;padding:23px 22px}.rsapp-layer.has-open-panel .rsapp-panel-handle{right:calc(var(--rsapp-panel-width) - 22px)}.rsapp-panel-handle{width:44px;height:44px}}@media (max-height:560px) and (orientation:landscape){.rsapp-panel__actions{flex-basis:68px;padding-bottom:8px}.rsapp-panel__actions button{height:58px}.rsapp-settings-section__toggle{height:43px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--green:#1ed760;--green-bright:#38ef7d;--black:#000;--panel:#121212;--panel-soft:#181818;--panel-hover:#242424;--muted:#b3b3b3;--muted-strong:#d1d1d1;--border:#ffffff14;--shadow:0 14px 40px #00000073}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{background:var(--black);color:#fff;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{color:inherit;font:inherit}button{border:0}button,input[type=range]{-webkit-tap-highlight-color:transparent}:is(button:focus-visible,input:focus-visible){outline-offset:3px;outline:2px solid #fff}::selection{background:#1ed76059}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#fff3}::-webkit-scrollbar-thumb:hover{background:#ffffff52}.app-top-nav-offset{--app-top-nav-height:2.25rem;padding-top:var(--app-top-nav-height);height:100dvh}.spotifyApp{height:calc(100dvh - var(--app-top-nav-height,0px));isolation:isolate;background:#000;grid-template-rows:minmax(0,1fr) 92px;grid-template-columns:282px minmax(0,1fr);gap:8px;min-height:540px;padding:8px 8px 0;display:grid}.sidebar{flex-direction:column;grid-area:1/1;gap:8px;min-height:0;display:flex}.sidebarTop,.libraryPanel,.mainPanel{background:var(--panel);border-radius:8px}.sidebarTop{flex:none;padding:22px 20px 14px}.brand{cursor:pointer;color:#fff;letter-spacing:-.7px;background:0 0;align-items:center;gap:8px;margin:0 0 20px;padding:0;font-size:21px;font-weight:750;display:inline-flex}.spotifyMark{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;position:relative;overflow:hidden}.spotifyMark span{border-top:2.6px solid #000;border-radius:50%;width:19px;height:8px;position:absolute;left:6px;transform:rotate(7deg)}.spotifyMark span:first-child{top:8px}.spotifyMark span:nth-child(2){width:17px;top:13px;left:7px}.spotifyMark span:nth-child(3){width:14px;top:18px;left:8px}.sidebarPrimaryNav{gap:3px;display:grid}.sidebarPrimaryNav button{min-height:43px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:15px;padding:0;font-size:14px;font-weight:700;transition:color .16s,transform .16s;display:flex}.sidebarPrimaryNav button:hover,.sidebarPrimaryNav .sidebarNavActive{color:#fff}.sidebarPrimaryNav button:active{transform:scale(.98)}.libraryPanel{flex-direction:column;flex:1;min-height:0;padding:7px 8px 8px;display:flex;overflow:hidden}.libraryHeader{justify-content:space-between;align-items:center;min-height:52px;padding:0 8px;display:flex}.libraryHeader>button{color:var(--muted);cursor:pointer;background:0 0;align-items:center;gap:11px;padding:8px 6px;font-size:14px;font-weight:700;transition:color .16s;display:flex}.libraryHeader>button:hover{color:#fff}.libraryHeader>div{display:flex}.iconButton{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:color .15s,background .15s,transform .15s;display:inline-flex}.iconButton:hover{color:#fff;background:#ffffff14;transform:scale(1.045)}.iconButton:active{transform:scale(.95)}.iconButton.isActive{color:var(--green)}.filterChips{scrollbar-width:none;gap:7px;padding:5px 5px 10px;display:flex;overflow-x:auto}.filterChips::-webkit-scrollbar{display:none}.filterChips button{color:#fff;cursor:pointer;background:#232323;border-radius:999px;flex:none;min-height:32px;padding:0 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.filterChips button:hover{background:#303030}.filterChips .chipActive{color:#000;background:#fff}.libraryTools{justify-content:space-between;align-items:center;gap:6px;min-height:44px;padding:0 5px;display:flex}.libraryTools label{width:36px;height:34px;color:var(--muted);border-radius:5px;align-items:center;gap:7px;padding:0 9px;transition:width .18s,background .18s;display:flex;overflow:hidden}.libraryTools label:focus-within,.libraryTools label:hover{color:#fff;background:#242424;width:min(145px,62%)}.libraryTools label input{color:#fff;background:0 0;border:0;outline:0;width:95px;min-width:0;font-size:11px}.libraryTools label input::placeholder{color:var(--muted)}.libraryTools label button{color:var(--muted);cursor:pointer;background:0 0;padding:2px;display:inline-flex}.recentsButton{color:var(--muted);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:7px;font-size:11px;transition:color .15s;display:flex}.recentsButton:hover{color:#fff}.libraryList{flex:1;min-height:0;padding-right:1px;overflow-y:auto}.libraryRow{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border-radius:6px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 6px;transition:background .15s;display:grid}.libraryRow:hover,.libraryRowActive{background:#ffffff12}.libraryCover{border-radius:4px;width:48px;height:48px}.libraryRowText{flex-direction:column;gap:5px;min-width:0;display:flex}.libraryRowTitle{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.libraryRowActive .libraryRowTitle{color:var(--green)}.libraryRowMeta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex;overflow:hidden}.libraryRowMeta svg{color:var(--green);transform:rotate(-25deg)}.libraryRowMore{opacity:0;color:var(--muted);transition:opacity .15s}.libraryRow:hover .libraryRowMore{opacity:1}.emptyLibrary{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:44px 10px;font-size:12px;display:flex}.emptyLibrary strong{color:#fff;margin-top:6px;font-size:14px}.mainPanel{background:radial-gradient(circle at 20% 0,#2a46381f,#0000 34%),#121212;flex-direction:column;grid-area:1/2;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.topBar{z-index:20;-webkit-backdrop-filter:blur(22px)saturate(140%);backdrop-filter:blur(22px)saturate(140%);background:#121212e6;border-bottom:1px solid #0000;grid-template-columns:auto minmax(260px,420px) 1fr;align-items:center;gap:14px;min-height:64px;padding:8px 20px;display:grid;position:relative}.historyButtons{gap:8px;display:flex}.historyButtons .iconButton,.topActions>.iconButton{background:#000000a8}.globalSearch{min-height:46px;color:var(--muted);background:#242424;border:2px solid #0000;border-radius:999px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 14px;transition:background .16s,border-color .16s,box-shadow .16s;display:grid}.globalSearch:hover{background:#2a2a2a;border-color:#ffffff1f}.globalSearch:focus-within,.globalSearch.searchEmphasis:focus-within{border-color:#fff;box-shadow:0 0 0 1px #fff}.globalSearch input{color:#fff;background:0 0;border:0;outline:0;min-width:0;font-size:13px}.globalSearch input::placeholder{color:#a9a9a9}.globalSearch kbd{color:#aaa;white-space:nowrap;border:1px solid #ffffff24;border-radius:5px;padding:3px 6px;font-family:inherit;font-size:10px}.clearSearch{color:var(--muted);cursor:pointer;background:0 0;padding:4px;display:inline-flex}.topActions{justify-content:flex-end;align-items:center;gap:9px;min-width:0;display:flex}.explorePremium,.installButton{cursor:pointer;letter-spacing:.1px;white-space:nowrap;border-radius:999px;min-height:34px;padding:0 15px;font-size:12px;font-weight:750;transition:transform .15s,background .15s}.explorePremium{color:#000;background:#fff}.explorePremium:hover{transform:scale(1.035)}.installButton{color:#fff;background:0 0;align-items:center;gap:6px;display:flex}.installButton:hover{background:#ffffff14}.topActions .store-profile-menu{margin-left:0}.sharedProfileAction{display:flex}.topActions .store-profile-chevron{width:13px;height:13px;color:var(--muted);stroke-width:2.6px}.topActions .store-profile-active-check{width:16px;height:16px;color:var(--green);stroke-width:2.5px}.topActions .store-profile-manage svg{color:#b3b3b3;stroke-width:2px;flex:0 0 18px;width:18px;height:18px}.headerPopoverWrap{display:flex;position:relative}.headerPopoverWrap>.iconButton{background:#000000a8;position:relative}.headerPopoverWrap>.iconButton[aria-expanded=true]{color:#000;background:#fff}.access-popover.spotify-access-popover{--access-mobile-top:calc(var(--app-top-nav-height,0px) + 62px);--access-top:43px;z-index:80;border-radius:12px}.downloadActionBadge{background:var(--green);color:#06140b;border:2px solid #121212;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:8px;font-weight:850;line-height:1;display:flex;position:absolute;top:-3px;right:-3px}.headerPopover{z-index:80;background:radial-gradient(circle at 15% 0,#1ed7601c,#0000 32%),#202020;border:1px solid #ffffff1c;border-radius:12px;flex-direction:column;width:min(390px,100vw - 32px);max-height:calc(100dvh - 172px);animation:.15s ease-out popoverEnter;display:flex;position:absolute;top:43px;right:0;overflow:hidden;box-shadow:0 22px 70px #000000b8}.downloadsPopover{width:min(430px,100vw - 32px)}.popoverHeader{border-bottom:1px solid #ffffff14;flex:none;justify-content:space-between;align-items:center;gap:18px;min-height:70px;padding:13px 14px 12px 17px;display:flex}.popoverHeader>div:first-child{min-width:0}.popoverHeader h2{letter-spacing:-.6px;margin:3px 0 0;font-size:20px}.popoverEyebrow{color:#78e69e;letter-spacing:1.35px;font-size:8px;font-weight:850}.popoverError{color:#ffb2b2;background:#7a1e1e38;border:1px solid #ff707038;border-radius:7px;flex:none;align-items:flex-start;gap:8px;margin:10px 12px 0;padding:9px 10px;font-size:10px;line-height:1.4;display:flex}.popoverError svg{flex:none}.providerList{flex:0 auto;padding:8px;display:grid;overflow-y:auto}.providerRow{border-radius:8px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px 9px;transition:background .15s;display:grid}.providerRow:hover{background:#ffffff0e}.providerMark{color:#fff;background:linear-gradient(135deg,#744bdf,#d73eaa);border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:15px;font-weight:850;display:flex;box-shadow:inset 0 1px #ffffff38}.providerMark--nhac-cua-tui{background:linear-gradient(135deg,#147dc4,#31b98a)}.providerMark--tiktok{background:linear-gradient(135deg,#25f4ee,#121212 48%,#fe2c55)}.providerMark--youtube{background:linear-gradient(135deg,#ff3b30,#c40000)}.providerCopy{flex-direction:column;gap:4px;min-width:0;display:flex}.providerCopy a{color:#fff;align-items:center;gap:5px;width:fit-content;max-width:100%;text-decoration:none;display:inline-flex}.providerCopy a:hover strong{text-decoration:underline}.providerCopy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.providerCopy>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.3;overflow:hidden}.providerCopy .providerError{color:#ff9f9f;white-space:normal}.syncProviderButton{color:#fff;cursor:pointer;background:#ffffff1a;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:66px;min-height:32px;padding:0 10px;font-size:10px;font-weight:750;transition:background .15s,transform .15s;display:inline-flex}.syncProviderButton:hover:not(:disabled){background:#ffffff2b;transform:scale(1.03)}.syncProviderButton:disabled{color:#9fe8b8;cursor:wait}.addMusicForm{background:#0000002e;border-top:1px solid #ffffff14;flex-direction:column;flex:none;gap:8px;padding:14px 16px 16px;display:flex}.addMusicHeading{align-items:center;gap:9px;margin-bottom:2px;display:flex}.addMusicIcon{width:30px;height:30px;color:var(--green);background:#1ed7601f;border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.addMusicHeading>div{flex-direction:column;gap:2px;min-width:0;display:flex}.addMusicHeading strong{font-size:12px}.addMusicHeading span{color:var(--muted);font-size:9px}.addMusicForm>label{color:#d7d7d7;font-size:9px;font-weight:700}.musicUrlControl{grid-template-columns:minmax(0,1fr) auto;gap:7px;min-width:0;display:grid}.musicUrlControl input{color:#fff;background:#121212;border:1px solid #ffffff21;border-radius:7px;outline:0;width:100%;min-width:0;height:38px;padding:0 11px;font-size:10px}.musicUrlControl input:hover{border-color:#ffffff47}.musicUrlControl input:focus{border-color:#fff;box-shadow:0 0 0 1px #fff}.musicUrlControl input::placeholder{color:#777}.musicUrlControl button{background:var(--green);color:#06140b;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:5px;min-width:70px;height:38px;padding:0 12px;font-size:10px;font-weight:800;transition:background .15s,transform .15s;display:inline-flex}.musicUrlControl button:hover:not(:disabled){background:var(--green-bright);transform:scale(1.025)}.musicUrlControl button:disabled{cursor:not-allowed;opacity:.5}.fieldError{color:#ff9f9f;font-size:9px;line-height:1.35}.downloadHeaderActions{flex:none;align-items:center;gap:7px;display:flex}.activeDownloadCount{color:#94eeb3;background:#1ed7601c;border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:8px;font-weight:750;display:inline-flex}.downloadList{min-height:130px;padding:7px;overflow-y:auto}.downloadRow{border-radius:9px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:11px;min-width:0;padding:9px;transition:background .15s;display:grid}.downloadRow:hover{background:#ffffff0e}.downloadArtworkButton{cursor:default;background:0 0;border-radius:6px;width:58px;height:58px;padding:0;display:block;position:relative;overflow:hidden}.downloadArtworkButton:disabled{opacity:1}.downloadArtworkPlayable{cursor:pointer}.downloadArtwork{width:58px;height:58px}.downloadPlayOverlay{color:#fff;opacity:0;background:#0000008f;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.downloadArtworkButton:not(.downloadArtworkPlayable) .downloadPlayOverlay,.downloadArtworkPlayable:hover .downloadPlayOverlay,.downloadArtworkActive .downloadPlayOverlay{opacity:1}.downloadArtworkPlayable:focus-visible .downloadPlayOverlay{opacity:1}.downloadArtworkButton:not(.downloadArtworkPlayable) .downloadPlayOverlay{color:#ffffffd1;background:#00000047}.downloadCopy{flex-direction:column;gap:4px;min-width:0;display:flex}.downloadTitleRow{align-items:center;gap:6px;min-width:0;display:flex}.downloadTitleRow strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.downloadCompleteIcon{color:var(--green);flex:none}.downloadCopy>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.downloadProgressMeta{color:#aaa;justify-content:space-between;align-items:center;gap:10px;min-width:0;font-size:8px;display:flex}.downloadProgressMeta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.downloadProgressTrack{background:#ffffff21;border-radius:999px;width:100%;height:4px;display:block;overflow:hidden}.downloadProgressTrack>span{border-radius:inherit;background:var(--green);height:100%;transition:width .28s;display:block}.downloadRowFailed .downloadProgressTrack>span{background:#e95d5d}.downloadCopy .downloadError{color:#ff9f9f;white-space:normal}.emptyDownloads{min-height:170px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex}.emptyDownloads>span{background:#ffffff12;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:10px;display:flex}.emptyDownloads strong{color:#fff;font-size:12px}.emptyDownloads p{max-width:250px;margin:5px 0 0;font-size:9px;line-height:1.45}.spin{animation:.85s linear infinite spin}.audioEngine{display:none}.mainScroll{scroll-behavior:smooth;flex:1;min-height:0;overflow:hidden auto}.homeView,.searchView,.fullLibraryView{min-height:100%;padding:18px clamp(18px,2.25vw,34px) 44px}.hero{background:linear-gradient(105deg,#0000001a,#00000080),radial-gradient(circle at 20% 30%,#1ed7603b,#0000 36%),linear-gradient(135deg,#1c3c30 0%,#17241f 46%,#17151d 100%);border:1px solid #ffffff14;border-radius:15px;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);align-items:center;min-height:340px;padding:clamp(30px,5vw,70px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0f}.hero:after{aspect-ratio:1;content:"";border:1px solid #ffffff14;border-radius:50%;width:55%;position:absolute;bottom:-56%;right:-12%;box-shadow:0 0 0 50px #ffffff04,0 0 0 100px #ffffff03}.heroGlow{filter:blur(80px);background:#1ed7601f;border-radius:50%;width:280px;height:280px;position:absolute;top:-80px;left:26%}.heroCopy{z-index:2;max-width:620px;position:relative}.heroEyebrow,.sectionEyebrow{color:#a9f4c1;letter-spacing:1.5px;align-items:center;gap:7px;font-size:10px;font-weight:800;display:flex}.hero h1{letter-spacing:-3.5px;max-width:660px;margin:13px 0 14px;font-size:clamp(36px,4.2vw,68px);font-weight:850;line-height:.97}.hero p{color:#d2d8d4;max-width:520px;margin:0;font-size:clamp(14px,1.2vw,17px);line-height:1.55}.heroActions{flex-wrap:wrap;gap:10px;margin-top:27px;display:flex}.primaryButton,.secondaryButton{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 22px;font-size:13px;font-weight:800;transition:transform .16s,background .16s;display:inline-flex}.primaryButton{background:var(--green);color:#06120a}.primaryButton:hover{background:var(--green-bright);transform:scale(1.035)}.secondaryButton{color:#fff;background:#0000002e;border:1px solid #ffffff4d}.secondaryButton:hover{background:#ffffff14;border-color:#fff;transform:scale(1.025)}.heroArt{z-index:2;justify-self:end;width:min(340px,30vw);height:min(310px,27vw);position:relative}.heroCover{border:1px solid #ffffff26;border-radius:9px;width:min(210px,17vw);height:min(210px,17vw);position:absolute;box-shadow:0 24px 55px #0000008c}.heroCoverBack{opacity:.68;top:9%;left:1%;transform:rotate(-13deg)scale(.89)}.heroCoverMiddle{opacity:.82;top:1%;right:1%;transform:rotate(10deg)scale(.92)}.heroCoverFront{z-index:2;bottom:0;right:17%;transform:rotate(-2deg)}.quickSection,.shelfSection{margin-top:34px}.sectionTitleRow{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.sectionTitleRow h2{letter-spacing:-.7px;margin:0;font-size:clamp(20px,1.8vw,26px);font-weight:780}.sectionTitleRow p{color:var(--muted);margin:6px 0 0;font-size:12px}.sectionTitleRow>button{color:var(--muted);cursor:pointer;letter-spacing:.5px;text-transform:uppercase;background:0 0;margin-bottom:2px;padding:6px 0;font-size:11px;font-weight:750}.sectionTitleRow>button:hover{color:#fff;text-decoration:underline}.compactTitleRow{margin-bottom:13px}.compactTitleRow h2{margin-top:5px}.quickGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.quickTile{color:#fff;cursor:pointer;text-align:left;background:#ffffff17;border-radius:6px;grid-template-columns:64px minmax(0,1fr) 44px;align-items:center;gap:12px;min-width:0;min-height:64px;padding:0 10px 0 0;transition:background .18s,transform .18s;display:grid;position:relative;overflow:hidden}.quickTile:hover,.quickTileActive{background:#ffffff29}.quickTile:active{transform:scale(.99)}.quickTileArt{border-radius:0;width:64px;height:64px;box-shadow:5px 0 18px #00000038}.quickTile strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.quickTilePlay{background:var(--green);color:#000;opacity:0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .17s,transform .17s;display:inline-flex;transform:translateY(5px);box-shadow:0 6px 15px #00000059}.quickTile:hover .quickTilePlay,.quickTileActive .quickTilePlay{opacity:1;transform:translateY(0)}.quickTile:focus-visible .quickTilePlay{opacity:1;transform:translateY(0)}.playlistGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.4vw,20px);display:grid}.playlistCard{background:#181818;border-radius:8px;min-width:0;padding:12px;transition:background .18s,transform .18s,box-shadow .18s}.playlistCard:hover,.playlistCard:focus-within,.playlistCardActive{background:#242424;transform:translateY(-2px);box-shadow:0 12px 26px #00000029}.playlistCardArt{margin-bottom:13px;position:relative}.playlistCardArt .coverArt{aspect-ratio:1;border-radius:6px;width:100%;box-shadow:0 10px 24px #0000005c}.playlistCardArt>.playButton{opacity:0;position:absolute;bottom:8px;right:8px;transform:translateY(8px)}.playlistCard:hover .playlistCardArt>.playButton,.playlistCard:focus-within .playlistCardArt>.playButton,.playlistCardActive .playlistCardArt>.playButton{opacity:1;transform:translateY(0)}.playingBadge{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0000008c;border-radius:999px;align-items:flex-end;gap:2px;height:24px;padding:6px 8px;display:flex;position:absolute;top:9px;left:9px}.playingBadge span{background:var(--green);border-radius:2px;width:2px;height:9px;animation:.75s ease-in-out infinite alternate equalize}.playingBadge span:nth-child(2){height:5px;animation-delay:-.35s}.playingBadge span:nth-child(3){height:11px;animation-delay:-.18s}.cardCopy{cursor:pointer;text-align:left;background:0 0;gap:6px;width:100%;padding:0;display:grid}.playlistCardTitle{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.playlistCardActive .playlistCardTitle{color:var(--green)}.playlistCardDescription{min-height:34px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.5;display:-webkit-box;overflow:hidden}.playButton{background:var(--green);color:#07140b;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:transform .16s,background .16s,opacity .16s;display:inline-flex;box-shadow:0 8px 18px #0006}.playButton:hover{background:var(--green-bright);transform:scale(1.07)}.playButton-normal{width:45px;height:45px}.playButton-normal svg{width:21px;height:21px}.playButton-small{color:#000;width:34px;height:34px;box-shadow:none;background:#fff}.playButton-small svg{width:16px;height:16px}.playButton-large{width:52px;height:52px}.coverArt{background:radial-gradient(circle at 15% 10%, #ffffff38, transparent 34%), linear-gradient(145deg, var(--cover-from), var(--cover-to));isolation:isolate;flex:none;display:block;position:relative;overflow:hidden}.coverArtHasImage{background-position:50%;background-size:cover}.coverArtHasImage>span{display:none}.coverArtRound{border-radius:50%!important}.coverOrb{z-index:1;border:1px solid #ffffff38;border-radius:50%;display:block;position:absolute}.coverOrbOne{background:color-mix(in srgb, var(--cover-accent) 20%, transparent);width:75%;height:75%;top:-20%;right:-20%}.coverOrbTwo{width:65%;height:65%;bottom:-25%;left:-16%;box-shadow:0 0 0 10px #ffffff0f}.coverLine{z-index:2;background:var(--cover-accent);opacity:.75;width:80%;height:2px;display:block;position:absolute;bottom:22%;right:-10%;transform:rotate(-34deg);box-shadow:0 7px #fff3,0 14px #ffffff14}.coverGlyph{z-index:3;color:var(--cover-accent);letter-spacing:-2px;text-shadow:0 4px 18px #00000038;font-family:Georgia,Times New Roman,serif;font-size:clamp(12px,3.2vw,45px);font-weight:800;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.coverNoise{z-index:4;opacity:.08;mix-blend-mode:soft-light;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");position:absolute;inset:0}.queuePanel{z-index:30;background:#121212;border-left:1px solid #ffffff0a;border-radius:8px;flex-direction:column;width:min(416px,100%);min-height:0;animation:.17s ease-out queuePanelEnter;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-18px 0 42px #00000085}.queueHeader{flex:none;justify-content:space-between;align-items:center;min-height:68px;padding:0 13px 0 16px;display:flex}.queueHeader h2{letter-spacing:-.25px;margin:0;font-size:16px;font-weight:750}.queueHeader .iconButton{width:34px;height:34px}.queueScroll{overscroll-behavior:contain;flex:1;min-height:0;padding:10px 8px 24px 16px;overflow-y:auto}.queueScroll h3{letter-spacing:-.16px;margin:7px 8px 9px 0;font-size:16px;font-weight:750}.queueNext{margin-top:25px}.queueTrackList{display:grid}.queueTrack{color:#fff;text-align:left;background:0 0;border-radius:5px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;width:100%;min-width:0;min-height:58px;padding:5px 8px 5px 0;display:grid}button.queueTrack{cursor:pointer;transition:background .14s}button.queueTrack:hover{background:#ffffff12}button.queueTrack:active{background:#ffffff1c}.queueTrackArt{border-radius:4px;width:48px;height:48px}.queueTrackCopy{flex-direction:column;gap:4px;min-width:0;display:flex}.queueTrackCopy strong,.queueTrackCopy>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.queueTrackCopy strong{font-size:15px;font-weight:500;line-height:1.25}.queueTrackCopy>span{color:var(--muted);font-size:13px;line-height:1.25}.queueTrackCurrent .queueTrackCopy strong{color:var(--green)}.queueEmpty{color:var(--muted);margin:0;padding:8px 8px 8px 0;font-size:12px;line-height:1.5}.desktopPlayer{z-index:40;background:#000;grid-area:2/1/auto/-1;grid-template-columns:minmax(225px,.95fr) minmax(340px,1.15fr) minmax(250px,.95fr);align-items:center;gap:18px;padding:0 13px;display:grid;position:relative}.playerTrack{align-items:center;gap:10px;min-width:0;display:flex}.playerCover{border-radius:4px;width:56px;height:56px}.playerTrackCopy{flex-direction:column;flex:0 150px;gap:4px;min-width:0;display:flex}.playerTrackCopy strong,.playerTrackCopy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.playerTrackCopy strong{font-size:12px;font-weight:550}.playerTrackCopy strong:hover,.playerTrackCopy span:hover{text-decoration:underline}.playerTrackCopy span{color:var(--muted);font-size:10px}.playerCenter{flex-direction:column;align-items:center;gap:7px;min-width:0;display:flex}.transportControls{justify-content:center;align-items:center;gap:9px;display:flex}.progressRow{grid-template-columns:33px minmax(0,1fr) 33px;align-items:center;gap:8px;width:100%;max-width:585px;display:grid}.progressRow span{color:#a7a7a7;text-align:center;font-size:9px}.range{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;border:0;outline:0;width:100%;height:12px;margin:0}.range::-webkit-slider-runnable-track{background:linear-gradient(to right, #fff var(--range-progress), #4d4d4d var(--range-progress));border-radius:999px;width:100%;height:4px}.range:hover::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--green) var(--range-progress), #4d4d4d var(--range-progress))}.range::-moz-range-track{background:#4d4d4d;border-radius:999px;height:4px}.range::-moz-range-progress{background:#fff;border-radius:999px;height:4px}.range:hover::-moz-range-progress{background:var(--green)}.range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;opacity:0;background:#fff;border:0;border-radius:50%;width:12px;height:12px;margin-top:-4px;transition:opacity .13s}.range:hover::-webkit-slider-thumb{opacity:1}.range:focus-visible::-webkit-slider-thumb{opacity:1}.range::-moz-range-thumb{opacity:0;background:#fff;border:0;border-radius:50%;width:12px;height:12px}.range:hover::-moz-range-thumb{opacity:1}.range:focus-visible::-moz-range-thumb{opacity:1}.playerTools{justify-content:flex-end;align-items:center;gap:1px;min-width:0;display:flex}.playerTools .iconButton{width:30px;height:30px}.volumeRange{width:78px}.mobilePlayer,.mobileNav,.mobileExpandedPlayerBackdrop{display:none}.toast{z-index:100;color:#fff;min-height:42px;box-shadow:var(--shadow);opacity:0;pointer-events:none;background:#2d70e9;border-radius:5px;align-items:center;gap:8px;padding:0 16px;font-size:12px;font-weight:650;transition:opacity .18s,transform .18s;display:flex;position:fixed;bottom:105px;left:50%;transform:translate(-50%,10px)}.toastVisible{opacity:1;transform:translate(-50%)}.pageHeading{border-bottom:1px solid var(--border);padding:32px 0 28px}.pageHeading h1{letter-spacing:-2.8px;margin:9px 0 8px;font-size:clamp(38px,5vw,60px);font-weight:850}.pageHeading p{color:var(--muted);margin:0;font-size:13px}.mobileSearchInput{display:none}.searchRecentSection{margin-top:31px}.recentSearchGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1.4vw,18px);display:grid}.recentSearchCard{color:#fff;cursor:pointer;text-align:left;background:#181818;border-radius:8px;min-width:0;padding:12px;transition:background .18s,box-shadow .18s,transform .18s,color .18s}.recentSearchCard:hover,.recentSearchCardActive{background:#242424;transform:translateY(-2px);box-shadow:0 12px 26px #00000029}.recentSearchCard:focus-visible{background:#242424;transform:translateY(-2px);box-shadow:0 12px 26px #00000029}.recentSearchArt{margin-bottom:12px;display:block;position:relative}.recentSearchArt .coverArt{aspect-ratio:1;border-radius:6px;width:100%;box-shadow:0 10px 24px #0000005c}.recentSearchPlay{background:var(--green);color:#000;opacity:0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:opacity .17s,transform .17s;display:inline-flex;position:absolute;bottom:8px;right:8px;transform:translateY(7px);box-shadow:0 7px 18px #00000061}.recentSearchCard:hover .recentSearchPlay,.recentSearchCardActive .recentSearchPlay{opacity:1;transform:translateY(0)}.recentSearchCard:focus-visible .recentSearchPlay{opacity:1;transform:translateY(0)}.recentSearchCopy{gap:6px;min-width:0;display:grid}.recentSearchCopy strong,.recentSearchCopy>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recentSearchCopy strong{font-size:13px;font-weight:680}.recentSearchCardActive .recentSearchCopy strong{color:var(--green)}.recentSearchCopy>span{color:var(--muted);font-size:11px}.searchRecentEmpty{border:1px solid var(--border);min-height:130px;color:var(--muted);border-radius:8px;align-items:center;gap:14px;padding:22px;display:flex}.searchRecentEmpty>svg{flex:none}.searchRecentEmpty strong{color:#fff;font-size:14px}.searchRecentEmpty p{margin:5px 0 0;font-size:12px}.searchResults{margin-top:30px}.topResultLayout{grid-template-columns:minmax(230px,.76fr) minmax(450px,1.65fr);gap:22px;display:grid}.topResultCard{color:#fff;cursor:pointer;text-align:left;background:#181818;border-radius:8px;flex-direction:column;align-items:flex-start;min-height:224px;padding:18px;transition:background .18s;display:flex;position:relative;overflow:hidden}.topResultCard:hover{background:#272727}.topResultArt{border-radius:7px;width:88px;height:88px;margin-bottom:19px;box-shadow:0 10px 25px #00000059}.topResultCard>strong{letter-spacing:-1.4px;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-bottom:7px;font-size:clamp(24px,3vw,34px);overflow:hidden}.topResultCard>span:not(.topResultPlay){color:var(--muted);font-size:11px}.topResultCard>span b{color:#fff;font-weight:650}.topResultPlay{background:var(--green);color:#000;opacity:0;width:48px;height:48px;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;transition:opacity .16s,transform .16s;display:flex;position:absolute;bottom:18px;right:18px;transform:translateY(6px)}:is(.topResultCard:hover .topResultPlay,.topResultCard:focus-visible .topResultPlay){opacity:1;transform:translateY(0)}.songResults{min-width:0}.songResults .sectionTitleRow{margin-top:-44px}.trackResult{min-height:56px;color:var(--muted);border-radius:5px;grid-template-columns:minmax(190px,1.3fr) minmax(100px,.8fr) 34px 40px 34px;align-items:center;gap:8px;padding:4px 7px;font-size:11px;display:grid}.trackResult:hover,.trackResultActive{background:#ffffff14}.trackResultMain{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;grid-template-columns:45px minmax(0,1fr);align-items:center;gap:10px;padding:0;display:grid}.trackResultArtWrap{position:relative}.trackResultArt{border-radius:3px;width:45px;height:45px}.trackResultPlay{color:#fff;opacity:0;background:#00000073;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.trackResult:hover .trackResultPlay,.trackResultActive .trackResultPlay{opacity:1}.trackResultCopy{flex-direction:column;gap:4px;min-width:0;display:flex}.trackResultCopy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trackResultTitle{color:#fff;font-size:12px;font-weight:550}.trackResultActive .trackResultTitle{color:var(--green)}.trackResultAlbum{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trackResultLike{opacity:0}.trackResult:hover .trackResultLike,.trackResultLike.isActive{opacity:1}.trackResultDuration{text-align:right}.searchPlaylistSection{margin-top:34px}.noResults{text-align:center;flex-direction:column;align-items:center;padding:90px 20px;display:flex}.noResults>span{width:58px;height:58px;color:var(--muted);background:#242424;border-radius:50%;justify-content:center;align-items:center;display:flex}.noResults h2{margin:20px 0 7px;font-size:20px}.noResults p{color:var(--muted);margin:0;font-size:12px}.libraryPageHeading{background:radial-gradient(circle at 13% 30%,#5937da52,#0000 29%),linear-gradient(110deg,#3f2db82e,#0000 55%)}.libraryCollectionGrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.likedCollection{color:#fff;cursor:pointer;text-align:left;background:radial-gradient(circle at 15% 10%,#ffffff3b,#0000 32%),linear-gradient(135deg,#3828b8,#7ebbc0);border-radius:8px;flex-direction:column;grid-column:span 2;justify-content:flex-end;align-items:flex-start;min-height:225px;padding:21px;display:flex;position:relative;overflow:hidden}.likedCollection:after{content:"";border:1px solid #ffffff2e;border-radius:50%;width:180px;height:180px;position:absolute;top:-55px;right:-35px;box-shadow:0 0 0 22px #ffffff0a}.likedTrackNames{flex-direction:column;gap:5px;max-width:95%;margin-bottom:27px;font-size:10px;line-height:1.4;display:flex}.likedTrackNames span span{opacity:.65}.likedCollection>strong{letter-spacing:-.8px;margin-bottom:6px;font-size:24px}.likedCollection>span:not(.likedTrackNames,.likedCollectionPlay){font-size:11px}.likedCollectionPlay{background:var(--green);color:#000;opacity:0;width:47px;height:47px;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;transition:opacity .16s,transform .16s;display:flex;position:absolute;bottom:15px;right:15px;transform:translateY(5px)}:is(.likedCollection:hover .likedCollectionPlay,.likedCollection:focus-visible .likedCollectionPlay){opacity:1;transform:translateY(0)}.libraryCollectionCard{color:#fff;cursor:pointer;text-align:left;background:#181818;border-radius:8px;flex-direction:column;align-items:flex-start;min-width:0;padding:12px;transition:background .17s,transform .17s;display:flex}.libraryCollectionCard:hover,.libraryCollectionActive{background:#242424;transform:translateY(-2px)}.libraryCollectionArt{aspect-ratio:1;border-radius:5px;width:100%;margin-bottom:13px;box-shadow:0 10px 24px #00000057}.libraryCollectionCard strong,.libraryCollectionCard span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.libraryCollectionCard strong{margin-bottom:6px;font-size:13px}.libraryCollectionCard span{color:var(--muted);font-size:10px}.likedTracksSection{margin-top:38px}.likedTracksTable{border-top:1px solid var(--border);padding-top:8px}.likedTracksTable>button{width:100%;min-height:59px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border-radius:5px;grid-template-columns:28px 42px minmax(150px,1fr) minmax(120px,1fr) 30px 42px;align-items:center;gap:10px;padding:4px 10px;font-size:11px;display:grid}.likedTracksTable>button:hover,.likedTracksTable .likedTrackActive{background:#ffffff14}.likedTrackNumber{text-align:center}.likedTrackArt{border-radius:3px;width:42px;height:42px}.likedTrackCopy{flex-direction:column;gap:4px;min-width:0;display:flex}.likedTrackCopy strong,.likedTrackCopy span,.likedTrackAlbum{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.likedTrackCopy strong{color:#fff;font-size:12px;font-weight:550}.likedTrackActive .likedTrackCopy strong,.likedTracksTable svg{color:var(--green)}.miniEqualizer{align-items:flex-end;gap:2px;height:13px;display:inline-flex}.miniEqualizer i{background:var(--green);width:2px;height:8px;animation:.65s ease-in-out infinite alternate equalize}.miniEqualizer i:nth-child(2){height:12px;animation-delay:-.22s}.miniEqualizer i:nth-child(3){height:5px;animation-delay:-.42s}.contentFooter{border-top:1px solid var(--border);color:#747474;justify-content:space-between;align-items:flex-end;gap:24px;margin:66px 0 5px;padding:30px 0 6px;font-size:10px;display:flex}.contentFooter>div{flex-direction:column;gap:5px;display:flex}.contentFooter strong{color:#a4a4a4;font-size:11px}@keyframes equalize{0%{transform:scaleY(.35)}to{transform:scaleY(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes popoverEnter{0%{opacity:0;transform:translateY(-5px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes queuePanelEnter{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@media (max-width:1180px){.spotifyApp{grid-template-columns:240px minmax(0,1fr)}.topBar{grid-template-columns:auto minmax(230px,360px) 1fr;padding-inline:14px}.explorePremium{display:none}.hero{grid-template-columns:minmax(0,1fr) 290px;min-height:310px}.heroArt{width:280px;height:260px}.heroCover{width:175px;height:175px}.quickGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.libraryCollectionGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.libraryCollectionCard:nth-of-type(n+4),.playerTools .iconButton:first-child{display:none}}@media (max-width:940px){.spotifyApp{grid-template-columns:205px minmax(0,1fr)}.sidebarTop{padding-inline:16px}.libraryHeader>button span{display:none}.topBar{grid-template-columns:auto minmax(220px,1fr) auto}.installButton{display:none}.hero{grid-template-columns:minmax(0,1fr);padding:38px}.heroCopy{max-width:570px}.heroArt{opacity:.34;width:285px;position:absolute;bottom:-75px;right:-40px;transform:rotate(5deg)}.playlistGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.playlistCard:nth-child(4){display:none}.recentSearchGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.topResultLayout{grid-template-columns:minmax(210px,.8fr) minmax(300px,1.3fr)}.trackResult{grid-template-columns:minmax(180px,1fr) 34px 40px 34px}.trackResultAlbum{display:none}.desktopPlayer{grid-template-columns:minmax(190px,.8fr) minmax(320px,1.2fr) minmax(145px,.7fr);gap:10px}.playerTrack>.iconButton:last-child,.playerTools .iconButton:nth-child(3),.playerTools .iconButton:last-child{display:none}}@media (max-width:760px){html,body{overflow:hidden}.spotifyApp{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0, 1fr) 66px calc(62px + env(safe-area-inset-bottom));background:#121212;gap:0;min-height:460px;padding:0}.sidebar,.desktopPlayer,.queuePanel{display:none}.mainPanel{border-radius:0;grid-area:1/1}.topBar{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:59px;padding:7px 14px}.historyButtons,.globalSearch,.topActions .installButton,.topActions .explorePremium,.topActions>.iconButton{display:none}.topBar:before{content:"Spotify";letter-spacing:-.6px;align-self:center;align-items:center;font-size:18px;font-weight:800;display:flex}.topActions{grid-column:2;gap:4px}.headerPopoverWrap>.iconButton{width:35px;height:35px}.headerPopover{width:auto;max-height:calc(100dvh - 198px);position:fixed;top:61px;left:8px;right:8px}.downloadsPopover{width:auto}.homeView,.searchView,.fullLibraryView{padding:8px 15px 36px}.hero{border-radius:10px;min-height:285px;padding:27px 23px}.hero h1{letter-spacing:-2.6px;max-width:440px;margin-top:10px;font-size:clamp(34px,11vw,51px)}.hero p{max-width:400px;font-size:13px}.heroArt{opacity:.22;bottom:-98px;right:-74px}.heroActions{margin-top:21px}.primaryButton,.secondaryButton{min-height:43px;padding-inline:17px;font-size:12px}.quickSection,.shelfSection{margin-top:28px}.quickGrid{gap:7px}.quickTile{grid-template-columns:54px minmax(0,1fr);gap:9px;min-height:54px;padding-right:6px}.quickTileArt{width:54px;height:54px}.quickTile strong{font-size:10px}.quickTilePlay{display:none}.sectionTitleRow{margin-bottom:12px}.sectionTitleRow h2{font-size:20px}.sectionTitleRow p{display:none}.playlistGrid{scroll-snap-type:x proximity;scrollbar-width:none;gap:12px;margin-inline:-15px;padding:0 15px 4px;scroll-padding-inline:15px;display:flex;overflow-x:auto}.playlistGrid::-webkit-scrollbar{display:none}.playlistCard,.playlistCard:nth-child(4){scroll-snap-align:start;background:0 0;flex:0 0 148px;width:148px;padding:0;display:block}.playlistCard:hover,.playlistCardActive{box-shadow:none;background:0 0;transform:none}.playlistCardArt{margin-bottom:10px}.playlistCardArt>.playButton{display:none}.playlistCardTitle{font-size:12px}.playlistCardDescription{min-height:31px;font-size:10px}.pageHeading{padding:21px 0 18px}.pageHeading h1{letter-spacing:-2px;margin:7px 0 5px;font-size:38px}.pageHeading p{font-size:11px}.mobileSearchInput{color:#161616;background:#fff;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:47px;margin:18px 0;padding:0 13px;display:grid}.mobileSearchInput input{color:#111;background:0 0;border:0;outline:0;min-width:0;font-size:13px;font-weight:600}.mobileSearchInput input::placeholder{color:#5e5e5e}.mobileSearchInput button{color:#111;background:0 0;padding:4px;display:flex}.searchRecentSection,.searchResults{margin-top:22px}.recentSearchGrid{scroll-snap-type:x proximity;scrollbar-width:none;gap:12px;margin-inline:-15px;padding:0 15px 4px;scroll-padding-inline:15px;display:flex;overflow-x:auto}.recentSearchGrid::-webkit-scrollbar{display:none}.recentSearchCard{scroll-snap-align:start;background:0 0;flex:0 0 148px;width:148px;padding:0}.recentSearchCard:hover,.recentSearchCardActive{box-shadow:none;background:0 0;transform:none}.recentSearchCard:focus-visible{box-shadow:none;background:0 0;transform:none}.recentSearchPlay{display:none}.topResultLayout{display:block}.topResultCard{min-height:205px;margin-bottom:28px}.topResultCard .topResultPlay{opacity:1;transform:none}.songResults .sectionTitleRow{margin-top:0}.trackResult{grid-template-columns:minmax(0,1fr) 34px 34px;padding-inline:3px}.trackResultAlbum,.trackResultDuration,.trackResultLike{display:none}.trackResultPlay{opacity:1}.libraryPageHeading{margin-inline:-15px;padding-inline:15px}.libraryCollectionGrid{scroll-snap-type:x proximity;scrollbar-width:none;gap:12px;margin-inline:-15px;padding:0 15px 5px;display:flex;overflow-x:auto}.libraryCollectionGrid::-webkit-scrollbar{display:none}.likedCollection{scroll-snap-align:start;flex:0 0 250px;width:250px;min-height:190px}.likedCollectionPlay{opacity:1;transform:none}.libraryCollectionCard,.libraryCollectionCard:nth-of-type(n+4){scroll-snap-align:start;background:0 0;flex:0 0 138px;width:138px;padding:0;display:flex}.libraryCollectionCard:hover,.libraryCollectionActive{background:0 0;transform:none}.likedTracksTable>button{grid-template-columns:23px 42px minmax(0,1fr) 36px;padding-inline:3px}.likedTrackAlbum,.likedTracksTable>button>svg{display:none}.mobilePlayer{z-index:60;background:linear-gradient(90deg,#1ed7600f,#0000 45%),#282828;border-radius:7px;grid-area:2/1;grid-template-columns:46px minmax(0,1fr) 42px 42px 42px;align-items:center;gap:8px;margin:0 8px 3px;padding:5px 7px;display:grid;position:relative;overflow:hidden;box-shadow:0 -5px 20px #0003}.mobilePlayerProgress{z-index:2;background:#fff;height:2px;display:block;position:absolute;bottom:0;left:0}.mobilePlayerArt{border-radius:4px;width:46px;height:46px}.mobilePlayerCopy{text-align:left;background:0 0;flex-direction:column;gap:3px;min-width:0;padding:0;display:flex}.mobilePlayerCopy strong,.mobilePlayerCopy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobilePlayerCopy strong{font-size:11px;font-weight:600}.mobilePlayerCopy span{color:var(--muted);font-size:9px}.mobilePlayer .iconButton{color:#fff;width:42px;height:42px}.mobilePlayer .iconButton.isActive{color:var(--green)}.mobileExpandedPlayerBackdrop{z-index:85;top:var(--app-top-nav-height,2.25rem);padding:18px 12px max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b8;justify-content:center;align-items:flex-end;animation:.18s ease-out mobilePlayerBackdropEnter;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.mobileExpandedPlayer{flex-direction:column;gap:10px;width:min(100%,520px);animation:.21s ease-out mobileExpandedPlayerEnter;display:flex}.mobileExpandedPlayerHeader{justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:0 4px 0 7px;display:flex}.mobileExpandedPlayerHeader>div{min-width:0}.mobileExpandedPlayerHeader span{color:var(--green);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.mobileExpandedPlayerHeader h2{letter-spacing:-.02em;margin:3px 0 0;font-size:19px}.mobileExpandedPlayerHeader .iconButton{color:#fff;background:#ffffff1a;flex:0 0 40px}.mobileExpandedPlayer .activity-card{width:100%}.mobileNav{z-index:60;padding:5px 12px calc(5px + env(safe-area-inset-bottom));background:linear-gradient(#000000d1,#000 34%);grid-area:3/1;grid-template-columns:repeat(3,1fr);display:grid;position:relative}.mobileNav button{color:#8e8e8e;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:48px;font-size:9px;font-weight:550;display:flex}.mobileNav button.mobileNavActive{color:#fff}.toast{bottom:calc(139px + env(safe-area-inset-bottom));white-space:nowrap;max-width:calc(100vw - 30px);font-size:11px}.contentFooter{margin-top:42px}.contentFooter>span{display:none}}@media (max-width:430px){.popoverHeader{min-height:62px;padding-block:10px}.popoverHeader h2{font-size:18px}.providerRow{grid-template-columns:35px minmax(0,1fr) auto;gap:8px;padding-inline:7px}.providerMark{width:35px;height:35px}.syncProviderButton{width:34px;min-width:34px;padding:0}.syncProviderButton span{display:none}.addMusicForm{padding-inline:12px}.musicUrlControl button{width:42px;min-width:42px;padding:0}.musicUrlControl button span{display:none}.downloadRow{grid-template-columns:52px minmax(0,1fr);gap:9px;padding-inline:6px}.downloadArtworkButton,.downloadArtwork{width:52px;height:52px}.hero{min-height:310px}.heroActions{grid-template-columns:1fr;display:grid}.heroActions button{width:100%}.quickTile{grid-template-columns:48px minmax(0,1fr);min-height:48px}.quickTileArt{width:48px;height:48px}.mobilePlayer{grid-template-columns:43px minmax(0,1fr) 40px 40px 40px;gap:5px}.mobilePlayerArt{width:43px;height:43px}.mobilePlayer .iconButton{width:40px;height:40px}}@keyframes mobilePlayerBackdropEnter{0%{opacity:0}}@keyframes mobileExpandedPlayerEnter{0%{opacity:0;transform:translateY(18px)scale(.985)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
|