@serifpersia/dango 3.7.9 → 3.8.1

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 (65) hide show
  1. package/README.md +1 -1
  2. package/client/dist/assets/{AnimeCard-DWnU-rCc.js → AnimeCard-D9nRVw2O.js} +1 -1
  3. package/client/dist/assets/{AnimeInfo-Ck-fMvdY.js → AnimeInfo-DFaWXccH.js} +1 -1
  4. package/client/dist/assets/{AnimeInfoPage-_iM5y3E4.js → AnimeInfoPage-DdAmDngx.js} +2 -2
  5. package/client/dist/assets/{Asmr-CzqLNY2c.js → Asmr-CR7tgg-i.js} +1 -1
  6. package/client/dist/assets/{AsmrResetProgressModal-73jUOcAL.js → AsmrResetProgressModal-DKg0JAtz.js} +1 -1
  7. package/client/dist/assets/{Home--RCZI3_q.js → Home-CA8njtnj.js} +1 -1
  8. package/client/dist/assets/{Insights-B5oANHfN.js → Insights-DRwVoCbK.js} +1 -1
  9. package/client/dist/assets/{LibraryListPage-CV2FpbUe.js → LibraryListPage-o39P5Z1e.js} +1 -1
  10. package/client/dist/assets/{ListeningList-Bb7qLeQy.js → ListeningList-BOHUSWrP.js} +1 -1
  11. package/client/dist/assets/{Manga-RzxC02lH.js → Manga-B1wUUjnX.js} +1 -1
  12. package/client/dist/assets/{MangaInfoPage-DLANpxOs.js → MangaInfoPage-CjhOeVB7.js} +1 -1
  13. package/client/dist/assets/{MangaReadPage-DuMOiKID.js → MangaReadPage-CNIBLt4y.js} +1 -1
  14. package/client/dist/assets/{MangaResetProgressModal-Y2PuLQHz.js → MangaResetProgressModal-BcZuwZGV.js} +1 -1
  15. package/client/dist/assets/{Mature-DfO3sop8.js → Mature-riRXX3b6.js} +1 -1
  16. package/client/dist/assets/{MatureConsentModal-DiWSp3Of.js → MatureConsentModal-UaIQxjyb.js} +1 -1
  17. package/client/dist/assets/{MediaCard-ChUKs5Sb.js → MediaCard-gCn0mrX1.js} +1 -1
  18. package/client/dist/assets/{OptionListMenu-Cwb6MHoZ.js → OptionListMenu-lx42ItXH.js} +1 -1
  19. package/client/dist/assets/Player-wMuWckmw.js +56 -0
  20. package/client/dist/assets/PlayerProvider-HU614Yx3.js +1 -0
  21. package/client/dist/assets/PlayerProvider-ZeplRma-.css +1 -0
  22. package/client/dist/assets/{PlayerSettings-CxlbcdU4.js → PlayerSettings-CI1aLmPu.js} +1 -1
  23. package/client/dist/assets/{QueueOptionsButton-C6ArqpM5.js → QueueOptionsButton-DhLD1z9e.js} +1 -1
  24. package/client/dist/assets/{QueueRail-Derl5yzz.js → QueueRail-Be6pVYWN.js} +1 -1
  25. package/client/dist/assets/{ReadingList-BYbV0CvS.js → ReadingList-qMAlWX2e.js} +1 -1
  26. package/client/dist/assets/{ResetProgressModal-DtUE-wCy.js → ResetProgressModal-B_bS4cVJ.js} +1 -1
  27. package/client/dist/assets/{Search-CzTO0VVY.js → Search-BSX7Q3Ra.js} +1 -1
  28. package/client/dist/assets/{Settings-DKGEpLWL.js → Settings-B-LE4vM3.js} +1 -1
  29. package/client/dist/assets/{SkeletonGrid-BO0am1za.js → SkeletonGrid-BH33GvAW.js} +1 -1
  30. package/client/dist/assets/{Trackers-uUzceJl6.js → Trackers-lFax8dy0.js} +1 -1
  31. package/client/dist/assets/Tv-DXPnMGb7.js +4 -0
  32. package/client/dist/assets/{TvInfo-4DOit0hL.js → TvInfo-BI8xiFWp.js} +1 -1
  33. package/client/dist/assets/{TvPopup-DYYtMp7D.js → TvPopup-By5JenW3.js} +1 -1
  34. package/client/dist/assets/{TvSearch-C-IYU0V4.js → TvSearch-BebgoNua.js} +1 -1
  35. package/client/dist/assets/{TvWatchlist--kFfdVIF.js → TvWatchlist-BN8HI1-Y.js} +1 -1
  36. package/client/dist/assets/{VirtualKeyboard-BYc_6hb4.js → VirtualKeyboard-CZt4P_VM.js} +1 -1
  37. package/client/dist/assets/{WatchAlong-zZPGaH2D.js → WatchAlong-CZpH1Z5f.js} +1 -1
  38. package/client/dist/assets/WatchAlongPanel-BMq7R_pe.js +1 -0
  39. package/client/dist/assets/WatchAlongPanel-DWb8lSzW.css +1 -0
  40. package/client/dist/assets/{Watchlist-CX9qGh-b.js → Watchlist-BRscj0qq.js} +1 -1
  41. package/client/dist/assets/{index-DbRDs7tF.js → index-Nyp_7HqY.js} +2 -2
  42. package/client/dist/assets/{libraryInvalidation-cJ1WjrJq.js → libraryInvalidation-rvuk3e2Z.js} +1 -1
  43. package/client/dist/assets/{playbackCompletion-CnxK6_Vz.js → playbackCompletion-CxUTa1RU.js} +1 -1
  44. package/client/dist/assets/{useAnimeInfoData-YbePqj-M.js → useAnimeInfoData-Bj-9VSAf.js} +1 -1
  45. package/client/dist/assets/{useAsmr-DO5DUI_t.js → useAsmr-gsAVhvqA.js} +1 -1
  46. package/client/dist/assets/{useAsmrPopup-S_XfgKDh.js → useAsmrPopup-BNd3V-Rs.js} +1 -1
  47. package/client/dist/assets/{useMangaLibrary-B4ZJLZXD.js → useMangaLibrary-BRvcl5UH.js} +1 -1
  48. package/client/dist/assets/{useMangaPopup-B4ntcNg0.js → useMangaPopup-DeuuZC7a.js} +1 -1
  49. package/client/dist/assets/{useProviders-Bnw0sBAP.js → useProviders-BsyTv0Tl.js} +1 -1
  50. package/client/dist/assets/{useTv-gF7SJCl9.js → useTv-IgkCy7kA.js} +1 -1
  51. package/client/dist/assets/{useTvLibrary-DTWM3iOC.js → useTvLibrary-BlxUofsj.js} +1 -1
  52. package/client/dist/assets/{useWatchAlongPlayer-BMf_H2dw.css → useWatchAlongPlayer-1fbftVwT.css} +1 -1
  53. package/client/dist/assets/useWatchAlongPlayer-Bt9U4MaM.js +10 -0
  54. package/client/dist/index.html +1 -1
  55. package/package.json +2 -2
  56. package/server/dist/server.js +170 -170
  57. package/server/dist/shipped-defaults.js +1 -1
  58. package/server/package.json +1 -1
  59. package/client/dist/assets/Player-JA7rXoBD.js +0 -56
  60. package/client/dist/assets/PlayerProvider--aaVRFly.js +0 -1
  61. package/client/dist/assets/PlayerProvider-N2pT5gty.css +0 -1
  62. package/client/dist/assets/Tv-CuM6Jhjn.js +0 -4
  63. package/client/dist/assets/WatchAlongPanel-DbJuLqxU.css +0 -1
  64. package/client/dist/assets/WatchAlongPanel-DxC7pX1I.js +0 -1
  65. package/client/dist/assets/useWatchAlongPlayer-Do0c9QsI.js +0 -10
