@serifpersia/dango 4.0.7 → 4.0.9

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 (113) hide show
  1. package/README.md +1 -1
  2. package/client/dist/assets/AmbientLightMenu-JmM55s7j.js +1 -0
  3. package/client/dist/assets/{AnimeCard-CcvD-9Bi.js → AnimeCard-b-53YtWg.js} +1 -1
  4. package/client/dist/assets/{AnimeInfo-t3qfap0B.js → AnimeInfo-nkc_dqNh.js} +1 -1
  5. package/client/dist/assets/{AnimeInfoPage-D3vtcWL7.js → AnimeInfoPage-6Ee5ZHLo.js} +2 -2
  6. package/client/dist/assets/{Asmr-GHxClLoM.js → Asmr-DKguNIXd.js} +1 -1
  7. package/client/dist/assets/{AsmrPopup-Bt7wZkV8.js → AsmrPopup-CGEB-Kvs.js} +1 -1
  8. package/client/dist/assets/{AsmrResetProgressModal-Di6VgAZx.js → AsmrResetProgressModal-BeFdF9K3.js} +1 -1
  9. package/client/dist/assets/Home-CoBFY-dI.css +1 -0
  10. package/client/dist/assets/Home-DkqyQNvN.js +1 -0
  11. package/client/dist/assets/{Insights-B-jf5_UY.js → Insights-BuRpXDDL.js} +1 -1
  12. package/client/dist/assets/{LibraryListPage-B5q00Vno.js → LibraryListPage-DZFS8rVq.js} +1 -1
  13. package/client/dist/assets/{ListeningList-BNUrMPyA.js → ListeningList-VVvcvQlT.js} +1 -1
  14. package/client/dist/assets/{Manga-SYhXSYV_.js → Manga-CW8EcY5b.js} +1 -1
  15. package/client/dist/assets/{MangaInfoPage-CsGcpQ4g.js → MangaInfoPage-NoGbmyMn.js} +1 -1
  16. package/client/dist/assets/{MangaReadPage-B0BKdQeU.js → MangaReadPage-D5iydDmy.js} +1 -1
  17. package/client/dist/assets/{MangaResetProgressModal-8Q_Jp8Tk.js → MangaResetProgressModal-DzUFivte.js} +1 -1
  18. package/client/dist/assets/Mature-DciBmGdw.js +1 -0
  19. package/client/dist/assets/{MatureConsentModal-DoPl5ONK.js → MatureConsentModal-CJcnA2Uj.js} +1 -1
  20. package/client/dist/assets/{MediaCard-Ce90T0yC.js → MediaCard-CVcMufm7.js} +1 -1
  21. package/client/dist/assets/{Player-CYrY9dNs.js → Player-oPxiL_OZ.js} +6 -6
  22. package/client/dist/assets/{PlayerProvider-CjctET1A.js → PlayerProvider-Xhw7H58n.js} +1 -1
  23. package/client/dist/assets/PlayerSettings-BBy5U9hv.js +1 -0
  24. package/client/dist/assets/{PlayerSurface-B_rgFBYD.js → PlayerSurface-DfHO6_SI.js} +1 -1
  25. package/client/dist/assets/{QueueOptionsButton-BHkP1DB_.js → QueueOptionsButton-BY-l4POc.js} +1 -1
  26. package/client/dist/assets/{QueueRail-CxtCW4xn.js → QueueRail-cLqEp8MD.js} +1 -1
  27. package/client/dist/assets/{ReadingList-C0hu5BhB.js → ReadingList-Dumcsksm.js} +1 -1
  28. package/client/dist/assets/{ResetProgressModal-CncQLVw1.js → ResetProgressModal-BLU57mHM.js} +1 -1
  29. package/client/dist/assets/{Search-J3jIU8gd.js → Search-Cad-umPS.js} +1 -1
  30. package/client/dist/assets/{Settings-B8jClutS.js → Settings-BJgbyHSZ.js} +2 -2
  31. package/client/dist/assets/{SkeletonGrid-zCAxRZIz.js → SkeletonGrid-xe5EDdzV.js} +1 -1
  32. package/client/dist/assets/{Trackers-DTlCK6Gw.js → Trackers-FBVYcCT_.js} +1 -1
  33. package/client/dist/assets/Tv-B_EUjRAA.js +4 -0
  34. package/client/dist/assets/{TvInfo-Co-CnIbQ.js → TvInfo-Dp7dfUP2.js} +1 -1
  35. package/client/dist/assets/TvPopup-DuSXRbpD.js +1 -0
  36. package/client/dist/assets/{TvSearch-dkkP831q.js → TvSearch-Ye7Hj_un.js} +1 -1
  37. package/client/dist/assets/{TvWatchlist-CTxHqUB9.js → TvWatchlist-BvT_bqhG.js} +1 -1
  38. package/client/dist/assets/{VirtualKeyboard-ClY9H0vl.js → VirtualKeyboard-CzGcfsAk.js} +1 -1
  39. package/client/dist/assets/{WatchAlong-RAJe62YS.js → WatchAlong-DsPGvRNW.js} +1 -1
  40. package/client/dist/assets/{WatchAlongPanel-G2j2eopw.js → WatchAlongPanel-Pc2hYO_v.js} +1 -1
  41. package/client/dist/assets/{Watchlist-D8prt4l1.js → Watchlist-G-sHVKs0.js} +1 -1
  42. package/client/dist/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff +0 -0
  43. package/client/dist/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2 +0 -0
  44. package/client/dist/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff +0 -0
  45. package/client/dist/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2 +0 -0
  46. package/client/dist/assets/atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.woff +0 -0
  47. package/client/dist/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2 +0 -0
  48. package/client/dist/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2 +0 -0
  49. package/client/dist/assets/atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.woff +0 -0
  50. package/client/dist/assets/bangers-latin-400-normal-BAEm-Pv0.woff +0 -0
  51. package/client/dist/assets/bangers-latin-400-normal-DeHY8Ncq.woff2 +0 -0
  52. package/client/dist/assets/bangers-latin-ext-400-normal-7BLmjjiv.woff2 +0 -0
  53. package/client/dist/assets/bangers-latin-ext-400-normal-CzVt_Cgx.woff +0 -0
  54. package/client/dist/assets/bangers-vietnamese-400-normal-BbvBhFjQ.woff2 +0 -0
  55. package/client/dist/assets/bangers-vietnamese-400-normal-Ll9rymNv.woff +0 -0
  56. package/client/dist/assets/bree-serif-latin-400-normal-DFKDEHQE.woff2 +0 -0
  57. package/client/dist/assets/bree-serif-latin-400-normal-Dbaz2OwO.woff +0 -0
  58. package/client/dist/assets/bree-serif-latin-ext-400-normal-CnorAOA2.woff +0 -0
  59. package/client/dist/assets/bree-serif-latin-ext-400-normal-amfO-E0k.woff2 +0 -0
  60. package/client/dist/assets/chakra-petch-latin-400-normal-D7EtbySE.woff +0 -0
  61. package/client/dist/assets/chakra-petch-latin-400-normal-SafcrIr2.woff2 +0 -0
  62. package/client/dist/assets/chakra-petch-latin-700-normal-CnDBPjkL.woff2 +0 -0
  63. package/client/dist/assets/chakra-petch-latin-700-normal-D1s_c2du.woff +0 -0
  64. package/client/dist/assets/chakra-petch-latin-ext-400-normal-C8u6EFkq.woff2 +0 -0
  65. package/client/dist/assets/chakra-petch-latin-ext-400-normal-MNNNbyh_.woff +0 -0
  66. package/client/dist/assets/chakra-petch-latin-ext-700-normal-BeviJPUl.woff +0 -0
  67. package/client/dist/assets/chakra-petch-latin-ext-700-normal-DAkvJhej.woff2 +0 -0
  68. package/client/dist/assets/chakra-petch-thai-400-normal-Bw1Q-fVY.woff2 +0 -0
  69. package/client/dist/assets/chakra-petch-thai-400-normal-KdzBjiWs.woff +0 -0
  70. package/client/dist/assets/chakra-petch-thai-700-normal-B7WL5pBr.woff2 +0 -0
  71. package/client/dist/assets/chakra-petch-thai-700-normal-vZLZ_5L8.woff +0 -0
  72. package/client/dist/assets/chakra-petch-vietnamese-400-normal-Cn7ya5On.woff +0 -0
  73. package/client/dist/assets/chakra-petch-vietnamese-700-normal-gQuUA8Wu.woff +0 -0
  74. package/client/dist/assets/comic-neue-latin-400-normal-BdhG8RSD.woff2 +0 -0
  75. package/client/dist/assets/comic-neue-latin-400-normal-CU7kPFAv.woff +0 -0
  76. package/client/dist/assets/comic-neue-latin-700-normal-NE4Vcoll.woff2 +0 -0
  77. package/client/dist/assets/comic-neue-latin-700-normal-yR9qu__P.woff +0 -0
  78. package/client/dist/assets/{index-BOJFs4B4.js → index-CaTGvWwZ.js} +2 -2
  79. package/client/dist/assets/{libraryInvalidation-1xwHWgGv.js → libraryInvalidation-Bn7rPtR2.js} +1 -1
  80. package/client/dist/assets/oswald-cyrillic-ext-wght-normal-DLWmRmaW.woff2 +0 -0
  81. package/client/dist/assets/oswald-cyrillic-wght-normal-C8sJyxwB.woff2 +0 -0
  82. package/client/dist/assets/oswald-latin-ext-wght-normal-Dj_1K-Kw.woff2 +0 -0
  83. package/client/dist/assets/oswald-latin-wght-normal-CzS3kehr.woff2 +0 -0
  84. package/client/dist/assets/oswald-vietnamese-wght-normal-Tdf5mmdl.woff2 +0 -0
  85. package/client/dist/assets/{playbackCompletion-BpEGpC-Z.js → playbackCompletion-Cv5b1X7P.js} +1 -1
  86. package/client/dist/assets/russo-one-cyrillic-400-normal-BXZIn0h3.woff2 +0 -0
  87. package/client/dist/assets/russo-one-cyrillic-400-normal-rRbrNFRA.woff +0 -0
  88. package/client/dist/assets/russo-one-latin-400-normal-BfOuQF9V.woff2 +0 -0
  89. package/client/dist/assets/russo-one-latin-400-normal-CosRecV9.woff +0 -0
  90. package/client/dist/assets/russo-one-latin-ext-400-normal-BssN3Pxm.woff +0 -0
  91. package/client/dist/assets/russo-one-latin-ext-400-normal-CezFp_e4.woff2 +0 -0
  92. package/client/dist/assets/useAnimeInfoData-labdig-v.js +1 -0
  93. package/client/dist/assets/{useMangaLibrary-OgS0RRdO.js → useMangaLibrary-azB3VMor.js} +1 -1
  94. package/client/dist/assets/{useMangaPopup-Eyed-Gg3.js → useMangaPopup-CS9sxdTY.js} +1 -1
  95. package/client/dist/assets/{useTv-SLXsIWFQ.js → useTv-DtCO9m0I.js} +1 -1
  96. package/client/dist/assets/{useTvLibrary-F0S6WnwD.js → useTvLibrary-ByqbivhY.js} +1 -1
  97. package/client/dist/assets/useWatchAlongPlayer-BksJHCzs.css +1 -0
  98. package/client/dist/assets/useWatchAlongPlayer-CPxdEuB8.js +11 -0
  99. package/client/dist/index.html +1 -1
  100. package/client/dist/subtitle-font-licenses.txt +113 -0
  101. package/package.json +2 -2
  102. package/server/dist/server.js +2 -2
  103. package/server/package.json +1 -1
  104. package/client/dist/assets/Home-Bmc4hGfd.css +0 -1
  105. package/client/dist/assets/Home-C9caLBqU.js +0 -1
  106. package/client/dist/assets/Mature-DtyWIW42.js +0 -1
  107. package/client/dist/assets/OptionListMenu-CHqo2pTO.js +0 -1
  108. package/client/dist/assets/PlayerSettings-uDMPYAlP.js +0 -1
  109. package/client/dist/assets/Tv-CnahgiVt.js +0 -4
  110. package/client/dist/assets/TvPopup-Ci4SXMWf.js +0 -1
  111. package/client/dist/assets/useAnimeInfoData-CvV6vRjn.js +0 -1
  112. package/client/dist/assets/useWatchAlongPlayer-BsaopdPw.css +0 -1
  113. package/client/dist/assets/useWatchAlongPlayer-D-fPdbp2.js +0 -10
