@serifpersia/dango 3.4.2 → 3.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +1 -1
  2. package/client/dist/assets/{AnimeCard-CIwTZI3D.js → AnimeCard-4CEz8Buu.js} +1 -1
  3. package/client/dist/assets/AnimeInfo-DyX9qTwg.js +1 -0
  4. package/client/dist/assets/AnimeInfoPage-Dvp_c8vK.js +2 -0
  5. package/client/dist/assets/Asmr-qg3lMAJn.js +2 -0
  6. package/client/dist/assets/{AsmrResetProgressModal-BDpA07Fa.js → AsmrResetProgressModal-BpPlg_Vv.js} +1 -1
  7. package/client/dist/assets/AvSyncCalibrator-C2wu1ydI.css +1 -0
  8. package/client/dist/assets/AvSyncCalibrator-FJllOgOH.js +10 -0
  9. package/client/dist/assets/Home-A7gCeEST.js +1 -0
  10. package/client/dist/assets/Insights-G9IXepHJ.js +1 -0
  11. package/client/dist/assets/{LibraryListPage-DWbcek1i.js → LibraryListPage-Bh2qCJPh.js} +1 -1
  12. package/client/dist/assets/{ListeningList-CcuxBzy1.js → ListeningList-Czv4cTRl.js} +1 -1
  13. package/client/dist/assets/{Manga-DpLaW39C.js → Manga-qdAAS1z7.js} +1 -1
  14. package/client/dist/assets/MangaInfoPage-1rTgZzf2.js +1 -0
  15. package/client/dist/assets/MangaReadPage-CeyxPG6w.js +1 -0
  16. package/client/dist/assets/{MangaResetProgressModal-CYguBG2f.js → MangaResetProgressModal-C_ppotmh.js} +1 -1
  17. package/client/dist/assets/Mature-Bkhxnr3K.js +1 -0
  18. package/client/dist/assets/{MediaCard-p29DqyKX.js → MediaCard-BQZsutEo.js} +1 -1
  19. package/client/dist/assets/Music-C0rGzSbi.js +1 -0
  20. package/client/dist/assets/{OptionListMenu-C1pvpu8X.js → OptionListMenu-CyfpCBEy.js} +1 -1
  21. package/client/dist/assets/Player-yhiTlpYU.js +56 -0
  22. package/client/dist/assets/PlayerSettings-icy4SfQa.js +1 -0
  23. package/client/dist/assets/{QueueOptionsButton-CWdoe1_I.js → QueueOptionsButton-5eloKF5J.js} +1 -1
  24. package/client/dist/assets/{QueueRail-BBpn9CII.js → QueueRail-DaMjlKL4.js} +1 -1
  25. package/client/dist/assets/Radio-FxGqCxR4.js +1 -0
  26. package/client/dist/assets/{ReadingList-D4xQ9tlw.js → ReadingList-CCm3IAbt.js} +1 -1
  27. package/client/dist/assets/{ResetProgressModal-JFlbXy7W.js → ResetProgressModal-CeI4V3Y5.js} +1 -1
  28. package/client/dist/assets/{Search-D-ocogP-.js → Search-qpILaAiQ.js} +1 -1
  29. package/client/dist/assets/Settings-Bw9M3NGz.js +21 -0
  30. package/client/dist/assets/{SkeletonGrid-N67HqYXx.js → SkeletonGrid-0dY_xMq3.js} +1 -1
  31. package/client/dist/assets/{Trackers-C_SPMGKx.js → Trackers-Zy5GOs0P.js} +2 -2
  32. package/client/dist/assets/Tv-Bx7tGS57.css +1 -0
  33. package/client/dist/assets/Tv-DREwc7BX.js +4 -0
  34. package/client/dist/assets/TvInfo-CHIsVzZ0.js +1 -0
  35. package/client/dist/assets/{TvPopup-DEB6Ufq4.js → TvPopup-D_tVTyZ2.js} +1 -1
  36. package/client/dist/assets/{TvSearch-grOUL0Bc.js → TvSearch-BVxedBW-.js} +1 -1
  37. package/client/dist/assets/{TvWatchlist-CBI21Vge.js → TvWatchlist-BEIwq9R9.js} +1 -1
  38. package/client/dist/assets/{Watchlist-5cDHUoC8.js → Watchlist-CSngjqlz.js} +1 -1
  39. package/client/dist/assets/{hls-DySVERd_.js → hls-D48GVTkk.js} +1 -1
  40. package/client/dist/assets/index-CVB5dYhT.js +178 -0
  41. package/client/dist/assets/{useAnimeInfoData-BMwVSGhZ.js → useAnimeInfoData-DxdOg_B7.js} +1 -1
  42. package/client/dist/assets/useAsmr-ClckxnPe.js +1 -0
  43. package/client/dist/assets/{useAsmrPopup-CY-6b88q.js → useAsmrPopup-Bbgxefy_.js} +1 -1
  44. package/client/dist/assets/useMangaLibrary-B3_BUKVk.js +1 -0
  45. package/client/dist/assets/{useMangaPopup-_pNXvRYJ.js → useMangaPopup-Celk4lzf.js} +1 -1
  46. package/client/dist/assets/{useProviders-CKSedfqb.js → useProviders-pwxPZPHh.js} +1 -1
  47. package/client/dist/assets/useTv-D9sQrDop.js +1 -0
  48. package/client/dist/assets/useTvLibrary-UsQpgBTB.js +1 -0
  49. package/client/dist/index.html +1 -1
  50. package/package.json +3 -3
  51. package/server/dist/app-hono.js +15 -37
  52. package/server/dist/db/drizzle.js +2 -18
  53. package/server/dist/db.js +3 -2
  54. package/server/dist/hono/tv.js +9 -5
  55. package/server/dist/hono/watchlist.js +10 -108
  56. package/server/dist/lib/migration.js +0 -5
  57. package/server/dist/providers/remote-loader.js +40 -1
  58. package/server/dist/providers/remote-types.js +9 -2
  59. package/server/dist/server.js +50 -182
  60. package/server/dist/sync.js +173 -704
  61. package/server/dist/trpc/routers/auth.js +2 -71
  62. package/server/dist/trpc/routers/continue-watching.js +0 -2
  63. package/server/dist/trpc/routers/data.js +0 -1
  64. package/server/dist/trpc/routers/discord.js +8 -0
  65. package/server/dist/trpc/routers/progress.js +95 -1
  66. package/server/dist/trpc/routers/queue.js +0 -2
  67. package/server/dist/trpc/routers/watchlist.js +0 -7
  68. package/server/dist/trpc/validation.js +64 -0
  69. package/server/package.json +2 -2
  70. package/client/dist/assets/AnimeInfo-DlfvDaR8.js +0 -1
  71. package/client/dist/assets/AnimeInfoPage-B3EPwtzx.js +0 -2
  72. package/client/dist/assets/Asmr-DCirAWM6.js +0 -2
  73. package/client/dist/assets/AvSyncCalibrator-BPa6KaGC.css +0 -1
  74. package/client/dist/assets/AvSyncCalibrator-BroSW86T.js +0 -10
  75. package/client/dist/assets/Home-DEjYtHbs.js +0 -1
  76. package/client/dist/assets/Insights-B3b6u8RW.js +0 -1
  77. package/client/dist/assets/MangaInfoPage-B7FPC4a_.js +0 -1
  78. package/client/dist/assets/MangaReadPage-Dx0qAAFe.js +0 -1
  79. package/client/dist/assets/Mature-AScDPmWW.js +0 -1
  80. package/client/dist/assets/Music-DFInMskb.js +0 -1
  81. package/client/dist/assets/Player-D-8zY3cx.js +0 -56
  82. package/client/dist/assets/PlayerSettings-CfJjs_0Q.js +0 -1
  83. package/client/dist/assets/Radio-DCgO5hAS.js +0 -1
  84. package/client/dist/assets/Settings-BsFbgkdy.js +0 -21
  85. package/client/dist/assets/Tv-D7s0Kqqx.js +0 -4
  86. package/client/dist/assets/Tv-ZEA45gXK.css +0 -1
  87. package/client/dist/assets/TvInfo-CrmCSFDF.js +0 -1
  88. package/client/dist/assets/index-HZNJp28e.js +0 -178
  89. package/client/dist/assets/useAsmr-BLc7FwPm.js +0 -1
  90. package/client/dist/assets/useMangaLibrary-XFRTq5Qg.js +0 -1
  91. package/client/dist/assets/useMatureConsent-Cra09TA0.js +0 -1
  92. package/client/dist/assets/useTv-Dizj6G4R.js +0 -1
  93. package/client/dist/assets/useTvLibrary-twjHQ89n.js +0 -1
package/README.md CHANGED
@@ -6,7 +6,7 @@ _A local-first anime web app focused on performance, privacy, and personal libra
6
6
 