@@ -1 +1 @@
1
- import{q as r}from"./index-DbRDs7tF.js";const s={tv:{library:r.tvLibrary,continue:r.tvContinueWatching,progress:r.tvProgress},manga:{library:r.mangaLibrary,continue:r.mangaContinueReading,progress:r.mangaProgress},asmr:{library:r.asmrLibrary,continue:r.asmrContinueListening,progress:r.asmrProgress}};function t(a,e,n=!1){const i=s[e];n&&a.invalidateQueries({queryKey:[i.progress]}),a.invalidateQueries({queryKey:[i.library]}),a.invalidateQueries({queryKey:[i.continue]})}export{t as i};
1
+ import{q as r}from"./index-Nyp_7HqY.js";const s={tv:{library:r.tvLibrary,continue:r.tvContinueWatching,progress:r.tvProgress},manga:{library:r.mangaLibrary,continue:r.mangaContinueReading,progress:r.mangaProgress},asmr:{library:r.asmrLibrary,continue:r.asmrContinueListening,progress:r.asmrProgress}};function t(a,e,n=!1){const i=s[e];n&&a.invalidateQueries({queryKey:[i.progress]}),a.invalidateQueries({queryKey:[i.library]}),a.invalidateQueries({queryKey:[i.continue]})}export{t as i};
@@ -1 +1 @@
1
- import{p as e}from"./index-DbRDs7tF.js";const o=.8,r=5,a="autoplayEnabled",E=(s,t)=>t>0&&s>=t*o,c=.25,l=(s,t)=>t>0&&Number.isFinite(t)&&s>=t-c,p=s=>s>r,m=()=>{try{return e.getItem(a)==="true"}catch{return!1}},b=s=>{try{e.setItem(a,String(s))}catch{}};export{o as C,l as a,p as h,E as i,m as l,b as s};
1
+ import{p as e}from"./index-Nyp_7HqY.js";const o=.8,r=5,a="autoplayEnabled",E=(s,t)=>t>0&&s>=t*o,c=.25,l=(s,t)=>t>0&&Number.isFinite(t)&&s>=t-c,p=s=>s>r,m=()=>{try{return e.getItem(a)==="true"}catch{return!1}},b=s=>{try{e.setItem(a,String(s))}catch{}};export{o as C,l as a,p as h,E as i,m as l,b as s};
@@ -1 +1 @@
1
- import{q as g}from"./vendor-core-DfaOB3Rn.js";import{u as p,b as q,a as M}from"./vendor-query-BBT5_sHx.js";import{l as v,F as h,q as Q,t as y}from"./index-DbRDs7tF.js";import{u as A}from"./QueueOptionsButton-C6ArqpM5.js";function k(t){const s=p(),c=v(),{data:i,isLoading:w,error:u}=A(t),n=c.watchlist.check.queryOptions({showId:t??""}).queryKey,{data:d}=q({...c.watchlist.check.queryOptions({showId:t??""}),enabled:!!t}),r=d?.inWatchlist??!1,{mutateAsync:l}=M({mutationFn:async({wasIn:e,meta:a})=>{if(!t)throw new Error("Missing showId");if(e)await y.watchlist.remove.mutate({id:t});else{const o=a?.names,m=a?.name||o?.romaji;if(!m)throw new Error("Missing show name");await y.watchlist.add.mutate({id:t,name:m,thumbnail:a?.thumbnail,nativeName:o?.native,englishName:o?.english,type:a?.type,isAdult:a?.isAdult})}return!e},onMutate:async({wasIn:e})=>{await s.cancelQueries({queryKey:n}),s.setQueryData(n,a=>({...a,inWatchlist:!e,status:a?.status??""}))},onError:e=>{s.invalidateQueries({queryKey:n}),h.error(e instanceof Error?e.message:"Failed to update watchlist")},onSuccess:e=>{h.success(e?"Added to watchlist":"Removed from watchlist"),s.invalidateQueries({queryKey:[Q.watchlist]})}}),f=g(async()=>{!t||!i||await l({wasIn:r,meta:i})},[t,i,r,l]);return{showMeta:i,inWatchlist:r,loadingMeta:w,error:u?u.message:null,toggleWatchlist:f}}export{k as u};
1
+ import{q as g}from"./vendor-core-DfaOB3Rn.js";import{u as p,b as q,a as M}from"./vendor-query-BBT5_sHx.js";import{l as v,F as h,q as Q,t as y}from"./index-Nyp_7HqY.js";import{u as A}from"./QueueOptionsButton-DhLD1z9e.js";function k(t){const s=p(),c=v(),{data:i,isLoading:w,error:u}=A(t),n=c.watchlist.check.queryOptions({showId:t??""}).queryKey,{data:d}=q({...c.watchlist.check.queryOptions({showId:t??""}),enabled:!!t}),r=d?.inWatchlist??!1,{mutateAsync:l}=M({mutationFn:async({wasIn:e,meta:a})=>{if(!t)throw new Error("Missing showId");if(e)await y.watchlist.remove.mutate({id:t});else{const o=a?.names,m=a?.name||o?.romaji;if(!m)throw new Error("Missing show name");await y.watchlist.add.mutate({id:t,name:m,thumbnail:a?.thumbnail,nativeName:o?.native,englishName:o?.english,type:a?.type,isAdult:a?.isAdult})}return!e},onMutate:async({wasIn:e})=>{await s.cancelQueries({queryKey:n}),s.setQueryData(n,a=>({...a,inWatchlist:!e,status:a?.status??""}))},onError:e=>{s.invalidateQueries({queryKey:n}),h.error(e instanceof Error?e.message:"Failed to update watchlist")},onSuccess:e=>{h.success(e?"Added to watchlist":"Removed from watchlist"),s.invalidateQueries({queryKey:[Q.watchlist]})}}),f=g(async()=>{!t||!i||await l({wasIn:r,meta:i})},[t,i,r,l]);return{showMeta:i,inWatchlist:r,loadingMeta:w,error:u?u.message:null,toggleWatchlist:f}}export{k as u};
@@ -1 +1 @@
1
- import{T as C}from"./vendor-core-DfaOB3Rn.js";import{b as p,u as d,a as l,e as Q}from"./vendor-query-BBT5_sHx.js";import{l as n,F as a,q as v,t as b}from"./index-DbRDs7tF.js";import{i as g}from"./libraryInvalidation-cJ1WjrJq.js";function k(s){return String(s||"").trim().toUpperCase()}function H(s){return k(s.id||s._id||"")}function K(s){return!!s.isAdult}const U=["Listening","Completed","On-Hold","Dropped","Planned"],T=s=>k(s),x=(s="All",r=1,e=24)=>{const t=n();return p(t.asmrLibrary.list.queryOptions({status:s,page:r,limit:e}))},_=()=>{const s=n();return p({...s.asmrLibrary.ids.queryOptions(),staleTime:1e3*60})},W=s=>{const r=n();return p({...r.asmrLibrary.check.queryOptions({id:s||""}),enabled:!!s,staleTime:1e3*60})},j=(s=24)=>{const r=n();return p(r.asmrProgress.continueListening.queryOptions({limit:s}))},z=s=>{const r=n();return p({...r.asmrProgress.getByWork.queryOptions({workId:s||""}),enabled:!!s})},B=()=>{const s=n(),r=d();return l({mutationFn:async e=>{const{silent:t,...m}=e;return b.asmrLibrary.add.mutate(m)},onSuccess:(e,t)=>{t.silent||a.success("Added to listening list"),r.invalidateQueries({queryKey:[v.asmrLibrary]}),r.invalidateQueries(s.asmrLibrary.pathFilter())},onError:e=>{a.error(`Failed to add: ${e.message}`)}})},R=()=>{const s=n(),r=d();return l(s.asmrLibrary.remove.mutationOptions({onSuccess:()=>{a.success("Removed from listening list"),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to remove: ${e.message}`)}}))},Y=()=>{const s=n(),r=d();return l(s.asmrLibrary.setStatus.mutationOptions({onSuccess:()=>{a.success("Status updated"),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to update status: ${e.message}`)}}))},J=()=>{const s=n(),r=d();return l(s.asmrProgress.save.mutationOptions({onSuccess:()=>{g(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())}}))},V=()=>{const s=n(),r=d();return l(s.asmrProgress.remove.mutationOptions({onSuccess:()=>{a.success("Progress reset"),g(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to reset progress: ${e.message}`)}}))},X=()=>{const s=n(),r=d();return l(s.asmrLibrary.batchStatus.mutationOptions({onSuccess:e=>{a.success(`Status updated for ${e.updated??0} items`),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to update statuses: ${e.message}`)}}))},Z=()=>{const s=n(),r=d();return l(s.asmrLibrary.removeMany.mutationOptions({onSuccess:e=>{const t=e.removed??0;a.success(`Removed ${t} ${t===1?"item":"items"} from listening list`),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to remove: ${e.message}`)}}))},ss=()=>{const s=n(),r=d();return l(s.asmrProgress.removeMany.mutationOptions({onSuccess:e=>{const t=e.removed??0;a.success(`Reset progress for ${t} ${t===1?"item":"items"}`),g(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to reset progress: ${e.message}`)}}))},rs=()=>{const s=B(),r=R(),{data:e}=_(),t=C(()=>new Set(e?.ids||[]),[e]);return{toggle:o=>{const i=T(o.rjCode);t.has(i)?r.mutate({id:i}):s.mutate({...o,thumbnail:o.thumbnail||""})},bookmarkedIds:t,pending:s.isPending||r.isPending}},f=300*1e3,F=15,es=(s,r,e,t)=>{const m=r+1,o=Q({queries:Array.from({length:m},(u,E)=>{const P=E+1;return{queryKey:[v.asmrBrowse,s,P,e,t],queryFn:()=>{const O=s.trim();return b.asmr.browse.query({q:O||void 0,page:P,sort:e&&e!=="latest"?e:void 0,rating:t||void 0})},staleTime:f}})}),i=o.flatMap(u=>u.data?.shows??[]),L=i.slice((r-1)*F,r*F),y=o[o.length-1]?.data,A=!!(y&&(y.hasNext||i.length>r*F)),S=o.some(u=>u.isLoading),c=o.some(u=>u.isFetching),q=o.some(u=>u.isError);return{data:{shows:L,hasNext:A},isLoading:S,isError:q,isFetching:c}},ts=s=>{const r=n(),e=p({...r.asmr.work.queryOptions({rj:s}),enabled:!!s,staleTime:f,refetchOnMount:"always"});return{...e,data:e.data}},$=15,h=6;function I(s){if(s.isAdult||!s.thumbnail)return!1;const r=(s.rating||"").toLowerCase();return r===""||r==="sfw"}function w(s,r){const e=new Set,t=[];for(const m of s)for(const o of m){if(t.length>=r)return t;const i=o.id||o._id;!i||e.has(i)||(e.add(i),I(o)&&t.push(o))}return t}const os=(s=!0)=>{const r=Q({queries:Array.from({length:$},(c,q)=>{const u=q+1;return{queryKey:[v.asmrBrowse,"",u,"popular_month",""],queryFn:()=>b.asmr.browse.query({page:u,sort:"popular_month"}),staleTime:f,enabled:s,retry:1}})}),e=r.map(c=>c.data?.shows??[]),t=w(e,h),m=r.every(c=>c.isFetched),o=s&&m&&t.length<h,i=p({queryKey:[v.asmrBrowse,"",1,"popular","sfw"],queryFn:()=>b.asmr.browse.query({page:1,sort:"popular",rating:"sfw"}),staleTime:f,enabled:o,retry:1}),L=i.data?.shows??[],y=t.length>=h?t.slice(0,h):w([t,L],h),A=s&&(r.some(c=>c.isLoading)||o&&i.isLoading),S=s&&m&&y.length===0&&r.some(c=>c.isError);return{data:y,isLoading:A,isError:S}};export{U as A,H as a,os as b,ts as c,W as d,rs as e,z as f,k as g,J as h,B as i,es as j,T as k,K as l,x as m,R as n,Y as o,X as p,Z as q,ss as r,V as s,j as u};
1
+ import{T as C}from"./vendor-core-DfaOB3Rn.js";import{b as p,u as d,a as l,e as Q}from"./vendor-query-BBT5_sHx.js";import{l as n,F as a,q as v,t as b}from"./index-Nyp_7HqY.js";import{i as g}from"./libraryInvalidation-rvuk3e2Z.js";function k(s){return String(s||"").trim().toUpperCase()}function H(s){return k(s.id||s._id||"")}function K(s){return!!s.isAdult}const U=["Listening","Completed","On-Hold","Dropped","Planned"],T=s=>k(s),x=(s="All",r=1,e=24)=>{const t=n();return p(t.asmrLibrary.list.queryOptions({status:s,page:r,limit:e}))},_=()=>{const s=n();return p({...s.asmrLibrary.ids.queryOptions(),staleTime:1e3*60})},W=s=>{const r=n();return p({...r.asmrLibrary.check.queryOptions({id:s||""}),enabled:!!s,staleTime:1e3*60})},j=(s=24)=>{const r=n();return p(r.asmrProgress.continueListening.queryOptions({limit:s}))},z=s=>{const r=n();return p({...r.asmrProgress.getByWork.queryOptions({workId:s||""}),enabled:!!s})},B=()=>{const s=n(),r=d();return l({mutationFn:async e=>{const{silent:t,...m}=e;return b.asmrLibrary.add.mutate(m)},onSuccess:(e,t)=>{t.silent||a.success("Added to listening list"),r.invalidateQueries({queryKey:[v.asmrLibrary]}),r.invalidateQueries(s.asmrLibrary.pathFilter())},onError:e=>{a.error(`Failed to add: ${e.message}`)}})},R=()=>{const s=n(),r=d();return l(s.asmrLibrary.remove.mutationOptions({onSuccess:()=>{a.success("Removed from listening list"),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to remove: ${e.message}`)}}))},Y=()=>{const s=n(),r=d();return l(s.asmrLibrary.setStatus.mutationOptions({onSuccess:()=>{a.success("Status updated"),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to update status: ${e.message}`)}}))},J=()=>{const s=n(),r=d();return l(s.asmrProgress.save.mutationOptions({onSuccess:()=>{g(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())}}))},V=()=>{const s=n(),r=d();return l(s.asmrProgress.remove.mutationOptions({onSuccess:()=>{a.success("Progress reset"),g(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to reset progress: ${e.message}`)}}))},X=()=>{const s=n(),r=d();return l(s.asmrLibrary.batchStatus.mutationOptions({onSuccess:e=>{a.success(`Status updated for ${e.updated??0} items`),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to update statuses: ${e.message}`)}}))},Z=()=>{const s=n(),r=d();return l(s.asmrLibrary.removeMany.mutationOptions({onSuccess:e=>{const t=e.removed??0;a.success(`Removed ${t} ${t===1?"item":"items"} from listening list`),g(r,"asmr"),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to remove: ${e.message}`)}}))},ss=()=>{const s=n(),r=d();return l(s.asmrProgress.removeMany.mutationOptions({onSuccess:e=>{const t=e.removed??0;a.success(`Reset progress for ${t} ${t===1?"item":"items"}`),g(r,"asmr",!0),r.invalidateQueries(s.asmrLibrary.pathFilter()),r.invalidateQueries(s.asmrProgress.pathFilter())},onError:e=>{a.error(`Failed to reset progress: ${e.message}`)}}))},rs=()=>{const s=B(),r=R(),{data:e}=_(),t=C(()=>new Set(e?.ids||[]),[e]);return{toggle:o=>{const i=T(o.rjCode);t.has(i)?r.mutate({id:i}):s.mutate({...o,thumbnail:o.thumbnail||""})},bookmarkedIds:t,pending:s.isPending||r.isPending}},f=300*1e3,F=15,es=(s,r,e,t)=>{const m=r+1,o=Q({queries:Array.from({length:m},(u,E)=>{const P=E+1;return{queryKey:[v.asmrBrowse,s,P,e,t],queryFn:()=>{const O=s.trim();return b.asmr.browse.query({q:O||void 0,page:P,sort:e&&e!=="latest"?e:void 0,rating:t||void 0})},staleTime:f}})}),i=o.flatMap(u=>u.data?.shows??[]),L=i.slice((r-1)*F,r*F),y=o[o.length-1]?.data,A=!!(y&&(y.hasNext||i.length>r*F)),S=o.some(u=>u.isLoading),c=o.some(u=>u.isFetching),q=o.some(u=>u.isError);return{data:{shows:L,hasNext:A},isLoading:S,isError:q,isFetching:c}},ts=s=>{const r=n(),e=p({...r.asmr.work.queryOptions({rj:s}),enabled:!!s,staleTime:f,refetchOnMount:"always"});return{...e,data:e.data}},$=15,h=6;function I(s){if(s.isAdult||!s.thumbnail)return!1;const r=(s.rating||"").toLowerCase();return r===""||r==="sfw"}function w(s,r){const e=new Set,t=[];for(const m of s)for(const o of m){if(t.length>=r)return t;const i=o.id||o._id;!i||e.has(i)||(e.add(i),I(o)&&t.push(o))}return t}const os=(s=!0)=>{const r=Q({queries:Array.from({length:$},(c,q)=>{const u=q+1;return{queryKey:[v.asmrBrowse,"",u,"popular_month",""],queryFn:()=>b.asmr.browse.query({page:u,sort:"popular_month"}),staleTime:f,enabled:s,retry:1}})}),e=r.map(c=>c.data?.shows??[]),t=w(e,h),m=r.every(c=>c.isFetched),o=s&&m&&t.length<h,i=p({queryKey:[v.asmrBrowse,"",1,"popular","sfw"],queryFn:()=>b.asmr.browse.query({page:1,sort:"popular",rating:"sfw"}),staleTime:f,enabled:o,retry:1}),L=i.data?.shows??[],y=t.length>=h?t.slice(0,h):w([t,L],h),A=s&&(r.some(c=>c.isLoading)||o&&i.isLoading),S=s&&m&&y.length===0&&r.some(c=>c.isError);return{data:y,isLoading:A,isError:S}};export{U as A,H as a,os as b,ts as c,W as d,rs as e,z as f,k as g,J as h,B as i,es as j,T as k,K as l,x as m,R as n,Y as o,X as p,Z as q,ss as r,V as s,j as u};
@@ -1 +1 @@
1
- import{u as b}from"./vendor-core-DfaOB3Rn.js";import{c as k}from"./useAsmr-DO5DUI_t.js";import{a as g}from"./MediaCard-ChUKs5Sb.js";import{u as d}from"./usePopup-DS9jMzp6.js";const y=({data:o,anchorRect:n,bookmarked:a,onToggleBookmark:l,onMouseEnter:p,onMouseLeave:c,onRequestClose:u})=>{const{data:r,isLoading:m}=k(o.rjCode||null),e=r?.tracks.length??0,i=e>0,t=!m,s=[{icon:"headphones",label:t?i?`${e} track${e===1?"":"s"}`:"No tracks":"Loading tracks…"}];return o.rating&&s.push({label:o.rating.toUpperCase()}),o.isAdult&&s.push({label:"18+"}),o.progressLabel&&s.push({icon:"bookmark",label:o.progressLabel}),b(g,{anchorRect:n,title:o.title,subtitle:o.rjCode,cover:o.thumbnail,meta:s,synopsis:!t&&!r?.description?"Loading description…":r?.description??"No description available.",primaryAction:{to:o.listenTarget,label:i?"Listen now":t?"No tracks":"Loading…",icon:"play",disabled:!i},secondaryAction:{to:o.listenTarget,label:"Details"},bookmarked:a,bookmarkLabel:"Bookmark",onToggleBookmark:l,onMouseEnter:p,onMouseLeave:c,onRequestClose:u})},C=()=>d();export{y as A,C as u};
1
+ import{u as b}from"./vendor-core-DfaOB3Rn.js";import{c as k}from"./useAsmr-gsAVhvqA.js";import{a as g}from"./MediaCard-gCn0mrX1.js";import{u as d}from"./usePopup-DS9jMzp6.js";const y=({data:o,anchorRect:n,bookmarked:a,onToggleBookmark:l,onMouseEnter:p,onMouseLeave:c,onRequestClose:u})=>{const{data:r,isLoading:m}=k(o.rjCode||null),e=r?.tracks.length??0,i=e>0,t=!m,s=[{icon:"headphones",label:t?i?`${e} track${e===1?"":"s"}`:"No tracks":"Loading tracks…"}];return o.rating&&s.push({label:o.rating.toUpperCase()}),o.isAdult&&s.push({label:"18+"}),o.progressLabel&&s.push({icon:"bookmark",label:o.progressLabel}),b(g,{anchorRect:n,title:o.title,subtitle:o.rjCode,cover:o.thumbnail,meta:s,synopsis:!t&&!r?.description?"Loading description…":r?.description??"No description available.",primaryAction:{to:o.listenTarget,label:i?"Listen now":t?"No tracks":"Loading…",icon:"play",disabled:!i},secondaryAction:{to:o.listenTarget,label:"Details"},bookmarked:a,bookmarkLabel:"Bookmark",onToggleBookmark:l,onMouseEnter:p,onMouseLeave:c,onRequestClose:u})},C=()=>d();export{y as A,C as u};
@@ -1 +1 @@
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-DbRDs7tF.js";import{T as L}from"./vendor-core-DfaOB3Rn.js";import{i as l}from"./libraryInvalidation-cJ1WjrJq.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
+ 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-Nyp_7HqY.js";import{T as L}from"./vendor-core-DfaOB3Rn.js";import{i as l}from"./libraryInvalidation-rvuk3e2Z.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 +1 @@
1
- import{u as k}from"./vendor-core-DfaOB3Rn.js";import{k as T,r as d}from"./useMangaLibrary-B4ZJLZXD.js";import{d as y}from"./index-DbRDs7tF.js";import{a as h}from"./MediaCard-ChUKs5Sb.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
+ import{u as k}from"./vendor-core-DfaOB3Rn.js";import{k as T,r as d}from"./useMangaLibrary-BRvcl5UH.js";import{d as y}from"./index-Nyp_7HqY.js";import{a as h}from"./MediaCard-gCn0mrX1.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 +1 @@
1
- import{T as o}from"./vendor-core-DfaOB3Rn.js";import{b as a}from"./vendor-query-BBT5_sHx.js";import{q as i,O as n}from"./index-DbRDs7tF.js";const l=300*1e3,c=()=>{const e=a({queryKey:[i.providers],queryFn:()=>n("/api/providers"),staleTime:l,retry:1}),r=Array.isArray(e.data)?e.data:null,s=o(()=>r&&r.length>0?r.filter(t=>t.loaded):[],[r]);return{...e,options:s,isFallback:!r||r.length===0}};export{c as u};
1
+ import{T as o}from"./vendor-core-DfaOB3Rn.js";import{b as a}from"./vendor-query-BBT5_sHx.js";import{q as i,O as n}from"./index-Nyp_7HqY.js";const l=300*1e3,c=()=>{const e=a({queryKey:[i.providers],queryFn:()=>n("/api/providers"),staleTime:l,retry:1}),r=Array.isArray(e.data)?e.data:null,s=o(()=>r&&r.length>0?r.filter(t=>t.loaded):[],[r]);return{...e,options:s,isFallback:!r||r.length===0}};export{c as u};
@@ -1 +1 @@
1
- import{N as c,u as o,S as d}from"./vendor-core-DfaOB3Rn.js";import{I as v}from"./vendor-icons-DrybRNxP.js";import{M as T}from"./MediaCard-ChUKs5Sb.js";import{T as g}from"./TvPopup-DYYtMp7D.js";import{j as m,i as f,l as i}from"./index-DbRDs7tF.js";import{b as u}from"./vendor-query-BBT5_sHx.js";const P=c(({item:e})=>{const a=e.type==="tv"||e.type==="tvSeries"||e.type==="tvMiniSeries",s=m(e.type,e.id);return o(T,{item:{id:String(e.id),title:e.title,thumbnail:e.image,typeBadge:a?"TV":"Movie",isAdult:f(e)},linkTo:s,hoverIcon:"info",showInfoButton:!0,metaRow:o(d,{children:[e.year&&o("span",{style:{opacity:.75},children:e.year}),e.vote_average!=null&&o("span",{style:{display:"inline-flex",alignItems:"center",gap:3},children:[o(v,{name:"star",size:10}),Number(e.vote_average).toFixed(1)]})]}),renderPopup:(n,t)=>o(g,{item:e,anchorRect:n,onMouseEnter:t.onMouseEnter,onMouseLeave:t.onMouseLeave,onRequestClose:t.close})})}),p=1e3*60*5,_=e=>{const a=i(),{query:s,type:n,genre:t,year:r,sort_by:l,page:y}=e;return u({...a.tv.search.queryOptions({q:s?.trim()||"",type:n||"multi",genre:t||"",year:r&&r!=="ALL"?r:"",sortBy:l||"popularity.desc",page:y||1}),staleTime:p,retry:1})},b=(e="all",a="week",s=1,n=!0)=>{const t=i(),r=u({...t.tv.trending.queryOptions({mediaType:e,timeWindow:a,page:s}),enabled:n,staleTime:p,retry:1});return{...r,data:r.data}};export{P as T,_ as a,b as u};
1
+ import{N as c,u as o,S as d}from"./vendor-core-DfaOB3Rn.js";import{I as v}from"./vendor-icons-DrybRNxP.js";import{M as T}from"./MediaCard-gCn0mrX1.js";import{T as g}from"./TvPopup-By5JenW3.js";import{j as m,i as f,l as i}from"./index-Nyp_7HqY.js";import{b as u}from"./vendor-query-BBT5_sHx.js";const P=c(({item:e})=>{const a=e.type==="tv"||e.type==="tvSeries"||e.type==="tvMiniSeries",s=m(e.type,e.id);return o(T,{item:{id:String(e.id),title:e.title,thumbnail:e.image,typeBadge:a?"TV":"Movie",isAdult:f(e)},linkTo:s,hoverIcon:"info",showInfoButton:!0,metaRow:o(d,{children:[e.year&&o("span",{style:{opacity:.75},children:e.year}),e.vote_average!=null&&o("span",{style:{display:"inline-flex",alignItems:"center",gap:3},children:[o(v,{name:"star",size:10}),Number(e.vote_average).toFixed(1)]})]}),renderPopup:(n,t)=>o(g,{item:e,anchorRect:n,onMouseEnter:t.onMouseEnter,onMouseLeave:t.onMouseLeave,onRequestClose:t.close})})}),p=1e3*60*5,_=e=>{const a=i(),{query:s,type:n,genre:t,year:r,sort_by:l,page:y}=e;return u({...a.tv.search.queryOptions({q:s?.trim()||"",type:n||"multi",genre:t||"",year:r&&r!=="ALL"?r:"",sortBy:l||"popularity.desc",page:y||1}),staleTime:p,retry:1})},b=(e="all",a="week",s=1,n=!0)=>{const t=i(),r=u({...t.tv.trending.queryOptions({mediaType:e,timeWindow:a,page:s}),enabled:n,staleTime:p,retry:1});return{...r,data:r.data}};export{P as T,_ as a,b as u};
@@ -1 +1 @@
1
- import{T as p}from"./vendor-core-DfaOB3Rn.js";import{b as c,u as i,a as n}from"./vendor-query-BBT5_sHx.js";import{l as a,F as o,q as m,t as y,a9 as g}from"./index-DbRDs7tF.js";import{i as u}from"./libraryInvalidation-cJ1WjrJq.js";const q=["Watching","Completed","On-Hold","Dropped","Planned"],b=(t,e)=>g(t,e),C=(t="All",e=1,r=24)=>{const s=a();return c(s.tvLibrary.list.queryOptions({status:t,page:e,limit:r}))},T=()=>{const t=a();return c({...t.tvLibrary.ids.queryOptions(),staleTime:1e3*60})},O=t=>{const e=a();return c({...e.tvLibrary.check.queryOptions({id:t||""}),enabled:!!t,staleTime:1e3*60})},k=(t=24)=>{const e=a();return c(e.tvProgress.continueWatching.queryOptions({limit:t}))},$=t=>{const e=a();return c({...e.tvProgress.getByMedia.queryOptions({mediaId:t||""}),enabled:!!t})},f=(t,e,r)=>{const s=a();return c({...s.tvProgress.latest.queryOptions({mediaId:t||"",season:e,episode:r}),enabled:!!t,staleTime:0})},h=()=>{const t=a(),e=i();return n({mutationFn:async r=>{const{silent:s,...d}=r;return y.tvLibrary.add.mutate(d)},onSuccess:(r,s)=>{s.silent||o.success("Added to TV watchlist"),e.invalidateQueries({queryKey:[m.tvLibrary]}),e.invalidateQueries(t.tvLibrary.pathFilter())},onError:r=>{o.error(`Failed to add: ${r.message}`)}})},F=()=>{const t=a(),e=i();return n(t.tvLibrary.remove.mutationOptions({onSuccess:()=>{o.success("Removed from TV watchlist"),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to remove: ${r.message}`)}}))},R=()=>{const t=a(),e=i();return n(t.tvLibrary.setStatus.mutationOptions({onSuccess:()=>{o.success("Status updated"),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to update status: ${r.message}`)}}))},B=()=>{const t=a(),e=i();return n(t.tvProgress.save.mutationOptions({onSuccess:()=>{u(e,"tv",!0),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())}}))},E=()=>{const t=a(),e=i();return n(t.tvProgress.remove.mutationOptions({onSuccess:()=>{o.success("Progress reset"),u(e,"tv",!0),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to reset progress: ${r.message}`)}}))},I=()=>{const t=a(),e=i();return n(t.tvLibrary.batchStatus.mutationOptions({onSuccess:r=>{o.success(`Status updated for ${r.updated??0} items`),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to update statuses: ${r.message}`)}}))},A=()=>{const t=a(),e=i();return n(t.tvLibrary.removeMany.mutationOptions({onSuccess:r=>{const s=r.removed??0;o.success(`Removed ${s} ${s===1?"item":"items"} from TV watchlist`),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to remove: ${r.message}`)}}))},w=()=>{const t=a(),e=i();return n(t.tvProgress.removeMany.mutationOptions({onSuccess:r=>{const s=r.removed??0;o.success(`Reset progress for ${s} ${s===1?"item":"items"}`),u(e,"tv",!0),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to reset progress: ${r.message}`)}}))},M=()=>{const t=h(),e=F(),{data:r}=T(),s=p(()=>new Set(r?.ids||[]),[r]);return{toggle:v=>{const l=b(v.mediaType,v.tmdbId);s.has(l)?e.mutate(l):t.mutate({...v,poster:v.poster||""})},bookmarkedIds:s,pending:t.isPending||e.isPending}};export{q as T,F as a,E as b,O as c,M as d,B as e,R as f,h as g,f as h,$ as i,C as j,I as k,A as l,w as m,k as u};
1
+ import{T as p}from"./vendor-core-DfaOB3Rn.js";import{b as c,u as i,a as n}from"./vendor-query-BBT5_sHx.js";import{l as a,F as o,q as m,t as y,a9 as g}from"./index-Nyp_7HqY.js";import{i as u}from"./libraryInvalidation-rvuk3e2Z.js";const q=["Watching","Completed","On-Hold","Dropped","Planned"],b=(t,e)=>g(t,e),C=(t="All",e=1,r=24)=>{const s=a();return c(s.tvLibrary.list.queryOptions({status:t,page:e,limit:r}))},T=()=>{const t=a();return c({...t.tvLibrary.ids.queryOptions(),staleTime:1e3*60})},O=t=>{const e=a();return c({...e.tvLibrary.check.queryOptions({id:t||""}),enabled:!!t,staleTime:1e3*60})},k=(t=24)=>{const e=a();return c(e.tvProgress.continueWatching.queryOptions({limit:t}))},$=t=>{const e=a();return c({...e.tvProgress.getByMedia.queryOptions({mediaId:t||""}),enabled:!!t})},f=(t,e,r)=>{const s=a();return c({...s.tvProgress.latest.queryOptions({mediaId:t||"",season:e,episode:r}),enabled:!!t,staleTime:0})},h=()=>{const t=a(),e=i();return n({mutationFn:async r=>{const{silent:s,...d}=r;return y.tvLibrary.add.mutate(d)},onSuccess:(r,s)=>{s.silent||o.success("Added to TV watchlist"),e.invalidateQueries({queryKey:[m.tvLibrary]}),e.invalidateQueries(t.tvLibrary.pathFilter())},onError:r=>{o.error(`Failed to add: ${r.message}`)}})},F=()=>{const t=a(),e=i();return n(t.tvLibrary.remove.mutationOptions({onSuccess:()=>{o.success("Removed from TV watchlist"),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to remove: ${r.message}`)}}))},R=()=>{const t=a(),e=i();return n(t.tvLibrary.setStatus.mutationOptions({onSuccess:()=>{o.success("Status updated"),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to update status: ${r.message}`)}}))},B=()=>{const t=a(),e=i();return n(t.tvProgress.save.mutationOptions({onSuccess:()=>{u(e,"tv",!0),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())}}))},E=()=>{const t=a(),e=i();return n(t.tvProgress.remove.mutationOptions({onSuccess:()=>{o.success("Progress reset"),u(e,"tv",!0),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to reset progress: ${r.message}`)}}))},I=()=>{const t=a(),e=i();return n(t.tvLibrary.batchStatus.mutationOptions({onSuccess:r=>{o.success(`Status updated for ${r.updated??0} items`),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to update statuses: ${r.message}`)}}))},A=()=>{const t=a(),e=i();return n(t.tvLibrary.removeMany.mutationOptions({onSuccess:r=>{const s=r.removed??0;o.success(`Removed ${s} ${s===1?"item":"items"} from TV watchlist`),u(e,"tv"),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to remove: ${r.message}`)}}))},w=()=>{const t=a(),e=i();return n(t.tvProgress.removeMany.mutationOptions({onSuccess:r=>{const s=r.removed??0;o.success(`Reset progress for ${s} ${s===1?"item":"items"}`),u(e,"tv",!0),e.invalidateQueries(t.tvLibrary.pathFilter()),e.invalidateQueries(t.tvProgress.pathFilter())},onError:r=>{o.error(`Failed to reset progress: ${r.message}`)}}))},M=()=>{const t=h(),e=F(),{data:r}=T(),s=p(()=>new Set(r?.ids||[]),[r]);return{toggle:v=>{const l=b(v.mediaType,v.tmdbId);s.has(l)?e.mutate(l):t.mutate({...v,poster:v.poster||""})},bookmarkedIds:s,pending:t.isPending||e.isPending}};export{q as T,F as a,E as b,O as c,M as d,B as e,R as f,h as g,f as h,$ as i,C as j,I as k,A as l,w as m,k as u};
@@ -1 +1 @@
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_bxt8c_1{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(1);display:flex;align-items:center;gap:3rem;gap:clamp(1rem,5cqw,3rem);z-index:10;pointer-events:auto;transition:transform .4s cubic-bezier(.2,.8,.2,1)}._centerSkipBtn_bxt8c_15{background:transparent;border:none;border-radius:50%;color:#ffffffe6;width:clamp(2.5rem,6.5cqw,3.5rem);height:clamp(2.5rem,6.5cqw,3.5rem);font-size:clamp(1.1rem,2.8cqw,1.8rem);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .35s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 2px 8px rgba(0,0,0,.85))}._centerSkipBtn_bxt8c_15:hover{color:#fff;transform:scale(1.15);filter:drop-shadow(0 2px 8px rgba(0,0,0,.85)) drop-shadow(0 0 14px var(--accent-glow))}._centerPlayPause_bxt8c_37{display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:#fff;width:clamp(3rem,8cqw,5rem);height:clamp(3rem,8cqw,5rem);font-size:clamp(1.4rem,3.4cqw,2.3rem);cursor:pointer;transition:all .35s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 2px 8px rgba(0,0,0,.85))}@media(pointer:coarse){._centerSkipBtn_bxt8c_15{width:clamp(2.75rem,7cqw,3.75rem);height:clamp(2.75rem,7cqw,3.75rem)}}._centerPlayPause_bxt8c_37:hover{transform:scale(1.08);filter:drop-shadow(0 2px 8px rgba(0,0,0,.85)) drop-shadow(0 0 16px var(--accent-glow))}._playIconOffset_bxt8c_65{transform:translate(3px)}._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}}
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}}
@@ -0,0 +1,10 @@
1
+ import{u as t,A as w,q as E,h as j,d as P,T as te,$ as ct}from"./vendor-core-DfaOB3Rn.js";import{p as M,L as qe,B as Y,$ as se,l as lt,aa as Re,q as K,a6 as dt,t as ut,g as pt,a2 as ft,ab as je,ac as ht}from"./index-Nyp_7HqY.js";import{I as X}from"./vendor-icons-DrybRNxP.js";import{S as Fe,a as mt,s as Q,f as He,m as yt,h as bt,d as gt,k as _t,u as vt,n as ie}from"./PlayerProvider-HU614Yx3.js";import{u as St}from"./vendor-query-BBT5_sHx.js";import{i as ce,a as wt}from"./playbackCompletion-CxUTa1RU.js";const Ct="_controls_pcbjf_1",kt="_titleContainer_pcbjf_9",xt="_scheduleInfo_pcbjf_15",Tt="_status_pcbjf_23",Lt="_nextEpisode_pcbjf_35",Nt="_watchlistBtn_pcbjf_45",Pt="_inList_pcbjf_72",Bt="_queueBtn_pcbjf_83",Et="_queueActive_pcbjf_95",At="_modeToggleBtn_pcbjf_101",$t="_modeToggleActive_pcbjf_108",It="_markWatchedBtn_pcbjf_129",Mt="_markWatchedDone_pcbjf_143",Rt="_streamPanel_pcbjf_154",jt="_desktopEpisodeActions_pcbjf_168",Ft="_sourceLoader_pcbjf_174",Dt="_episodeActions_pcbjf_187",Ot="_mobileEpisodeActions_pcbjf_201",qt="_episodeNavBtn_pcbjf_205",Ht="_primary_pcbjf_235",Wt="_secondary_pcbjf_245",zt="_episodePickerBtn_pcbjf_249",Vt="_queueCountdown_pcbjf_253",Kt="_speedBoostBadge_pcbjf_268",Ut="_videoContainer_pcbjf_299",Qt="_loadingOverlay_pcbjf_312",Gt="_loadingDots_pcbjf_326",Yt="_dot_pcbjf_331",Xt="_bounce_pcbjf_1",Jt="_bufferingOverlay_pcbjf_348",Zt="_bufferingSpinner_pcbjf_357",er="_spin_pcbjf_444",tr="_videoIframe_pcbjf_366",rr="_videoElementHidden_pcbjf_389",nr="_upscalerCanvas_pcbjf_394",sr="_upscalerActive_pcbjf_407",ar="_upscalerStatusBadge_pcbjf_411",or="_subtitleOverlay_pcbjf_426",ir="_spinner_pcbjf_444",cr="_errorOverlay_pcbjf_505",lr="_retryButton_pcbjf_515",dr="_detailsToggleBtn_pcbjf_528",ur="_descriptionSection_pcbjf_551",pr="_synopsisFlat_pcbjf_559",fr="_fullscreenActive_pcbjf_593",hr="_errorSubtext_pcbjf_636",Qn={controls:Ct,titleContainer:kt,scheduleInfo:xt,status:Tt,nextEpisode:Lt,watchlistBtn:Nt,inList:Pt,queueBtn:Bt,queueActive:Et,modeToggleBtn:At,modeToggleActive:$t,markWatchedBtn:It,markWatchedDone:Mt,streamPanel:Rt,desktopEpisodeActions:jt,sourceLoader:Ft,episodeActions:Dt,mobileEpisodeActions:Ot,episodeNavBtn:qt,primary:Ht,secondary:Wt,episodePickerBtn:zt,queueCountdown:Vt,speedBoostBadge:Kt,videoContainer:Ut,loadingOverlay:Qt,loadingDots:Gt,dot:Yt,bounce:Xt,bufferingOverlay:Jt,bufferingSpinner:Zt,spin:er,videoIframe:tr,videoElementHidden:rr,upscalerCanvas:nr,upscalerActive:sr,upscalerStatusBadge:ar,subtitleOverlay:or,spinner:ir,errorOverlay:cr,retryButton:lr,detailsToggleBtn:dr,descriptionSection:ur,synopsisFlat:pr,fullscreenActive:fr,errorSubtext:hr},mr="_playerPageLayout_13s1u_1",yr="_noSidebar_13s1u_15",br="_episodeSidebar_13s1u_19",gr="_playerMain_13s1u_32",_r="_videoPlayerWrapper_13s1u_40",vr="_playerInfoHeader_13s1u_56",Sr="_playerAnimeCard_13s1u_62",wr="_playerInfoContainer_13s1u_74",Cr="_infoColumns_13s1u_86",kr="_videoTitleSection_13s1u_114",xr="_theaterMode_13s1u_288",Gn={playerPageLayout:mr,noSidebar:yr,episodeSidebar:br,playerMain:gr,videoPlayerWrapper:_r,playerInfoHeader:vr,playerAnimeCard:Sr,playerInfoContainer:wr,infoColumns:Cr,videoTitleSection:kr,theaterMode:xr},Tr={fontSize:"subtitleFontSize",position:"subtitlePosition",bgOpacity:"subtitleBgOpacity",bgColor:"subtitleBgColor",textColor:"subtitleTextColor",edge:"subtitleEdge",bold:"subtitleBold"},U={fontSize:1.8,position:0,bgOpacity:.5,bgColor:"#000000",textColor:"#ffffff",edge:"shadow",bold:!1},fe=(e,r,s)=>Math.max(r,Math.min(s,e)),he=e=>typeof e=="string"&&/^#[0-9a-fA-F]{6}$/.test(e),le=(e,r,s,o)=>{try{const n=M.getItem(e);if(n===null)return r;const i=parseFloat(n);return Number.isFinite(i)?fe(i,s,o):r}catch{return r}};function Lr(){let e=U.edge,r=U.bgColor,s=U.textColor,o=U.bold;try{const n=M.getItem("subtitleEdge");(n==="shadow"||n==="outline"||n==="none")&&(e=n);const i=M.getItem("subtitleBgColor");he(i)&&(r=i);const c=M.getItem("subtitleTextColor");he(c)&&(s=c);const p=M.getItem("subtitleBold");p!==null&&(o=p==="true")}catch{}return{fontSize:le("subtitleFontSize",U.fontSize,.5,10),position:le("subtitlePosition",U.position,0,100),bgOpacity:le("subtitleBgOpacity",U.bgOpacity,0,1),bgColor:r,textColor:s,edge:e,bold:o}}function We(e,r){const s=`rgba(0, 0, 0, ${fe(r,0,1)})`;if(!he(e))return s;const o=parseInt(e.slice(1,3),16),n=parseInt(e.slice(3,5),16),i=parseInt(e.slice(5,7),16);return`rgba(${o}, ${n}, ${i}, ${fe(r,0,1)})`}function ze(e,r){return e==="none"?r<=0?"0 1px 3px rgba(0, 0, 0, 0.9)":"none":e==="outline"?["-1px 0 0 black","1px 0 0 black","0 -1px 0 black","0 1px 0 black","-1px -1px 0 black","1px -1px 0 black","-1px 1px 0 black","1px 1px 0 black","0 0 6px rgba(0, 0, 0, 0.9)"].join(", "):"0 0 4px black, 0 1px 2px rgba(0, 0, 0, 0.8)"}function Yn(e){return`
2
+ video::cue {
3
+ font-size: ${e.fontSize}rem !important;
4
+ color: ${e.textColor} !important;
5
+ background-color: ${We(e.bgColor,e.bgOpacity)} !important;
6
+ font-weight: ${e.bold?"bold":"normal"} !important;
7
+ text-shadow: ${ze(e.edge,e.bgOpacity)} !important;
8
+ }
9
+ `}function Xn(e){return[`font-size: ${e.fontSize}rem`,`color: ${e.textColor}`,`background-color: ${We(e.bgColor,e.bgOpacity)}`,`font-weight: ${e.bold?"700":"400"}`,`text-shadow: ${ze(e.edge,e.bgOpacity)}`,"padding: 0.2em 0.5em","border-radius: 0.25em","text-align: center","position: absolute","left: 50%","transform: translateX(-50%)","max-width: 92%","white-space: pre-wrap","overflow-wrap: break-word","line-height: 1.4"].join(`;
10
+ `)+";"}const Nr=new Set(["b","i","u","strong","em"]);function Jn(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/&lt;(\/?)([a-zA-Z]+)&gt;/g,(s,o,n)=>Nr.has(n.toLowerCase())?`<${o}${n.toLowerCase()}>`:s)}function Zn(e){return e.replace(/<[^>]*>/g,"")}const es=["#ffffff","#ffff00","#7CFC00","#00e5ff","#ff9ff3","#ffa502"],ts=["#000000","#1e272e","#2f3542","#3d0c02","#0c3d2e","#ffffff"];function rs(e,r){const s=Number.isFinite(e)?e*16:U.fontSize*16;return!Number.isFinite(r)||r<=0?s/16:Math.min(s,Math.max(13,r*.07))/16}function ns(e){const r=Math.abs(e/1e3).toFixed(1);return e>0?`+${r}s`:e<0?`-${r}s`:"0.0s"}function ss(e,r){const s=e.clientWidth||0,o=e.clientHeight||0,n=e.videoWidth>0&&e.videoHeight>0?e.videoWidth/e.videoHeight:0;let i=o;n>0&&s>0&&o>0&&(i=s/o>n?o:s/n);const c=Math.max(0,(o-i)/2),p=Math.max(0,Math.min(100,Number(r)||0))/100*i;return c+p}const as=({isOpen:e,onClose:r,title:s,heading:o,message:n,children:i})=>t(qe,{isOpen:e,onClose:r,title:s,width:"sm",children:t("div",{style:{padding:"1rem",textAlign:"center"},children:[t(X,{name:"check-circle",size:48,style:{color:"var(--accent-lighter)",marginBottom:"0.5rem"}}),t("p",{style:{fontSize:"1.1rem",fontWeight:600},children:o}),t("p",{style:{color:"var(--text-secondary)"},children:n}),i&&t("div",{style:{marginTop:"1rem",display:"flex",gap:"10px",justifyContent:"center",flexWrap:"wrap"},children:i})]})}),os=({isOpen:e,onClose:r,title:s,message:o,resumeLabel:n="Resume",restartLabel:i="Start Over",onResume:c,onRestart:p})=>t(qe,{isOpen:e,onClose:r,title:s,width:"sm",children:t("div",{style:{padding:"1rem",textAlign:"center"},children:[t("p",{children:o}),t("div",{style:{marginTop:"1rem",display:"flex",gap:"10px",justifyContent:"center"},children:[t(Y,{variant:"secondary",onClick:p,children:i}),t(Y,{onClick:c,children:n})]})]})}),Pr="_centerControls_1oa5h_1",Br="_centerSkipBtn_1oa5h_14",Er="_centerPlayPause_1oa5h_15",ae={centerControls:Pr,centerSkipBtn:Br,centerPlayPause:Er},is=()=>t("div",{className:ae.centerControls,onClick:e=>e.stopPropagation(),children:[t(Fe,{seconds:-10,className:ae.centerSkipBtn}),t(mt,{className:ae.centerPlayPause,"data-speed-boost-ignore":"true"}),t(Fe,{seconds:10,className:ae.centerSkipBtn})]}),cs=({visible:e,title:r,episode:s,server:o,mode:n,audio:i,subtitles:c,onBack:p,classes:a})=>t("div",{className:`${a.overlay} ${e?"":a.hidden} `,"data-speed-boost-ignore":"true",style:{pointerEvents:"none",background:"none"},children:t("div",{className:a.top,onClick:u=>u.stopPropagation(),children:[t("button",{className:a.backBtn,onClick:u=>{u.stopPropagation(),p()},title:"Back","aria-label":"Back",children:t(X,{name:"chevron-left"})}),t("div",{className:`${a.titleInfo} ${Q.topBarTitleInfo}`,children:[t("span",{className:a.title,children:r}),s&&t("span",{className:a.episode,children:s}),(n||o||i||c)&&t("div",{className:Q.streamDetails,children:[n&&t("span",{className:Q.modeTag,children:n.toUpperCase()}),o&&t("span",{title:`Server: ${o}`,children:["Server: ",o]}),i&&t("span",{title:`Audio: ${i}`,children:["Audio: ",i]}),c&&t("span",{title:`Subs: ${c}`,children:["Subs: ",c]})]})]})]})});function Ar(e){return e instanceof Element&&!!e.closest('button, input, select, textarea, a, [role="button"], [role="slider"], [data-player-ui="true"]')}function ls({engine:e,topBar:r,centerControls:s,bottomBar:o,settingsPanel:n,overlays:i,isInteracting:c=!1,nativeControls:p=!1,chromeDisabled:a=!1,className:u,onStageClick:_,children:x}){const g=He(e),A=yt(),l=w(void 0),d=w(void 0),C=w(0),f=w(c);f.current=c;const m=E(()=>{clearTimeout(l.current),l.current=void 0},[]),y=E(()=>{m();const N=e.getState();!N.isPlaying||N.isScrubbing||f.current||p||(l.current=setTimeout(()=>{const b=e.getState();f.current||b.isScrubbing||!b.isPlaying||e.setShowControls(!1)},A?5e3:3e3))},[e,A,p,m]),B=E(()=>{e.setShowControls(!0),y()},[e,y]);bt(e,B,!p&&!a),j(()=>(c||g.isScrubbing||!g.isPlaying?(e.setShowControls(!0),m()):y(),m),[e,c,g.isPlaying,g.isScrubbing,g.showControls,m,y]),j(()=>()=>{clearTimeout(d.current)},[]);const h=N=>{if(Ar(N.target)||p||a)return;_?.();const b=Date.now();if(b-C.current<280){clearTimeout(d.current),d.current=void 0,C.current=0,e.toggleFullscreen();return}C.current=b,clearTimeout(d.current),d.current=setTimeout(()=>{d.current=void 0,e.setShowControls(!e.getState().showControls),y()},280)},T=g.showControls||g.isScrubbing||c||!g.isPlaying;return t(gt,{engine:e,children:t("div",{ref:e.containerRef,"data-player-root":"true",className:`${Q.shell} ${g.isFullscreen?Q.shellFullscreen:""} ${u??""}`,style:{cursor:!T&&g.isFullscreen?"none":"default"},onContextMenu:N=>N.preventDefault(),onPointerMove:N=>{N.pointerType==="mouse"&&B()},onFocusIn:B,onMouseLeave:()=>{window.matchMedia?.("(hover: hover) and (pointer: fine)").matches&&e.getState().isPlaying&&!f.current&&e.setShowControls(!1)},children:[t("div",{className:Q.stage,onClick:h,children:x}),i,(g.error||g.playBlocked)&&t("div",{className:Q.engineStatus,"data-player-ui":"true",children:t(_t,{})}),!a&&!p&&t("div",{className:Q.uiLayer,children:[t("div",{"data-player-ui":"true",children:r}),T&&s&&t("div",{"data-player-ui":"true",children:s}),t("div",{"data-player-ui":"true",children:o}),n&&t("div",{"data-player-ui":"true",children:n})]})]})})}const $r=e=>(e.language??e.lang??"").toLowerCase(),Ir=e=>(e.label??"").toLowerCase(),Mr=e=>`${e.language??e.lang??""}|||${e.label??""}`,Rr=e=>$r(e).startsWith("en")||Ir(e).includes("english");function ds(e,r){if(e.length===0||r?.enabled===!1)return-1;const s=r?.lastKey??null;if(s){const n=e.findIndex(i=>Mr(i)===s);if(n>=0)return n}const o=e.findIndex(Rr);return o>=0?o:0}const jr="_statusArea_1xccu_1",Fr="_toggleBtn_1xccu_20",Dr="_shortcuts_1xccu_46",Or="_shortcutGroup_1xccu_56",qr="_shortcut_1xccu_46",Hr="_key_1xccu_70",Wr="_label_1xccu_91",k={statusArea:jr,toggleBtn:Fr,shortcuts:Dr,shortcutGroup:Or,shortcut:qr,key:Hr,label:Wr},us=({showTheater:e=!0})=>{const[r,s]=P(!1);return t("div",{className:k.statusArea,children:[t("button",{type:"button",className:k.toggleBtn,onClick:()=>s(o=>!o),"aria-expanded":r,"aria-controls":"player-shortcuts",children:[t(X,{name:"keyboard",size:14}),t("span",{children:"Keyboard Shortcuts"}),r?t(X,{name:"chevron-up",size:12}):t(X,{name:"chevron-down",size:12})]}),r&&t("div",{id:"player-shortcuts",className:k.shortcuts,children:[t("div",{className:k.shortcutGroup,children:[t("div",{className:k.shortcut,children:[t("span",{className:k.key,children:"↑"}),t("span",{className:k.key,children:"↓"}),t("span",{className:k.label,children:"Volume"})]}),t("div",{className:k.shortcut,children:[t("span",{className:k.key,children:"←"}),t("span",{className:k.key,children:"→"}),t("span",{className:k.label,children:"Seek"})]})]}),t("div",{className:k.shortcutGroup,children:[t("div",{className:k.shortcut,children:[t("span",{className:k.key,children:"Space"}),t("span",{className:k.label,children:"Play/Pause"})]}),t("div",{className:k.shortcut,children:[t("span",{className:k.key,children:"F"}),t("span",{className:k.label,children:"Fullscreen"})]}),t("div",{className:k.shortcut,children:[t("span",{className:k.key,children:"M"}),t("span",{className:k.label,children:"Mute"})]}),e&&t("div",{className:k.shortcut,children:[t("span",{className:k.key,children:"T"}),t("span",{className:k.label,children:"Theater"})]}),t("div",{className:k.shortcut,children:[t("span",{className:k.key,children:"N"}),t("span",{className:k.label,children:"Next"})]})]})]})]})},zr="_episodeListContainer_9tyin_1",Vr="_drawerContainer_9tyin_9",Kr="_episodeListHeader_9tyin_14",Ur="_drawerHeader_9tyin_20",Qr="_episodeListTitle_9tyin_29",Gr="_rangeSelector_9tyin_41",Yr="_rangeButton_9tyin_47",Xr="_active_9tyin_70",Jr="_episodeList_9tyin_1",Zr="_drawerList_9tyin_89",en="_episodeItem_9tyin_118",tn="_watched_9tyin_145",rn="_episodeThumb_9tyin_167",nn="_episodeText_9tyin_176",sn="_episodeLabel_9tyin_184",an="_episodeSub_9tyin_189",L={episodeListContainer:zr,drawerContainer:Vr,episodeListHeader:Kr,drawerHeader:Ur,episodeListTitle:Qr,rangeSelector:Gr,rangeButton:Yr,active:Xr,episodeList:Jr,drawerList:Zr,episodeItem:en,watched:tn,episodeThumb:rn,episodeText:nn,episodeLabel:sn,episodeSub:an},on=({episodes:e,currentEpisode:r,watchedEpisodes:s=[],onEpisodeClick:o,variant:n="sidebar",title:i="Episodes",header:c})=>{const[p,a]=P(0),u=w(null),_=te(()=>e.map(l=>typeof l=="string"?{id:l,label:`Episode ${l}`}:l),[e]),x=te(()=>new Set(s),[s]);j(()=>{const l=u.current;if(!l)return;let d=l.parentElement;for(;d;){const m=window.getComputedStyle(d);if((m.overflowY==="auto"||m.overflowY==="scroll")&&d.scrollHeight>d.clientHeight)break;d=d.parentElement}if(!d)return;const C=d.getBoundingClientRect(),f=l.getBoundingClientRect();d.scrollTop+=f.top+f.height/2-(C.top+d.clientHeight/2)},[r,p]);const g=te(()=>{if(_.length<=100)return[];const l=[];for(let d=0;d<_.length;d+=100){const C=d+1,f=Math.min(d+100,_.length);l.push(`${C}-${f}`)}return l},[_]),A=te(()=>{if(g.length===0)return _;const l=g[p];if(!l)return _;const[d,C]=l.split("-"),f=parseInt(d,10),m=parseInt(C,10);return _.slice(f-1,m)},[_,g,p]);return t("div",{className:`${L.episodeListContainer} ${n==="drawer"?L.drawerContainer:""}`,children:[t("div",{className:`${L.episodeListHeader} ${n==="drawer"?L.drawerHeader:""}`,children:[c,t("h3",{className:L.episodeListTitle,children:i}),g.length>0&&t("div",{className:L.rangeSelector,children:g.map((l,d)=>t("button",{className:`${L.rangeButton} ${p===d?L.active:""}`,onClick:()=>a(d),children:l},l))})]}),t("div",{className:`${L.episodeList} ${n==="drawer"?L.drawerList:""}`,children:A.map(l=>{const d=l.id===r,C=x.has(l.id)||l.watched===!0;return t("div",{ref:d?u:void 0,className:`${L.episodeItem} ${C?L.watched:""} ${d?L.active:""}`,onClick:()=>o(l.id),children:[l.thumbnail&&t("img",{src:l.thumbnail,alt:"",loading:"lazy",decoding:"async",className:L.episodeThumb}),t("span",{className:L.episodeText,children:[t("span",{className:L.episodeLabel,children:l.label??`Episode ${l.id}`}),l.sublabel&&t("span",{className:L.episodeSub,children:l.sublabel})]})]},l.id)})})]})},ps=({variant:e="sidebar",count:r=12})=>t("div",{className:`${L.episodeListContainer} ${e==="drawer"?L.drawerContainer:""}`,children:[t("div",{className:`${L.episodeListHeader} ${e==="drawer"?L.drawerHeader:""}`,children:[t("h3",{className:L.episodeListTitle,children:"Episodes"}),t("div",{className:L.rangeSelector,children:[t(se,{width:"60px",height:"28px",variant:"rectangular"}),t(se,{width:"60px",height:"28px",variant:"rectangular"}),t(se,{width:"60px",height:"28px",variant:"rectangular"})]})]}),t("div",{className:`${L.episodeList} ${e==="drawer"?L.drawerList:""}`,children:Array.from({length:r}).map((s,o)=>t("div",{className:L.episodeItem,style:{border:"none",background:"transparent"},children:t(se,{width:"120px",height:"1.2rem",variant:"text"})},o))})]}),cn="_shell_cys6s_1",ln="_overlay_cys6s_10",dn="_drawer_cys6s_21",un="_handle_cys6s_56",pn="_header_cys6s_64",fn="_headerCopy_cys6s_73",hn="_kicker_cys6s_79",mn="_title_cys6s_87",yn="_closeBtn_cys6s_94",bn="_body_cys6s_116",z={shell:cn,overlay:ln,drawer:dn,handle:un,header:pn,headerCopy:fn,kicker:hn,title:mn,closeBtn:yn,body:bn};function fs({isOpen:e,onClose:r,episodes:s,currentEpisode:o,watchedEpisodes:n=[],onEpisodeClick:i,title:c,header:p}){return j(()=>{if(!e)return;const a=_=>{_.key==="Escape"&&r()},u=document.body.style.overflow;return document.body.style.overflow="hidden",document.addEventListener("keydown",a),()=>{document.body.style.overflow=u,document.removeEventListener("keydown",a)}},[e,r]),e?ct(t("div",{className:z.shell,role:"dialog","aria-modal":"true","aria-label":"Episode picker",children:[t("button",{className:z.overlay,type:"button",onClick:r,"aria-label":"Close episodes"}),t("aside",{className:z.drawer,children:[t("div",{className:z.handle}),t("div",{className:z.header,children:[t("div",{className:z.headerCopy,children:[t("span",{className:z.kicker,children:"Episode picker"}),t("h3",{className:z.title,children:"Choose an episode"})]}),t("button",{className:z.closeBtn,type:"button",onClick:r,"aria-label":"Close",children:t(X,{name:"times"})})]}),t("div",{className:z.body,children:t(on,{episodes:s,currentEpisode:o,watchedEpisodes:n,onEpisodeClick:i,variant:"drawer",title:c,header:p})})]})]}),document.body):null}const gn="_sourceSelectionContainer_1am19_1",_n="_providerSelectContainer_1am19_14",vn="_providerSelect_1am19_14",Sn="_sourceSelect_1am19_1",wn="_sourceButtons_1am19_70",Cn="_sourceButton_1am19_70",kn="_active_1am19_95",hs={sourceSelectionContainer:gn,providerSelectContainer:_n,providerSelect:vn,sourceSelect:Sn,sourceButtons:wn,sourceButton:Cn,active:kn},ms=({skipIntervals:e,showId:r,episodeNumber:s,episodeCount:o,sourceType:n,showMeta:i})=>{const c=St(),p=lt(),{engine:a,mediaRef:u}=vt({volumeKey:"playerVolume",mutedKey:"playerMuted"}),{isPlaying:_,isMuted:x,volume:g,duration:A,isScrubbing:l,isBuffering:d,isFullscreen:C,isSpeedBoostActive:f,showControls:m,playbackLocked:y}=He(a),B=a.containerRef,h=w(null),T=w(0),N=w(Math.random().toString(36).substring(2)),b=a.setShowControls,[I,O]=P(M.getItem("autoSkipEnabled")==="true"),[V,$]=P(null),[H]=P(Lr),[Ve,ye]=P(H.fontSize),[Ke,be]=P(H.position),[Ue,ge]=P(H.bgOpacity),[Qe,_e]=P(H.bgColor),[Ge,ve]=P(H.textColor),[Ye,Se]=P(H.edge),[Xe,we]=P(H.bold),Ce=E((v,R)=>{if({fontSize:S=>typeof S!="number"?!1:(ye(S),!0),position:S=>typeof S!="number"?!1:(be(S),!0),bgOpacity:S=>typeof S!="number"?!1:(ge(S),!0),bgColor:S=>typeof S!="string"?!1:(_e(S),!0),textColor:S=>typeof S!="string"?!1:(ve(S),!0),edge:S=>S!=="shadow"&&S!=="outline"&&S!=="none"?!1:(Se(S),!0),bold:S=>typeof S!="boolean"?!1:(we(S),!0)}[v](R))try{M.setItem(Tr[v],String(R))}catch{}},[]),[Je,Ze]=P([]),[et,tt]=P(null),[rt,nt]=P(!1),[st,at]=P(!1),[ot,ke]=P(()=>{try{return M.getItem("playerUseNativeControls")==="true"}catch{return!1}}),J=w(!1),re=w(-1),ne=E(()=>{const v=u.current;return!r||!s||!i?.name?null:{showId:r,episodeNumber:s,episodeCount:o,currentTime:a.getTimeline().currentTime,duration:a.getState().duration,showName:i.name,showThumbnail:i.thumbnail,nativeName:i.names?.native,englishName:i.names?.english,genres:Array.isArray(i.genres)?i.genres.map(R=>typeof R=="string"?R:R?.name).filter(Boolean):void 0,popularityScore:i.score,type:i.type,isPlaying:v?!v.paused:n==="iframe",sessionId:N.current,isAdult:i.isAdult}},[a,u,r,s,o,i,n]),F=E((v=!1,R=!1)=>{if(J.current)return!1;const q=ne();if(!q)return!1;const S=u.current;if(!S&&!v&&n!=="iframe"||n!=="iframe"&&q.duration<=0)return!1;const W=a.getTimeline().currentTime;if(!R){if(W===0)return!1;const ee=S?Math.abs(W-re.current):0;if(!v&&S&&W!==S.duration&&ee<5)return!1}return q.currentTime=W,re.current=W,v?(async()=>{try{await Re("progress.updateProgress",q),c.invalidateQueries({queryKey:[K.playerData,r]}),c.invalidateQueries({queryKey:[K.videoSources,r,s]}),c.invalidateQueries({queryKey:[K.continueWatching]}),c.invalidateQueries({queryKey:[K.thisWeekSchedule]}),c.invalidateQueries(p.continueWatching.pathFilter())}catch(ee){console.error("Failed to update progress:",ee)}})():Re("progress.updateProgress",q).then(()=>{ce(q.currentTime,q.duration)&&c.invalidateQueries({queryKey:[K.playerData,r]})}).catch(ee=>console.error("Failed to update progress:",ee)),!0},[a,ne,n,c,r,s,p.continueWatching,u]);j(()=>{const v=()=>{J.current||F(!0)};window.addEventListener("beforeunload",v),window.addEventListener("pagehide",v);const R=()=>{document.visibilityState==="hidden"&&v()};document.addEventListener("visibilitychange",R);const q=h;return()=>{window.removeEventListener("beforeunload",v),window.removeEventListener("pagehide",v),document.removeEventListener("visibilitychange",R),J.current||F(!0),q.current&&clearTimeout(q.current)}},[F]);const xe=E(()=>a.setShowControls(!0),[a]),Te=a.toggleFullscreen,Le=E(()=>{a.togglePlay(),b(!0)},[a,b]),Ne=E(()=>{a.toggleMute(),b(!0)},[a,b]),Pe=E(v=>{a.seekRelative(v),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>F(!1,!0),1500),b(!0)},[a,F,b]),Be=E(()=>{J.current=!1,F(!1,!0)},[F]),Ee=E(()=>{b(!0),F(!1,!0)},[F,b]);j(()=>{J.current=!1,re.current=-1,T.current=0,N.current=Math.random().toString(36).substring(2),a.reset()},[a,r,s]);const Ae=a.reset;j(()=>{const v=N.current;return()=>{dt(v)}},[a,r,s]),j(()=>{if(n!=="iframe")return;F(!1,!0);const v=setInterval(()=>{F(!1,!0)},6e4);return()=>clearInterval(v)},[n,F]);const $e=E(()=>{const v=u.current;if(!v)return;const R=v.currentTime||0,q=Date.now(),S=ce(R,v.duration)&&!ce(re.current,v.duration);(S||q-T.current>6e4)&&F(!1,S)&&(T.current=q);const W=e.find(Z=>R>=Z.start_time&&R<Z.end_time)||null;$(Z=>Z?.skip_id!==W?.skip_id?W:Z),I&&W&&!v.paused&&!a.getState().playbackLocked&&(a.seek(W.end_time),$(null))},[u,e,I,F,a]),Ie=E(()=>{const v=ne();v&&(v.currentTime=v.duration,ut.progress.updateProgress.mutate(v).then(()=>{c.invalidateQueries({queryKey:[K.playerData,r]}),c.invalidateQueries({queryKey:[K.videoSources,r,s]}),c.invalidateQueries({queryKey:[K.continueWatching]})}).catch(R=>console.error("Failed to send final progress:",R)))},[ne,c,r,s]),Me=E(()=>{J.current=!0,Ie()},[Ie]),it=te(()=>({togglePlay:Le,seek:Pe,toggleMute:Ne,toggleFullscreen:Te,onPlay:Be,onPause:Ee,formatTime:pt,onTimeUpdate:$e,onEnded:Me,setShowControls:b,setIsAutoSkipEnabled:O,setCurrentSkipInterval:$,setSubtitleFontSize:ye,setSubtitlePosition:be,setSubtitleBgOpacity:ge,setSubtitleBgColor:_e,setSubtitleTextColor:ve,setSubtitleEdge:Se,setSubtitleBold:we,setSubtitleStyle:Ce,setAvailableSubtitles:Ze,setActiveSubtitleTrack:tt,setShowSettings:nt,setShowVolumeSlider:at,flashControls:xe,sendProgressUpdate:F,setUseNativeControls:ke,resetMediaState:Ae}),[Le,Pe,Ne,Te,Be,Ee,$e,Me,F,ke,Ae,xe,Ce,b]);return{engine:a,refs:{videoRef:u,playerContainerRef:B},state:{playbackLocked:y,isPlaying:_,isMuted:x,volume:g,isFullscreen:C,duration:A,showControls:m,isScrubbing:l,isAutoSkipEnabled:I,currentSkipInterval:V,subtitleFontSize:Ve,subtitlePosition:Ke,subtitleBgOpacity:Ue,subtitleBgColor:Qe,subtitleTextColor:Ge,subtitleEdge:Ye,subtitleBold:Xe,availableSubtitles:Je,activeSubtitleTrack:et,showSettings:rt,showVolumeSlider:st,isBuffering:d,isSpeedBoostActive:f,useNativeControls:ot},actions:it}};function xn(){try{return typeof navigator<"u"&&/android/i.test(navigator.userAgent)}catch{return!1}}function ys(e,r){const{refs:s,actions:o}=e,n=w(r);n.current=r;const i=w(!1),c=w(!1),p=a=>{try{if(a)return a.matches}catch{}try{return window.innerWidth>window.innerHeight}catch{return!1}};j(()=>{if(!xn())return;let a=null;const u=()=>{const _=s.playerContainerRef.current;if(p(a)){if(!n.current||!_||ie(s.videoRef.current)||c.current)return;i.current=!0,o.toggleFullscreen()}else c.current=!1,i.current&&(i.current=!1,ie(s.videoRef.current)&&o.toggleFullscreen())};try{a=window.matchMedia("(orientation: landscape)"),a.addEventListener?a.addEventListener("change",u):a.addListener(u)}catch{}return u(),()=>{try{a&&(a.removeEventListener?a.removeEventListener("change",u):a.removeListener(u))}catch{}}},[o,s.playerContainerRef,s.videoRef,r]),j(()=>{const a=()=>{if(!ie(s.videoRef.current)){i.current=!1;try{window.matchMedia("(orientation: landscape)").matches&&(c.current=!0)}catch{c.current=!0}}};return document.addEventListener("fullscreenchange",a),document.addEventListener("webkitfullscreenchange",a),()=>{document.removeEventListener("fullscreenchange",a),document.removeEventListener("webkitfullscreenchange",a)}},[s.videoRef])}const Tn=e=>Math.max(8,Math.min(40,Math.ceil(e/16.7)+4));function bs({videoRef:e,canvasRef:r,delayMs:s,enabled:o}){const n=w(s);n.current=s;const i=w([]),c=w(-1),p=w(-1),a=w(!1),u=w(0),_=w(null);j(()=>{const x=f=>{if(f)try{f.close()}catch{}},g=()=>{for(const f of i.current)x(f.bitmap);i.current=[]};if(!o){g(),c.current=-1,p.current=-1,a.current=!1,u.current=0;return}let A=!1;const l=()=>{_.current!==null&&(cancelAnimationFrame(_.current),_.current=null)},d=()=>{A||(l(),_.current=requestAnimationFrame(()=>{C()}))};async function C(){if(A)return;const f=e.current,m=r.current;if(!f||!m||f.videoWidth===0){d();return}if(f.paused||f.ended||document.hidden||f.readyState<HTMLMediaElement.HAVE_CURRENT_DATA){d();return}const y=f.getVideoPlaybackQuality().totalVideoFrames;if(y===c.current){d();return}(f.seeking||p.current>=0&&Math.abs(f.currentTime-p.current)>.5)&&(g(),a.current=!1,u.current=0,c.current=-1),p.current=f.currentTime,(m.width!==f.videoWidth||m.height!==f.videoHeight)&&(m.width=f.videoWidth,m.height=f.videoHeight);const B=Math.max(0,n.current||0);B>u.current&&(a.current=!1);try{const h=await createImageBitmap(f);if(A){x(h);return}c.current=y;const T=performance.now(),N=m.getContext("2d"),b=$=>{N&&N.drawImage($,0,0,m.width,m.height)};if(B<=0){g(),a.current=!1,u.current=0,b(h),x(h),d();return}const I=i.current;I.push({bitmap:h,capture:T});const O=Tn(B);for(;I.length>O;)x(I.shift()?.bitmap);let V=-1;for(let $=I.length-1;$>=0;$--)if(T-I[$].capture>=B){V=$;break}if(V!==-1){for(let H=0;H<V;H++)x(I.shift()?.bitmap);const $=I.shift();$?(b($.bitmap),x($.bitmap),a.current=!0,u.current=B):b(h)}else if(!a.current)b(h);else{const $=I.shift();$?(b($.bitmap),x($.bitmap)):b(h)}}catch{}d()}return d(),()=>{A=!0,l();for(const f of i.current)try{f.bitmap.close()}catch{}i.current=[]}},[o,e,r])}const De=(e,r)=>{try{M.setItem("playerVideoDelayMs",String(e)),M.setItem("playerVideoDelayEnabled",String(r))}catch{}},Oe=e=>{try{M.setItem("playerVideoDelayEnabled",String(e))}catch{}};function gs(e,r){const[s,o]=P(()=>{try{const y=Number(M.getItem("playerVideoDelayMs"));if(Number.isFinite(y)&&y>=0&&y<=500)return Math.round(y)}catch{}return 180}),[n,i]=P(()=>{try{return M.getItem("playerVideoDelayEnabled")==="true"}catch{return!1}}),[c,p]=P(!1),[a,u]=P(!1),_=w(null),x=w(null),g=y=>{const B=Math.max(0,Math.min(500,Math.round(y)));o(B);try{M.setItem("playerVideoDelayMs",String(B))}catch{}},A=y=>{i(y),Oe(y)},l=E(()=>{u(!1),p(!1)},[]);return{videoDelayMs:s,videoDelayEnabled:n,setDelayEnabled:A,handleVideoDelayChange:g,isCalibrating:c,testClipActive:a,stopCalibration:l,openAvSyncCalibrator:()=>{_.current={enabled:n,ms:s},i(!0),Oe(!0),r?.(),p(!0)},cancelAvSyncCalibrator:()=>{const y=_.current;_.current=null,y&&(o(y.ms),i(y.enabled),De(y.ms,y.enabled)),u(!1),p(!1)},applyAvSyncCalibrator:()=>{_.current=null,i(!0),De(s,!0),u(!1),p(!1)},toggleTestClip:()=>{if(a){u(!1);return}const y=e.current;y&&!isNaN(y.currentTime)&&(x.current=y.currentTime),u(!0)},calibReturnRef:x,effectiveVideoDelayMs:n?s:0}}function _s(){const[e,r]=P(()=>{try{return M.getItem("playerTheaterMode")==="true"}catch{return!1}});j(()=>{try{e?document.body.classList.add("theater-mode"):document.body.classList.remove("theater-mode")}catch(n){console.error(n)}return()=>{try{document.body.classList.remove("theater-mode")}catch(n){console.error(n)}}},[e]);const s=E(()=>{r(n=>{const i=!n;try{M.setItem("playerTheaterMode",i.toString())}catch{}return i})},[]),o=E(n=>{if(e&&n.target===n.currentTarget){r(!1);try{M.setItem("playerTheaterMode","false")}catch{}}},[e]);return{isTheaterMode:e,toggleTheaterMode:s,handleLayoutClick:o}}const G={enabled:!0,blur:60,saturation:150,brightness:70,opacity:60};function Ln(){try{const e=M.getItem("playerAmbientLight");if(!e)return G;const r=JSON.parse(e),s=(o,n,i,c)=>{const p=Number(o);return Number.isFinite(p)?Math.max(i,Math.min(c,p)):n};return{enabled:r.enabled??G.enabled,blur:s(r.blur,G.blur,0,120),saturation:s(r.saturation,G.saturation,0,200),brightness:s(r.brightness,G.brightness,20,120),opacity:s(r.opacity,G.opacity,10,100)}}catch{return G}}function vs(){const[e,r]=P(Ln),s=E(o=>{r(n=>{const i={...n,...o};try{M.setItem("playerAmbientLight",JSON.stringify(i))}catch{}return i})},[]);return{settings:e,update:s}}const Nn="_theaterAmbient_x9t0o_1",Pn={theaterAmbient:Nn},de=160,ue=90,Bn=120,Ss=({videoRef:e,active:r,settings:s,className:o})=>{const n=w(null);return j(()=>{if(!r)return;const i=n.current,c=e.current;if(!i||!c)return;const p=i.getContext("2d",{alpha:!1});if(!p)return;let a=0,u=0,_=!1;const x=()=>{if(!(c.readyState<2||!c.videoWidth))try{const d=c.videoWidth,C=c.videoHeight,f=de/ue,m=d/C;let y=d,B=C,h=0,T=0;m>f?(y=C*f,h=(d-y)/2):(B=d/f,T=(C-B)/2),p.drawImage(c,h,T,y,B,0,0,de,ue)}catch{}},g=d=>{_||c.paused||(a=requestAnimationFrame(g),!(d-u<Bn)&&(u=d,x()))},A=()=>{_||(cancelAnimationFrame(a),u=0,a=requestAnimationFrame(g))},l=()=>cancelAnimationFrame(a);return c.addEventListener("play",A),c.addEventListener("pause",l),c.addEventListener("seeked",x),c.addEventListener("loadeddata",x),a=requestAnimationFrame(g),()=>{_=!0,cancelAnimationFrame(a),c.removeEventListener("play",A),c.removeEventListener("pause",l),c.removeEventListener("seeked",x),c.removeEventListener("loadeddata",x)}},[r,e]),r?t("canvas",{ref:n,width:de,height:ue,"aria-hidden":"true",className:o??Pn.theaterAmbient,style:{filter:`blur(${s.blur}px) saturate(${s.saturation}%) brightness(${s.brightness}%)`,opacity:s.opacity/100}}):null},En="_row_1fq55_1",An="_rowHeader_1fq55_9",$n="_rowLabel_1fq55_17",In="_rowValue_1fq55_28",Mn="_slider_1fq55_36",Rn="_swatches_1fq55_99",jn="_swatch_1fq55_99",Fn="_swatchPicked_1fq55_114",Dn="_colorInput_1fq55_120",On="_segmented_1fq55_131",D={row:En,rowHeader:An,rowLabel:$n,rowValue:In,slider:Mn,swatches:Rn,swatch:jn,swatchPicked:Fn,colorInput:Dn,segmented:On},qn=({label:e,display:r,min:s,max:o,step:n,value:i,percent:c,onChange:p,onCommit:a})=>t("div",{className:D.row,children:[t("div",{className:D.rowHeader,children:[t("span",{className:D.rowLabel,children:e}),t("span",{className:D.rowValue,children:r})]}),t("input",{type:"range",className:D.slider,min:s,max:o,step:n,value:i,"aria-label":e,"data-speed-boost-ignore":"true",onInput:u=>p(Number(u.target.value)),onMouseDown:u=>u.stopPropagation(),onPointerDown:u=>u.stopPropagation(),onTouchStart:u=>u.stopPropagation(),onPointerUp:a,onPointerCancel:a,onTouchEnd:a,onKeyUp:a,onBlur:a,style:{"--slider-percent":`${c}%`}})]}),ws=({label:e,colors:r,value:s,onChange:o})=>t("div",{className:D.row,children:[t("div",{className:D.rowHeader,children:t("span",{className:D.rowLabel,children:e})}),t("div",{className:D.swatches,children:[r.map(n=>t("button",{type:"button","aria-label":`${e} ${n}`,"aria-pressed":s.toLowerCase()===n.toLowerCase(),onClick:()=>o(n),className:`${D.swatch} ${s.toLowerCase()===n.toLowerCase()?D.swatchPicked:""}`,style:{backgroundColor:n}},n)),t("input",{type:"color","aria-label":`Custom ${e.toLowerCase()}`,className:D.colorInput,value:s,"data-speed-boost-ignore":"true",onInput:n=>o(n.target.value),onMouseDown:n=>n.stopPropagation(),onPointerDown:n=>n.stopPropagation(),onTouchStart:n=>n.stopPropagation()})]})]});function Cs({label:e,options:r,value:s,onChange:o}){return t("div",{className:D.row,children:[t("div",{className:D.rowHeader,children:t("span",{className:D.rowLabel,children:e})}),t("div",{className:D.segmented,role:"group","aria-label":e,children:r.map(n=>t("button",{type:"button","aria-pressed":s===n,onClick:()=>o(n),children:[t("span",{children:n}),s===n&&t(X,{name:"check",size:10})]},n))})]})}const oe=10,me=500,pe=e=>Math.max(0,Math.min(me,Math.round(e))),ks=({isOpen:e,ms:r,onChange:s,onApply:o,onClose:n,testClipActive:i,onTestClip:c})=>e?t("div",{role:"dialog","aria-label":"Calibrate audio video sync","data-speed-boost-ignore":"true",onClick:p=>p.stopPropagation(),style:{position:"absolute",right:8,bottom:112,width:"min(260px, calc(100% - 16px))",maxHeight:"calc(100% - 124px)",overflowY:"auto",overflowX:"hidden",zIndex:60,display:"flex",flexDirection:"column",alignItems:"center",gap:8,padding:12,borderRadius:"var(--radius-lg)",border:"1px solid var(--glass-border)",background:"rgba(18, 18, 22, 0.95)",boxShadow:"var(--glass-shadow)",backdropFilter:"blur(14px)",WebkitBackdropFilter:"blur(14px)",boxSizing:"border-box"},children:[t("div",{style:{fontSize:"0.8rem",fontWeight:800,color:"var(--text-primary)"},children:"A/V sync"}),t("div",{children:t(Y,{size:"sm",variant:"secondary",onClick:c,children:i?"Back to video":"Preview test clip"})}),t("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:6,flexWrap:"wrap"},children:[t(Y,{size:"sm",onClick:()=>s(pe(r-oe)),"aria-label":"Decrease delay by 10 milliseconds",children:["− ",oe,"ms"]}),t("div",{style:{fontSize:"1.1rem",fontWeight:800,minWidth:64,textAlign:"center"},children:[r,"ms"]}),t(Y,{size:"sm",onClick:()=>s(pe(r+oe)),"aria-label":"Increase delay by 10 milliseconds",children:["+ ",oe,"ms"]})]}),t(qn,{label:"Video delay",display:`${r}ms`,min:0,max:me,step:5,value:r,percent:r/me*100,onChange:p=>s(pe(p))}),t("div",{style:{display:"flex",gap:8,justifyContent:"center",flexWrap:"wrap"},children:[t(Y,{size:"sm",variant:"secondary",onClick:n,children:"Cancel"}),t(Y,{size:"sm",onClick:o,children:["Apply ",r,"ms"]})]})]}):null;function xs({videoRef:e,sourceType:r,resetKey:s,onEnd:o}){const n=w(!1),i=w(o);i.current=o,j(()=>{n.current=!1},[s]);const c=E(()=>{const a=e.current?.duration;!a||!Number.isFinite(a)||console.info(`[playback] duration ${a.toFixed(2)}s`)},[e]);return{checkEnd:E((a=!1)=>{const u=e.current;!u||r==="iframe"||n.current||!a&&!wt(u.currentTime,u.duration)||(n.current=!0,console.info(`[playback] end reached at ${u.currentTime.toFixed(2)}s / ${u.duration.toFixed(2)}s`),i.current())},[r,e]),logDuration:c}}function Ts(e,r,s){const o=ft(),n=w({watch:o,selection:r,loading:s});n.current={watch:o,selection:r,loading:s};const[i,c]=P(!1),p=w(""),a=w(""),u=w(""),_=w(!1),x=!!o.session&&!o.session.host;j(()=>(!o.session&&_.current&&e.applyRemotePlayback(void 0,!1,1),_.current=!!o.session,e.setPlaybackLocked(!!o.session&&(x||!o.connected)),o.session&&!o.connected&&e.applyRemotePlayback(void 0,!1,1),()=>e.setPlaybackLocked(!1)),[e,x,o.connected,o.session]);const g=E((A=!1)=>{const{watch:l,selection:d,loading:C}=n.current,f=e.mediaRef.current;if(!l.session||!l.room||!f)return;if(l.session.host){l.connected&&l.selfId!==u.current&&!C&&d&&f.readyState>=1&&(u.current=l.selfId,je(d,l.room.selection)&&e.applyRemotePlayback(l.room.position,!1,l.room.rate));return}const m=l.room,y=d&&je(d,m.selection);if(!l.connected||C||!y||f.readyState<1){e.applyRemotePlayback(void 0,!1,m.rate);return}const B=Date.now()+l.clock.offset-m.updatedAt<15e3;if(m.playing&&!B){e.applyRemotePlayback(void 0,!1,m.rate);return}const h=m.playing&&m.hostOnline&&B,T=Math.min(f.duration||1/0,ht({...m,playing:h},Date.now()+l.clock.offset)),N=T-f.currentTime,b=Math.abs(N)>(h?1.25:.15),I=h&&!b&&Math.abs(N)>.15?Math.min(4,Math.max(.25,m.rate*(N>0?1.03:.97))):m.rate,O=e.getState().playBlocked;e.applyRemotePlayback(b?T:void 0,h&&(!O||A),I),c(O&&h)},[e]);return j(()=>{if(!o.session)return;const A=()=>{const{watch:h,selection:T,loading:N}=n.current,b=e.mediaRef.current;if(!h.connected||!h.session?.host||!h.room)return;if(!T||N||!b||b.readyState<1){h.room.playing&&h.send({type:"update",...h.room,playing:!1});return}g();const I=e.getState(),O=!b.paused&&!b.ended&&!I.isBuffering,V={type:"update",selection:T,position:b.currentTime+(O?h.clock.latency/1e3*b.playbackRate:0),playing:O,rate:b.playbackRate},$=JSON.stringify(V);!O&&a.current===$||(a.current=$,h.send(V))},l=()=>{const{watch:h,selection:T,loading:N}=n.current,b=e.getState(),I=e.mediaRef.current,O=b.error||!N&&!T?"error":b.playBlocked?"blocked":N||!I||I.readyState<1?"loading":b.isBuffering?"buffering":"ready";h.connected&&`${h.selfId}:${O}`!==p.current&&(p.current=`${h.selfId}:${O}`,h.send({type:"status",status:O})),g()};let d=null;const C=["play","pause","seeked","ratechange","playing","waiting","canplay","ended"];let f;const m=()=>{clearTimeout(f),f=setTimeout(A,100)},y=setInterval(()=>{const h=e.mediaRef.current;d!==h&&(C.forEach(T=>d?.removeEventListener(T,m)),d=h,C.forEach(T=>d?.addEventListener(T,m))),l()},500),B=setInterval(A,3e3);return()=>{clearInterval(y),clearInterval(B),clearTimeout(f),C.forEach(T=>d?.removeEventListener(T,m));const{watch:h}=n.current;h.session?.host&&h.room&&h.connected&&h.send({type:"update",...h.room,playing:!1,position:e.mediaRef.current?.currentTime??h.room.position})}},[e,o.session,g]),j(()=>{g()},[o.room,o.connected,r,s,g]),{needsPlayback:i,enablePlayback:()=>g(!0)}}export{Ss as A,ts as B,cs as C,Cs as D,ps as E,U as F,G,qn as M,ls as P,os as R,ws as S,es as T,is as a,hs as b,Yn as c,Xn as d,ss as e,rs as f,Zn as g,Ts as h,gs as i,bs as j,_s as k,xs as l,ys as m,vs as n,Gn as o,ds as p,as as q,Jn as r,Mr as s,on as t,ms as u,Qn as v,ks as w,us as x,fs as y,ns as z};
@@ -33,7 +33,7 @@
33
33
  background-color: #0c0d12;
34
34
  }
35
35
  </style>
36
- <script type="module" crossorigin src="/assets/index-DbRDs7tF.js"></script>
36
+ <script type="module" crossorigin src="/assets/index-Nyp_7HqY.js"></script>
37
37
  <link rel="modulepreload" crossorigin href="/assets/vendor-core-DfaOB3Rn.js">
38
38
  <link rel="modulepreload" crossorigin href="/assets/vendor-query-BBT5_sHx.js">
39
39
  <link rel="modulepreload" crossorigin href="/assets/vendor-icons-DrybRNxP.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serifpersia/dango",
3
- "version": "3.7.9",
3
+ "version": "3.8.1",
4
4
  "description": "A web application for watching anime.",
5
5
  "main": "orchestrator.js",
6
6
  "repository": {
@@ -69,5 +69,5 @@
69
69
  "allowScripts": {
70
70
  "esbuild@0.28.2": true
71
71
  },
72
- "versionDate": "2026-10-24T12:12:41.752Z"
72
+ "versionDate": "2026-10-25T15:41:53.510Z"
73
73
  }