@@ -1 +1 @@
1
- import{p as s}from"./index-BOJFs4B4.js";const r=.8,o=5,a="autoplayEnabled",E="watchedOverlayEnabled",S=(t,e)=>e>0&&t>=e*r,c=new Set(["FINISHED","ENDED","COMPLETED","CANCELED","CANCELLED","RELEASED"]),d=t=>!!t&&c.has(t.trim().toUpperCase()),n=.25,h=(t,e)=>e>0&&Number.isFinite(e)&&t>=e-n,C=t=>t>o,D=()=>{try{return s.getItem(a)==="true"}catch{return!1}},O=t=>{try{s.setItem(a,String(t))}catch{}},i=()=>{try{return s.getItem(E)!=="false"}catch{return!0}},y=t=>{try{s.setItem(E,String(t))}catch{}};export{r as C,D as a,d as b,O as c,h as d,C as h,S as i,i as l,y as s};
1
+ import{p as s}from"./index-CaTGvWwZ.js";const r=.8,o=5,a="autoplayEnabled",E="watchedOverlayEnabled",S=(t,e)=>e>0&&t>=e*r,c=new Set(["FINISHED","ENDED","COMPLETED","CANCELED","CANCELLED","RELEASED"]),d=t=>!!t&&c.has(t.trim().toUpperCase()),n=.25,h=(t,e)=>e>0&&Number.isFinite(e)&&t>=e-n,C=t=>t>o,D=()=>{try{return s.getItem(a)==="true"}catch{return!1}},O=t=>{try{s.setItem(a,String(t))}catch{}},i=()=>{try{return s.getItem(E)!=="false"}catch{return!0}},y=t=>{try{s.setItem(E,String(t))}catch{}};export{r as C,D as a,d as b,O as c,h as d,C as h,S as i,i as l,y as s};
@@ -0,0 +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{v,N as h,q as Q,t as y}from"./index-CaTGvWwZ.js";import{u as A}from"./QueueOptionsButton-BY-l4POc.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 d}from"./vendor-core-DfaOB3Rn.js";import{b as g,u as i,a as u}from"./vendor-query-BBT5_sHx.js";import{r as s,L as r,q as p}from"./index-BOJFs4B4.js";import{i as c}from"./libraryInvalidation-1xwHWgGv.js";const F=e=>e.contentRating==="erotica"||e.contentRating==="pornographic"||e.type==="doujinshi";function q(e,t){const a=e.titles??{};return t==="englishName"?a.en||e.title:t==="nativeName"&&(a.native||a.romaji||e.altTitle)||e.title}function C(e){return{englishName:e.titles?.en??e.title,nativeName:e.titles?.native??e.titles?.romaji??e.altTitle??void 0}}const y=/^anilist:ch:(\d+)$/;function P(e){if(!e)return null;const t=y.exec(e.trim());if(!t)return null;const a=Number.parseInt(t[1],10);return Number.isFinite(a)?a:null}function R(e,t){const a=String(t),n=e.find(m=>(m.number??"").trim()===a);return n||(e.find(m=>{const o=Number.parseFloat((m.number??"").trim());return Number.isFinite(o)&&o===t})??null)}const O=["Reading","Completed","On-Hold","Dropped","Planned"],v=(e,t)=>`${e.toLowerCase()}:${t}`,T=(e="All",t=1,a=24)=>{const n=s();return g(n.mangaLibrary.list.queryOptions({status:e,page:t,limit:a}))},b=()=>{const e=s();return g({...e.mangaLibrary.ids.queryOptions(),staleTime:1e3*60})},$=e=>{const t=s();return g({...t.mangaLibrary.check.queryOptions({id:e??""}),enabled:!!e,staleTime:1e3*60})},E=e=>{const t=s();return g({...t.mangaLibrary.entry.queryOptions({id:e??""}),enabled:!!e,staleTime:1e3*60})},Q=()=>{const e=s(),t=i();return u(e.mangaLibrary.link.mutationOptions({onSuccess:a=>{r.success(a?.progressMigrated?"Linked - chapter progress carried over":"Linked to AniList entry"),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to link: ${a.message}`)}}))},N=(e=24)=>{const t=s();return g(t.mangaProgress.continueReading.queryOptions({limit:e}))},A=e=>{const t=s();return g({...t.mangaProgress.byManga.queryOptions({mangaId:e??""}),enabled:!!e})},L=()=>{const e=s(),t=i();return u(e.mangaLibrary.add.mutationOptions({onSuccess:(a,n)=>{n.silent||r.success("Bookmarked"),t.invalidateQueries(e.mangaLibrary.pathFilter()),t.invalidateQueries({queryKey:[p.mangaLibrary]})},onError:a=>{r.error(`Failed to bookmark: ${a.message}`)}}))},M=()=>{const e=s(),t=i();return u(e.mangaLibrary.remove.mutationOptions({onSuccess:()=>{r.success("Bookmark removed"),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to remove: ${a.message}`)}}))},B=()=>{const e=s(),t=i();return u(e.mangaLibrary.setStatus.mutationOptions({onSuccess:()=>{r.success("Status updated"),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to update status: ${a.message}`)}}))},I=()=>{const e=s(),t=i();return u(e.mangaProgress.save.mutationOptions({onSuccess:()=>{c(t,"manga",!0),t.invalidateQueries(e.mangaProgress.pathFilter())}}))},_=()=>{const e=s(),t=i();return u(e.mangaProgress.remove.mutationOptions({onSuccess:()=>{r.success("Progress reset"),c(t,"manga",!0),t.invalidateQueries(e.mangaProgress.pathFilter())},onError:a=>{r.error(`Failed to reset progress: ${a.message}`)}}))},j=()=>{const e=s(),t=i();return u(e.mangaLibrary.batchStatus.mutationOptions({onSuccess:a=>{r.success(`Status updated for ${a.updated??0} items`),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to update statuses: ${a.message}`)}}))},w=()=>{const e=s(),t=i();return u(e.mangaLibrary.removeMany.mutationOptions({onSuccess:a=>{const n=a.removed??0;r.success(`Removed ${n} ${n===1?"item":"items"} from reading list`),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to remove: ${a.message}`)}}))},x=()=>{const e=s(),t=i();return u(e.mangaProgress.removeMany.mutationOptions({onSuccess:a=>{const n=a.removed??0;r.success(`Reset progress for ${n} ${n===1?"item":"items"}`),c(t,"manga",!0),t.invalidateQueries(e.mangaProgress.pathFilter())},onError:a=>{r.error(`Failed to reset progress: ${a.message}`)}}))},H=()=>{const e=L(),t=M(),{data:a}=b(),n=d(()=>new Set(a?.ids||[]),[a]);return{toggle:o=>{const l=v(o.provider,o.id);n.has(l)?t.mutate(l):e.mutate({provider:o.provider,mangaId:o.id,title:o.title,cover:o.cover,altTitle:o.altTitle,contentRating:o.contentRating})},bookmarkedIds:n,pending:e.isPending||t.isPending}};export{O as M,C as a,N as b,E as c,L as d,Q as e,$ as f,A as g,M as h,F as i,B as j,R as k,I as l,v as m,T as n,j as o,P as p,w as q,q as r,x as s,_ as t,H as u};
1
+ import{T as d}from"./vendor-core-DfaOB3Rn.js";import{b as g,u as i,a as u}from"./vendor-query-BBT5_sHx.js";import{v as s,N as r,q as p}from"./index-CaTGvWwZ.js";import{i as c}from"./libraryInvalidation-Bn7rPtR2.js";const F=e=>e.contentRating==="erotica"||e.contentRating==="pornographic"||e.type==="doujinshi";function q(e,t){const a=e.titles??{};return t==="englishName"?a.en||e.title:t==="nativeName"&&(a.native||a.romaji||e.altTitle)||e.title}function C(e){return{englishName:e.titles?.en??e.title,nativeName:e.titles?.native??e.titles?.romaji??e.altTitle??void 0}}const v=/^anilist:ch:(\d+)$/;function P(e){if(!e)return null;const t=v.exec(e.trim());if(!t)return null;const a=Number.parseInt(t[1],10);return Number.isFinite(a)?a:null}function R(e,t){const a=String(t),n=e.find(m=>(m.number??"").trim()===a);return n||(e.find(m=>{const o=Number.parseFloat((m.number??"").trim());return Number.isFinite(o)&&o===t})??null)}const O=["Reading","Completed","On-Hold","Dropped","Planned"],y=(e,t)=>`${e.toLowerCase()}:${t}`,T=(e="All",t=1,a=24)=>{const n=s();return g(n.mangaLibrary.list.queryOptions({status:e,page:t,limit:a}))},b=()=>{const e=s();return g({...e.mangaLibrary.ids.queryOptions(),staleTime:1e3*60})},$=e=>{const t=s();return g({...t.mangaLibrary.check.queryOptions({id:e??""}),enabled:!!e,staleTime:1e3*60})},E=e=>{const t=s();return g({...t.mangaLibrary.entry.queryOptions({id:e??""}),enabled:!!e,staleTime:1e3*60})},N=()=>{const e=s(),t=i();return u(e.mangaLibrary.link.mutationOptions({onSuccess:a=>{r.success(a?.progressMigrated?"Linked - chapter progress carried over":"Linked to AniList entry"),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to link: ${a.message}`)}}))},Q=(e=24)=>{const t=s();return g(t.mangaProgress.continueReading.queryOptions({limit:e}))},A=e=>{const t=s();return g({...t.mangaProgress.byManga.queryOptions({mangaId:e??""}),enabled:!!e})},L=()=>{const e=s(),t=i();return u(e.mangaLibrary.add.mutationOptions({onSuccess:(a,n)=>{n.silent||r.success("Bookmarked"),t.invalidateQueries(e.mangaLibrary.pathFilter()),t.invalidateQueries({queryKey:[p.mangaLibrary]})},onError:a=>{r.error(`Failed to bookmark: ${a.message}`)}}))},M=()=>{const e=s(),t=i();return u(e.mangaLibrary.remove.mutationOptions({onSuccess:()=>{r.success("Bookmark removed"),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to remove: ${a.message}`)}}))},B=()=>{const e=s(),t=i();return u(e.mangaLibrary.setStatus.mutationOptions({onSuccess:()=>{r.success("Status updated"),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to update status: ${a.message}`)}}))},I=()=>{const e=s(),t=i();return u(e.mangaProgress.save.mutationOptions({onSuccess:()=>{c(t,"manga",!0),t.invalidateQueries(e.mangaProgress.pathFilter())}}))},_=()=>{const e=s(),t=i();return u(e.mangaProgress.remove.mutationOptions({onSuccess:()=>{r.success("Progress reset"),c(t,"manga",!0),t.invalidateQueries(e.mangaProgress.pathFilter())},onError:a=>{r.error(`Failed to reset progress: ${a.message}`)}}))},j=()=>{const e=s(),t=i();return u(e.mangaLibrary.batchStatus.mutationOptions({onSuccess:a=>{r.success(`Status updated for ${a.updated??0} items`),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to update statuses: ${a.message}`)}}))},w=()=>{const e=s(),t=i();return u(e.mangaLibrary.removeMany.mutationOptions({onSuccess:a=>{const n=a.removed??0;r.success(`Removed ${n} ${n===1?"item":"items"} from reading list`),t.invalidateQueries(e.mangaLibrary.pathFilter()),c(t,"manga")},onError:a=>{r.error(`Failed to remove: ${a.message}`)}}))},x=()=>{const e=s(),t=i();return u(e.mangaProgress.removeMany.mutationOptions({onSuccess:a=>{const n=a.removed??0;r.success(`Reset progress for ${n} ${n===1?"item":"items"}`),c(t,"manga",!0),t.invalidateQueries(e.mangaProgress.pathFilter())},onError:a=>{r.error(`Failed to reset progress: ${a.message}`)}}))},H=()=>{const e=L(),t=M(),{data:a}=b(),n=d(()=>new Set(a?.ids||[]),[a]);return{toggle:o=>{const l=y(o.provider,o.id);n.has(l)?t.mutate(l):e.mutate({provider:o.provider,mangaId:o.id,title:o.title,cover:o.cover,altTitle:o.altTitle,contentRating:o.contentRating})},bookmarkedIds:n,pending:e.isPending||t.isPending}};export{O as M,C as a,Q as b,E as c,L as d,N as e,$ as f,A as g,M as h,F as i,B as j,R as k,I as l,y as m,T as n,j as o,P as p,w as q,q as r,x as s,_ as t,H as u};
@@ -1 +1 @@
1
- import{u as T}from"./vendor-core-DfaOB3Rn.js";import{ae as d,d as k}from"./index-BOJFs4B4.js";import{r as y}from"./useMangaLibrary-OgS0RRdO.js";import{a as h}from"./MediaCard-Ce90T0yC.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}=d(e.provider,e.mangaId,e.rating||"safe",e.mature||!1),{titlePreference:g}=k(),s=o?.chapters.length??0,a=y({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 T(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 T}from"./vendor-core-DfaOB3Rn.js";import{ae as k,e as d}from"./index-CaTGvWwZ.js";import{r as y}from"./useMangaLibrary-azB3VMor.js";import{a as h}from"./MediaCard-CVcMufm7.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}=k(e.provider,e.mangaId,e.rating||"safe",e.mature||!1),{titlePreference:g}=d(),s=o?.chapters.length??0,a=y({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 T(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{N as c,u as o,S as d}from"./vendor-core-DfaOB3Rn.js";import{I as v}from"./vendor-icons-C1Pj_eSX.js";import{M as T}from"./MediaCard-Ce90T0yC.js";import{T as g}from"./TvPopup-Ci4SXMWf.js";import{l as m,k as f,r as i}from"./index-BOJFs4B4.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-C1Pj_eSX.js";import{M as T}from"./MediaCard-CVcMufm7.js";import{T as g}from"./TvPopup-DuSXRbpD.js";import{n as m,l as f,v as i}from"./index-CaTGvWwZ.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",n=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:n,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:(s,t)=>o(g,{item:e,anchorRect:s,onMouseEnter:t.onMouseEnter,onMouseLeave:t.onMouseLeave,onRequestClose:t.close})})}),p=1e3*60*5,_=e=>{const a=i(),{query:n,type:s,genre:t,year:r,sort_by:l,page:y}=e;return u({...a.tv.search.queryOptions({q:n?.trim()||"",type:s||"multi",genre:t||"",year:r&&r!=="ALL"?r:"",sortBy:l||"popularity.desc",page:y||1}),staleTime:p,retry:1})},b=(e="all",a="week",n=1,s=!0)=>{const t=i(),r=u({...t.tv.trending.queryOptions({mediaType:e,timeWindow:a,page:n}),enabled:s,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{r as a,L as o,q as m,t as y,ai as g}from"./index-BOJFs4B4.js";import{i as u}from"./libraryInvalidation-1xwHWgGv.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}`)}})},L=()=>{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=L(),{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,L 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{v as a,N as o,q as m,t as y,ai as g}from"./index-CaTGvWwZ.js";import{i as u}from"./libraryInvalidation-Bn7rPtR2.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}`)}})},L=()=>{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=L(),{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,L 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};
@@ -0,0 +1 @@
1
+ ._controls_1ne4g_1{display:flex;align-items:stretch;gap:1rem;flex-wrap:wrap;width:100%}._titleContainer_1ne4g_9{display:flex;flex-direction:column;gap:.75rem}._scheduleInfo_1ne4g_15{display:flex;gap:1rem;font-size:.95rem;color:var(--text-tertiary);align-items:center}._status_1ne4g_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_1ne4g_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_1ne4g_45{background:#ffffff0d;color:var(--text-primary);border:1px solid rgba(255,255,255,.09);padding:.55rem 1.1rem;border-radius:var(--radius-full);font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:.5rem;font-size:.82rem;flex:0 1 auto;min-width:110px;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);letter-spacing:.01em}._watchlistBtn_1ne4g_45:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px);box-shadow:0 4px 12px #00000040}._watchlistBtn_1ne4g_45._inList_1ne4g_73{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_1ne4g_45._inList_1ne4g_73:hover{background:color-mix(in srgb,var(--color-success) 18%,transparent);border-color:var(--color-success)}._queueBtn_1ne4g_84{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent-light)}._queueBtn_1ne4g_84: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_1ne4g_96{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:color-mix(in srgb,var(--accent) 60%,transparent);color:var(--accent-lighter)}._modeToggleBtn_1ne4g_102{background:#ffffff0d;color:var(--text-primary);border-color:#ffffff1a;flex:0 1 auto}._modeToggleActive_1ne4g_109{background:color-mix(in srgb,var(--color-info) 12%,transparent);border-color:color-mix(in srgb,var(--color-info) 45%,transparent);color:#dbeafe}._modeToggleActive_1ne4g_109:hover{background:color-mix(in srgb,var(--color-info) 18%,transparent);border-color:color-mix(in srgb,var(--color-info) 65%,transparent)}._watchlistBtn_1ne4g_45:disabled{opacity:.7;cursor:wait;transform:none}._watchlistBtn_1ne4g_45:disabled:hover{transform:none}._markWatchedBtn_1ne4g_130{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_1ne4g_130: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_1ne4g_144{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_1ne4g_144:hover{background:color-mix(in srgb,var(--color-success) 18%,transparent);border-color:var(--color-success)}._streamPanel_1ne4g_155{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem 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:1rem 1.25rem;box-shadow:var(--glass-shadow)}._streamPanel_1ne4g_155 ._desktopEpisodeActions_1ne4g_169{flex:0 0 auto;align-self:center;margin:0}._streamPanel_1ne4g_155 ._sourceLoader_1ne4g_175{grid-column:1 / -1;animation:none}._streamPanel_1ne4g_155>:last-child:not(:first-child){grid-column:1 / -1}._streamPanel_1ne4g_155 select{max-width:320px}._episodeActions_1ne4g_188{display:flex;flex-wrap:wrap;gap:.75rem;margin:.5rem 0 .25rem}._desktopEpisodeActions_1ne4g_169{flex:1 1 320px;justify-content:flex-end;align-self:flex-end;margin:0}._mobileEpisodeActions_1ne4g_202{margin:.5rem 0 .25rem}._episodeNavBtn_1ne4g_206{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_1ne4g_206:hover:not(:disabled){border-color:var(--text-secondary);background:#ffffff14}._episodeNavBtn_1ne4g_206:disabled{opacity:.5;cursor:not-allowed}._episodeNavBtn_1ne4g_206._primary_1ne4g_235{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);border-color:transparent;color:#fff}._episodeNavBtn_1ne4g_206._primary_1ne4g_235:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-light) 0%,var(--accent) 100%)}._episodeNavBtn_1ne4g_206._secondary_1ne4g_245{background:#ffffff0a}._episodePickerBtn_1ne4g_249{display:none}._queueCountdown_1ne4g_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_1ne4g_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_1ne4g_268 span{line-height:1}._speedBoostBadge_1ne4g_268 svg{display:block;flex-shrink:0}._videoContainer_1ne4g_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_1ne4g_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_1ne4g_326{display:flex;gap:10px}._dot_1ne4g_331{width:12px;height:12px;border-radius:50%;background-color:var(--accent);animation:_bounce_1ne4g_1 1.4s infinite ease-in-out both;box-shadow:0 0 10px var(--accent-glow)}._dot_1ne4g_331:nth-child(1){animation-delay:-.32s}._dot_1ne4g_331:nth-child(2){animation-delay:-.16s}._bufferingOverlay_1ne4g_348{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:20}._bufferingSpinner_1ne4g_357{width:var(--size-48);height:var(--size-48);border-radius:var(--radius-full);background:conic-gradient(from 0deg,transparent 0deg 160deg,var(--accent) 300deg,var(--accent-lighter) 360deg),var(--track-bg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));filter:drop-shadow(0 0 8px var(--accent-glow));animation:_spin_1ne4g_459 var(--duration-spin) linear infinite}@keyframes _spin_1ne4g_459{to{transform:rotate(360deg)}}._videoIframe_1ne4g_381{width:100%;height:100%;border:none;position:absolute;top:0;left:0;object-fit:cover;border-radius:inherit}._videoContainer_1ne4g_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_1ne4g_299 video._videoElementHidden_1ne4g_404{opacity:0;pointer-events:none}._upscalerCanvas_1ne4g_409{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_1ne4g_409._upscalerActive_1ne4g_422{opacity:1}._upscalerStatusBadge_1ne4g_426{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_1ne4g_441{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:hidden;border-radius:inherit}._sourceLoader_1ne4g_175{padding:.75rem;display:flex;justify-content:center}._spinner_1ne4g_459{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-left-color:var(--accent);border-radius:50%;animation:_spin_1ne4g_459 1s linear infinite}@media(max-width:768px){._titleContainer_1ne4g_9 h1{font-size:1.25rem}._episodeActions_1ne4g_188{margin-top:.25rem}._controls_1ne4g_1{gap:.5rem}._watchlistBtn_1ne4g_45,._queueBtn_1ne4g_84,._markWatchedBtn_1ne4g_130,._modeToggleBtn_1ne4g_102{flex:1 1 calc(50% - .25rem);min-width:0;padding:.5rem .75rem;font-size:.78rem;gap:.4rem;border:none}._episodeNavBtn_1ne4g_206{flex:1 1 calc(50% - .25rem);min-width:0;padding:.6rem .9rem;font-size:.8rem;min-height:44px;border:none}._episodePickerBtn_1ne4g_249{display:inline-flex;flex-basis:100%;padding:.6rem .9rem;font-size:.78rem;min-height:44px;border:none;grid-column:1 / -1}._desktopEpisodeActions_1ne4g_169{display:none}._mobileEpisodeActions_1ne4g_202{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}._streamPanel_1ne4g_155{grid-template-columns:minmax(0,1fr)}._errorOverlay_1ne4g_526{padding:1rem;gap:.5rem;overflow-y:auto}._errorOverlay_1ne4g_526 p{font-size:1rem}._retryButton_1ne4g_536{padding:.5rem 1.25rem;font-size:.9rem;margin-top:0}}@media(min-width:769px){._mobileEpisodeActions_1ne4g_202{display:none}}._detailsToggleBtn_1ne4g_549{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_1ne4g_549:hover{background:var(--accent-subtle);color:var(--accent-lighter);border-color:var(--accent)}._descriptionSection_1ne4g_572{margin-top:1.75rem;padding:1.5rem;background:#ffffff05;border-radius:var(--radius-lg);border:1px solid var(--glass-border)}._descriptionSection_1ne4g_572._synopsisFlat_1ne4g_580{margin-top:0;padding:0;background:none;border:0;border-radius:0;min-width:0}._synopsisFlat_1ne4g_580 p{max-width:80ch}._descriptionSection_1ne4g_572 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_1ne4g_572 h3:before{content:"";width:4px;height:16px;background:var(--accent);border-radius:var(--radius-full);box-shadow:0 0 10px var(--accent-glow)}._videoContainer_1ne4g_299._fullscreenActive_1ne4g_614{border-radius:0}._videoContainer_1ne4g_299:fullscreen,._videoContainer_1ne4g_299:-webkit-full-screen{width:100vw;height:100vh;border-radius:0}._videoContainer_1ne4g_299:fullscreen video,._videoContainer_1ne4g_299:fullscreen canvas,._videoContainer_1ne4g_299:-webkit-full-screen video,._videoContainer_1ne4g_299:-webkit-full-screen canvas{border-radius:0}._errorOverlay_1ne4g_526{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_1ne4g_526 p{margin:0;font-size:1.2rem;font-weight:500}._errorSubtext_1ne4g_657{color:var(--text-tertiary)!important;font-size:.9rem!important}._retryButton_1ne4g_536{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_1ne4g_536:hover{background:var(--accent-light);transform:translateY(-2px)}._watchedOverlay_1ne4g_680{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;text-align:center;color:var(--text-primary);background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 60%),#000;border-radius:inherit}._watchedTitle_1ne4g_702{margin:0;font-size:1.2rem;font-weight:700}._watchedSubtext_1ne4g_708{margin:0;color:var(--text-secondary);font-size:.9rem}._watchedActions_1ne4g_714{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin-top:.5rem;width:100%;max-width:560px}._watchedActions_1ne4g_714>:first-child{justify-self:end}._watchedActions_1ne4g_714>:last-child{justify-self:start}._watchedActionsCentered_1ne4g_732{display:flex;flex-wrap:wrap;justify-content:center}._watchedActionsCentered_1ne4g_732>div{display:contents}@media(max-width:480px){._watchedActions_1ne4g_714{display:flex;flex-wrap:wrap;justify-content:center}._watchedActions_1ne4g_714>div{display:contents}}._playerPageLayout_1rxx0_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_1rxx0_1 .8s var(--ease-smooth)}._playerPageLayout_1rxx0_1._noSidebar_1rxx0_15{grid-template-columns:minmax(0,1fr)}._episodeSidebar_1rxx0_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_1rxx0_1 .8s var(--ease-smooth)}._playerMain_1rxx0_32{min-width:0;display:flex;flex-direction:column;gap:1.25rem;animation:_slideUpIn_1rxx0_1 .8s .1s var(--ease-smooth) both}._videoPlayerWrapper_1rxx0_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_1rxx0_56{display:flex;gap:2rem;align-items:flex-start}._playerAnimeCard_1rxx0_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_1rxx0_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;position:relative;overflow:hidden}._playerInfoContainer_1rxx0_74:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--accent) 40%,transparent) 50%,transparent 100%);pointer-events:none}._infoColumns_1rxx0_104{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_1rxx0_104:has(>:last-child:not(:first-child)){grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);align-items:start}}._playerAnimeCard_1rxx0_62 img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .4s ease}._playerAnimeCard_1rxx0_62:hover img{transform:scale(1.1)}._videoTitleSection_1rxx0_134{flex:1;display:flex;flex-direction:column;justify-content:flex-start;gap:1.25rem}._videoTitleSection_1rxx0_134 h1{margin:0;font-size:2.25rem;line-height:1.1;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}@keyframes _fadeIn_1rxx0_1{0%{opacity:0}to{opacity:1}}@keyframes _slideUpIn_1rxx0_1{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1280px){._playerPageLayout_1rxx0_1{grid-template-columns:280px 1fr;padding:1.5rem;gap:1.5rem}}@media(max-width:1024px){._playerPageLayout_1rxx0_1{display:flex;flex-direction:column;gap:2rem}._episodeSidebar_1rxx0_19{width:100%;height:auto;max-height:500px;position:static;order:2;overflow-y:auto;-webkit-overflow-scrolling:touch}._playerMain_1rxx0_32{order:1;width:100%}._playerInfoHeader_1rxx0_56{padding:0}}@media(max-width:768px){._playerPageLayout_1rxx0_1{padding:1rem;gap:1.5rem}._episodeSidebar_1rxx0_19{display:none}._playerMain_1rxx0_32{gap:1.5rem}._videoPlayerWrapper_1rxx0_40{border-radius:0}._playerInfoContainer_1rxx0_74{border-radius:var(--radius-xl);padding:1.5rem}._playerInfoHeader_1rxx0_56{flex-direction:row;align-items:flex-start;text-align:left;gap:1.5rem}._videoTitleSection_1rxx0_134 h1{font-size:1.75rem}._playerAnimeCard_1rxx0_62{width:100px}}@media(max-width:480px){._playerInfoHeader_1rxx0_56{flex-direction:column;align-items:center;text-align:center}._playerAnimeCard_1rxx0_62{width:120px}}@media(max-width:480px)and (orientation:portrait){._videoPlayerWrapper_1rxx0_40{padding-top:100%;position:relative}}@media(min-width:481px)and (max-width:768px)and (orientation:portrait){._videoPlayerWrapper_1rxx0_40{padding-top:75%;position:relative}}@media(max-width:900px)and (orientation:landscape){._playerPageLayout_1rxx0_1{padding:0;gap:0}._videoPlayerWrapper_1rxx0_40{border-radius:0;height:100vh;padding-top:0}._playerInfoContainer_1rxx0_74{padding:1.5rem}}body.low-end ._playerPageLayout_1rxx0_1,body.low-end ._episodeSidebar_1rxx0_19,body.low-end ._playerInfoContainer_1rxx0_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_1rxx0_40{box-shadow:none!important;border-color:var(--border-primary)!important}body.low-end ._episodeSidebar_1rxx0_19{background:var(--bg-secondary)!important}._theaterMode_1rxx0_308{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_1rxx0_1 .4s var(--ease-smooth)!important;overflow:hidden!important;z-index:var(--z-overlay)!important}._theaterMode_1rxx0_308 ._playerMain_1rxx0_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_1rxx0_1 .4s cubic-bezier(.25,1,.5,1)!important;position:relative!important;z-index:1!important}._theaterMode_1rxx0_308 ._videoPlayerWrapper_1rxx0_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_1rxx0_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_1rxx0_308{padding:1rem!important}._theaterMode_1rxx0_308 ._playerMain_1rxx0_32{width:100%!important;max-width:none!important}}@font-face{font-family:Comic Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/comic-neue-latin-400-normal-BdhG8RSD.woff2) format("woff2"),url(/assets/comic-neue-latin-400-normal-CU7kPFAv.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/comic-neue-latin-700-normal-NE4Vcoll.woff2) format("woff2"),url(/assets/comic-neue-latin-700-normal-yR9qu__P.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chakra-petch-thai-400-normal-Bw1Q-fVY.woff2) format("woff2"),url(/assets/chakra-petch-thai-400-normal-KdzBjiWs.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/chakra-petch-vietnamese-400-normal-Cn7ya5On.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chakra-petch-latin-ext-400-normal-C8u6EFkq.woff2) format("woff2"),url(/assets/chakra-petch-latin-ext-400-normal-MNNNbyh_.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chakra-petch-latin-400-normal-SafcrIr2.woff2) format("woff2"),url(/assets/chakra-petch-latin-400-normal-D7EtbySE.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-thai-700-normal-B7WL5pBr.woff2) format("woff2"),url(/assets/chakra-petch-thai-700-normal-vZLZ_5L8.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/chakra-petch-vietnamese-700-normal-gQuUA8Wu.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-latin-ext-700-normal-DAkvJhej.woff2) format("woff2"),url(/assets/chakra-petch-latin-ext-700-normal-BeviJPUl.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-latin-700-normal-CnDBPjkL.woff2) format("woff2"),url(/assets/chakra-petch-latin-700-normal-D1s_c2du.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-cyrillic-ext-wght-normal-DLWmRmaW.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-cyrillic-wght-normal-C8sJyxwB.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-vietnamese-wght-normal-Tdf5mmdl.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-latin-ext-wght-normal-Dj_1K-Kw.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-latin-wght-normal-CzS3kehr.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Bree Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bree-serif-latin-ext-400-normal-amfO-E0k.woff2) format("woff2"),url(/assets/bree-serif-latin-ext-400-normal-CnorAOA2.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Bree Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bree-serif-latin-400-normal-DFKDEHQE.woff2) format("woff2"),url(/assets/bree-serif-latin-400-normal-Dbaz2OwO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Russo One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/russo-one-cyrillic-400-normal-BXZIn0h3.woff2) format("woff2"),url(/assets/russo-one-cyrillic-400-normal-rRbrNFRA.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Russo One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/russo-one-latin-ext-400-normal-CezFp_e4.woff2) format("woff2"),url(/assets/russo-one-latin-ext-400-normal-BssN3Pxm.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Russo One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/russo-one-latin-400-normal-BfOuQF9V.woff2) format("woff2"),url(/assets/russo-one-latin-400-normal-CosRecV9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bangers-vietnamese-400-normal-BbvBhFjQ.woff2) format("woff2"),url(/assets/bangers-vietnamese-400-normal-Ll9rymNv.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bangers-latin-ext-400-normal-7BLmjjiv.woff2) format("woff2"),url(/assets/bangers-latin-ext-400-normal-CzVt_Cgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bangers-latin-400-normal-DeHY8Ncq.woff2) format("woff2"),url(/assets/bangers-latin-400-normal-BAEm-Pv0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}._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_11isr_1{display:flex;flex-direction:column;height:100%;min-height:0;background:transparent}._drawerContainer_11isr_9{height:auto;min-height:100%}._episodeListHeader_11isr_14{background:transparent;padding:var(--space-6);border-bottom:1px solid var(--glass-border)}._drawerHeader_11isr_20{position:sticky;top:0;z-index:5;background:#0c0c0ffa;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}._episodeListTitle_11isr_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_11isr_41{display:flex;flex-wrap:wrap;gap:var(--space-2)}._rangeButton_11isr_47{background:#ffffff0a;border:1px solid var(--border-primary);color:var(--text-secondary);padding:.35rem .65rem;border-radius:var(--radius-full);font-size:.76rem;font-weight:600;transition:all var(--transition-fast);cursor:pointer}._rangeButton_11isr_47:hover{border-color:#ffffff40;color:var(--text-primary);background:#ffffff14}._rangeButton_11isr_47:focus-visible{outline:none;box-shadow:var(--shadow-focus)}._rangeButton_11isr_47._active_11isr_70{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent-light);border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 8px var(--accent-glow)}._episodeList_11isr_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_11isr_90{overflow:visible;-webkit-overflow-scrolling:auto;touch-action:pan-y}._episodeList_11isr_1::-webkit-scrollbar{width:6px}._episodeList_11isr_1::-webkit-scrollbar-track{background:transparent}._episodeList_11isr_1::-webkit-scrollbar-thumb{background:#ffffff24;background-clip:padding-box;border-radius:var(--radius-full);border:2px solid transparent}._episodeList_11isr_1:hover::-webkit-scrollbar-thumb{background-color:#ffffff47}._episodeList_11isr_1::-webkit-scrollbar-thumb:hover{background-color:var(--accent)}._episodeItem_11isr_119{padding:var(--space-3) var(--space-4);margin-bottom:6px;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary);font-weight:600;display:flex;justify-content:space-between;align-items:center;font-size:.88rem;border:1px solid transparent;background:#ffffff05}._episodeItem_11isr_119:hover{background:#ffffff12;color:var(--text-primary);transform:translate(4px);border-color:#ffffff1f}._episodeItem_11isr_119:focus-visible{outline:none;box-shadow:var(--shadow-focus)}._episodeItem_11isr_119._watched_11isr_147{color:var(--text-muted);opacity:.55}._episodeItem_11isr_119._watched_11isr_147:hover{opacity:.85}._episodeItem_11isr_119._active_11isr_70{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-light);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:0 2px 10px var(--accent-glow)}._episodeItem_11isr_119._active_11isr_70:hover{transform:none;background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}._episodeItem_11isr_119 span{display:flex;align-items:center;gap:var(--space-3)}._episodeThumb_11isr_175{width:76px;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.08)}._episodeText_11isr_185{flex-direction:column!important;align-items:flex-start!important;gap:2px!important;min-width:0;flex:1}._episodeLabel_11isr_193{font-weight:700;color:inherit}._episodeSub_11isr_198{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_g7xev_1{display:flex;flex-direction:column;gap:1rem;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);padding:1.25rem 1.5rem;border-radius:var(--radius-xl);width:100%}._providerSelectContainer_g7xev_14{display:flex;flex-direction:column;gap:.6rem;width:100%}._providerSelect_g7xev_14,._sourceSelect_g7xev_1{height:40px;padding:0 1rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;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 1rem center;transition:all var(--transition-fast);width:100%;max-width:400px}._providerSelect_g7xev_14:hover,._sourceSelect_g7xev_1:hover{border-color:var(--border-secondary);background-color:var(--bg-elevated)}._providerSelect_g7xev_14:focus,._sourceSelect_g7xev_1:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}._providerSelect_g7xev_14 option,._sourceSelect_g7xev_1 option{background:var(--bg-tertiary);color:var(--text-primary)}._sourceSelectionContainer_g7xev_1 h4,._providerSelectContainer_g7xev_14 h4{margin:0;color:var(--text-tertiary);font-weight:700;text-transform:uppercase;font-size:.7rem;letter-spacing:.1em}._sourceButtons_g7xev_70{display:flex;flex-wrap:wrap;gap:.5rem}._sourceButton_g7xev_70{background:#ffffff0a;color:var(--text-secondary);border:1px solid var(--glass-border);padding:.55rem 1.1rem;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:600;transition:all var(--transition-fast)}._sourceButton_g7xev_70:hover{background:#ffffff17;border-color:#ffffff4d;color:var(--text-primary);transform:translateY(-1px)}._sourceButton_g7xev_70._active_g7xev_95{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent-lighter);box-shadow:0 2px 12px var(--accent-glow)}._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,11 @@
1
+ import{u as t,d as C,A as k,T as ee,h as D,$ as ht,q as P}from"./vendor-core-DfaOB3Rn.js";import{p as E,aj as mt,S as Ke,B as Y,F as gt,a5 as re,v as yt,ak as qe,q as Q,ab as _t,t as bt,j as vt,a7 as St,al as He,am as wt}from"./index-CaTGvWwZ.js";import{I as j}from"./vendor-icons-C1Pj_eSX.js";import{s as ce,u as Ct,d as xt,m as le}from"./PlayerProvider-Xhw7H58n.js";import{u as kt}from"./vendor-query-BBT5_sHx.js";import{i as de,d as Lt}from"./playbackCompletion-Cv5b1X7P.js";const Tt="_controls_1ne4g_1",Nt="_titleContainer_1ne4g_9",At="_scheduleInfo_1ne4g_15",Et="_status_1ne4g_23",Bt="_nextEpisode_1ne4g_35",$t="_watchlistBtn_1ne4g_45",Pt="_inList_1ne4g_73",It="_queueBtn_1ne4g_84",Rt="_queueActive_1ne4g_96",Mt="_modeToggleBtn_1ne4g_102",Ot="_modeToggleActive_1ne4g_109",Ft="_markWatchedBtn_1ne4g_130",Dt="_markWatchedDone_1ne4g_144",Wt="_streamPanel_1ne4g_155",qt="_desktopEpisodeActions_1ne4g_169",Ht="_sourceLoader_1ne4g_175",zt="_episodeActions_1ne4g_188",Vt="_mobileEpisodeActions_1ne4g_202",Kt="_episodeNavBtn_1ne4g_206",Ut="_primary_1ne4g_235",Qt="_secondary_1ne4g_245",jt="_episodePickerBtn_1ne4g_249",Gt="_queueCountdown_1ne4g_253",Yt="_speedBoostBadge_1ne4g_268",Xt="_videoContainer_1ne4g_299",Jt="_loadingOverlay_1ne4g_312",Zt="_loadingDots_1ne4g_326",en="_dot_1ne4g_331",tn="_bounce_1ne4g_1",nn="_bufferingOverlay_1ne4g_348",rn="_bufferingSpinner_1ne4g_357",sn="_spin_1ne4g_459",an="_videoIframe_1ne4g_381",on="_videoElementHidden_1ne4g_404",cn="_upscalerCanvas_1ne4g_409",ln="_upscalerActive_1ne4g_422",dn="_upscalerStatusBadge_1ne4g_426",un="_subtitleOverlay_1ne4g_441",fn="_spinner_1ne4g_459",pn="_errorOverlay_1ne4g_526",hn="_retryButton_1ne4g_536",mn="_detailsToggleBtn_1ne4g_549",gn="_descriptionSection_1ne4g_572",yn="_synopsisFlat_1ne4g_580",_n="_fullscreenActive_1ne4g_614",bn="_errorSubtext_1ne4g_657",vn="_watchedOverlay_1ne4g_680",Sn="_watchedTitle_1ne4g_702",wn="_watchedSubtext_1ne4g_708",Cn="_watchedActions_1ne4g_714",xn="_watchedActionsCentered_1ne4g_732",Jr={controls:Tt,titleContainer:Nt,scheduleInfo:At,status:Et,nextEpisode:Bt,watchlistBtn:$t,inList:Pt,queueBtn:It,queueActive:Rt,modeToggleBtn:Mt,modeToggleActive:Ot,markWatchedBtn:Ft,markWatchedDone:Dt,streamPanel:Wt,desktopEpisodeActions:qt,sourceLoader:Ht,episodeActions:zt,mobileEpisodeActions:Vt,episodeNavBtn:Kt,primary:Ut,secondary:Qt,episodePickerBtn:jt,queueCountdown:Gt,speedBoostBadge:Yt,videoContainer:Xt,loadingOverlay:Jt,loadingDots:Zt,dot:en,bounce:tn,bufferingOverlay:nn,bufferingSpinner:rn,spin:sn,videoIframe:an,videoElementHidden:on,upscalerCanvas:cn,upscalerActive:ln,upscalerStatusBadge:dn,subtitleOverlay:un,spinner:fn,errorOverlay:pn,retryButton:hn,detailsToggleBtn:mn,descriptionSection:gn,synopsisFlat:yn,fullscreenActive:_n,errorSubtext:bn,watchedOverlay:vn,watchedTitle:Sn,watchedSubtext:wn,watchedActions:Cn,watchedActionsCentered:xn},kn="_playerPageLayout_1rxx0_1",Ln="_noSidebar_1rxx0_15",Tn="_episodeSidebar_1rxx0_19",Nn="_playerMain_1rxx0_32",An="_videoPlayerWrapper_1rxx0_40",En="_playerInfoHeader_1rxx0_56",Bn="_playerAnimeCard_1rxx0_62",$n="_playerInfoContainer_1rxx0_74",Pn="_infoColumns_1rxx0_104",In="_videoTitleSection_1rxx0_134",Rn="_theaterMode_1rxx0_308",Zr={playerPageLayout:kn,noSidebar:Ln,episodeSidebar:Tn,playerMain:Nn,videoPlayerWrapper:An,playerInfoHeader:En,playerAnimeCard:Bn,playerInfoContainer:$n,infoColumns:Pn,videoTitleSection:In,theaterMode:Rn},ge={default:{label:"Default",family:""},"comic-neue":{label:"Comic Neue",family:"'Comic Neue', sans-serif"},"chakra-petch":{label:"Chakra Petch",family:"'Chakra Petch', sans-serif"},oswald:{label:"Oswald",family:"'Oswald Variable', sans-serif"},"bree-serif":{label:"Bree Serif",family:"'Bree Serif', serif"},"russo-one":{label:"Russo One",family:"'Russo One', sans-serif"},bangers:{label:"Bangers",family:"'Bangers', sans-serif"},"atkinson-hyperlegible":{label:"Atkinson Hyperlegible",family:"'Atkinson Hyperlegible', sans-serif"}};function Ue(e){return typeof e=="string"&&Object.hasOwn(ge,e)}const oe={font:"subtitleFont",fontSize:"subtitleFontSize",position:"subtitlePosition",bgOpacity:"subtitleBgOpacity",bgColor:"subtitleBgColor",textColor:"subtitleTextColor",edge:"subtitleEdge",outlineWidth:"subtitleOutlineWidth",outlineColor:"subtitleOutlineColor",bold:"subtitleBold"},z={font:"default",fontSize:1.8,position:0,bgOpacity:.5,bgColor:"#000000",textColor:"#ffffff",edge:"shadow",outlineWidth:1,outlineColor:"#000000",bold:!1},he=(e,n,r)=>Math.max(n,Math.min(r,e)),ie=e=>typeof e=="string"&&/^#[0-9a-fA-F]{6}$/.test(e),se=(e,n,r,o)=>{try{const s=E.getItem(e);if(s===null)return n;const i=parseFloat(s);return Number.isFinite(i)?he(i,r,o):n}catch{return n}};function Mn(){let e=z.font,n=z.edge,r=z.bgColor,o=z.textColor,s=z.outlineColor,i=z.bold;try{const c=E.getItem(oe.font);Ue(c)&&(e=c);const d=E.getItem("subtitleEdge");(d==="shadow"||d==="outline"||d==="none")&&(n=d);const a=E.getItem("subtitleBgColor");ie(a)&&(r=a);const l=E.getItem("subtitleTextColor");ie(l)&&(o=l);const g=E.getItem(oe.outlineColor);ie(g)&&(s=g);const w=E.getItem("subtitleBold");w!==null&&(i=w==="true")}catch{}return{font:e,fontSize:se("subtitleFontSize",z.fontSize,.5,10),position:se("subtitlePosition",z.position,0,100),bgOpacity:se("subtitleBgOpacity",z.bgOpacity,0,1),bgColor:r,textColor:o,edge:n,outlineWidth:se(oe.outlineWidth,z.outlineWidth,.5,4),outlineColor:s,bold:i}}function ye(e,n){const r=`rgba(0, 0, 0, ${he(n,0,1)})`;if(!ie(e))return r;const o=parseInt(e.slice(1,3),16),s=parseInt(e.slice(3,5),16),i=parseInt(e.slice(5,7),16);return`rgba(${o}, ${s}, ${i}, ${he(n,0,1)})`}function Qe(e,n,r){return e==="none"?"none":e==="outline"?[`-${n}px 0 0 ${r}`,`${n}px 0 0 ${r}`,`0 -${n}px 0 ${r}`,`0 ${n}px 0 ${r}`,`-${n}px -${n}px 0 ${r}`,`${n}px -${n}px 0 ${r}`,`-${n}px ${n}px 0 ${r}`,`${n}px ${n}px 0 ${r}`,`0 0 6px ${ye(r,.9)}`].join(", "):"0 0 4px black, 0 1px 2px rgba(0, 0, 0, 0.8)"}function es(e){return`
2
+ video::cue {
3
+ ${e.font==="default"?"":`font-family: ${ge[e.font].family} !important;`}
4
+ font-size: ${e.fontSize}rem !important;
5
+ color: ${e.textColor} !important;
6
+ background-color: ${ye(e.bgColor,e.bgOpacity)} !important;
7
+ font-weight: ${e.bold?"bold":"normal"} !important;
8
+ text-shadow: ${Qe(e.edge,e.outlineWidth,e.outlineColor)} !important;
9
+ }
10
+ `}function ts(e){return[...e.font==="default"?[]:[`font-family: ${ge[e.font].family}`],`font-size: ${e.fontSize}rem`,`color: ${e.textColor}`,`background-color: ${ye(e.bgColor,e.bgOpacity)}`,`font-weight: ${e.bold?"700":"400"}`,`text-shadow: ${Qe(e.edge,e.outlineWidth,e.outlineColor)}`,"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(`;
11
+ `)+";"}const On=new Set(["b","i","u","strong","em"]);function ns(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/&lt;(\/?)([a-zA-Z]+)&gt;/g,(r,o,s)=>On.has(s.toLowerCase())?`<${o}${s.toLowerCase()}>`:r)}function rs(e){return e.replace(/<[^>]*>/g,"")}const ss=["#ffffff","#ffff00","#7CFC00","#00e5ff","#ff9ff3","#ffa502"],as=["#000000","#1e272e","#2f3542","#3d0c02","#0c3d2e","#ffffff"],os=["#000000","#ffffff","#ffff00","#00e5ff","#ff9ff3","#ffa502"];function is(e,n){const r=Number.isFinite(e)?e*16:z.fontSize*16;return!Number.isFinite(n)||n<=0?r/16:Math.min(r,Math.max(13,n*.07))/16}function cs(e){const n=Math.abs(e/1e3).toFixed(1);return e>0?`+${n}s`:e<0?`-${n}s`:"0.0s"}function ls(e,n){const r=e.clientWidth||0,o=e.clientHeight||0,s=e.videoWidth>0&&e.videoHeight>0?e.videoWidth/e.videoHeight:0;let i=o;s>0&&r>0&&o>0&&(i=r/o>s?o:r/s);const c=Math.max(0,(o-i)/2),d=Math.max(0,Math.min(100,Number(n)||0))/100*i;return c+d}const ds=({isOpen:e,onClose:n,title:r,heading:o,message:s,children:i})=>t(Ke,{isOpen:e,onClose:n,title:r,width:"sm",children:t("div",{style:{padding:"1rem",textAlign:"center"},children:[t("button",{type:"button",className:mt.closeButton,onClick:n,"aria-label":"Close",children:t(j,{name:"times",size:16})}),t(j,{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:s}),i&&t("div",{style:{marginTop:"1rem",display:"flex",gap:"10px",justifyContent:"center",flexWrap:"wrap"},children:i})]})}),us=({isOpen:e,onClose:n,title:r,message:o,resumeLabel:s="Resume",restartLabel:i="Start Over",onResume:c,onRestart:d})=>t(Ke,{isOpen:e,onClose:n,title:r,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:d,children:i}),t(Y,{onClick:c,children:s})]})]})}),fs=({visible:e,title:n,episode:r,server:o,mode:s,audio:i,subtitles:c,onBack:d,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:l=>l.stopPropagation(),children:[t("button",{className:a.backBtn,onClick:l=>{l.stopPropagation(),d()},title:"Back","aria-label":"Back",children:t(j,{name:"chevron-left"})}),t("div",{className:`${a.titleInfo} ${ce.topBarTitleInfo}`,children:[t("span",{className:a.title,children:n}),r&&t("span",{className:a.episode,children:r}),(s||o||i||c)&&t("div",{className:ce.streamDetails,children:[s&&t("span",{className:ce.modeTag,children:s.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]})]})]})]})}),Fn=e=>(e.language??e.lang??"").toLowerCase(),Dn=e=>(e.label??"").toLowerCase(),Wn=e=>`${e.language??e.lang??""}|||${e.label??""}`,qn=e=>Fn(e).startsWith("en")||Dn(e).includes("english");function ps(e,n){if(e.length===0||n?.enabled===!1)return-1;const r=n?.lastKey??null;if(r){const s=e.findIndex(c=>Wn(c)===r);if(s>=0)return s;const i=r.indexOf("|||");if(i>=0){const c=r.slice(0,i),d=r.slice(i+3),a=e.findIndex(l=>{const g=l.language??l.lang??"",w=l.label??"";return d!==""&&w===d||c!==""&&c!=="undefined"&&(g===c||w===c)});if(a>=0)return a}else{const c=e.findIndex(d=>d.label===r||d.language===r||d.lang===r);if(c>=0)return c}}const o=e.findIndex(qn);return o>=0?o:0}const Hn="_statusArea_1xccu_1",zn="_toggleBtn_1xccu_20",Vn="_shortcuts_1xccu_46",Kn="_shortcutGroup_1xccu_56",Un="_shortcut_1xccu_46",Qn="_key_1xccu_70",jn="_label_1xccu_91",S={statusArea:Hn,toggleBtn:zn,shortcuts:Vn,shortcutGroup:Kn,shortcut:Un,key:Qn,label:jn},hs=({showTheater:e=!0})=>{const[n,r]=C(!1);return t("div",{className:S.statusArea,children:[t("button",{type:"button",className:S.toggleBtn,onClick:()=>r(o=>!o),"aria-expanded":n,"aria-controls":"player-shortcuts",children:[t(j,{name:"keyboard",size:14}),t("span",{children:"Keyboard Shortcuts"}),n?t(j,{name:"chevron-up",size:12}):t(j,{name:"chevron-down",size:12})]}),n&&t("div",{id:"player-shortcuts",className:S.shortcuts,children:[t("div",{className:S.shortcutGroup,children:[t("div",{className:S.shortcut,children:[t("span",{className:S.key,children:"↑"}),t("span",{className:S.key,children:"↓"}),t("span",{className:S.label,children:"Volume"})]}),t("div",{className:S.shortcut,children:[t("span",{className:S.key,children:"←"}),t("span",{className:S.key,children:"→"}),t("span",{className:S.label,children:"Seek"})]})]}),t("div",{className:S.shortcutGroup,children:[t("div",{className:S.shortcut,children:[t("span",{className:S.key,children:"Space"}),t("span",{className:S.label,children:"Play/Pause"})]}),t("div",{className:S.shortcut,children:[t("span",{className:S.key,children:"F"}),t("span",{className:S.label,children:"Fullscreen"})]}),t("div",{className:S.shortcut,children:[t("span",{className:S.key,children:"M"}),t("span",{className:S.label,children:"Mute"})]}),e&&t("div",{className:S.shortcut,children:[t("span",{className:S.key,children:"T"}),t("span",{className:S.label,children:"Theater"})]}),t("div",{className:S.shortcut,children:[t("span",{className:S.key,children:"P"}),t("span",{className:S.label,children:"Previous"})]}),t("div",{className:S.shortcut,children:[t("span",{className:S.key,children:"N"}),t("span",{className:S.label,children:"Next"})]})]})]})]})},Gn="_episodeListContainer_11isr_1",Yn="_drawerContainer_11isr_9",Xn="_episodeListHeader_11isr_14",Jn="_drawerHeader_11isr_20",Zn="_episodeListTitle_11isr_29",er="_rangeSelector_11isr_41",tr="_rangeButton_11isr_47",nr="_active_11isr_70",rr="_episodeList_11isr_1",sr="_drawerList_11isr_90",ar="_episodeItem_11isr_119",or="_watched_11isr_147",ir="_episodeThumb_11isr_175",cr="_episodeText_11isr_185",lr="_episodeLabel_11isr_193",dr="_episodeSub_11isr_198",x={episodeListContainer:Gn,drawerContainer:Yn,episodeListHeader:Xn,drawerHeader:Jn,episodeListTitle:Zn,rangeSelector:er,rangeButton:tr,active:nr,episodeList:rr,drawerList:sr,episodeItem:ar,watched:or,episodeThumb:ir,episodeText:cr,episodeLabel:lr,episodeSub:dr},ur=({episodes:e,currentEpisode:n,watchedEpisodes:r=[],onEpisodeClick:o,variant:s="sidebar",title:i="Episodes",header:c})=>{const[d,a]=C(0),l=k(null),g=ee(()=>e.map(u=>typeof u=="string"?{id:u,label:`Episode ${u}`}:u),[e]),w=ee(()=>new Set(r),[r]);D(()=>{const u=l.current;if(!u)return;let f=u.parentElement;for(;f;){const y=window.getComputedStyle(f);if((y.overflowY==="auto"||y.overflowY==="scroll")&&f.scrollHeight>f.clientHeight)break;f=f.parentElement}if(!f)return;const T=f.getBoundingClientRect(),p=u.getBoundingClientRect();f.scrollTop+=p.top+p.height/2-(T.top+f.clientHeight/2)},[n,d]);const L=ee(()=>{if(g.length<=100)return[];const u=[];for(let f=0;f<g.length;f+=100){const T=f+1,p=Math.min(f+100,g.length);u.push(`${T}-${p}`)}return u},[g]),I=ee(()=>{if(L.length===0)return g;const u=L[d];if(!u)return g;const[f,T]=u.split("-"),p=parseInt(f,10),y=parseInt(T,10);return g.slice(p-1,y)},[g,L,d]);return t("div",{className:`${x.episodeListContainer} ${s==="drawer"?x.drawerContainer:""}`,children:[t("div",{className:`${x.episodeListHeader} ${s==="drawer"?x.drawerHeader:""}`,children:[c,t("h3",{className:x.episodeListTitle,children:i}),L.length>0&&t("div",{className:x.rangeSelector,children:L.map((u,f)=>t("button",{className:`${x.rangeButton} ${d===f?x.active:""}`,onClick:()=>a(f),children:u},u))})]}),t("div",{className:`${x.episodeList} ${s==="drawer"?x.drawerList:""}`,children:I.map(u=>{const f=u.id===n,T=w.has(u.id)||u.watched===!0;return t("div",{ref:f?l:void 0,className:`${x.episodeItem} ${T?x.watched:""} ${f?x.active:""}`,onClick:()=>o(u.id),children:[u.thumbnail&&t(gt,{src:u.thumbnail,alt:"",loading:"lazy",decoding:"async",className:x.episodeThumb}),t("span",{className:x.episodeText,children:[t("span",{className:x.episodeLabel,children:u.label??`Episode ${u.id}`}),u.sublabel&&t("span",{className:x.episodeSub,children:u.sublabel})]})]},u.id)})})]})},ms=({variant:e="sidebar",count:n=12})=>t("div",{className:`${x.episodeListContainer} ${e==="drawer"?x.drawerContainer:""}`,children:[t("div",{className:`${x.episodeListHeader} ${e==="drawer"?x.drawerHeader:""}`,children:[t("h3",{className:x.episodeListTitle,children:"Episodes"}),t("div",{className:x.rangeSelector,children:[t(re,{width:"60px",height:"28px",variant:"rectangular"}),t(re,{width:"60px",height:"28px",variant:"rectangular"}),t(re,{width:"60px",height:"28px",variant:"rectangular"})]})]}),t("div",{className:`${x.episodeList} ${e==="drawer"?x.drawerList:""}`,children:Array.from({length:n}).map((r,o)=>t("div",{className:x.episodeItem,style:{border:"none",background:"transparent"},children:t(re,{width:"120px",height:"1.2rem",variant:"text"})},o))})]}),fr="_shell_cys6s_1",pr="_overlay_cys6s_10",hr="_drawer_cys6s_21",mr="_handle_cys6s_56",gr="_header_cys6s_64",yr="_headerCopy_cys6s_73",_r="_kicker_cys6s_79",br="_title_cys6s_87",vr="_closeBtn_cys6s_94",Sr="_body_cys6s_116",K={shell:fr,overlay:pr,drawer:hr,handle:mr,header:gr,headerCopy:yr,kicker:_r,title:br,closeBtn:vr,body:Sr};function gs({isOpen:e,onClose:n,episodes:r,currentEpisode:o,watchedEpisodes:s=[],onEpisodeClick:i,title:c,header:d}){return D(()=>{if(!e)return;const a=g=>{g.key==="Escape"&&n()},l=document.body.style.overflow;return document.body.style.overflow="hidden",document.addEventListener("keydown",a),()=>{document.body.style.overflow=l,document.removeEventListener("keydown",a)}},[e,n]),e?ht(t("div",{className:K.shell,role:"dialog","aria-modal":"true","aria-label":"Episode picker",children:[t("button",{className:K.overlay,type:"button",onClick:n,"aria-label":"Close episodes"}),t("aside",{className:K.drawer,children:[t("div",{className:K.handle}),t("div",{className:K.header,children:[t("div",{className:K.headerCopy,children:[t("span",{className:K.kicker,children:"Episode picker"}),t("h3",{className:K.title,children:"Choose an episode"})]}),t("button",{className:K.closeBtn,type:"button",onClick:n,"aria-label":"Close",children:t(j,{name:"times"})})]}),t("div",{className:K.body,children:t(ur,{episodes:r,currentEpisode:o,watchedEpisodes:s,onEpisodeClick:i,variant:"drawer",title:c,header:d})})]})]}),document.body):null}const wr="_sourceSelectionContainer_g7xev_1",Cr="_providerSelectContainer_g7xev_14",xr="_providerSelect_g7xev_14",kr="_sourceSelect_g7xev_1",Lr="_sourceButtons_g7xev_70",Tr="_sourceButton_g7xev_70",Nr="_active_g7xev_95",ys={sourceSelectionContainer:wr,providerSelectContainer:Cr,providerSelect:xr,sourceSelect:kr,sourceButtons:Lr,sourceButton:Tr,active:Nr},_s=({skipIntervals:e,showId:n,episodeNumber:r,episodeCount:o,sourceType:s,showMeta:i})=>{const c=kt(),d=yt(),{engine:a,mediaRef:l}=Ct({volumeKey:"playerVolume",mutedKey:"playerMuted"}),{isPlaying:g,isMuted:w,volume:L,duration:I,isScrubbing:u,isBuffering:f,isFullscreen:T,isSpeedBoostActive:p,showControls:y,playbackLocked:_}=xt(a),B=a.containerRef,h=k(null),N=k(0),F=k(Math.random().toString(36).substring(2)),b=a.setShowControls,[$,W]=C(E.getItem("autoSkipEnabled")==="true"),[U,A]=C(null),[H]=C(Mn),[je,_e]=C(H.font),[Ge,be]=C(H.fontSize),[Ye,ve]=C(H.position),[Xe,Se]=C(H.bgOpacity),[Je,we]=C(H.bgColor),[Ze,Ce]=C(H.textColor),[et,xe]=C(H.edge),[tt,ke]=C(H.outlineWidth),[nt,Le]=C(H.outlineColor),[rt,Te]=C(H.bold),Ne=P((v,R)=>{if({font:m=>Ue(m)?(_e(m),!0):!1,fontSize:m=>typeof m!="number"?!1:(be(m),!0),position:m=>typeof m!="number"?!1:(ve(m),!0),bgOpacity:m=>typeof m!="number"?!1:(Se(m),!0),bgColor:m=>typeof m!="string"?!1:(we(m),!0),textColor:m=>typeof m!="string"?!1:(Ce(m),!0),edge:m=>m!=="shadow"&&m!=="outline"&&m!=="none"?!1:(xe(m),!0),outlineWidth:m=>typeof m!="number"?!1:(ke(m),!0),outlineColor:m=>typeof m!="string"?!1:(Le(m),!0),bold:m=>typeof m!="boolean"?!1:(Te(m),!0)}[v](R))try{E.setItem(oe[v],String(R))}catch{}},[]),[st,at]=C([]),[ot,it]=C(null),[ct,lt]=C(!1),[dt,ut]=C(!1),[ft,Ae]=C(()=>{try{return E.getItem("playerUseNativeControls")==="true"}catch{return!1}}),X=k(!1),te=k(-1),ne=P(()=>{const v=l.current;return!n||!r||!i?.name?null:{showId:n,episodeNumber:r,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:s==="iframe",sessionId:F.current,isAdult:i.isAdult}},[a,l,n,r,o,i,s]),M=P((v=!1,R=!1)=>{if(X.current)return!1;const q=ne();if(!q)return!1;const m=l.current;if(!m&&!v&&s!=="iframe"||s!=="iframe"&&q.duration<=0)return!1;const V=a.getTimeline().currentTime;if(!R){if(V===0)return!1;const Z=m?Math.abs(V-te.current):0;if(!v&&m&&V!==m.duration&&Z<5)return!1}return q.currentTime=V,te.current=V,v?(async()=>{try{await qe("progress.updateProgress",q),c.invalidateQueries({queryKey:[Q.playerData,n]}),c.invalidateQueries({queryKey:[Q.videoSources,n,r]}),c.invalidateQueries({queryKey:[Q.continueWatching]}),c.invalidateQueries({queryKey:[Q.thisWeekSchedule]}),c.invalidateQueries(d.continueWatching.pathFilter())}catch(Z){console.error("Failed to update progress:",Z)}})():qe("progress.updateProgress",q).then(()=>{de(q.currentTime,q.duration)&&c.invalidateQueries({queryKey:[Q.playerData,n]})}).catch(Z=>console.error("Failed to update progress:",Z)),!0},[a,ne,s,c,n,r,d.continueWatching,l]);D(()=>{const v=()=>{X.current||M(!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),X.current||M(!0),q.current&&clearTimeout(q.current)}},[M]);const Ee=P(()=>a.setShowControls(!0),[a]),Be=a.toggleFullscreen,$e=P(()=>{a.togglePlay(),b(!0)},[a,b]),Pe=P(()=>{a.toggleMute(),b(!0)},[a,b]),Ie=P(v=>{a.seekRelative(v),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>M(!1,!0),1500),b(!0)},[a,M,b]),Re=P(()=>{X.current=!1,M(!1,!0)},[M]),Me=P(()=>{b(!0),M(!1,!0)},[M,b]);D(()=>{X.current=!1,te.current=-1,N.current=0,F.current=Math.random().toString(36).substring(2),a.reset()},[a,n,r]);const Oe=a.reset;D(()=>{const v=F.current;return()=>{_t(v)}},[a,n,r]),D(()=>{if(s!=="iframe")return;M(!1,!0);const v=setInterval(()=>{M(!1,!0)},6e4);return()=>clearInterval(v)},[s,M]);const Fe=P(()=>{const v=l.current;if(!v)return;const R=v.currentTime||0,q=Date.now(),m=de(R,v.duration)&&!de(te.current,v.duration);(m||q-N.current>6e4)&&M(!1,m)&&(N.current=q);const V=e.find(J=>R>=J.start_time&&R<J.end_time)||null;A(J=>J?.skip_id!==V?.skip_id?V:J),$&&V&&!v.paused&&!a.getState().playbackLocked&&(a.seek(V.end_time),A(null))},[l,e,$,M,a]),De=P(()=>{const v=ne();v&&(v.currentTime=v.duration,bt.progress.updateProgress.mutate(v).then(()=>{c.invalidateQueries({queryKey:[Q.playerData,n]}),c.invalidateQueries({queryKey:[Q.videoSources,n,r]}),c.invalidateQueries({queryKey:[Q.continueWatching]})}).catch(R=>console.error("Failed to send final progress:",R)))},[ne,c,n,r]),We=P(()=>{X.current=!0,De()},[De]),pt=ee(()=>({togglePlay:$e,seek:Ie,toggleMute:Pe,toggleFullscreen:Be,onPlay:Re,onPause:Me,formatTime:vt,onTimeUpdate:Fe,onEnded:We,setShowControls:b,setIsAutoSkipEnabled:W,setCurrentSkipInterval:A,setSubtitleFont:_e,setSubtitleFontSize:be,setSubtitlePosition:ve,setSubtitleBgOpacity:Se,setSubtitleBgColor:we,setSubtitleTextColor:Ce,setSubtitleEdge:xe,setSubtitleOutlineWidth:ke,setSubtitleOutlineColor:Le,setSubtitleBold:Te,setSubtitleStyle:Ne,setAvailableSubtitles:at,setActiveSubtitleTrack:it,setShowSettings:lt,setShowVolumeSlider:ut,flashControls:Ee,sendProgressUpdate:M,setUseNativeControls:Ae,resetMediaState:Oe}),[$e,Ie,Pe,Be,Re,Me,Fe,We,M,Ae,Oe,Ee,Ne,b]);return{engine:a,refs:{videoRef:l,playerContainerRef:B},state:{playbackLocked:_,isPlaying:g,isMuted:w,volume:L,isFullscreen:T,duration:I,showControls:y,isScrubbing:u,isAutoSkipEnabled:$,currentSkipInterval:U,subtitleFont:je,subtitleFontSize:Ge,subtitlePosition:Ye,subtitleBgOpacity:Xe,subtitleBgColor:Je,subtitleTextColor:Ze,subtitleEdge:et,subtitleOutlineWidth:tt,subtitleOutlineColor:nt,subtitleBold:rt,availableSubtitles:st,activeSubtitleTrack:ot,showSettings:ct,showVolumeSlider:dt,isBuffering:f,isSpeedBoostActive:p,useNativeControls:ft},actions:pt}};function Ar(){try{return typeof navigator<"u"&&/android/i.test(navigator.userAgent)}catch{return!1}}function bs(e,n){const{refs:r,actions:o}=e,s=k(n);s.current=n;const i=k(!1),c=k(!1),d=a=>{try{if(a)return a.matches}catch{}try{return window.innerWidth>window.innerHeight}catch{return!1}};D(()=>{if(!Ar())return;let a=null;const l=()=>{const g=r.playerContainerRef.current;if(d(a)){if(!s.current||!g||le(r.videoRef.current)||c.current)return;i.current=!0,o.toggleFullscreen()}else c.current=!1,i.current&&(i.current=!1,le(r.videoRef.current)&&o.toggleFullscreen())};try{a=window.matchMedia("(orientation: landscape)"),a.addEventListener?a.addEventListener("change",l):a.addListener(l)}catch{}return l(),()=>{try{a&&(a.removeEventListener?a.removeEventListener("change",l):a.removeListener(l))}catch{}}},[o,r.playerContainerRef,r.videoRef,n]),D(()=>{const a=()=>{if(!le(r.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)}},[r.videoRef])}const Er=e=>Math.max(8,Math.min(40,Math.ceil(e/16.7)+4));function vs({videoRef:e,canvasRef:n,delayMs:r,enabled:o}){const s=k(r);s.current=r;const i=k([]),c=k(-1),d=k(-1),a=k(!1),l=k(0),g=k(null);D(()=>{const w=p=>{if(p)try{p.close()}catch{}},L=()=>{for(const p of i.current)w(p.bitmap);i.current=[]};if(!o){L(),c.current=-1,d.current=-1,a.current=!1,l.current=0;return}let I=!1;const u=()=>{g.current!==null&&(cancelAnimationFrame(g.current),g.current=null)},f=()=>{I||(u(),g.current=requestAnimationFrame(()=>{T()}))};async function T(){if(I)return;const p=e.current,y=n.current;if(!p||!y||p.videoWidth===0){f();return}if(p.paused||p.ended||document.hidden||p.readyState<HTMLMediaElement.HAVE_CURRENT_DATA){f();return}const _=p.getVideoPlaybackQuality().totalVideoFrames;if(_===c.current){f();return}(p.seeking||d.current>=0&&Math.abs(p.currentTime-d.current)>.5)&&(L(),a.current=!1,l.current=0,c.current=-1),d.current=p.currentTime,(y.width!==p.videoWidth||y.height!==p.videoHeight)&&(y.width=p.videoWidth,y.height=p.videoHeight);const B=Math.max(0,s.current||0);B>l.current&&(a.current=!1);try{const h=await createImageBitmap(p);if(I){w(h);return}c.current=_;const N=performance.now(),F=y.getContext("2d"),b=A=>{F&&F.drawImage(A,0,0,y.width,y.height)};if(B<=0){L(),a.current=!1,l.current=0,b(h),w(h),f();return}const $=i.current;$.push({bitmap:h,capture:N});const W=Er(B);for(;$.length>W;)w($.shift()?.bitmap);let U=-1;for(let A=$.length-1;A>=0;A--)if(N-$[A].capture>=B){U=A;break}if(U!==-1){for(let H=0;H<U;H++)w($.shift()?.bitmap);const A=$.shift();A?(b(A.bitmap),w(A.bitmap),a.current=!0,l.current=B):b(h)}else if(!a.current)b(h);else{const A=$.shift();A?(b(A.bitmap),w(A.bitmap)):b(h)}}catch{}f()}return f(),()=>{I=!0,u();for(const p of i.current)try{p.bitmap.close()}catch{}i.current=[]}},[o,e,n])}const ze=(e,n)=>{try{E.setItem("playerVideoDelayMs",String(e)),E.setItem("playerVideoDelayEnabled",String(n))}catch{}},Ve=e=>{try{E.setItem("playerVideoDelayEnabled",String(e))}catch{}};function Ss(e,n){const[r,o]=C(()=>{try{const _=Number(E.getItem("playerVideoDelayMs"));if(Number.isFinite(_)&&_>=0&&_<=500)return Math.round(_)}catch{}return 180}),[s,i]=C(()=>{try{return E.getItem("playerVideoDelayEnabled")==="true"}catch{return!1}}),[c,d]=C(!1),[a,l]=C(!1),g=k(null),w=k(null),L=_=>{const B=Math.max(0,Math.min(500,Math.round(_)));o(B);try{E.setItem("playerVideoDelayMs",String(B))}catch{}},I=_=>{i(_),Ve(_)},u=P(()=>{l(!1),d(!1)},[]);return{videoDelayMs:r,videoDelayEnabled:s,setDelayEnabled:I,handleVideoDelayChange:L,isCalibrating:c,testClipActive:a,stopCalibration:u,openAvSyncCalibrator:()=>{g.current={enabled:s,ms:r},i(!0),Ve(!0),n?.(),d(!0)},cancelAvSyncCalibrator:()=>{const _=g.current;g.current=null,_&&(o(_.ms),i(_.enabled),ze(_.ms,_.enabled)),l(!1),d(!1)},applyAvSyncCalibrator:()=>{g.current=null,i(!0),ze(r,!0),l(!1),d(!1)},toggleTestClip:()=>{if(a){l(!1);return}const _=e.current;_&&!isNaN(_.currentTime)&&(w.current=_.currentTime),l(!0)},calibReturnRef:w,effectiveVideoDelayMs:s?r:0}}function ws(){const[e,n]=C(()=>{try{return E.getItem("playerTheaterMode")==="true"}catch{return!1}});D(()=>{try{e?document.body.classList.add("theater-mode"):document.body.classList.remove("theater-mode")}catch(s){console.error(s)}return()=>{try{document.body.classList.remove("theater-mode")}catch(s){console.error(s)}}},[e]);const r=P(()=>{n(s=>{const i=!s;try{E.setItem("playerTheaterMode",i.toString())}catch{}return i})},[]),o=P(s=>{if(e&&s.target===s.currentTarget){n(!1);try{E.setItem("playerTheaterMode","false")}catch{}}},[e]);return{isTheaterMode:e,toggleTheaterMode:r,handleLayoutClick:o}}const G={enabled:!0,blur:60,saturation:150,brightness:70,opacity:60};function Br(){try{const e=E.getItem("playerAmbientLight");if(!e)return G;const n=JSON.parse(e),r=(o,s,i,c)=>{const d=Number(o);return Number.isFinite(d)?Math.max(i,Math.min(c,d)):s};return{enabled:n.enabled??G.enabled,blur:r(n.blur,G.blur,0,120),saturation:r(n.saturation,G.saturation,0,200),brightness:r(n.brightness,G.brightness,20,120),opacity:r(n.opacity,G.opacity,10,100)}}catch{return G}}function Cs(){const[e,n]=C(Br),r=P(o=>{n(s=>{const i={...s,...o};try{E.setItem("playerAmbientLight",JSON.stringify(i))}catch{}return i})},[]);return{settings:e,update:r}}const $r="_theaterAmbient_x9t0o_1",Pr={theaterAmbient:$r},ue=160,fe=90,Ir=120,xs=({videoRef:e,active:n,settings:r,className:o})=>{const s=k(null);return D(()=>{if(!n)return;const i=s.current,c=e.current;if(!i||!c)return;const d=i.getContext("2d",{alpha:!1});if(!d)return;let a=0,l=0,g=!1;const w=()=>{if(!(c.readyState<2||!c.videoWidth))try{const f=c.videoWidth,T=c.videoHeight,p=ue/fe,y=f/T;let _=f,B=T,h=0,N=0;y>p?(_=T*p,h=(f-_)/2):(B=f/p,N=(T-B)/2),d.drawImage(c,h,N,_,B,0,0,ue,fe)}catch{}},L=f=>{g||c.paused||(a=requestAnimationFrame(L),!(f-l<Ir)&&(l=f,w()))},I=()=>{g||(cancelAnimationFrame(a),l=0,a=requestAnimationFrame(L))},u=()=>cancelAnimationFrame(a);return c.addEventListener("play",I),c.addEventListener("pause",u),c.addEventListener("seeked",w),c.addEventListener("loadeddata",w),a=requestAnimationFrame(L),()=>{g=!0,cancelAnimationFrame(a),c.removeEventListener("play",I),c.removeEventListener("pause",u),c.removeEventListener("seeked",w),c.removeEventListener("loadeddata",w)}},[n,e]),n?t("canvas",{ref:s,width:ue,height:fe,"aria-hidden":"true",className:o??Pr.theaterAmbient,style:{filter:`blur(${r.blur}px) saturate(${r.saturation}%) brightness(${r.brightness}%)`,opacity:r.opacity/100}}):null},Rr="_row_1fq55_1",Mr="_rowHeader_1fq55_9",Or="_rowLabel_1fq55_17",Fr="_rowValue_1fq55_28",Dr="_slider_1fq55_36",Wr="_swatches_1fq55_99",qr="_swatch_1fq55_99",Hr="_swatchPicked_1fq55_114",zr="_colorInput_1fq55_120",Vr="_segmented_1fq55_131",O={row:Rr,rowHeader:Mr,rowLabel:Or,rowValue:Fr,slider:Dr,swatches:Wr,swatch:qr,swatchPicked:Hr,colorInput:zr,segmented:Vr},Kr=({label:e,display:n,min:r,max:o,step:s,value:i,percent:c,onChange:d,onCommit:a})=>t("div",{className:O.row,children:[t("div",{className:O.rowHeader,children:[t("span",{className:O.rowLabel,children:e}),t("span",{className:O.rowValue,children:n})]}),t("input",{type:"range",className:O.slider,min:r,max:o,step:s,value:i,"aria-label":e,"data-speed-boost-ignore":"true",onInput:l=>d(Number(l.target.value)),onMouseDown:l=>l.stopPropagation(),onPointerDown:l=>l.stopPropagation(),onTouchStart:l=>l.stopPropagation(),onPointerUp:a,onPointerCancel:a,onTouchEnd:a,onKeyUp:a,onBlur:a,style:{"--slider-percent":`${c}%`}})]}),ks=({label:e,colors:n,value:r,onChange:o})=>t("div",{className:O.row,children:[t("div",{className:O.rowHeader,children:t("span",{className:O.rowLabel,children:e})}),t("div",{className:O.swatches,children:[n.map(s=>t("button",{type:"button","aria-label":`${e} ${s}`,"aria-pressed":r.toLowerCase()===s.toLowerCase(),onClick:()=>o(s),className:`${O.swatch} ${r.toLowerCase()===s.toLowerCase()?O.swatchPicked:""}`,style:{backgroundColor:s}},s)),t("input",{type:"color","aria-label":`Custom ${e.toLowerCase()}`,className:O.colorInput,value:r,"data-speed-boost-ignore":"true",onInput:s=>o(s.target.value),onMouseDown:s=>s.stopPropagation(),onPointerDown:s=>s.stopPropagation(),onTouchStart:s=>s.stopPropagation()})]})]});function Ls({label:e,options:n,value:r,onChange:o}){return t("div",{className:O.row,children:[t("div",{className:O.rowHeader,children:t("span",{className:O.rowLabel,children:e})}),t("div",{className:O.segmented,role:"group","aria-label":e,children:n.map(s=>t("button",{type:"button","aria-pressed":r===s,onClick:()=>o(s),children:[t("span",{children:s}),r===s&&t(j,{name:"check",size:10})]},s))})]})}const ae=10,me=500,pe=e=>Math.max(0,Math.min(me,Math.round(e))),Ts=({isOpen:e,ms:n,onChange:r,onApply:o,onClose:s,testClipActive:i,onTestClip:c})=>e?t("div",{role:"dialog","aria-label":"Calibrate audio video sync","data-speed-boost-ignore":"true",onClick:d=>d.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:()=>r(pe(n-ae)),"aria-label":"Decrease delay by 10 milliseconds",children:["− ",ae,"ms"]}),t("div",{style:{fontSize:"1.1rem",fontWeight:800,minWidth:64,textAlign:"center"},children:[n,"ms"]}),t(Y,{size:"sm",onClick:()=>r(pe(n+ae)),"aria-label":"Increase delay by 10 milliseconds",children:["+ ",ae,"ms"]})]}),t(Kr,{label:"Video delay",display:`${n}ms`,min:0,max:me,step:5,value:n,percent:n/me*100,onChange:d=>r(pe(d))}),t("div",{style:{display:"flex",gap:8,justifyContent:"center",flexWrap:"wrap"},children:[t(Y,{size:"sm",variant:"secondary",onClick:s,children:"Cancel"}),t(Y,{size:"sm",onClick:o,children:["Apply ",n,"ms"]})]})]}):null;function Ns({videoRef:e,sourceType:n,resetKey:r,onEnd:o}){const s=k(!1),i=k(o);i.current=o,D(()=>{s.current=!1},[r]);const c=P(()=>{const a=e.current?.duration;!a||!Number.isFinite(a)||console.info(`[playback] duration ${a.toFixed(2)}s`)},[e]);return{checkEnd:P((a=!1)=>{const l=e.current;!l||n==="iframe"||s.current||!a&&!Lt(l.currentTime,l.duration)||(s.current=!0,console.info(`[playback] end reached at ${l.currentTime.toFixed(2)}s / ${l.duration.toFixed(2)}s`),i.current())},[n,e]),logDuration:c}}function As(e,n,r){const o=St(),s=k({watch:o,selection:n,loading:r});s.current={watch:o,selection:n,loading:r};const[i,c]=C(!1),d=k(""),a=k(""),l=k(""),g=k(!1),w=!!o.session&&!o.session.host;D(()=>(!o.session&&g.current&&e.applyRemotePlayback(void 0,!1,1),g.current=!!o.session,e.setPlaybackLocked(!!o.session&&(w||!o.connected)),o.session&&!o.connected&&e.applyRemotePlayback(void 0,!1,1),()=>e.setPlaybackLocked(!1)),[e,w,o.connected,o.session]);const L=P((I=!1)=>{const{watch:u,selection:f,loading:T}=s.current,p=e.mediaRef.current;if(!u.session||!u.room||!p)return;if(u.session.host){u.connected&&u.selfId!==l.current&&!T&&f&&p.readyState>=1&&(l.current=u.selfId,He(f,u.room.selection)&&e.applyRemotePlayback(u.room.position,!1,u.room.rate));return}const y=u.room,_=f&&He(f,y.selection);if(!u.connected||T||!_||p.readyState<1){e.applyRemotePlayback(void 0,!1,y.rate);return}const B=Date.now()+u.clock.offset-y.updatedAt<15e3;if(y.playing&&!B){e.applyRemotePlayback(void 0,!1,y.rate);return}const h=y.playing&&y.hostOnline&&B,N=Math.min(p.duration||1/0,wt({...y,playing:h},Date.now()+u.clock.offset)),F=N-p.currentTime,b=Math.abs(F)>(h?1.25:.15),$=h&&!b&&Math.abs(F)>.15?Math.min(4,Math.max(.25,y.rate*(F>0?1.03:.97))):y.rate,W=e.getState().playBlocked;e.applyRemotePlayback(b?N:void 0,h&&(!W||I),$),c(W&&h)},[e]);return D(()=>{if(!o.session)return;const I=()=>{const{watch:h,selection:N,loading:F}=s.current,b=e.mediaRef.current;if(!h.connected||!h.session?.host||!h.room)return;if(!N||F||!b||b.readyState<1){h.room.playing&&h.send({type:"update",...h.room,playing:!1});return}L();const $=e.getState(),W=!b.paused&&!b.ended&&!$.isBuffering,U={type:"update",selection:N,position:b.currentTime+(W?h.clock.latency/1e3*b.playbackRate:0),playing:W,rate:b.playbackRate},A=JSON.stringify(U);!W&&a.current===A||(a.current=A,h.send(U))},u=()=>{const{watch:h,selection:N,loading:F}=s.current,b=e.getState(),$=e.mediaRef.current,W=b.error||!F&&!N?"error":b.playBlocked?"blocked":F||!$||$.readyState<1?"loading":b.isBuffering?"buffering":"ready";h.connected&&`${h.selfId}:${W}`!==d.current&&(d.current=`${h.selfId}:${W}`,h.send({type:"status",status:W})),L()};let f=null;const T=["play","pause","seeked","ratechange","playing","waiting","canplay","ended"];let p;const y=()=>{clearTimeout(p),p=setTimeout(I,100)},_=setInterval(()=>{const h=e.mediaRef.current;f!==h&&(T.forEach(N=>f?.removeEventListener(N,y)),f=h,T.forEach(N=>f?.addEventListener(N,y))),u()},500),B=setInterval(I,3e3);return()=>{clearInterval(_),clearInterval(B),clearTimeout(p),T.forEach(N=>f?.removeEventListener(N,y));const{watch:h}=s.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,L]),D(()=>{L()},[o.room,o.connected,n,r,L]),{needsPlayback:i,enablePlayback:()=>L(!0)}}export{xs as A,as as B,fs as C,z as D,ms as E,Ue as F,G,Kr as M,os as O,hs as P,us as R,ge as S,ss as T,ys as a,es as b,ts as c,ls as d,rs as e,is as f,As as g,Ss as h,vs as i,ws as j,Ns as k,bs as l,Cs as m,Zr as n,ds as o,ps as p,ur as q,ns as r,Wn as s,Jr as t,_s as u,Ts as v,gs as w,cs as x,ks as y,Ls as z};
@@ -33,7 +33,7 @@
33
33
  background-color: #0c0d12;
34
34
  }
35
35
  </style>
36
- <script type="module" crossorigin src="/assets/index-BOJFs4B4.js"></script>
36
+ <script type="module" crossorigin src="/assets/index-CaTGvWwZ.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-C1Pj_eSX.js">
@@ -0,0 +1,113 @@
1
+ Subtitle font notices
2
+
3
+ Comic Neue
4
+ Copyright 2014 The Comic Neue Project Authors (https://github.com/crozynski/comicneue)
5
+
6
+ Chakra Petch
7
+ Copyright 2018 The Chakra Petch Project Authors (https://github.com/m4rc1e/Chakra-Petch.git)
8
+
9
+ Oswald
10
+ Copyright 2016 The Oswald Project Authors (https://github.com/googlefonts/OswaldFont)
11
+
12
+ Bree Serif
13
+ Copyright (c) 2011, TypeTogether (www.type-together.com), with Reserved Font Names "Bree" and "Bree Serif"
14
+
15
+ Russo One
16
+ Copyright (c) 2011-2012, Jovanny Lemonad (lemonad@jovanny.ru), with Reserved Font Name "Russo"
17
+
18
+ Bangers
19
+ Copyright 2010 The Bangers Project Authors (https://github.com/googlefonts/bangers)
20
+
21
+ Atkinson Hyperlegible
22
+ Copyright 2020 Braille Institute of America, Inc.
23
+
24
+ All fonts listed above are licensed under the SIL Open Font License, Version 1.1.
25
+ This license is copied below, and is also available with a FAQ at:
26
+ http://scripts.sil.org/OFL
27
+
28
+ -----------------------------------------------------------
29
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
30
+ -----------------------------------------------------------
31
+
32
+ PREAMBLE
33
+ The goals of the Open Font License (OFL) are to stimulate worldwide
34
+ development of collaborative font projects, to support the font creation
35
+ efforts of academic and linguistic communities, and to provide a free and
36
+ open framework in which fonts may be shared and improved in partnership
37
+ with others.
38
+
39
+ The OFL allows the licensed fonts to be used, studied, modified and
40
+ redistributed freely as long as they are not sold by themselves. The
41
+ fonts, including any derivative works, can be bundled, embedded,
42
+ redistributed and/or sold with any software provided that any reserved
43
+ names are not used by derivative works. The fonts and derivatives,
44
+ however, cannot be released under any other type of license. The
45
+ requirement for fonts to remain under this license does not apply
46
+ to any document created using the fonts or their derivatives.
47
+
48
+ DEFINITIONS
49
+ "Font Software" refers to the set of files released by the Copyright
50
+ Holder(s) under this license and clearly marked as such. This may
51
+ include source files, build scripts and documentation.
52
+
53
+ "Reserved Font Name" refers to any names specified as such after the
54
+ copyright statement(s).
55
+
56
+ "Original Version" refers to the collection of Font Software components as
57
+ distributed by the Copyright Holder(s).
58
+
59
+ "Modified Version" refers to any derivative made by adding to, deleting,
60
+ or substituting -- in part or in whole -- any of the components of the
61
+ Original Version, by changing formats or by porting the Font Software to a
62
+ new environment.
63
+
64
+ "Author" refers to any designer, engineer, programmer, technical
65
+ writer or other person who contributed to the Font Software.
66
+
67
+ PERMISSION & CONDITIONS
68
+ Permission is hereby granted, free of charge, to any person obtaining
69
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
70
+ redistribute, and sell modified and unmodified copies of the Font
71
+ Software, subject to the following conditions:
72
+
73
+ 1) Neither the Font Software nor any of its individual components,
74
+ in Original or Modified Versions, may be sold by itself.
75
+
76
+ 2) Original or Modified Versions of the Font Software may be bundled,
77
+ redistributed and/or sold with any software, provided that each copy
78
+ contains the above copyright notice and this license. These can be
79
+ included either as stand-alone text files, human-readable headers or
80
+ in the appropriate machine-readable metadata fields within text or
81
+ binary files as long as those fields can be easily viewed by the user.
82
+
83
+ 3) No Modified Version of the Font Software may use the Reserved Font
84
+ Name(s) unless explicit written permission is granted by the corresponding
85
+ Copyright Holder. This restriction only applies to the primary font name as
86
+ presented to the users.
87
+
88
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
89
+ Software shall not be used to promote, endorse or advertise any
90
+ Modified Version, except to acknowledge the contribution(s) of the
91
+ Copyright Holder(s) and the Author(s) or with their explicit written
92
+ permission.
93
+
94
+ 5) The Font Software, modified or unmodified, in part or in whole,
95
+ must be distributed entirely under this license, and must not be
96
+ distributed under any other license. The requirement for fonts to
97
+ remain under this license does not apply to any document created
98
+ using the Font Software.
99
+
100
+ TERMINATION
101
+ This license becomes null and void if any of the above conditions are
102
+ not met.
103
+
104
+ DISCLAIMER
105
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
106
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
107
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
108
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
109
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
110
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
111
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
112
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
113
+ OTHER DEALINGS IN THE FONT SOFTWARE.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serifpersia/dango",
3
- "version": "4.0.7",
3
+ "version": "4.0.9",
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-11-11T23:44:42.555Z"
72
+ "versionDate": "2026-11-12T19:13:11.477Z"
73
73
  }