@serifpersia/dango 3.8.4 → 3.8.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +1 -1
  2. package/client/dist/assets/{AnimeCard-arsIYutf.js → AnimeCard-DWKuN1cB.js} +1 -1
  3. package/client/dist/assets/AnimeInfo-BvNA7-QZ.js +1 -0
  4. package/client/dist/assets/AnimeInfoPage-BGg76ExO.js +2 -0
  5. package/client/dist/assets/Asmr-C8pvBHUO.js +2 -0
  6. package/client/dist/assets/AsmrPopup-BV5rbWXg.js +1 -0
  7. package/client/dist/assets/{AsmrResetProgressModal-CJlLLxvJ.js → AsmrResetProgressModal-Cs5wzgRU.js} +1 -1
  8. package/client/dist/assets/{Home-DtWNcknh.js → Home-C3k84yqn.js} +1 -1
  9. package/client/dist/assets/Home-grKghNM9.css +1 -0
  10. package/client/dist/assets/{Insights-BFEOElox.js → Insights-RSd-4osN.js} +1 -1
  11. package/client/dist/assets/{LibraryListPage-Cvu0K3yT.js → LibraryListPage-CHHjw4Jz.js} +1 -1
  12. package/client/dist/assets/ListeningList-DkgZaFkg.js +1 -0
  13. package/client/dist/assets/Manga-BAI78oiq.js +1 -0
  14. package/client/dist/assets/MangaInfoPage-CPYfuLAg.js +1 -0
  15. package/client/dist/assets/MangaReadPage-DvznQu_2.js +1 -0
  16. package/client/dist/assets/MangaResetProgressModal-BPci6zSM.js +1 -0
  17. package/client/dist/assets/{Mature-DCY32pCd.js → Mature-Cob1Zmtu.js} +1 -1
  18. package/client/dist/assets/{MatureConsentModal-zk8Ir04J.js → MatureConsentModal-BrKd4CBZ.js} +1 -1
  19. package/client/dist/assets/MediaCard-CJ-18Ma8.css +1 -0
  20. package/client/dist/assets/MediaCard-CXZJ8wr7.js +1 -0
  21. package/client/dist/assets/{OptionListMenu-BMdGIbak.js → OptionListMenu-ClUReC8J.js} +1 -1
  22. package/client/dist/assets/Player-1LfYnRyR.css +1 -0
  23. package/client/dist/assets/Player-7iroOb7T.js +56 -0
  24. package/client/dist/assets/PlayerProvider-DzaMVhFX.js +1 -0
  25. package/client/dist/assets/PlayerSettings-CbGkvNJq.css +1 -0
  26. package/client/dist/assets/{PlayerSettings-I5qwh2dG.js → PlayerSettings-DnFjoot8.js} +1 -1
  27. package/client/dist/assets/{QueueOptionsButton-CgPjlxhd.js → QueueOptionsButton-BdAz_Gn-.js} +1 -1
  28. package/client/dist/assets/QueueRail-BMLyoeAe.js +1 -0
  29. package/client/dist/assets/QueueRail-CcHdXRmS.css +1 -0
  30. package/client/dist/assets/{ReadingList-C3S-oiZU.js → ReadingList-B62vvh4_.js} +1 -1
  31. package/client/dist/assets/{ResetProgressModal-CZN-19N0.js → ResetProgressModal-CXDZfCap.js} +1 -1
  32. package/client/dist/assets/{Search-BK-3izwR.js → Search-CfNUqNi0.js} +1 -1
  33. package/client/dist/assets/Settings-B57LhIVH.css +1 -0
  34. package/client/dist/assets/Settings-CxC4k-nB.js +21 -0
  35. package/client/dist/assets/{SkeletonGrid-DWlQpD8M.js → SkeletonGrid-CmHR4_Fc.js} +1 -1
  36. package/client/dist/assets/Trackers-BC636V59.css +1 -0
  37. package/client/dist/assets/Trackers-BnvqfI9T.js +2 -0
  38. package/client/dist/assets/Tv-Dht8h84V.js +4 -0
  39. package/client/dist/assets/TvInfo-6fZeQsh1.js +1 -0
  40. package/client/dist/assets/{TvPopup-Bo-3peif.js → TvPopup-CIMgMYf0.js} +1 -1
  41. package/client/dist/assets/{TvSearch-Bzw_N9vB.js → TvSearch-DGG4xRiv.js} +1 -1
  42. package/client/dist/assets/TvWatchlist-B6DLkxqi.js +1 -0
  43. package/client/dist/assets/{VirtualKeyboard-B3STwvzu.js → VirtualKeyboard-D8TvygKk.js} +1 -1
  44. package/client/dist/assets/{WatchAlong-I0zNTgQi.js → WatchAlong-ivfsMGhR.js} +1 -1
  45. package/client/dist/assets/{WatchAlongPanel-DuGnVVja.js → WatchAlongPanel-CvUFCFll.js} +1 -1
  46. package/client/dist/assets/{Watchlist-raSYd6jM.js → Watchlist-dsmIAzsH.js} +1 -1
  47. package/client/dist/assets/index-Ej7BS74s.css +1 -0
  48. package/client/dist/assets/index-npJ4Ahxa.js +178 -0
  49. package/client/dist/assets/{libraryInvalidation-FFJuBJjR.js → libraryInvalidation-CHlEJU7b.js} +1 -1
  50. package/client/dist/assets/{playbackCompletion-UNMxJNR7.js → playbackCompletion-DB_c1lex.js} +1 -1
  51. package/client/dist/assets/{useAnimeInfoData-C0IMDPmT.js → useAnimeInfoData-DrWgr6PK.js} +1 -1
  52. package/client/dist/assets/useMangaLibrary-sGh96sdT.js +1 -0
  53. package/client/dist/assets/useMangaPopup-CWDMFbSD.js +1 -0
  54. package/client/dist/assets/{useProviders-UrTAFdZ7.js → useProviders-DphwZjpZ.js} +1 -1
  55. package/client/dist/assets/{useTv-218EB7PR.js → useTv-DatZ0tof.js} +1 -1
  56. package/client/dist/assets/{useTvLibrary-Dw8dk1-X.js → useTvLibrary-efdd6TIy.js} +1 -1
  57. package/client/dist/assets/useWatchAlongPlayer-CRf0zHFj.js +10 -0
  58. package/client/dist/assets/useWatchAlongPlayer-CzQyysyL.css +1 -0
  59. package/client/dist/index.html +2 -2
  60. package/package.json +2 -2
  61. package/server/dist/server.js +154 -154
  62. package/server/package.json +1 -1
  63. package/client/dist/assets/AnimeInfo-BN0BBGoL.js +0 -1
  64. package/client/dist/assets/AnimeInfoPage-BKWRJ_zM.js +0 -2
  65. package/client/dist/assets/Asmr-D841iN7S.js +0 -2
  66. package/client/dist/assets/AsmrPopup-bQNRqp8U.js +0 -1
  67. package/client/dist/assets/Home-DtY1sufI.css +0 -1
  68. package/client/dist/assets/ListeningList-BBCPOGtc.js +0 -1
  69. package/client/dist/assets/Manga-BzwrwVRY.js +0 -1
  70. package/client/dist/assets/MangaInfoPage-C9_jlomp.js +0 -1
  71. package/client/dist/assets/MangaReadPage-dlV9ruge.js +0 -1
  72. package/client/dist/assets/MangaResetProgressModal-C2audSPT.js +0 -1
  73. package/client/dist/assets/MediaCard-ByXxG9l_.js +0 -1
  74. package/client/dist/assets/MediaCard-CoyScn-7.css +0 -1
  75. package/client/dist/assets/Player-B8NgcAaG.js +0 -56
  76. package/client/dist/assets/Player-D-sQfjcx.css +0 -1
  77. package/client/dist/assets/PlayerProvider-BplcfsxC.js +0 -1
  78. package/client/dist/assets/PlayerSettings-BXGe3F5k.css +0 -1
  79. package/client/dist/assets/QueueRail-56BRY_9J.js +0 -1
  80. package/client/dist/assets/QueueRail-Bkh4VZls.css +0 -1
  81. package/client/dist/assets/Settings-C3A9xzAC.js +0 -21
  82. package/client/dist/assets/Settings-CXUYiXJY.css +0 -1
  83. package/client/dist/assets/Trackers-BTgn2ubb.js +0 -2
  84. package/client/dist/assets/Trackers-CvO6aWVx.css +0 -1
  85. package/client/dist/assets/Tv-CtiQrS7_.js +0 -4
  86. package/client/dist/assets/TvInfo-Bx4weneQ.js +0 -1
  87. package/client/dist/assets/TvWatchlist-DoMAHoqZ.js +0 -1
  88. package/client/dist/assets/index-BYIvl7ZE.css +0 -1
  89. package/client/dist/assets/index-CNEFXey-.js +0 -178
  90. package/client/dist/assets/useMangaLibrary-CzC0997w.js +0 -1
  91. package/client/dist/assets/useMangaPopup-D3j5_GPW.js +0 -1
  92. package/client/dist/assets/useWatchAlongPlayer-1fbftVwT.css +0 -1
  93. package/client/dist/assets/useWatchAlongPlayer-CTG8hA81.js +0 -10