7
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-897cff?style=for-the-badge)](https://opensource.org/licenses/MIT)
8
8
  ![Github stars](https://img.shields.io/github/stars/serifpersia/dango.svg?style=for-the-badge&color=897cff)
9
- [![App version](https://img.shields.io/badge/dango-3.4.2-897cff?style=for-the-badge)](https://github.com/serifpersia/dango)
9
+ [![App version](https://img.shields.io/badge/dango-3.4.4-897cff?style=for-the-badge)](https://github.com/serifpersia/dango)
10
10
 
11
11
  ![Users](https://dango-users-badge.ramiserifpersia.workers.dev)
12
12
 
@@ -1 +1 @@
1
- import{T as B,d as P,A as C,u as s,S as T,L as A,N as D}from"./vendor-core-DfaOB3Rn.js";import{I as o}from"./vendor-icons-DrybRNxP.js";import{u as I}from"./useAnimeInfoData-BMwVSGhZ.js";import{d as R,s as z,e as M}from"./index-HZNJp28e.js";import{Q as _}from"./QueueOptionsButton-CWdoe1_I.js";import{p as a,a as x,m as $,M as L}from"./MediaCard-p29DqyKX.js";const O=({showId:e,anchorRect:l,onMouseEnter:v,onMouseLeave:u,onRequestClose:N})=>{const{showMeta:t,loadingMeta:i,inWatchlist:d,toggleWatchlist:f}=I(e),{titlePreference:c}=R(),r=B(()=>t?.name?c==="name"?t.name:c==="nativeName"?t.names?.native||t.name:c==="englishName"&&t.names?.english||t.name:"",[t,c]),[h,g]=P(!1),p=C(!1),b=()=>{p.current=!0,v()},y=()=>{p.current=!1,!h&&u()},w=n=>{g(n),!n&&!p.current&&u()};return s(x,{anchorRect:l,onMouseEnter:b,onMouseLeave:y,onRequestClose:N,children:i?s("div",{className:a.loading,children:[s("div",{className:a.spinner}),s("span",{children:"Fetching details..."})]}):t?s(T,{children:[s("div",{className:a.header,children:s("div",{className:a.title,children:r})}),s("div",{className:a.body,children:[s("div",{className:a.metaRow,children:[t.score&&s("div",{className:a.metaItem,children:[s(o,{name:"star",className:a.scoreIcon,size:14}),s("span",{children:t.score})]}),t.status&&s("div",{className:a.metaItem,children:[s(o,{name:"tv",size:14}),s("span",{children:t.status})]})]}),s("div",{className:a.synopsis,children:t.description?z(t.description):"No synopsis available."}),s("div",{className:a.details,children:[t.nextEpisodeAirDate&&s("div",{className:a.detailItem,children:[s("strong",{children:"Aired:"})," ",t.nextEpisodeAirDate]}),Array.isArray(t.genres)&&t.genres.length>0&&s("div",{className:a.genres,children:t.genres.filter(Boolean).slice(0,4).map(n=>{const E=typeof n=="string"?n:n?.name;return s("span",{className:a.genre,children:E},E)})})]})]}),s("div",{className:a.footer,children:[s("div",{className:a.primaryAction,children:s(A,{to:`/watch/${t?.id||e}`,className:a.watchBtn,children:[s(o,{name:"play",size:14}),"Watch now"]})}),s("div",{className:a.secondaryActions,children:[s("button",{className:`${a.watchlistBtn} ${d?a.active:""}`,onClick:n=>{n.preventDefault(),n.stopPropagation(),f()},children:[d?s(o,{name:"check",size:12}):s(o,{name:"plus",size:12}),s("span",{children:d?"Remove":"Watchlist"})]}),s(_,{showId:e,showName:t.name||t.names?.romaji,showThumbnail:t.thumbnail,nativeName:t.names?.native,englishName:t.names?.english,showType:t.type,className:a.watchlistBtn,activeClassName:a.active,align:"left",onMenuOpenChange:w}),s(A,{to:`/anime/${t?.id||e}`,className:a.detailsBtn,children:"Read more"})]})]})]}):s("div",{className:a.loading,children:"Failed to load info."})})},j=D(({anime:e,continueWatching:l=!1,onRemove:v,config:u,layout:N="vertical"})=>{const t=e.currentTime||0,i=e.duration||0,d=.8,f=t>5&&i>5&&t<i*d,c=t>0&&(i<=5||t>=i*d),r=e.episodeNumber,h=l?{pathname:r?`/watch/${e._id}/${r}`:`/watch/${e._id}`,state:{name:e.name,thumbnail:e.thumbnail,nativeName:e.nativeName,englishName:e.englishName,type:e.type}}:r?`/watch/${e._id}/${r}`:`/anime/${e._id}`,g=(()=>{if(typeof h=="string")return h.startsWith("/watch/");const m=h.pathname;return typeof m=="string"&&m.startsWith("/watch/")})(),p=l&&r?`EP ${r}`:e.watchedCount!==void 0&&e.watchedCount>0?`EP ${e.watchedCount}`:null,b=[e.airTime,e.aired===!1&&e.nextEpisodeAirDate?`· ${e.nextEpisodeAirDate.split(",")[0]}`:""].filter(Boolean).join(" "),y=e.isAdult||e.rating==="R+"||e.rating==="Rx"||e.rating?.includes("17+"),w=s(T,{children:[(e.availableEpisodesDetail?.sub||e.availableEpisodes?.sub)&&s("div",{className:$.metaItem,children:[s(o,{name:"closed-captioning",size:10}),e.availableEpisodesDetail?.sub?.length??e.availableEpisodes?.sub]}),(e.availableEpisodesDetail?.dub||e.availableEpisodes?.dub)&&s("div",{className:$.metaItem,children:[s(o,{name:"microphone",size:10}),e.availableEpisodesDetail?.dub?.length??e.availableEpisodes?.dub]})]});return s(L,{item:{id:e.id||e.showId||e._id,title:e.name,nativeName:e.nativeName,englishName:e.englishName,thumbnail:e.thumbnail,typeBadge:e.type||"TV",chapterBadge:p,airMeta:b||void 0,isAdult:y,notAired:e.aired===!1},linkTo:h,hoverIcon:g?"play":"info",progress:f?{percent:t/i*100,label:`${M(t)} / ${M(i)}`}:c?{percent:100,label:"Watched"}:void 0,showProgress:l,metaRow:w,display:u,layout:N,onRemove:v,showRemoveButton:u?.elements?.poster?.removeButton??(l&&!!v),showInfoButton:!l,enrichedId:e._id,renderPopup:(m,n)=>s(O,{showId:e._id,anchorRect:m,onMouseEnter:n.onMouseEnter,onMouseLeave:n.onMouseLeave,onRequestClose:n.close})})});export{j as A};
1
+ import{T as B,d as P,A as C,u as s,S as T,L as A,N as D}from"./vendor-core-DfaOB3Rn.js";import{I as o}from"./vendor-icons-DrybRNxP.js";import{u as I}from"./useAnimeInfoData-DxdOg_B7.js";import{d as R,s as z,g as M}from"./index-CVB5dYhT.js";import{Q as _}from"./QueueOptionsButton-5eloKF5J.js";import{p as a,a as x,m as $,M as L}from"./MediaCard-BQZsutEo.js";const O=({showId:e,anchorRect:l,onMouseEnter:v,onMouseLeave:u,onRequestClose:N})=>{const{showMeta:t,loadingMeta:i,inWatchlist:d,toggleWatchlist:f}=I(e),{titlePreference:c}=R(),r=B(()=>t?.name?c==="name"?t.name:c==="nativeName"?t.names?.native||t.name:c==="englishName"&&t.names?.english||t.name:"",[t,c]),[h,g]=P(!1),p=C(!1),b=()=>{p.current=!0,v()},y=()=>{p.current=!1,!h&&u()},w=n=>{g(n),!n&&!p.current&&u()};return s(x,{anchorRect:l,onMouseEnter:b,onMouseLeave:y,onRequestClose:N,children:i?s("div",{className:a.loading,children:[s("div",{className:a.spinner}),s("span",{children:"Fetching details..."})]}):t?s(T,{children:[s("div",{className:a.header,children:s("div",{className:a.title,children:r})}),s("div",{className:a.body,children:[s("div",{className:a.metaRow,children:[t.score&&s("div",{className:a.metaItem,children:[s(o,{name:"star",className:a.scoreIcon,size:14}),s("span",{children:t.score})]}),t.status&&s("div",{className:a.metaItem,children:[s(o,{name:"tv",size:14}),s("span",{children:t.status})]})]}),s("div",{className:a.synopsis,children:t.description?z(t.description):"No synopsis available."}),s("div",{className:a.details,children:[t.nextEpisodeAirDate&&s("div",{className:a.detailItem,children:[s("strong",{children:"Aired:"})," ",t.nextEpisodeAirDate]}),Array.isArray(t.genres)&&t.genres.length>0&&s("div",{className:a.genres,children:t.genres.filter(Boolean).slice(0,4).map(n=>{const E=typeof n=="string"?n:n?.name;return s("span",{className:a.genre,children:E},E)})})]})]}),s("div",{className:a.footer,children:[s("div",{className:a.primaryAction,children:s(A,{to:`/watch/${t?.id||e}`,className:a.watchBtn,children:[s(o,{name:"play",size:14}),"Watch now"]})}),s("div",{className:a.secondaryActions,children:[s("button",{className:`${a.watchlistBtn} ${d?a.active:""}`,onClick:n=>{n.preventDefault(),n.stopPropagation(),f()},children:[d?s(o,{name:"check",size:12}):s(o,{name:"plus",size:12}),s("span",{children:d?"Remove":"Watchlist"})]}),s(_,{showId:e,showName:t.name||t.names?.romaji,showThumbnail:t.thumbnail,nativeName:t.names?.native,englishName:t.names?.english,showType:t.type,className:a.watchlistBtn,activeClassName:a.active,align:"left",onMenuOpenChange:w}),s(A,{to:`/anime/${t?.id||e}`,className:a.detailsBtn,children:"Read more"})]})]})]}):s("div",{className:a.loading,children:"Failed to load info."})})},j=D(({anime:e,continueWatching:l=!1,onRemove:v,config:u,layout:N="vertical"})=>{const t=e.currentTime||0,i=e.duration||0,d=.8,f=t>5&&i>5&&t<i*d,c=t>0&&(i<=5||t>=i*d),r=e.episodeNumber,h=l?{pathname:r?`/watch/${e._id}/${r}`:`/watch/${e._id}`,state:{name:e.name,thumbnail:e.thumbnail,nativeName:e.nativeName,englishName:e.englishName,type:e.type}}:r?`/watch/${e._id}/${r}`:`/anime/${e._id}`,g=(()=>{if(typeof h=="string")return h.startsWith("/watch/");const m=h.pathname;return typeof m=="string"&&m.startsWith("/watch/")})(),p=l&&r?`EP ${r}`:e.watchedCount!==void 0&&e.watchedCount>0?`EP ${e.watchedCount}`:null,b=[e.airTime,e.aired===!1&&e.nextEpisodeAirDate?`· ${e.nextEpisodeAirDate.split(",")[0]}`:""].filter(Boolean).join(" "),y=e.isAdult||e.rating==="R+"||e.rating==="Rx"||e.rating?.includes("17+"),w=s(T,{children:[(e.availableEpisodesDetail?.sub||e.availableEpisodes?.sub)&&s("div",{className:$.metaItem,children:[s(o,{name:"closed-captioning",size:10}),e.availableEpisodesDetail?.sub?.length??e.availableEpisodes?.sub]}),(e.availableEpisodesDetail?.dub||e.availableEpisodes?.dub)&&s("div",{className:$.metaItem,children:[s(o,{name:"microphone",size:10}),e.availableEpisodesDetail?.dub?.length??e.availableEpisodes?.dub]})]});return s(L,{item:{id:e.id||e.showId||e._id,title:e.name,nativeName:e.nativeName,englishName:e.englishName,thumbnail:e.thumbnail,typeBadge:e.type||"TV",chapterBadge:p,airMeta:b||void 0,isAdult:y,notAired:e.aired===!1},linkTo:h,hoverIcon:g?"play":"info",progress:f?{percent:t/i*100,label:`${M(t)} / ${M(i)}`}:c?{percent:100,label:"Watched"}:void 0,showProgress:l,metaRow:w,display:u,layout:N,onRemove:v,showRemoveButton:u?.elements?.poster?.removeButton??(l&&!!v),showInfoButton:!l,enrichedId:e._id,renderPopup:(m,n)=>s(O,{showId:e._id,anchorRect:m,onMouseEnter:n.onMouseEnter,onMouseLeave:n.onMouseLeave,onRequestClose:n.close})})});export{j as A};
@@ -0,0 +1 @@
1
+ import{o as C,a as I,d as S,h as p,T,u as e}from"./vendor-core-DfaOB3Rn.js";import{I as s}from"./vendor-icons-DrybRNxP.js";import{u as b}from"./useAnimeInfoData-DxdOg_B7.js";import{d as B,e as w,f as d,s as M,M as x,B as u}from"./index-CVB5dYhT.js";import{A}from"./AnimeMetaDetails-BogOi_bM.js";import{S as D}from"./SynopsisText-B3Sa5pRv.js";import{Q as G}from"./QueueOptionsButton-5eloKF5J.js";import"./vendor-query-BBT5_sHx.js";import"./useIsMobile-Dvx1uJ82.js";import"./vendor-ui-3qrARCPr.js";const P="_container_1287q_1",W="_heroSection_1287q_11",O="_bannerContainer_1287q_17",$="_banner_1287q_17",U="_bannerOverlay_1287q_37",j="_heroContent_1287q_49",z="_posterContainer_1287q_62",V="_floatIn_1287q_1",Q="_poster_1287q_62",E="_infoGlass_1287q_86",H="_slideUpIn_1287q_1",F="_title_1287q_100",J="_quickMeta_1287q_109",K="_metaItem_1287q_117",L="_iconStar_1287q_126",R="_iconTv_1287q_129",X="_iconType_1287q_132",Y="_iconClock_1287q_135",Z="_genres_1287q_139",ee="_genre_1287q_139",ne="_synopsisSection_1287q_165",te="_sectionTitleSmall_1287q_170",se="_description_1287q_178",ae="_actions_1287q_186",ie="_watchBtn_1287q_192",oe="_watchlistBtn_1287q_214",le="_active_1287q_234",ce="_detailsSection_1287q_241",re="_detailsToggleBtn_1287q_247",de="_expandedContent_1287q_270",_e="_fadeIn_1287q_1",me="_detailsGridContainer_1287q_274",he="_detailItem_1287q_284",pe="_airingValue_1287q_303",ue="_loadingDetails_1287q_308",ve="_spinner_1287q_317",ge="_spin_1287q_317",ke="_heroSkeleton_1287q_332",qe="_skeletonBanner_1287q_336",fe="_skeletonPoster_1287q_337",Ne="_skeletonTitle_1287q_338",ye="_skeletonMeta_1287q_339",Ce="_skeletonDesc_1287q_340",Ie="_skeletonActions_1287q_341",Se="_skeletonContent_1287q_374",Te="_skeletonInfo_1287q_388",n={container:P,heroSection:W,bannerContainer:O,banner:$,bannerOverlay:U,heroContent:j,posterContainer:z,floatIn:V,poster:Q,infoGlass:E,slideUpIn:H,title:F,quickMeta:J,metaItem:K,iconStar:L,iconTv:R,iconType:X,iconClock:Y,genres:Z,genre:ee,synopsisSection:ne,sectionTitleSmall:te,description:se,actions:ae,watchBtn:ie,watchlistBtn:oe,active:le,detailsSection:ce,detailsToggleBtn:re,expandedContent:de,fadeIn:_e,detailsGridContainer:me,detailItem:he,airingValue:pe,loadingDetails:ue,spinner:ve,spin:ge,heroSkeleton:ke,skeletonBanner:qe,skeletonPoster:fe,skeletonTitle:Ne,skeletonMeta:ye,skeletonDesc:Ce,skeletonActions:Ie,"skeleton-wave":"_skeleton-wave_1287q_1",skeletonContent:Se,skeletonInfo:Te};function Oe(){const{id:a}=C(),i=I(),{titlePreference:l}=B(),[o,v]=S(!1),{showMeta:t,loadingMeta:g,toggleWatchlist:k,inWatchlist:c}=b(a),{hasConsent:q,grant:f}=w();p(()=>{a&&t?.id&&t.id!==a&&i(`/anime/${t.id}`,{replace:!0})},[a,t,i]),p(()=>{document.title=t?.name?`${t.name} - dango`:"Anime - dango"},[t?.name]);const N=()=>t?.name?l==="name"?t.name:l==="nativeName"?t.names?.native||t.name:l==="englishName"&&t.names?.english||t.name:"",y=()=>{a&&i(`/watch/${a}`)},_=T(()=>t?.bannerImage?d(t.bannerImage):t?.thumbnail?d(t.thumbnail,1200,450):"",[t?.bannerImage,t?.thumbnail]);if(g||!t?.name)return e("div",{className:n.container,children:e("div",{className:n.heroSkeleton,children:[e("div",{className:n.skeletonBanner}),e("div",{className:n.skeletonContent,children:[e("div",{className:n.skeletonPoster}),e("div",{className:n.skeletonInfo,children:[e("div",{className:n.skeletonTitle}),e("div",{className:n.skeletonMeta}),e("div",{className:n.skeletonDesc}),e("div",{className:n.skeletonActions})]})]})]})});const m=t.isAdult===!0&&!q;return e("div",{className:n.container,style:m?{filter:"blur(14px)",pointerEvents:"none",userSelect:"none"}:void 0,children:[e("div",{className:n.heroSection,children:[e("div",{className:n.bannerContainer,children:[e("div",{className:n.banner,style:_?{backgroundImage:`url(${_})`}:void 0}),e("div",{className:n.bannerOverlay})]}),e("div",{className:n.heroContent,children:[e("div",{className:n.posterContainer,children:e("img",{src:d(t.thumbnail||"",320,480),alt:t.name,className:n.poster,decoding:"async"})}),e("div",{className:n.infoGlass,children:[e("div",{className:n.topInfo,children:[e("h1",{className:n.title,children:N()}),e("div",{className:n.quickMeta,children:[t.score&&e("div",{className:n.metaItem,children:[e(s,{name:"star",className:n.iconStar}),e("span",{children:t.score})]}),t.status&&e("div",{className:n.metaItem,children:[e(s,{name:"tv",className:n.iconTv}),e("span",{children:t.status})]}),t.type&&e("div",{className:n.metaItem,children:[e(s,{name:"layer-group",className:n.iconType}),e("span",{children:t.type})]})]}),Array.isArray(t.genres)&&t.genres.length>0&&e("div",{className:n.genres,children:t.genres.filter(Boolean).slice(0,5).map(r=>{const h=typeof r=="string"?r:r?.name;return e("span",{className:n.genre,children:h},h)})})]}),e("div",{className:n.synopsisSection,children:[e("h2",{className:n.sectionTitleSmall,children:"Synopsis"}),e(D,{text:M(t.description),emptyText:"No description available."})]}),e("div",{className:n.actions,children:[e("button",{className:n.watchBtn,onClick:y,children:[e(s,{name:"play",size:14}),"Start Watching"]}),e("button",{className:`${n.watchlistBtn} ${c?n.active:""}`,onClick:k,children:[c?e(s,{name:"check",size:14}):e(s,{name:"plus",size:14}),c?"In Watchlist":"Add to Watchlist"]}),e(G,{showId:a,showName:t.name||t.names?.romaji,showThumbnail:t.thumbnail,nativeName:t.names?.native,englishName:t.names?.english,showType:t.type,className:n.watchlistBtn,activeClassName:n.active})]})]})]})]}),e("div",{className:n.detailsSection,children:[e("button",{className:n.detailsToggleBtn,onClick:()=>{v(!o)},children:[o?e(s,{name:"chevron-up"}):e(s,{name:"chevron-down"}),o?"Hide Details":"Show Details"]}),o&&e("div",{className:n.expandedContent,children:e(A,{showMeta:t,styles:n})})]}),m&&e(x,{isOpen:!0,title:"Content Warning",onClose:()=>i("/"),children:e("div",{style:{padding:"1rem",textAlign:"center"},children:[e("p",{children:"This title contains mature content intended for adult audiences."}),e("p",{children:["By proceeding, you confirm that you are ",e("strong",{children:"18 years of age or older"})," (or the age of majority in your jurisdiction) and wish to view this content."]}),e("div",{style:{marginTop:"1rem",display:"flex",gap:"10px",justifyContent:"center"},children:[e(u,{variant:"secondary",onClick:()=>i("/"),children:"Go Back"}),e(u,{onClick:f,children:"I'm 18+, Continue"})]})]})})]})}export{Oe as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AnimeInfo-DyX9qTwg.js","assets/vendor-core-DfaOB3Rn.js","assets/vendor-icons-DrybRNxP.js","assets/useAnimeInfoData-DxdOg_B7.js","assets/vendor-query-BBT5_sHx.js","assets/index-CVB5dYhT.js","assets/index-Cc1Up_NI.css","assets/QueueOptionsButton-5eloKF5J.js","assets/vendor-ui-3qrARCPr.js","assets/QueueOptionsButton-CM15uQn8.css","assets/AnimeMetaDetails-BogOi_bM.js","assets/AnimeMetaDetails-BwNQnRCd.css","assets/SynopsisText-B3Sa5pRv.js","assets/useIsMobile-Dvx1uJ82.js","assets/SynopsisText-CYv2W3yR.css","assets/AnimeInfo-BFWtHlPC.css"])))=>i.map(i=>d[i]);
2
+ import{a2 as r,_ as t}from"./index-CVB5dYhT.js";import{u as o,P as e,z as i}from"./vendor-core-DfaOB3Rn.js";import"./vendor-query-BBT5_sHx.js";import"./vendor-icons-DrybRNxP.js";const a=i(()=>t(()=>import("./AnimeInfo-DyX9qTwg.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])));function p(){return o(e,{fallback:o(r,{}),children:o(a,{})})}export{p as default};
@@ -0,0 +1,2 @@
1
+ import{T as Ve,u as e,A as j,d as m,h as N,a as Ge,g as $e,q as V,S as O,$ as Je,o as bt,p as vt}from"./vendor-core-DfaOB3Rn.js";import{I as y}from"./vendor-icons-DrybRNxP.js";import{u as yt}from"./vendor-query-BBT5_sHx.js";import{g as ue,t as Ee,W as kt,B as me,M as xe,X as I,z as le,Y as wt,T as ze}from"./index-CVB5dYhT.js";import{M as Nt}from"./MediaCard-BQZsutEo.js";import{c as Qe,a as Xe,d as Ct,e as Ze,f as et,g as St,h as Tt,i as At,j as Mt,k as Ye,l as Ie}from"./useAsmr-ClckxnPe.js";import{a as t}from"./Asmr.module-ChUXDZKx.js";import{u as xt,A as Lt}from"./useAsmrPopup-Bbgxefy_.js";import{l as Rt}from"./hls-D48GVTkk.js";import"./vendor-ui-3qrARCPr.js";import"./useIsMobile-Dvx1uJ82.js";const Pt=({work:s,onClose:o,onPlay:S,t:g})=>{const{data:i,isLoading:h}=Qe(s.id||null),v=Xe(s),{data:A}=Ct(v||void 0),{toggle:k,bookmarkedIds:T}=Ze(),{data:B}=et(v||void 0),R=v?T.has(v):!!A?.inLibrary,C=Ve(()=>(i?.description||s.description||"").split(`
2
+ `).map(l=>{const u=l.indexOf(":");return u===-1?null:{label:l.slice(0,u),value:l.slice(u+1).trim()}}).filter(l=>!!l&&!!l.value),[i?.description,s.description]),f=i?.tracks||[],w=Ve(()=>{const l=B?.progress??[];return l.length>0?l.reduce((u,d)=>u.updatedAt>=d.updatedAt?u:d):null},[B]),M=w&&w.trackIndex<f.length?w.trackIndex:null;return e("div",{className:t.detailOverlay,onClick:o,children:e("div",{className:t.detailModal,onClick:l=>l.stopPropagation(),children:[e("button",{className:t.detailClose,onClick:o,"aria-label":"Close",children:e(y,{name:"times"})}),e("div",{className:t.detailHeader,children:[s.thumbnail?e("img",{className:t.detailCover,src:s.thumbnail,alt:s.name,decoding:"async"}):e("div",{className:`${t.detailCover} ${t.thumbPlaceholder}`}),e("div",{className:t.detailInfo,children:[e("h2",{className:t.detailTitle,children:g?g(s.name):s.name}),e("p",{className:t.detailRj,children:s.id}),C.map(l=>l.label==="Tags"?e("p",{className:t.metaRow,children:[e("span",{className:t.metaLabel,children:"Tags"}),e("span",{className:t.tagChips,children:l.value.split(", ").map(u=>e("span",{className:t.tagChip,children:u},u))})]},l.label):e("p",{className:t.metaRow,children:[e("span",{className:t.metaLabel,children:l.label}),l.value]},l.label))]})]}),e("div",{className:t.tracksSection,children:[e("h3",{className:t.tracksHeading,children:h?"Loading tracks…":`Tracks (${f.length})`}),!h&&(f.length>0?e("ul",{className:t.trackList,children:f.map((l,u)=>e("li",{children:e("button",{className:t.trackRow,onClick:()=>S(s,f,u),children:[e(y,{name:"play",className:t.trackIcon}),e("span",{className:t.trackLabel,children:l.resolutionStr}),e("span",{className:t.trackType,children:l.hls?"HLS":"MP3"})]})},l.link))}):e("p",{className:t.noTracks,children:"No audio streams available for this work."}))]}),e("div",{className:t.detailActions,children:[!h&&f.length>0&&e("button",{className:t.playAllBtn,onClick:()=>S(s,f,0),children:[e(y,{name:"play"})," Play from start"]}),!h&&M!==null&&w&&e("button",{className:t.playAllBtn,onClick:()=>S(s,f,M),children:[e(y,{name:"history"})," Resume track ",M+1," ·"," ",ue(w.currentTime),w.duration>0?` / ${ue(w.duration)}`:""]}),v&&e("button",{className:t.playAllBtn,onClick:()=>k({rjCode:v,title:s.name,thumbnail:s.thumbnail||"",isAdult:!!s.isAdult}),"aria-pressed":R,children:[e(y,{name:R?"check":"plus"})," ",R?"In listening list":"Add to listening list"]})]})]})})},It=({title:s,images:o,chapters:S,tracks:g,trackIndex:i,expanded:h,isAdult:v,rjCode:A,t:k,onTrackChange:T,onExpandedChange:B,onClose:R})=>{const C=j(null),f=j(null),[w,M]=m(!1),[l,u]=m(0),[d,P]=m(0),[p,q]=m(0),[x,te]=m(!0),[F,Y]=m(0),[_,oe]=m(new Set),[D,ae]=m(!1),[he,$]=m(!0),ne=j("");ne.current||(ne.current=typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`asmr-${Date.now()}-${Math.random().toString(36).slice(2)}`);const[H,Ne]=m(()=>{const a=parseFloat(localStorage.getItem("asmrVolume")||"");return Number.isFinite(a)?a:1}),pe=j(H);N(()=>{pe.current=H},[H]);const ge=Ge(),J=$e.useMemo(()=>A?St(A):"",[A]),Ce=Tt(),ie=At(),{data:Se}=et(J||void 0),[Le,fe]=m(!1),[U,Re]=m(0),[Pe,G]=m(!1),be=j(""),W=j(null),K=j(0),Q=j(0),ce=j(0),X=g[i],Z=X?.link,Te=X?.hls,n=X?.resolutionStr||"",c=o.length>0,L=`${J}:${i}`,re=$e.useMemo(()=>(Se?.progress??[]).find(r=>r.trackIndex===i)??null,[Se,i]),ee=j({workId:"",trackIndex:0,trackLabel:""});ee.current={workId:J,trackIndex:i,trackLabel:n};const se=V((a,r,b,E=!1)=>{!a.workId||!b||b<10||!E&&Math.abs(r-K.current)<5||(K.current=r,Ce.mutate({workId:a.workId,trackIndex:a.trackIndex,trackLabel:a.trackLabel,currentTime:Math.floor(r),duration:Math.floor(b),title:s,thumbnail:o[0]||"",rjCode:a.workId,isAdult:v?1:0}))},[Ce,s,o,v]),z=V((a=!1)=>{W.current&&(clearTimeout(W.current),W.current=null),se(ee.current,Q.current,ce.current,a)},[se]),ve=j(z);ve.current=z;const _e=j(se);_e.current=se;const de=V(()=>{f.current&&(f.current.destroy(),f.current=null)},[]);N(()=>{const a=C.current;if(!a||!Z)return;const r={workId:J,trackIndex:i,trackLabel:n},b=()=>{W.current&&(clearTimeout(W.current),W.current=null),_e.current(r,Q.current,ce.current,!0)};if(u(0),P(0),q(0),M(!1),Q.current=0,ce.current=0,K.current=0,de(),Te){let E=!1;return(async()=>{const ke=await Rt();if(!E)if(ke&&ke.isSupported()){const we=new ke({enableWorker:!0});f.current=we,we.loadSource(Z),we.attachMedia(a),a.play().catch(()=>M(!1))}else a.src=Z,a.load(),a.volume=pe.current,a.play().catch(()=>M(!1))})(),()=>{E=!0,de(),a.removeAttribute("src"),b()}}else a.src=Z;return a.load(),a.volume=pe.current,a.play().catch(()=>M(!1)),()=>{de(),a.removeAttribute("src"),b()}},[Z,Te,de,J,i,n]),N(()=>()=>de(),[de]),N(()=>{const a=()=>{document.visibilityState==="hidden"&&ve.current()},r=()=>ve.current();return document.addEventListener("visibilitychange",a),window.addEventListener("pagehide",r),()=>{document.removeEventListener("visibilitychange",a),window.removeEventListener("pagehide",r)}},[]),N(()=>{if(!re||be.current===L||!(d>0))return;const a=re.currentTime||0,r=re.duration||d;a>=10&&r-a>=15&&Q.current<a?(be.current=L,Re(a),fe(!0)):be.current=L},[re,d,L]),N(()=>{const a=C.current;a&&(a.volume=H)},[H]),N(()=>{if(h)return document.body.classList.add("asmr-player-open"),()=>document.body.classList.remove("asmr-player-open")},[h]),N(()=>{Y(0)},[o]),N(()=>{h&&$(!0)},[h]),N(()=>{D&&$(!0)},[D]);const Ae=V(a=>{if(!s||g.length===0)return;const r=g[i],b=r?`${r.resolutionStr} (${i+1}/${g.length})`:"",E=C.current,ke=E?E.currentTime:0,we=E&&E.duration||0,ft=o[0]||"";Ee.discord.asmrPresence.mutate({title:s,trackLabel:b,isPlaying:a,thumbnail:ft,thumbnails:o,currentTime:ke,duration:we,isAdult:!!v,rjCode:A||"",sessionId:ne.current}).catch(()=>{}),Ee.discord.heartbeat.mutate({sessionId:ne.current}).catch(()=>{})},[s,g,i,o,v,A]);N(()=>{Ae(w)},[Ae,w,i,s,h]),N(()=>{if(!w)return;const a=window.setInterval(()=>Ae(!0),15e3);return()=>window.clearInterval(a)},[w,Ae]),N(()=>{const a=ne.current,r=()=>kt(a),b=()=>r(),E=()=>{document.visibilityState==="hidden"&&r()};return window.addEventListener("pagehide",b),window.addEventListener("beforeunload",b),document.addEventListener("visibilitychange",E),()=>{window.removeEventListener("pagehide",b),window.removeEventListener("beforeunload",b),document.removeEventListener("visibilitychange",E),r()}},[]);const Me=V(a=>{oe(r=>{if(r.has(a))return r;const b=new Set(r);return b.add(a),b})},[]),at=V((a,r)=>{a&&a.complete&&a.naturalWidth>0&&Me(r)},[Me]);N(()=>{if(!h)return;const a=r=>{if(r.key==="Escape"){D?ae(!1):B(!1);return}!x||o.length<2||(r.key==="ArrowLeft"&&Y(b=>Math.max(0,b-1)),r.key==="ArrowRight"&&Y(b=>Math.min(o.length-1,b+1)))};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[h,x,o.length,D,B]);const nt=()=>{const a=C.current;a&&(a.paused?a.play().catch(()=>{}):a.pause())},rt=a=>{const r=C.current;if(!r||!d)return;const b=parseFloat(a.target.value);r.currentTime=b,u(b)},st=()=>{z(!0),i<g.length-1?T(i+1):G(!0)},lt=a=>{const r=a.currentTarget.currentTime;Q.current=r,u(r),W.current&&clearTimeout(W.current),W.current=setTimeout(()=>ve.current(),5e3)},ot=()=>{M(!1),ve.current()},it=a=>{const r=a.currentTarget.duration;ce.current=Number.isFinite(r)?r:0,P(a.currentTarget.duration)},ct=V(()=>{const a=C.current;a&&U>0&&(a.currentTime=U,Q.current=U,a.play().catch(()=>{})),fe(!1)},[U]),je=V(()=>{fe(!1)},[]),dt=V(()=>{J&&ie.mutate({rjCode:J,title:s,thumbnail:o[0]||"",status:"Completed",isAdult:!!v,silent:!0}),G(!1),R(),ge("/")},[J,ie,s,o,v,R,ge]),ut=S.reduce((a,r,b)=>l>=r.time?b:a,-1),mt=a=>{const r=C.current;r&&(r.currentTime=a,u(a))},Fe=a=>{const r=C.current;if(!r)return;const b=Number.isFinite(r.currentTime)?r.currentTime:l,E=Math.max(0,Math.min(d||1/0,b+a));r.currentTime=E,u(E),$(!0)},Oe=d?Math.min(100,l/d*100):0,ht=d?Math.min(100,Math.max(Oe,p/d*100)):0,pt=e(O,{children:[e("div",{className:t.playerButtons,children:[e("button",{className:t.playerBtn,onClick:()=>T(Math.max(0,i-1)),disabled:i===0,"aria-label":"Previous track",children:e(y,{name:"step-backward"})}),e("button",{className:`${t.playerBtn} ${t.seekBtn}`,onClick:()=>Fe(-10),"aria-label":"Seek back 10 seconds",title:"Back 10s",children:[e(y,{name:"undo"}),e("span",{className:t.seekBtnLabel,children:"10"})]}),e("button",{className:`${t.playerBtn} ${t.playBtn}`,onClick:nt,"aria-label":w?"Pause":"Play",children:w?e(y,{name:"pause"}):e(y,{name:"play"})}),e("button",{className:`${t.playerBtn} ${t.seekBtn}`,onClick:()=>Fe(10),"aria-label":"Seek forward 10 seconds",title:"Forward 10s",children:[e(y,{name:"redo"}),e("span",{className:t.seekBtnLabel,children:"10"})]}),e("button",{className:t.playerBtn,onClick:()=>T(Math.min(g.length-1,i+1)),disabled:i>=g.length-1,"aria-label":"Next track",children:e(y,{name:"step-forward"})})]}),e("div",{className:t.seekRow,children:[e("span",{className:t.timeLabel,children:ue(l)}),e("input",{className:t.seekBar,type:"range",min:0,max:d||0,step:.1,value:Math.min(l,d||0),onChange:rt,style:{"--played-percent":`${Oe}%`,"--buffered-percent":`${ht}%`},"aria-label":"Seek"}),e("span",{className:t.timeLabel,children:ue(d)})]})]}),De=e(O,{children:[e("button",{className:`${t.playerBtn} ${t.playerToggle}`,onClick:()=>B(!h),"aria-label":h?"Minimize player":"Expand player",title:h?"Minimize to browse":"Expand",children:h?e(y,{name:"chevron-down"}):e(y,{name:"chevron-up"})}),e("div",{className:t.playerInfo,children:[e("p",{className:t.playerTitle,title:s,children:k?k(s):s}),e("p",{className:t.playerTrack,children:[X?.resolutionStr||"",g.length>1?` (${i+1}/${g.length})`:""]})]}),e("div",{className:t.playerControls,children:pt}),e("div",{className:t.playerRight,children:[H===0?e(y,{name:"volume-mute",className:t.volumeIcon}):H<.5?e(y,{name:"volume-down",className:t.volumeIcon}):e(y,{name:"volume-up",className:t.volumeIcon}),e("input",{className:t.volumeBar,type:"range",min:0,max:1,step:.01,value:H,onChange:a=>{const r=parseFloat(a.target.value);Ne(r),localStorage.setItem("asmrVolume",String(r))},style:{"--volume-percent":`${H*100}%`},"aria-label":"Volume"})]}),e("div",{className:t.playerActions,children:[h&&c&&e("button",{className:t.playerBtn,onClick:()=>te(a=>!a),"aria-label":x?"Hide images":"Show images",title:x?"Hide images":"Show images",children:x?e(y,{name:"eye-slash"}):e(y,{name:"image"})}),h&&S.length>0&&e("button",{className:`${t.playerBtn} ${D?t.playerBtnActive:""}`,onClick:()=>ae(a=>!a),"aria-label":D?"Hide bookmarks":"Show bookmarks",title:"Timestamps",children:e(y,{name:"list-ol"})}),e("button",{className:t.playerBtn,onClick:R,"aria-label":"Close player",children:e(y,{name:"times"})})]})]}),He=e("audio",{ref:C,preload:"metadata",onPlay:()=>M(!0),onPause:ot,onTimeUpdate:lt,onLoadedMetadata:it,onProgress:a=>{const r=a.currentTarget;r.buffered.length>0&&q(r.buffered.end(r.buffered.length-1))},onEnded:st}),Ue=e(xe,{isOpen:Le,onClose:je,title:"Resume Listening",children:e("div",{style:{padding:"1rem",textAlign:"center"},children:[e("p",{children:["You were at ",e("strong",{children:ue(U)}),X?.resolutionStr?` in ${X.resolutionStr}`:""]}),e("div",{style:{marginTop:"1rem",display:"flex",gap:"10px",justifyContent:"center"},children:[e(me,{variant:"secondary",onClick:je,children:"Start from Beginning"}),e(me,{onClick:ct,children:"Resume"})]})]})}),qe=e(xe,{isOpen:Pe,onClose:()=>G(!1),title:"Finished!",children:e("div",{style:{padding:"1rem",textAlign:"center"},children:[e(y,{name:"check-circle",size:48,style:{color:"var(--accent-lighter)",marginBottom:"0.5rem"}}),e("p",{style:{fontSize:"1.1rem",fontWeight:600},children:k?k(s):s}),e("p",{style:{color:"var(--text-secondary)"},children:"You finished this work!"}),e("div",{style:{marginTop:"1rem",display:"flex",gap:"10px",justifyContent:"center"},children:[e(me,{variant:"secondary",onClick:()=>G(!1),children:"Close"}),e(me,{onClick:dt,children:"Mark Completed & Back to Home"})]})]})});if(!h)return Je(e(O,{children:[He,e("div",{className:t.playerBar,children:De}),Ue,qe]}),document.body);const ye=Math.min(F,Math.max(0,o.length-1)),We=o[ye],gt=x&&c&&!!We&&!_.has(We);return Je(e(O,{children:[He,Ue,qe,e("div",{className:`${t.npOverlay} ${he?"":t.npOverlayControlsHidden}`,children:[e("div",{className:`${t.npStage} ${!x||!c?t.npStageBlank:""}`,onClick:()=>$(a=>!a),children:x&&c&&e(O,{children:[e("div",{className:t.sliderViewport,children:[e("div",{className:t.sliderTrack,style:{transform:`translateX(-${ye*100}%)`},children:o.map(a=>e("div",{className:t.slide,children:e("img",{ref:r=>at(r,a),src:a,alt:`${k?k(s):s} — work image`,loading:"lazy",decoding:"async",draggable:!1,onLoad:()=>Me(a),onError:()=>Me(a),className:`${t.slideImg} ${_.has(a)?t.slideImgLoaded:""}`})},a))}),gt&&e("span",{className:t.slideSpinner,"aria-label":"Loading image"})]}),o.length>1&&e(O,{children:[e("button",{className:`${t.npArrow} ${t.npArrowLeft}`,onClick:a=>{a.stopPropagation(),Y(r=>Math.max(0,r-1)),$(!0)},disabled:ye===0,"aria-label":"Previous image",children:e(y,{name:"chevron-left"})}),e("button",{className:`${t.npArrow} ${t.npArrowRight}`,onClick:a=>{a.stopPropagation(),Y(r=>Math.min(o.length-1,r+1)),$(!0)},disabled:ye===o.length-1,"aria-label":"Next image",children:e(y,{name:"chevron-right"})}),e("span",{className:t.npImageCount,onClick:a=>a.stopPropagation(),children:[ye+1," / ",o.length]})]})]})}),e("div",{className:`${t.playerBar} ${t.playerBarDocked} ${he?"":t.playerBarDockedHidden}`,onClick:a=>a.stopPropagation(),children:[De,D&&e(O,{children:[e("div",{className:t.npBackdrop,onClick:()=>ae(!1)}),e("div",{className:t.chapterPanel,children:S.map((a,r)=>e("button",{className:`${t.chapterRow} ${r===ut?t.chapterRowActive:""}`,title:k?k(a.label):a.label,onClick:()=>{mt(a.time),ae(!1)},children:[e("span",{className:t.chapterRowTime,children:ue(a.time)}),e("span",{className:t.chapterRowLabel,title:k?k(a.label):a.label,children:k?k(a.label):a.label})]},`${a.time}-${r}`))})]})]})]})]}),document.body)},Bt="https://github.com/serifpersia/dango/releases/latest/download/dango-extension.zip",$t=s=>{try{return JSON.parse(s.detail)}catch{return null}},Et=({isOpen:s,onClose:o,onSuccess:S})=>{const[g,i]=m(1),[h,v]=m(typeof navigator<"u"?navigator.userAgent:""),[A,k]=m(""),[T,B]=m(!1),[R,C]=m(!1),f=j(null),w=typeof navigator<"u"?navigator.userAgent:"",M=/android/i.test(w),l=/firefox|fxios/i.test(w)&&!M,u=!l&&!M&&/chrome|chromium|edg|brave/i.test(w),d=l||u;N(()=>{s&&(i(1),v(typeof navigator<"u"?navigator.userAgent:""),k(""),B(!1),C(!1))},[s]),N(()=>()=>{f.current&&(window.removeEventListener("dango:jasmr-cookie",f.current),f.current=null)},[]);const P=async()=>{localStorage.setItem("jasmr_ua",h),window.open("https://japaneseasmr.com","_blank","noopener,noreferrer"),i(2)},p=()=>{if(R)return;C(!0);const x=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,te=window.setTimeout(()=>{C(!1),f.current&&(window.removeEventListener("dango:jasmr-cookie",f.current),f.current=null),le.error("Helper not detected — install it via about:debugging first.")},3e3),F=Y=>{const _=$t(Y);if(!(!_||_.requestId!==x))if(window.clearTimeout(te),window.removeEventListener("dango:jasmr-cookie",F),f.current=null,C(!1),_?.ok&&_.cookie)k(_.cookie),le.success("Cookie extracted from helper!");else if(_?.error==="NO_COOKIE"){const oe=_.debug?.stores?.length??0,D=_.debug?.names??[];le.error(`Helper found no cf_clearance (checked ${oe} stores, saw: ${D.join(", ")||"none"}) — solve the challenge on the JapaneseASMR tab first.`)}else le.error("Helper request failed — try again.")};f.current=F,window.addEventListener("dango:jasmr-cookie",F),window.dispatchEvent(new CustomEvent("dango:get-jasmr-cookie",{detail:{requestId:x}}))},q=async()=>{if(!A.trim()){le.error("Please enter the cf_clearance cookie");return}B(!0);try{localStorage.setItem("jasmr_cookie",A.trim()),le.success("Cookie updated successfully!"),S?.(),o()}catch{le.error("Failed to save cookie")}finally{B(!1)}};return e(xe,{isOpen:s,onClose:o,title:"JapaneseASMR Verification Required",children:e("div",{className:I.container,children:g===1?e(O,{children:[e("p",{children:["JapaneseASMR is protected by a Cloudflare challenge. Solve it once in your browser and paste the ",e("strong",{children:"cf_clearance"})," cookie so the app can load the site for you."]}),e("div",{className:I.field,children:[e("label",{children:"Your User-Agent (must match the browser you solve the challenge with):"}),e("textarea",{value:h,onChange:x=>v(x.target.value),rows:3,className:I.textarea})]}),e("div",{className:I.actions,children:[e("button",{className:I.secondaryButton,onClick:o,children:"Cancel"}),e("button",{className:I.button,onClick:P,children:"Start Verification (Opens JapaneseASMR)"})]})]}):e(O,{children:[e("p",{children:["1. Solve the challenge on the ",e("strong",{children:"JapaneseASMR tab"})," (keep that tab open).",e("br",{}),"2. Copy the ",e("strong",{children:"cf_clearance"})," cookie value using one of these:",e("br",{}),e("br",{}),e("strong",{children:"Chrome / Edge — DevTools:"})," press ",e("code",{children:"F12"})," →"," ",e("strong",{children:"Application"})," → ",e("strong",{children:"Cookies"})," →"," ",e("code",{children:"https://japaneseasmr.com"}),". Find ",e("strong",{children:"cf_clearance"}),", double-click its ",e("strong",{children:"Value"})," to select it, then copy.",e("br",{}),e("br",{}),e("strong",{children:"Firefox — Storage Inspector:"})," press ",e("code",{children:"F12"})," →"," ",e("strong",{children:"Storage"})," → ",e("strong",{children:"Cookies"})," →"," ",e("code",{children:"https://japaneseasmr.com"}),". Find ",e("strong",{children:"cf_clearance"}),", right-click the value → ",e("strong",{children:"Copy Value"}),".",e("br",{}),e("br",{}),e("strong",{children:"Either browser — extension:"})," open"," ",e("strong",{children:"Cookie Manager"})," while on the JapaneseASMR tab, find"," ",e("strong",{children:"cf_clearance"}),", and copy its value (or use the extension's export).",e("br",{}),e("br",{}),"3. Paste it below. Copy ",e("strong",{children:"only the value"})," — remove any"," ",e("code",{children:"cf_clearance="})," prefix or quotes if they were included."]}),d&&e("div",{className:I.hint,children:[e("strong",{children:"Dango helper (one-time setup):"})," ",l?e(O,{children:["type ",e("code",{children:"about:debugging"})," in the address bar →"," ",e("strong",{children:"This Firefox"})," → ",e("strong",{children:"Load Temporary Add-on"})," ","→ open the ",e("code",{children:"dango-extension/firefox"})," folder and pick"," ",e("code",{children:"manifest.json"}),". (Temporary helpers unload when Firefox closes — repeat after a restart.)"]}):e(O,{children:["type ",e("code",{children:"chrome://extensions"})," in the address bar → enable"," ",e("strong",{children:"Developer mode"})," → ",e("strong",{children:"Load unpacked"})," → open the ",e("code",{children:"dango-extension/chrome"})," folder. (Unpacked helpers show a developer-mode notice — expected.)"]})," ","Use this link to download the extension and extract it:"," ",e("a",{href:Bt,target:"_blank",rel:"noreferrer",className:I.link,children:"dango-extension.zip"}),". Then click Extract below and the field fills itself.",e("div",{className:I.actions,children:e("button",{className:I.button,onClick:p,disabled:R,type:"button",children:R?"Extracting…":"Extract cookie from helper"})})]}),e("div",{className:I.field,children:[e("label",{children:"cf_clearance cookie value:"}),e("input",{type:"text",value:A,onChange:x=>k(x.target.value),placeholder:"e.g. xxxxxxxx.xxxxxxxx.xxxxxxx-xxxxxxx",className:I.input})]}),e("div",{className:I.actions,children:[e("button",{className:I.secondaryButton,onClick:o,children:"Cancel"}),e("button",{className:I.secondaryButton,onClick:()=>i(1),children:"Back"}),e("button",{className:I.button,onClick:q,disabled:T,children:T?"Saving...":"Submit"})]})]})})})},tt="asmrTranslateCache",_t=10080*60*1e3;function jt(){try{const s=localStorage.getItem(tt);if(!s)return new Map;const o=JSON.parse(s);return new Map(Object.entries(o))}catch{return new Map}}function Ft(s){try{const o={};for(const[S,g]of s)o[S]=g;localStorage.setItem(tt,JSON.stringify(o))}catch{}}function Ke(s){return/[\u3040-\u309F\u30A0-\u30FF\u4E00-\u9FAF]/.test(s)}async function Ot(s){const o=s.map(i=>i.trim()).filter(Boolean);if(o.length===0)return new Map;const S=await Ee.settings.translate.mutate({texts:o,source:"ja",target:"en"}),g=new Map;for(const[i,h]of Object.entries(S.translations||{}))g.set(i,h);for(const i of o)g.has(i)||g.set(i,i);return g}function Dt(s,o){const[S,g]=m(new Map),[i,h]=m(!1),v=j(null),A=s.join("");return N(()=>{const T=A?A.split(""):[];if(!o||T.length===0){g(new Map),h(!1);return}const B=Array.from(new Set(T.map(l=>l.trim()).filter(Boolean).filter(Ke)));if(B.length===0){g(new Map);return}v.current||(v.current=jt());const R=Date.now(),C=new Map,f=[];for(const l of B){const u=v.current.get(l);u&&R-u.ts<_t?C.set(l,u.t):f.push(l)}if(f.length===0){g(C);return}let w=!1;h(!0);const M=[];for(let l=0;l<f.length;l+=15)M.push(f.slice(l,l+15));return(async()=>{const l=new Map;for(const d of M){try{const P=await Ot(d);for(const[p,q]of P)l.set(p,q)}catch{}await new Promise(P=>setTimeout(P,120))}if(w)return;if(v.current){for(const[d,P]of l)v.current.set(d,{t:P,ts:Date.now()});Ft(v.current)}const u=new Map([...C,...l]);g(u),h(!1)})(),()=>{w=!0}},[o,A]),{t:T=>!o||!T||!Ke(T)?T:S.get(T.trim())||T,map:S,isTranslating:i}}const Ht=[{label:"Date",options:[{value:"latest",label:"Latest"},{value:"oldest",label:"Oldest"}]},{label:"Title",options:[{value:"title_asc",label:"A → Z"},{value:"title_desc",label:"Z → A"}]},{label:"Popular (Views)",options:[{value:"popular_recent",label:"Recent"},{value:"popular_week",label:"Week"},{value:"popular_month",label:"Month"},{value:"popular_6_months",label:"6 Months"},{value:"popular_year",label:"Year"},{value:"popular",label:"All Time"}]},{label:"Most Commented",options:[{value:"comments_week",label:"Week"},{value:"comments_month",label:"Month"},{value:"comments_year",label:"Year"},{value:"comments",label:"All Time"}]},{label:"Other",options:[{value:"random",label:"Random"}]}],Ut=[{value:"",label:"All"},{value:"sfw",label:"SFW / 全年齢"},{value:"r-15",label:"R-15"},{value:"r-18",label:"NSFW / R18"},{value:"yuri",label:"Yuri / Girls love / 百合"},{value:"otokonoko",label:"Otoko no ko / 男の娘"},{value:"futanari",label:"Futanari / フタナリ"},{value:"r-18g",label:"R-18G / グロ"}],qt=[{value:"sfw",label:"SFW / 全年齢"}],Be="agreedToViewMature",ta=()=>{const{rj:s}=bt(),o=Ge(),[S,g]=vt(),[i,h]=m(()=>localStorage.getItem(Be)==="true"),[v,A]=m(!1),[k,T]=m(()=>S.get("q")||""),[B,R]=m(()=>S.get("q")||""),[C,f]=m("latest"),[w,M]=m("sfw"),[l,u]=m(1),[d,P]=m(null),[p,q]=m(null),[x,te]=m(!0),[F,Y]=m(()=>localStorage.getItem("asmrTranslateEN")==="true"),[_,oe]=m(!1),D=yt(),{toggle:ae,bookmarkedIds:he}=Ze(),{popup:$,openPopup:ne,scheduleClose:H,cancelClose:Ne,closePopup:pe}=xt();N(()=>wt("jasmr",()=>oe(!0)),[]),N(()=>{localStorage.setItem("asmrTranslateEN",String(F))},[F]),N(()=>{const n=()=>h(localStorage.getItem(Be)==="true");return window.addEventListener("focus",n),window.addEventListener("storage",n),()=>{window.removeEventListener("focus",n),window.removeEventListener("storage",n)}},[]);const ge=i,J=ge?w:"sfw",Ce=ge?Ut:qt,{data:ie,isLoading:Se,isError:Le,isFetching:fe}=Mt(B,l,C,J),U=$e.useMemo(()=>ie?.shows??[],[ie?.shows]),Re=ie?.hasNext??!1;N(()=>{if(!s){d&&!p&&P(null);return}const n=s.toUpperCase();if(p&&(p.work.id?.toUpperCase()===n||p.work._id?.toUpperCase()===n)){d&&P(null);return}const c=U.find(L=>(L.id||L._id)?.toUpperCase()===n);c?(!d||(d.id||d._id)!==(c.id||c._id))&&P(c):(!d||(d.id||d._id)?.toUpperCase()!==n)&&P({_id:n,id:n,name:n})},[s,U,p,d]);const Pe=V(()=>{o("/asmr")},[o]);N(()=>{!s&&p&&q(null)},[s,p]);const{data:G}=Qe(p&&p.work.id||null),be=p?[p.work.thumbnail,...G?.images||[]].filter(Boolean):[],W=[...U.map(n=>n.name),d?.name||"",p?.work.name||"",...G?.chapters?.map(n=>n.label)||[]].filter(Boolean),{t:K}=Dt(W,F);N(()=>{const n=p?p.work.name:d?d.name:s?s.toUpperCase():"",c=n?F?K(n):n:"",L=c?`${c} - dango`:"dango";document.title=L;try{window.history.replaceState(window.history.state,L,window.location.href)}catch{}},[d,p,s,F,K]);const Q=n=>{n.preventDefault(),R(k),u(1);const c=new URLSearchParams(S);k.trim()?c.set("q",k.trim()):c.delete("q"),c.delete("page"),g(c,{replace:!0})};N(()=>{const n=S.get("q")||"";T(c=>c===n?c:n),R(c=>c===n?c:n),u(1)},[S]);const ce=n=>{n.target.checked&&!i&&A(!0)},X=()=>{localStorage.setItem(Be,"true"),h(!0),A(!1),u(1)},Z=()=>{A(!1)},Te=V((n,c,L)=>{P(null),te(!0),q({work:n,tracks:c,index:L})},[]);return e("div",{className:`${t.page} ${p?t.pageWithPlayer:""}`,children:[!(p&&x)&&e(O,{children:[e("header",{className:t.header,children:[e("h1",{className:t.pageTitle,children:[e(y,{name:"headphones"})," ASMR"]}),e("form",{className:t.searchForm,onSubmit:Q,children:[e("input",{className:t.searchInput,type:"text",value:k,onChange:n=>T(n.target.value),placeholder:"Search works, circles, CV… (-word excludes)","aria-label":"Search ASMR works"}),e("button",{className:t.searchBtn,type:"submit","aria-label":"Search",children:e(y,{name:"search"})})]})]}),e("div",{className:t.filterBar,children:[e("label",{className:t.filterLabel,htmlFor:"asmr-sort",children:"Sort"}),e("select",{id:"asmr-sort",className:t.sortSelect,value:C,onChange:n=>{f(n.target.value),u(1)},children:Ht.map(n=>e("optgroup",{label:n.label,children:n.options.map(c=>e("option",{value:c.value,children:c.label},c.value))},n.label))}),e("label",{className:t.filterLabel,htmlFor:"asmr-rating",children:"Type"}),e("select",{id:"asmr-rating",className:t.sortSelect,value:w,onChange:n=>{M(n.target.value),u(1)},children:Ce.map(n=>e("option",{value:n.value,children:n.label},n.value))}),e("div",{className:t.filterTogglesGroup,children:[e("div",{className:t.translateToggleWrap,children:[e("span",{className:t.filterLabel,children:"JP"}),e(ze,{id:"asmr-translate-toggle",isChecked:F,onChange:n=>Y(n.target.checked)}),e("span",{className:t.filterLabel,children:"EN"})]}),!i&&e("div",{className:t.matureToggleWrap,children:[e("label",{className:t.matureLabel,htmlFor:"asmr-mature-toggle",children:"Mature"}),e(ze,{id:"asmr-mature-toggle",isChecked:!1,onChange:ce})]})]})]}),Le?e("p",{className:t.statusMsg,children:"Failed to load works. Please try again."}):Se&&U.length===0?e("div",{className:t.grid,"aria-hidden":!0,children:Array.from({length:12}).map((n,c)=>e("div",{className:t.skeletonCard,children:[e("div",{className:`${t.skeletonThumb} ${t.shimmer}`}),e("div",{className:`${t.skeletonLine} ${t.shimmer}`,style:{width:"88%"}}),e("div",{className:`${t.skeletonLine} ${t.shimmer}`,style:{width:"55%"}})]},c))}):U.length===0?e("p",{className:t.statusMsg,children:"No works found."}):e(O,{children:[e("div",{className:`${t.grid} ${fe?t.fetching:""}`,children:U.map(n=>{const c=F?{...n,name:K(n.name)}:n,L=Xe(n),re=Ye(L),ee=he.has(re),se=`/asmr/${encodeURIComponent(L)}`;return e("div",{className:t.asmrCardWrap,children:[e(Nt,{item:{id:re,title:c.name,thumbnail:n.thumbnail||"",typeBadge:L||void 0,isAdult:Ie(n)},linkTo:se,hoverIcon:"info",layout:"horizontal",showInfoButton:!0,display:{elements:{poster:{typeBadge:!0,chapterBadge:!1,adultBadge:!0},info:{title:!0,mobileBadges:!0,progress:!1,meta:!1}}},onOpenDetails:z=>ne(z,{rjCode:L,title:c.name,thumbnail:n.thumbnail||"",isAdult:Ie(n),rating:n.rating,listenTarget:se}),onPopupHoverIntent:z=>z?Ne():H(),rawThumbnail:!0}),e("button",{className:`${t.bookmarkBtn} ${ee?t.bookmarked:""}`,onClick:z=>{z.preventDefault(),z.stopPropagation(),ae({rjCode:L,title:n.name,thumbnail:n.thumbnail||"",isAdult:Ie(n)})},title:ee?"Remove from listening list":"Add to listening list","aria-label":ee?"Remove from listening list":"Add to listening list","aria-pressed":ee,children:e(y,{name:ee?"check":"plus",size:12})})]},n._id||n.id)})}),e("nav",{className:t.pagination,children:[e("button",{className:t.pageBtn,disabled:l<=1,onClick:()=>u(n=>Math.max(1,n-1)),children:"Previous"}),e("span",{className:t.pageIndicator,children:["Page ",l]}),e("button",{className:t.pageBtn,disabled:!Re,onClick:()=>u(n=>n+1),children:"Next"})]})]})]}),d&&e(Pt,{work:d,onClose:Pe,onPlay:Te,t:K}),$&&e(Lt,{data:$.data,anchorRect:$.rect,bookmarked:he.has(Ye($.data.rjCode)),onToggleBookmark:()=>ae({rjCode:$.data.rjCode,title:$.data.title,thumbnail:$.data.thumbnail||"",isAdult:$.data.isAdult}),onMouseEnter:Ne,onMouseLeave:H,onRequestClose:pe}),_&&e(Et,{isOpen:_,onClose:()=>oe(!1),onSuccess:()=>{D.invalidateQueries({queryKey:["asmrBrowse"]}),D.invalidateQueries({queryKey:["asmrWork"]})}}),v&&e(xe,{isOpen:v,title:"Content Warning",onClose:Z,children:e("div",{style:{padding:"var(--space-4)",textAlign:"center"},children:[e("p",{children:"This section contains mature content intended for adult audiences."}),e("p",{children:["By proceeding, you confirm that you are ",e("strong",{children:"18 years of age or older"})," (or the age of majority in your jurisdiction) and wish to view this content."]}),e("p",{style:{fontSize:"var(--font-size-xs)",color:"var(--text-secondary)",marginTop:"var(--space-4)"},children:["You can reset this preference at any time in the ",e("strong",{children:"Settings"})," page."]}),e("div",{style:{marginTop:"var(--space-4)",display:"flex",gap:"var(--space-2-5)",justifyContent:"center"},children:[e(me,{variant:"secondary",onClick:Z,children:"Go Back"}),e(me,{onClick:X,children:"I'm 18+, Continue"})]})]})}),p&&e(It,{title:p.work.name,images:be,chapters:G?.chapters||[],tracks:p.tracks,trackIndex:p.index,expanded:x,isAdult:!!p.work.isAdult,rjCode:p.work.id||p.work._id,t:K,onTrackChange:n=>q(c=>c&&{...c,index:n}),onExpandedChange:te,onClose:()=>{q(null),te(!0),s&&o("/asmr")}})]})};export{ta as default};
@@ -1 +1 @@
1
- import{d as a,u as i}from"./vendor-core-DfaOB3Rn.js";import{R as l}from"./ResetProgressModal-JFlbXy7W.js";import{s as f,n as R}from"./useAsmr-BLc7FwPm.js";const p=({workId:e,title:m,onClose:o})=>{const[r,s]=a(!1),t=f(),n=R();return i(l,{isOpen:!!e,itemName:m,progressKind:"listening",listLabel:"my listening list",alsoRemove:r,onAlsoRemoveChange:s,onClose:()=>{s(!1),o()},onConfirm:()=>{e&&(t.mutate({workId:e}),r&&n.mutate({id:e}),s(!1),o())}})};export{p as A};
1
+ import{d as a,u as i}from"./vendor-core-DfaOB3Rn.js";import{R as l}from"./ResetProgressModal-CeI4V3Y5.js";import{s as f,n as R}from"./useAsmr-ClckxnPe.js";const p=({workId:e,title:m,onClose:o})=>{const[r,s]=a(!1),t=f(),n=R();return i(l,{isOpen:!!e,itemName:m,progressKind:"listening",listLabel:"my listening list",alsoRemove:r,onAlsoRemoveChange:s,onClose:()=>{s(!1),o()},onConfirm:()=>{e&&(t.mutate({workId:e}),r&&n.mutate({id:e}),s(!1),o())}})};export{p as A};
@@ -0,0 +1 @@
1
+ ._controls_endtv_1{display:flex;align-items:stretch;gap:1.25rem;flex-wrap:wrap;width:100%}._titleContainer_endtv_9{display:flex;flex-direction:column;gap:1rem}._scheduleInfo_endtv_15{display:flex;gap:1rem;font-size:.95rem;color:var(--text-tertiary);align-items:center}._status_endtv_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_endtv_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_endtv_45{background:#ffffff0d;color:var(--text-primary);border:1px solid rgba(255,255,255,.1);padding:.65rem 1.25rem;border-radius:var(--radius-full);font-weight:600;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;gap:.6rem;font-size:.85rem;flex:0 1 auto;min-width:120px;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}._watchlistBtn_endtv_45:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-2px);box-shadow:0 4px 12px #00000040}._watchlistBtn_endtv_45._inList_endtv_72{background:color-mix(in srgb,var(--color-success) 12%,transparent);border-color:color-mix(in srgb,var(--color-success) 35%,transparent);color:var(--color-success)}._watchlistBtn_endtv_45._inList_endtv_72:hover{background:color-mix(in srgb,var(--color-success) 18%,transparent);border-color:var(--color-success)}._queueBtn_endtv_83{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent-light)}._queueBtn_endtv_83:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent-lighter)}._queueActive_endtv_95{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:color-mix(in srgb,var(--accent) 60%,transparent);color:var(--accent-lighter)}._modeToggleBtn_endtv_101{background:#ffffff0d;color:var(--text-primary);border-color:#ffffff1a;flex:0 1 auto}._modeToggleActive_endtv_108{background:color-mix(in srgb,var(--color-info) 12%,transparent);border-color:color-mix(in srgb,var(--color-info) 45%,transparent);color:#dbeafe}._modeToggleActive_endtv_108:hover{background:color-mix(in srgb,var(--color-info) 18%,transparent);border-color:color-mix(in srgb,var(--color-info) 65%,transparent)}._nativeToggleBtn_endtv_119{background:#ffffff0d;color:var(--text-primary);border-color:#ffffff1a;flex:0 1 auto}._nativeToggleBtn_endtv_119:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-2px)}._nativeToggleActive_endtv_132{background:color-mix(in srgb,var(--color-warning) 10%,transparent);border-color:color-mix(in srgb,var(--color-warning) 40%,transparent);color:var(--color-warning)}._nativeToggleActive_endtv_132:hover{background:color-mix(in srgb,var(--color-warning) 16%,transparent);border-color:color-mix(in srgb,var(--color-warning) 60%,transparent)}._watchlistBtn_endtv_45:disabled{opacity:.7;cursor:wait;transform:none}._watchlistBtn_endtv_45:disabled:hover{transform:none}._markWatchedBtn_endtv_153{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_endtv_153: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_endtv_167{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_endtv_167:hover{background:color-mix(in srgb,var(--color-success) 18%,transparent);border-color:var(--color-success)}._completeSeriesBtn_endtv_178{background:color-mix(in srgb,var(--color-success) 10%,transparent);border-color:color-mix(in srgb,var(--color-success) 30%,transparent);color:#d1fae5;flex:0 1 auto;justify-content:center}._completeSeriesBtn_endtv_178:hover{background:color-mix(in srgb,var(--color-success) 16%,transparent);border-color:color-mix(in srgb,var(--color-success) 45%,transparent);color:#ecfdf5}._providerAndEpisodeRow_endtv_192{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}._episodeActions_endtv_199{display:flex;flex-wrap:wrap;gap:.75rem;margin:.5rem 0 .25rem}._desktopEpisodeActions_endtv_206{flex:1 1 320px;justify-content:flex-end;align-self:flex-end;margin:0}._mobileEpisodeActions_endtv_213{margin:.5rem 0 .25rem}._episodeNavBtn_endtv_217{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_endtv_217:hover:not(:disabled){border-color:var(--text-secondary);background:#ffffff14}._episodeNavBtn_endtv_217:disabled{opacity:.45;cursor:not-allowed;transform:none}._episodeNavBtn_endtv_217._primary_endtv_247{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);border-color:transparent;color:#fff}._episodeNavBtn_endtv_217._primary_endtv_247:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-light) 0%,var(--accent) 100%)}._episodeNavBtn_endtv_217._secondary_endtv_257{background:#ffffff0a}._episodePickerBtn_endtv_261{display:none}._queueCountdown_endtv_265{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_endtv_280{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_endtv_280 span{line-height:1}._speedBoostBadge_endtv_280 svg{display:block;flex-shrink:0}._videoContainer_endtv_311{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_endtv_324{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_endtv_338{display:flex;gap:10px}._dot_endtv_343{width:12px;height:12px;border-radius:50%;background-color:var(--accent);animation:_bounce_endtv_1 1.4s infinite ease-in-out both;box-shadow:0 0 10px var(--accent-glow)}._dot_endtv_343:nth-child(1){animation-delay:-.32s}._dot_endtv_343:nth-child(2){animation-delay:-.16s}@keyframes _bounce_endtv_1{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}._bufferingOverlay_endtv_372{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:20}._bufferingSpinner_endtv_381{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--accent);animation:_spin_endtv_921 1s ease-in-out infinite}@keyframes _spin_endtv_921{to{transform:rotate(360deg)}}._videoIframe_endtv_396{width:100%;height:100%;border:none;position:absolute;top:0;left:0;object-fit:cover;border-radius:inherit}._videoContainer_endtv_311 video{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;object-fit:contain;background-color:#000;border-radius:inherit}._videoContainer_endtv_311 video._videoElementHidden_endtv_419{opacity:0;pointer-events:none}._upscalerCanvas_endtv_424{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_endtv_424._upscalerActive_endtv_437{opacity:1}._upscalerStatusBadge_endtv_441{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_endtv_456{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:hidden;border-radius:inherit}._controlsOverlay_endtv_468{position:absolute;inset:0;opacity:1;transition:opacity .4s cubic-bezier(.4,0,.2,1);z-index:50;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;border-radius:inherit;background:linear-gradient(to bottom,rgba(0,0,0,.35) 0%,rgba(0,0,0,.2) 15%,transparent 40%,transparent 60%,rgba(0,0,0,.2) 85%,rgba(0,0,0,.35) 100%);will-change:opacity}._controlsOverlay_endtv_468>*{pointer-events:auto}._controlsOverlay_endtv_468._hidden_endtv_498{opacity:0;pointer-events:none;cursor:none}._centerPlayPause_endtv_504{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;background:#0f0f11d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:50%;color:#fff;width:90px;height:90px;font-size:2.8rem;cursor:pointer;padding-left:6px;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:none;will-change:transform}._centerPlayPause_endtv_504:hover{background:var(--accent);color:var(--accent-text);transform:translate(-50%,-50%) scale(1.1);border-color:var(--accent);box-shadow:0 0 40px var(--accent-glow)}._bottomControls_endtv_536{position:absolute;bottom:24px;left:24px;right:24px;display:flex;flex-direction:column;gap:0;background:#0f0f11f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:16px 24px;box-shadow:none}._progressBarContainer_endtv_553{width:100%;padding:10px 0;cursor:pointer;position:relative;touch-action:none;display:flex;align-items:center}._progressBar_endtv_553{width:100%;height:4px;background-color:#ffffff26;border-radius:4px;position:relative;transition:height .2s,background-color .2s;overflow:visible}._progressBarContainer_endtv_553:hover ._progressBar_endtv_553,._progressBarContainer_endtv_553._scrubbing_endtv_576 ._progressBar_endtv_553{height:6px;background-color:#ffffff40}._watchedBar_endtv_581,._bufferedBar_endtv_582{position:absolute;top:0;left:0;height:100%;border-radius:4px}._watchedBar_endtv_581{background:var(--accent);background:linear-gradient(90deg,var(--accent) 0%,var(--accent-light) 100%);z-index:2;box-shadow:0 0 15px var(--accent-glow);transition:width .3s linear;will-change:width}._bufferedBar_endtv_582{background-color:#ffffff4d;z-index:1}._thumb_endtv_604{position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);width:16px;height:16px;background-color:#fff;border-radius:50%;z-index:3;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),left .3s linear;box-shadow:0 0 0 4px #fff3;will-change:left}._progressBarContainer_endtv_553:hover ._thumb_endtv_604,._progressBarContainer_endtv_553._scrubbing_endtv_576 ._thumb_endtv_604{transform:translate(-50%,-50%) scale(1)}._timeBubble_endtv_625{position:absolute;bottom:35px;transform:translate(-50%);background:#000000e6;border:1px solid rgba(255,255,255,.1);color:#fff;padding:6px 10px;border-radius:8px;font-size:.85rem;font-weight:600;opacity:0;transition:opacity .2s;pointer-events:none;white-space:nowrap;box-shadow:0 4px 12px #0000004d}._progressBarContainer_endtv_553:hover ._timeBubble_endtv_625,._progressBarContainer_endtv_553._scrubbing_endtv_576 ._timeBubble_endtv_625{opacity:1}._skipSegment_endtv_648{position:absolute;top:0;height:100%;z-index:10;opacity:.5;transition:opacity .2s;border-radius:4px}._skipSegment_endtv_648:hover{opacity:.8}._skipSegment_endtv_648._op_endtv_662{background-color:var(--success)}._skipSegment_endtv_648._ed_endtv_666{background-color:var(--accent-blue)}._skipSegment_endtv_648._recap_endtv_670{background-color:var(--warning)}._bottomControlsRow_endtv_674{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:4px}._controlBtn_endtv_682{background:transparent;border:none;color:#ffffffe6;font-size:1.2rem;cursor:pointer;transition:all .2s;padding:10px;border-radius:12px;display:flex;align-items:center;justify-content:center}._controlBtn_endtv_682:hover{background:#ffffff1a;color:#fff;transform:translateY(-2px)}._controlBtn_endtv_682:active{transform:translateY(0)}._timeDisplay_endtv_706{font-size:.9rem;font-weight:500;color:#ffffffe6;font-variant-numeric:tabular-nums;margin-left:.5rem;opacity:.9}._leftControls_endtv_715,._rightControls_endtv_716,._middleControls_endtv_717{display:flex;align-items:center;gap:1.5rem}._skipControls_endtv_723{display:flex;align-items:center;gap:.25rem}._skipBtn_endtv_729{background:transparent;border:none;color:#fff;cursor:pointer;font-size:1.4rem;display:flex;align-items:center;justify-content:center;opacity:.7;transition:all .2s;padding:6px}._skipBtn_endtv_729:hover{opacity:1;transform:scale(1.1);color:var(--accent)}._skipBtn_endtv_729:active{transform:scale(.9)}._volumeContainer_endtv_753{display:flex;align-items:center;position:relative;padding-right:10px}._volumeSlider_endtv_760{width:0;opacity:0;transform:scaleX(0);transform-origin:left;transition:all .3s var(--ease-smooth);cursor:pointer;margin-left:6px;-webkit-appearance:none;appearance:none;background:transparent;height:30px}._volumeContainer_endtv_753:hover ._volumeSlider_endtv_760,._volumeSlider_endtv_760:focus{width:80px;opacity:1;transform:scaleX(1)}._volumeSlider_endtv_760::-webkit-slider-runnable-track{width:100%;height:4px;background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--volume-percent, 100%),rgba(255,255,255,.25) var(--volume-percent, 100%),rgba(255,255,255,.25) 100%);border-radius:4px;border:none}._volumeSlider_endtv_760::-moz-range-track{width:100%;height:4px;background:#ffffff40;border-radius:4px;border:none}._volumeSlider_endtv_760::-moz-range-progress{height:4px;background:var(--accent);border-radius:4px}._volumeSlider_endtv_760::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background-color:#fff;border:2px solid var(--accent);border-radius:50%;cursor:pointer;margin-top:-5px;box-shadow:0 0 10px #00000080;transition:transform .1s ease}._volumeSlider_endtv_760::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 15px var(--accent-glow)}._volumeSlider_endtv_760::-moz-range-thumb{width:14px;height:14px;background-color:#fff;border:2px solid var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 0 10px #00000080}._settingsMenu_endtv_838{position:absolute;bottom:50px;right:0;background:#0f0f0ffa;border:1px solid rgba(255,255,255,.1);color:#fff;padding:1rem;border-radius:12px;width:280px;z-index:var(--z-dropdown);box-shadow:0 10px 40px #00000080;animation:_slideUp_endtv_1 .2s cubic-bezier(.16,1,.3,1);transform-origin:bottom right}@keyframes _slideUp_endtv_1{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}._settingsMenu_endtv_838 h4{margin:0 0 1rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffff80;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem;font-weight:600}._qualityListInMenu_endtv_877,._ccOptionsContainer_endtv_878{display:flex;flex-direction:column;gap:.25rem;max-height:300px;overflow-y:auto}._qualityItemInMenu_endtv_886,._ccItem_endtv_887{background:transparent;color:#fffc;border:none;padding:.75rem 1rem;border-radius:8px;cursor:pointer;text-align:left;font-size:.95rem;transition:all .2s;display:flex;justify-content:space-between;align-items:center}._qualityItemInMenu_endtv_886:hover,._ccItem_endtv_887:hover{background:#ffffff1a;color:#fff}._qualityItemInMenu_endtv_886._active_endtv_908,._ccItem_endtv_887._active_endtv_908{background:var(--accent);color:var(--accent-text);font-weight:600}._sourceLoader_endtv_915{padding:2rem;display:flex;justify-content:center}._spinner_endtv_921{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-left-color:var(--accent);border-radius:50%;animation:_spin_endtv_921 1s linear infinite}@media(max-width:768px){._bottomControls_endtv_536{padding:.75rem;bottom:8px;left:8px;right:8px;border-radius:12px}._leftControls_endtv_715,._rightControls_endtv_716{gap:.5rem}._controlBtn_endtv_682{padding:8px;font-size:1.1rem}._timeDisplay_endtv_706{font-size:.75rem;margin-left:.25rem}._centerPlayPause_endtv_504{width:64px;height:64px;font-size:2rem}._titleContainer_endtv_9 h1{font-size:1.25rem}._volumeSlider_endtv_760{width:0}._volumeContainer_endtv_753{display:flex}._skipBubble_endtv_972{width:80px;height:80px}._skipIcon_endtv_976{font-size:1.8rem}._skipText_endtv_979{font-size:.8rem}._episodeActions_endtv_199{margin-top:.25rem}._controls_endtv_1{gap:.5rem}._watchBtn_endtv_991,._watchlistBtn_endtv_45,._queueBtn_endtv_83,._markWatchedBtn_endtv_153,._completeSeriesBtn_endtv_178,._nativeToggleBtn_endtv_119,._modeToggleBtn_endtv_101{flex:1 1 calc(50% - .25rem);min-width:0;padding:.5rem .75rem;font-size:.78rem;gap:.4rem}._watchBtn_endtv_991{flex-basis:100%}._episodeNavBtn_endtv_217{flex:1 1 calc(50% - .25rem);min-width:0;padding:.45rem .75rem;font-size:.8rem;min-height:44px}._episodePickerBtn_endtv_261{display:inline-flex;flex-basis:100%;padding:.4rem .75rem;font-size:.78rem;min-height:44px}._desktopEpisodeActions_endtv_206{display:none}._mobileEpisodeActions_endtv_213{display:flex}._providerAndEpisodeRow_endtv_192{flex-direction:column}._errorOverlay_endtv_1037{padding:1rem;gap:.5rem;overflow-y:auto}._errorOverlay_endtv_1037 p{font-size:1rem}._retryButton_endtv_1047{padding:.5rem 1.25rem;font-size:.9rem;margin-top:0}}@media(min-width:769px){._mobileEpisodeActions_endtv_213{display:none}}@media(max-width:900px)and (orientation:landscape){._bottomControls_endtv_536{bottom:8px;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));padding:.5rem 1rem}._centerPlayPause_endtv_504{width:54px;height:54px;font-size:1.5rem}._skipIndicatorContainer_endtv_1074._leftSkip_endtv_1074{left:max(0px,env(safe-area-inset-left))}._skipIndicatorContainer_endtv_1074._rightSkip_endtv_1077{right:max(0px,env(safe-area-inset-right))}}._sourceSelectionContainer_endtv_1082{display:flex;flex-direction:column;gap:1.5rem;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);padding:2rem;border-radius:var(--radius-xl);width:100%;box-shadow:var(--glass-shadow);animation:_slideUpIn_endtv_1 .6s var(--ease-smooth)}._providerSelectContainer_endtv_1097{display:flex;flex-direction:column;gap:.75rem;width:100%}._providerSelect_endtv_1097,._sourceSelect_endtv_1082{height:48px;padding:0 1.25rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-size:.95rem;font-family:inherit;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2371717a' stroke-width='2' viewBox='0 0 12 12'%3E%3Cpolyline points='3 5 6 8 9 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.25rem center;transition:all var(--transition-fast);width:100%;max-width:400px}._providerSelect_endtv_1097:hover,._sourceSelect_endtv_1082:hover{border-color:var(--border-secondary);background-color:var(--bg-elevated)}._providerSelect_endtv_1097:focus,._sourceSelect_endtv_1082:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}._providerSelect_endtv_1097 option,._sourceSelect_endtv_1082 option{background:var(--bg-tertiary);color:var(--text-primary)}._sourceSelectionContainer_endtv_1082 h4,._providerSelectContainer_endtv_1097 h4{margin:0;color:var(--text-tertiary);font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em}._sourceButtons_endtv_1153{display:flex;flex-wrap:wrap;gap:.75rem}._sourceButton_endtv_1153{background:#ffffff0d;color:var(--text-secondary);border:1px solid var(--glass-border);padding:.75rem 1.5rem;border-radius:var(--radius-lg);cursor:pointer;font-size:.95rem;font-weight:600;transition:all var(--transition-normal)}._sourceButton_endtv_1153:hover{background:#ffffff1a;border-color:var(--text-primary);color:var(--text-primary);transform:translateY(-2px)}._sourceButton_endtv_1153._active_endtv_908{background:var(--accent);border-color:var(--accent);color:var(--accent-text);box-shadow:0 8px 20px var(--accent-glow)}._detailsBox_endtv_1185{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);padding:2.5rem;border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:1.5rem;box-shadow:var(--glass-shadow)}._detailsToggleBtn_endtv_1198{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-secondary);padding:.75rem 1.5rem;border-radius:var(--radius-lg);cursor:pointer;font-size:.95rem;font-weight:600;transition:all var(--transition-normal);display:flex;align-items:center;gap:.75rem;margin-top:2rem;width:fit-content}._detailsToggleBtn_endtv_1198:hover{background:#ffffff1a;color:var(--text-primary);border-color:var(--text-primary);transform:translateY(-2px)}._detailsGridContainer_endtv_1222{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2rem;margin-top:2.5rem;background:#ffffff05;padding:2.5rem;border-radius:var(--radius-xl);border:1px solid var(--glass-border);animation:_fadeIn_endtv_1 .6s var(--ease-smooth)}._detailItem_endtv_1234{display:flex;flex-direction:column;gap:.5rem}._detailItem_endtv_1234 strong{color:var(--text-tertiary);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}._detailItem_endtv_1234 span{color:var(--text-primary);font-size:1rem;font-weight:500}._animeStatus_endtv_1254{display:inline-block;background:color-mix(in srgb,var(--color-success) 10%,transparent);color:var(--color-success);padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px solid color-mix(in srgb,var(--color-success) 20%,transparent)}._genresList_endtv_1267{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.25rem}._genreTag_endtv_1274{background:#ffffff0d;color:var(--text-secondary);padding:.4rem 1rem;border-radius:var(--radius-full);font-size:.85rem;font-weight:600;border:1px solid var(--glass-border);transition:all var(--transition-fast)}._genreTag_endtv_1274:hover{background:#ffffff1a;color:var(--text-primary);border-color:var(--text-secondary);transform:translateY(-1px)}._loadingDetails_endtv_1292{color:var(--text-muted);font-style:italic;text-align:center;padding:2rem}._descriptionSection_endtv_1299{margin-top:2.5rem;padding:2.5rem;background:#ffffff05;border-radius:var(--radius-xl);border:1px solid var(--glass-border)}._descriptionSection_endtv_1299 h3{font-size:1.25rem;font-weight:800;margin-bottom:1.5rem;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.75rem}._descriptionSection_endtv_1299 h3:before{content:"";width:4px;height:20px;background:var(--accent);border-radius:var(--radius-full);box-shadow:0 0 10px var(--accent-glow)}._description_endtv_1299{line-height:1.8;color:var(--text-secondary);font-size:1.05rem;margin:0}._epJumpControls_endtv_1335{margin-bottom:1rem;padding:1rem;background:#ffffff08;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.8rem;border:1px solid var(--border-primary)}._epRangeButtons_endtv_1346{display:flex;flex-wrap:wrap;gap:.5rem}._metaTags_endtv_1352{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}._epRangeBtn_endtv_1359{background:transparent;border:1px solid var(--border-primary);color:var(--text-secondary);padding:.3rem .6rem;border-radius:4px;cursor:pointer;font-size:.8rem}._epRangeBtn_endtv_1359:hover{border-color:var(--accent);color:var(--accent)}._epJumpInputGroup_endtv_1374{display:flex;gap:.5rem}._epJumpInputGroup_endtv_1374 input{background:#0000004d;border:1px solid var(--border-primary);color:#fff;padding:.4rem .8rem;border-radius:4px;flex:1}._epJumpInputGroup_endtv_1374 input:focus{outline:none;border-color:var(--accent)}._epJumpInputGroup_endtv_1374 button{background:var(--accent);color:var(--accent-text);border:none;padding:.4rem 1rem;border-radius:4px;cursor:pointer}._epJumpInputGroup_endtv_1374 button:hover{background:var(--accent-dark)}._videoContainer_endtv_311._fullscreenActive_endtv_1406{cursor:none;border-radius:0}._videoContainer_endtv_311:fullscreen,._videoContainer_endtv_311:-webkit-full-screen{width:100vw;height:100vh;border-radius:0}._videoContainer_endtv_311:fullscreen video,._videoContainer_endtv_311:fullscreen canvas,._videoContainer_endtv_311:-webkit-full-screen video,._videoContainer_endtv_311:-webkit-full-screen canvas{border-radius:0}._skipIndicatorContainer_endtv_1074{position:absolute;top:0;width:30%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:60;overflow:hidden}._leftSkip_endtv_1074{left:0}._rightSkip_endtv_1077{right:0}._skipBubble_endtv_972{background:#fff3;width:120px;height:120px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:_skipRipple_endtv_1 .6s ease-out forwards}._skipIcon_endtv_976{font-size:2.5rem;color:#fff;margin-bottom:.5rem}._skipText_endtv_979{color:#fff;font-weight:700;font-size:1rem}@keyframes _skipRipple_endtv_1{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1);opacity:1}to{transform:scale(1.3);opacity:0}}._errorOverlay_endtv_1037{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_endtv_1037 p{margin:0;font-size:1.2rem;font-weight:500}._errorSubtext_endtv_1512{color:var(--text-tertiary)!important;font-size:.9rem!important}._retryButton_endtv_1047{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_endtv_1047:hover{background:var(--accent-light);transform:translateY(-2px)}._playerPageLayout_xfhzl_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_xfhzl_1 .8s var(--ease-smooth)}._episodeSidebar_xfhzl_15{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_xfhzl_1 .8s var(--ease-smooth)}._playerMain_xfhzl_28{min-width:0;display:flex;flex-direction:column;gap:1.25rem;animation:_slideUpIn_xfhzl_1 .8s .1s var(--ease-smooth) both}._videoPlayerWrapper_xfhzl_36{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_xfhzl_52{display:flex;gap:2.5rem;align-items:flex-start}._playerAnimeCard_xfhzl_58{width:140px;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_xfhzl_70{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);padding:3rem;border-radius:var(--radius-2xl);box-shadow:var(--glass-shadow);display:flex;flex-direction:column}._playerAnimeCard_xfhzl_58 img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}._playerAnimeCard_xfhzl_58:hover img{transform:scale(1.1)}._videoTitleSection_xfhzl_94{flex:1;display:flex;flex-direction:column;justify-content:flex-start;gap:1.5rem}._videoTitleSection_xfhzl_94 h1{margin:0;font-size:2.5rem;line-height:1.1;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}._videoDescription_xfhzl_111{color:var(--text-secondary);line-height:1.7;font-size:1.05rem}@keyframes _fadeIn_xfhzl_1{0%{opacity:0}to{opacity:1}}@keyframes _slideUpIn_xfhzl_1{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1280px){._playerPageLayout_xfhzl_1{grid-template-columns:280px 1fr;padding:1.5rem;gap:1.5rem}}@media(max-width:1024px){._playerPageLayout_xfhzl_1{display:flex;flex-direction:column;gap:2rem}._episodeSidebar_xfhzl_15{width:100%;height:auto;max-height:500px;position:static;order:2;overflow-y:auto;-webkit-overflow-scrolling:touch}._playerMain_xfhzl_28{order:1;width:100%}._playerInfoHeader_xfhzl_52{padding:0}}@media(max-width:768px){._playerPageLayout_xfhzl_1{padding:1rem;gap:1.5rem}._episodeSidebar_xfhzl_15{display:none}._playerMain_xfhzl_28{gap:1.5rem}._videoPlayerWrapper_xfhzl_36{border-radius:0}._playerInfoContainer_xfhzl_70{border-radius:var(--radius-xl);padding:1.5rem}._playerInfoHeader_xfhzl_52{flex-direction:row;align-items:flex-start;text-align:left;gap:1.5rem}._videoTitleSection_xfhzl_94 h1{font-size:1.75rem}._playerAnimeCard_xfhzl_58{width:100px}._episodeSidebar_xfhzl_15{border-radius:var(--radius-lg)}}@media(max-width:480px){._playerInfoHeader_xfhzl_52{flex-direction:column;align-items:center;text-align:center}._playerAnimeCard_xfhzl_58{width:120px}}@media(max-width:480px)and (orientation:portrait){._videoPlayerWrapper_xfhzl_36{padding-top:100%;position:relative}}@media(min-width:481px)and (max-width:768px)and (orientation:portrait){._videoPlayerWrapper_xfhzl_36{padding-top:75%;position:relative}}@media(max-width:900px)and (orientation:landscape){._playerPageLayout_xfhzl_1{padding:0;gap:0}._videoPlayerWrapper_xfhzl_36{border-radius:0;height:100vh;padding-top:0}._playerInfoContainer_xfhzl_70{padding:1.5rem}}body.low-end ._playerPageLayout_xfhzl_1,body.low-end ._episodeSidebar_xfhzl_15,body.low-end ._playerInfoContainer_xfhzl_70{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_xfhzl_36{box-shadow:none!important;border-color:var(--border-primary)!important}body.low-end ._episodeSidebar_xfhzl_15{background:var(--bg-secondary)!important}._theaterMode_xfhzl_276{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_xfhzl_1 .4s var(--ease-smooth)!important;overflow:hidden!important;z-index:var(--z-overlay)!important}._theaterMode_xfhzl_276 ._playerMain_xfhzl_28{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_xfhzl_1 .4s cubic-bezier(.25,1,.5,1)!important}._theaterMode_xfhzl_276 ._videoPlayerWrapper_xfhzl_36{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_xfhzl_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_xfhzl_276{padding:1rem!important}._theaterMode_xfhzl_276 ._playerMain_xfhzl_28{width:100%!important;max-width:none!important}}._shell_41rxp_1{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;overflow:clip;isolation:isolate;border-radius:0;container-type:inline-size;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media(max-width:480px)and (orientation:portrait){._shell_41rxp_1{aspect-ratio:1 / 1}}@media(min-width:481px)and (max-width:768px)and (orientation:portrait){._shell_41rxp_1{aspect-ratio:4 / 3}}._shell_41rxp_1:fullscreen,._shell_41rxp_1:-webkit-full-screen{width:100vw;height:100vh;aspect-ratio:auto;border-radius:0}._shell_41rxp_1:fullscreen,._shell_41rxp_1:fullscreen ._stage_41rxp_37,._shell_41rxp_1:fullscreen ._stage_41rxp_37>video,._shell_41rxp_1:fullscreen ._stage_41rxp_37>canvas,._shell_41rxp_1:fullscreen ._stage_41rxp_37>iframe,._shell_41rxp_1:-webkit-full-screen,._shell_41rxp_1:-webkit-full-screen ._stage_41rxp_37,._shell_41rxp_1:-webkit-full-screen ._stage_41rxp_37>video,._shell_41rxp_1:-webkit-full-screen ._stage_41rxp_37>canvas,._shell_41rxp_1:-webkit-full-screen ._stage_41rxp_37>iframe{border-radius:0!important}@media(max-width:900px)and (orientation:landscape){._shell_41rxp_1{aspect-ratio:auto;height:100vh;border-radius:0}}._stage_41rxp_37{position:absolute;inset:0;z-index:1;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}._stage_41rxp_37>video,._stage_41rxp_37>canvas,._stage_41rxp_37>iframe{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;display:block;background:#000;border:none;border-radius:inherit;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}._shellFill_41rxp_85{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}._shellFullscreen_41rxp_93,._shellFullscreen_41rxp_93 ._stage_41rxp_37,._shellFullscreen_41rxp_93 ._stage_41rxp_37>video,._shellFullscreen_41rxp_93 ._stage_41rxp_37>canvas,._shellFullscreen_41rxp_93 ._stage_41rxp_37>iframe{border-radius:0!important}._shellFullscreen_41rxp_93{width:100vw;height:100vh;aspect-ratio:auto}._uiLayer_41rxp_107{position:absolute;inset:0;z-index:50;pointer-events:none}._uiLayer_41rxp_107>*{pointer-events:auto}._volumeWrap_41rxp_118{display:flex;align-items:center;position:relative}._volumeSlider_41rxp_124{width:0;opacity:0;transform:scaleX(0);transform-origin:left center;transition:width .25s ease,opacity .25s ease,transform .25s ease;cursor:pointer;margin-left:8px;-webkit-appearance:none;appearance:none;background:transparent;height:24px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}._volumeWrap_41rxp_118[data-expanded=true] ._volumeSlider_41rxp_124{width:84px;opacity:1;transform:scaleX(1)}@media(hover:hover)and (pointer:fine){._volumeWrap_41rxp_118:hover ._volumeSlider_41rxp_124,._volumeSlider_41rxp_124:focus-visible{width:84px;opacity:1;transform:scaleX(1)}}._volumeSlider_41rxp_124::-webkit-slider-runnable-track{width:100%;height:4px;background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--volume-percent, 0%),rgba(255,255,255,.2) var(--volume-percent, 0%),rgba(255,255,255,.2) 100%);border-radius:4px}._volumeSlider_41rxp_124::-moz-range-track{width:100%;height:4px;background:#fff3;border-radius:4px}._volumeSlider_41rxp_124::-moz-range-progress{height:4px;background:var(--accent);border-radius:4px}._volumeSlider_41rxp_124::-webkit-slider-thumb{-webkit-appearance:none;height:12px;width:12px;border-radius:50%;background:#fff;margin-top:-4px;box-shadow:0 0 5px #00000080}@media(pointer:coarse){._volumeWrap_41rxp_118[data-expanded=true] ._volumeSlider_41rxp_124{width:96px;height:32px}}._centerControls_61n7k_1{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(1);display:flex;align-items:center;gap:3rem;gap:clamp(1rem,5cqw,3rem);z-index:10;pointer-events:auto;transition:transform .4s cubic-bezier(.2,.8,.2,1)}._centerSkipBtn_61n7k_15{background:transparent;border:none;border-radius:50%;color:#ffffffe6;width:56px;height:56px;width:clamp(2.5rem,6.5cqw,3.5rem);height:clamp(2.5rem,6.5cqw,3.5rem);font-size:1.8rem;font-size:clamp(1.1rem,2.8cqw,1.8rem);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .35s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 2px 8px rgba(0,0,0,.85))}._centerSkipBtn_61n7k_15:hover{color:#fff;transform:scale(1.15);filter:drop-shadow(0 2px 8px rgba(0,0,0,.85)) drop-shadow(0 0 14px var(--accent-glow))}._centerPlayPause_61n7k_40{display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:#fff;width:76px;height:76px;width:clamp(3rem,8cqw,5rem);height:clamp(3rem,8cqw,5rem);font-size:2.2rem;font-size:clamp(1.4rem,3.4cqw,2.3rem);cursor:pointer;transition:all .35s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 2px 8px rgba(0,0,0,.85))}@media(pointer:coarse){._centerSkipBtn_61n7k_15{width:clamp(2.75rem,7cqw,3.75rem);height:clamp(2.75rem,7cqw,3.75rem)}}._centerPlayPause_61n7k_40:hover{transform:scale(1.08);filter:drop-shadow(0 2px 8px rgba(0,0,0,.85)) drop-shadow(0 0 16px var(--accent-glow))}._playIconOffset_61n7k_71{transform:translate(3px)}._statusArea_1xccu_1{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;background:var(--bg-secondary);border:1px solid var(--border-primary);padding:.75rem 1.25rem;border-radius:var(--radius-lg);margin-top:.5rem;margin-bottom:0;color:var(--text-secondary);box-shadow:var(--shadow-lg);width:fit-content;max-width:100%;-webkit-user-select:none;user-select:none;flex-wrap:wrap}._toggleBtn_1xccu_20{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;padding:.15rem .25rem;border-radius:var(--radius-sm);transition:color var(--transition-fast);pointer-events:auto}._toggleBtn_1xccu_20:hover{color:var(--text-primary)}._toggleBtn_1xccu_20 svg{color:var(--accent)}._shortcuts_1xccu_46{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;padding-top:.6rem;border-top:1px solid var(--border-primary);width:100%}._shortcutGroup_1xccu_56{display:flex;gap:1rem;align-items:center;flex-wrap:nowrap}._shortcut_1xccu_46{display:flex;align-items:center;gap:.3rem;white-space:nowrap}._key_1xccu_70{background:#ffffff14;padding:.15rem .4rem;border-radius:5px;border:1px solid rgba(255,255,255,.1);font-weight:800;color:var(--text-primary);font-size:.75rem;min-width:1.4rem;height:1.4rem;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);box-shadow:0 1.5px #0000004d}._key_1xccu_70+._key_1xccu_70{margin-left:-.15rem}._label_1xccu_91{color:var(--text-tertiary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}@media(max-width:768px){._statusArea_1xccu_1{display:none}}._episodeListContainer_9tyin_1{display:flex;flex-direction:column;height:100%;min-height:0;background:transparent}._drawerContainer_9tyin_9{height:auto;min-height:100%}._episodeListHeader_9tyin_14{background:transparent;padding:var(--space-6);border-bottom:1px solid var(--glass-border)}._drawerHeader_9tyin_20{position:sticky;top:0;z-index:5;background:#0c0c0ffa;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}._episodeListTitle_9tyin_29{margin:0 0 var(--space-5) 0;font-size:.85rem;font-weight:800;color:var(--text-tertiary);display:flex;align-items:center;gap:var(--space-3);letter-spacing:.1em;text-transform:uppercase}._rangeSelector_9tyin_41{display:flex;flex-wrap:wrap;gap:var(--space-2)}._rangeButton_9tyin_47{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:.8rem;font-weight:600;transition:all var(--transition-fast);cursor:pointer}._rangeButton_9tyin_47:hover{border-color:var(--text-secondary);color:var(--text-primary);background:#ffffff1a}._rangeButton_9tyin_47:focus-visible{outline:none;box-shadow:var(--shadow-focus)}._rangeButton_9tyin_47._active_9tyin_70{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}._episodeList_9tyin_1{flex:1;display:flex;flex-direction:column;padding:var(--space-4);overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}._drawerList_9tyin_89{overflow:visible;-webkit-overflow-scrolling:auto;touch-action:pan-y}._episodeList_9tyin_1::-webkit-scrollbar{width:6px}._episodeList_9tyin_1::-webkit-scrollbar-track{background:transparent}._episodeList_9tyin_1::-webkit-scrollbar-thumb{background:#ffffff24;background-clip:padding-box;border-radius:var(--radius-full);border:2px solid transparent}._episodeList_9tyin_1:hover::-webkit-scrollbar-thumb{background-color:#ffffff47}._episodeList_9tyin_1::-webkit-scrollbar-thumb:hover{background-color:var(--accent)}._episodeItem_9tyin_118{padding:var(--space-4) var(--space-5);margin-bottom:var(--space-2);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);color:var(--text-secondary);font-weight:600;display:flex;justify-content:space-between;align-items:center;font-size:.9rem;border:1px solid transparent}._episodeItem_9tyin_118:hover{background:#ffffff0d;color:var(--text-primary);transform:translate(6px);border-color:var(--glass-border)}._episodeItem_9tyin_118:focus-visible{outline:none;box-shadow:var(--shadow-focus)}._episodeItem_9tyin_118._watched_9tyin_145{color:var(--text-muted);opacity:.6}._episodeItem_9tyin_118._active_9tyin_70{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-light);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}._episodeItem_9tyin_118._active_9tyin_70:hover{transform:none;background:color-mix(in srgb,var(--accent) 15%,transparent)}._episodeItem_9tyin_118 span{display:flex;align-items:center;gap:var(--space-3)}._episodeThumb_9tyin_167{width:72px;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-md);flex-shrink:0;background:#ffffff0f}._episodeText_9tyin_176{flex-direction:column!important;align-items:flex-start!important;gap:2px!important;min-width:0;flex:1}._episodeLabel_9tyin_184{font-weight:700;color:inherit}._episodeSub_9tyin_189{font-size:.78rem;font-weight:500;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}._shell_cys6s_1{position:fixed;inset:0;z-index:var(--z-drawer);display:flex;align-items:flex-end;justify-content:center}._overlay_cys6s_10{position:absolute;inset:0;border:0;padding:0;background:#0000008f;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:_fadeIn_cys6s_1 .2s ease-out}._drawer_cys6s_21{position:relative;z-index:1;width:min(100vw,100%);max-height:86vh;background:#0c0c0ffa;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--glass-border);border-bottom:none;display:flex;flex-direction:column;overflow:hidden;animation:_slideUpIn_cys6s_1 .25s ease-out}@keyframes _fadeIn_cys6s_1{0%{opacity:0}to{opacity:1}}@keyframes _slideUpIn_cys6s_1{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}._handle_cys6s_56{width:52px;height:5px;border-radius:999px;background:#ffffff2e;margin:.7rem auto 0}._header_cys6s_64{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1rem .9rem;border-bottom:1px solid var(--glass-border)}._headerCopy_cys6s_73{display:flex;flex-direction:column;gap:.25rem}._kicker_cys6s_79{color:var(--text-tertiary);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}._title_cys6s_87{margin:0;font-size:1.1rem;font-weight:800;color:var(--text-primary)}._closeBtn_cys6s_94{width:38px;height:38px;border-radius:999px;border:1px solid var(--glass-border);background:#ffffff0d;color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}._closeBtn_cys6s_94:hover{background:#ffffff1a}._closeBtn_cys6s_94:focus-visible{outline:none;box-shadow:var(--shadow-focus)}._body_cys6s_116{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}._row_1fq55_1{display:flex;flex-direction:column;gap:.3rem;padding:.5rem .75rem .6rem;min-width:0}._rowHeader_1fq55_9{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;min-width:0}._rowLabel_1fq55_17{font-size:.68rem;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._rowValue_1fq55_28{font-size:.72rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}._slider_1fq55_36{width:100%;min-width:8rem;cursor:pointer;-webkit-appearance:none;appearance:none;background:transparent;height:1.375rem;margin:0;touch-action:pan-y}._slider_1fq55_36::-webkit-slider-runnable-track{width:100%;height:4px;background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--slider-percent, 0%),rgba(255,255,255,.25) var(--slider-percent, 0%),rgba(255,255,255,.25) 100%);border-radius:4px;border:none}._slider_1fq55_36::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background-color:#fff;border:2px solid var(--accent);border-radius:50%;cursor:pointer;margin-top:-4px;box-shadow:0 0 8px #00000080}._slider_1fq55_36::-moz-range-track{width:100%;height:4px;background:#ffffff40;border-radius:4px;border:none}._slider_1fq55_36::-moz-range-progress{height:4px;background:var(--accent);border-radius:4px}._slider_1fq55_36::-moz-range-thumb{width:10px;height:10px;background-color:#fff;border:2px solid var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 0 8px #00000080}._swatches_1fq55_99{display:flex;gap:.375rem;align-items:center}._swatch_1fq55_99{width:1.25rem;height:1.25rem;padding:0;border-radius:50%;cursor:pointer;flex:0 0 auto}._swatchPicked_1fq55_114{box-shadow:0 0 0 2px var(--panel-bg, #141416),0 0 0 3.5px var(--accent)}._colorInput_1fq55_120{width:1.75rem;height:1.25rem;padding:0;border:none;border-radius:.3rem;background:transparent;cursor:pointer;flex:0 0 auto}._segmented_1fq55_131{display:flex;gap:.25rem;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:.2rem}._segmented_1fq55_131 button{flex:1 1 0;min-width:0;background:transparent;border:none;border-radius:calc(var(--radius-sm) - 2px);color:var(--text-secondary);font-size:.72rem;font-weight:700;text-transform:capitalize;padding:.3rem .25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.3rem;white-space:nowrap}._segmented_1fq55_131 button:hover{color:var(--text-primary)}._segmented_1fq55_131 button[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent-light)}@media(pointer:coarse){._row_1fq55_1{gap:.4rem;padding:.6rem .85rem .7rem}._slider_1fq55_36{height:1.875rem}._slider_1fq55_36::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6px}._slider_1fq55_36::-moz-range-thumb{width:14px;height:14px}._swatch_1fq55_99{width:1.5rem;height:1.5rem}._segmented_1fq55_131 button{padding:.5rem .25rem;min-height:2.5rem}}
@@ -0,0 +1,10 @@
1
+ import{u as n,A as y,d as E,h as $,q as I,T as de,$ as Tt}from"./vendor-core-DfaOB3Rn.js";import{I as J}from"./vendor-icons-DrybRNxP.js";import{S as ge,h as Pt,Z as It,t as Ke,W as Nt,g as $t,B as le}from"./index-CVB5dYhT.js";import{u as Mt}from"./vendor-query-BBT5_sHx.js";const Rt="_controls_endtv_1",At="_titleContainer_endtv_9",Ft="_scheduleInfo_endtv_15",Dt="_status_endtv_23",Ot="_nextEpisode_endtv_35",qt="_watchlistBtn_endtv_45",Ht="_inList_endtv_72",zt="_queueBtn_endtv_83",Wt="_queueActive_endtv_95",Vt="_modeToggleBtn_endtv_101",Ut="_modeToggleActive_endtv_108",Kt="_nativeToggleBtn_endtv_119",Gt="_nativeToggleActive_endtv_132",Xt="_markWatchedBtn_endtv_153",Qt="_markWatchedDone_endtv_167",jt="_completeSeriesBtn_endtv_178",Jt="_providerAndEpisodeRow_endtv_192",Yt="_episodeActions_endtv_199",Zt="_desktopEpisodeActions_endtv_206",en="_mobileEpisodeActions_endtv_213",tn="_episodeNavBtn_endtv_217",nn="_primary_endtv_247",rn="_secondary_endtv_257",on="_episodePickerBtn_endtv_261",sn="_queueCountdown_endtv_265",cn="_speedBoostBadge_endtv_280",an="_videoContainer_endtv_311",ln="_loadingOverlay_endtv_324",un="_loadingDots_endtv_338",dn="_dot_endtv_343",pn="_bounce_endtv_1",fn="_bufferingOverlay_endtv_372",mn="_bufferingSpinner_endtv_381",_n="_spin_endtv_921",vn="_videoIframe_endtv_396",hn="_videoElementHidden_endtv_419",gn="_upscalerCanvas_endtv_424",yn="_upscalerActive_endtv_437",bn="_upscalerStatusBadge_endtv_441",wn="_subtitleOverlay_endtv_456",Cn="_controlsOverlay_endtv_468",Sn="_hidden_endtv_498",kn="_centerPlayPause_endtv_504",En="_bottomControls_endtv_536",xn="_progressBarContainer_endtv_553",Ln="_progressBar_endtv_553",Bn="_scrubbing_endtv_576",Tn="_watchedBar_endtv_581",Pn="_bufferedBar_endtv_582",In="_thumb_endtv_604",Nn="_timeBubble_endtv_625",$n="_skipSegment_endtv_648",Mn="_op_endtv_662",Rn="_ed_endtv_666",An="_recap_endtv_670",Fn="_bottomControlsRow_endtv_674",Dn="_controlBtn_endtv_682",On="_timeDisplay_endtv_706",qn="_leftControls_endtv_715",Hn="_rightControls_endtv_716",zn="_middleControls_endtv_717",Wn="_skipControls_endtv_723",Vn="_skipBtn_endtv_729",Un="_volumeContainer_endtv_753",Kn="_volumeSlider_endtv_760",Gn="_settingsMenu_endtv_838",Xn="_slideUp_endtv_1",Qn="_qualityListInMenu_endtv_877",jn="_ccOptionsContainer_endtv_878",Jn="_qualityItemInMenu_endtv_886",Yn="_ccItem_endtv_887",Zn="_active_endtv_908",er="_sourceLoader_endtv_915",tr="_spinner_endtv_921",nr="_skipBubble_endtv_972",rr="_skipIcon_endtv_976",or="_skipText_endtv_979",sr="_watchBtn_endtv_991",cr="_errorOverlay_endtv_1037",ir="_retryButton_endtv_1047",ar="_skipIndicatorContainer_endtv_1074",lr="_leftSkip_endtv_1074",ur="_rightSkip_endtv_1077",dr="_sourceSelectionContainer_endtv_1082",pr="_slideUpIn_endtv_1",fr="_providerSelectContainer_endtv_1097",mr="_providerSelect_endtv_1097",_r="_sourceSelect_endtv_1082",vr="_sourceButtons_endtv_1153",hr="_sourceButton_endtv_1153",gr="_detailsBox_endtv_1185",yr="_detailsToggleBtn_endtv_1198",br="_detailsGridContainer_endtv_1222",wr="_fadeIn_endtv_1",Cr="_detailItem_endtv_1234",Sr="_animeStatus_endtv_1254",kr="_genresList_endtv_1267",Er="_genreTag_endtv_1274",xr="_loadingDetails_endtv_1292",Lr="_descriptionSection_endtv_1299",Br="_description_endtv_1299",Tr="_epJumpControls_endtv_1335",Pr="_epRangeButtons_endtv_1346",Ir="_metaTags_endtv_1352",Nr="_epRangeBtn_endtv_1359",$r="_epJumpInputGroup_endtv_1374",Mr="_fullscreenActive_endtv_1406",Rr="_skipRipple_endtv_1",Ar="_errorSubtext_endtv_1512",vs={controls:Rt,titleContainer:At,scheduleInfo:Ft,status:Dt,nextEpisode:Ot,watchlistBtn:qt,inList:Ht,queueBtn:zt,queueActive:Wt,modeToggleBtn:Vt,modeToggleActive:Ut,nativeToggleBtn:Kt,nativeToggleActive:Gt,markWatchedBtn:Xt,markWatchedDone:Qt,completeSeriesBtn:jt,providerAndEpisodeRow:Jt,episodeActions:Yt,desktopEpisodeActions:Zt,mobileEpisodeActions:en,episodeNavBtn:tn,primary:nn,secondary:rn,episodePickerBtn:on,queueCountdown:sn,speedBoostBadge:cn,videoContainer:an,loadingOverlay:ln,loadingDots:un,dot:dn,bounce:pn,bufferingOverlay:fn,bufferingSpinner:mn,spin:_n,videoIframe:vn,videoElementHidden:hn,upscalerCanvas:gn,upscalerActive:yn,upscalerStatusBadge:bn,subtitleOverlay:wn,controlsOverlay:Cn,hidden:Sn,centerPlayPause:kn,bottomControls:En,progressBarContainer:xn,progressBar:Ln,scrubbing:Bn,watchedBar:Tn,bufferedBar:Pn,thumb:In,timeBubble:Nn,skipSegment:$n,op:Mn,ed:Rn,recap:An,bottomControlsRow:Fn,controlBtn:Dn,timeDisplay:On,leftControls:qn,rightControls:Hn,middleControls:zn,skipControls:Wn,skipBtn:Vn,volumeContainer:Un,volumeSlider:Kn,settingsMenu:Gn,slideUp:Xn,qualityListInMenu:Qn,ccOptionsContainer:jn,qualityItemInMenu:Jn,ccItem:Yn,active:Zn,sourceLoader:er,spinner:tr,skipBubble:nr,skipIcon:rr,skipText:or,watchBtn:sr,errorOverlay:cr,retryButton:ir,skipIndicatorContainer:ar,leftSkip:lr,rightSkip:ur,sourceSelectionContainer:dr,slideUpIn:pr,providerSelectContainer:fr,providerSelect:mr,sourceSelect:_r,sourceButtons:vr,sourceButton:hr,detailsBox:gr,detailsToggleBtn:yr,detailsGridContainer:br,fadeIn:wr,detailItem:Cr,animeStatus:Sr,genresList:kr,genreTag:Er,loadingDetails:xr,descriptionSection:Lr,description:Br,epJumpControls:Tr,epRangeButtons:Pr,metaTags:Ir,epRangeBtn:Nr,epJumpInputGroup:$r,fullscreenActive:Mr,skipRipple:Rr,errorSubtext:Ar},Fr="_playerPageLayout_xfhzl_1",Dr="_episodeSidebar_xfhzl_15",Or="_playerMain_xfhzl_28",qr="_videoPlayerWrapper_xfhzl_36",Hr="_playerInfoHeader_xfhzl_52",zr="_playerAnimeCard_xfhzl_58",Wr="_playerInfoContainer_xfhzl_70",Vr="_videoTitleSection_xfhzl_94",Ur="_theaterMode_xfhzl_276",hs={playerPageLayout:Fr,episodeSidebar:Dr,playerMain:Or,videoPlayerWrapper:qr,playerInfoHeader:Hr,playerAnimeCard:zr,playerInfoContainer:Wr,videoTitleSection:Vr,theaterMode:Ur},Kr="_shell_41rxp_1",Gr="_stage_41rxp_37",Xr="_shellFill_41rxp_85",Qr="_shellFullscreen_41rxp_93",jr="_uiLayer_41rxp_107",Jr="_volumeWrap_41rxp_118",Yr="_volumeSlider_41rxp_124",oe={shell:Kr,stage:Gr,shellFill:Xr,shellFullscreen:Qr,uiLayer:jr,volumeWrap:Jr,volumeSlider:Yr},Zr=.8,eo=5,gs=2e3,Xe="autoplayEnabled",to=(e,r)=>r>0&&e>=r*Zr,ys=(e,r)=>e>eo&&!to(e,r),bs=()=>{try{return localStorage.getItem(Xe)==="true"}catch{return!1}},ws=e=>{try{localStorage.setItem(Xe,String(e))}catch{}},Cs=e=>e.seekInduced?"none":e.autoplayEnabled&&e.hasNext?"advance":e.hasNext?"prompt-next":e.isFinal?"prompt-complete":"none",no=e=>(e.language??e.lang??"").toLowerCase(),ro=e=>(e.label??"").toLowerCase(),oo=e=>`${e.language??e.lang??""}|||${e.label??""}`,so=e=>no(e).startsWith("en")||ro(e).includes("english");function Ss(e,r){if(e.length===0||r?.enabled===!1)return-1;const t=r?.lastKey??null;if(t){const o=e.findIndex(u=>oo(u)===t);if(o>=0)return o}const c=e.findIndex(so);return c>=0?c:0}const Z={fontSize:1.8,position:0,bgOpacity:.5,bgColor:"#000000",textColor:"#ffffff",edge:"shadow",bold:!1},xe=(e,r,t)=>Math.max(r,Math.min(t,e)),Le=e=>typeof e=="string"&&/^#[0-9a-fA-F]{6}$/.test(e),Se=(e,r,t,c)=>{try{const o=localStorage.getItem(e);if(o===null)return r;const u=parseFloat(o);return Number.isFinite(u)?xe(u,t,c):r}catch{return r}};function co(){let e=Z.edge,r=Z.bgColor,t=Z.textColor,c=Z.bold;try{const o=localStorage.getItem("subtitleEdge");(o==="shadow"||o==="outline"||o==="none")&&(e=o);const u=localStorage.getItem("subtitleBgColor");Le(u)&&(r=u);const v=localStorage.getItem("subtitleTextColor");Le(v)&&(t=v);const C=localStorage.getItem("subtitleBold");C!==null&&(c=C==="true")}catch{}return{fontSize:Se("subtitleFontSize",Z.fontSize,.5,10),position:Se("subtitlePosition",Z.position,0,100),bgOpacity:Se("subtitleBgOpacity",Z.bgOpacity,0,1),bgColor:r,textColor:t,edge:e,bold:c}}function Qe(e,r){const t=`rgba(0, 0, 0, ${xe(r,0,1)})`;if(!Le(e))return t;const c=parseInt(e.slice(1,3),16),o=parseInt(e.slice(3,5),16),u=parseInt(e.slice(5,7),16);return`rgba(${c}, ${o}, ${u}, ${xe(r,0,1)})`}function je(e,r){return e==="none"?r<=0?"0 1px 3px rgba(0, 0, 0, 0.9)":"none":e==="outline"?["-1px 0 0 black","1px 0 0 black","0 -1px 0 black","0 1px 0 black","-1px -1px 0 black","1px -1px 0 black","-1px 1px 0 black","1px 1px 0 black","0 0 6px rgba(0, 0, 0, 0.9)"].join(", "):"0 0 4px black, 0 1px 2px rgba(0, 0, 0, 0.8)"}function ks(e){return`
2
+ video::cue {
3
+ font-size: ${e.fontSize}rem !important;
4
+ color: ${e.textColor} !important;
5
+ background-color: ${Qe(e.bgColor,e.bgOpacity)} !important;
6
+ font-weight: ${e.bold?"bold":"normal"} !important;
7
+ text-shadow: ${je(e.edge,e.bgOpacity)} !important;
8
+ }
9
+ `}function Es(e){return[`font-size: ${e.fontSize}rem`,`color: ${e.textColor}`,`background-color: ${Qe(e.bgColor,e.bgOpacity)}`,`font-weight: ${e.bold?"700":"400"}`,`text-shadow: ${je(e.edge,e.bgOpacity)}`,"padding: 0.2em 0.5em","border-radius: 0.25em","text-align: center","position: absolute","left: 50%","transform: translateX(-50%)","max-width: 92%","white-space: pre-wrap","overflow-wrap: break-word","line-height: 1.4"].join(`;
10
+ `)+";"}const io=new Set(["b","i","u","strong","em"]);function xs(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/&lt;(\/?)([a-zA-Z]+)&gt;/g,(t,c,o)=>io.has(o.toLowerCase())?`<${c}${o.toLowerCase()}>`:t)}function Ls(e){return e.replace(/<[^>]*>/g,"")}const Bs=["#ffffff","#ffff00","#7CFC00","#00e5ff","#ff9ff3","#ffa502"],Ts=["#000000","#1e272e","#2f3542","#3d0c02","#0c3d2e","#ffffff"];function Ps(e,r){const t=Number.isFinite(e)?e*16:Z.fontSize*16;return!Number.isFinite(r)||r<=0?t/16:Math.min(t,Math.max(13,r*.07))/16}function Is(e){const r=Math.abs(e/1e3).toFixed(1);return e>0?`+${r}s`:e<0?`-${r}s`:"0.0s"}function Ns(e,r){const t=e.clientWidth||0,c=e.clientHeight||0,o=e.videoWidth>0&&e.videoHeight>0?e.videoWidth/e.videoHeight:0;let u=c;o>0&&t>0&&c>0&&(u=t/c>o?c:t/o);const v=Math.max(0,(c-u)/2),C=Math.max(0,Math.min(100,Number(r)||0))/100*u;return v+C}const ao="_centerControls_61n7k_1",lo="_centerSkipBtn_61n7k_15",uo="_centerPlayPause_61n7k_40",po="_playIconOffset_61n7k_71",ue={centerControls:ao,centerSkipBtn:lo,centerPlayPause:uo,playIconOffset:po},$s=({isPlaying:e,onTogglePlay:r,onSkipBack:t,onSkipForward:c,skipSeconds:o=10})=>n("div",{className:ue.centerControls,onClick:u=>u.stopPropagation(),children:[n("button",{className:ue.centerSkipBtn,onClick:t,title:`Skip back ${o}s`,"aria-label":`Skip back ${o} seconds`,children:n(J,{name:"replay-10"})}),n("button",{className:ue.centerPlayPause,"data-speed-boost-ignore":"true",onClick:r,"aria-label":e?"Pause":"Play",children:e?n(J,{name:"pause"}):n(J,{name:"play",className:ue.playIconOffset})}),n("button",{className:ue.centerSkipBtn,onClick:c,title:`Skip forward ${o}s`,"aria-label":`Skip forward ${o} seconds`,children:n(J,{name:"forward-10"})})]}),Ms=({classes:e,videoRef:r,duration:t,formatTime:c,isScrubbing:o,buffered:u="auto",onSeek:v,onScrubStart:C,onScrubMove:i,onScrubEnd:h,timeLabelRef:l,children:P})=>{const f=y(null),x=y(null),p=y(null),_=y(null),S=y(null),a=y(!1),b=y(o);b.current=o;const g=y({onScrubMove:i,onScrubEnd:h});g.current={onScrubMove:i,onScrubEnd:h};const[M,R]=E({time:0,position:null});$(()=>{const d=r.current;if(!d)return;const m=j=>{const D=j/t*100||0;x.current&&(x.current.style.width=`${D}%`),p.current&&(p.current.style.left=`${D}%`),l?.current&&(l.current.innerText=`${c(j)} / ${c(t)}`)},F=()=>{o||m(d.currentTime)},V=()=>{if(u==="auto"&&d.buffered.length>0){const D=d.buffered.end(d.buffered.length-1)/t*100||0;_.current&&(_.current.style.width=`${D}%`)}};return m(d.currentTime),V(),d.addEventListener("timeupdate",F),d.addEventListener("progress",V),()=>{d.removeEventListener("timeupdate",F),d.removeEventListener("progress",V)}},[r,t,o,u,c,l]);const W=d=>{if(!f.current)return 0;const m=f.current.getBoundingClientRect();return Math.min(1,Math.max(0,(d-m.left)/m.width))},G=d=>{const m=d*t,F=m/t*100||0;x.current&&(x.current.style.width=`${F}%`),p.current&&(p.current.style.left=`${F}%`),l?.current&&(l.current.innerText=`${c(m)} / ${c(t)}`);const V=f.current?.getBoundingClientRect();R({time:m,position:V?d*V.width:null})};$(()=>{if(!o){S.current=null;return}const d=F=>{if(S.current!==null&&F.pointerId!==S.current||!t)return;const V=W(F.clientX);g.current.onScrubMove(V);const j=V*t,D=j/t*100||0;x.current&&(x.current.style.width=`${D}%`),p.current&&(p.current.style.left=`${D}%`),l?.current&&(l.current.innerText=`${c(j)} / ${c(t)}`);const ee=f.current?.getBoundingClientRect();R({time:j,position:ee?V*ee.width:null})},m=F=>{S.current!==null&&F.pointerId!==S.current||(S.current=null,a.current=!0,F.pointerType!=="mouse"&&R({time:0,position:null}),g.current.onScrubEnd())};return document.addEventListener("pointermove",d),document.addEventListener("pointerup",m),document.addEventListener("pointercancel",m),()=>{document.removeEventListener("pointermove",d),document.removeEventListener("pointerup",m),document.removeEventListener("pointercancel",m)}},[o,t,c,l]);const L=d=>{if(d.pointerType==="mouse"&&d.button!==0||!r.current||!t)return;d.preventDefault(),S.current=d.pointerId;try{f.current?.setPointerCapture(d.pointerId)}catch{}b.current||C();const m=W(d.clientX);i(m),G(m)},q=d=>{if(!t||b.current||d.pointerType!=="mouse")return;const m=W(d.clientX);R({time:m*t,position:d.clientX-(f.current?.getBoundingClientRect().left??0)})},U=d=>{if(!(S.current!==null&&d.pointerId!==S.current)&&b.current){S.current=null,a.current=!0,d.pointerType!=="mouse"&&R({time:0,position:null});try{f.current?.hasPointerCapture(d.pointerId)&&f.current.releasePointerCapture(d.pointerId)}catch{}h()}};return n("div",{className:`${e.container} ${o&&e.scrubbing?e.scrubbing:""}`,ref:f,role:"slider","aria-label":"Seek","aria-valuemin":0,"aria-valuemax":Math.round(t||0),"aria-valuenow":Math.round((Number(x.current?.style.width?.replace("%",""))||0)*(t||0)/100),tabIndex:0,onClick:d=>{if(a.current){a.current=!1;return}!r.current||isNaN(t)||t===0||v(W(d.clientX))},onPointerDown:L,onPointerMove:q,onPointerUp:U,onPointerCancel:U,onMouseMove:d=>{if(o||!t)return;const m=W(d.clientX);R({time:m*t,position:d.clientX-(f.current?.getBoundingClientRect().left??0)})},onMouseLeave:()=>{o||R({time:0,position:null})},onKeyDown:d=>{if(!(!r.current||!t)&&(d.key==="ArrowRight"||d.key==="ArrowLeft")){d.preventDefault();const m=(d.key==="ArrowRight"?5:-5)/t,F=r.current.currentTime/t||0;v(Math.min(1,Math.max(0,F+m)))}},children:[M.position!==null&&n("div",{className:e.timeBubble,style:{left:M.position},children:c(M.time)}),n("div",{className:e.bar,children:[n("div",{className:e.buffered,ref:_,style:u==="full"?{width:"100%"}:void 0}),n("div",{className:e.watched,ref:x}),n("div",{className:e.thumb,ref:p,onMouseDown:d=>{d.preventDefault(),r.current&&(b.current||C())}}),P]})]})};function ke(){try{if(typeof window>"u")return!1;const e=window.matchMedia?.("(pointer: coarse)").matches??!1,t=(navigator.maxTouchPoints??0)>0||"ontouchstart"in window;return e||t}catch{return!1}}function Je(){const[e,r]=E(ke);return $(()=>{r(ke());let t=null;const c=()=>r(ke());try{t=window.matchMedia("(pointer: coarse)"),t.addEventListener?t.addEventListener("change",c):t.addListener(c)}catch{}return window.addEventListener("touchstart",c,{passive:!0,once:!0}),()=>{try{t&&(t.removeEventListener?t.removeEventListener("change",c):t.removeListener(c))}catch{}window.removeEventListener("touchstart",c)}},[]),e}const Ge=280;function fo(e){return e?!!e.closest('button, input, select, textarea, a, [role="button"], [data-player-ui="true"]'):!1}const Rs=({player:e,topBar:r,centerControls:t,bottomBar:c,settingsPanel:o,overlays:u,isInteracting:v=!1,className:C,chromeDisabled:i=!1,children:h})=>{const{state:l,refs:P,actions:f}=e,x=P.playerContainerRef,_=Je()?5e3:3e3,S=y(0),a=y(null),b=y(v);b.current=v;const g=I(()=>{const L=f.inactivityTimer.current;L&&(window.clearTimeout(L),f.inactivityTimer.current=null)},[f]),M=I(()=>{g(),l.isPlaying&&(b.current||l.useNativeControls||(f.inactivityTimer.current=window.setTimeout(()=>{if(b.current)return;f.setShowControls(!1);const L=x.current;L&&l.isFullscreen&&(L.style.cursor="none")},_)))},[f,g,x,_,l.isFullscreen,l.isPlaying,l.useNativeControls]),R=I(()=>{const L=x.current;L&&(L.style.cursor="default"),!l.showControls&&!l.useNativeControls&&f.setShowControls(!0),M()},[f,x,M,l.showControls,l.useNativeControls]);$(()=>{if(l.showControls){if(!l.isPlaying){g();return}if(v||l.isScrubbing||l.showSettings||l.showVolumeSlider){f.setShowControls(!0),g();return}M()}},[f,g,v,M,l.isPlaying,l.isScrubbing,l.showControls,l.showSettings,l.showVolumeSlider]),$(()=>()=>g(),[g]);const W=I(L=>{const q=L.target;if(fo(q))return;const U=Date.now(),d=U-S.current<Ge;if(S.current=U,d){a.current&&(window.clearTimeout(a.current),a.current=null),f.toggleFullscreen();return}a.current&&window.clearTimeout(a.current),a.current=window.setTimeout(()=>{a.current=null,f.setShowControls(!l.showControls),l.showControls?M():R()},Ge)},[f,M,l.showControls,R]);$(()=>()=>{a.current&&window.clearTimeout(a.current)},[]);const G=l.showControls||l.isScrubbing||l.showSettings||l.showVolumeSlider;return n("div",{ref:x,className:`${oe.shell} ${l.isFullscreen?oe.shellFullscreen:""} ${C??""}`,onContextMenu:L=>L.preventDefault(),onPointerMove:L=>{L.pointerType==="mouse"&&R()},onMouseLeave:()=>{window.matchMedia?.("(hover: hover) and (pointer: fine)").matches&&l.isPlaying&&!b.current&&f.setShowControls(!1)},children:[n("div",{className:oe.stage,onClick:W,onContextMenu:L=>L.preventDefault(),children:h}),u,!i&&!l.useNativeControls&&n("div",{className:oe.uiLayer,onContextMenu:L=>L.preventDefault(),children:[n("div",{"data-player-ui":"true",children:r}),G&&t&&n("div",{"data-player-ui":"true",children:t}),n("div",{"data-player-ui":"true",children:c}),o&&n("div",{"data-player-ui":"true",children:o})]})]})},mo=450,As=({muted:e,volume:r,volumeIcon:t,buttonClassName:c,sliderClassName:o,onToggleMute:u,onVolumeChange:v,onExpandedChange:C})=>{const i=Je(),[h,l]=E(!1),P=y(null),f=y(!1),x=y(null),p=I(g=>{l(g),C?.(g)},[C]);$(()=>()=>{P.current&&window.clearTimeout(P.current)},[]),$(()=>{if(!h)return;const g=M=>{x.current&&!x.current.contains(M.target)&&p(!1)};return document.addEventListener("pointerdown",g),()=>document.removeEventListener("pointerdown",g)},[h,p]);const _=e?0:r,S=()=>{f.current=!1,P.current&&window.clearTimeout(P.current),P.current=window.setTimeout(()=>{f.current=!0,p(!0)},mo)},a=()=>{P.current&&(window.clearTimeout(P.current),P.current=null)},b=g=>{if(g.stopPropagation(),f.current){f.current=!1;return}if(i){h?u():p(!0);return}u()};return n("div",{ref:x,className:oe.volumeWrap,"data-expanded":h?"true":"false",onContextMenu:g=>g.preventDefault(),children:[n("button",{type:"button",className:c,onClick:b,onPointerDown:S,onPointerUp:a,onPointerLeave:a,onContextMenu:g=>g.preventDefault(),"aria-label":e?"Unmute":"Mute","aria-expanded":h,children:t}),n("input",{type:"range",min:"0",max:"1",step:"0.05",value:_,onChange:g=>v(parseFloat(g.target.value)),onClick:g=>g.stopPropagation(),onPointerDown:g=>g.stopPropagation(),onContextMenu:g=>g.preventDefault(),className:`${oe.volumeSlider} ${o??""}`,style:{"--volume-percent":`${_*100}%`},"aria-label":"Volume"})]})},_o="_statusArea_1xccu_1",vo="_toggleBtn_1xccu_20",ho="_shortcuts_1xccu_46",go="_shortcutGroup_1xccu_56",yo="_shortcut_1xccu_46",bo="_key_1xccu_70",wo="_label_1xccu_91",T={statusArea:_o,toggleBtn:vo,shortcuts:ho,shortcutGroup:go,shortcut:yo,key:bo,label:wo},Fs=({showTheater:e=!0})=>{const[r,t]=E(!1);return n("div",{className:T.statusArea,children:[n("button",{type:"button",className:T.toggleBtn,onClick:()=>t(c=>!c),"aria-expanded":r,"aria-controls":"player-shortcuts",children:[n(J,{name:"keyboard",size:14}),n("span",{children:"Keyboard Shortcuts"}),r?n(J,{name:"chevron-up",size:12}):n(J,{name:"chevron-down",size:12})]}),r&&n("div",{id:"player-shortcuts",className:T.shortcuts,children:[n("div",{className:T.shortcutGroup,children:[n("div",{className:T.shortcut,children:[n("span",{className:T.key,children:"↑"}),n("span",{className:T.key,children:"↓"}),n("span",{className:T.label,children:"Volume"})]}),n("div",{className:T.shortcut,children:[n("span",{className:T.key,children:"←"}),n("span",{className:T.key,children:"→"}),n("span",{className:T.label,children:"Seek"})]})]}),n("div",{className:T.shortcutGroup,children:[n("div",{className:T.shortcut,children:[n("span",{className:T.key,children:"Space"}),n("span",{className:T.label,children:"Play/Pause"})]}),n("div",{className:T.shortcut,children:[n("span",{className:T.key,children:"F"}),n("span",{className:T.label,children:"Fullscreen"})]}),n("div",{className:T.shortcut,children:[n("span",{className:T.key,children:"M"}),n("span",{className:T.label,children:"Mute"})]}),e&&n("div",{className:T.shortcut,children:[n("span",{className:T.key,children:"T"}),n("span",{className:T.label,children:"Theater"})]}),n("div",{className:T.shortcut,children:[n("span",{className:T.key,children:"N"}),n("span",{className:T.label,children:"Next"})]})]})]})]})},Co="_episodeListContainer_9tyin_1",So="_drawerContainer_9tyin_9",ko="_episodeListHeader_9tyin_14",Eo="_drawerHeader_9tyin_20",xo="_episodeListTitle_9tyin_29",Lo="_rangeSelector_9tyin_41",Bo="_rangeButton_9tyin_47",To="_active_9tyin_70",Po="_episodeList_9tyin_1",Io="_drawerList_9tyin_89",No="_episodeItem_9tyin_118",$o="_watched_9tyin_145",Mo="_episodeThumb_9tyin_167",Ro="_episodeText_9tyin_176",Ao="_episodeLabel_9tyin_184",Fo="_episodeSub_9tyin_189",N={episodeListContainer:Co,drawerContainer:So,episodeListHeader:ko,drawerHeader:Eo,episodeListTitle:xo,rangeSelector:Lo,rangeButton:Bo,active:To,episodeList:Po,drawerList:Io,episodeItem:No,watched:$o,episodeThumb:Mo,episodeText:Ro,episodeLabel:Ao,episodeSub:Fo},Do=({episodes:e,currentEpisode:r,watchedEpisodes:t=[],onEpisodeClick:c,variant:o="sidebar",title:u="Episodes",header:v})=>{const[C,i]=E(0),h=y(null),l=de(()=>e.map(p=>typeof p=="string"?{id:p,label:`Episode ${p}`}:p),[e]),P=de(()=>new Set(t),[t]);$(()=>{const p=h.current;if(!p)return;let _=p.parentElement;for(;_;){const b=window.getComputedStyle(_);if((b.overflowY==="auto"||b.overflowY==="scroll")&&_.scrollHeight>_.clientHeight)break;_=_.parentElement}if(!_)return;const S=_.getBoundingClientRect(),a=p.getBoundingClientRect();_.scrollTop+=a.top+a.height/2-(S.top+_.clientHeight/2)},[r,C]);const f=de(()=>{if(l.length<=100)return[];const p=[];for(let _=0;_<l.length;_+=100){const S=_+1,a=Math.min(_+100,l.length);p.push(`${S}-${a}`)}return p},[l]),x=de(()=>{if(f.length===0)return l;const p=f[C];if(!p)return l;const[_,S]=p.split("-"),a=parseInt(_,10),b=parseInt(S,10);return l.slice(a-1,b)},[l,f,C]);return n("div",{className:`${N.episodeListContainer} ${o==="drawer"?N.drawerContainer:""}`,children:[n("div",{className:`${N.episodeListHeader} ${o==="drawer"?N.drawerHeader:""}`,children:[v,n("h3",{className:N.episodeListTitle,children:u}),f.length>0&&n("div",{className:N.rangeSelector,children:f.map((p,_)=>n("button",{className:`${N.rangeButton} ${C===_?N.active:""}`,onClick:()=>i(_),children:p},p))})]}),n("div",{className:`${N.episodeList} ${o==="drawer"?N.drawerList:""}`,children:x.map(p=>{const _=p.id===r,S=P.has(p.id)||p.watched===!0;return n("div",{ref:_?h:void 0,className:`${N.episodeItem} ${S?N.watched:""} ${_?N.active:""}`,onClick:()=>c(p.id),children:[p.thumbnail&&n("img",{src:p.thumbnail,alt:"",loading:"lazy",decoding:"async",className:N.episodeThumb}),n("span",{className:N.episodeText,children:[n("span",{className:N.episodeLabel,children:p.label??`Episode ${p.id}`}),p.sublabel&&n("span",{className:N.episodeSub,children:p.sublabel})]})]},p.id)})})]})},Ds=({variant:e="sidebar",count:r=12})=>n("div",{className:`${N.episodeListContainer} ${e==="drawer"?N.drawerContainer:""}`,children:[n("div",{className:`${N.episodeListHeader} ${e==="drawer"?N.drawerHeader:""}`,children:[n("h3",{className:N.episodeListTitle,children:"Episodes"}),n("div",{className:N.rangeSelector,children:[n(ge,{width:"60px",height:"28px",variant:"rectangular"}),n(ge,{width:"60px",height:"28px",variant:"rectangular"}),n(ge,{width:"60px",height:"28px",variant:"rectangular"})]})]}),n("div",{className:`${N.episodeList} ${e==="drawer"?N.drawerList:""}`,children:Array.from({length:r}).map((t,c)=>n("div",{className:N.episodeItem,style:{border:"none",background:"transparent"},children:n(ge,{width:"120px",height:"1.2rem",variant:"text"})},c))})]}),Oo="_shell_cys6s_1",qo="_overlay_cys6s_10",Ho="_drawer_cys6s_21",zo="_handle_cys6s_56",Wo="_header_cys6s_64",Vo="_headerCopy_cys6s_73",Uo="_kicker_cys6s_79",Ko="_title_cys6s_87",Go="_closeBtn_cys6s_94",Xo="_body_cys6s_116",Q={shell:Oo,overlay:qo,drawer:Ho,handle:zo,header:Wo,headerCopy:Vo,kicker:Uo,title:Ko,closeBtn:Go,body:Xo};function Os({isOpen:e,onClose:r,episodes:t,currentEpisode:c,watchedEpisodes:o=[],onEpisodeClick:u,title:v,header:C}){return $(()=>{if(!e)return;const i=l=>{l.key==="Escape"&&r()},h=document.body.style.overflow;return document.body.style.overflow="hidden",document.addEventListener("keydown",i),()=>{document.body.style.overflow=h,document.removeEventListener("keydown",i)}},[e,r]),e?Tt(n("div",{className:Q.shell,role:"dialog","aria-modal":"true","aria-label":"Episode picker",children:[n("button",{className:Q.overlay,type:"button",onClick:r,"aria-label":"Close episodes"}),n("aside",{className:Q.drawer,children:[n("div",{className:Q.handle}),n("div",{className:Q.header,children:[n("div",{className:Q.headerCopy,children:[n("span",{className:Q.kicker,children:"Episode picker"}),n("h3",{className:Q.title,children:"Choose an episode"})]}),n("button",{className:Q.closeBtn,type:"button",onClick:r,"aria-label":"Close",children:n(J,{name:"times"})})]}),n("div",{className:Q.body,children:n(Do,{episodes:t,currentEpisode:c,watchedEpisodes:o,onEpisodeClick:u,variant:"drawer",title:v,header:C})})]})]}),document.body):null}function Te(){return document}function Ye(e){const r=Te();if(document.fullscreenElement)return document.fullscreenElement;if(r.webkitFullscreenElement)return r.webkitFullscreenElement;const t=e;return t?.webkitDisplayingFullscreen?t:null}function se(e){return Ye(e)!==null}async function Qo(e,r){if(Ye(r))return;const t=e;try{if(typeof e.requestFullscreen=="function"){await e.requestFullscreen();return}if(typeof t.webkitRequestFullscreen=="function"){await t.webkitRequestFullscreen();return}if(typeof t.webkitRequestFullScreen=="function"){await t.webkitRequestFullScreen();return}}catch{}const c=r;if(c&&typeof c.webkitEnterFullscreen=="function"){if(c.webkitSupportsFullscreen===!1)return;try{await c.webkitEnterFullscreen()}catch{}}}async function jo(e){const r=Te();try{if(document.fullscreenElement&&typeof document.exitFullscreen=="function"){await document.exitFullscreen();return}if(r.webkitFullscreenElement&&typeof r.webkitExitFullscreen=="function"){await r.webkitExitFullscreen();return}}catch{}const t=e;if(t?.webkitDisplayingFullscreen&&typeof t.webkitExitFullscreen=="function"){try{t.webkitExitFullscreen()}catch{}return}try{typeof r.webkitCancelFullScreen=="function"?r.webkitCancelFullScreen():!document.fullscreenElement&&typeof document.exitFullscreen=="function"&&(document.fullscreenElement??r.webkitFullscreenElement)&&await document.exitFullscreen()}catch{}}async function Jo(e,r){!e&&!r||(se(r)?await jo(r):e&&await Qo(e,r))}function Yo(e,r){const t=()=>{try{r(se(e()))}catch{}},c=Te(),o=t;c.addEventListener("fullscreenchange",t),c.addEventListener("webkitfullscreenchange",o),c.addEventListener("webkitbeginfullscreen",o,!0),c.addEventListener("webkitendfullscreen",o,!0);const u=e();return u?.addEventListener("webkitbeginfullscreen",o),u?.addEventListener("webkitendfullscreen",o),()=>{c.removeEventListener("fullscreenchange",t),c.removeEventListener("webkitfullscreenchange",o),c.removeEventListener("webkitbeginfullscreen",o,!0),c.removeEventListener("webkitendfullscreen",o,!0),u?.removeEventListener("webkitbeginfullscreen",o),u?.removeEventListener("webkitendfullscreen",o)}}const qs=({skipIntervals:e,showId:r,episodeNumber:t,episodeCount:c,sourceType:o,showMeta:u})=>{const v=Mt(),C=Pt(),i=y(null),h=y(null),l=y(null),P=y(null),f=y(!1),x=y(null),p=y(0),_=y(1),S=y({mouse:!1,keyboard:!1}),a=y(null),b=y(null),g=y(!1),M=y(Math.random().toString(36).substring(2)),[R,W]=E(!1),[G,L]=E(()=>{try{return localStorage.getItem("playerMuted")==="true"}catch{return!1}}),[q,U]=E(()=>{try{const s=parseFloat(localStorage.getItem("playerVolume")||"");return isNaN(s)?1:Math.max(0,Math.min(1,s))}catch{return 1}}),[d,m]=E(!1),[F,V]=E(0),[j,D]=E(!0),[ee,Pe]=E(!1),[Ze,Ie]=E({time:0,position:null}),[be,et]=E(localStorage.getItem("autoSkipEnabled")==="true"),[tt,we]=E(null),[nt,rt]=E(!1),[te]=E(co),[ot,st]=E(te.fontSize),[ct,it]=E(te.position),[at,lt]=E(te.bgOpacity),[ut,dt]=E(te.bgColor),[pt,ft]=E(te.textColor),[mt,_t]=E(te.edge),[vt,ht]=E(te.bold),[gt,yt]=E([]),[bt,wt]=E(null),[Ct,St]=E(!1),[kt,Et]=E(!1),[pe,X]=E(!1),[xt,fe]=E(!1),[Lt,Ne]=E(()=>{try{return localStorage.getItem("playerUseNativeControls")==="true"}catch{return!1}}),ce=y(!1),Ce=y(-1),me=I(()=>{const s=i.current;return!r||!t||!u?.name?null:{showId:r,episodeNumber:t,episodeCount:c,currentTime:s?s.currentTime:0,duration:s?s.duration:0,showName:u.name,showThumbnail:u.thumbnail,nativeName:u.names?.native,englishName:u.names?.english,genres:Array.isArray(u.genres)?u.genres.map(k=>typeof k=="string"?k:k?.name).filter(Boolean):void 0,popularityScore:u.score,type:u.type,isPlaying:s?!s.paused:!0,sessionId:M.current,isAdult:u.isAdult}},[r,t,c,u]),O=I((s=!1,k=!1)=>{if(ce.current)return!1;const B=me();if(!B)return!1;const w=i.current;if(!w&&o!=="iframe")return!1;const A=w?w.currentTime>=w.duration*.8:!1;let H=w?w.currentTime:0;if(s&&A&&(H=w?w.duration:0),!k){if(H===0&&!A)return!1;const K=w?Math.abs(H-Ce.current):0;if(!s&&w&&H!==w.duration&&K<5)return!1}return B.currentTime=H,Ce.current=H,s?(async()=>{try{await Ke.progress.updateProgress.mutate(B),v.invalidateQueries({queryKey:["video-sources",r,t]}),v.invalidateQueries({queryKey:["allContinueWatching"]}),v.invalidateQueries({queryKey:["thisWeekSchedule"]}),v.invalidateQueries(C.continueWatching.pathFilter())}catch(K){console.error("Failed to update progress:",K)}})():It("progress.updateProgress",B).catch(K=>console.error("Failed to update progress:",K)),!0},[me,o,v,r,t,C.continueWatching]);$(()=>{const s=i.current;s&&(s.volume=q,s.muted=G)},[i,q,G]),$(()=>{const s=()=>{ce.current||O(!0)};window.addEventListener("beforeunload",s);const k=x,B=P;return()=>{window.removeEventListener("beforeunload",s),ce.current||O(!0),k.current&&clearTimeout(k.current),B.current&&clearTimeout(B.current)}},[O]);const _e=I(()=>{const s=h.current;s&&Jo(s,i.current).catch(k=>{console.error(`Error attempting to toggle full-screen mode: ${k?.message} (${k?.name})`)})},[]),ve=I(()=>{i.current&&(i.current.paused?i.current.play().catch(()=>console.warn("Autoplay was prevented.")):(i.current.pause(),D(!0)))},[D]),ne=I(()=>{const s=i.current;if(!s)return;const k=S.current.mouse||S.current.keyboard;s.playbackRate=k?2:_.current},[]),ie=I(s=>{S.current.mouse!==s&&(S.current.mouse=s,fe(s||S.current.keyboard),ne())},[ne]),re=I(s=>{S.current.keyboard!==s&&(S.current.keyboard=s,fe(S.current.mouse||s),ne())},[ne]),ae=I(s=>{i.current&&(i.current.currentTime+=s,x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{O(!1,!0)},1500),D(!0))},[O,D]),he=I(()=>{if(!i.current)return;const s=!i.current.muted;i.current.muted=s,L(s),localStorage.setItem("playerMuted",String(s)),!s&&i.current.volume===0&&(i.current.volume=.5,U(.5),localStorage.setItem("playerVolume",String(.5))),D(!0)},[D]);$(()=>{const s=()=>i.current,k=Yo(s,B=>{m(B),B&&D(!0)});return m(se(s())),k},[D]),$(()=>{const s=B=>{if(!B.target.closest('input, textarea, button, select, a, [role="button"], [contenteditable="true"]')){if(B.code==="Space"){if(B.preventDefault(),g.current)return;g.current=!0,b.current&&clearTimeout(b.current),b.current=window.setTimeout(()=>{b.current=null,g.current&&re(!0)},180);return}switch(B.key.toLowerCase()){case"f":_e();break;case"m":he();break;case"arrowright":ae(10);break;case"arrowleft":ae(-10);break;case"arrowup":if(B.preventDefault(),i.current){const A=Math.min(1,i.current.volume+.1);i.current.volume=A,U(A)}break;case"arrowdown":if(B.preventDefault(),i.current){const A=Math.max(0,i.current.volume-.1);i.current.volume=A,U(A)}break}}},k=B=>{if(B.code==="Space"){if(B.preventDefault(),g.current=!1,S.current.keyboard){re(!1);return}b.current&&(clearTimeout(b.current),b.current=null,ve())}};return document.addEventListener("keydown",s),document.addEventListener("keyup",k),()=>{document.removeEventListener("keydown",s),document.removeEventListener("keyup",k),b.current&&(clearTimeout(b.current),b.current=null),g.current=!1,re(!1),fe(!1)}},[re,ve,_e,he,ae]),$(()=>{const s=H=>H?!!H.closest('[data-speed-boost-ignore="true"], [data-player-ui="true"], button, input, select, textarea, a, [role="button"], [role="slider"], [contenteditable="true"]'):!0,k=H=>{if(H.button!==0)return;const Y=H.target;if(!Y||s(Y))return;const K=h.current;!K||!K.contains(Y)||(a.current&&clearTimeout(a.current),a.current=window.setTimeout(()=>{a.current=null,ie(!0)},180))},B=H=>{const Y=H.target;if(!Y||s(Y))return;const K=h.current;!K||!K.contains(Y)||(a.current&&clearTimeout(a.current),a.current=window.setTimeout(()=>{a.current=null,ie(!0)},180))},w=()=>{a.current&&(clearTimeout(a.current),a.current=null),ie(!1)},A=()=>{a.current&&(clearTimeout(a.current),a.current=null),g.current=!1,b.current&&(clearTimeout(b.current),b.current=null),re(!1),ie(!1),fe(!1)};return document.addEventListener("mousedown",k),document.addEventListener("mouseup",w),document.addEventListener("touchstart",B,{passive:!0}),document.addEventListener("touchend",w),document.addEventListener("touchcancel",w),document.addEventListener("pointerup",w),document.addEventListener("pointercancel",w),window.addEventListener("blur",A),()=>{document.removeEventListener("mousedown",k),document.removeEventListener("mouseup",w),document.removeEventListener("touchstart",B),document.removeEventListener("touchend",w),document.removeEventListener("touchcancel",w),document.removeEventListener("pointerup",w),document.removeEventListener("pointercancel",w),window.removeEventListener("blur",A),a.current&&(clearTimeout(a.current),a.current=null)}},[re,ie]);const $e=I(()=>{W(!0),X(!1),setTimeout(()=>O(!1,!0),50)},[O]),Me=I(()=>{W(!0),X(!1)},[]),Re=I(()=>{const s=i.current;s&&!s.paused&&s.readyState>=3&&!s.seeking||X(!0)},[]),Ae=I(()=>{X(!1)},[]),Fe=I(()=>{W(!1),X(!1),D(!0),setTimeout(()=>O(!1,!0),50)},[O]),De=y(!1);De.current=pe,$(()=>{if(!pe)return;let s=i.current?.currentTime??0,k=0;const B=window.setInterval(()=>{const w=i.current;if(!w)return;k+=1;const A=w.currentTime,H=A!==s;if(s=A,!(w.paused||w.seeking)){if(H||w.readyState>=3){X(!1);return}k>=24&&w.readyState>=2&&!w.ended&&X(!1)}},500);return()=>window.clearInterval(B)},[pe]),$(()=>{ce.current=!1,Ce.current=-1,p.current=0,M.current=Math.random().toString(36).substring(2),V(0),X(!1)},[r,t]);const Oe=I(()=>{V(0),X(!1)},[]);$(()=>{const s=M.current;return()=>{Nt(s)}},[r,t]),$(()=>{if(o!=="iframe")return;O(!1,!0);const s=setInterval(()=>{O(!1,!0)},6e4);return()=>clearInterval(s)},[o,O]);const qe=I(()=>{V(i.current?.duration||0),ne()},[ne]),He=I(()=>{if(i.current){const s=i.current.muted,k=i.current.volume;L(s),U(k),localStorage.setItem("playerMuted",String(s)),localStorage.setItem("playerVolume",String(k))}},[]),ze=I(()=>{},[]),We=I(()=>{const s=i.current;if(!s)return;De.current&&!s.paused&&!s.seeking&&X(!1);const k=s.currentTime||0,B=Date.now();B-p.current>6e4&&O()&&(p.current=B);const w=e.find(A=>k>=A.start_time&&k<A.end_time)||null;we(A=>A?.skip_id!==w?.skip_id?w:A),be&&w&&!s.paused&&(s.currentTime=w.end_time,we(null))},[e,be,O]),Ve=I(()=>{const s=me();s&&(s.currentTime=s.duration,Ke.progress.updateProgress.mutate(s).then(()=>{v.invalidateQueries({queryKey:["video-sources",r,t]}),v.invalidateQueries({queryKey:["allContinueWatching"]})}).catch(k=>console.error("Failed to send final progress:",k)))},[me,v,r,t]),Ue=I(()=>{ce.current=!0,Ve()},[Ve]);$(()=>{const s=()=>{ee&&(Pe(!1),Ie({time:0,position:null}),f.current&&i.current?.play(),O(!1,!0))};return ee&&(document.addEventListener("mouseup",s),document.addEventListener("pointerup",s),document.addEventListener("touchend",s),document.addEventListener("pointercancel",s),document.addEventListener("touchcancel",s)),()=>{document.removeEventListener("mouseup",s),document.removeEventListener("pointerup",s),document.removeEventListener("touchend",s),document.removeEventListener("pointercancel",s),document.removeEventListener("touchcancel",s)}},[ee,O]);const Bt=de(()=>({togglePlay:ve,seek:ae,toggleMute:he,toggleFullscreen:_e,onPlay:$e,onPause:Fe,onLoadedMetadata:qe,formatTime:$t,onVolumeChange:He,onProgress:ze,onTimeUpdate:We,onEnded:Ue,setShowControls:D,setIsScrubbing:Pe,setHoverTime:Ie,setIsAutoSkipEnabled:et,setCurrentSkipInterval:we,setShowCCMenu:rt,setSubtitleFontSize:st,setSubtitlePosition:it,setSubtitleBgOpacity:lt,setSubtitleBgColor:dt,setSubtitleTextColor:ft,setSubtitleEdge:_t,setSubtitleBold:ht,setAvailableSubtitles:yt,setActiveSubtitleTrack:wt,setShowSettings:St,setShowVolumeSlider:Et,wasPlayingBeforeScrub:f,inactivityTimer:P,setIsFullscreen:m,onWaiting:Re,onPlaying:Me,onCanPlay:Ae,sendProgressUpdate:O,setUseNativeControls:Ne,resetMediaState:Oe}),[ve,ae,he,_e,$e,Fe,qe,He,ze,We,Ue,m,Re,Me,Ae,O,Ne,Oe]);return{refs:{videoRef:i,playerContainerRef:h,progressBarRef:l},state:{isPlaying:R,isMuted:G,volume:q,isFullscreen:d,duration:F,showControls:j,isScrubbing:ee,hoverTime:Ze,isAutoSkipEnabled:be,currentSkipInterval:tt,showCCMenu:nt,subtitleFontSize:ot,subtitlePosition:ct,subtitleBgOpacity:at,subtitleBgColor:ut,subtitleTextColor:pt,subtitleEdge:mt,subtitleBold:vt,availableSubtitles:gt,activeSubtitleTrack:bt,showSettings:Ct,showVolumeSlider:kt,isBuffering:pe,isSpeedBoostActive:xt,useNativeControls:Lt},actions:Bt}};function Zo(){try{return typeof navigator<"u"&&/android/i.test(navigator.userAgent)}catch{return!1}}function Hs(e,r){const{refs:t,actions:c}=e,o=y(r);o.current=r;const u=y(!1),v=y(!1),C=i=>{try{if(i)return i.matches}catch{}try{return window.innerWidth>window.innerHeight}catch{return!1}};$(()=>{if(!Zo())return;let i=null;const h=()=>{const l=t.playerContainerRef.current;if(C(i)){if(!o.current||!l||se(t.videoRef.current)||v.current)return;u.current=!0,c.toggleFullscreen()}else v.current=!1,u.current&&(u.current=!1,se(t.videoRef.current)&&c.toggleFullscreen())};try{i=window.matchMedia("(orientation: landscape)"),i.addEventListener?i.addEventListener("change",h):i.addListener(h)}catch{}return h(),()=>{try{i&&(i.removeEventListener?i.removeEventListener("change",h):i.removeListener(h))}catch{}}},[c,t.playerContainerRef,t.videoRef,r]),$(()=>{const i=()=>{if(!se(t.videoRef.current)){u.current=!1;try{window.matchMedia("(orientation: landscape)").matches&&(v.current=!0)}catch{v.current=!0}}};return document.addEventListener("fullscreenchange",i),document.addEventListener("webkitfullscreenchange",i),()=>{document.removeEventListener("fullscreenchange",i),document.removeEventListener("webkitfullscreenchange",i)}},[t.videoRef])}const es=e=>Math.max(8,Math.min(40,Math.ceil(e/16.7)+4));function zs({videoRef:e,canvasRef:r,delayMs:t,enabled:c}){const o=y(t);o.current=t;const u=y([]),v=y(-1),C=y(-1),i=y(!1),h=y(0),l=y(null);$(()=>{const P=a=>{if(a)try{a.close()}catch{}},f=()=>{for(const a of u.current)P(a.bitmap);u.current=[]};if(!c){f(),v.current=-1,C.current=-1,i.current=!1,h.current=0;return}let x=!1;const p=()=>{l.current!==null&&(cancelAnimationFrame(l.current),l.current=null)},_=()=>{x||(p(),l.current=requestAnimationFrame(()=>{S()}))};async function S(){if(x)return;const a=e.current,b=r.current;if(!a||!b||a.videoWidth===0){_();return}if(a.paused||a.ended||document.hidden||a.readyState<HTMLMediaElement.HAVE_CURRENT_DATA){_();return}const g=a.getVideoPlaybackQuality().totalVideoFrames;if(g===v.current){_();return}(a.seeking||C.current>=0&&Math.abs(a.currentTime-C.current)>.5)&&(f(),i.current=!1,h.current=0,v.current=-1),C.current=a.currentTime,(b.width!==a.videoWidth||b.height!==a.videoHeight)&&(b.width=a.videoWidth,b.height=a.videoHeight);const M=Math.max(0,o.current||0);M>h.current&&(i.current=!1);try{const R=await createImageBitmap(a);if(x){P(R);return}v.current=g;const W=performance.now(),G=b.getContext("2d"),L=m=>{G&&G.drawImage(m,0,0,b.width,b.height)};if(M<=0){f(),i.current=!1,h.current=0,L(R),P(R),_();return}const q=u.current;q.push({bitmap:R,capture:W});const U=es(M);for(;q.length>U;)P(q.shift()?.bitmap);let d=-1;for(let m=q.length-1;m>=0;m--)if(W-q[m].capture>=M){d=m;break}if(d!==-1){for(let F=0;F<d;F++)P(q.shift()?.bitmap);const m=q.shift();m?(L(m.bitmap),P(m.bitmap),i.current=!0,h.current=M):L(R)}else if(!i.current)L(R);else{const m=q.shift();m?(L(m.bitmap),P(m.bitmap)):L(R)}}catch{}_()}return _(),()=>{x=!0,p();for(const a of u.current)try{a.bitmap.close()}catch{}u.current=[]}},[c,e,r])}const ts="_row_1fq55_1",ns="_rowHeader_1fq55_9",rs="_rowLabel_1fq55_17",os="_rowValue_1fq55_28",ss="_slider_1fq55_36",cs="_swatches_1fq55_99",is="_swatch_1fq55_99",as="_swatchPicked_1fq55_114",ls="_colorInput_1fq55_120",us="_segmented_1fq55_131",z={row:ts,rowHeader:ns,rowLabel:rs,rowValue:os,slider:ss,swatches:cs,swatch:is,swatchPicked:as,colorInput:ls,segmented:us},ds=({label:e,display:r,min:t,max:c,step:o,value:u,percent:v,onChange:C,onCommit:i})=>n("div",{className:z.row,children:[n("div",{className:z.rowHeader,children:[n("span",{className:z.rowLabel,children:e}),n("span",{className:z.rowValue,children:r})]}),n("input",{type:"range",className:z.slider,min:t,max:c,step:o,value:u,"aria-label":e,"data-speed-boost-ignore":"true",onInput:h=>C(Number(h.target.value)),onMouseDown:h=>h.stopPropagation(),onPointerDown:h=>h.stopPropagation(),onTouchStart:h=>h.stopPropagation(),onPointerUp:i,onPointerCancel:i,onTouchEnd:i,onKeyUp:i,onBlur:i,style:{"--slider-percent":`${v}%`}})]}),Ws=({label:e,colors:r,value:t,onChange:c})=>n("div",{className:z.row,children:[n("div",{className:z.rowHeader,children:n("span",{className:z.rowLabel,children:e})}),n("div",{className:z.swatches,children:[r.map(o=>n("button",{type:"button","aria-label":`${e} ${o}`,"aria-pressed":t.toLowerCase()===o.toLowerCase(),onClick:()=>c(o),className:`${z.swatch} ${t.toLowerCase()===o.toLowerCase()?z.swatchPicked:""}`,style:{backgroundColor:o}},o)),n("input",{type:"color","aria-label":`Custom ${e.toLowerCase()}`,className:z.colorInput,value:t,"data-speed-boost-ignore":"true",onInput:o=>c(o.target.value),onMouseDown:o=>o.stopPropagation(),onPointerDown:o=>o.stopPropagation(),onTouchStart:o=>o.stopPropagation()})]})]});function Vs({label:e,options:r,value:t,onChange:c}){return n("div",{className:z.row,children:[n("div",{className:z.rowHeader,children:n("span",{className:z.rowLabel,children:e})}),n("div",{className:z.segmented,role:"group","aria-label":e,children:r.map(o=>n("button",{type:"button","aria-pressed":t===o,onClick:()=>c(o),children:[n("span",{children:o}),t===o&&n(J,{name:"check",size:10})]},o))})]})}const ye=10,Be=500,Ee=e=>Math.max(0,Math.min(Be,Math.round(e))),Us=({isOpen:e,ms:r,onChange:t,onApply:c,onClose:o,testClipActive:u,onTestClip:v})=>e?n("div",{role:"dialog","aria-label":"Calibrate audio video sync","data-speed-boost-ignore":"true",onClick:C=>C.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:[n("div",{style:{fontSize:"0.8rem",fontWeight:800,color:"var(--text-primary)"},children:"A/V sync"}),n("div",{children:n(le,{size:"sm",variant:"secondary",onClick:v,children:u?"Back to video":"Preview test clip"})}),n("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:6,flexWrap:"wrap"},children:[n(le,{size:"sm",onClick:()=>t(Ee(r-ye)),"aria-label":"Decrease delay by 10 milliseconds",children:["− ",ye,"ms"]}),n("div",{style:{fontSize:"1.1rem",fontWeight:800,minWidth:64,textAlign:"center"},children:[r,"ms"]}),n(le,{size:"sm",onClick:()=>t(Ee(r+ye)),"aria-label":"Increase delay by 10 milliseconds",children:["+ ",ye,"ms"]})]}),n(ds,{label:"Video delay",display:`${r}ms`,min:0,max:Be,step:5,value:r,percent:r/Be*100,onChange:C=>t(Ee(C))}),n("div",{style:{display:"flex",gap:8,justifyContent:"center",flexWrap:"wrap"},children:[n(le,{size:"sm",variant:"secondary",onClick:o,children:"Cancel"}),n(le,{size:"sm",onClick:c,children:["Apply ",r,"ms"]})]})]}):null;export{Us as A,Ts as B,$s as C,Z as D,Ds as E,ds as M,Fs as P,Ms as S,Bs as T,As as U,Rs as a,zs as b,Hs as c,ks as d,Es as e,Ps as f,Ns as g,Ls as h,to as i,hs as j,Do as k,bs as l,vs as m,oe as n,Os as o,Ss as p,ws as q,xs as r,oo as s,Is as t,qs as u,Cs as v,gs as w,ys as x,Ws as y,Vs as z};
@@ -0,0 +1 @@
1
+ import{d as D,A as G,h as F,q as x,g as U,u as e,L as xe,T as Y,S as ie,a as te,_ as je}from"./vendor-core-DfaOB3Rn.js";import{b as Ze,u as Je,a as et}from"./vendor-query-BBT5_sHx.js";import{S as De,A as Ee,P as tt}from"./SkeletonGrid-0dY_xMq3.js";import{A as oe}from"./AnimeCard-4CEz8Buu.js";import{I as V}from"./vendor-icons-DrybRNxP.js";import{u as ke,a as le,b as at,c as nt,t as rt,d as We,s as ot,f as Se,B as Oe,e as st,g as re,h as lt,i as Le,j as it,k as ct,l as dt,m as ut,n as ht,o as mt,p as pt,q as gt,r as vt}from"./index-CVB5dYhT.js";import{u as _t}from"./vendor-ui-3qrARCPr.js";import{E as Ce}from"./ErrorMessage-DAxegITP.js";import{R as Fe}from"./ResetProgressModal-CeI4V3Y5.js";import{Q as ft}from"./QueueRail-DaMjlKL4.js";import{M as _e}from"./MediaCard-BQZsutEo.js";import{u as Ve,M as ze}from"./useMangaPopup-Celk4lzf.js";import{M as bt}from"./MangaResetProgressModal-C_ppotmh.js";import{u as Ge,a as yt,m as we,i as Ue,b as qe,c as He,d as Nt,e as Tt}from"./useMangaLibrary-B3_BUKVk.js";import{u as St}from"./useProviders-pwxPZPHh.js";import{u as Qe,a as $e,T as wt}from"./useTv-D9sQrDop.js";import{T as kt}from"./TvPopup-D_tVTyZ2.js";import{u as Ct,a as It,b as At,t as Rt,i as Lt,c as $t}from"./useTvLibrary-UsQpgBTB.js";import{A as Mt}from"./AsmrResetProgressModal-BpPlg_Vv.js";import{u as Bt,a as Pt,b as xt}from"./useAsmr-ClckxnPe.js";import"./useAnimeInfoData-DxdOg_B7.js";import"./QueueOptionsButton-5eloKF5J.js";import"./useIsMobile-Dvx1uJ82.js";const Dt="_sectionWrapper_2p2l1_9",Et="_sectionTitleNoMargin_2p2l1_13",Wt="_carousel_2p2l1_178",P={"section-header":"_section-header_2p2l1_1",sectionWrapper:Dt,sectionTitleNoMargin:Et,"title-wrapper":"_title-wrapper_2p2l1_17","header-controls":"_header-controls_2p2l1_24","header-select":"_header-select_2p2l1_30","collapse-button":"_collapse-button_2p2l1_79","title-link":"_title-link_2p2l1_98","continue-watching":"_continue-watching_2p2l1_117","nav-arrows":"_nav-arrows_2p2l1_139","nav-button":"_nav-button_2p2l1_148","carousel-container":"_carousel-container_2p2l1_178",carousel:Wt,"carousel-inner":"_carousel-inner_2p2l1_187","carousel-card":"_carousel-card_2p2l1_192"};function fe({align:a="start",containScroll:o="trimSnaps",scrollFraction:i=.8,threshold:t=.6,onReachThreshold:n}={}){const[c,s]=_t({align:a,containScroll:o,dragFree:!0}),[N,m]=D(!1),b=G({scrollFraction:i,threshold:t,onReachThreshold:n}),v=G(!1);F(()=>{b.current={scrollFraction:i,threshold:t,onReachThreshold:n}});const g=x(d=>{m(d.canScrollPrev()||d.canScrollNext())},[]);F(()=>{if(!s)return;const d=()=>{const l=s.scrollProgress();l>=b.current.threshold&&!v.current?(v.current=!0,b.current.onReachThreshold?.()):l<b.current.threshold&&(v.current=!1),g(s)};return s.on("init",d),s.on("reInit",d),s.on("scroll",d),s.on("resize",d),()=>{s.off("init",d),s.off("reInit",d),s.off("scroll",d),s.off("resize",d)}},[s,g]);const f=x(d=>{const l=d.containerNode().firstElementChild;if(!l)return 1;const u=d.rootNode().getBoundingClientRect().width,I=l.getBoundingClientRect().width;return I?Math.max(1,Math.round(u/I)):1},[]),r=x((d,l=!1)=>{if(!s)return;const u=Math.max(1,Math.round(f(s)*b.current.scrollFraction)),I=s.selectedScrollSnap()+(d==="left"?-u:u);s.scrollTo(I,l)},[s,f]),w=x((d=!1)=>{s?.scrollTo(0,d)},[s]);return{emblaRef:c,api:s,canScroll:N,stepBy:r,scrollToStart:w}}const ee=({title:a,eyebrow:o,titleLink:i,loading:t,emptyState:n,carousel:c,layout:s,collapsible:N,defaultExpanded:m=!0,onReachThreshold:b,scrollThreshold:v,isFetchingNextPage:g,resetScrollOnShrink:f,itemCount:r=0,highlight:w,headerActions:d,loadingSkeleton:l,skeletonCount:u=7,children:I})=>{const{lowEndMode:R}=ke(),{emblaRef:T,stepBy:E,scrollToStart:C}=fe({onReachThreshold:b,threshold:v}),[M,W]=U.useState(m);U.useEffect(()=>{W(m)},[m]);const B=U.useRef(0);return U.useEffect(()=>{f&&r>0&&M&&(r<=B.current||B.current===0)&&C(),r>0&&(B.current=r)},[r,f,M,C]),!t&&r===0&&!n&&!N?null:e("section",{className:`${P.sectionWrapper} ${w?P["continue-watching"]:""}`,children:[e("div",{className:P["section-header"],children:[e("div",{className:P["title-wrapper"],children:[e("div",{className:"title-stack",children:[o&&e("div",{className:"section-eyebrow",children:o}),i?e(xe,{to:i,className:P["title-link"],children:e("div",{className:`section-title ${P.sectionTitleNoMargin}`,children:a})}):e("div",{className:`section-title ${P.sectionTitleNoMargin}`,children:a})]}),c&&r>0&&M&&e("div",{className:P["nav-arrows"],children:[e("button",{className:P["nav-button"],type:"button","aria-label":"Scroll left",onClick:L=>{L.preventDefault(),E("left",R)},children:e(V,{name:"chevron-left"})}),e("button",{className:P["nav-button"],type:"button","aria-label":"Scroll right",onClick:L=>{L.preventDefault(),E("right",R)},children:e(V,{name:"chevron-right"})})]})]}),e("div",{className:P["header-controls"],children:[d,N&&e("button",{className:P["collapse-button"],type:"button",onClick:()=>W(L=>!L),"aria-expanded":M,"aria-label":M?`Collapse ${a}`:`Expand ${a}`,children:M?e(V,{name:"chevron-up"}):e(V,{name:"chevron-down"})})]})]}),M&&(c?!t&&r===0&&n?e("div",{children:n}):e("div",{className:P["carousel-container"],children:e("div",{className:P.carousel,ref:T,children:e("div",{className:P["carousel-inner"],children:[t&&r===0?Array.from({length:u}).map((L,A)=>e("div",{className:P["carousel-card"],children:l},A)):U.Children.map(I,(L,A)=>e("div",{className:P["carousel-card"],children:L},U.isValidElement(L)&&L.key!=null?L.key:`slide-${A}`)),g&&l&&e("div",{className:P["carousel-card"],children:l})]})})}):e("div",{className:"grid-container",children:t&&r===0?e(De,{count:6,layout:s}):r>0?I:t?null:e("div",{style:{gridColumn:"1 / -1"},children:n})}))]})},Ot=({title:a,eyebrow:o,animeList:i,continueWatching:t,titleLink:n,onRemove:c,loading:s,emptyState:N,carousel:m,cardConfig:b,layout:v,onReachThreshold:g,scrollThreshold:f,isFetchingNextPage:r,collapsible:w,defaultExpanded:d=!0})=>{const l=v||"vertical";return e(ee,{title:a,eyebrow:o,titleLink:n,loading:s,emptyState:N,carousel:m,layout:l,collapsible:w,defaultExpanded:d,onReachThreshold:g,scrollThreshold:f,isFetchingNextPage:r,resetScrollOnShrink:t,highlight:t,itemCount:i.length,loadingSkeleton:e(Ee,{layout:l}),skeletonCount:7,children:m?i.map(u=>e(oe,{anime:u,continueWatching:t,onRemove:c,config:b,layout:l},u._id)):i.map(u=>e(oe,{anime:u,continueWatching:t,onRemove:c,config:b,layout:l},u._id))})},Me=U.memo(Ot),Ft="_sectionWrapper_c8uv6_2",Vt="_sectionTitleNoMargin_c8uv6_6",zt="_timeSelect_c8uv6_80",Gt="_carouselContainer_c8uv6_111",Ut="_carousel_c8uv6_111",qt="_carouselInner_c8uv6_122",Ht="_carouselItem_c8uv6_127",Qt="_rankCard_c8uv6_164",Yt="_rankPill_c8uv6_168",Xt="_rankGold_c8uv6_179",Kt="_rankSilver_c8uv6_183",jt="_rankBronze_c8uv6_187",Zt="_skeletonPoster_c8uv6_198",Jt="_skeletonText_c8uv6_199",_={sectionWrapper:Ft,sectionTitleNoMargin:Vt,"section-header":"_section-header_c8uv6_10","title-wrapper":"_title-wrapper_c8uv6_18","nav-arrows":"_nav-arrows_c8uv6_40","nav-button":"_nav-button_c8uv6_49",timeSelect:zt,carouselContainer:Gt,carousel:Ut,carouselInner:qt,carouselItem:Ht,rankCard:Qt,rankPill:Yt,rankGold:Xt,rankSilver:Kt,rankBronze:jt,skeletonPoster:Zt,skeletonText:Jt},Be="TRENDING_DESC",ea="POPULARITY_DESC",ta=10;function aa({title:a,eyebrow:o}){const{lowEndMode:i}=ke(),[t,n]=le("trending_sort",Be),c=[{value:Be,label:"Trending"},{value:ea,label:"All Time"}],{data:s,fetchNextPage:N,hasNextPage:m,isFetchingNextPage:b,isLoading:v,isError:g,error:f}=at(t,ta),r=Y(()=>s?.pages.flatMap(u=>u)||[],[s]),w=x(()=>{m&&!b&&!v&&N()},[m,b,v,N]),{emblaRef:d,stepBy:l}=fe({onReachThreshold:w});return e("section",{className:_.sectionWrapper,children:[e("div",{className:_["section-header"],children:[e("div",{className:_["title-wrapper"],children:[e("div",{className:"title-stack",children:[o&&e("div",{className:"section-eyebrow",children:o}),e("div",{className:`section-title ${_.sectionTitleNoMargin}`,children:a})]}),e("div",{className:_["nav-arrows"],children:[e("button",{className:_["nav-button"],type:"button",onClick:u=>{u.preventDefault(),l("left",i)},"aria-label":"Scroll left",children:e(V,{name:"chevron-left"})}),e("button",{className:_["nav-button"],type:"button",onClick:u=>{u.preventDefault(),l("right",i)},"aria-label":"Scroll right",children:e(V,{name:"chevron-right"})})]})]}),e("div",{className:_["header-actions"],children:e("select",{className:_.timeSelect,value:t,onChange:u=>n(u.currentTarget.value),children:c.map(u=>e("option",{value:u.value,children:u.label},u.value))})})]}),v?e("div",{className:_.carouselContainer,children:e("div",{className:_.carousel,children:e("div",{className:_.carouselInner,children:Array.from({length:7}).map((u,I)=>e("div",{className:_.carouselItem,children:[e("div",{className:_.skeletonPoster}),e("div",{className:_.skeletonText})]},I))})})}):g?e(Ce,{message:f instanceof Error?f.message:"An unknown error occurred"}):e("div",{className:_.carouselContainer,children:e("div",{className:_.carousel,ref:d,children:e("div",{className:_.carouselInner,children:[r.map((u,I)=>e("div",{className:_.carouselItem,children:[e("div",{className:_.rankCard,children:e(oe,{anime:u})}),e("div",{className:`${_.rankPill} ${I===0?_.rankGold:I===1?_.rankSilver:I===2?_.rankBronze:""}`,children:I+1})]},u._id)),b&&e("div",{className:_.carouselItem,style:{minWidth:"150px",display:"flex",alignItems:"center",justifyContent:"center"},children:e("div",{className:_.skeletonPoster})})]})})})]})}const na=[{value:"TV",label:"TV"},{value:"ONA",label:"ONA"},{value:"OVA",label:"OVA"},{value:"MOVIE",label:"Movie"},{value:"ALL",label:"All"},{value:"ADULT",label:"Mature"}],ra=10;function oa({eyebrow:a}){const{lowEndMode:o}=ke(),[i,t]=le("latest_releases_format","TV"),{data:n,fetchNextPage:c,hasNextPage:s,isFetchingNextPage:N,isLoading:m,isError:b,error:v}=nt(i,ra),g=Y(()=>n?.pages.flatMap(d=>d)||[],[n]),f=x(()=>{s&&!N&&!m&&c()},[s,N,m,c]),{emblaRef:r,stepBy:w}=fe({onReachThreshold:f});return e("section",{className:_.sectionWrapper,children:[e("div",{className:_["section-header"],children:[e("div",{className:_["title-wrapper"],children:[e("div",{className:"title-stack",children:[a&&e("div",{className:"section-eyebrow",children:a}),e("div",{className:`section-title ${_.sectionTitleNoMargin}`,children:"Latest Releases"})]}),e("div",{className:_["nav-arrows"],children:[e("button",{className:_["nav-button"],type:"button",onClick:d=>{d.preventDefault(),w("left",o)},"aria-label":"Scroll left",children:e(V,{name:"chevron-left"})}),e("button",{className:_["nav-button"],type:"button",onClick:d=>{d.preventDefault(),w("right",o)},"aria-label":"Scroll right",children:e(V,{name:"chevron-right"})})]})]}),e("div",{className:_["header-actions"],children:e("select",{className:_.timeSelect,value:i,onChange:d=>t(d.currentTarget.value),children:na.map(d=>e("option",{value:d.value,children:d.label},d.value))})})]}),m?e("div",{className:_.carouselContainer,children:e("div",{className:_.carousel,children:e("div",{className:_.carouselInner,children:Array.from({length:7}).map((d,l)=>e("div",{className:_.carouselItem,children:[e("div",{className:_.skeletonPoster}),e("div",{className:_.skeletonText})]},l))})})}):b?e(Ce,{message:v instanceof Error?v.message:"An unknown error occurred"}):e("div",{className:_.carouselContainer,children:e("div",{className:_.carousel,ref:r,children:e("div",{className:_.carouselInner,children:[g.map(d=>e("div",{className:_.carouselItem,children:e(oe,{anime:d})},d._id)),N&&e("div",{className:_.carouselItem,style:{minWidth:"150px",display:"flex",alignItems:"center",justifyContent:"center"},children:e("div",{className:_.skeletonPoster})})]})})})]})}const sa="_scheduleSection_10dfe_1",la="_sectionTitleRow_10dfe_5",ia="_sectionTitleNoMargin_10dfe_11",ca="_sectionHeader_10dfe_15",da="_headerActions_10dfe_25",ua="_timeSelect_10dfe_31",ha="_daySelectorContainer_10dfe_62",ma="_daySelector_10dfe_62",pa="_daySelectorInner_10dfe_79",ga="_dayBtn_10dfe_90",va="_active_10dfe_113",_a="_dayMonth_10dfe_121",fa="_dayNum_10dfe_129",ba="_dayName_10dfe_135",ya="_navArrows_10dfe_148",Na="_navButton_10dfe_157",Ta="_carouselContainer_10dfe_181",Sa="_carousel_10dfe_181",wa="_carouselInner_10dfe_193",ka="_carouselCard_10dfe_198",$={scheduleSection:sa,sectionTitleRow:la,sectionTitleNoMargin:ia,sectionHeader:ca,headerActions:da,timeSelect:ua,daySelectorContainer:ha,daySelector:ma,daySelectorInner:pa,dayBtn:ga,active:va,dayMonth:_a,dayNum:fa,dayName:ba,navArrows:ya,navButton:Na,carouselContainer:Ta,carousel:Sa,carouselInner:wa,carouselCard:ka},ue=a=>{const o=a.getFullYear(),i=String(a.getMonth()+1).padStart(2,"0"),t=String(a.getDate()).padStart(2,"0");return`${o}-${i}-${t}`},Ca=async(a,o)=>await rt.data.schedule.query({date:a,format:o}),Ia=({eyebrow:a})=>{const[o,i]=D(()=>ue(new Date)),[t,n]=le("schedule_format","TV"),{emblaRef:c,canScroll:s,stepBy:N,scrollToStart:m}=fe(),b=G(null),v=G(!0),{data:g=[],isLoading:f,error:r}=Ze({queryKey:["schedule",o,t],queryFn:()=>Ca(o,t),staleTime:1e3*60*5}),w=Y(()=>{const l=[],u=new Date,I=ue(u),R=new Date(u);R.setDate(u.getDate()-1);const T=ue(R),E=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];for(let C=-6;C<=6;C++){const M=new Date(u);M.setDate(u.getDate()+C),l.push(M)}return l.map(C=>{const M=ue(C),L=M===I?"Today":M===T?"Yest":E[C.getDay()],A=C.getDate(),X=new Intl.DateTimeFormat("en-US",{month:"short"}).format(C);return{dateString:M,dayLabel:L,dayNum:A,monthName:X}})},[]);F(()=>{if(v.current){v.current=!1;return}if(b.current){const l=b.current.querySelector(`[data-date="${o}"]`);l&&l.scrollIntoView({behavior:"smooth",inline:"center",block:"nearest"})}},[o]),F(()=>{m(!0)},[o,m]);const d=[{value:"TV",label:"TV"},{value:"ONA",label:"ONA"},{value:"OVA",label:"OVA"},{value:"MOVIE",label:"Movie"},{value:"ALL",label:"All"},{value:"ADULT",label:"Mature"}];return e("div",{className:$.scheduleSection,children:[e("div",{className:$.sectionHeader,children:[e("div",{className:$.sectionTitleRow,children:[e("div",{className:"title-stack",children:[a&&e("div",{className:"section-eyebrow",children:a}),e("h2",{className:`section-title ${$.sectionTitleNoMargin}`,children:"Episode Schedule"})]}),g.length>0&&s&&e("div",{className:$.navArrows,children:[e("button",{className:$.navButton,onClick:()=>N("left"),"aria-label":"Scroll left",children:e(V,{name:"chevron-left"})}),e("button",{className:$.navButton,onClick:()=>N("right"),"aria-label":"Scroll right",children:e(V,{name:"chevron-right"})})]})]}),e("div",{className:$.headerActions,children:e("select",{className:$.timeSelect,value:t,onChange:l=>n(l.target.value),children:d.map(l=>e("option",{value:l.value,children:l.label},l.value))})})]}),e("div",{className:$.daySelectorContainer,children:e("div",{className:$.daySelector,ref:b,children:e("div",{className:$.daySelectorInner,children:w.map(l=>e("button",{type:"button","data-date":l.dateString,className:`${$.dayBtn} ${o===l.dateString?$.active:""}`,onClick:()=>i(l.dateString),children:[e("span",{className:$.dayMonth,children:l.monthName}),e("span",{className:$.dayNum,children:l.dayNum}),e("span",{className:$.dayName,children:l.dayLabel})]},l.dateString))})})}),e("div",{className:$.carouselContainer,children:e("div",{className:$.carousel,ref:c,children:e("div",{className:$.carouselInner,children:f?Array.from({length:7}).map((l,u)=>e("div",{className:$.carouselCard,children:e(Ee,{layout:"vertical"})},u)):r?e("div",{style:{width:"100%"},children:e(Ce,{message:r instanceof Error?r.message:"An unknown error occurred"})}):g.length===0?e("p",{style:{textAlign:"center",marginTop:"1rem",width:"100%"},children:"No episodes scheduled for this day."}):g.map(l=>e("div",{className:$.carouselCard,children:e(oe,{anime:l,continueWatching:!1,layout:"vertical"},l._id)},l._id))})})})]})},Aa="_bannerContainer_rceop_1",Ra="_hero_rceop_28",La="_ambient_rceop_37",$a="_ambientShow_rceop_49",Ma="_scrim_rceop_53",Ba="_progressLine_rceop_69",Pa="_paused_rceop_89",xa="_dots_rceop_103",Da="_dot_rceop_103",Ea="_dotActive_rceop_132",Wa="_viewport_rceop_138",Oa="_track_rceop_145",Fa="_slide_rceop_151",Va="_slideInner_rceop_159",za="_poster_rceop_169",Ga="_info_rceop_179",Ua="_kicker_rceop_183",qa="_featureLabel_rceop_190",Ha="_scoreChip_rceop_202",Qa="_rise_rceop_220",Ya="_active_rceop_224",Xa="_metaRow_rceop_280",Ka="_metaItem_rceop_291",ja="_metaDivider_rceop_297",Za="_title_rceop_304",Ja="_genres_rceop_320",en="_genreTag_rceop_328",tn="_summary_rceop_339",an="_actions_rceop_351",nn="_watchBtn_rceop_358",rn="_detailsBtn_rceop_380",on="_navArrow_rceop_401",sn="_prevArrow_rceop_434",ln="_nextArrow_rceop_438",y={bannerContainer:Aa,hero:Ra,ambient:La,ambientShow:$a,scrim:Ma,progressLine:Ba,paused:Pa,dots:xa,dot:Da,dotActive:Ea,viewport:Wa,track:Oa,slide:Fa,slideInner:Va,poster:za,info:Ga,kicker:Ua,featureLabel:qa,scoreChip:Ha,rise:Qa,active:Ya,metaRow:Xa,metaItem:Ka,metaDivider:ja,title:Za,genres:Ja,genreTag:en,summary:tn,actions:an,watchBtn:nn,detailsBtn:rn,navArrow:on,prevArrow:sn,nextArrow:ln},cn=8e3,he=()=>e("div",{className:"skeleton",style:{width:"100vw",maxWidth:"100vw",position:"relative",left:"50%",right:"50%",marginLeft:"-50vw",marginRight:"-50vw",height:"clamp(480px, 72vh, 660px)",marginTop:"calc(-1 * var(--header-height))",marginBottom:"2.5rem"}}),be=({slides:a,posterClassName:o})=>{const[i,t]=D(0),[n,c]=D(0),[s,N]=D(!1),[m,b]=D(null),[v,g]=D(0),[f,r]=D({front:"",back:"",flip:!1}),w=G(0),d=G(0),l=G(new Set),u=G(null),I=G(0),R=x(h=>h.bannerSrc,[]),T=x(()=>{c(h=>h+1)},[]),E=x(h=>{u.current!==null&&(window.clearTimeout(u.current),u.current=null),b(null),T();const k=R(a[h]);r(S=>S.flip?{front:k,back:S.back,flip:!1}:{front:S.front,back:k,flip:!0}),t(h)},[T,a,R]),C=x(h=>{if(a.length===0)return;const k=(h%a.length+a.length)%a.length;l.current.has(R(a[k]))?E(k):b(k)},[a,R,E]);F(()=>{let h=!1;return a.forEach(k=>{const S=R(k);if(!S||l.current.has(S))return;const p=new Image;p.src=S;const O=()=>{h||l.current.has(S)||(l.current.add(S),g(q=>q+1))};p.onload=O,p.onerror=O}),()=>{h=!0}},[a,R]),F(()=>{if(a.length!==0&&!f.front){const h=R(a[0]);r({front:h,back:"",flip:!1})}},[a,f.front,R]),F(()=>{if(m!==null){if(m<0||m>=a.length){b(null);return}l.current.has(R(a[m]))&&E(m)}},[m,v,a,R,E]),F(()=>{if(m===null)return;u.current!==null&&window.clearTimeout(u.current);const h=m;return u.current=window.setTimeout(()=>{u.current=null,E(h)},2500),()=>{u.current!==null&&(window.clearTimeout(u.current),u.current=null)}},[m,E]);const M=x(h=>{C(h)},[C]),W=x(()=>{C(I.current+1)},[C]),B=x(()=>{C(I.current-1)},[C]),L=G(null);if(F(()=>{const h=L.current;if(!h)return;const k=S=>{if(Math.abs(S.deltaY)>Math.abs(S.deltaX)&&Math.abs(S.deltaY)>5){S.preventDefault(),S.stopPropagation();const p=Date.now();if(p-w.current<300)return;w.current=p,T(),S.deltaY>0?W():B()}};return h.addEventListener("wheel",k,{passive:!1}),()=>h.removeEventListener("wheel",k)},[a.length,W,B,T]),F(()=>{if(a.length===0||s)return;const h=setTimeout(W,cn);return()=>clearTimeout(h)},[i,W,a.length,n,s]),F(()=>{const h=k=>{const S=k.target;S&&(S.tagName==="INPUT"||S.tagName==="TEXTAREA"||S.tagName==="SELECT"||S.isContentEditable)||(k.key==="ArrowRight"?(k.preventDefault(),W()):k.key==="ArrowLeft"&&(k.preventDefault(),B()))};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[W,B]),F(()=>{i>=a.length&&t(0)},[a.length,i]),a.length===0)return null;const A=i>=a.length?0:i;I.current=A;const X=h=>{d.current=h.touches[0].clientX},j=h=>{const S=h.changedTouches[0].clientX-d.current;Math.abs(S)>50&&(T(),S>0?B():W())};return e("div",{className:y.bannerContainer,onMouseEnter:()=>N(!0),onMouseLeave:()=>N(!1),children:e("div",{className:`${y.hero} ${s?y.paused:""}`,onTouchStart:X,onTouchEnd:j,children:[f.front&&e("img",{src:f.front,alt:"","aria-hidden":"true",className:`${y.ambient} ${f.flip?"":y.ambientShow}`}),f.back&&e("img",{src:f.back,alt:"","aria-hidden":"true",className:`${y.ambient} ${f.flip?y.ambientShow:""}`}),e("div",{className:y.scrim,"aria-hidden":"true"}),a.length>1&&e("div",{className:y.progressLine,"aria-hidden":"true"},`progress-${n}-${A}`),a.length>1&&e("div",{className:y.dots,ref:L,role:"tablist","aria-label":"Spotlight slides",children:a.map((h,k)=>e("button",{role:"tab","aria-selected":k===A,"aria-label":`Go to slide ${k+1}: ${h.title}`,className:`${y.dot} ${k===A?y.dotActive:""}`,onClick:()=>M(k),tabIndex:k===A?0:-1},h.key))}),e("div",{className:y.viewport,children:e("div",{className:y.track,style:{transform:`translateX(-${A*100}%)`},children:a.map((h,k)=>e("div",{className:`${y.slide} ${k===A?y.active:""}`,"aria-hidden":k!==A,children:e("div",{className:y.slideInner,children:[e("img",{src:h.posterSrc,alt:h.posterAlt,className:o??y.poster,decoding:"async"}),e("div",{className:y.info,children:[e("div",{className:`${y.kicker} ${y.rise}`,children:[e("span",{className:y.featureLabel,children:"Spotlight"}),h.score!==void 0&&h.score!==null&&h.score!==""&&e("span",{className:y.scoreChip,children:[e(V,{name:"star",size:12}),e("span",{children:h.score})]})]}),e(xe,{to:h.detailTo,className:`${y.title} ${y.rise}`,"aria-label":`View details for ${h.title}`,tabIndex:k===A?0:-1,children:h.title}),h.metaItems.length>0&&e("div",{className:`${y.metaRow} ${y.rise}`,children:h.metaItems.map((S,p)=>e(U.Fragment,{children:[e("span",{className:y.metaItem,children:S}),p<h.metaItems.length-1&&e("div",{className:y.metaDivider})]},p))}),h.tags.length>0&&e("div",{className:`${y.genres} ${y.rise}`,children:h.tags.slice(0,3).map(S=>e("span",{className:y.genreTag,children:S},S))}),h.synopsis&&e("p",{className:`${y.summary} ${y.rise}`,children:h.synopsis}),e("div",{className:`${y.actions} ${y.rise}`,children:[e("button",{className:y.watchBtn,onClick:h.onPrimary,tabIndex:k===A?0:-1,children:[e(V,{name:h.primaryIcon,size:14}),e("span",{children:h.primaryLabel})]}),e("button",{className:y.detailsBtn,onClick:h.onDetails,tabIndex:k===A?0:-1,children:[e(V,{name:"info-circle",size:15}),e("span",{children:"Details"})]})]})]})]})},h.key))})}),a.length>1&&e(ie,{children:[e("button",{className:`${y.navArrow} ${y.prevArrow}`,onClick:()=>{T(),B()},"aria-label":"Previous slide",children:e(V,{name:"chevron-left",size:20})}),e("button",{className:`${y.navArrow} ${y.nextArrow}`,onClick:()=>{T(),W()},"aria-label":"Next slide",children:e(V,{name:"chevron-right",size:20})})]})]})})},dn=({animeList:a})=>{const{titlePreference:o}=We(),i=te(),t=Y(()=>a.slice(0,6).map(n=>{const c=o==="nativeName"?n.nativeName||n.name:o==="englishName"&&n.englishName||n.name;return{key:n._id,bannerSrc:n.bannerImage?Se(n.bannerImage,1280,560):Se(n.thumbnail,1280,450),posterSrc:Se(n.thumbnail,460,650),posterAlt:c,title:c,detailTo:`/anime/${n._id}`,score:n.score,metaItems:[n.type||"Anime",n.status,n.episodeCount?`${n.episodeCount} Episodes`:void 0,n.rating].filter(s=>!!s),tags:(n.genres??[]).slice(0,3).map(s=>typeof s=="string"?s:s?.name).filter(s=>!!s),synopsis:ot(n.description??""),primaryLabel:"Watch Now",primaryIcon:"play",onPrimary:()=>i(`/watch/${n._id}`),onDetails:()=>i(`/anime/${n._id}`)}}),[a,o,i]);return e(be,{slides:t})},un="_emptyState_19tmt_1",hn="_emptyStateIcon_19tmt_16",mn="_emptyStateTitle_19tmt_23",pn="_emptyStateText_19tmt_30",me={emptyState:un,emptyStateIcon:hn,emptyStateTitle:mn,emptyStateText:pn},ye=({icon:a,text:o,actionLabel:i,onAction:t,title:n="Nothing is here..."})=>e("div",{className:me.emptyState,children:[e(V,{name:a,size:48,className:me.emptyStateIcon}),e("div",{children:[e("h3",{className:me.emptyStateTitle,children:n}),e("p",{className:me.emptyStateText,children:o})]}),e(Oe,{variant:"primary",size:"sm",onClick:t,style:{marginTop:"1rem"},children:i})]}),gn="_select_1dw63_1",vn={select:gn},ge=({value:a,options:o,onChange:i,ariaLabel:t,width:n})=>e("select",{className:vn.select,style:n!==void 0?{width:n}:void 0,value:a,"aria-label":t,onChange:c=>i(c.currentTarget.value),children:o.map(c=>e("option",{value:c.value,children:c.label},c.value))}),_n="_tabBar_irwbm_1",fn="_tabIndicator_irwbm_24",bn="_tabButton_irwbm_38",yn="_tabActive_irwbm_64",pe={tabBar:_n,tabIndicator:fn,tabButton:bn,tabActive:yn};function Nn({options:a,value:o,onChange:i,ariaLabel:t},n){const c=G(null),s=G(new Map),N=G(null),[m,b]=D({left:0,width:0}),v=x((g,f)=>{const r=s.current.get(g),w=c.current;if(r&&w){const d=w.getBoundingClientRect(),l=r.getBoundingClientRect();b({left:l.left-d.left+w.scrollLeft,width:l.width}),f&&r.scrollIntoView({block:"nearest",inline:"nearest"})}},[]);return je(()=>{const g=N.current!==null&&N.current!==o;N.current=o,v(o,g)},[o,a.length,v]),F(()=>{if(v(o,!1),typeof ResizeObserver>"u")return;let g=0;const f=c.current;if(!f)return;const r=new ResizeObserver(()=>{cancelAnimationFrame(g),g=requestAnimationFrame(()=>v(o,!1))});r.observe(f);let w=!1;return document.fonts?.ready&&document.fonts.ready.then(()=>{w||v(o,!1)}),()=>{w=!0,cancelAnimationFrame(g),r.disconnect()}},[o,a.length,v]),e("div",{className:pe.tabBar,ref:g=>{c.current=g,typeof n=="function"?n(g):n&&(n.current=g)},"aria-label":t,children:[e("div",{className:pe.tabIndicator,style:{left:m.left,width:m.width}}),a.map(g=>e(Oe,{ref:f=>{f&&s.current.set(g.value,f)},variant:"secondary",size:"sm",className:`${pe.tabButton} ${o===g.value?pe.tabActive:""}`,onClick:()=>i(g.value),children:g.label},g.value))]})}const ve=U.forwardRef(Nn),Tn=[{value:"popular",label:"Popular"},{value:"followed",label:"Most Followed"},{value:"rating",label:"Top Rated"}];function Sn(){const{options:a}=St();return Y(()=>a.filter(o=>o.kind==="manga").map(o=>o.value)[0]??"",[a])}const Pe=({title:a,eyebrow:o,provider:i,sort:t,mature:n,headerActions:c})=>{const{toggle:s,bookmarkedIds:N}=Ge(),{popup:m,openPopup:b,scheduleClose:v,cancelClose:g,closePopup:f}=Ve(),{data:r,isLoading:w,fetchNextPage:d,hasNextPage:l,isFetchingNextPage:u}=yt({provider:i,query:"",sort:t,status:"",type:"",rating:n?"safe,suggestive,erotica,pornographic":"safe",mature:n}),I=Y(()=>r?.pages.flatMap(T=>T.items)??[],[r]),R=x(()=>{l&&!u&&!w&&d()},[l,u,w,d]);return i?e(ie,{children:[e(ee,{title:a,eyebrow:o,loading:w,carousel:!0,itemCount:I.length,headerActions:c,onReachThreshold:R,isFetchingNextPage:u,loadingSkeleton:e("div",{className:"skeleton",style:{aspectRatio:"3 / 4"}}),skeletonCount:7,children:I.map(T=>{const E=we(T.provider,T.id);return e(_e,{item:{id:E,title:T.title,...He(T),thumbnail:qe(T.provider,T.cover),typeBadge:T.type||void 0,chapterBadge:T.latestChapter?`Ch. ${T.latestChapter}`:null,isAdult:Ue(T)},linkTo:`/manga/${T.provider}/${encodeURIComponent(T.id)}`,hoverIcon:"info",showInfoButton:!0,display:{elements:{poster:{typeBadge:!0,chapterBadge:!0,adultBadge:!0},info:{title:!0,mobileBadges:!0,progress:!1,meta:!1}}},onOpenDetails:C=>b(C,{provider:T.provider,mangaId:T.id,title:T.title,altTitle:T.altTitle,cover:T.cover,contentRating:T.contentRating,readTarget:`/manga/${T.provider}/${encodeURIComponent(T.id)}`,mature:n}),onPopupHoverIntent:C=>C?g():v(),rawThumbnail:!0},`${T.provider}-${T.id}`)})}),m&&e(ze,{data:m.data,anchorRect:m.rect,bookmarked:N.has(we(m.data.provider,m.data.mangaId)),onToggleBookmark:()=>s({id:m.data.mangaId,provider:m.data.provider,title:m.data.title,cover:m.data.cover,altTitle:m.data.altTitle??void 0,contentRating:m.data.contentRating}),onMouseEnter:g,onMouseLeave:v,onRequestClose:f})]}):null},wn=()=>{const a=Sn(),{hasConsent:o}=st(),[i,t]=le("manga_discover_tab","latest"),[n,c]=le("manga_trending_sort","popular");return a?e(ie,{children:[e(ve,{ariaLabel:"Discover manga",options:[{value:"latest",label:"Latest Releases"},{value:"trending",label:"Trending"}],value:i,onChange:t}),i==="latest"?e(Pe,{title:"Latest Releases",eyebrow:"Fresh chapters",provider:a,sort:"latest",mature:o}):e(Pe,{title:"Trending",eyebrow:"Discover",provider:a,sort:n,mature:o,headerActions:e("select",{className:P["header-select"],value:n,onChange:s=>c(s.currentTarget.value),"aria-label":"Trending sort",children:Tn.map(s=>e("option",{value:s.value,children:s.label},s.value))})})]}):null},kn=()=>{const a=te(),{data:o,isLoading:i}=Nt(24),[t,n]=D(null),{popup:c,openPopup:s,scheduleClose:N,cancelClose:m,closePopup:b}=Ve(),{toggle:v,bookmarkedIds:g}=Ge(),f=o?.data??[];return e("div",{style:{paddingBottom:"2rem"},children:[e(ee,{title:"Continue Reading",eyebrow:"Pick up where you left off",titleLink:"/reading-list/Continue Reading",loading:i,carousel:!0,collapsible:!0,defaultExpanded:f.length>0,highlight:!0,itemCount:f.length,loadingSkeleton:e("div",{className:"skeleton",style:{aspectRatio:"3 / 4"}}),skeletonCount:7,emptyState:e(ye,{icon:"book",text:"You haven't read anything yet. Browse manga and open a chapter to start tracking.",actionLabel:"Browse Manga",onAction:()=>a("/manga")}),children:f.map(r=>{const w=r.page??0,d=r.pageCount??0,l=r.chapterId&&r.provider?`/manga/${r.provider}/${encodeURIComponent(r.mangaId)}/read?chapter=${encodeURIComponent(r.chapterId)}`:r.provider?`/manga/${r.provider}/${encodeURIComponent(r.mangaId)}`:"#";return e(_e,{item:{id:r.id,title:r.title,...He({title:r.title,altTitle:r.altTitle}),thumbnail:r.provider?qe(r.provider,r.cover||""):r.cover||"",chapterBadge:r.chapterNumber?`Ch. ${r.chapterNumber}`:null,isAdult:Ue(r)},linkTo:l,hoverIcon:"book",progress:d>0?{percent:w/d*100,label:`Ch. ${r.chapterNumber} · p. ${w}/${d}`}:void 0,showProgress:!0,display:{elements:{poster:{typeBadge:!1,chapterBadge:!0,adultBadge:!0,removeButton:!0},info:{title:!0,mobileBadges:!0,progress:!0,meta:!1}}},onRemove:()=>n({libId:r.id,title:r.title}),onOpenDetails:u=>s(u,{provider:r.provider||"",mangaId:r.mangaId||"",title:r.title||"",altTitle:r.altTitle,cover:r.cover||"",contentRating:r.contentRating||void 0,readTarget:l}),onPopupHoverIntent:u=>u?m():N(),rawThumbnail:!0},r.id)})}),e(bt,{mangaId:t?t.libId:null,title:t?.title,onClose:()=>n(null)}),c&&c.data.provider&&e(ze,{data:c.data,anchorRect:c.rect,bookmarked:g.has(we(c.data.provider,c.data.mangaId)),onToggleBookmark:()=>v({id:c.data.mangaId,provider:c.data.provider,title:c.data.title,cover:c.data.cover,altTitle:c.data.altTitle??void 0,contentRating:c.data.contentRating}),onMouseEnter:m,onMouseLeave:N,onRequestClose:b}),e(wn,{})]})},Cn="_seasonGrid_bt5c7_76",In="_emptyState_bt5c7_108",H={"section-header":"_section-header_bt5c7_1","title-wrapper":"_title-wrapper_bt5c7_8","pagination-controls":"_pagination-controls_bt5c7_14",seasonGrid:Cn,emptyState:In},An=[{value:"latest",label:"Latest Releases"},{value:"trending",label:"Trending"}],Rn=[{value:"trending_week",label:"Trending Now"},{value:"trending_day",label:"Trending Today"},{value:"popular",label:"Popular All Time"},{value:"top_rated",label:"Top Rated"}],Ln=()=>{const a=te(),{data:o,isLoading:i}=Ct(24),t=It(),n=At(),[c,s]=D(null),[N,m]=D(!1),[b,v]=D(()=>localStorage.getItem("tv_home_activeTab")||"latest"),[g,f]=D("tv"),[r,w]=D("trending_week"),[d,l]=D("multi"),u=o?.data??[];U.useEffect(()=>{localStorage.setItem("tv_home_activeTab",b)},[b]);const I=r.startsWith("trending_"),R=r==="trending_day"?"day":"week",T={popular:"popularity.desc",top_rated:"vote_average.desc"},{data:E,isLoading:C}=Qe(d==="multi"?"all":d,R,1,I&&b==="trending"),{data:M,isLoading:W}=$e({type:d,sort_by:T[r]||"popularity.desc",page:1}),B=I?E?.results||[]:M?.results||[],L=I?C:W,{data:A,isLoading:X}=$e({type:g,sort_by:"primary_release_date.desc",page:1}),j=A?.results||[],h=()=>{c&&(n.mutate({mediaId:c.libId}),N&&t.mutate(c.libId),s(null),m(!1))},k=x(p=>e(wt,{item:{id:p.id,title:p.title,year:p.year,type:p.type,image:p.image,vote_average:p.vote_average,adult:p.adult}},`${p.type}-${p.id}`),[]),S=()=>{switch(b){case"latest":return e("section",{children:[e("div",{className:H["section-header"],children:[e("div",{className:H["title-wrapper"],children:e("div",{className:"title-stack",children:[e("div",{className:"section-eyebrow",children:"Fresh picks"}),e("div",{className:"section-title",style:{marginBottom:0},children:"Latest Releases"})]})}),e("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:e(ge,{ariaLabel:"Latest type",value:g,onChange:p=>f(p),options:[{value:"tv",label:"TV Shows"},{value:"movie",label:"Movies"}]})})]}),X?e("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))",gap:"var(--space-6)"},children:Array.from({length:7}).map((p,O)=>e("div",{className:"skeleton",style:{aspectRatio:"3 / 4",borderRadius:"var(--radius-lg)"}},O))}):j.length>0?e(ee,{carousel:!0,itemCount:j.length,children:j.map(k)}):e("div",{className:H.emptyState,children:e("p",{children:"No latest releases available right now."})})]});case"trending":return e("section",{children:[e("div",{className:H["section-header"],children:[e("div",{className:H["title-wrapper"],children:e("div",{className:"title-stack",children:[e("div",{className:"section-eyebrow",children:"Discover"}),e("div",{className:"section-title",style:{marginBottom:0},children:"Trending"})]})}),e("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[e(ge,{ariaLabel:"Trending sort",value:r,onChange:w,options:Rn.map(p=>({value:p.value,label:p.label}))}),e(ge,{ariaLabel:"Trending type",value:d,onChange:p=>l(p),options:[{value:"multi",label:"All"},{value:"tv",label:"TV Shows"},{value:"movie",label:"Movies"}]})]})]}),L?e("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))",gap:"var(--space-6)"},children:Array.from({length:7}).map((p,O)=>e("div",{className:"skeleton",style:{aspectRatio:"3 / 4",borderRadius:"var(--radius-lg)"}},O))}):B.length>0?e(ee,{carousel:!0,itemCount:B.length,children:B.map(k)}):e("div",{className:H.emptyState,children:e("p",{children:"No trending content available right now."})})]})}};return e("div",{style:{paddingBottom:"2rem"},children:[e(ee,{title:"Continue Watching",eyebrow:"Pick up where you left off",titleLink:"/tv-watchlist/Continue Watching",loading:i,carousel:!0,collapsible:!0,defaultExpanded:u.length>0,highlight:!0,itemCount:u.length,loadingSkeleton:e("div",{className:"skeleton",style:{aspectRatio:"3 / 4"}}),skeletonCount:7,emptyState:e(ye,{icon:"tv",text:"You haven't watched anything yet. Search TV & Movies and start watching to track progress.",actionLabel:"Browse TV & Movies",onAction:()=>a("/tv-search")}),children:u.map(p=>{const O=p.currentTime??0,q=p.duration??0,Z=p.season??p.lastSeason??1,ce=p.episode??p.lastEpisode??1,Q=p.mediaType==="movie",J=Q?"Movie":`S${Z} E${ce}`,ae=p.completed===!0||p.completed===1||q>0&&O>=q*.8,ne=ae?100:q>0&&O>0?O/q*100:0,Ne=ae?"Watched":q>0?Q?`${re(O)} / ${re(q)}`:`${J} · ${re(O)} / ${re(q)}`:J;return e(_e,{item:{id:p.id,title:p.title,thumbnail:p.poster||"",typeBadge:Q?"Movie":"TV",chapterBadge:J,isAdult:Lt({adult:p.adult===1})},linkTo:Rt(p.mediaType,p.tmdbId,Q?void 0:Z,Q?void 0:ce),hoverIcon:"play",progress:(q>0||ae)&&ne>0?{percent:ne,label:Ne}:void 0,showProgress:!0,metaRow:p.year?e("span",{style:{opacity:.75},children:p.year}):void 0,onRemove:()=>s({libId:p.id,title:p.title}),renderPopup:(de,se)=>e(kt,{item:{id:p.tmdbId??0,title:p.title||"",year:p.year||"",type:p.mediaType||"tv",image:p.poster||""},anchorRect:de,onMouseEnter:se.onMouseEnter,onMouseLeave:se.onMouseLeave,onRequestClose:se.close})},p.id)})}),e(ve,{ariaLabel:"Browse TV",options:An,value:b,onChange:v}),e("div",{className:H.tabContent,children:S()}),e(Fe,{isOpen:!!c,itemName:c?.title,progressKind:"watch",listLabel:"my TV watchlist",alsoRemove:N,onAlsoRemoveChange:m,onClose:()=>{s(null),m(!1)},onConfirm:h})]})};function $n(a){const o=a.currentTime??0,i=a.duration??0,t=(a.trackIndex??0)+1;return i>0?`Track ${t} · ${re(o)} / ${re(i)}`:a.trackLabel?`Track ${t} · ${a.trackLabel}`:`Track ${t}`}const Mn=({title:a="Continue Listening",limit:o=24,titleLink:i,showEmptyState:t=!0})=>{const n=te(),{data:c,isLoading:s}=Bt(o),[N,m]=D(null),b=c?.data??[];return e(ie,{children:[e(ee,{title:a,eyebrow:"Pick up where you left off",titleLink:i??"/listening-list/Continue Listening",loading:s,carousel:!0,collapsible:!0,defaultExpanded:b.length>0,highlight:!0,itemCount:b.length,loadingSkeleton:e("div",{className:"skeleton",style:{aspectRatio:"16 / 9"}}),skeletonCount:7,emptyState:t?e(ye,{icon:"headphones",text:"You haven't listened to anything yet. Browse ASMR and play a track to start tracking.",actionLabel:"Browse ASMR",onAction:()=>n("/asmr")}):void 0,children:b.map(v=>{const g=v.currentTime??0,f=v.duration??0,r=v.rjCode||v.id;return e(_e,{item:{id:v.id,title:v.title,thumbnail:v.thumbnail||"",chapterBadge:`Track ${(v.trackIndex??0)+1}`,isAdult:!!v.isAdult},linkTo:`/asmr/${encodeURIComponent(r)}`,hoverIcon:"play",layout:"horizontal",progress:f>0?{percent:Math.min(100,g/f*100),label:$n(v)??""}:void 0,showProgress:!0,display:{elements:{poster:{typeBadge:!1,chapterBadge:!0,adultBadge:!0,removeButton:!0},info:{title:!0,mobileBadges:!0,progress:!0,meta:!1}}},onRemove:()=>m({workId:v.id,title:v.title}),rawThumbnail:!0},v.id)})}),e(Mt,{workId:N?N.workId:null,title:N?.title,onClose:()=>m(null)})]})},Bn=()=>e("div",{style:{paddingBottom:"2rem"},children:e(Mn,{})}),Pn={10759:"Action & Adventure",16:"Animation",35:"Comedy",80:"Crime",18:"Drama",10765:"Sci-Fi & Fantasy",9648:"Mystery",28:"Action",12:"Adventure",14:"Fantasy",27:"Horror",878:"Sci-Fi",53:"Thriller",10749:"Romance"},xn=({items:a})=>{const o=te(),i=Y(()=>a.slice(0,6).map(t=>{const n=$t(t.type,t.id);return{key:String(t.id),bannerSrc:t.backdrop?t.backdrop:t.image,posterSrc:t.image,posterAlt:t.title,title:t.title,detailTo:n,score:t.vote_average>0?Number(t.vote_average).toFixed(1):null,metaItems:[t.type==="tv"?"TV Show":"Movie",t.year].filter(Boolean),tags:t.genre_ids.slice(0,3).map(c=>Pn[c]).filter(Boolean),synopsis:t.overview.length>200?t.overview.slice(0,200)+"...":t.overview,primaryLabel:"Watch Now",primaryIcon:"play",onPrimary:()=>o(n),onDetails:()=>o(n)}}),[a,o]);return e(be,{slides:i})},Dn=({mangaList:a})=>{const o=te(),i=Y(()=>a.slice(0,6).map(t=>({key:t.id,bannerSrc:t.cover||"",posterSrc:t.cover,posterAlt:t.title,title:t.title,detailTo:`/manga/mangadex/${t.id}`,metaItems:[t.year?String(t.year):void 0,t.status??void 0].filter(n=>!!n),tags:t.tags.slice(0,3),synopsis:t.description?.slice(0,200)||"",primaryLabel:"Read Now",primaryIcon:"book",onPrimary:()=>o(`/manga/mangadex/${t.id}`),onDetails:()=>o(`/manga/mangadex/${t.id}`)})),[a,o]);return e(be,{slides:i})},En="_posterLandscape_1smau_1",Wn={posterLandscape:En};function On(a){const o=a.availableEpisodes?.sub;if(typeof o=="number"&&o>0)return o;const i=a.availableEpisodesDetail?.sub,t=a.availableEpisodesDetail?.dub,n=(Array.isArray(i)?i.length:0)+(Array.isArray(t)?t.length:0);return n>0?n:null}const Fn=({works:a})=>{const o=te(),i=Y(()=>a.slice(0,6).map((t,n)=>{const c=Pt(t),s=`/asmr/${encodeURIComponent(c)}`,N=On(t);return{key:c||t._id||String(n),bannerSrc:t.thumbnail||"",posterSrc:t.thumbnail,posterAlt:t.name,title:t.name,detailTo:s,metaItems:[t.rating?t.rating.toUpperCase():void 0,N?`${N} track${N===1?"":"s"}`:void 0].filter(m=>!!m),tags:[],synopsis:t.description?.slice(0,160)||"",primaryLabel:"Listen Now",primaryIcon:"play",onPrimary:()=>o(s),onDetails:()=>o(s)}}),[a,o]);return e(be,{slides:i,posterClassName:Wn.posterLandscape})},Vn=[{value:"anime",label:"Anime"},{value:"manga",label:"Manga"},{value:"tv",label:"TV & Movies"},{value:"asmr",label:"ASMR"}],ur=()=>{const a=Je(),o=lt(),[i,t]=U.useState(1),[n,c]=D(()=>localStorage.getItem("home_activeTab")||"latest"),[s,N]=D(()=>localStorage.getItem("season_format")||"TV"),m=G(null),{data:b}=Le(i+1,s,n==="season"),{titlePreference:v}=We(),{contentType:g,setContentType:f}=it(),[r,w]=U.useState(null),[d,l]=U.useState(!1),u=ct(),{data:I=[]}=dt(),R=ut(),T=ht(),E=mt();F(()=>{document.title="Home - dango"},[]);const{data:C,isLoading:M}=pt();F(()=>{localStorage.setItem("home_activeTab",n)},[n]),F(()=>{localStorage.setItem("season_format",s),t(1)},[s]),F(()=>{C!==void 0&&C.length===0&&n==="week"&&c("latest")},[C,n]);const{data:W,isLoading:B,fetchNextPage:L,hasNextPage:A,isFetchingNextPage:X}=gt(),j=x(()=>{A&&!X&&!B&&L()},[A,X,B,L]),{data:h,isLoading:k}=vt(),{data:S,isLoading:p}=Qe("all","week",1,g==="tv"),{data:O,isLoading:q}=xt(g==="asmr"),{data:Z,isLoading:ce}=Tt(),Q=Y(()=>W?.pages||[],[W]),{data:J,isLoading:ae}=Le(i,s,n==="season"),ne=14,Ne=J&&J.length>=ne&&b&&b.length>0,de=et(o.continueWatching.remove.mutationOptions({onSuccess:async()=>{a.invalidateQueries(o.continueWatching.pathFilter()),await a.invalidateQueries({queryKey:["allContinueWatching"]}),A&&Q.length-1<14&&L()}})),se=x(z=>{const K=Q?.find(Te=>String(Te.id)===String(z));if(K){const Te=K[v]||K.name;w({id:z,name:Te})}},[Q,v]),Ye=x(()=>{r&&(de.mutate({showId:r.id}),d&&u.mutate({id:r.id}),w(null),l(!1))},[r,de,u,d]),Ie=[{key:"latest",label:"Latest Releases"},{key:"season",label:"Current Season"},{key:"popular",label:"Trending"}],Ae=C!==void 0&&C.length>0,Xe=Ae?[{key:"week",label:"This Week"},...Ie]:Ie,Re=n==="week"&&!Ae?"latest":n,Ke=()=>{switch(Re){case"latest":return e(oa,{eyebrow:"Fresh episodes"});case"season":return e("section",{style:{marginBottom:"2.5rem"},children:[e("div",{className:H["section-header"],ref:m,children:[e("div",{className:H["title-wrapper"],children:e("div",{className:"title-stack",children:[e("div",{className:"section-eyebrow",children:"This season"}),e("div",{className:"section-title",style:{marginBottom:0},children:"Current Season"})]})}),e("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[e(ge,{ariaLabel:"Season format",width:90,value:s,onChange:N,options:[{value:"TV",label:"TV"},{value:"ONA",label:"ONA"},{value:"OVA",label:"OVA"},{value:"MOVIE",label:"Movie"},{value:"ALL",label:"All"},{value:"ADULT",label:"Mature"}]}),e("div",{className:H["pagination-controls"],children:e(tt,{page:i,canGoNext:Ne,onChange:z=>{if(t(z),m.current){const K=m.current.getBoundingClientRect().top+window.scrollY-120;window.scrollTo({top:K,behavior:"smooth"})}},isLoading:ae})})]})]}),e("div",{className:`grid-container ${H.seasonGrid}`,style:{minHeight:"300px",alignContent:"start"},children:ae?e(De,{count:ne}):J?.slice(0,ne).map(z=>e(oe,{anime:z},z._id))})]});case"popular":return e(aa,{title:"Trending",eyebrow:"Discover"});case"week":return e(Me,{title:"This Week",eyebrow:"Aired this week",animeList:C||[],continueWatching:!1,carousel:!0,loading:M});default:return null}};return e("div",{style:{paddingBottom:"2rem"},children:[g==="anime"&&(k&&!h?.length?e(he,{}):h&&h.length>0&&e(dn,{animeList:h})),g==="tv"&&(p&&!S?.results?.length?e(he,{}):S?.results&&S.results.length>0&&e(xn,{items:S.results})),g==="manga"&&(ce&&!Z?.length?e(he,{}):Z&&Z.length>0&&e(Dn,{mangaList:Z})),g==="asmr"&&(q&&!O?.length?e(he,{}):O&&O.length>0&&e(Fn,{works:O})),e(ve,{ariaLabel:"Content type",options:Vn,value:g,onChange:f}),g==="manga"?e(kn,{}):g==="tv"?e(Ln,{}):g==="asmr"?e(Bn,{}):e(ie,{children:[e(Me,{title:"Continue Watching",eyebrow:"Pick up where you left off",titleLink:"/watchlist/Continue Watching",animeList:Q,continueWatching:!0,carousel:!0,collapsible:!0,defaultExpanded:Q.length>0,onRemove:se,loading:B,onReachThreshold:j,scrollThreshold:.7,isFetchingNextPage:X,emptyState:e(ye,{icon:"history",text:"You haven't watched anything yet. Start exploring and watch something first!",actionLabel:"Explore Trending",onAction:()=>c("popular")})}),e(ft,{title:"Queue",eyebrow:"Up next",items:I,onRemove:z=>R.mutate({showId:z.showId,episodeNumber:z.episodeNumber}),showClearAll:!0,onClear:()=>T.mutate(),onReorder:z=>E.mutate(z.map(K=>({id:K.id,showId:K.showId,episodeNumber:K.episodeNumber})))}),e(ve,{ariaLabel:"Browse anime",options:Xe.map(z=>({value:z.key,label:z.label})),value:Re,onChange:c}),e("div",{className:H.tabContent,children:Ke()}),e(Ia,{eyebrow:"Never miss an episode"}),e(Fe,{isOpen:!!r,itemName:r?.name,progressKind:"watch",listLabel:"my watchlist",alsoRemove:d,onAlsoRemoveChange:l,onClose:()=>{w(null),l(!1)},onConfirm:Ye})]})]})};export{ur as default};
@@ -0,0 +1 @@
1
+ import{h as R,T as i,d as W,u as e,L as P}from"./vendor-core-DfaOB3Rn.js";import{b as C,u as O,a as A}from"./vendor-query-BBT5_sHx.js";import{t as p,a1 as F,d as V,z as S,f as k}from"./index-CVB5dYhT.js";import{I as l}from"./vendor-icons-DrybRNxP.js";const Y="_header_1j07c_1",q="_fadeIn_1j07c_1",H="_personaBadge_1j07c_9",z="_personaInfo_1j07c_37",E="_personaLabel_1j07c_42",U="_personaValue_1j07c_51",K="_statsGrid_1j07c_57",Q="_slideUpIn_1j07c_1",J="_statCard_1j07c_65",X="_statIcon_1j07c_82",Z="_statInfo_1j07c_98",ee="_statValue_1j07c_103",ae="_statLabel_1j07c_112",te="_wideSection_1j07c_120",se="_sectionHeader_1j07c_132",ne="_yearSelect_1j07c_147",re="_heatmapLayout_1j07c_176",ce="_dayLabels_1j07c_183",le="_heatmapWrapper_1j07c_195",oe="_heatmapMonthLabels_1j07c_201",ie="_heatmapGrid_1j07c_212",de="_heatBox_1j07c_220",he="_hiddenBox_1j07c_229",me="_level0_1j07c_240",pe="_level1_1j07c_243",_e="_level2_1j07c_247",ue="_level3_1j07c_251",ge="_level4_1j07c_255",Ne="_heatmapFooter_1j07c_260",ve="_heatLegend_1j07c_267",ye="_chartsContainer_1j07c_277",be="_chartWrapper_1j07c_285",je="_hourlyChart_1j07c_312",fe="_hourlyBarContainer_1j07c_320",Ce="_hourlyBar_1j07c_320",Se="_hourlyLabel_1j07c_346",ke="_chartSubtext_1j07c_353",Le="_popScale_1j07c_365",Be="_popTrack_1j07c_369",we="_popThumb_1j07c_377",Ie="_popLabels_1j07c_389",De="_popDescription_1j07c_399",xe="_seasonalChart_1j07c_414",Te="_seasonalBarContainer_1j07c_422",Me="_seasonalBar_1j07c_422",$e="_seasonalLabel_1j07c_444",Ge="_genreList_1j07c_452",Re="_genreRow_1j07c_459",We="_genreInfo_1j07c_465",Pe="_genreName_1j07c_472",Oe="_genreCount_1j07c_479",Ae="_genreBarBg_1j07c_486",Fe="_genreBar_1j07c_486",Ve="_warningSection_1j07c_499",Ye="_warningHeader_1j07c_510",qe="_droppedGrid_1j07c_526",He="_droppedCard_1j07c_532",ze="_droppedName_1j07c_549",Ee="_droppedDate_1j07c_556",Ue="_genreGrid_1j07c_597",Ke="_genreCard_1j07c_609",Qe="_rankBadge_1j07c_618",Je="_rankNumber_1j07c_631",Xe="_genreTitle_1j07c_637",Ze="_genreStats_1j07c_645",ea="_posterRow_1j07c_653",aa="_miniPoster_1j07c_660",ta="_genreCardSkeleton_1j07c_674",sa="_pulse_1j07c_1",na="_skeletonRank_1j07c_682",ra="_skeletonTitle_1j07c_696",ca="_skeletonStats_1j07c_709",la="_skeletonPosters_1j07c_721",oa="_recSection_1j07c_752",ia="_recSubtext_1j07c_763",da="_recGrid_1j07c_769",ha="_recCard_1j07c_775",ma="_recCover_1j07c_790",pa="_recInfo_1j07c_798",_a="_recTitle_1j07c_805",ua="_recMatch_1j07c_816",ga="_recMeta_1j07c_822",Na="_recWhy_1j07c_827",va="_recNote_1j07c_832",ya="_recAddBtn_1j07c_838",a={header:Y,fadeIn:q,personaBadge:H,personaInfo:z,personaLabel:E,personaValue:U,statsGrid:K,slideUpIn:Q,statCard:J,statIcon:X,statInfo:Z,statValue:ee,statLabel:ae,wideSection:te,sectionHeader:se,yearSelect:ne,heatmapLayout:re,dayLabels:ce,heatmapWrapper:le,heatmapMonthLabels:oe,heatmapGrid:ie,heatBox:de,hiddenBox:he,level0:me,level1:pe,level2:_e,level3:ue,level4:ge,heatmapFooter:Ne,heatLegend:ve,chartsContainer:ye,chartWrapper:be,hourlyChart:je,hourlyBarContainer:fe,hourlyBar:Ce,hourlyLabel:Se,chartSubtext:ke,popScale:Le,popTrack:Be,popThumb:we,popLabels:Ie,popDescription:De,seasonalChart:xe,seasonalBarContainer:Te,seasonalBar:Me,seasonalLabel:$e,genreList:Ge,genreRow:Re,genreInfo:We,genreName:Pe,genreCount:Oe,genreBarBg:Ae,genreBar:Fe,warningSection:Ve,warningHeader:Ye,droppedGrid:qe,droppedCard:He,droppedName:ze,droppedDate:Ee,genreGrid:Ue,genreCard:Ke,rankBadge:Qe,rankNumber:Je,genreTitle:Xe,genreStats:Ze,posterRow:ea,miniPoster:aa,genreCardSkeleton:ta,pulse:sa,skeletonRank:na,skeletonTitle:ra,skeletonStats:ca,skeletonPosters:la,recSection:oa,recSubtext:ia,recGrid:da,recCard:ha,recCover:ma,recInfo:pa,recTitle:_a,recMatch:ua,recMeta:ga,recWhy:Na,recNote:va,recAddBtn:ya},Sa=()=>{R(()=>{document.title="Insights - dango"},[]);const{data:n,isLoading:L,isError:B}=C({queryKey:["insights"],queryFn:async()=>await p.insights.summary.query()}),{data:w,isLoading:_}=F(),{titlePreference:I}=V(),u=O(),{data:g}=C({queryKey:["insights-recommendations"],queryFn:async()=>await p.insights.recommendations.query(),staleTime:300*1e3,retry:1}),N=A({mutationFn:async t=>{await p.watchlist.add.mutate({id:String(t.id),name:t.title,thumbnail:t.cover||"",status:"Plan to Watch",type:t.format})},onSuccess:()=>{u.invalidateQueries({queryKey:["watchlist"]}),u.invalidateQueries({queryKey:["insights-recommendations"]}),S.success("Added to Plan to Watch")},onError:()=>S.error("Could not add to watchlist")}),v=i(()=>[...g?.candidates||[]].sort((t,s)=>s.matchPct-t.matchPct).slice(0,6),[g]),y=t=>{const s=t.name||t.englishName||t.nativeName||"";switch(I){case"nativeName":return t.nativeName||s;case"englishName":return t.englishName||s;default:return s}},[d,D]=W(new Date().getFullYear()),x=i(()=>{if(!n?.activityGrid)return[new Date().getFullYear()];const t=new Set(n.activityGrid.map(s=>parseInt(s.day.split("-")[0])));return t.add(new Date().getFullYear()),Array.from(t).sort((s,r)=>r-s)},[n]),b=i(()=>{if(!n?.activityGrid)return[];const t=new Map(n.activityGrid.map(m=>[m.day,m.count])),s=[],r=new Date(d,0,1),o=new Date(d,11,31),h=r.getDay(),c=new Date(r);for(c.setDate(c.getDate()-h);(c<=o||c.getDay()!==0)&&!(c>o&&c.getDay()===0);){const m=c.getFullYear(),$=String(c.getMonth()+1).padStart(2,"0"),G=String(c.getDate()).padStart(2,"0"),j=`${m}-${$}-${G}`,f=c<r||c>o;s.push({date:j,count:f?0:t.get(j)||0,month:c.getMonth(),isOutOfRange:f}),c.setDate(c.getDate()+1)}return s},[n,d]),T=i(()=>n?.seasonality?.length?Math.max(...n.seasonality.map(t=>t.seconds),1):0,[n]),M=i(()=>n?.hourlyDist?.length?Math.max(...n.hourlyDist.map(t=>t.count),1):0,[n]);return L||_?e("div",{className:a.loading,children:"Analyzing your anime lifestyle..."}):B?e("div",{className:a.error,children:"Could not load insights. Data might be syncing."}):n?e("div",{className:"page-container",children:[e("div",{className:a.header,children:[e("h2",{className:"section-title",children:"Watch Insights"}),e("div",{className:a.personaBadge,children:[e(l,{name:"user-astronaut"}),e("div",{className:a.personaInfo,children:[e("span",{className:a.personaLabel,children:"Your Persona"}),e("span",{className:a.personaValue,children:n.persona})]})]})]}),e("div",{className:a.statsGrid,children:[e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(138, 79, 255, 0.2)",color:"var(--accent)"},children:e(l,{name:"clock"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:[n.totalHours,"h"]}),e("span",{className:a.statLabel,children:"Watch Time"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(167, 139, 250, 0.2)",color:"#a78bfa"},children:e(l,{name:"bookmark"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:n.totalAnime}),e("span",{className:a.statLabel,children:"Total Anime"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(34, 197, 94, 0.2)",color:"#22c55e"},children:e(l,{name:"check-circle"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:n.totalEpisodes}),e("span",{className:a.statLabel,children:"Episodes Watched"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(34, 197, 94, 0.2)",color:"#22c55e"},children:e(l,{name:"check-circle"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:[n.completionRate,"%"]}),e("span",{className:a.statLabel,children:"Completion Rate"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(45, 212, 191, 0.2)",color:"#2dd4bf"},children:e(l,{name:"tv"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:n.completedAnime}),e("span",{className:a.statLabel,children:"Completed Shows"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(239, 68, 68, 0.2)",color:"#ef4444"},children:e(l,{name:"fire"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:n.bingeFactor}),e("span",{className:a.statLabel,children:"Max Daily Binge"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(59, 130, 246, 0.2)",color:"#3b82f6"},children:e(l,{name:"history"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:[n.avgSessionMinutes,"m"]}),e("span",{className:a.statLabel,children:"Avg. Session"})]})]}),e("div",{className:a.statCard,children:[e("div",{className:a.statIcon,style:{background:"rgba(251, 191, 36, 0.2)",color:"#fbbf24"},children:e(l,{name:"layer-group"})}),e("div",{className:a.statInfo,children:[e("span",{className:a.statValue,children:[n.avgCompletionDays,"d"]}),e("span",{className:a.statLabel,children:"Avg. Speed"})]})]})]}),e("div",{className:a.wideSection,children:[e("div",{className:a.sectionHeader,children:[e("h3",{children:"Activity"}),e("select",{className:a.yearSelect,value:d,onChange:t=>D(Number(t.currentTarget.value)),children:x.map(t=>e("option",{value:t,children:t},t))})]}),e("div",{className:a.heatmapLayout,children:[e("div",{className:a.dayLabels,children:[e("span",{style:{gridRow:2},children:"Mon"}),e("span",{style:{gridRow:4},children:"Wed"}),e("span",{style:{gridRow:6},children:"Fri"})]}),e("div",{className:a.heatmapWrapper,children:[e("div",{className:a.heatmapMonthLabels,children:(()=>{const t=[];let s=-1;return b.forEach((r,o)=>{if(r.month!==s&&!r.isOutOfRange){const h=Math.floor(o/7)+1;h>(t.length>0?t[t.length-1].props.style.gridColumn+2:-1)&&(t.push(e("span",{style:{gridColumn:h,whiteSpace:"nowrap"},children:new Date(0,r.month).toLocaleString("default",{month:"short"})},o)),s=r.month)}}),t})()}),e("div",{className:a.heatmapGrid,children:b.map((t,s)=>{let r=0;return t.count>0&&!t.isOutOfRange&&(r=1),t.count>2&&!t.isOutOfRange&&(r=2),t.count>5&&!t.isOutOfRange&&(r=3),t.count>10&&!t.isOutOfRange&&(r=4),e("div",{className:`${a.heatBox} ${a[`level${r}`]} ${t.isOutOfRange?a.hiddenBox:""}`,title:t.isOutOfRange?"":`${t.count} episodes on ${t.date}`},s)})}),e("div",{className:a.heatmapFooter,children:e("div",{className:a.heatLegend,children:[e("span",{children:"Less"}),e("div",{className:`${a.heatBox} ${a.level0}`}),e("div",{className:`${a.heatBox} ${a.level1}`}),e("div",{className:`${a.heatBox} ${a.level2}`}),e("div",{className:`${a.heatBox} ${a.level3}`}),e("div",{className:`${a.heatBox} ${a.level4}`}),e("span",{children:"More"})]})})]})]})]}),e("div",{className:a.chartsContainer,children:[e("div",{className:a.chartWrapper,children:[e("h3",{children:"Time Distribution (24h)"}),e("div",{className:a.hourlyChart,children:n.hourlyDist?.map((t,s)=>e("div",{className:a.hourlyBarContainer,children:[e("div",{className:a.hourlyBar,style:{height:`${t.count/M*100||2}%`,width:"100%",maxWidth:"12px"},title:`${t.count} watches at ${t.hour}:00`}),e("span",{className:a.hourlyLabel,style:{visibility:s%4===0?"visible":"hidden"},children:t.hour})]},s))}),e("div",{className:a.chartSubtext,children:(()=>{if(!n.hourlyDist?.length)return"Watch more to see your peak hours!";const t=parseInt([...n.hourlyDist].sort((s,r)=>r.count-s.count)[0].hour);return t>=6&&t<19?"You prefer daytime watching ☀️":"You're a confirmed Night Owl 🦉"})()})]}),e("div",{className:a.chartWrapper,children:[e("h3",{children:"Popularity Bias"}),e("div",{className:a.popScale,children:[e("div",{className:a.popTrack,children:e("div",{className:a.popThumb,style:{left:`${Math.max(0,Math.min(100,100-n.popularityScore*10))}%`}})}),e("div",{className:a.popLabels,children:[e("span",{children:"Mainstream"}),e("span",{children:"Underground"})]})]}),e("p",{className:a.popDescription,children:["Your taste score is ",e("strong",{children:[n.popularityScore,"/10"]}),".",n.popularityScore>=5?" You follow the big hits!":" You're a connoisseur of the obscure!"]})]}),e("div",{className:a.chartWrapper,children:[e("h3",{children:"Monthly Activity"}),e("div",{className:a.seasonalChart,children:n.seasonality?.map((t,s)=>e("div",{className:a.seasonalBarContainer,children:[e("div",{className:a.seasonalBar,style:{height:`${t.seconds/T*100||5}%`,width:"100%",maxWidth:"24px"},title:`${Math.round(t.seconds/3600)}h in ${new Date(0,s).toLocaleString("default",{month:"long"})}`}),e("span",{className:a.seasonalLabel,children:new Date(0,s).toLocaleString("default",{month:"short"})})]},s))})]})]}),e("div",{className:a.genreGrid,children:_?Array.from({length:4}).map((t,s)=>e("div",{className:a.genreCardSkeleton,children:[e("div",{className:a.skeletonRank}),e("div",{className:a.skeletonTitle}),e("div",{className:a.skeletonStats}),e("div",{className:a.skeletonPosters})]},s)):w?.map(t=>e("div",{className:a.genreCard,children:[e("div",{className:a.rankBadge,children:e("span",{className:a.rankNumber,children:t.rank})}),e("h3",{className:a.genreTitle,children:t.name}),e("div",{className:a.genreStats,children:[e("span",{children:[t.count," episodes"]}),e("span",{children:t.meanScore>0?`${t.meanScore.toFixed(1)} avg score`:"—"}),e("span",{children:t.timeWatched})]}),e("div",{className:a.posterRow,children:t.topShows.map(s=>e("img",{src:k(s.thumbnail),alt:y(s),className:a.miniPoster,title:y(s),loading:"lazy",decoding:"async"},s.id))})]},t.name))}),v.length>0&&e("div",{className:a.recSection,children:[e("h3",{children:"Recommended For You"}),e("p",{className:a.recSubtext,children:"From your library taste — updates automatically as you watch"}),e("div",{className:a.recGrid,children:v.map(t=>e("div",{className:a.recCard,children:[t.cover&&e("img",{src:k(t.cover),alt:t.title,className:a.recCover,loading:"lazy",decoding:"async"}),e("div",{className:a.recInfo,children:[e(P,{to:`/anime/${t.id}`,className:a.recTitle,children:t.title}),e("span",{className:a.recMatch,children:[t.matchPct,"% match"]}),e("span",{className:a.recMeta,children:[t.year,t.format,t.episodes?`${t.episodes}ep`:null].filter(Boolean).join(" · ")}),e("span",{className:a.recWhy,children:["Shares ",t.sharedGenres.join(", "),t.exemplars.length>0&&` — like ${t.exemplars.join(", ")}`]}),t.kind==="continue"&&e("span",{className:a.recNote,children:"Continue — you watched the earlier part."}),t.kind==="sequel"&&t.prequelTitle&&e("span",{className:a.recNote,children:['Sequel — start with "',t.prequelTitle,'" first.']}),e("button",{className:a.recAddBtn,onClick:()=>N.mutate(t),disabled:N.isPending,children:"+ Plan to Watch"})]})]},t.id))})]}),n.droppedShows?.length>0&&e("div",{className:a.warningSection,children:[e("div",{className:a.warningHeader,children:[e(l,{name:"exclamation-triangle"}),e("h3",{children:"Dusty Watchlist (Inactive 90+ days)"})]}),e("div",{className:a.droppedGrid,children:n.droppedShows.map(t=>e("div",{className:a.droppedCard,children:[e("span",{className:a.droppedName,children:t.name}),e("span",{className:a.droppedDate,children:["Last watched: ",new Date(t.lastActivity).toLocaleDateString()]})]},t.id))})]})]}):null};export{Sa as default};