@@ -1,178 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Home-DtWNcknh.js","assets/vendor-core-DfaOB3Rn.js","assets/vendor-query-BBT5_sHx.js","assets/MediaCard-ByXxG9l_.js","assets/vendor-icons-DrybRNxP.js","assets/vendor-ui-3qrARCPr.js","assets/useIsMobile-Dvx1uJ82.js","assets/MatureConsentModal-zk8Ir04J.js","assets/MatureConsentModal-CqewXc0q.css","assets/MediaCard-CoyScn-7.css","assets/AnimeCard-arsIYutf.js","assets/useAnimeInfoData-C0IMDPmT.js","assets/QueueOptionsButton-CgPjlxhd.js","assets/QueueOptionsButton-CM15uQn8.css","assets/playbackCompletion-UNMxJNR7.js","assets/SkeletonGrid-DWlQpD8M.js","assets/SkeletonGrid-BisPI38I.css","assets/ErrorMessage-DAxegITP.js","assets/ErrorMessage-CXoRbrLN.css","assets/ResetProgressModal-CZN-19N0.js","assets/QueueRail-56BRY_9J.js","assets/QueueRail-Bkh4VZls.css","assets/useMangaPopup-D3j5_GPW.js","assets/useMangaLibrary-CzC0997w.js","assets/libraryInvalidation-FFJuBJjR.js","assets/usePopup-DS9jMzp6.js","assets/MangaResetProgressModal-C2audSPT.js","assets/useProviders-UrTAFdZ7.js","assets/useTv-218EB7PR.js","assets/TvPopup-Bo-3peif.js","assets/useTvLibrary-Dw8dk1-X.js","assets/AsmrResetProgressModal-CJlLLxvJ.js","assets/AsmrPopup-bQNRqp8U.js","assets/Home-DtY1sufI.css","assets/Watchlist-raSYd6jM.js","assets/LibraryListPage.module-r6k9nyT9.js","assets/LibraryListPage-DmdjNa2U.css","assets/ActiveFilterChips-olGfwxle.js","assets/ActiveFilterChips-QjkplDN2.css","assets/Watchlist-DW7kUORr.css","assets/Settings-C3A9xzAC.js","assets/ToggleSwitch-CN_ppEc9.js","assets/ToggleSwitch-BPil0d_k.css","assets/Settings-CXUYiXJY.css","assets/Player-B8NgcAaG.js","assets/PlayerProvider-BplcfsxC.js","assets/PlayerProvider-ZeplRma-.css","assets/useWatchAlongPlayer-CTG8hA81.js","assets/useWatchAlongPlayer-1fbftVwT.css","assets/AnimeMetaDetails-B3-A7O5H.js","assets/AnimeMetaDetails-BwNQnRCd.css","assets/SynopsisText-B3Sa5pRv.js","assets/SynopsisText-CYv2W3yR.css","assets/WatchAlongPanel-DuGnVVja.js","assets/WatchAlongPanel-DWb8lSzW.css","assets/Player-D-sQfjcx.css","assets/WatchAlong-I0zNTgQi.js","assets/Search-BK-3izwR.js","assets/Search.module-C_qwCdHS.js","assets/Search-DCKK3seW.css","assets/Mature-DCY32pCd.js","assets/Mature-DJmUUtlF.css","assets/Asmr-D841iN7S.js","assets/useAsmrPopup-BBmHrx9v.js","assets/page.module-C1MlZzf3.js","assets/page-DRvjODkg.css","assets/Asmr-Do89pEHG.css","assets/Manga-BzwrwVRY.js","assets/Manga.module-depGEacJ.js","assets/Manga-CqAceKxR.css","assets/MangaInfoPage-C9_jlomp.js","assets/MangaReadPage-dlV9ruge.js","assets/ReadingList-C3S-oiZU.js","assets/LibraryListPage-Cvu0K3yT.js","assets/TvSearch-Bzw_N9vB.js","assets/TvInfo-Bx4weneQ.js","assets/TvInfo-Bu36xJyO.css","assets/Tv-CtiQrS7_.js","assets/OptionListMenu-BMdGIbak.js","assets/Tv-D3vXCsSC.css","assets/TvWatchlist-DoMAHoqZ.js","assets/ListeningList-BBCPOGtc.js","assets/Trackers-BTgn2ubb.js","assets/Trackers-CvO6aWVx.css","assets/Insights-BFEOElox.js","assets/Insights-DEicrokg.css","assets/AnimeInfoPage-BKWRJ_zM.js","assets/PlayerRedirect-fv2tzEUu.js","assets/VirtualKeyboard-B3STwvzu.js","assets/VirtualKeyboard-CejCi3pJ.css"])))=>i.map(i=>d[i]);
2
- import{N as dr,k as X,A as B,q as G,h as w,S as ce,d as g,X as he,x as ye,T as Ce,$ as vn,u as o,g as Pt,L as ie,a as bn,c as nt,e as mr,f as pr,D as fr,i as hr,P as jt,j as yr,l as $,m as Mt,z as W,n as gr,B as vr}from"./vendor-core-DfaOB3Rn.js";import{s as Pe,i as br,q as wr,u as ee,a as ae,b as oe,c as Tt,Q as _r,d as Er}from"./vendor-query-BBT5_sHx.js";import{I as O}from"./vendor-icons-DrybRNxP.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();const Sr="modulepreload",kr=function(e){return"/"+e},Ft={},U=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let l=function(u){return Promise.all(u.map(d=>Promise.resolve(d).then(m=>({status:"fulfilled",value:m}),m=>({status:"rejected",reason:m}))))};document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),c=a?.nonce||a?.getAttribute("nonce");s=l(n.map(u=>{if(u=kr(u),u in Ft)return;Ft[u]=!0;const d=u.endsWith(".css"),m=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${m}`))return;const p=document.createElement("link");if(p.rel=d?"stylesheet":Sr,d||(p.as="script"),p.crossOrigin="",p.href=u,c&&p.setAttribute("nonce",c),document.head.appendChild(p),d)return new Promise((f,h)=>{p.addEventListener("load",f),p.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(a){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=a,window.dispatchEvent(c),!c.defaultPrevented)throw a}return s.then(a=>{for(const c of a||[])c.status==="rejected"&&i(c.reason);return t().catch(i)})};let Pr={data:""},Tr=e=>{if(typeof window=="object"){let t=(e?e.querySelector("#_goober"):window._goober)||Object.assign(document.createElement("style"),{innerHTML:" ",id:"_goober"});return t.nonce=window.__nonce__,t.parentNode||(e||document.head).appendChild(t),t.firstChild}return e||Pr},xr=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,Ir=/\/\*[^]*?\*\/| +/g,Bt=/\n+/g,_e=(e,t)=>{let n="",r="",s="";for(let i in e){let a=e[i];i[0]=="@"?i[1]=="i"?n=i+" "+a+";":r+=i[1]=="f"?_e(a,i):i+"{"+_e(a,i[1]=="k"?"":t)+"}":typeof a=="object"?r+=_e(a,t?t.replace(/([^,])+/g,c=>i.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g,l=>/&/.test(l)?l.replace(/&/g,c):c?c+" "+l:l)):i):a!=null&&(i=i[1]=="-"?i:i.replace(/[A-Z]/g,"-$&").toLowerCase(),s+=_e.p?_e.p(i,a):i+":"+a+";")}return n+(t&&s?t+"{"+s+"}":s)+r},we={},wn=e=>{if(typeof e=="object"){let t="";for(let n in e)t+=n+wn(e[n]);return t}return e},Nr=(e,t,n,r,s)=>{let i=wn(e),a=we[i]||(we[i]=(l=>{let u=0,d=11;for(;u<l.length;)d=101*d+l.charCodeAt(u++)>>>0;return"go"+d})(i));if(!we[a]){let l=i!==e?e:(u=>{let d,m,p=[{}];for(;d=xr.exec(u.replace(Ir,""));)d[4]?p.shift():d[3]?(m=d[3].replace(Bt," ").trim(),p.unshift(p[0][m]=p[0][m]||{})):p[0][d[1]]=d[2].replace(Bt," ").trim();return p[0]})(e);we[a]=_e(s?{["@keyframes "+a]:l}:l,n?"":"."+a)}let c=n&&we.g;return n&&(we.g=we[a]),((l,u,d,m)=>{m?u.data=u.data.replace(m,l):u.data.indexOf(l)===-1&&(u.data=d?l+u.data:u.data+l)})(we[a],t,r,c),a},Cr=(e,t,n)=>e.reduce((r,s,i)=>{let a=t[i];if(a&&a.call){let c=a(n),l=c&&c.props&&c.props.className||/^go/.test(c)&&c;a=l?"."+l:c&&typeof c=="object"?c.props?"":_e(c,""):c===!1?"":c}return r+s+(a??"")},"");function rt(e){let t=this||{},n=e.call?e(t.p):e;return Nr(n.unshift?n.raw?Cr(n,[].slice.call(arguments,1),t.p):n.reduce((r,s)=>Object.assign(r,s&&s.call?s(t.p):s),{}):n,Tr(t.target),t.g,t.o,t.k)}let _n,ft,ht;rt.bind({g:1});let be=rt.bind({k:1});function Or(e,t,n,r){_e.p=t,_n=e,ft=n,ht=r}function Se(e,t){let n=this||{};return function(){let r=arguments;function s(i,a){let c=Object.assign({},i),l=c.className||s.className;n.p=Object.assign({theme:ft&&ft()},c),n.o=/go\d/.test(l),c.className=rt.apply(n,r)+(l?" "+l:"");let u=e;return e[0]&&(u=c.as||e,delete c.as),ht&&u[0]&&ht(c),_n(u,c)}return s}}var Ar=e=>typeof e=="function",Ze=(e,t)=>Ar(e)?e(t):e,Lr=(()=>{let e=0;return()=>(++e).toString()})(),En=(()=>{let e;return()=>{if(e===void 0&&typeof window<"u"){let t=matchMedia("(prefers-reduced-motion: reduce)");e=!t||t.matches}return e}})(),Rr=20,xt="default",Sn=(e,t)=>{let{toastLimit:n}=e.settings;switch(t.type){case 0:return{...e,toasts:[t.toast,...e.toasts].slice(0,n)};case 1:return{...e,toasts:e.toasts.map(a=>a.id===t.toast.id?{...a,...t.toast}:a)};case 2:let{toast:r}=t;return Sn(e,{type:e.toasts.find(a=>a.id===r.id)?1:0,toast:r});case 3:let{toastId:s}=t;return{...e,toasts:e.toasts.map(a=>a.id===s||s===void 0?{...a,dismissed:!0,visible:!1}:a)};case 4:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(a=>a.id!==t.toastId)};case 5:return{...e,pausedAt:t.time};case 6:let i=t.time-(e.pausedAt||0);return{...e,pausedAt:void 0,toasts:e.toasts.map(a=>({...a,pauseDuration:a.pauseDuration+i}))}}},Ge=[],kn={toasts:[],pausedAt:void 0,settings:{toastLimit:Rr}},pe={},Pn=(e,t=xt)=>{pe[t]=Sn(pe[t]||kn,e),Ge.forEach(([n,r])=>{n===t&&r(pe[t])})},Tn=e=>Object.keys(pe).forEach(t=>Pn(e,t)),$r=e=>Object.keys(pe).find(t=>pe[t].toasts.some(n=>n.id===e)),ot=(e=xt)=>t=>{Pn(t,e)},qr={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},Dr=(e={},t=xt)=>{let[n,r]=g(pe[t]||kn),s=B(pe[t]);w(()=>(s.current!==pe[t]&&r(pe[t]),Ge.push([t,r]),()=>{let a=Ge.findIndex(([c])=>c===t);a>-1&&Ge.splice(a,1)}),[t]);let i=n.toasts.map(a=>{var c,l,u;return{...e,...e[a.type],...a,removeDelay:a.removeDelay||((c=e[a.type])==null?void 0:c.removeDelay)||e?.removeDelay,duration:a.duration||((l=e[a.type])==null?void 0:l.duration)||e?.duration||qr[a.type],style:{...e.style,...(u=e[a.type])==null?void 0:u.style,...a.style}}});return{...n,toasts:i}},jr=(e,t="blank",n)=>({createdAt:Date.now(),visible:!0,dismissed:!1,type:t,ariaProps:{role:"status","aria-live":"polite"},message:e,pauseDuration:0,...n,id:n?.id||Lr()}),Be=e=>(t,n)=>{let r=jr(t,e,n);return ot(r.toasterId||$r(r.id))({type:2,toast:r}),r.id},J=(e,t)=>Be("blank")(e,t);J.error=Be("error");J.success=Be("success");J.loading=Be("loading");J.custom=Be("custom");J.dismiss=(e,t)=>{let n={type:3,toastId:e};t?ot(t)(n):Tn(n)};J.dismissAll=e=>J.dismiss(void 0,e);J.remove=(e,t)=>{let n={type:4,toastId:e};t?ot(t)(n):Tn(n)};J.removeAll=e=>J.remove(void 0,e);J.promise=(e,t,n)=>{let r=J.loading(t.loading,{...n,...n?.loading});return typeof e=="function"&&(e=e()),e.then(s=>{let i=t.success?Ze(t.success,s):void 0;return i?J.success(i,{id:r,...n,...n?.success}):J.dismiss(r),s}).catch(s=>{let i=t.error?Ze(t.error,s):void 0;i?J.error(i,{id:r,...n,...n?.error}):J.dismiss(r)}),e};var Mr=1e3,Fr=(e,t="default")=>{let{toasts:n,pausedAt:r}=Dr(e,t),s=B(new Map).current,i=G((m,p=Mr)=>{if(s.has(m))return;let f=setTimeout(()=>{s.delete(m),a({type:4,toastId:m})},p);s.set(m,f)},[]);w(()=>{if(r)return;let m=Date.now(),p=n.map(f=>{if(f.duration===1/0)return;let h=(f.duration||0)+f.pauseDuration-(m-f.createdAt);if(h<0){f.visible&&J.dismiss(f.id);return}return setTimeout(()=>J.dismiss(f.id,t),h)});return()=>{p.forEach(f=>f&&clearTimeout(f))}},[n,r,t]);let a=G(ot(t),[t]),c=G(()=>{a({type:5,time:Date.now()})},[a]),l=G((m,p)=>{a({type:1,toast:{id:m,height:p}})},[a]),u=G(()=>{r&&a({type:6,time:Date.now()})},[r,a]),d=G((m,p)=>{let{reverseOrder:f=!1,gutter:h=8,defaultPosition:_}=p||{},T=n.filter(v=>(v.position||_)===(m.position||_)&&v.height),k=T.findIndex(v=>v.id===m.id),b=T.filter((v,x)=>x<k&&v.visible).length;return T.filter(v=>v.visible).slice(...f?[b+1]:[0,b]).reduce((v,x)=>v+(x.height||0)+h,0)},[n]);return w(()=>{n.forEach(m=>{if(m.dismissed)i(m.id,m.removeDelay);else{let p=s.get(m.id);p&&(clearTimeout(p),s.delete(m.id))}})},[n,i]),{toasts:n,handlers:{updateHeight:l,startPause:c,endPause:u,calculateOffset:d}}},Br=be`
3
- from {
4
- transform: scale(0) rotate(45deg);
5
- opacity: 0;
6
- }
7
- to {
8
- transform: scale(1) rotate(45deg);
9
- opacity: 1;
10
- }`,Wr=be`
11
- from {
12
- transform: scale(0);
13
- opacity: 0;
14
- }
15
- to {
16
- transform: scale(1);
17
- opacity: 1;
18
- }`,Ur=be`
19
- from {
20
- transform: scale(0) rotate(90deg);
21
- opacity: 0;
22
- }
23
- to {
24
- transform: scale(1) rotate(90deg);
25
- opacity: 1;
26
- }`,Hr=Se("div")`
27
- width: 20px;
28
- opacity: 0;
29
- height: 20px;
30
- border-radius: 10px;
31
- background: ${e=>e.primary||"#ff4b4b"};
32
- position: relative;
33
- transform: rotate(45deg);
34
-
35
- animation: ${Br} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)
36
- forwards;
37
- animation-delay: 100ms;
38
-
39
- &:after,
40
- &:before {
41
- content: '';
42
- animation: ${Wr} 0.15s ease-out forwards;
43
- animation-delay: 150ms;
44
- position: absolute;
45
- border-radius: 3px;
46
- opacity: 0;
47
- background: ${e=>e.secondary||"#fff"};
48
- bottom: 9px;
49
- left: 4px;
50
- height: 2px;
51
- width: 12px;
52
- }
53
-
54
- &:before {
55
- animation: ${Ur} 0.15s ease-out forwards;
56
- animation-delay: 180ms;
57
- transform: rotate(90deg);
58
- }
59
- `,Kr=be`
60
- from {
61
- transform: rotate(0deg);
62
- }
63
- to {
64
- transform: rotate(360deg);
65
- }
66
- `,Qr=Se("div")`
67
- width: 12px;
68
- height: 12px;
69
- box-sizing: border-box;
70
- border: 2px solid;
71
- border-radius: 100%;
72
- border-color: ${e=>e.secondary||"#e0e0e0"};
73
- border-right-color: ${e=>e.primary||"#616161"};
74
- animation: ${Kr} 1s linear infinite;
75
- `,Vr=be`
76
- from {
77
- transform: scale(0) rotate(45deg);
78
- opacity: 0;
79
- }
80
- to {
81
- transform: scale(1) rotate(45deg);
82
- opacity: 1;
83
- }`,zr=be`
84
- 0% {
85
- height: 0;
86
- width: 0;
87
- opacity: 0;
88
- }
89
- 40% {
90
- height: 0;
91
- width: 6px;
92
- opacity: 1;
93
- }
94
- 100% {
95
- opacity: 1;
96
- height: 10px;
97
- }`,Gr=Se("div")`
98
- width: 20px;
99
- opacity: 0;
100
- height: 20px;
101
- border-radius: 10px;
102
- background: ${e=>e.primary||"#61d345"};
103
- position: relative;
104
- transform: rotate(45deg);
105
-
106
- animation: ${Vr} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)
107
- forwards;
108
- animation-delay: 100ms;
109
- &:after {
110
- content: '';
111
- box-sizing: border-box;
112
- animation: ${zr} 0.2s ease-out forwards;
113
- opacity: 0;
114
- animation-delay: 200ms;
115
- position: absolute;
116
- border-right: 2px solid;
117
- border-bottom: 2px solid;
118
- border-color: ${e=>e.secondary||"#fff"};
119
- bottom: 6px;
120
- left: 6px;
121
- height: 10px;
122
- width: 6px;
123
- }
124
- `,Jr=Se("div")`
125
- position: absolute;
126
- `,Yr=Se("div")`
127
- position: relative;
128
- display: flex;
129
- justify-content: center;
130
- align-items: center;
131
- min-width: 20px;
132
- min-height: 20px;
133
- `,Zr=be`
134
- from {
135
- transform: scale(0.6);
136
- opacity: 0.4;
137
- }
138
- to {
139
- transform: scale(1);
140
- opacity: 1;
141
- }`,Xr=Se("div")`
142
- position: relative;
143
- transform: scale(0.6);
144
- opacity: 0.4;
145
- min-width: 20px;
146
- animation: ${Zr} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275)
147
- forwards;
148
- `,eo=({toast:e})=>{let{icon:t,type:n,iconTheme:r}=e;return t!==void 0?typeof t=="string"?X(Xr,null,t):t:n==="blank"?null:X(Yr,null,X(Qr,{...r}),n!=="loading"&&X(Jr,null,n==="error"?X(Hr,{...r}):X(Gr,{...r})))},to=e=>`
149
- 0% {transform: translate3d(0,${e*-200}%,0) scale(.6); opacity:.5;}
150
- 100% {transform: translate3d(0,0,0) scale(1); opacity:1;}
151
- `,no=e=>`
152
- 0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}
153
- 100% {transform: translate3d(0,${e*-150}%,-1px) scale(.6); opacity:0;}
154
- `,ro="0%{opacity:0;} 100%{opacity:1;}",oo="0%{opacity:1;} 100%{opacity:0;}",so=Se("div")`
155
- display: flex;
156
- align-items: center;
157
- background: #fff;
158
- color: #363636;
159
- line-height: 1.3;
160
- will-change: transform;
161
- box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05);
162
- max-width: 350px;
163
- pointer-events: auto;
164
- padding: 8px 10px;
165
- border-radius: 8px;
166
- `,io=Se("div")`
167
- display: flex;
168
- justify-content: center;
169
- margin: 4px 10px;
170
- color: inherit;
171
- flex: 1 1 auto;
172
- white-space: pre-line;
173
- `,ao=(e,t)=>{let n=e.includes("top")?1:-1,[r,s]=En()?[ro,oo]:[to(n),no(n)];return{animation:t?`${be(r)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`:`${be(s)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`}},co=dr(({toast:e,position:t,style:n,children:r})=>{let s=e.height?ao(e.position||t||"top-center",e.visible):{opacity:0},i=X(eo,{toast:e}),a=X(io,{...e.ariaProps},Ze(e.message,e));return X(so,{className:e.className,style:{...s,...n,...e.style}},typeof r=="function"?r({icon:i,message:a}):X(ce,null,i,a))});Or(X);var lo=({id:e,className:t,style:n,onHeightUpdate:r,children:s})=>{let i=G(a=>{if(a){let c=()=>{let l=a.getBoundingClientRect().height;r(e,l)};c(),new MutationObserver(c).observe(a,{subtree:!0,childList:!0,characterData:!0})}},[e,r]);return X("div",{ref:i,className:t,style:n},s)},uo=(e,t)=>{let n=e.includes("top"),r=n?{top:0}:{bottom:0},s=e.includes("center")?{justifyContent:"center"}:e.includes("right")?{justifyContent:"flex-end"}:{};return{left:0,right:0,display:"flex",position:"absolute",transition:En()?void 0:"all 230ms cubic-bezier(.21,1.02,.73,1)",transform:`translateY(${t*(n?1:-1)}px)`,...r,...s}},mo=rt`
174
- z-index: 9999;
175
- > * {
176
- pointer-events: auto;
177
- }
178
- `,We=16,xn=({reverseOrder:e,position:t="top-center",toastOptions:n,gutter:r,children:s,toasterId:i,containerStyle:a,containerClassName:c})=>{let{toasts:l,handlers:u}=Fr(n,i);return X("div",{"data-rht-toaster":i||"",style:{position:"fixed",zIndex:9999,top:We,left:We,right:We,bottom:We,pointerEvents:"none",...a},className:c,onMouseEnter:u.startPause,onMouseLeave:u.endPause},l.map(d=>{let m=d.position||t,p=u.calculateOffset(d,{reverseOrder:e,gutter:r,defaultPosition:t}),f=uo(m,p);return X(lo,{id:d.id,key:d.id,onHeightUpdate:u.updateHeight,className:d.visible?mo:"",style:f},d.type==="custom"?Ze(d.message,d):s?s(d):X(co,{toast:d,position:m}))}))},N=J;function st(e){const t={subscribe(n){let r=null,s=!1,i=!1,a=!1;function c(){if(r===null){a=!0;return}i||(i=!0,typeof r=="function"?r():r&&r.unsubscribe())}return r=e({next(l){var u;s||(u=n.next)===null||u===void 0||u.call(n,l)},error(l){var u;s||(s=!0,(u=n.error)===null||u===void 0||u.call(n,l),c())},complete(){var l;s||(s=!0,(l=n.complete)===null||l===void 0||l.call(n),c())}}),a&&c(),{unsubscribe:c}},pipe(...n){return n.reduce(po,t)}};return t}function po(e,t){return t(e)}function fo(e){const t=new AbortController;return new Promise((n,r)=>{let s=!1;function i(){s||(s=!0,a.unsubscribe())}t.signal.addEventListener("abort",()=>{r(t.signal.reason)});const a=e.subscribe({next(c){s=!0,n(c),i()},error(c){r(c)},complete(){t.abort(),i()}})})}function ho(e){return t=>{let n=0,r=null;const s=[];function i(){r||(r=t.subscribe({next(c){for(const u of s){var l;(l=u.next)===null||l===void 0||l.call(u,c)}},error(c){for(const u of s){var l;(l=u.error)===null||l===void 0||l.call(u,c)}},complete(){for(const l of s){var c;(c=l.complete)===null||c===void 0||c.call(l)}}}))}function a(){if(n===0&&r){const c=r;r=null,c.unsubscribe()}}return st(c=>(n++,s.push(c),i(),{unsubscribe(){n--,a();const l=s.findIndex(u=>u===c);l>-1&&s.splice(l,1)}}))}}function yo(e){let t=e;const n=[],r=a=>{t!==void 0&&a.next(t),n.push(a)},s=a=>{n.splice(n.indexOf(a),1)},i=st(a=>(r(a),()=>{s(a)}));return i.next=a=>{if(t!==a){t=a;for(const c of n)c.next(a)}},i.get=()=>t,i}function go(e){return st(t=>{function n(r=0,s=e.op){const i=e.links[r];if(!i)throw new Error("No more links to execute - did you forget to add an ending link?");return i({op:s,next(a){return n(r+1,a)}})}return n().subscribe(t)})}function je(e){"@babel/helpers - typeof";return je=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},je(e)}function vo(e,t){if(je(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(je(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function bo(e){var t=vo(e,"string");return je(t)=="symbol"?t:t+""}function re(e,t,n){return(t=bo(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function Y(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Wt(Object(n),!0).forEach(function(r){re(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Wt(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Ee(e){return!!e&&!Array.isArray(e)&&typeof e=="object"}function wo(e){return typeof e=="function"}function _o(){return Object.create(null)}const Eo=typeof Symbol=="function"&&!!Symbol.asyncIterator;function So(e){return Eo&&Ee(e)&&Symbol.asyncIterator in e}const ko=e=>e(),In=()=>{},Ut=e=>{Object.freeze&&Object.freeze(e)};function Nn(e,t,n){var r;const s=t.join(".");return(r=n[s])!==null&&r!==void 0||(n[s]=new Proxy(In,{get(i,a){if(!(typeof a!="string"||a==="then"))return Nn(e,[...t,a],n)},apply(i,a,c){const l=t[t.length-1];if(l==="valueOf"||l==="toString"||l==="toJSON")return`tRPC.proxy(${t.slice(0,-1).join(".")})`;let u={args:c,path:t};return l==="call"?u={args:c.length>=2?[c[1]]:[],path:t.slice(0,-1)}:l==="apply"&&(u={args:c.length>=2?c[1]:[],path:t.slice(0,-1)}),Ut(u.args),Ut(u.path),e(u)}})),n[s]}const Cn=e=>Nn(e,[],_o()),Po=e=>new Proxy(In,{get(t,n){if(n!=="then")return e(n)}});function Me(e){"@babel/helpers - typeof";return Me=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Me(e)}function To(e,t){if(Me(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Me(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function xo(e){var t=To(e,"string");return Me(t)=="symbol"?t:t+""}function yt(e,t,n){return(t=xo(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function Ue(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Ht(Object(n),!0).forEach(function(r){yt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ht(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var Io=class extends Error{constructor(e){super(No(e)),Object.assign(this,e)}};function No(e){if("message"in e)return String(e.message)}function Co(e){if(e instanceof Error)return e;const t=typeof e;if(!(t==="undefined"||t==="function"||e===null)){if(t!=="object")return new Error(String(e));if(Ee(e))return new Io(e)}}var Kt=class extends Error{constructor(e){var t,n,r;const s=Co(e.cause),i=(t=(n=e.message)!==null&&n!==void 0?n:s?.message)!==null&&t!==void 0?t:e.code;super(i,{cause:s}),yt(this,"cause",void 0),yt(this,"code",void 0),this.code=e.code,this.name="TRPCError",(r=this.cause)!==null&&r!==void 0||(this.cause=s)}};function Oo(e,t){if("error"in e){const n=t.deserialize(e.error);return{ok:!1,error:Ue(Ue({},e),{},{error:n})}}return{ok:!0,result:Ue(Ue({},e.result),(!e.result.type||e.result.type==="data")&&{type:"data",data:t.deserialize(e.result.data)})}}var ct=class extends Error{constructor(){super("Unable to transform response from server")}};function Ao(e,t){let n;try{n=Oo(e,t)}catch{throw new ct}if(!n.ok&&(!Ee(n.error.error)||typeof n.error.error.code!="number"))throw new ct;if(n.ok&&!Ee(n.result))throw new ct;return n}function Lo(e){return typeof e=="function"}async function Ro(e,t){const{_def:n}=e;let r=n.procedures[t];for(;!r;){const s=Object.keys(n.lazy).find(i=>t===i||t.startsWith(i+"."));if(!s)return null;await n.lazy[s].load(),r=n.procedures[t]}return r}async function $o(e){const{type:t,path:n}=e,r=await Ro(e.router,n);if(!r||!Lo(r)||r._def.type!==t&&!e.allowMethodOverride)throw new Kt({code:"NOT_FOUND",message:`No "${t}"-procedure on path "${n}"`});if(r._def.type!==t&&e.allowMethodOverride&&r._def.type==="subscription")throw new Kt({code:"METHOD_NOT_SUPPORTED",message:"Method override is not supported for subscriptions"});return r(e)}function qo(e){return e instanceof Xe}function Do(e){return Ee(e)&&Ee(e.error)&&typeof e.error.code=="number"&&typeof e.error.message=="string"}function jo(e,t){return typeof e=="string"?e:Ee(e)&&typeof e.message=="string"?e.message:t}var Xe=class Je extends Error{constructor(t,n){var r,s;const i=n?.cause;super(t,{cause:i}),re(this,"cause",void 0),re(this,"shape",void 0),re(this,"data",void 0),re(this,"meta",void 0),this.meta=n?.meta,this.cause=i,this.shape=n==null||(r=n.result)===null||r===void 0?void 0:r.error,this.data=n==null||(s=n.result)===null||s===void 0?void 0:s.error.data,this.name="TRPCClientError",Object.setPrototypeOf(this,Je.prototype)}static from(t,n={}){const r=t;return qo(r)?(n.meta&&(r.meta=Y(Y({},r.meta),n.meta)),r):Do(r)?new Je(r.error.message,Y(Y({},n),{},{result:r,cause:n.cause})):new Je(jo(r,"Unknown error"),Y(Y({},n),{},{cause:r}))}};function Mo(e){const t=e;return t?"input"in t?t:{input:t,output:t}:{input:{serialize:n=>n,deserialize:n=>n},output:{serialize:n=>n,deserialize:n=>n}}}const Qt=e=>typeof e=="function";function Fo(e){if(e)return e;if(typeof window<"u"&&Qt(window.fetch))return window.fetch.bind(window);if(typeof globalThis<"u"&&Qt(globalThis.fetch))return globalThis.fetch;throw new Error("No fetch implementation found")}function Bo(...e){const t=new AbortController,n=e.length;let r=0;const s=()=>{++r===n&&t.abort()};for(const i of e)i?.aborted?s():i?.addEventListener("abort",s,{once:!0});return t.signal}function Wo(...e){const t=new AbortController;for(const n of e)n?.aborted?t.abort():n?.addEventListener("abort",()=>t.abort(),{once:!0});return t.signal}function Uo(e){return{url:e.url.toString(),fetch:e.fetch,transformer:Mo(e.transformer),methodOverride:e.methodOverride}}function Ho(e){const t={};for(let n=0;n<e.length;n++){const r=e[n];t[n]=r}return t}const Ko={query:"GET",mutation:"POST",subscription:"PATCH"};function On(e){return"input"in e?e.transformer.input.serialize(e.input):Ho(e.inputs.map(t=>e.transformer.input.serialize(t)))}const An=e=>{const t=e.url.split("?");let n=t[0].replace(/\/$/,"")+"/"+e.path;const r=[];if(t[1]&&r.push(t[1]),"inputs"in e&&r.push("batch=1"),e.type==="query"||e.type==="subscription"){const s=On(e);s!==void 0&&e.methodOverride!=="POST"&&r.push(`input=${encodeURIComponent(JSON.stringify(s))}`)}return r.length&&(n+="?"+r.join("&")),n},Qo=e=>{if(e.type==="query"&&e.methodOverride!=="POST")return;const t=On(e);return t!==void 0?JSON.stringify(t):void 0},Vo=e=>Yo(Y(Y({},e),{},{contentTypeHeader:"application/json",getUrl:An,getBody:Qo}));var zo=class extends Error{constructor(){const e="AbortError";super(e),this.name=e,this.message=e}};const Go=e=>{var t;if(e?.aborted)throw(t=e.throwIfAborted)===null||t===void 0||t.call(e),typeof DOMException<"u"?new DOMException("AbortError","AbortError"):new zo};async function Jo(e){var t,n;Go(e.signal);const r=e.getUrl(e),s=e.getBody(e),i=(t=e.methodOverride)!==null&&t!==void 0?t:Ko[e.type],a=await(async()=>{const l=await e.headers();return Symbol.iterator in l?Object.fromEntries(l):l})(),c=Y(Y(Y({},e.contentTypeHeader&&i!=="GET"?{"content-type":e.contentTypeHeader}:{}),e.trpcAcceptHeader?{[(n=e.trpcAcceptHeaderKey)!==null&&n!==void 0?n:"trpc-accept"]:e.trpcAcceptHeader}:void 0),a);return Fo(e.fetch)(r,{method:i,signal:e.signal,body:s,headers:c})}async function Yo(e){const t={},n=await Jo(e);t.response=n;const r=await n.json();return t.responseJSON=r,{json:r,meta:t}}const Vt=()=>{throw new Error("Something went wrong. Please submit an issue at https://github.com/trpc/trpc/issues/new")};function zt(e){let t=null,n=null;const r=()=>{clearTimeout(n),n=null,t=null};function s(c){const l=[[]];let u=0;for(;;){const p=c[u];if(!p)break;const f=l[l.length-1];if(p.aborted){var d;(d=p.reject)===null||d===void 0||d.call(p,new Error("Aborted")),u++;continue}if(e.validate(f.concat(p).map(h=>h.key))){f.push(p),u++;continue}if(f.length===0){var m;(m=p.reject)===null||m===void 0||m.call(p,new Error("Input is too big for a single dispatch")),u++;continue}l.push([])}return l}function i(){const c=s(t);r();for(const l of c){if(!l.length)continue;const u={items:l};for(const d of l)d.batch=u;e.fetch(u.items.map(d=>d.key)).then(async d=>{await Promise.all(d.map(async(p,f)=>{const h=u.items[f];try{var _;const k=await Promise.resolve(p);(_=h.resolve)===null||_===void 0||_.call(h,k)}catch(k){var T;(T=h.reject)===null||T===void 0||T.call(h,k)}h.batch=null,h.reject=null,h.resolve=null}));for(const p of u.items){var m;(m=p.reject)===null||m===void 0||m.call(p,new Error("Missing result")),p.batch=null}}).catch(d=>{for(const p of u.items){var m;(m=p.reject)===null||m===void 0||m.call(p,d),p.batch=null}})}}function a(c){var l;const u={aborted:!1,key:c,batch:null,resolve:Vt,reject:Vt},d=new Promise((m,p)=>{var f;u.reject=p,u.resolve=m,(f=t)!==null&&f!==void 0||(t=[]),t.push(u)});return(l=n)!==null&&l!==void 0||(n=setTimeout(i)),d}return{load:a}}function Zo(e){var t,n;const r=Uo(e),s=(t=e.maxURLLength)!==null&&t!==void 0?t:1/0,i=(n=e.maxItems)!==null&&n!==void 0?n:1/0;return()=>{const a=l=>({validate(u){if(s===1/0&&i===1/0)return!0;if(u.length>i)return!1;const d=u.map(p=>p.path).join(","),m=u.map(p=>p.input);return An(Y(Y({},r),{},{type:l,path:d,inputs:m,signal:null})).length<=s},async fetch(u){const d=u.map(h=>h.path).join(","),m=u.map(h=>h.input),p=Bo(...u.map(h=>h.signal)),f=await Vo(Y(Y({},r),{},{path:d,inputs:m,type:l,headers(){return e.headers?typeof e.headers=="function"?e.headers({opList:u}):e.headers:{}},signal:p}));return(Array.isArray(f.json)?f.json:u.map(()=>f.json)).map(h=>({meta:f.meta,json:h}))}}),c={query:zt(a("query")),mutation:zt(a("mutation"))};return({op:l})=>st(u=>{if(l.type==="subscription")throw new Error("Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`");const d=new AbortController,m=c[l.type].load(Y(Y({},l),{},{signal:Wo(l.signal,d.signal)}));let p=!1,f;return m.then(h=>{p=!0,f=h;const _=Ao(h.json,r.transformer.output);if(!_.ok){u.error(Xe.from(_.error,{meta:h.meta}));return}u.next({context:h.meta,result:_.result}),u.complete()}).catch(h=>{p=!0,u.error(Xe.from(h,{meta:f?.meta}))}),()=>{p||d.abort()}})}}const Ln=(e,...t)=>typeof e=="function"?e(...t):e;function Xo(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}async function es(e){const t=await Ln(e.url);return e.connectionParams?t+`${t.includes("?")?"&":"?"}connectionParams=1`:t}async function ts(e,t){const n={method:"connectionParams",data:await Ln(e)};return t.encode(n)}function ns(e){const{promise:t,resolve:n,reject:r}=Xo();return e.addEventListener("open",()=>{e.removeEventListener("error",r),n()}),e.addEventListener("error",r),t}function rs(e,{intervalMs:t,pongTimeoutMs:n}){let r,s;function i(){r=setTimeout(()=>{e.send("PING"),s=setTimeout(()=>{e.close()},n)},t)}function a(){clearTimeout(r),i()}function c(){clearTimeout(s),a()}e.addEventListener("open",i),e.addEventListener("message",({data:l})=>{clearTimeout(r),i(),l==="PONG"&&c()}),e.addEventListener("close",()=>{clearTimeout(r),clearTimeout(s)})}var os=class gt{constructor(t){var n;if(re(this,"id",++gt.connectCount),re(this,"WebSocketPonyfill",void 0),re(this,"urlOptions",void 0),re(this,"keepAliveOpts",void 0),re(this,"encoder",void 0),re(this,"wsObservable",yo(null)),re(this,"openPromise",null),this.WebSocketPonyfill=(n=t.WebSocketPonyfill)!==null&&n!==void 0?n:WebSocket,!this.WebSocketPonyfill)throw new Error("No WebSocket implementation found - you probably don't want to use this on the server, but if you do you need to pass a `WebSocket`-ponyfill");this.urlOptions=t.urlOptions,this.keepAliveOpts=t.keepAlive,this.encoder=t.encoder}get ws(){return this.wsObservable.get()}set ws(t){this.wsObservable.next(t)}isOpen(){return!!this.ws&&this.ws.readyState===this.WebSocketPonyfill.OPEN&&!this.openPromise}isClosed(){return!!this.ws&&(this.ws.readyState===this.WebSocketPonyfill.CLOSING||this.ws.readyState===this.WebSocketPonyfill.CLOSED)}async open(){if(this.openPromise)return this.openPromise;this.id=++gt.connectCount;const t=es(this.urlOptions).then(n=>new this.WebSocketPonyfill(n));this.openPromise=t.then(async n=>{this.ws=n,n.binaryType="arraybuffer",n.addEventListener("message",function({data:r}){r==="PING"&&this.send("PONG")}),this.keepAliveOpts.enabled&&rs(n,this.keepAliveOpts),n.addEventListener("close",()=>{this.ws===n&&(this.ws=null)}),await ns(n),this.urlOptions.connectionParams&&n.send(await ts(this.urlOptions.connectionParams,this.encoder))});try{await this.openPromise}finally{this.openPromise=null}}async close(){try{await this.openPromise}finally{var t;(t=this.ws)===null||t===void 0||t.close()}}};re(os,"connectCount",0);var Rn=class{constructor(e){re(this,"links",void 0),re(this,"runtime",void 0),re(this,"requestId",void 0),this.requestId=0,this.runtime={},this.links=e.links.map(t=>t(this.runtime))}$request(e){var t;return go({links:this.links,op:Y(Y({},e),{},{context:(t=e.context)!==null&&t!==void 0?t:{},id:++this.requestId})}).pipe(ho())}async requestAsPromise(e){try{const t=this.$request(e);return(await fo(t)).result.data}catch(t){throw Xe.from(t)}}query(e,t,n){return this.requestAsPromise({type:"query",path:e,input:t,context:n?.context,signal:n?.signal})}mutation(e,t,n){return this.requestAsPromise({type:"mutation",path:e,input:t,context:n?.context,signal:n?.signal})}subscription(e,t,n){return this.$request({type:"subscription",path:e,input:t,context:n.context,signal:n.signal}).subscribe({next(r){switch(r.result.type){case"state":var s;(s=n.onConnectionStateChange)===null||s===void 0||s.call(n,r.result);break;case"started":var i;(i=n.onStarted)===null||i===void 0||i.call(n,{context:r.context});break;case"stopped":var a;(a=n.onStopped)===null||a===void 0||a.call(n);break;case"data":case void 0:var c;(c=n.onData)===null||c===void 0||c.call(n,r.result.data)}},error(r){var s;(s=n.onError)===null||s===void 0||s.call(n,r)},complete(){var r;(r=n.onComplete)===null||r===void 0||r.call(n)}})}};const $n=Symbol.for("trpc_untypedClient"),ss={query:"query",mutate:"mutation",subscribe:"subscription"},is=e=>ss[e];function as(e){const t=Cn(({path:n,args:r})=>{const s=[...n],i=is(s.pop()),a=s.join(".");return e[i](a,...r)});return Po(n=>n===$n?e:t[n])}function cs(e){return as(new Rn(e))}function ls(e){return e[$n]}function Fe(e){"@babel/helpers - typeof";return Fe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fe(e)}function us(e,t){if(Fe(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Fe(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ds(e){var t=us(e,"string");return Fe(t)=="symbol"?t:t+""}function ms(e,t,n){return(t=ds(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Gt(Object(n),!0).forEach(function(r){ms(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gt(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function ps(e){var t,n,r,s=2;for(typeof Symbol<"u"&&(n=Symbol.asyncIterator,r=Symbol.iterator);s--;){if(n&&(t=e[n])!=null)return t.call(e);if(r&&(t=e[r])!=null)return new Ye(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function Ye(e){function t(n){if(Object(n)!==n)return Promise.reject(new TypeError(n+" is not an object."));var r=n.done;return Promise.resolve(n.value).then(function(s){return{value:s,done:r}})}return Ye=function(r){this.s=r,this.n=r.next},Ye.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(r){var s=this.s.return;return s===void 0?Promise.resolve({value:r,done:!0}):t(s.apply(this.s,arguments))},throw:function(r){var s=this.s.return;return s===void 0?Promise.reject(r):t(s.apply(this.s,arguments))}},new Ye(e)}function fs(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}function hs(e,t){if(e==null)return{};var n,r,s=fs(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}const ys=["cursor","direction"];function it(e){return{path:e.path.join(".")}}function gs(e){return e.length>=3}function vs(e){return gs(e)?{type:"prefixed",prefix:e[0],path:e[1],args:e[2]}:{type:"unprefixed",prefix:void 0,path:e[0],args:e[1]}}function It(e,t,n){var r;const s=vs(e);let i=(r=s.args)===null||r===void 0?void 0:r.input;if(n){var a,c;i=R(R(R({},(a=(c=s.args)===null||c===void 0?void 0:c.input)!==null&&a!==void 0?a:{}),n.pageParam!==void 0?{cursor:n.pageParam}:{}),{},{direction:n.direction})}return[s.path.join("."),i,t?.trpc]}async function bs(e,t,n){const r=t.getQueryCache().build(t,{queryKey:n});r.setState({data:[],status:"success"});const s=[];var i=!1,a=!1,c;try{for(var l=ps(e),u;i=!(u=await l.next()).done;i=!1){const d=u.value;s.push(d),r.setState({data:[...s]})}}catch(d){a=!0,c=d}finally{try{i&&l.return!=null&&await l.return()}finally{if(a)throw c}}return s}function ge(e){const t=ko(()=>{const{input:n,type:r}=e,s=e.path.flatMap(i=>i.split("."));if(!n&&r==="any")return s.length?[s]:[];if(r==="infinite"&&Ee(n)&&("direction"in n||"cursor"in n)){const{cursor:i,direction:a}=n;return[s,{input:hs(n,ys),type:"infinite"}]}return[s,R(R({},typeof n<"u"&&n!==Pe&&{input:n}),r&&r!=="any"&&{type:r})]});return e.prefix&&t.unshift([e.prefix]),t}function qn(e){const t=[e.path.flatMap(n=>n.split("."))];return e.prefix&&t.unshift([e.prefix]),t}function Nt(e){return wo(e)?e():e}function ws(e){var t;const{input:n,query:r,path:s,queryKey:i,opts:a}=e,c=n===Pe,l=async u=>{var d;const m=R(R({},a),{},{trpc:R(R({},a?.trpc),!(a==null||(d=a.trpc)===null||d===void 0)&&d.abortOnUnmount?{signal:u.signal}:{signal:null})});return await r(...It(i,m,{direction:u.direction,pageParam:u.pageParam}))};return Object.assign(br(R(R({},a??{}),{},{queryKey:i,queryFn:c?Pe:l,initialPageParam:(t=a?.initialCursor)!==null&&t!==void 0?t:n?.cursor})),{trpc:it({path:s})})}function _s(e){var t,n;const{mutate:r,path:s,prefix:i,opts:a,overrides:c}=e,l=Nt(e.queryClient),u=qn({path:s,prefix:(t=a?.keyPrefix)!==null&&t!==void 0?t:i}),d=l.defaultMutationOptions(l.getMutationDefaults(u)),m=(n=c?.onSuccess)!==null&&n!==void 0?n:(f=>f.originalFn()),p=async f=>await r(...It([...u,{input:f}],a));return R(R({},a),{},{mutationKey:u,mutationFn:p,onSuccess(...f){var h,_;return m({originalFn:()=>{var k,b,v;return(k=a==null||(b=a.onSuccess)===null||b===void 0?void 0:b.call(a,...f))!==null&&k!==void 0?k:d==null||(v=d.onSuccess)===null||v===void 0?void 0:v.call(d,...f)},queryClient:l,meta:(h=(_=a?.meta)!==null&&_!==void 0?_:d?.meta)!==null&&h!==void 0?h:{}})},trpc:it({path:s})})}function Es(e){const{input:t,query:n,path:r,queryKey:s,opts:i}=e,a=Nt(e.queryClient),c=t===Pe,l=async u=>{var d;const m=R(R({},i),{},{trpc:R(R({},i?.trpc),!(i==null||(d=i.trpc)===null||d===void 0)&&d.abortOnUnmount?{signal:u.signal}:{signal:null})}),p=u.queryKey,f=await n(...It(p,m));return So(f)?bs(f,a,p):f};return Object.assign(wr(R(R({},i),{},{queryKey:s,queryFn:c?Pe:l})),{trpc:it({path:r})})}const Ss=e=>{const{subscribe:t,path:n,queryKey:r,input:s,opts:i={}}=e,a="enabled"in i?!!i.enabled:s!==Pe,c=l=>t(n.join("."),s===Pe?void 0:s,l);return R(R({},i),{},{enabled:a,subscribe:c,queryKey:r,trpc:it({path:n})})};function ks(e){const t=e.keyPrefix,n=r=>(s,i,a)=>"router"in e?Promise.resolve(Nt(e.ctx)).then(c=>$o({router:e.router,path:s,getRawInput:async()=>i,ctx:c,type:r,signal:void 0,batchIndex:0})):(e.client instanceof Rn?e.client:ls(e.client))[r](s,i,a);return Cn(({args:r,path:s})=>{const i=[...s],a=i.pop(),[c,l]=r;return{"~types":void 0,pathKey:()=>ge({path:i,type:"any",prefix:t}),pathFilter:()=>R(R({},c),{},{queryKey:ge({path:i,type:"any",prefix:t})}),queryOptions:()=>Es({input:c,opts:l,path:i,queryClient:e.queryClient,queryKey:ge({path:i,input:c,type:"query",prefix:t}),query:n("query")}),queryKey:()=>ge({path:i,input:c,type:"query",prefix:t}),queryFilter:()=>R(R({},l),{},{queryKey:ge({path:i,input:c,type:"query",prefix:t})}),infiniteQueryOptions:()=>ws({input:c,opts:l,path:i,queryKey:ge({path:i,input:c,type:"infinite",prefix:t}),query:n("query")}),infiniteQueryKey:()=>ge({path:i,input:c,type:"infinite",prefix:t}),infiniteQueryFilter:()=>R(R({},l),{},{queryKey:ge({path:i,input:c,type:"infinite",prefix:t})}),mutationOptions:()=>{var u;return _s({opts:c,path:i,prefix:t,queryClient:e.queryClient,mutate:n("mutation"),overrides:(u=e.overrides)===null||u===void 0?void 0:u.mutations})},mutationKey:()=>qn({path:i,prefix:t}),subscriptionOptions:()=>Ss({opts:l,path:i,input:c,queryKey:ge({path:i,input:c,type:"any",prefix:t}),subscribe:n("subscription")})}[a]()})}function Ps(){const e=he(null),t=he(null),n=i=>{const a=Ce(()=>ks({client:i.trpcClient,queryClient:i.queryClient,keyPrefix:i.keyPrefix}),[i.trpcClient,i.queryClient,i.keyPrefix]);return X(e.Provider,{value:i.trpcClient},X(t.Provider,{value:a},i.children))};n.displayName="TRPCProvider";function r(){const i=ye(t);if(!i)throw new Error("useTRPC() can only be used inside of a <TRPCProvider>");return i}function s(){const i=ye(e);if(!i)throw new Error("useTRPCClient() can only be used inside of a <TRPCProvider>");return i}return{TRPCProvider:n,useTRPC:r,useTRPCClient:s}}const vt={lan:new Set,animepahe:new Set,jasmr:new Set};function ke(e){for(const t of[...vt[e]])try{t()}catch(n){console.error(`auth-bus listener failed (${e}):`,n)}}function Dn(e,t){return vt[e].add(t),()=>{vt[e].delete(t)}}let et="default";function jn(){return et}function Ts(e){et=e}const xs=new Set(["playerVideoDelayMs","playerVideoDelayEnabled","anime4kEnabled"]);function He(e){return et==="default"||xs.has(e)?e:`dango:profile:${et}:${e}`}const Z={keyFor:He,getItem:e=>localStorage.getItem(He(e)),setItem:(e,t)=>localStorage.setItem(He(e),t),removeItem:e=>localStorage.removeItem(He(e))};function Is(){localStorage.setItem("dango:profile-session-change",`${Date.now()}-${Math.random()}`),window.location.assign("/")}const Ns=(e,t)=>new Promise((n,r)=>{t?.throwIfAborted();const s=()=>{clearTimeout(i),r(t?.reason)},i=setTimeout(()=>{t?.removeEventListener("abort",s),n()},e);t?.addEventListener("abort",s,{once:!0})}),Ct=async(e,t)=>{const n=e instanceof Request?e:void 0,r=new Headers(n?.headers);(!t?.body||!(t.body instanceof FormData))&&r.set("Content-Type","application/json");const s=n?.url??e.toString(),i=s.startsWith("/")&&!s.startsWith("//")||typeof window<"u"&&new URL(s,window.location.origin).origin===window.location.origin;if(i){!s.includes("/api/profiles/status")&&!s.includes("/api/profiles/login")&&!s.includes("/api/auth/app-")&&r.set("x-dango-profile-id",jn());let m=Z.getItem("animepahe_ua"),p=Z.getItem("animepahe_cookie");p&&m&&m!==navigator.userAgent&&(Z.removeItem("animepahe_cookie"),Z.removeItem("animepahe_ua"),p=null,m=null,N.error("Your browser changed. Verify AnimePahe again to refresh its cookie."),ke("animepahe"));const f=Z.getItem("jasmr_ua"),h=Z.getItem("jasmr_cookie");m&&r.set("x-animepahe-ua",m),p&&r.set("x-animepahe-cookie",p),f&&r.set("x-jasmr-ua",f),h&&r.set("x-jasmr-cookie",h)}new Headers(t?.headers).forEach((m,p)=>r.set(p,m));const a={...t,headers:r},c=(t?.method??n?.method??"GET").toUpperCase(),l=t?.signal??n?.signal,u=i&&(c==="GET"||c==="HEAD");let d=await fetch(e,a);i&&d.status===409&&(await d.clone().json().catch(()=>null))?.error==="PROFILE_CHANGED"&&window.location.reload(),i&&d.status===401&&!s.includes("/api/profiles/")&&(await d.clone().json().catch(()=>null))?.error==="PROFILE_AUTH_REQUIRED"&&window.dispatchEvent(new Event("dango:profile-auth-required"));for(let m=0;u&&d.status===503&&d.headers.get("x-dango-not-ready")==="1"&&m<3;m++)await d.body?.cancel(),await Ns(500*2**m,l),d=await fetch(e,a);return d},qe=async(e,t)=>{const n=await Ct(e,t);if(!n.ok){const r=await n.text().catch(()=>"");let s={};try{s=JSON.parse(r)}catch{}const i=typeof s.error=="string"?s.error:"";throw n.status===403&&i==="AUTH_REQUIRED"&&s.provider==="animepahe"&&ke("animepahe"),n.status===403&&i==="AUTH_REQUIRED"&&s.provider==="jasmr"&&ke("jasmr"),n.status===401&&i==="LAN_AUTH_REQUIRED"&&ke("lan"),new Error(i||`Failed to fetch from ${e}`)}return n.json()};async function Cs(e,t){const n=await Ct(e,t);if(n.status===401)try{(await n.clone().json())?.error==="LAN_AUTH_REQUIRED"&&ke("lan")}catch{}return await Os(n),n}async function Os(e){try{if(!e.headers.get("content-type")?.includes("json"))return;const t=await e.clone().json(),n=Array.isArray(t)?t:[t];for(const r of n){const s=r?.error;if(!s||typeof s!="object")continue;const i=s.data?.cause;(s.message==="AUTH_REQUIRED"||i?.code==="AUTH_REQUIRED")&&(i?.provider==="animepahe"||i?.provider==="jasmr")&&ke(i.provider),(s.message==="LAN_AUTH_REQUIRED"||i?.code==="LAN_AUTH_REQUIRED")&&ke("lan")}}catch{}}const{TRPCProvider:As,useTRPC:D}=Ps(),le=cs({links:[Zo({url:"/api/trpc",fetch:Cs})]}),Ls="_overlay_1juub_1",Rs="_fadeIn_1juub_1",$s="_content_1juub_11",qs="_modalIn_1juub_1",Ds="_sm_1juub_29",js="_md_1juub_33",Ms="_lg_1juub_37",Fs="_title_1juub_41",Bs="_body_1juub_48",Ws="_footer_1juub_52",Ie={overlay:Ls,fadeIn:Rs,content:$s,modalIn:qs,sm:Ds,md:js,lg:Ms,title:Fs,body:Bs,footer:Ws};function Mn({children:e}){return o("h2",{className:Ie.title,children:e})}function Fn({children:e}){return o("div",{className:Ie.body,children:e})}function Bn({children:e}){return o("div",{className:Ie.footer,children:e})}function Oe({isOpen:e,onClose:t,title:n,children:r,footer:s,width:i="md"}){const a=B(null),[c,l]=g(document.body);return w(()=>{if(!e)return;const u=()=>l(document.fullscreenElement??document.body);return u(),document.addEventListener("fullscreenchange",u),()=>document.removeEventListener("fullscreenchange",u)},[e]),w(()=>{if(!e)return;const u=m=>{m.key==="Escape"&&t?.()};document.addEventListener("keydown",u);const d=document.body.style.overflow;return document.body.style.overflow="hidden",a.current?.focus(),()=>{document.removeEventListener("keydown",u),document.body.style.overflow=d}},[e,t]),e?vn(o("div",{role:"presentation",onMouseDown:u=>u.stopPropagation(),children:[o("div",{className:Ie.overlay,onClick:()=>t?.(),"aria-hidden":"true"}),o("div",{ref:a,className:`${Ie.content} ${Ie[i]}`,role:"dialog","aria-modal":"true","aria-label":n,tabIndex:-1,children:[n&&o(Mn,{children:n}),o(Fn,{children:r}),s&&o(Bn,{children:s})]})]}),c):null}Oe.Header=Mn;Oe.Body=Fn;Oe.Actions=Bn;const Ae=new Map,Us=500,Hs=(e,t,n)=>{if(!e||e.trim()==="")return"/placeholder.svg";if(e.includes("/api/image-proxy")){let a=e;if(t&&!a.includes("w=")){const c=a.includes("?")?"&":"?";a+=`${c}w=${t}`}if(n&&!a.includes("h=")){const c=a.includes("?")?"&":"?";a+=`${c}h=${n}`}return a}let r=e;r.includes("aln.youtube-anime.com")&&(r=r.replace(/https?:\/\/allanime\.day\/aln\.youtube-anime\.com/,"https://aln.youtube-anime.com"),r.includes("/images/mcovers")&&(r=r.replace("/images/mcovers","/mcovers")),r.includes("/images/images2")&&(r=r.replace("/images/images2","/images2"))),r.includes("allanime.day/s4.anilist.co")&&(r=r.replace(/https?:\/\/allanime\.day\/s4\.anilist\.co/,"https://s4.anilist.co")),r.includes("wp.youtube-anime.com/s4.anilist.co")&&(r=r.replace(/https?:\/\/wp\.youtube-anime\.com\/s4\.anilist\.co/,"https://s4.anilist.co"));const s=`${r}-${t}-${n}`;if(Ae.has(s))return Ae.get(s);let i;if(r.startsWith("https://s4.anilist.co"))i=r,t&&(i+=`${i.includes("?")?"&":"?"}w=${t}`),n&&(i+=`${i.includes("?")?"&":"?"}h=${n}`);else if(r.includes("animepahe")){i=`/api/image-proxy?url=${encodeURIComponent(r)}`;const a=Z.getItem("animepahe_cookie"),c=Z.getItem("animepahe_ua");a&&(i+=`&cookie=${encodeURIComponent(a)}`),c&&(i+=`&ua=${encodeURIComponent(c)}`)}else if(r.startsWith("http"))i=`/api/image-proxy?url=${encodeURIComponent(r)}`,t&&(i+=`&w=${t}`),n?i+=`&h=${n}`:t||(i+="&w=300");else{const c=`${r.startsWith("mcovers")||r.startsWith("images2")?"https://aln.youtube-anime.com":"https://aln.youtube-anime.com/images"}/${r}`;i=`/api/image-proxy?url=${encodeURIComponent(c)}`,t&&(i+=`&w=${t}`),n?i+=`&h=${n}`:t||(i+="&w=300")}return Ae.size>Us&&Ae.clear(),Ae.set(s,i),i},iu=e=>{if(isNaN(e)||e<=0)return"00:00";const t=new Date(e*1e3).toISOString().slice(11,19);return parseInt(t.slice(0,2),10)>0?t:t.slice(3)};function au(e){return e?e.replace(/<[^>]*>?/gm,"").replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").trim():""}function cu(e){return e==null?e:e>10?Number((e/10).toFixed(1)):e}const Ks=(...e)=>e.filter(Boolean).join(" ");function Qs(e,t,n="..."){return e?e.length>t?e.slice(0,t)+n:e:""}const Wn=he(void 0),Vs=()=>{const e=ye(Wn);if(e===void 0)throw new Error("useTitlePreference must be used within a TitlePreferenceProvider");return e},q={watchlist:"watchlist",continueWatching:"allContinueWatching",queueRemaining:"queue-remaining",suggestedEpisode:"suggestedEpisode",trendingList:"trendingList",latestReleases:"latestReleases",thisWeekSchedule:"thisWeekSchedule",schedule:"schedule",genreCards:"genreCards",queue:"queue",playerData:"player-data",showData:"show-data",showMeta:"show-meta",videoSources:"video-sources",tvSources:"tv-sources",tvLibrary:"tv-library",tvContinueWatching:"tv-continue-watching",tvProgress:"tv-progress",mangaLibrary:"manga-library",mangaContinueReading:"manga-continue-reading",mangaProgress:"manga-progress",mangaBrowse:"mangaBrowse",mangaBrowseInfinite:"mangaBrowseInfinite",mangaDetail:"mangaDetail",mangaPages:"mangaPages",asmrLibrary:"asmr-library",asmrContinueListening:"asmr-continue-listening",asmrProgress:"asmr-progress",asmrBrowse:"asmrBrowse",asmrWork:"asmrWork",trackerStatus:"trackerStatus",anilistClientId:"anilistClientId",malClientConfig:"malClientConfig",notifications:"notifications",settings:"settings",insights:"insights",insightsRecommendations:"insights-recommendations",providers:"providers",syncProfile:"sync-profile"},lu=()=>{const e=D(),t=oe({...e.data.spotlight.queryOptions(),staleTime:1e3*60*5,retry:1});return{...t,data:t.data}},uu=(e="TRENDING_DESC",t=10)=>Tt({queryKey:[q.trendingList,e,t],queryFn:({pageParam:n=1})=>le.data.popularList.query({sort:e,page:n,size:t}),initialPageParam:1,getNextPageParam:(n,r)=>n.length>=t?r.length+1:void 0}),du=(e="TV",t=12)=>Tt({queryKey:[q.latestReleases,e,t],queryFn:({pageParam:n=1})=>le.data.latestReleases.query({format:e,page:n,size:t}),initialPageParam:1,getNextPageParam:(n,r)=>n.length>=t?r.length+1:void 0}),mu=(e,t="TV",n=!0)=>{const r=D();return oe({...r.data.seasonal.queryOptions({page:e,format:t}),enabled:n,staleTime:1e3*60*5})},zs=["query","sortBy","type","status","season","year","country","genres","excludeGenres","excludeTags","minScore","minEpisodes","adult"],pu=(e,t,n=14)=>{const r=D(),s=new URLSearchParams(e),i={page:t,limit:n};for(const a of zs){const c=s.get(a);c!==null&&(i[a]=c)}return oe({...r.data.search.queryOptions(i),enabled:e!=null})},fu=()=>{const e=D();return oe(e.queue.list.queryOptions())},Gs=()=>{const e=D(),t=ee();return ae(e.queue.add.mutationOptions({onSuccess:n=>{n.queued?N.success("Added to queue"):N.success("Removed from queue"),t.invalidateQueries(e.queue.pathFilter()),t.invalidateQueries({queryKey:[q.queueRemaining]})},onError:n=>{N.error(`Failed to update queue: ${n.message}`)}}))},hu=()=>{const e=D(),t=ee();return ae(e.queue.remove.mutationOptions({onSuccess:()=>{N.success("Removed from queue"),t.invalidateQueries(e.queue.pathFilter()),t.invalidateQueries({queryKey:[q.queueRemaining]}),t.invalidateQueries({queryKey:[q.continueWatching]})},onError:n=>{N.error(`Failed to remove: ${n.message}`)}}))},yu=(e,t=!0)=>oe({queryKey:[q.queueRemaining,e],queryFn:()=>le.watchlist.queueRemaining.query({showId:e}),enabled:!!e&&t,staleTime:1e3*60}),gu=()=>{const e=D(),t=ee();return ae(e.queue.addBatch.mutationOptions({onSuccess:(n,r)=>{const s=n.added??r.episodeNumbers.length;N.success(`${s} ${s===1?"episode":"episodes"} added to queue`),t.invalidateQueries(e.queue.pathFilter()),t.invalidateQueries({queryKey:[q.queueRemaining]})},onError:n=>{N.error(`Failed to update queue: ${n.message}`)}}))},vu=()=>{const e=D(),t=ee();return ae(e.queue.removeMany.mutationOptions({onSuccess:()=>{N.success("Removed from queue"),t.invalidateQueries(e.queue.pathFilter()),t.invalidateQueries({queryKey:[q.queueRemaining]}),t.invalidateQueries({queryKey:[q.continueWatching]})},onError:n=>{N.error(`Failed to remove: ${n.message}`)}}))},bu=()=>{const e=D(),t=ee();return ae(e.queue.clear.mutationOptions({onSuccess:()=>{N.success("Queue cleared"),t.invalidateQueries(e.queue.pathFilter()),t.invalidateQueries({queryKey:[q.queueRemaining]}),t.invalidateQueries({queryKey:[q.continueWatching]})},onError:n=>{N.error(`Failed to clear queue: ${n.message}`)}}))},wu=()=>{const e=D(),t=ee(),n=e.queue.list.queryOptions().queryKey;return ae(e.queue.reorder.mutationOptions({onMutate:async r=>{await t.cancelQueries({queryKey:n});const s=t.getQueryData(n);return t.setQueryData(n,i=>{if(!i)return i;const a=new Map(i.map(c=>[c.id,c]));return r.map((c,l)=>{const u=a.get(c.id??-1);return u?{...u,queue_order:l}:void 0}).filter(c=>!!c)}),{previousQueue:s}},onError:(r,s,i)=>{i?.previousQueue&&t.setQueryData(n,i.previousQueue)},onSettled:()=>{t.invalidateQueries(e.queue.pathFilter())}}))},Js=["status","showMature","query","type","season","year","genres","excludeGenres","sortBy","titlePreference"];function Ot(e,t,n){const r=new URLSearchParams(e),s={page:t,limit:n};for(const i of Js){const a=r.get(i);a!==null&&(s[i]=a)}return s}const _u=(e,t="",n,r=14)=>oe({queryKey:[q.watchlist,e,t,n,r],queryFn:async()=>{const s=new URLSearchParams(t);return s.set("status",e),await le.watchlist.list.query(Ot(s.toString(),n,r))}}),Eu=(e="")=>Tt({queryKey:[q.continueWatching,e],queryFn:async({pageParam:t=1})=>await le.watchlist.continueWatchingAll.query(Ot(e,t,14)),initialPageParam:1,getNextPageParam:t=>{if(!(t.data.length===0||t.page*t.limit>=t.total))return t.page+1},select:t=>({...t,pages:t.pages.flatMap(n=>n.data)})}),Su=(e="",t,n=14)=>oe({queryKey:[q.continueWatching,e,t,n],queryFn:async()=>await le.watchlist.continueWatchingAll.query(Ot(e,t,n))}),ku=()=>{const e=D(),t=ee();return ae(e.watchlist.remove.mutationOptions({onSuccess:()=>{N.success("Removed from watchlist"),t.invalidateQueries(e.watchlist.pathFilter()),t.invalidateQueries({queryKey:[q.watchlist]})},onError:n=>{N.error(`Failed to remove: ${n.message}`)}}))},Pu=()=>{const e=D(),t=ee();return ae(e.watchlist.batchStatus.mutationOptions({onSuccess:n=>{N.success(`Status updated for ${n.updated??0} items`),t.invalidateQueries(e.watchlist.pathFilter()),t.invalidateQueries({queryKey:[q.watchlist]}),t.invalidateQueries({queryKey:[q.continueWatching]})},onError:n=>{N.error(`Failed to update statuses: ${n.message}`)}}))},Tu=()=>{const e=D(),t=ee();return ae(e.watchlist.removeMany.mutationOptions({onSuccess:n=>{const r=n.removed??0;N.success(`Removed ${r} ${r===1?"item":"items"} from watchlist`),t.invalidateQueries(e.watchlist.pathFilter()),t.invalidateQueries({queryKey:[q.watchlist]}),t.invalidateQueries({queryKey:[q.continueWatching]})},onError:n=>{N.error(`Failed to remove: ${n.message}`)}}))},xu=()=>{const e=D(),t=ee();return ae(e.continueWatching.removeMany.mutationOptions({onSuccess:n=>{const r=n.removed??0;N.success(`Removed ${r} ${r===1?"item":"items"} from continue watching`),t.invalidateQueries(e.continueWatching.pathFilter()),t.invalidateQueries({queryKey:[q.continueWatching]})},onError:n=>{N.error(`Failed to remove: ${n.message}`)}}))},Un=(e=!0)=>{const t=D();return oe({...t.notifications.list.queryOptions(),enabled:e,refetchInterval:3e4})},Hn=(e=!0)=>{const t=D();return oe({...t.data.systemNotifications.queryOptions(),enabled:e,refetchInterval:3e4})},Kn=(e=!0)=>{const t=D();return oe({...t.discovery.status.queryOptions(),enabled:e,refetchInterval:n=>n.state.data?.running?2e3:!1})},Ys=()=>{const e=D(),t=ee(),n=e.discovery.status.queryOptions().queryKey;return ae(e.discovery.refresh.mutationOptions({onSuccess:r=>{t.setQueryData(n,{running:r.running,state:r.state,total:r.total,done:r.done,lastRunAt:r.lastRunAt}),t.invalidateQueries(e.notifications.pathFilter()),t.invalidateQueries({queryKey:[q.notifications]})},onError:()=>{t.invalidateQueries({queryKey:n})}}))},Zs=()=>{const e=D(),t=ee();return ae(e.notifications.dismiss.mutationOptions({onSuccess:()=>{t.invalidateQueries(e.notifications.pathFilter())}}))},Xs=()=>{const e=D(),t=ee();return ae(e.notifications.clearAll.mutationOptions({onSuccess:()=>{t.invalidateQueries(e.notifications.pathFilter())}}))},Iu=()=>{const e=D();return oe({...e.continueWatching.thisWeek.queryOptions(),staleTime:1e3*60*5})},Nu=()=>{const e=D();return oe({...e.data.genresAndTags.queryOptions(),staleTime:1e3*60*60})},Cu=()=>oe({queryKey:[q.genreCards],queryFn:()=>le.insights.genreCards.query()}),ei="_container_1l2rp_1",ti="_bellBtn_1l2rp_7",ni="_badge_1l2rp_56",ri="_dropdown_1l2rp_84",oi="_dropdownHeader_1l2rp_115",si="_headerSubtitle_1l2rp_123",ii="_headerActions_1l2rp_130",ai="_closeBtn_1l2rp_136",ci="_sectionHeading_1l2rp_149",li="_clearAllBtn_1l2rp_165",ui="_discoveryStatusRow_1l2rp_183",di="_statusDot_1l2rp_194",mi="_statusDotRunning_1l2rp_201",pi="_statusDotOk_1l2rp_206",fi="_statusDotError_1l2rp_214",hi="_statusDotIdle_1l2rp_218",yi="_list_1l2rp_232",gi="_item_1l2rp_246",vi="_itemTitleLink_1l2rp_257",bi="_systemItemMeta_1l2rp_264",wi="_removeItem_1l2rp_265",_i="_modalButton_1l2rp_267",Ei="_systemItem_1l2rp_264",Si="_systemIcon_1l2rp_280",ki="_thumbnail_1l2rp_291",Pi="_itemInfo_1l2rp_300",Ti="_itemTitle_1l2rp_257",xi="_itemMeta_1l2rp_316",Ii="_queueItem_1l2rp_381",Ni="_fullMessage_1l2rp_395",Ci="_emptyState_1l2rp_401",Oi="_emptyIcon_1l2rp_419",E={container:ei,bellBtn:ti,badge:ni,dropdown:ri,dropdownHeader:oi,headerSubtitle:si,headerActions:ii,closeBtn:ai,sectionHeading:ci,clearAllBtn:li,discoveryStatusRow:ui,statusDot:di,statusDotRunning:mi,statusDotOk:pi,statusDotError:fi,statusDotIdle:hi,list:yi,item:gi,itemTitleLink:vi,systemItemMeta:bi,removeItem:wi,modalButton:_i,systemItem:Ei,systemIcon:Si,thumbnail:ki,itemInfo:Pi,itemTitle:Ti,itemMeta:xi,queueItem:Ii,fullMessage:Ni,emptyState:Ci,emptyIcon:Oi},Ai=({notification:e})=>{const t=Zs(),n=Gs(),[r,s]=Pt.useState(!1),i=u=>{u.preventDefault(),u.stopPropagation(),t.mutate({showId:e.showId,episodeNumber:e.episodeNumber})},a=u=>{u.preventDefault(),u.stopPropagation(),s(!0),n.mutate({showId:e.showId,episodeNumber:e.episodeNumber,showName:e.name,showThumbnail:e.thumbnail,nativeName:e.nativeName,englishName:e.englishName}),t.mutate({showId:e.showId,episodeNumber:e.episodeNumber}),window.setTimeout(()=>s(!1),1e3)},{titlePreference:c}=Vs(),l=c==="nativeName"?e.nativeName||e.name:c==="englishName"&&e.englishName||e.name;return o("div",{className:E.item,children:[o("img",{src:Hs(e.thumbnail,48,64),alt:e.name,className:E.thumbnail,loading:"lazy",decoding:"async"}),o("div",{className:E.itemInfo,children:[o(ie,{to:`/watch/${e.showId}/${e.episodeNumber}`,className:E.itemTitleLink,onClick:()=>t.mutate({showId:e.showId,episodeNumber:e.episodeNumber}),children:o("span",{className:E.itemTitle,children:l})}),o("span",{className:E.itemMeta,children:["New Episode ",e.episodeNumber]})]}),o("button",{className:`${E.removeItem} ${E.queueItem}`,onClick:a,"aria-label":"Add notification to queue",children:r?o(O,{name:"check"}):o(O,{name:"plus"})}),o("button",{className:E.removeItem,onClick:i,"aria-label":"Remove notification",children:o(O,{name:"times"})})]})};function lt({width:e="100%",height:t="1em",variant:n="rectangular",className:r="",style:s}){return o("div",{className:`skeleton skeleton-${n} ${r}`,style:{width:e,height:t,...s}})}const Li=({count:e=3})=>o(ce,{children:Array.from({length:e}).map((t,n)=>o("div",{className:E.item,style:{borderBottom:"1px solid var(--border-primary)",pointerEvents:"none"},children:[o("div",{className:E.thumbnail,style:{overflow:"hidden"},children:o(lt,{width:"100%",height:"100%",variant:"rectangular"})}),o("div",{className:E.itemInfo,children:[o(lt,{width:"80%",height:"1rem",variant:"text",style:{marginBottom:"4px"}}),o(lt,{width:"40%",height:"0.7rem",variant:"rectangular",style:{borderRadius:"var(--radius-sm)"}})]})]},n))}),Ri=({onClose:e})=>{const{data:t=[],isLoading:n}=Un(),{data:r=[]}=Hn(),{data:s}=Kn(),i=Xs(),a=ee(),[c,l]=g(null),u=B(null);w(()=>{u.current?.focus();const f=h=>{h.key==="Escape"&&e()};return document.addEventListener("keydown",f),()=>document.removeEventListener("keydown",f)},[e]),w(()=>{a.invalidateQueries({queryKey:[q.notifications]})},[a]);const d=r.find(f=>f.id===c)??null,m=t.length+r.length,p=s?.running?s.total>0?`Checking ${Math.min(s.done,s.total)}/${s.total} shows...`:"Checking for new episodes...":s?.state==="complete"?`Discovery complete · checked ${s.total} ${s.total===1?"show":"shows"}`:s?.state==="empty"?"No shows set to Watching":s?.state==="error"?"Last check failed · will retry automatically":s?.lastRunAt?`Last checked ${Math.max(1,Math.round((Date.now()-s.lastRunAt)/1e3))}s ago`:"Auto-checks every few minutes";return o("div",{id:"notification-panel",ref:u,className:E.dropdown,role:"dialog","aria-label":"Notifications",tabIndex:-1,children:[o("div",{className:E.dropdownHeader,children:[o("div",{children:[o("h4",{children:"Notifications"}),o("span",{className:E.headerSubtitle,children:[m," updates"]})]}),o("div",{className:E.headerActions,children:[t.length>0&&o("button",{className:E.clearAllBtn,onClick:()=>i.mutate(void 0),children:"Clear all"}),o("button",{type:"button",className:E.closeBtn,onClick:e,"aria-label":"Close notifications",children:o(O,{name:"times"})})]})]}),o("div",{className:E.discoveryStatusRow,children:[o("span",{className:`${E.statusDot} ${s?.running?E.statusDotRunning:s?.state==="complete"?E.statusDotOk:s?.state==="error"?E.statusDotError:E.statusDotIdle}`,"aria-hidden":"true"}),o("span",{children:p})]}),o("div",{className:E.list,children:n&&m===0?o(Li,{count:4}):o(ce,{children:[r.length>0&&o("section",{"aria-labelledby":"system-notifications-heading",children:[o("h5",{id:"system-notifications-heading",className:E.sectionHeading,children:"App updates"}),r.map(f=>o("div",{className:`${E.item} ${E.systemItem}`,children:[o("div",{className:E.systemIcon,children:o(O,{name:"info-circle",size:20})}),o("div",{className:E.itemInfo,children:[o("span",{className:E.itemTitle,children:f.title}),o("button",{type:"button",className:E.systemItemMeta,onClick:()=>l(f.id),title:"View full message",children:[Qs(f.message,72,"…")," ",o("span",{children:"Read more"})]})]})]},f.id))]}),t.length>0&&o("section",{"aria-labelledby":"new-episodes-heading",children:[o("h5",{id:"new-episodes-heading",className:E.sectionHeading,children:"New episodes"}),t.map(f=>o(Ai,{notification:f},f.id))]}),!n&&m===0&&o("div",{className:E.emptyState,children:[o("span",{className:E.emptyIcon,children:o(O,{name:"bell",size:22})}),o("strong",{children:"You’re all caught up"}),o("span",{children:"New episode alerts and app updates will show up here."})]})]})}),o(Oe,{isOpen:!!d,onClose:()=>l(null),title:d?.title,width:"sm",footer:o("button",{type:"button",className:E.modalButton,onClick:()=>l(null),children:"OK"}),children:d&&o("p",{className:E.fullMessage,children:d.message})})]})},$i="notification-panel",qi=()=>{const[e,t]=g(!1),n=B(null),r=ee(),s=D(),i=Ys(),{data:a=[]}=Un(),{data:c=[]}=Hn(),{data:l}=Kn(),u=a.length+c.length,d=u>5?"5+":u,m=B(!1);w(()=>{const f=h=>{n.current&&!n.current.contains(h.target)&&t(!1)};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[]),w(()=>{const f=!!l?.running;m.current&&!f&&(r.invalidateQueries(s.notifications.pathFilter()),r.invalidateQueries(s.discovery.pathFilter())),m.current=f},[l?.running,r,s]);const p=()=>{const f=!e;t(f),f&&i.mutate()};return o("div",{className:E.container,ref:n,children:[o("button",{className:E.bellBtn,onClick:p,"aria-haspopup":"dialog","aria-expanded":e,"aria-controls":$i,"aria-label":"Notifications",children:[o(O,{name:"bell"}),u>0&&o("span",{className:E.badge,"aria-hidden":"true",children:d})]}),e&&o(Ri,{onClose:()=>t(!1)})]})},at=e=>{const t=D();return oe({...t.settings.getByKey.queryOptions({key:e}),select:n=>n.value})},Qn=()=>{const e=D(),t=ee();return ae(e.settings.set.mutationOptions({onSuccess:()=>{N.success("Setting updated!"),t.invalidateQueries(e.settings.pathFilter()),t.invalidateQueries({queryKey:[q.settings]})},onError:n=>{N.error(`Failed to update setting: ${n.message}`)}}))},Vn=he(void 0),Di=()=>{const e=ye(Vn);if(e===void 0)throw new Error("useLowEndMode must be used within a LowEndModeProvider");return e},fe={x:-2.8,y:-2,w:48.6,h:14},bt=15,Ne={w:13.6,h:10.2},ve=[{x:0,y:.5},{x:bt,y:-.9},{x:bt*2,y:.3}],Jt={x:Ne.w/2,y:Ne.h/2-.5},ut={y:Ne.h/2,x1:-2,x2:bt*2+Ne.w+1.4},Yt=(e,t,n,r=0)=>{if(n.width<=0)return-1;const s=n.width/fe.w,i=(e-n.left)/s+fe.x,a=(t-n.top)/s+fe.y;for(let c=0;c<ve.length;c++){const l=i-ve[c].x,u=a-ve[c].y;if(l>=-r&&l<=Ne.w+r&&u>=-r&&u<=Ne.h+r)return c}return-1},Zt=7.5,Xt=e=>Math.max(-1,Math.min(1,e)),ji=(e,t,n,r)=>{const s=n.width/fe.w,i=(e-n.left)/s+fe.x-r.x-Jt.x,a=(t-n.top)/s+fe.y-r.y-Jt.y;return{x:Xt(i/Zt),y:Xt(a/Zt)}},Mi=["normal","squint"],Fi={normal:.72,squint:.28},en=(e=Math.random(),t)=>{let n=0;for(const r of Mi)if(n+=Fi[r],e<n)return r===t?r==="normal"?"squint":"normal":r;return"normal"},Bi="pet",Wi="sleep",Ui=6e3,Hi=420,Ki=.5,tn=3e3,Qi=3e3,Vi=ve.map((e,t)=>t*260),dt={from:ve.length-2,to:ve.length-1,after:400},nn="data-dango-face",mt="data-dango-hover",pt="data-dango-cheer",rn="data-dango-nudge",zi=()=>document.querySelectorAll("svg[data-dango-gaze-origin]"),Ke=()=>document.querySelectorAll("[data-dango-face-slot]"),Gi=e=>e.querySelectorAll("[data-dango-eye]"),Ji=()=>document.querySelectorAll("[data-dango-eye]"),zn=()=>{const{data:e}=at("dangoGaze"),{lowEndMode:t}=Di();return e!=="false"&&!t},Yi=()=>{const e=zn();w(()=>{if(!e||window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;const t=ve.map(()=>"normal");let n=-1,r=-1,s=!1,i=-1,a=0,c=0,l=0,u=0,d=0;const m=[],p=(y,S)=>{const P=window.setTimeout(()=>{m.splice(m.indexOf(P),1),y()},S);m.push(P)},f=(y,S,P)=>{Ke().forEach(j=>{Number(j.getAttribute("data-dango-face-slot"))===y&&(P?j.setAttribute(S,""):j.removeAttribute(S))})},h=y=>Ke().forEach(S=>S.removeAttribute(y)),_=(y,S,P)=>{h(S),requestAnimationFrame(()=>{f(y,S,!0),p(()=>h(S),P)})},T=()=>{Ke().forEach(y=>{const S=Number(y.getAttribute("data-dango-face-slot"));y.setAttribute(nn,r===S?Bi:t[S]),n===S?y.setAttribute(mt,""):y.removeAttribute(mt)})},k=y=>{y!==r&&(r>=0&&f(r,pt,!1),r=y,y>=0&&f(y,pt,!0))},b=()=>{window.clearTimeout(d),d=window.setTimeout(()=>{k(-1),T()},Hi)},v=()=>{window.clearTimeout(d),k(-1)},x=()=>{s=!1,Vi.forEach((y,S)=>{p(()=>{t[S]=en(),S===dt.from&&p(()=>_(dt.to,rn,520),dt.after),T()},y)})},H=()=>{s=!0,t.fill(Wi),v(),T()},C=()=>{window.clearTimeout(u),u=window.setTimeout(H,Ui)},V=()=>{s||(i=(i+1)%t.length,t[i]=en(Math.random(),t[i]),T()),p(V,tn+Math.random()*Qi)},I=()=>{const y=Array.from(zi(),A=>[A,A.getBoundingClientRect()]);y.forEach(([A,ue])=>{Gi(A).forEach(Te=>{const{x:te,y:de}=ji(c,l,ue,ve[Number(Te.getAttribute("data-dango-eye"))]);Te.style.setProperty("--dango-gaze-x",te.toFixed(3)),Te.style.setProperty("--dango-gaze-y",de.toFixed(3))})});const S=y.find(([,A])=>c>=A.left&&c<=A.right&&l>=A.top&&l<=A.bottom)?.[1]??null,P=n,j=r,Q=S?Yt(c,l,S):-1,se=Q>=0?Q:S?Yt(c,l,S,Ki):-1;n=Q,se>=0?(k(se),b()):v(),(P!==n||j!==r)&&T(),s&&x(),C()},M=y=>{c=y.clientX,l=y.clientY,!a&&(a=requestAnimationFrame(()=>{a=0,I()}))},K=y=>{y.relatedTarget||(n=-1,v(),T(),C())};return T(),C(),p(V,tn),window.addEventListener("pointermove",M,{passive:!0}),window.addEventListener("pointerout",K),()=>{cancelAnimationFrame(a),window.clearTimeout(u),window.clearTimeout(d),m.forEach(window.clearTimeout),window.removeEventListener("pointermove",M),window.removeEventListener("pointerout",K),Ji().forEach(y=>{y.style.removeProperty("--dango-gaze-x"),y.style.removeProperty("--dango-gaze-y")}),Ke().forEach(y=>{y.setAttribute(nn,"normal"),y.removeAttribute(mt),y.removeAttribute(pt),y.removeAttribute(rn)})}},[e])},Gn=he(void 0),Ou=()=>{const e=ye(Gn);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e},Au=[{id:"iris",label:"Taro (default)",blurb:"Deep purple",swatch:"#7d6df0"},{id:"sakura",label:"Sakura",blurb:"Soft pink",swatch:"#e0b0e0"},{id:"mochi",label:"Mochi",blurb:"Monochrome pearl",swatch:"#f0f0f0"}],Zi={iris:{fill:"#897cff",stroke:"#5646db"},mochi:{fill:"#e3e1ee",stroke:"#b3b1c6"},sakura:{fill:"#e1afef",stroke:"#a978a9"}},Xi="_logo_t3il2_1",ea="_skewer_t3il2_8",ta="_gaze_t3il2_15",na="_face_t3il2_20",ra="_faceNormal_t3il2_25",oa="_facePet_t3il2_26",sa="_faceSquint_t3il2_27",ia="_faceSleep_t3il2_28",aa="_line_t3il2_36",ca="_sway_t3il2_44",la="_weight_t3il2_58",ua="_shift_t3il2_73",da="_rock_t3il2_87",ma="_glance_t3il2_105",pa="_blinkDouble_t3il2_129 _blink_t3il2_124",fa="_blinkSlow_t3il2_153 _blink_t3il2_124",ha="_bump_t3il2_172",ya="_heart_t3il2_189",z={logo:Xi,skewer:ea,gaze:ta,face:na,faceNormal:ra,facePet:oa,faceSquint:sa,faceSleep:ia,line:aa,sway:ca,weight:la,shift:ua,rock:da,glance:ma,blinkDouble:pa,blinkSlow:fa,bump:ha,heart:ya},on="var(--logo-ink)",ga="m 7,0 c -3.9372984,0 -7.10030437,2.4883888 -7,6 0.13572675,4.751733 5.0802847,4.156395 7,4.156395 1.2538994,0 6.530451,0.392468 6.584946,-4.168088 C 13.622023,2.8853946 10.937298,0 7,0 Z",va="m 4.9623825,3.416 c -0.5858889,0 -0.6520292,2.3368563 -0.024765,2.3368563 0.6604959,0 0.6704653,-2.3368563 0.024765,-2.3368563 z",ba="M 8.588001,3.416 C 8.0021121,3.416 7.9359718,5.7528563 8.563236,5.7528563 9.2237319,5.7528563 9.2337013,3.416 8.588001,3.416 Z",wa={pet:"M 4.85,5.15 Q 5.285,4.0 5.72,5.15 M 8.25,5.15 Q 8.618,4.0 8.99,5.15",squint:"M 4.82,3.9 L 5.6,4.62 L 4.82,5.34 M 9.08,3.9 L 8.3,4.62 L 9.08,5.34",sleep:"M 4.9,4.72 Q 5.285,5.28 5.67,4.72 M 8.25,4.72 Q 8.618,5.28 9.0,4.72"},Jn=[{lag:.8,hue:"iris",blink:"double",motion:"weight",glances:!1},{lag:1.4,hue:"sakura",blink:"slow",motion:"shift",glances:!1},{lag:1,hue:"mochi",blink:"slow",motion:"rock",glances:!0}],Le=(e,t)=>e+Math.random()*(t-e),_a=Jn.map(()=>({blinkDelay:-Le(0,9),blinkDuration:Le(3.4,8.6),motionDelay:-Le(0,9),motionDuration:Le(5.5,11),glanceDelay:-Le(0,11)})),Ea={double:z.blinkDouble,slow:z.blinkSlow},Sa={weight:z.weight,shift:z.shift,rock:z.rock},ka={normal:z.faceNormal,pet:z.facePet,squint:z.faceSquint,sleep:z.faceSleep},Pa=["normal","pet","squint","sleep"],Ta=[{x:7,y:4.2,delay:0,drift:"0px"},{x:9.6,y:6.4,delay:-.3,drift:"-0.9px"},{x:4.6,y:6.1,delay:-.6,drift:"0.8px"},{x:8.2,y:3.4,delay:-.9,drift:"-0.4px"}],At=({className:e})=>{const t=zn();return o("svg",{viewBox:`${fe.x} ${fe.y} ${fe.w} ${fe.h}`,className:e?`${z.logo} ${e}`:z.logo,role:"img","aria-label":"dango","data-dango-gaze-origin":"",children:o("g",{className:t?z.sway:void 0,children:[o("path",{className:z.skewer,d:`M ${ut.x1},${ut.y} H ${ut.x2}`}),Jn.map((n,r)=>{const{x:s,y:i}=ve[r],a=_a[r],{fill:c,stroke:l}=Zi[n.hue],u=o("g",{"data-dango-eye":r,className:z.gaze,style:{"--gaze-dur":`${(.12+n.lag*.18).toFixed(3)}s`},children:Pa.map(d=>o("g",{className:`${z.face} ${ka[d]}`,children:o("g",{className:t&&d==="normal"?Ea[n.blink]:void 0,style:t&&d==="normal"?{animationDelay:`${a.blinkDelay}s`,animationDuration:`${a.blinkDuration}s`}:void 0,children:d==="normal"?o(ce,{children:[o("path",{fill:on,d:va}),o("path",{fill:on,d:ba})]}):o("path",{className:z.line,d:wa[d]})})},d))});return o("g",{transform:`translate(${s} ${i})`,children:o("g",{"data-dango-face-slot":r,"data-dango-face":"normal",className:t?Sa[n.motion]:void 0,style:t?{animationDelay:`${a.motionDelay}s`,animationDuration:`${a.motionDuration}s`}:void 0,children:[o("path",{fill:c,stroke:l,strokeWidth:"0.9",strokeLinejoin:"round",paintOrder:"stroke fill",d:ga}),o("g",{className:z.bump,children:[t&&n.glances?o("g",{className:z.glance,style:{animationDelay:`${a.glanceDelay}s`},children:u}):u,t&&o("g",{children:Ta.map(d=>o("text",{className:z.heart,x:d.x,y:d.y,fill:"var(--color-danger)",style:{"--drift":d.drift,animationDelay:`${d.delay}s`},children:"♥"},d.x))})]})]})},n.hue)})]})})},Yn=he(void 0),Lt=()=>{const e=ye(Yn);if(e===void 0)throw new Error("useSidebar must be used within a SidebarProvider");return e},Zn=he(void 0),Xn=()=>{const e=ye(Zn);if(e===void 0)throw new Error("useContentType must be used within a ContentTypeProvider");return e},wt="virtual-keyboard:hide",sn="virtual-keyboard:enabled-change",er="virtual_keyboard_enabled",xa=!1;function an(){const e=Z.getItem(er);return e===null?xa:e==="true"}const cn=e=>e instanceof HTMLInputElement&&e.type==="text"&&!e.disabled&&!e.readOnly;function Ia(){window.dispatchEvent(new CustomEvent(wt))}function Na(){const[e,t]=g(!1),[n,r]=g(an),s=B(null);return w(()=>{const i=d=>{n&&cn(d.target)&&(s.current=d.target,t(!0))},a=d=>{d.target===s.current&&window.setTimeout(()=>{if(cn(document.activeElement)){s.current=document.activeElement,t(!0);return}s.current=null,t(!1)},0)},c=()=>{s.current=null,t(!1)},l=d=>{if(d.key!==er)return;const m=d.newValue==="true";r(m),m||c()},u=()=>{const d=an();r(d),d||c()};return document.addEventListener("focusin",i),document.addEventListener("focusout",a),window.addEventListener(wt,c),window.addEventListener("storage",l),window.addEventListener(sn,u),()=>{document.removeEventListener("focusin",i),document.removeEventListener("focusout",a),window.removeEventListener(wt,c),window.removeEventListener("storage",l),window.removeEventListener(sn,u)}},[n]),{activeInputRef:s,isVisible:n&&e,hide:()=>t(!1)}}const Ca={queryKey:[q.syncProfile],queryFn:()=>qe("/api/profiles/current"),staleTime:3e4};function tr({image:e,name:t}){const[n,r]=g(!1);return w(()=>r(!1),[e]),e&&!n?o("img",{src:e,alt:t,referrerPolicy:"no-referrer",onError:()=>r(!0),style:{width:"100%",height:"100%",maxWidth:72,maxHeight:72,aspectRatio:"1",objectFit:"cover",borderRadius:"50%"}}):o("svg",{viewBox:"0 0 24 24",role:"img","aria-label":t,style:{width:"100%",height:"100%",maxWidth:72,maxHeight:72,aspectRatio:"1"},fill:"currentColor",children:[o("circle",{cx:"12",cy:"8",r:"4"}),o("path",{d:"M4 21v-2a8 8 0 0 1 16 0v2z"})]})}const Oa="_header_1syxm_1",Aa="_hidden_1syxm_21",La="_scrolled_1syxm_25",Ra="_logo_1syxm_35",$a="_headerInner_1syxm_51",qa="_leftSection_1syxm_61",Da="_desktopNav_1syxm_67",ja="_navLink_1syxm_74",Ma="_navLinkActive_1syxm_90",Fa="_rightSection_1syxm_109",Ba="_searchWrapper_1syxm_115",Wa="_searchInput_1syxm_121",Ua="_searchButton_1syxm_151",Ha="_searchIcon_1syxm_176",Ka="_profileBtn_1syxm_186",Qa="_profileAvatar_1syxm_221",Va="_profileName_1syxm_228",za="_hamburgerBtn_1syxm_237",Ga="_mobileSearchBar_1syxm_291",Ja="_mobileSearchBarHidden_1syxm_318",Ya="_mobileSearchInner_1syxm_335",Za="_mobileSearchIcon_1syxm_351",Xa="_mobileSearchInput_1syxm_358",L={header:Oa,hidden:Aa,scrolled:La,logo:Ra,headerInner:$a,leftSection:qa,desktopNav:Da,navLink:ja,navLinkActive:Ma,rightSection:Fa,searchWrapper:Ba,searchInput:Wa,searchButton:Ua,searchIcon:Ha,profileBtn:Ka,profileAvatar:Qa,profileName:Va,hamburgerBtn:za,mobileSearchBar:Ga,mobileSearchBarHidden:Ja,mobileSearchInner:Ya,mobileSearchIcon:Za,mobileSearchInput:Xa},ec=()=>{const{toggleSidebar:e}=Lt(),{contentType:t}=Xn(),[n,r]=g(""),[s,i]=g(!0),[a,c]=g(!1),[l,u]=g(!0),[d,m]=g(!1),p=bn(),f=nt(),h=B(null),_=B(!1),T=B(null),k=B(null),b=B(null),v=B(null),x=B(!1),{data:H}=oe(Ca);w(()=>{const P=window.visualViewport;if(!P)return;const j=()=>{v.current?.style.setProperty("--vv-top",`${P.offsetTop}px`)};return j(),P.addEventListener("scroll",j),P.addEventListener("resize",j),()=>{P.removeEventListener("scroll",j),P.removeEventListener("resize",j)}},[]),w(()=>{const P=()=>{h.current&&(window.clearTimeout(h.current),h.current=null)},j=()=>{P(),!(window.scrollY<=10||a)&&(h.current=window.setTimeout(()=>{x.current||i(!1)},2500))},Q=()=>{_.current||(_.current=!0,T.current=requestAnimationFrame(()=>{_.current=!1,T.current=null;const te=window.scrollY<=10;u(de=>de===te?de:te),i(de=>de||!0),j()}))},se=te=>{const de=te.target,ur=de instanceof HTMLElement&&!!de.closest('input, textarea, select, button, a, [role="button"], [contenteditable="true"]'),Dt=()=>{window.innerWidth<=1024?(m(!0),setTimeout(()=>b.current?.focus({preventScroll:!0}),50)):C.current?.focus({preventScroll:!0})};te.key.toLowerCase()==="s"&&!te.metaKey&&!te.ctrlKey&&!te.altKey&&!ur||(te.metaKey||te.ctrlKey)&&te.key==="k"?(te.preventDefault(),Dt()):te.key==="Escape"&&document.activeElement===C.current&&C.current?.blur()},A=v.current,ue=()=>{x.current=!0},Te=()=>{x.current=!1,j()};return window.addEventListener("scroll",Q,{passive:!0}),window.addEventListener("keydown",se),A?.addEventListener("pointerenter",ue),A?.addEventListener("pointerleave",Te),()=>{window.removeEventListener("scroll",Q),window.removeEventListener("keydown",se),A?.removeEventListener("pointerenter",ue),A?.removeEventListener("pointerleave",Te),P(),T.current!==null&&(cancelAnimationFrame(T.current),T.current=null),_.current=!1}},[a]);const C=Pt.useRef(null),V=()=>window.innerWidth<=1024,I=()=>{V()?(m(!0),setTimeout(()=>b.current?.focus({preventScroll:!0}),50)):document.activeElement===C.current&&n.trim()?S():C.current?.focus({preventScroll:!0})},M=P=>{k.current?.contains(P.relatedTarget)||m(!1)},K=t==="manga"?"Search manga...":t==="tv"?"Search TV & movies...":t==="asmr"?"Search ASMR...":"Search anime...",y=t==="manga"?{to:"/reading-list",label:"Reading List"}:t==="tv"?{to:"/tv-watchlist",label:"TV Watchlist"}:t==="asmr"?{to:"/listening-list",label:"Listening List"}:{to:"/watchlist",label:"Watchlist"},S=P=>{Ia();const j=n.trim();j&&(C.current?.blur(),c(!1),p(t==="manga"?`/manga?q=${encodeURIComponent(j)}`:t==="tv"?`/tv-search?q=${encodeURIComponent(j)}`:t==="asmr"?`/asmr?q=${encodeURIComponent(j)}`:`/search?query=${encodeURIComponent(j)}`))};return o(ce,{children:o("header",{ref:v,className:`${L.header} ${s?"":L.hidden} ${l?"":L.scrolled}`,children:[o("div",{className:L.headerInner,children:[o("div",{className:L.leftSection,children:[o("button",{className:L.hamburgerBtn,onClick:e,"aria-label":"Menu",children:o(O,{name:"bars"})}),o(ie,{to:"/",className:L.logo,"aria-label":"Ani-Web Home",children:o(At,{})}),o("nav",{className:L.desktopNav,children:[o(ie,{to:"/",className:`${L.navLink} ${f.pathname==="/"?L.navLinkActive:""}`,children:"Home"}),o(ie,{to:y.to,className:`${L.navLink} ${f.pathname.startsWith(y.to)?L.navLinkActive:""}`,children:y.label}),t==="anime"&&o(ie,{to:"/insights",className:`${L.navLink} ${f.pathname==="/insights"?L.navLinkActive:""}`,children:"Insights"}),o(ie,{to:"/settings",className:`${L.navLink} ${f.pathname.startsWith("/settings")?L.navLinkActive:""}`,children:"Settings"})]})]}),o("div",{className:L.rightSection,children:[o("div",{className:L.searchWrapper,children:[o("input",{ref:C,type:"text","data-virtual-keyboard":"true",className:L.searchInput,placeholder:K,value:n,onChange:P=>r(P.currentTarget.value),onFocus:()=>c(!0),onBlur:()=>c(!1),onKeyDown:P=>{P.key==="Enter"&&S()}}),o("button",{type:"button",className:L.searchButton,"aria-label":"Search",onMouseDown:P=>P.preventDefault(),onClick:I,children:o(O,{name:"search",className:L.searchIcon})})]}),o(qi,{}),o(ie,{to:"/settings",className:L.profileBtn,"aria-label":`${H?.name??"Profile"} — profile settings`,title:`${H?.name??"Profile"}${H?.owner?" (owner)":""} — profile settings`,children:[o("span",{className:L.profileAvatar,"aria-hidden":"true",children:o(tr,{image:H?.image,name:H?.name??"Profile"})}),o("span",{className:L.profileName,children:H?.name??"Profile"})]})]})]}),d&&o("div",{className:`${L.mobileSearchBar} ${s?"":L.mobileSearchBarHidden}`,ref:k,onBlur:M,children:o("div",{className:L.mobileSearchInner,children:[o(O,{name:"search",className:L.mobileSearchIcon}),o("input",{ref:b,type:"text","data-virtual-keyboard":"true",className:L.mobileSearchInput,placeholder:K,value:n,onChange:P=>r(P.currentTarget.value),onFocus:()=>c(!0),onBlur:()=>c(!1),onKeyDown:P=>{P.key==="Enter"?(S(),m(!1),c(!1)):P.key==="Escape"&&(m(!1),c(!1))}})]})})]})})},_t="agreedToViewMature";function Et(){try{return Z.getItem(_t)==="true"}catch{return!1}}const $e=new Set;function nr(e){for(const t of $e)t(e)}function Qe(){nr(Et())}function ln(e){try{e?Z.setItem(_t,"true"):Z.removeItem(_t)}catch{}nr(e)}function tc(){const[e,t]=g(Et);w(()=>($e.add(t),$e.size===1&&(window.addEventListener("storage",Qe),window.addEventListener("focus",Qe)),t(Et()),()=>{$e.delete(t),$e.size===0&&(window.removeEventListener("storage",Qe),window.removeEventListener("focus",Qe))}),[]);const n=G(()=>ln(!0),[]),r=G(()=>ln(!1),[]);return{hasConsent:e,grant:n,revoke:r}}const nc="_sidebar_153jc_1",rc="_open_153jc_20",oc="_sidebarHeader_153jc_25",sc="_closeBtn_153jc_33",ic="_logo_153jc_57",ac="_navSection_153jc_69",cc="_navLink_153jc_75",lc="_active_153jc_108",uc="_overlay_153jc_118",dc="_versionInfo_153jc_138",me={sidebar:nc,open:rc,sidebarHeader:oc,closeBtn:sc,logo:ic,navSection:ac,navLink:cc,active:lc,overlay:uc,versionInfo:dc},mc="3.8.4",rr={version:mc},pc=()=>{const{isOpen:e,setIsOpen:t}=Lt(),{contentType:n}=Xn(),{hasConsent:r}=tc(),s=()=>{t(!1)},i=n==="manga",a=n==="tv",c=n==="asmr",l=[{to:"/",icon:o(O,{name:"home"}),label:"Home"},i?{to:"/manga",icon:o(O,{name:"book"}),label:"Manga"}:a?{to:"/tv-search",icon:o(O,{name:"tv"}),label:"TV and Movies"}:c?{to:"/asmr",icon:o(O,{name:"headphones"}),label:"ASMR"}:{to:"/search",icon:o(O,{name:"search"}),label:"Search"},i?{to:"/reading-list",icon:o(O,{name:"bookmark"}),label:"Reading List"}:a?{to:"/tv-watchlist",icon:o(O,{name:"clock"}),label:"TV Watchlist"}:c?{to:"/listening-list",icon:o(O,{name:"history"}),label:"Listening List"}:{to:"/watchlist",icon:o(O,{name:"clock"}),label:"Watchlist"},...n==="anime"?[{to:"/insights",icon:o(O,{name:"chart-pie"}),label:"Insights"}]:[],{to:"/trackers",icon:o(O,{name:"sync-alt"}),label:"Trackers"},...n==="anime"||a?[{to:"/watch-along",icon:o(O,{name:"play"}),label:"Watch along"}]:[],...r?[{to:"/mature",icon:o(O,{name:"pepper-hot"}),label:"Mature"}]:[],{to:"/settings",icon:o(O,{name:"cog"}),label:"Settings"}];return o(ce,{children:[o("aside",{className:`${me.sidebar} ${e?me.open:""} sidebar`,children:[o("div",{className:me.sidebarHeader,children:[o("button",{className:me.closeBtn,onClick:()=>t(!1),"aria-label":"Close menu",children:"×"}),o(ie,{to:"/",className:me.logo,onClick:s,children:o(At,{})})]}),o("nav",{className:me.navSection,children:l.map(u=>o(mr,{to:u.to,className:({isActive:d})=>`${me.navLink} ${d?me.active:""}`,onClick:s,end:u.to==="/",children:[u.icon,o("span",{children:u.label})]},u.to))}),o("div",{className:me.versionInfo,children:["v",rr.version]})]}),e&&o("div",{className:me.overlay,onClick:()=>t(!1),"aria-label":"Close sidebar"})]})},fc="_footer_1c905_1",hc="_footerInner_1c905_15",yc="_brandSection_1c905_27",gc="_logoRow_1c905_39",vc="_logoText_1c905_45",bc="_brandMeta_1c905_51",wc="_brandTagline_1c905_60",_c="_statusPill_1c905_67",Ec="_statusDot_1c905_80",Sc="_linksGrid_1c905_88",kc="_linkColumn_1c905_96",Pc="_columnTitle_1c905_102",Tc="_bottomBar_1c905_126",xc="_copyright_1c905_136",Ic="_brand_1c905_27",Nc="_heartIcon_1c905_152",Cc="_backToTop_1c905_157",F={footer:fc,footerInner:hc,brandSection:yc,logoRow:gc,logoText:vc,brandMeta:bc,brandTagline:wc,statusPill:_c,statusDot:Ec,linksGrid:Sc,linkColumn:kc,columnTitle:Pc,bottomBar:Tc,copyright:xc,brand:Ic,heartIcon:Nc,backToTop:Cc},Oc=()=>{const e=new Date().getFullYear(),t=()=>{window.scrollTo({top:0,behavior:"smooth"})};return o("footer",{className:F.footer,children:[o("div",{className:F.footerInner,children:[o("div",{className:F.brandSection,children:[o("div",{className:F.logoRow,children:o(At,{className:F.logoText})}),o("div",{className:F.brandMeta,children:[o("div",{className:F.statusPill,children:[o("span",{className:F.statusDot}),o("span",{children:["v",rr.version]})]}),o("p",{className:F.brandTagline,children:"Fast, local anime streaming."})]})]}),o("div",{className:F.linksGrid,children:[o("div",{className:F.linkColumn,children:[o("h4",{className:F.columnTitle,children:"Navigation"}),o(ie,{to:"/",children:"Home"}),o(ie,{to:"/watchlist",children:"Watchlist"}),o(ie,{to:"/settings",children:"Settings"})]}),o("div",{className:F.linkColumn,children:[o("h4",{className:F.columnTitle,children:"Features"}),o(ie,{to:"/search",children:"Search Anime"}),o(ie,{to:"/trackers",children:"Trackers"}),o(ie,{to:"/insights",children:"Insights"})]}),o("div",{className:F.linkColumn,children:[o("h4",{className:F.columnTitle,children:"Community"}),o("a",{href:"https://discord.gg/6yT3VwTqz9",target:"_blank",rel:"noopener noreferrer",children:[o(O,{name:"discord",style:{marginRight:"6px"}})," Discord"]}),o("a",{href:"https://github.com/serifpersia/dango",target:"_blank",rel:"noopener noreferrer",children:[o(O,{name:"github",style:{marginRight:"6px"}})," GitHub"]})]}),o("div",{className:F.linkColumn,children:[o("h4",{className:F.columnTitle,children:"Project"}),o("a",{href:"https://github.com/serifpersia/dango/releases",target:"_blank",rel:"noopener noreferrer",children:"Releases"}),o("a",{href:"https://github.com/serifpersia/dango/issues",target:"_blank",rel:"noopener noreferrer",children:"Feedback"})]})]})]}),o("div",{className:F.bottomBar,children:[o("p",{className:F.copyright,children:["© ",e," ",o("span",{className:F.brand,children:"dango"})," • Crafted with"," ",o(O,{name:"heart",className:F.heartIcon})," by"," ",o("a",{href:"https://github.com/serifpersia",target:"_blank",rel:"noopener noreferrer",children:"serifpersia"})]}),o("button",{className:F.backToTop,onClick:t,"aria-label":"Back to top",children:[o(O,{name:"chevron-up",size:14}),o("span",{children:"Top"})]})]})]})};function or(e){return JSON.stringify({0:e??{}})}function sr(e){return`/api/trpc/${e}?batch=1&_profile=${encodeURIComponent(jn())}`}function St(e,t){const n=or(t),r=sr(e);try{if(navigator.sendBeacon){navigator.sendBeacon(r,new Blob([n],{type:"application/json"}));return}}catch{}fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:n,keepalive:!0}).catch(()=>{})}async function Lu(e,t){const n=await fetch(sr(e),{method:"POST",headers:{"Content-Type":"application/json"},body:or(t),keepalive:!0});if(!n.ok)throw new Error(`tRPC request failed (HTTP ${n.status})`)}function Ru(e){e&&(St("discord.clear",{sessionId:e}),St("discord.heartbeat",{sessionId:e,bye:!0}))}function Ac(){const e=nt(),{data:t}=at("discordRPCEnabled"),n=B("");n.current||(n.current=typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`tab-${Date.now()}-${Math.random().toString(36).slice(2)}`),w(()=>{if(t===!1||t==="false")return;const r=n.current,s=()=>le.discord.heartbeat.mutate({sessionId:r}).catch(()=>{});s();const i=setInterval(s,15e3),a=()=>{St("discord.heartbeat",{sessionId:r,bye:!0})};return window.addEventListener("pagehide",a),()=>{clearInterval(i),window.removeEventListener("pagehide",a)}},[t]),w(()=>{if(t===!1||t==="false")return;const r=e.pathname;if(r.startsWith("/watch/")||r.startsWith("/player/"))return;let s="home";r.startsWith("/search")||r.startsWith("/mature")?s="search":r.startsWith("/watchlist")?s="watchlist":r.startsWith("/anime/")?s="anime":r.startsWith("/insights")?s="insights":r.startsWith("/settings")?s="settings":r.startsWith("/trackers")?s="trackers":r.startsWith("/asmr")?s="asmr":r.startsWith("/manga")?s="manga":r.startsWith("/tv")&&(s="tv"),le.discord.pageStatus.mutate({page:s}).catch(()=>{})},[e.pathname,t])}function Rt(e,t){const[n,r]=g(()=>{try{const i=Z.getItem(e);if(i===null)return t;if(typeof t=="string")return i;try{return JSON.parse(i)}catch{return i}}catch{return t}});w(()=>{const i=a=>{if(a.key===Z.keyFor(e))try{if(a.newValue===null){r(t);return}if(typeof t=="string"){r(a.newValue);return}try{r(JSON.parse(a.newValue))}catch{r(a.newValue)}}catch{}};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[e,t]);const s=G(i=>{r(a=>{const c=typeof i=="function"?i(a):i;try{typeof c=="string"?Z.setItem(e,c):Z.setItem(e,JSON.stringify(c))}catch{}return c})},[e]);return[n,s]}const ir=he(void 0),Lc=()=>{const e=ye(ir);if(!e)throw new Error("useAnimePaheCookie must be used within an AnimePaheCookieProvider");return e},Rc="_container_e96gf_1",$c="_field_e96gf_9",qc="_textarea_e96gf_20",Dc="_input_e96gf_40",jc="_button_e96gf_58",Mc="_secondaryButton_e96gf_78",Fc="_actions_e96gf_95",Bc="_hint_e96gf_104",Wc="_link_e96gf_117",ne={container:Rc,field:$c,textarea:qc,input:Dc,button:jc,secondaryButton:Mc,actions:Fc,hint:Bc,link:Wc},Uc="https://github.com/serifpersia/dango/releases/latest/download/dango-extension.zip",Hc=e=>{try{return JSON.parse(e.detail)}catch{return null}},Kc=({isOpen:e,onClose:t,onSuccess:n})=>{const[r,s]=g(1),[i,a]=g(navigator.userAgent),[c,l]=g(""),[u,d]=g(!1),m=B(null),p=navigator.userAgent,f=/android/i.test(p),h=/firefox|fxios/i.test(p)&&!f,_=!h&&!f&&/chrome|chromium|edg|brave/i.test(p),T=h||_;w(()=>{e&&(s(1),a(navigator.userAgent),l(""),d(!1))},[e]),w(()=>()=>{m.current&&(window.removeEventListener("dango:pahe-cookie",m.current),m.current=null)},[]);const k=()=>{window.open("https://animepahe.pw","_blank","noopener,noreferrer"),s(2)},b=()=>{if(u)return;d(!0);const x=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,H=window.setTimeout(()=>{d(!1),m.current&&(window.removeEventListener("dango:pahe-cookie",m.current),m.current=null),N.error("Helper not detected - install it via about:debugging first.")},3e3),C=V=>{const I=Hc(V);if(!(!I||I.requestId!==x))if(window.clearTimeout(H),window.removeEventListener("dango:pahe-cookie",C),m.current=null,d(!1),I?.ok&&I.cookie)l(I.cookie),N.success("Cookie extracted from helper!");else if(I?.error==="NO_COOKIE"){const M=I.debug?.stores?.length??0,K=I.debug?.names??[];N.error(`Helper found no cf_clearance (checked ${M} stores, saw: ${K.join(", ")||"none"}) - solve the challenge on the AnimePahe tab first.`)}else N.error("Helper request failed - try again.")};m.current=C,window.addEventListener("dango:pahe-cookie",C),window.dispatchEvent(new CustomEvent("dango:get-pahe-cookie",{detail:{requestId:x}}))},v=()=>{const x=c.trim();if(!x){N.error("Please enter the cf_clearance cookie");return}try{Z.setItem("animepahe_ua",i),Z.setItem("animepahe_cookie",x),N.success("Cookie updated successfully! Reloading…"),n?.(),t(),window.setTimeout(()=>window.location.reload(),1e3)}catch{N.error("Failed to save cookie")}};return o(Oe,{isOpen:e,onClose:t,title:"AnimePahe Verification Required",children:o("div",{className:ne.container,children:r===1?o(ce,{children:[o("p",{children:"AnimePahe requires a manual verification to bypass Cloudflare/DDoS-Guard protection."}),o("div",{className:ne.field,children:[o("label",{children:"Your User-Agent (will be used for requests):"}),o("textarea",{value:i,readOnly:!0,rows:3,className:ne.textarea})]}),o("div",{className:ne.actions,children:[o("button",{className:ne.secondaryButton,onClick:t,children:"Cancel"}),o("button",{className:ne.button,onClick:k,children:"Start Verification (Opens AnimePahe)"})]})]}):o(ce,{children:[o("p",{children:["1. Solve the challenge on the ",o("strong",{children:"AnimePahe tab"})," (keep that tab open).",o("br",{}),"2. Copy the ",o("strong",{children:"cf_clearance"})," cookie value using one of these:",o("br",{}),o("br",{}),o("strong",{children:"Chrome / Edge — DevTools:"})," press ",o("code",{children:"F12"})," →"," ",o("strong",{children:"Application"})," → ",o("strong",{children:"Cookies"})," →"," ",o("code",{children:"https://animepahe.pw"}),". Find ",o("strong",{children:"cf_clearance"}),", double-click its ",o("strong",{children:"Value"})," to select it, then copy.",o("br",{}),o("br",{}),o("strong",{children:"Firefox — Storage Inspector:"})," press ",o("code",{children:"F12"})," →"," ",o("strong",{children:"Storage"})," → ",o("strong",{children:"Cookies"})," →"," ",o("code",{children:"https://animepahe.pw"}),". Find ",o("strong",{children:"cf_clearance"}),", right-click the value → ",o("strong",{children:"Copy Value"}),".",o("br",{}),o("br",{}),o("strong",{children:"Either browser — extension:"})," open"," ",o("strong",{children:"Cookie Manager"})," while on the AnimePahe tab, find"," ",o("strong",{children:"cf_clearance"}),", and copy its value (or use the extension's export).",o("br",{}),o("br",{}),"3. Paste it below. Copy ",o("strong",{children:"only the value"})," — remove any"," ",o("code",{children:"cf_clearance="})," prefix or quotes if they were included."]}),T&&o("div",{className:ne.hint,children:[o("strong",{children:"Dango helper (one-time setup):"})," ",h?o(ce,{children:["type ",o("code",{children:"about:debugging"})," in the address bar →"," ",o("strong",{children:"This Firefox"})," → ",o("strong",{children:"Load Temporary Add-on"})," ","→ open the ",o("code",{children:"dango-extension/firefox"})," folder and pick"," ",o("code",{children:"manifest.json"}),". (Temporary helpers unload when Firefox closes - repeat after a restart.)"]}):o(ce,{children:["type ",o("code",{children:"chrome://extensions"})," in the address bar → enable"," ",o("strong",{children:"Developer mode"})," → ",o("strong",{children:"Load unpacked"})," → open the ",o("code",{children:"dango-extension/chrome"})," folder. (Unpacked helpers show a developer-mode notice - expected.)"]})," ","Use this link to download the extension and extract it:"," ",o("a",{href:Uc,target:"_blank",rel:"noreferrer",className:ne.link,children:"dango-extension.zip"}),". Then click Extract below and the field fills itself.",o("div",{className:ne.actions,children:o("button",{className:ne.button,onClick:b,disabled:u,type:"button",children:u?"Extracting…":"Extract cookie from helper"})})]}),o("div",{className:ne.field,children:[o("label",{children:"cf_clearance cookie value:"}),o("input",{type:"text",value:c,onChange:x=>l(x.currentTarget.value),placeholder:"e.g. xxxxxxxx.xxxxxxxx.xxxxxxx-xxxxxxx",className:ne.input})]}),o("div",{className:ne.actions,children:[o("button",{className:ne.secondaryButton,onClick:t,children:"Cancel"}),o("button",{className:ne.secondaryButton,onClick:()=>s(1),children:"Back"}),o("button",{className:ne.button,onClick:v,children:"Submit"})]})]})})})};function un(){const[e,t]=g(!1);return w(()=>{const n=window.setTimeout(()=>t(!0),120);return()=>window.clearTimeout(n)},[]),e?o("div",{className:"top-progress-bar",role:"progressbar","aria-label":"Loading"}):null}const Qc="_screen_1pca0_1",Vc="_icon_1pca0_14",zc="_title_1pca0_20",Gc="_text_1pca0_24",Jc="_button_1pca0_29",Re={screen:Qc,icon:Vc,title:zc,text:Gc,button:Jc};async function Yc(e,t){const n={message:e.message,stack:e.stack,componentStack:t.componentStack,url:typeof window<"u"?window.location.href:"",timestamp:new Date().toISOString()},r=JSON.stringify(n);try{if(navigator.sendBeacon){navigator.sendBeacon("/api/internal/client-error",new Blob([r],{type:"application/json"}));return}}catch{}fetch("/api/internal/client-error",{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0}).catch(()=>{})}class Zc extends pr{state={hasError:!1};static getDerivedStateFromError(t){return{hasError:!0}}componentDidCatch(t,n){console.error("Uncaught error:",t,n),Yc(t,n)}render(){return this.state.hasError?o("div",{className:Re.screen,children:[o(O,{name:"exclamation-triangle",className:Re.icon}),o("h1",{className:Re.title,children:"Something went wrong"}),o("p",{className:Re.text,children:"The application encountered an unexpected error."}),o("button",{onClick:()=>{this.setState({hasError:!1}),window.location.href="/"},className:Re.button,children:[o(O,{name:"home"}),"Go back Home"]})]}):this.props.children}}const ar=he(void 0),Xc=()=>{const e=ye(ar);if(!e)throw new Error("useLanAuth must be used within a LanAuthProvider");return e},el=({children:e})=>{const[t,n]=g(!1),r=G(()=>n(!0),[]),s=G(()=>n(!1),[]);return w(()=>Dn("lan",r),[r]),o(ar.Provider,{value:{isOpen:t,openModal:r,closeModal:s},children:e})},tl="_container_88bss_1",nl="_field_88bss_8",rl="_input_88bss_19",ol="_actions_88bss_37",Ve={container:tl,field:nl,input:rl,actions:ol},tt=fr(({variant:e="primary",size:t="md",loading:n,children:r,className:s="",disabled:i,...a},c)=>{const l=Ks("btn",`btn-${e}`,t!=="md"&&`btn-${t}`,n&&"btn-loading",s);return o("button",{className:l,disabled:i||n,ref:c,...a,children:n?o("span",{className:"btn-spinner"}):r})}),cr=({isOpen:e,onClose:t,onSuccess:n})=>{const[r,s]=g(""),[i,a]=g(!1);Pt.useEffect(()=>{e&&s("")},[e]);const c=async()=>{if(!r){N.error("Please enter your password");return}a(!0);try{const l=await Ct("/api/auth/app-login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:r})}),u=await l.json().catch(()=>({}));if(!l.ok){N.error(u.error||"Login failed");return}N.success("Authenticated successfully"),n(),t(),window.location.reload()}catch{N.error("Network error")}finally{a(!1)}};return o(Oe,{isOpen:e,onClose:t,title:"LAN Authentication Required",children:o("div",{className:Ve.container,children:[o("p",{children:"This instance is protected. Enter the password to access from this device."}),o("div",{className:Ve.field,children:[o("label",{htmlFor:"lan-password",children:"Password"}),o("input",{id:"lan-password",type:"password",value:r,onChange:l=>s(l.currentTarget.value),placeholder:"Enter password...",className:Ve.input,onKeyDown:l=>l.key==="Enter"&&c()})]}),o("div",{className:Ve.actions,children:[o(tt,{variant:"secondary",onClick:t,disabled:i,children:"Cancel"}),o(tt,{variant:"primary",onClick:c,loading:i,children:"Unlock"})]})]})})},sl="_notice_1d75r_1",il={notice:sl},al=2600,cl=1e4,ll={anilist:"Updating AniList…",mal:"Updating MyAnimeList…"};function ul({enabled:e=!0}){const[t,n]=g(!1),[r,s]=g("mal"),[i,a]=g(document.fullscreenElement);return w(()=>{const c=()=>a(document.fullscreenElement);return document.addEventListener("fullscreenchange",c),()=>document.removeEventListener("fullscreenchange",c)},[]),w(()=>{if(!e||typeof EventSource>"u")return;const c=new EventSource("/api/tracker/activity"),l=new Map;let u;const d=new Set;let m=-1/0;const p=f=>{let h;try{h=JSON.parse(f.data)}catch{return}const _=h.provider;_!=="anilist"&&_!=="mal"||(h.updating===!0?(clearTimeout(l.get(_)),d.size===0&&Date.now()-m>=cl&&(m=Date.now(),s(_),n(!0),clearTimeout(u),u=setTimeout(()=>n(!1),al)),d.add(_)):h.updating===!1&&(clearTimeout(l.get(_)),l.set(_,setTimeout(()=>d.delete(_),1500))))};return c.addEventListener("tracker-activity",p),()=>{c.removeEventListener("tracker-activity",p),c.close(),clearTimeout(u);for(const f of l.values())clearTimeout(f);n(!1)}},[e]),!e||!t?null:vn(o("div",{className:il.notice,role:"status","aria-live":"polite","aria-atomic":"true",children:[o(O,{name:r==="anilist"?"anilist":"myanimelist",size:15}),o("span",{children:ll[r]})]}),i||document.body)}const dl=W(()=>U(()=>import("./Home-DtWNcknh.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]))),ml=W(()=>U(()=>import("./Watchlist-raSYd6jM.js"),__vite__mapDeps([34,1,2,4,10,11,12,5,13,3,6,7,8,9,14,15,16,17,18,35,36,37,38,39]))),pl=W(()=>U(()=>import("./Settings-C3A9xzAC.js"),__vite__mapDeps([40,1,2,4,41,42,7,8,43]))),dn=W(()=>U(()=>import("./Player-B8NgcAaG.js"),__vite__mapDeps([44,1,45,4,46,2,47,14,48,7,8,6,20,21,12,5,13,27,49,50,51,52,53,54,55]))),fl=W(()=>U(()=>import("./WatchAlong-I0zNTgQi.js"),__vite__mapDeps([56,1,53,54,2,4]))),hl=W(()=>U(()=>import("./Search-BK-3izwR.js"),__vite__mapDeps([57,1,4,3,5,6,7,8,9,10,11,2,12,13,14,15,16,17,18,37,38,58,59]))),yl=W(()=>U(()=>import("./Mature-DCY32pCd.js"),__vite__mapDeps([60,1,2,4,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,27,58,59,61]))),mn=W(()=>U(()=>import("./Asmr-D841iN7S.js"),__vite__mapDeps([62,1,4,2,41,42,7,8,3,5,6,9,32,24,63,25,45,46,64,65,66]))),gl=W(()=>U(()=>import("./Manga-BzwrwVRY.js"),__vite__mapDeps([67,1,4,41,42,7,8,17,18,3,5,6,9,22,23,2,24,25,27,68,69,64,65]))),vl=W(()=>U(()=>import("./MangaInfoPage-C9_jlomp.js"),__vite__mapDeps([70,1,4,17,18,23,2,24,68,69,64,65]))),bl=W(()=>U(()=>import("./MangaReadPage-dlV9ruge.js"),__vite__mapDeps([71,1,17,4,18,2,23,24,68,69,64,65]))),wl=W(()=>U(()=>import("./ReadingList-C3S-oiZU.js"),__vite__mapDeps([72,1,3,4,5,6,7,8,9,73,15,16,17,18,35,36,22,23,2,24,25,26,19]))),pn=W(()=>U(()=>import("./TvSearch-Bzw_N9vB.js"),__vite__mapDeps([74,1,4,3,5,6,7,8,9,28,29,30,2,24,15,16,17,18,58,59]))),_l=W(()=>U(()=>import("./TvInfo-Bx4weneQ.js"),__vite__mapDeps([75,1,4,30,2,24,76]))),El=W(()=>U(()=>import("./Tv-CtiQrS7_.js"),__vite__mapDeps([77,1,45,4,46,2,47,14,48,78,7,8,27,30,24,6,51,52,53,54,79]))),Sl=W(()=>U(()=>import("./TvWatchlist-DoMAHoqZ.js"),__vite__mapDeps([80,1,3,4,5,6,7,8,9,73,15,16,17,18,35,36,19,29,30,2,24]))),kl=W(()=>U(()=>import("./ListeningList-BBCPOGtc.js"),__vite__mapDeps([81,1,3,4,5,6,7,8,9,73,15,16,17,18,35,36,32,2,24,63,25,31,19]))),Pl=W(()=>U(()=>import("./Trackers-BTgn2ubb.js"),__vite__mapDeps([82,1,2,4,83]))),Tl=W(()=>U(()=>import("./Insights-BFEOElox.js"),__vite__mapDeps([84,1,2,4,85]))),xl=W(()=>U(()=>import("./AnimeInfoPage-BKWRJ_zM.js"),__vite__mapDeps([86,1,2,4]))),Il=W(()=>U(()=>import("./PlayerRedirect-fv2tzEUu.js"),__vite__mapDeps([87,1]))),Nl=W(()=>U(()=>import("./VirtualKeyboard-B3STwvzu.js"),__vite__mapDeps([88,1,2,4,89])));function Cl(){Yi();const{isOpen:e,closeModal:t,onSuccess:n}=Lc(),{isOpen:r,setIsOpen:s}=Lt(),{isOpen:i,openModal:a,closeModal:c}=Xc(),l=nt(),u=hr(),d=B(new Map),m=B(l.pathname),p=B(l.key),f=B(null),[h,_]=g(!1),T=Na();Ac();const[k,b]=g(!1);w(()=>{const C=new AbortController;return qe("/api/auth/app-status",{signal:C.signal}).then(V=>{V.hasPassword&&!V.isAuthenticated&&(b(!0),a())}).catch(()=>{C.signal.aborted||N.error("Could not check server access. The server may still be starting; reload to retry.")}),()=>C.abort()},[a]);const[v,x]=Rt("lan_auth_notice_shown","false"),H=B(!1);return w(()=>{if(v==="true"||H.current)return;H.current=!0,x("true");const C=setTimeout(()=>{N("Optional LAN lock is available. Set a password in Settings to protect access from other devices on your network.",{duration:1e4,icon:"🔒"})},3e3);return()=>clearTimeout(C)},[v,x]),w(()=>{try{window.history.scrollRestoration="manual"}catch{}},[]),w(()=>{const C=l.key,V=d.current;if(u==="POP"){const I=V.get(C)??0;window.scrollTo({top:I,behavior:"instant"})}else l.pathname!==m.current&&window.scrollTo({top:0,behavior:"instant"});return m.current=l.pathname,()=>{V.set(C,window.scrollY)}},[l.key,l.pathname,u]),w(()=>{const C=()=>{_(!0),f.current!==null&&window.clearTimeout(f.current),f.current=window.setTimeout(()=>{_(!1),f.current=null},1e4)},V=M=>{if(M.defaultPrevented||M.button!==0||M.metaKey||M.ctrlKey||M.shiftKey||M.altKey)return;const K=M.target;if(!(K instanceof Element))return;const y=K.closest("a[href]");if(!y||y.hasAttribute("download")||y.getAttribute("target")==="_blank")return;const S=new URL(y.href,window.location.href);S.origin===window.location.origin&&`${S.pathname}${S.search}${S.hash}`!=`${window.location.pathname}${window.location.search}${window.location.hash}`&&C()},I=()=>C();return document.addEventListener("click",V,!0),window.addEventListener("popstate",I),()=>{document.removeEventListener("click",V,!0),window.removeEventListener("popstate",I),f.current!==null&&(window.clearTimeout(f.current),f.current=null)}},[]),w(()=>{p.current!==l.key&&(p.current=l.key,h&&(f.current!==null&&window.clearTimeout(f.current),f.current=window.setTimeout(()=>{_(!1),f.current=null},500)))},[l.key,h]),w(()=>{const C=V=>{r&&V.key==="Escape"&&s(!1)};return r?document.body.classList.add("sidebar-open"):document.body.classList.remove("sidebar-open"),window.addEventListener("keydown",C),()=>{window.removeEventListener("keydown",C),document.body.classList.remove("sidebar-open")}},[r,s]),o("div",{className:"app-container",children:[o(Kc,{isOpen:e,onClose:t,onSuccess:n}),o(cr,{isOpen:i,onClose:k?()=>{}:c,onSuccess:()=>{b(!1),c()}}),o(xn,{position:"top-center",toastOptions:{style:{background:"var(--bg-elevated)",color:"var(--text-primary)",border:"1px solid var(--border-primary)"},success:{style:{background:"var(--accent)",color:"var(--accent-text)"},iconTheme:{primary:"var(--accent-text)",secondary:"var(--accent)"}},error:{style:{background:"rgba(153, 42, 42, 0.95)",color:"#fff"}}}}),h&&o(un,{}),o(ul,{enabled:!k&&!i}),o(ec,{}),o(pc,{}),o("main",{className:"main-content",children:o(Zc,{children:o(jt,{fallback:o(un,{}),children:o(yr,{children:[o($,{path:"/",element:o(dl,{})}),o($,{path:"/watchlist/:filter?",element:o(ml,{})}),o($,{path:"/reading-list/:filter?",element:o(wl,{})}),o($,{path:"/search",element:o(hl,{})}),o($,{path:"/mature",element:o(yl,{})}),o($,{path:"/asmr",element:o(mn,{})}),o($,{path:"/asmr/:rj",element:o(mn,{})}),o($,{path:"/manga",element:o(gl,{})}),o($,{path:"/manga/:provider/:id",element:o(vl,{})}),o($,{path:"/manga/:provider/:id/read",element:o(bl,{})}),o($,{path:"/tv",element:o(pn,{})}),o($,{path:"/tv/:id",element:o(_l,{})}),o($,{path:"/tv/:id/watch",element:o(El,{})}),o($,{path:"/tv-search",element:o(pn,{})}),o($,{path:"/tv-watchlist/:filter?",element:o(Sl,{})}),o($,{path:"/listening-list/:filter?",element:o(kl,{})}),o($,{path:"/settings",element:o(pl,{})}),o($,{path:"/trackers",element:o(Pl,{})}),o($,{path:"/mal",element:o(Mt,{to:"/trackers",replace:!0})}),o($,{path:"/insights",element:o(Tl,{})}),o($,{path:"/anime/:id",element:o(xl,{})}),o($,{path:"/watch/:id",element:o(dn,{})}),o($,{path:"/watch-along",element:o(fl,{})}),o($,{path:"/watch/:id/:episodeNumber",element:o(dn,{})}),o($,{path:"/player/:id/:episodeNumber?",element:o(Il,{})}),o($,{path:"*",element:o(Mt,{to:"/",replace:!0})})]})})})}),o(Oc,{}),T.isVisible&&o(jt,{fallback:null,children:o(Nl,{activeInputRef:T.activeInputRef,isVisible:T.isVisible,onClose:T.hide})})]})}function Ol(){return o(el,{children:o(Cl,{})})}const Al=({children:e})=>{const[t,n]=g(!1),r=G(()=>{n(i=>!i)},[]),s=Ce(()=>({isOpen:t,setIsOpen:n,toggleSidebar:r}),[t,r]);return o(Yn.Provider,{value:s,children:e})},Ll=({children:e})=>{const[t,n]=Rt("dango_content_type","anime"),r=Ce(()=>({contentType:t,setContentType:n}),[t,n]);return o(Zn.Provider,{value:r,children:e})},Rl=({children:e})=>{const[t,n]=g("englishName"),[r,s]=g(!0);w(()=>{(async()=>{try{const c=await le.settings.getByKey.query({key:"titlePreference"});c.value&&n(c.value)}catch(c){console.error("Error fetching title preference in context:",c)}finally{s(!1)}})()},[]);const i=Ce(()=>({titlePreference:t,setTitlePreference:n,loading:r}),[t,r]);return o(Wn.Provider,{value:i,children:e})},$l=({children:e})=>{const{data:t,isLoading:n}=at("lowEndMode"),r=Qn(),s=ee(),[i,a]=g(!1);w(()=>{const u=s.getDefaultOptions();s.setDefaultOptions({...u,queries:{...u.queries,gcTime:i?900*1e3:1800*1e3}})},[i,s]),w(()=>{t!==void 0&&a(t==="true"||t===!0)},[t]),w(()=>{i?document.body.classList.add("low-end"):document.body.classList.remove("low-end")},[i]);const c=G(u=>{a(u),r.mutate({key:"lowEndMode",value:String(u)})},[r]),l=Ce(()=>({lowEndMode:i,setLowEndMode:c,loading:n}),[i,c,n]);return o(Vn.Provider,{value:l,children:e})},ql=["iris","mochi","sakura"];function fn(e){e==="iris"?document.documentElement.removeAttribute("data-theme"):document.documentElement.setAttribute("data-theme",e)}const Dl=({children:e})=>{const{data:t,isLoading:n}=at("theme"),r=Qn(),[s,i]=g("iris");w(()=>{typeof t=="string"&&ql.includes(t)&&i(t)},[t]),w(()=>{fn(s)},[s]);const a=G(l=>{l!==s&&(i(l),fn(l),r.mutate({key:"theme",value:l}))},[r,s]),c=Ce(()=>({theme:s,setTheme:a,loading:n}),[s,a,n]);return o(Gn.Provider,{value:c,children:e})},jl=({children:e})=>{const[t,n]=g(!1),[r,s]=g(void 0),i=G(c=>{s(()=>c),n(!0)},[]),a=G(()=>{n(!1),s(void 0)},[]);return w(()=>Dn("animepahe",()=>i()),[i]),o(ir.Provider,{value:{isOpen:t,openModal:i,closeModal:a,onSuccess:r},children:e})},Ml="_gate_rmllo_1",Fl="_panel_rmllo_10",Bl="_form_rmllo_18",Wl="_field_rmllo_31",Ul="_avatarRow_rmllo_48",Hl="_uploadButton_rmllo_60",Kl="_fileInput_rmllo_89",Ql="_profileList_rmllo_102",Vl="_smallAvatar_rmllo_115",zl="_profileName_rmllo_120",xe={gate:Ml,panel:Fl,form:Bl,field:Wl,avatarRow:Ul,uploadButton:Hl,fileInput:Kl,profileList:Ql,smallAvatar:Vl,profileName:zl};function Gl({children:e}){const[t,n]=g(!1),[r,s]=g(!1),[i,a]=g([]),[c,l]=g(""),[u,d]=g(""),[m,p]=g(""),[f,h]=g(!1),[_,T]=g(0);if(w(()=>{let b=!1;return p(""),(async()=>{const x=await qe("/api/auth/app-status");if(b)return;if(x.hasPassword&&!x.isAuthenticated){s(!0);return}const H=await qe("/api/profiles/status");b||(H.current?(Ts(H.current.id),n(!0)):(a(H.profiles),l(H.profiles[0]?.id??"")))})().catch(x=>{b||p(x.message)}),()=>{b=!0}},[_]),w(()=>{const b=x=>{x.key==="dango:profile-session-change"&&window.location.reload()},v=()=>{n(!1),T(x=>x+1)};return window.addEventListener("storage",b),window.addEventListener("dango:profile-auth-required",v),()=>{window.removeEventListener("storage",b),window.removeEventListener("dango:profile-auth-required",v)}},[]),t)return e;const k=i.find(b=>b.id===c);return o("div",{className:xe.gate,children:[o(xn,{}),o(cr,{isOpen:r,onClose:()=>{},onSuccess:()=>{s(!1),T(b=>b+1)}}),o("section",{className:xe.panel,children:[o("h1",{children:i.length?"Choose your profile":"Connecting to Dango…"}),k&&o(ce,{children:[o("div",{className:xe.avatarRow,children:o(tr,{image:k.avatar??k.cloudAvatar,name:k.name})}),o("form",{className:xe.form,onSubmit:async b=>{b.preventDefault(),h(!0),p("");try{await qe("/api/profiles/login",{method:"POST",body:JSON.stringify({id:c,password:u})}),Is()}catch(v){p(v.message),h(!1)}},children:[o("label",{className:xe.field,children:["Profile",o("select",{value:c,onChange:b=>{l(b.currentTarget.value),d(""),p("")},children:i.map(b=>o("option",{value:b.id,children:[b.name,b.owner?" (owner)":""]},b.id))})]}),k.protected&&o("label",{className:xe.field,children:["Password",o("input",{type:"password",autoComplete:"current-password",required:!0,maxLength:256,value:u,onChange:b=>d(b.currentTarget.value)})]}),o(tt,{type:"submit",loading:f,children:"Continue"})]})]}),m&&o(ce,{children:[o("p",{role:"alert",children:m}),o(tt,{variant:"secondary",onClick:()=>T(b=>b+1),children:"Retry"})]})]})]})}const lr=he(null);function $u(){const e=ye(lr);if(!e)throw new Error("WatchAlongProvider is missing");return e}const Jl=/^[0-9a-f-]{36}$/,Yl=/^[0-9a-f]{64}$/;function qu(e,t){return(e.kind??"anime")===(t.kind??"anime")&&e.season===t.season&&e.showId===t.showId&&e.episode===t.episode&&e.provider===t.provider&&e.mode===t.mode&&e.source===t.source}function Du(e,t){return e.position+(e.playing?Math.max(0,t-e.updatedAt)/1e3*e.rate:0)}const $t=e=>String(e).toLowerCase()==="movie"?"movie":"tv",ju=(e,t)=>`${$t(e)}:${t}`,Mu=(e,t)=>{const n=$t(e);return`/tv/${t}?type=${n}`},Zl=(e,t,n,r)=>{const s=new URLSearchParams;return s.set("type",$t(e)),n!==void 0&&s.set("s",String(n)),r!==void 0&&s.set("e",String(r)),`/tv/${t}/watch?${s.toString()}`},Fu=e=>e.adult===!0||e.adult===1,Bu={10759:"Action & Adventure",16:"Animation",35:"Comedy",80:"Crime",99:"Documentary",18:"Drama",10751:"Family",10762:"Kids",9648:"Mystery",10765:"Sci-Fi & Fantasy",37:"Western"},Wu={28:"Action",12:"Adventure",16:"Animation",35:"Comedy",80:"Crime",99:"Documentary",18:"Drama",10751:"Family",14:"Fantasy",36:"History",27:"Horror",9648:"Mystery",10749:"Romance",878:"Sci-Fi",53:"Thriller",10752:"War",37:"Western"},kt="dango-watch-along",qt="dango-watch-along-host";function hn(e){if(!e||typeof e!="object")return null;const t=e;if(typeof t.id!="string"||typeof t.token!="string"||typeof t.guestToken!="string")return null;const n=De(`${t.id}.${t.guestToken}`,""),r=De(`${t.id}.${t.token}`,"");return{...n,token:r.token,host:t.host===!0}}function Xl(){try{return hn(JSON.parse(sessionStorage.getItem(kt)||"null"))??hn(JSON.parse(localStorage.getItem(qt)||"null"))}catch{return null}}function eu(e){try{e?sessionStorage.setItem(kt,JSON.stringify(e)):sessionStorage.removeItem(kt),e?.host&&localStorage.setItem(qt,JSON.stringify(e))}catch{}}function ze(){try{localStorage.removeItem(qt)}catch{}}function tu(e){return e.kind==="tv"||e.kind==="movie"?Zl(e.kind,e.showId,e.kind==="tv"?e.season:void 0,e.kind==="tv"?Number(e.episode):void 0):`/watch/${encodeURIComponent(e.showId)}/${encodeURIComponent(e.episode)}`}function De(e,t){let n=e.trim().replace(/^#/,"");if(n.includes("://")){const a=new URL(n);if(a.origin!==new URL(t).origin||!["/join","/watch-along"].includes(a.pathname))throw new Error("Use an invite from this dango watch-along service.");n=a.hash.slice(1)}const[r,s,i]=n.split(".");if(!Jl.test(r||"")||!Yl.test(s||"")||i!==void 0)throw new Error("Paste a complete watch-along invite link or room code.");return{id:r,token:s,guestToken:s,host:!1}}function nu({children:e}){const t=bn(),n=nt(),[r,s]=Rt("watchAlongName",""),[i,a]=g(Xl),[c,l]=g(null),[u,d]=g(!1),[m,p]=g(""),[f,h]=g(""),[_,T]=g({offset:0,latency:0}),k=B(null),{data:b}=oe({queryKey:["watch-along-config"],queryFn:()=>le.settings.watchAlong.query()}),v=b?.workerUrl.replace(/\/$/,"")||"";w(()=>{eu(i)},[i]);const x=G(I=>{k.current?.readyState===WebSocket.OPEN&&k.current.send(JSON.stringify(I))},[]);w(()=>{if(!u)return;const I=setTimeout(()=>x({type:"name",name:r}),250);return()=>clearTimeout(I)},[u,f,r,x]);const H=G(()=>{i?.host&&x({type:"end"}),k.current?.close(1e3,"Left room"),ze(),a(null),l(null),d(!1),p("")},[x,i]),C=async I=>{if(!v)throw new Error("Watch along is unavailable. Check your server configuration.");const M=await fetch(`${v}/rooms`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(I),signal:AbortSignal.timeout(15e3)}),K=await M.json();if(!M.ok)throw new Error(K.error||"Could not create room");const y=De(`${K.id}.${K.guestToken}`,v),S=De(`${K.id}.${K.hostToken}`,v);p(""),l(null),a({...y,token:S.token,host:!0})},V=I=>{if(!v)throw new Error("Watch along is unavailable. Check your server configuration.");const M=De(I,v);ze(),p(""),l(null),a(M)};return w(()=>{if(!i||!v)return;let I=!1,M=0,K,y,S=Date.now();const P=async()=>{if(I)return;try{const se=await fetch(`${v}/rooms/${i.id}`,{headers:{Authorization:`Bearer ${i.token}`},signal:AbortSignal.timeout(1e4)});if(I)return;if(!se.ok){const A=await se.json();if([403,404,409].includes(se.status)){p(A.error||"Unable to join room"),ze(),a(null),l(null);return}throw new Error(A.error||"Room service unavailable")}}catch{if(I)return;p("Cannot reach the room service. Retrying…"),K=setTimeout(P,Math.min(15e3,1e3*2**Math.min(M++,4)));return}const j=new URL(`${v}/rooms/${i.id}/ws`);j.protocol=j.protocol==="https:"?"wss:":"ws:";const Q=new WebSocket(j,["dango-watch-along",i.token]);k.current=Q,Q.onopen=()=>{S=Date.now()},Q.onmessage=se=>{if(!(I||k.current!==Q)){S=Date.now();try{const A=JSON.parse(se.data);if(A.type==="joined"){if(A.host!==i.host){Q.close(4003,"Invalid role");return}M=0,d(!0),p(""),h(A.id),Q.send(JSON.stringify({type:"ping",sentAt:Date.now()}))}else if(A.type==="state")l(ue=>ue&&ue.revision>A.state.revision?ue:A.state);else if(A.type==="pong"){const ue=Date.now()-A.sentAt;T({offset:A.serverTime-(A.sentAt+ue/2),latency:ue/2})}else A.type==="error"&&p(A.error)}catch{p("Invalid response from the room service.")}}},Q.onclose=se=>{if(!(I||k.current!==Q)){if(clearInterval(y),d(!1),[4003,4004,4009].includes(se.code)){p(se.reason||"Room closed"),se.code!==4009&&ze(),a(null),l(null);return}p("Connection lost. Reconnecting…"),K=setTimeout(P,Math.min(15e3,1e3*2**Math.min(M++,4)))}},Q.onerror=()=>Q.close(),y=setInterval(()=>{Date.now()-S>25e3?Q.close():Q.readyState===WebSocket.OPEN&&Q.send(JSON.stringify({type:"ping",sentAt:Date.now()}))},1e4)};return P(),()=>{I=!0,clearTimeout(K),clearInterval(y),k.current?.close(1e3,"Leaving connection"),k.current=null,d(!1)}},[i,v]),w(()=>{if(!i||i.host||!c)return;const I=tu(c.selection);`${n.pathname}${n.search}`!==I&&t(I,{replace:!0})},[i,c,n.pathname,n.search,t]),o(lr.Provider,{value:{workerUrl:v,displayName:r,setDisplayName:s,session:i,room:c,connected:u,error:m,selfId:f,clock:_,create:C,join:V,leave:H,send:x},children:e})}try{window.history.scrollRestoration="manual"}catch{}const yn=new _r({defaultOptions:{queries:{staleTime:1e3*60*5,gcTime:1800*1e3,refetchOnWindowFocus:!1,refetchIntervalInBackground:!1,retry:1}}}),gn=document.getElementById("root");gn&&gr(o(Gl,{children:o(vr,{children:o(As,{trpcClient:le,queryClient:yn,children:o(Er,{client:yn,children:o(jl,{children:o(Al,{children:o(Ll,{children:o(Rl,{children:o($l,{children:o(Dl,{children:o(nu,{children:o(Ol,{})})})})})})})})})})})}),gn);export{lt as $,lu as A,tt as B,Nu as C,Su as D,_u as E,N as F,at as G,Qn as H,Tu as I,xu as J,Pu as K,Oe as L,Wu as M,Ca as N,qe as O,xe as P,tr as Q,Is as R,Ct as S,Bu as T,J as U,Ou as V,Au as W,an as X,er as Y,sn as Z,U as _,Rt as a,cu as a0,ne as a1,$u as a2,Kc as a3,pu as a4,Ia as a5,Ru as a6,Dn as a7,$t as a8,ju as a9,Lu as aa,qu as ab,Du as ac,Lt as ad,Cu as ae,un as af,gu as ag,vu as ah,yu as ai,uu as b,du as c,Vs as d,tc as e,Hs as f,iu as g,Zl as h,Fu as i,Mu as j,Qs as k,D as l,mu as m,Xn as n,ku as o,Z as p,q,fu as r,au as s,le as t,Di as u,hu as v,bu as w,wu as x,Iu as y,Eu as z};
@@ -1 +0,0 @@
1
- import{b as u,c as f,u as c,a as g}from"./vendor-query-BBT5_sHx.js";import{q as v,t as b,l as o,F as s}from"./index-CNEFXey-.js";import{T as L}from"./vendor-core-DfaOB3Rn.js";import{i as l}from"./libraryInvalidation-FFJuBJjR.js";const q=300*1e3,h={mangadex:"https://mangadex.org/",mangapill:"https://www.mangapill.com/"},F=(e,a)=>`/api/proxy?url=${encodeURIComponent(a)}&referer=${encodeURIComponent(h[e])}`,B=(e,a)=>a&&(e==="mangapill"||e==="mangadex"?F(e,a):a),N=(e,a=!0)=>{const{provider:t,query:r,page:i,sort:n,status:m,type:p,rating:y,mature:d}=e;return u({queryKey:[v.mangaBrowse,t,r,i,n,m,p,y,d],queryFn:()=>b.manga.search.query({provider:t,q:r.trim()||void 0,page:i,sort:n||void 0,status:m||void 0,type:p||void 0,rating:y||void 0,mature:d?"1":void 0}),staleTime:q,enabled:a})},I=(e,a=14)=>{const{provider:t,query:r,sort:i,status:n,type:m,rating:p,mature:y}=e;return f({queryKey:[v.mangaBrowseInfinite,t,r,i,n,m,p,y,a],queryFn:({pageParam:d=1})=>b.manga.search.query({provider:t,q:r.trim()||void 0,page:d,limit:a,sort:i||void 0,status:n||void 0,type:m||void 0,rating:p||void 0,mature:y?"1":void 0}),initialPageParam:1,getNextPageParam:(d,M)=>d.hasNext?M.length+1:void 0,staleTime:q,enabled:!0})},Q=(e,a,t="safe",r=!1)=>u({queryKey:[v.mangaDetail,e,a,t,r],queryFn:()=>b.manga.info.query({provider:e||"",id:a||"",rating:t,mature:r?"1":void 0}),enabled:!!e&&!!a,staleTime:q}),A=(e,a,t)=>u({queryKey:[v.mangaPages,e,a],queryFn:()=>b.manga.pages.query({provider:e||"",id:a||""}),enabled:!!e&&!!a,staleTime:1800*1e3}),w=()=>{const e=o(),a=u({...e.manga.trending.queryOptions(),staleTime:600*1e3,retry:1});return{...a,data:a.data}},x=e=>e.contentRating==="erotica"||e.contentRating==="pornographic"||e.type==="doujinshi";function _(e,a){const t=e.titles??{};return a==="englishName"?t.en||e.title:a==="nativeName"&&(t.native||t.romaji||e.altTitle)||e.title}function D(e){return{englishName:e.titles?.en??e.title,nativeName:e.titles?.native??e.titles?.romaji??e.altTitle??void 0}}const P=/^anilist:ch:(\d+)$/;function K(e){if(!e)return null;const a=P.exec(e.trim());if(!a)return null;const t=Number.parseInt(a[1],10);return Number.isFinite(t)?t:null}function U(e,a){const t=String(a),r=e.find(i=>(i.number??"").trim()===t);return r||(e.find(i=>{const n=Number.parseFloat((i.number??"").trim());return Number.isFinite(n)&&n===a})??null)}const j=["Reading","Completed","On-Hold","Dropped","Planned"],S=(e,a)=>`${e.toLowerCase()}:${a}`,H=(e="All",a=1,t=24)=>{const r=o();return u(r.mangaLibrary.list.queryOptions({status:e,page:a,limit:t}))},R=()=>{const e=o();return u({...e.mangaLibrary.ids.queryOptions(),staleTime:1e3*60})},V=e=>{const a=o();return u({...a.mangaLibrary.check.queryOptions({id:e??""}),enabled:!!e,staleTime:1e3*60})},Y=e=>{const a=o();return u({...a.mangaLibrary.entry.queryOptions({id:e??""}),enabled:!!e,staleTime:1e3*60})},z=()=>{const e=o(),a=c();return g(e.mangaLibrary.link.mutationOptions({onSuccess:t=>{s.success(t?.progressMigrated?"Linked - chapter progress carried over":"Linked to AniList entry"),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to link: ${t.message}`)}}))},G=(e=24)=>{const a=o();return u(a.mangaProgress.continueReading.queryOptions({limit:e}))},J=e=>{const a=o();return u({...a.mangaProgress.byManga.queryOptions({mangaId:e??""}),enabled:!!e})},k=()=>{const e=o(),a=c();return g(e.mangaLibrary.add.mutationOptions({onSuccess:(t,r)=>{r.silent||s.success("Bookmarked"),a.invalidateQueries(e.mangaLibrary.pathFilter()),a.invalidateQueries({queryKey:[v.mangaLibrary]})},onError:t=>{s.error(`Failed to bookmark: ${t.message}`)}}))},C=()=>{const e=o(),a=c();return g(e.mangaLibrary.remove.mutationOptions({onSuccess:()=>{s.success("Bookmark removed"),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to remove: ${t.message}`)}}))},W=()=>{const e=o(),a=c();return g(e.mangaLibrary.setStatus.mutationOptions({onSuccess:()=>{s.success("Status updated"),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to update status: ${t.message}`)}}))},X=()=>{const e=o(),a=c();return g(e.mangaProgress.save.mutationOptions({onSuccess:()=>{l(a,"manga",!0),a.invalidateQueries(e.mangaProgress.pathFilter())}}))},Z=()=>{const e=o(),a=c();return g(e.mangaProgress.remove.mutationOptions({onSuccess:()=>{s.success("Progress reset"),l(a,"manga",!0),a.invalidateQueries(e.mangaProgress.pathFilter())},onError:t=>{s.error(`Failed to reset progress: ${t.message}`)}}))},ee=()=>{const e=o(),a=c();return g(e.mangaLibrary.batchStatus.mutationOptions({onSuccess:t=>{s.success(`Status updated for ${t.updated??0} items`),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to update statuses: ${t.message}`)}}))},ae=()=>{const e=o(),a=c();return g(e.mangaLibrary.removeMany.mutationOptions({onSuccess:t=>{const r=t.removed??0;s.success(`Removed ${r} ${r===1?"item":"items"} from reading list`),a.invalidateQueries(e.mangaLibrary.pathFilter()),l(a,"manga")},onError:t=>{s.error(`Failed to remove: ${t.message}`)}}))},te=()=>{const e=o(),a=c();return g(e.mangaProgress.removeMany.mutationOptions({onSuccess:t=>{const r=t.removed??0;s.success(`Reset progress for ${r} ${r===1?"item":"items"}`),l(a,"manga",!0),a.invalidateQueries(e.mangaProgress.pathFilter())},onError:t=>{s.error(`Failed to reset progress: ${t.message}`)}}))},re=()=>{const e=k(),a=C(),{data:t}=R(),r=L(()=>new Set(t?.ids||[]),[t]);return{toggle:n=>{const m=S(n.provider,n.id);r.has(m)?a.mutate(m):e.mutate({provider:n.provider,mangaId:n.id,title:n.title,cover:n.cover,altTitle:n.altTitle,contentRating:n.contentRating})},bookmarkedIds:r,pending:e.isPending||a.isPending}};export{te as A,Z as B,j as M,I as a,B as b,D as c,G as d,w as e,N as f,Y as g,k as h,x as i,z as j,Q as k,V as l,S as m,J as n,C as o,W as p,K as q,_ as r,U as s,A as t,re as u,F as v,X as w,H as x,ee as y,ae as z};
@@ -1 +0,0 @@
1
- import{u as k}from"./vendor-core-DfaOB3Rn.js";import{k as T,r as d}from"./useMangaLibrary-CzC0997w.js";import{d as y}from"./index-CNEFXey-.js";import{a as h}from"./MediaCard-ByXxG9l_.js";import{u as M}from"./usePopup-DS9jMzp6.js";const B=({data:e,anchorRect:i,bookmarked:l,onToggleBookmark:n,onMouseEnter:p,onMouseLeave:c,onRequestClose:m})=>{const{data:o,isLoading:u}=T(e.provider,e.mangaId,e.rating||"safe",e.mature||!1),{titlePreference:g}=y(),s=o?.chapters.length??0,a=d({title:e.title,altTitle:o?.altTitle??e.altTitle},g),t=[],r=[o?.status,o?.type].filter(Boolean).join(" · ");r&&t.push({icon:"book",label:r}),s>0&&t.push({label:`${s} chapter${s===1?"":"s"}`}),e.progressLabel&&t.push({icon:"bookmark",label:e.progressLabel});const b=Array.isArray(o?.genres)?o.genres.filter(Boolean).slice(0,4).map(f=>f):[];return k(h,{anchorRect:i,title:a,subtitle:o?.altTitle&&o.altTitle!==a?`Also known as: ${o.altTitle}`:void 0,loading:u,meta:t,genres:b,synopsis:o?.description?o.description:"No synopsis available.",primaryAction:{to:e.readTarget,label:"Read now",icon:"book"},secondaryAction:{to:`/manga/${e.provider}/${encodeURIComponent(e.mangaId)}`,label:"Read more"},bookmarked:l,bookmarkLabel:"Bookmark",onToggleBookmark:n,onMouseEnter:p,onMouseLeave:c,onRequestClose:m})},I=()=>M();export{B as M,I as u};
@@ -1 +0,0 @@
1
- ._controls_pcbjf_1{display:flex;align-items:stretch;gap:1rem;flex-wrap:wrap;width:100%}._titleContainer_pcbjf_9{display:flex;flex-direction:column;gap:.75rem}._scheduleInfo_pcbjf_15{display:flex;gap:1rem;font-size:.95rem;color:var(--text-tertiary);align-items:center}._status_pcbjf_23{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-light);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);padding:.35rem .85rem;border-radius:var(--radius-full);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}._nextEpisode_pcbjf_35{background:#ffffff0d;color:var(--text-secondary);padding:.35rem .85rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;border:1px solid var(--glass-border)}._watchlistBtn_pcbjf_45{background:#ffffff0d;color:var(--text-primary);border:1px solid rgba(255,255,255,.1);padding:.65rem 1.25rem;border-radius:var(--radius-full);font-weight:600;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;gap:.6rem;font-size:.85rem;flex:0 1 auto;min-width:120px;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}._watchlistBtn_pcbjf_45:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-2px);box-shadow:0 4px 12px #00000040}._watchlistBtn_pcbjf_45._inList_pcbjf_72{background:color-mix(in srgb,var(--color-success) 12%,transparent);border-color:color-mix(in srgb,var(--color-success) 35%,transparent);color:var(--color-success)}._watchlistBtn_pcbjf_45._inList_pcbjf_72:hover{background:color-mix(in srgb,var(--color-success) 18%,transparent);border-color:var(--color-success)}._queueBtn_pcbjf_83{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent-light)}._queueBtn_pcbjf_83:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent-lighter)}._queueActive_pcbjf_95{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:color-mix(in srgb,var(--accent) 60%,transparent);color:var(--accent-lighter)}._modeToggleBtn_pcbjf_101{background:#ffffff0d;color:var(--text-primary);border-color:#ffffff1a;flex:0 1 auto}._modeToggleActive_pcbjf_108{background:color-mix(in srgb,var(--color-info) 12%,transparent);border-color:color-mix(in srgb,var(--color-info) 45%,transparent);color:#dbeafe}._modeToggleActive_pcbjf_108:hover{background:color-mix(in srgb,var(--color-info) 18%,transparent);border-color:color-mix(in srgb,var(--color-info) 65%,transparent)}._watchlistBtn_pcbjf_45:disabled{opacity:.7;cursor:wait;transform:none}._watchlistBtn_pcbjf_45:disabled:hover{transform:none}._markWatchedBtn_pcbjf_129{background:color-mix(in srgb,var(--color-info) 8%,transparent);border-color:color-mix(in srgb,var(--color-info) 25%,transparent);color:#93c5fd;flex:0 1 auto;justify-content:center}._markWatchedBtn_pcbjf_129:hover{background:color-mix(in srgb,var(--color-info) 14%,transparent);border-color:color-mix(in srgb,var(--color-info) 45%,transparent);color:#dbeafe}._markWatchedDone_pcbjf_143{background:color-mix(in srgb,var(--color-success) 12%,transparent);border-color:color-mix(in srgb,var(--color-success) 35%,transparent);color:var(--color-success)}._markWatchedDone_pcbjf_143:hover{background:color-mix(in srgb,var(--color-success) 18%,transparent);border-color:var(--color-success)}._streamPanel_pcbjf_154{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.875rem 1rem;align-items:center;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--glass-shadow)}._streamPanel_pcbjf_154 ._desktopEpisodeActions_pcbjf_168{flex:0 0 auto;align-self:center;margin:0}._streamPanel_pcbjf_154 ._sourceLoader_pcbjf_174{grid-column:1 / -1;animation:none}._streamPanel_pcbjf_154>:last-child:not(:first-child){grid-column:1 / -1}._streamPanel_pcbjf_154 select{max-width:320px}._episodeActions_pcbjf_187{display:flex;flex-wrap:wrap;gap:.75rem;margin:.5rem 0 .25rem}._desktopEpisodeActions_pcbjf_168{flex:1 1 320px;justify-content:flex-end;align-self:flex-end;margin:0}._mobileEpisodeActions_pcbjf_201{margin:.5rem 0 .25rem}._episodeNavBtn_pcbjf_205{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:.7rem 1rem;background:#ffffff0d;color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:700;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}._episodeNavBtn_pcbjf_205:hover:not(:disabled){border-color:var(--text-secondary);background:#ffffff14}._episodeNavBtn_pcbjf_205:disabled{opacity:.45;cursor:not-allowed;transform:none}._episodeNavBtn_pcbjf_205._primary_pcbjf_235{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);border-color:transparent;color:#fff}._episodeNavBtn_pcbjf_205._primary_pcbjf_235:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-light) 0%,var(--accent) 100%)}._episodeNavBtn_pcbjf_205._secondary_pcbjf_245{background:#ffffff0a}._episodePickerBtn_pcbjf_249{display:none}._queueCountdown_pcbjf_253{position:absolute;left:50%;bottom:1.5rem;transform:translate(-50%);z-index:75;padding:.7rem 1rem;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:#121216eb;color:#fff;font-weight:700;box-shadow:var(--glass-shadow)}._speedBoostBadge_pcbjf_268{position:absolute;top:1.5rem;left:50%;transform:translate(-50%);z-index:75;display:flex;align-items:center;gap:.7rem;padding:.65rem 1rem;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:var(--radius-md);background:#121216eb;color:#f5f3ff;font-weight:800;letter-spacing:.06em;text-transform:none;box-shadow:var(--glass-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}._speedBoostBadge_pcbjf_268 span{line-height:1}._speedBoostBadge_pcbjf_268 svg{display:block;flex-shrink:0}._videoContainer_pcbjf_299{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000;display:flex;justify-content:center;align-items:center;container-type:inline-size}._loadingOverlay_pcbjf_312{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:10;background:#00000080;border-radius:inherit}._loadingDots_pcbjf_326{display:flex;gap:10px}._dot_pcbjf_331{width:12px;height:12px;border-radius:50%;background-color:var(--accent);animation:_bounce_pcbjf_1 1.4s infinite ease-in-out both;box-shadow:0 0 10px var(--accent-glow)}._dot_pcbjf_331:nth-child(1){animation-delay:-.32s}._dot_pcbjf_331:nth-child(2){animation-delay:-.16s}._bufferingOverlay_pcbjf_348{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:20}._bufferingSpinner_pcbjf_357{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--accent);animation:_spin_pcbjf_444 1s ease-in-out infinite}._videoIframe_pcbjf_366{width:100%;height:100%;border:none;position:absolute;top:0;left:0;object-fit:cover;border-radius:inherit}._videoContainer_pcbjf_299 video{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;object-fit:contain;background-color:#000;border-radius:inherit}._videoContainer_pcbjf_299 video._videoElementHidden_pcbjf_389{opacity:0;pointer-events:none}._upscalerCanvas_pcbjf_394{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;object-fit:contain;opacity:0;pointer-events:none;border-radius:inherit}._upscalerCanvas_pcbjf_394._upscalerActive_pcbjf_407{opacity:1}._upscalerStatusBadge_pcbjf_411{position:absolute;top:12px;right:12px;z-index:4;background:#000000a6;color:var(--text-primary);font-size:.75rem;font-weight:600;padding:.35em .8em;border-radius:999px;border:1px solid var(--glass-border);pointer-events:none}._subtitleOverlay_pcbjf_426{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:hidden;border-radius:inherit}._sourceLoader_pcbjf_174{padding:.75rem;display:flex;justify-content:center}._spinner_pcbjf_444{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-left-color:var(--accent);border-radius:50%;animation:_spin_pcbjf_444 1s linear infinite}@media(max-width:768px){._titleContainer_pcbjf_9 h1{font-size:1.25rem}._episodeActions_pcbjf_187{margin-top:.25rem}._controls_pcbjf_1{gap:.5rem}._watchlistBtn_pcbjf_45,._queueBtn_pcbjf_83,._markWatchedBtn_pcbjf_129,._modeToggleBtn_pcbjf_101{flex:1 1 calc(50% - .25rem);min-width:0;padding:.5rem .75rem;font-size:.78rem;gap:.4rem}._episodeNavBtn_pcbjf_205{flex:1 1 calc(50% - .25rem);min-width:0;padding:.45rem .75rem;font-size:.8rem;min-height:44px}._episodePickerBtn_pcbjf_249{display:inline-flex;flex-basis:100%;padding:.4rem .75rem;font-size:.78rem;min-height:44px}._desktopEpisodeActions_pcbjf_168{display:none}._mobileEpisodeActions_pcbjf_201{display:flex}._streamPanel_pcbjf_154{grid-template-columns:minmax(0,1fr)}._errorOverlay_pcbjf_505{padding:1rem;gap:.5rem;overflow-y:auto}._errorOverlay_pcbjf_505 p{font-size:1rem}._retryButton_pcbjf_515{padding:.5rem 1.25rem;font-size:.9rem;margin-top:0}}@media(min-width:769px){._mobileEpisodeActions_pcbjf_201{display:none}}._detailsToggleBtn_pcbjf_528{background:transparent;border:1px solid var(--border-accent);color:var(--accent-light);padding:.5rem .9rem;border-radius:var(--radius-full);cursor:pointer;font-size:.85rem;font-weight:700;transition:all var(--transition-fast);display:flex;align-items:center;gap:.4rem;margin-top:1rem;width:fit-content}._detailsToggleBtn_pcbjf_528:hover{background:var(--accent-subtle);color:var(--accent-lighter);border-color:var(--accent)}._descriptionSection_pcbjf_551{margin-top:1.75rem;padding:1.5rem;background:#ffffff05;border-radius:var(--radius-lg);border:1px solid var(--glass-border)}._descriptionSection_pcbjf_551._synopsisFlat_pcbjf_559{margin-top:0;padding:0;background:none;border:0;border-radius:0;min-width:0}._synopsisFlat_pcbjf_559 p{max-width:80ch}._descriptionSection_pcbjf_551 h3{font-size:.95rem;font-weight:800;margin-bottom:.85rem;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.75rem}._descriptionSection_pcbjf_551 h3:before{content:"";width:4px;height:16px;background:var(--accent);border-radius:var(--radius-full);box-shadow:0 0 10px var(--accent-glow)}._videoContainer_pcbjf_299._fullscreenActive_pcbjf_593{border-radius:0}._videoContainer_pcbjf_299:fullscreen,._videoContainer_pcbjf_299:-webkit-full-screen{width:100vw;height:100vh;border-radius:0}._videoContainer_pcbjf_299:fullscreen video,._videoContainer_pcbjf_299:fullscreen canvas,._videoContainer_pcbjf_299:-webkit-full-screen video,._videoContainer_pcbjf_299:-webkit-full-screen canvas{border-radius:0}._errorOverlay_pcbjf_505{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#000c;color:#fff;z-index:30;padding:2rem;text-align:center;gap:1rem;border-radius:inherit}._errorOverlay_pcbjf_505 p{margin:0;font-size:1.2rem;font-weight:500}._errorSubtext_pcbjf_636{color:var(--text-tertiary)!important;font-size:.9rem!important}._retryButton_pcbjf_515{background:var(--accent);color:var(--accent-text);border:none;padding:.6rem 2rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem;box-shadow:0 4px 12px var(--accent-glow)}._retryButton_pcbjf_515:hover{background:var(--accent-light);transform:translateY(-2px)}._playerPageLayout_13s1u_1{display:grid;grid-template-columns:320px 1fr;gap:2.5rem;padding:2rem;width:100%;max-width:1800px;margin:0 auto;align-items:start;min-height:calc(100vh - var(--header-height));background-color:transparent;animation:_fadeIn_13s1u_1 .8s var(--ease-smooth)}._playerPageLayout_13s1u_1._noSidebar_13s1u_15{grid-template-columns:minmax(0,1fr)}._episodeSidebar_13s1u_19{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:visible;display:flex;flex-direction:column;box-shadow:var(--glass-shadow);animation:_slideUpIn_13s1u_1 .8s var(--ease-smooth)}._playerMain_13s1u_32{min-width:0;display:flex;flex-direction:column;gap:1.25rem;animation:_slideUpIn_13s1u_1 .8s .1s var(--ease-smooth) both}._videoPlayerWrapper_13s1u_40{width:100%;padding-top:56.25%;background-color:#000;border-radius:0;overflow:clip;isolation:isolate;position:relative;box-shadow:0 20px 50px #00000080;border:1px solid var(--glass-border)}._playerInfoHeader_13s1u_56{display:flex;gap:2rem;align-items:flex-start}._playerAnimeCard_13s1u_62{width:160px;flex-shrink:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xl);border:1px solid var(--glass-border);transform:translateZ(0);aspect-ratio:2/3;height:auto}._playerInfoContainer_13s1u_74{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);padding:2rem;border-radius:var(--radius-2xl);box-shadow:var(--glass-shadow);display:flex;flex-direction:column}._infoColumns_13s1u_86{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem 2.5rem;border-top:1px solid var(--border-primary);padding-top:1.5rem;margin-top:1.5rem}@media(min-width:1100px){._infoColumns_13s1u_86:has(>:last-child:not(:first-child)){grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);align-items:start}}._playerAnimeCard_13s1u_62 img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}._playerAnimeCard_13s1u_62:hover img{transform:scale(1.1)}._videoTitleSection_13s1u_114{flex:1;display:flex;flex-direction:column;justify-content:flex-start;gap:1.25rem}._videoTitleSection_13s1u_114 h1{margin:0;font-size:2.25rem;line-height:1.1;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}@keyframes _fadeIn_13s1u_1{0%{opacity:0}to{opacity:1}}@keyframes _slideUpIn_13s1u_1{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1280px){._playerPageLayout_13s1u_1{grid-template-columns:280px 1fr;padding:1.5rem;gap:1.5rem}}@media(max-width:1024px){._playerPageLayout_13s1u_1{display:flex;flex-direction:column;gap:2rem}._episodeSidebar_13s1u_19{width:100%;height:auto;max-height:500px;position:static;order:2;overflow-y:auto;-webkit-overflow-scrolling:touch}._playerMain_13s1u_32{order:1;width:100%}._playerInfoHeader_13s1u_56{padding:0}}@media(max-width:768px){._playerPageLayout_13s1u_1{padding:1rem;gap:1.5rem}._episodeSidebar_13s1u_19{display:none}._playerMain_13s1u_32{gap:1.5rem}._videoPlayerWrapper_13s1u_40{border-radius:0}._playerInfoContainer_13s1u_74{border-radius:var(--radius-xl);padding:1.5rem}._playerInfoHeader_13s1u_56{flex-direction:row;align-items:flex-start;text-align:left;gap:1.5rem}._videoTitleSection_13s1u_114 h1{font-size:1.75rem}._playerAnimeCard_13s1u_62{width:100px}}@media(max-width:480px){._playerInfoHeader_13s1u_56{flex-direction:column;align-items:center;text-align:center}._playerAnimeCard_13s1u_62{width:120px}}@media(max-width:480px)and (orientation:portrait){._videoPlayerWrapper_13s1u_40{padding-top:100%;position:relative}}@media(min-width:481px)and (max-width:768px)and (orientation:portrait){._videoPlayerWrapper_13s1u_40{padding-top:75%;position:relative}}@media(max-width:900px)and (orientation:landscape){._playerPageLayout_13s1u_1{padding:0;gap:0}._videoPlayerWrapper_13s1u_40{border-radius:0;height:100vh;padding-top:0}._playerInfoContainer_13s1u_74{padding:1.5rem}}body.low-end ._playerPageLayout_13s1u_1,body.low-end ._episodeSidebar_13s1u_19,body.low-end ._playerInfoContainer_13s1u_74{animation:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;background:var(--bg-secondary)!important}body.low-end ._videoPlayerWrapper_13s1u_40{box-shadow:none!important;border-color:var(--border-primary)!important}body.low-end ._episodeSidebar_13s1u_19{background:var(--bg-secondary)!important}._theaterMode_13s1u_288{display:flex!important;justify-content:center!important;align-items:center!important;position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;min-height:100vh!important;max-width:none!important;padding:2.5rem!important;margin:0!important;background-color:var(--bg-main)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;animation:_fadeIn_13s1u_1 .4s var(--ease-smooth)!important;overflow:hidden!important;z-index:var(--z-overlay)!important}._theaterMode_13s1u_288 ._playerMain_13s1u_32{width:90%!important;max-width:1200px!important;height:auto!important;aspect-ratio:16/9!important;gap:0!important;margin:auto!important;padding:0!important;animation:_scaleUpIn_13s1u_1 .4s cubic-bezier(.25,1,.5,1)!important;position:relative!important;z-index:1!important}._theaterMode_13s1u_288 ._videoPlayerWrapper_13s1u_40{width:100%!important;height:100%!important;padding-top:0!important;border-radius:0!important;border-color:#ffffff26!important;box-shadow:0 20px 60px color-mix(in srgb,var(--accent) 15%,transparent),0 0 100px #000000e6!important;overflow:hidden!important;position:relative!important}@keyframes _scaleUpIn_13s1u_1{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}body.theater-mode header,body.theater-mode footer{display:none!important}body.theater-mode main{padding:0!important;max-width:none!important;margin:0!important;width:100vw!important;height:100vh!important}body.theater-mode{overflow:hidden!important;background:#000!important}@media(max-width:768px){._theaterMode_13s1u_288{padding:1rem!important}._theaterMode_13s1u_288 ._playerMain_13s1u_32{width:100%!important;max-width:none!important}}._centerControls_1oa5h_1{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(1);display:flex;align-items:center;gap:clamp(1rem,3cqw,2rem);z-index:10;pointer-events:auto;transition:transform .4s cubic-bezier(.2,.8,.2,1)}._centerSkipBtn_1oa5h_14,._centerPlayPause_1oa5h_15{display:flex;align-items:center;justify-content:center;padding:0;background:#0f0f112e;border:none;border-radius:50%;color:#ffffffe6;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .15s ease}._centerSkipBtn_1oa5h_14>svg,._centerPlayPause_1oa5h_15>svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.9)) drop-shadow(0 2px 4px rgba(0,0,0,.45))}._centerSkipBtn_1oa5h_14{width:clamp(3rem,6.5cqw,3.5rem);height:clamp(3rem,6.5cqw,3.5rem);font-size:clamp(1.4rem,2.8cqw,1.625rem)}._centerPlayPause_1oa5h_15{background:#0f0f113d;color:#fff;width:clamp(3.5rem,8cqw,4.75rem);height:clamp(3.5rem,8cqw,4.75rem);font-size:clamp(1.5rem,3.4cqw,1.875rem)}@media(hover:hover){._centerSkipBtn_1oa5h_14:hover:enabled{background:#0f0f1142;color:#fff}._centerPlayPause_1oa5h_15:hover:enabled{background:#0f0f1152}}._centerSkipBtn_1oa5h_14:active:enabled,._centerPlayPause_1oa5h_15:active:enabled{transform:scale(.96)}._centerSkipBtn_1oa5h_14:focus-visible,._centerPlayPause_1oa5h_15:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}._centerSkipBtn_1oa5h_14:disabled,._centerPlayPause_1oa5h_15:disabled{color:#ffffff73;cursor:default}@media(prefers-reduced-motion:reduce){._centerControls_1oa5h_1,._centerSkipBtn_1oa5h_14,._centerPlayPause_1oa5h_15{transition:none}._centerSkipBtn_1oa5h_14:active,._centerPlayPause_1oa5h_15:active{transform:none}}._statusArea_1xccu_1{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;background:var(--bg-secondary);border:1px solid var(--border-primary);padding:.75rem 1.25rem;border-radius:var(--radius-lg);margin-top:.5rem;margin-bottom:0;color:var(--text-secondary);box-shadow:var(--shadow-lg);width:fit-content;max-width:100%;-webkit-user-select:none;user-select:none;flex-wrap:wrap}._toggleBtn_1xccu_20{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;padding:.15rem .25rem;border-radius:var(--radius-sm);transition:color var(--transition-fast);pointer-events:auto}._toggleBtn_1xccu_20:hover{color:var(--text-primary)}._toggleBtn_1xccu_20 svg{color:var(--accent)}._shortcuts_1xccu_46{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;padding-top:.6rem;border-top:1px solid var(--border-primary);width:100%}._shortcutGroup_1xccu_56{display:flex;gap:1rem;align-items:center;flex-wrap:nowrap}._shortcut_1xccu_46{display:flex;align-items:center;gap:.3rem;white-space:nowrap}._key_1xccu_70{background:#ffffff14;padding:.15rem .4rem;border-radius:5px;border:1px solid rgba(255,255,255,.1);font-weight:800;color:var(--text-primary);font-size:.75rem;min-width:1.4rem;height:1.4rem;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);box-shadow:0 1.5px #0000004d}._key_1xccu_70+._key_1xccu_70{margin-left:-.15rem}._label_1xccu_91{color:var(--text-tertiary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}@media(max-width:768px){._statusArea_1xccu_1{display:none}}._episodeListContainer_9tyin_1{display:flex;flex-direction:column;height:100%;min-height:0;background:transparent}._drawerContainer_9tyin_9{height:auto;min-height:100%}._episodeListHeader_9tyin_14{background:transparent;padding:var(--space-6);border-bottom:1px solid var(--glass-border)}._drawerHeader_9tyin_20{position:sticky;top:0;z-index:5;background:#0c0c0ffa;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}._episodeListTitle_9tyin_29{margin:0 0 var(--space-5) 0;font-size:.85rem;font-weight:800;color:var(--text-tertiary);display:flex;align-items:center;gap:var(--space-3);letter-spacing:.1em;text-transform:uppercase}._rangeSelector_9tyin_41{display:flex;flex-wrap:wrap;gap:var(--space-2)}._rangeButton_9tyin_47{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:.8rem;font-weight:600;transition:all var(--transition-fast);cursor:pointer}._rangeButton_9tyin_47:hover{border-color:var(--text-secondary);color:var(--text-primary);background:#ffffff1a}._rangeButton_9tyin_47:focus-visible{outline:none;box-shadow:var(--shadow-focus)}._rangeButton_9tyin_47._active_9tyin_70{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}._episodeList_9tyin_1{flex:1;display:flex;flex-direction:column;padding:var(--space-4);overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}._drawerList_9tyin_89{overflow:visible;-webkit-overflow-scrolling:auto;touch-action:pan-y}._episodeList_9tyin_1::-webkit-scrollbar{width:6px}._episodeList_9tyin_1::-webkit-scrollbar-track{background:transparent}._episodeList_9tyin_1::-webkit-scrollbar-thumb{background:#ffffff24;background-clip:padding-box;border-radius:var(--radius-full);border:2px solid transparent}._episodeList_9tyin_1:hover::-webkit-scrollbar-thumb{background-color:#ffffff47}._episodeList_9tyin_1::-webkit-scrollbar-thumb:hover{background-color:var(--accent)}._episodeItem_9tyin_118{padding:var(--space-4) var(--space-5);margin-bottom:var(--space-2);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);color:var(--text-secondary);font-weight:600;display:flex;justify-content:space-between;align-items:center;font-size:.9rem;border:1px solid transparent}._episodeItem_9tyin_118:hover{background:#ffffff0d;color:var(--text-primary);transform:translate(6px);border-color:var(--glass-border)}._episodeItem_9tyin_118:focus-visible{outline:none;box-shadow:var(--shadow-focus)}._episodeItem_9tyin_118._watched_9tyin_145{color:var(--text-muted);opacity:.6}._episodeItem_9tyin_118._active_9tyin_70{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-light);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}._episodeItem_9tyin_118._active_9tyin_70:hover{transform:none;background:color-mix(in srgb,var(--accent) 15%,transparent)}._episodeItem_9tyin_118 span{display:flex;align-items:center;gap:var(--space-3)}._episodeThumb_9tyin_167{width:72px;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-md);flex-shrink:0;background:#ffffff0f}._episodeText_9tyin_176{flex-direction:column!important;align-items:flex-start!important;gap:2px!important;min-width:0;flex:1}._episodeLabel_9tyin_184{font-weight:700;color:inherit}._episodeSub_9tyin_189{font-size:.78rem;font-weight:500;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}._shell_cys6s_1{position:fixed;inset:0;z-index:var(--z-drawer);display:flex;align-items:flex-end;justify-content:center}._overlay_cys6s_10{position:absolute;inset:0;border:0;padding:0;background:#0000008f;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:_fadeIn_cys6s_1 .2s ease-out}._drawer_cys6s_21{position:relative;z-index:1;width:min(100vw,100%);max-height:86vh;background:#0c0c0ffa;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--glass-border);border-bottom:none;display:flex;flex-direction:column;overflow:hidden;animation:_slideUpIn_cys6s_1 .25s ease-out}@keyframes _fadeIn_cys6s_1{0%{opacity:0}to{opacity:1}}@keyframes _slideUpIn_cys6s_1{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}._handle_cys6s_56{width:52px;height:5px;border-radius:999px;background:#ffffff2e;margin:.7rem auto 0}._header_cys6s_64{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1rem .9rem;border-bottom:1px solid var(--glass-border)}._headerCopy_cys6s_73{display:flex;flex-direction:column;gap:.25rem}._kicker_cys6s_79{color:var(--text-tertiary);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}._title_cys6s_87{margin:0;font-size:1.1rem;font-weight:800;color:var(--text-primary)}._closeBtn_cys6s_94{width:38px;height:38px;border-radius:999px;border:1px solid var(--glass-border);background:#ffffff0d;color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}._closeBtn_cys6s_94:hover{background:#ffffff1a}._closeBtn_cys6s_94:focus-visible{outline:none;box-shadow:var(--shadow-focus)}._body_cys6s_116{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}._sourceSelectionContainer_1am19_1{display:flex;flex-direction:column;gap:1.5rem;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);padding:2rem;border-radius:var(--radius-xl);width:100%}._providerSelectContainer_1am19_14{display:flex;flex-direction:column;gap:1rem;width:100%}._providerSelect_1am19_14,._sourceSelect_1am19_1{height:44px;padding:0 1.25rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-size:.95rem;font-family:inherit;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2371717a' stroke-width='2' viewBox='0 0 12 12'%3E%3Cpolyline points='3 5 6 8 9 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.25rem center;transition:all var(--transition-fast);width:100%;max-width:400px}._providerSelect_1am19_14:hover,._sourceSelect_1am19_1:hover{border-color:var(--border-secondary);background-color:var(--bg-elevated)}._providerSelect_1am19_14:focus,._sourceSelect_1am19_1:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}._providerSelect_1am19_14 option,._sourceSelect_1am19_1 option{background:var(--bg-tertiary);color:var(--text-primary)}._sourceSelectionContainer_1am19_1 h4,._providerSelectContainer_1am19_14 h4{margin:0;color:var(--text-tertiary);font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em}._sourceButtons_1am19_70{display:flex;flex-wrap:wrap;gap:.75rem}._sourceButton_1am19_70{background:#ffffff0d;color:var(--text-secondary);border:1px solid var(--glass-border);padding:.75rem 1.5rem;border-radius:var(--radius-lg);cursor:pointer;font-size:.95rem;font-weight:600;transition:all var(--transition-normal)}._sourceButton_1am19_70:hover{background:#ffffff1a;border-color:var(--text-primary);color:var(--text-primary);transform:translateY(-2px)}._sourceButton_1am19_70._active_1am19_95{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}._theaterAmbient_x9t0o_1{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;transform:scale(1.15)!important;pointer-events:none!important;z-index:0!important}body.low-end ._theaterAmbient_x9t0o_1{display:none!important}._row_1fq55_1{display:flex;flex-direction:column;gap:.3rem;padding:.5rem .75rem .6rem;min-width:0}._rowHeader_1fq55_9{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;min-width:0}._rowLabel_1fq55_17{font-size:.68rem;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._rowValue_1fq55_28{font-size:.72rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}._slider_1fq55_36{width:100%;min-width:8rem;cursor:pointer;-webkit-appearance:none;appearance:none;background:transparent;height:1.375rem;margin:0;touch-action:pan-y}._slider_1fq55_36::-webkit-slider-runnable-track{width:100%;height:4px;background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--slider-percent, 0%),rgba(255,255,255,.25) var(--slider-percent, 0%),rgba(255,255,255,.25) 100%);border-radius:4px;border:none}._slider_1fq55_36::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background-color:#fff;border:2px solid var(--accent);border-radius:50%;cursor:pointer;margin-top:-4px;box-shadow:0 0 8px #00000080}._slider_1fq55_36::-moz-range-track{width:100%;height:4px;background:#ffffff40;border-radius:4px;border:none}._slider_1fq55_36::-moz-range-progress{height:4px;background:var(--accent);border-radius:4px}._slider_1fq55_36::-moz-range-thumb{width:10px;height:10px;background-color:#fff;border:2px solid var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 0 8px #00000080}._swatches_1fq55_99{display:flex;gap:.375rem;align-items:center}._swatch_1fq55_99{width:1.25rem;height:1.25rem;padding:0;border-radius:50%;cursor:pointer;flex:0 0 auto}._swatchPicked_1fq55_114{box-shadow:0 0 0 2px var(--panel-bg, #141416),0 0 0 3.5px var(--accent)}._colorInput_1fq55_120{width:1.75rem;height:1.25rem;padding:0;border:none;border-radius:.3rem;background:transparent;cursor:pointer;flex:0 0 auto}._segmented_1fq55_131{display:flex;gap:.25rem;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:.2rem}._segmented_1fq55_131 button{flex:1 1 0;min-width:0;background:transparent;border:none;border-radius:calc(var(--radius-sm) - 2px);color:var(--text-secondary);font-size:.72rem;font-weight:700;text-transform:capitalize;padding:.3rem .25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.3rem;white-space:nowrap}._segmented_1fq55_131 button:hover{color:var(--text-primary)}._segmented_1fq55_131 button[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent-light)}@media(pointer:coarse){._row_1fq55_1{gap:.4rem;padding:.6rem .85rem .7rem}._slider_1fq55_36{height:1.875rem}._slider_1fq55_36::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6px}._slider_1fq55_36::-moz-range-thumb{width:14px;height:14px}._swatch_1fq55_99{width:1.5rem;height:1.5rem}._segmented_1fq55_131 button{padding:.5rem .25rem;min-height:2.5rem}}