@serifpersia/dango 3.4.1 → 3.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/client/dist/assets/{AnimeCard-B0oMgXBm.js → AnimeCard-Chlfp7Cm.js} +1 -1
- package/client/dist/assets/AnimeInfo-C1XZcEzj.js +1 -0
- package/client/dist/assets/AnimeInfoPage-BvNYYbe1.js +2 -0
- package/client/dist/assets/{AnimeMetaDetails-BPvv5xIl.js → AnimeMetaDetails-BogOi_bM.js} +1 -1
- package/client/dist/assets/Asmr-_jVaYDfT.js +2 -0
- package/client/dist/assets/{AsmrResetProgressModal-C9R7HlNa.js → AsmrResetProgressModal-ngn9hdA0.js} +1 -1
- package/client/dist/assets/AvSyncCalibrator-C2wu1ydI.css +1 -0
- package/client/dist/assets/AvSyncCalibrator-Rcv7aubm.js +10 -0
- package/client/dist/assets/{ErrorMessage-z4f4WGgP.js → ErrorMessage-DAxegITP.js} +1 -1
- package/client/dist/assets/Home-B6bte0tw.css +1 -0
- package/client/dist/assets/Home-CEbLBbmD.js +1 -0
- package/client/dist/assets/Insights-Bia4rfp0.js +1 -0
- package/client/dist/assets/{LibraryListPage-B_r51cRi.js → LibraryListPage-BVHcMPqZ.js} +1 -1
- package/client/dist/assets/{ListeningList-BWnwvJTt.js → ListeningList-DpRNQKk7.js} +1 -1
- package/client/dist/assets/{Manga-CI5cZg3h.js → Manga-wHddjSTh.js} +1 -1
- package/client/dist/assets/MangaInfoPage-CVz8z5wn.js +1 -0
- package/client/dist/assets/MangaReadPage-CC3cgtIZ.js +1 -0
- package/client/dist/assets/{MangaResetProgressModal-CPMEqZyi.js → MangaResetProgressModal-DD7a0log.js} +1 -1
- package/client/dist/assets/{Map-Dj51g5zL.js → Map-BtXwpBOC.js} +1 -1
- package/client/dist/assets/Mature-D8uFpIDj.js +1 -0
- package/client/dist/assets/{MediaCard-DzA336CA.js → MediaCard-6Yy_-Whn.js} +1 -1
- package/client/dist/assets/Music-BgM0bcAU.js +1 -0
- package/client/dist/assets/{OptionListMenu-CpwxAC3J.js → OptionListMenu-C9saW22f.js} +1 -1
- package/client/dist/assets/Player-EwAWFxqQ.js +56 -0
- package/client/dist/assets/{PlayerRedirect-D70t8VUW.js → PlayerRedirect-fv2tzEUu.js} +1 -1
- package/client/dist/assets/PlayerSettings-BYqhlu3F.js +1 -0
- package/client/dist/assets/{QueueOptionsButton-1M7MdKzM.js → QueueOptionsButton-BJhkcl2X.js} +1 -1
- package/client/dist/assets/{QueueRail-Bpla2xD8.js → QueueRail-BLfkt_s5.js} +1 -1
- package/client/dist/assets/Radio-D2Er2JEU.js +1 -0
- package/client/dist/assets/{ReadingList-wJMDUybm.js → ReadingList-DWOnwYO1.js} +1 -1
- package/client/dist/assets/{ResetProgressModal-CByRM1Fh.js → ResetProgressModal-HUj5zATK.js} +1 -1
- package/client/dist/assets/{Search-B94D0tRM.js → Search-CzD9J9ip.js} +1 -1
- package/client/dist/assets/Settings-BgUothvZ.js +21 -0
- package/client/dist/assets/{SkeletonGrid-BJyZkg_K.js → SkeletonGrid-C7Gj9ODL.js} +1 -1
- package/client/dist/assets/{SynopsisText-BcpwT5iw.js → SynopsisText-B3Sa5pRv.js} +1 -1
- package/client/dist/assets/{Trackers-vz-gqxtm.js → Trackers-BoC2z0Nd.js} +2 -2
- package/client/dist/assets/Tv-Bx7tGS57.css +1 -0
- package/client/dist/assets/Tv-Q8TIMWaP.js +4 -0
- package/client/dist/assets/TvInfo-C6JoNbev.js +1 -0
- package/client/dist/assets/{TvPopup-CqlVRF-Y.js → TvPopup-BArrygql.js} +1 -1
- package/client/dist/assets/{TvSearch-BcKXQue9.js → TvSearch-BsoJ7WZp.js} +1 -1
- package/client/dist/assets/{TvWatchlist-sjsiup2h.js → TvWatchlist-BFmAd2fE.js} +1 -1
- package/client/dist/assets/{VirtualKeyboard-6ZNTym4R.js → VirtualKeyboard-BmqZPZXR.js} +1 -1
- package/client/dist/assets/{Watchlist-DAMdvt7Z.js → Watchlist-DG5Y--YA.js} +1 -1
- package/client/dist/assets/{hls-Do_n10_Y.js → hls-QeZPjik8.js} +1 -1
- package/client/dist/assets/index-Cc1Up_NI.css +1 -0
- package/client/dist/assets/index-Rm4h42Uz.js +178 -0
- package/client/dist/assets/{useAnimeInfoData-DU9X90no.js → useAnimeInfoData-B9O3Rr_u.js} +1 -1
- package/client/dist/assets/useAsmr-Da7AVA9e.js +1 -0
- package/client/dist/assets/{useAsmrPopup-DK1Vx-HV.js → useAsmrPopup-B_S5s4q3.js} +1 -1
- package/client/dist/assets/{useIsMobile-Dm_b6Ob3.js → useIsMobile-Dvx1uJ82.js} +1 -1
- package/client/dist/assets/useMangaLibrary-COpztbMg.js +1 -0
- package/client/dist/assets/{useMangaPopup-BLwvRZn0.js → useMangaPopup-BJeHmEpe.js} +1 -1
- package/client/dist/assets/{useProviders-D3L1Chqc.js → useProviders-BWRYjB77.js} +1 -1
- package/client/dist/assets/useTv-DtiSJ756.js +1 -0
- package/client/dist/assets/useTvLibrary-DFfgk9YS.js +1 -0
- package/client/dist/assets/{vendor-core-8R2fFbyN.js → vendor-core-DfaOB3Rn.js} +1 -1
- package/client/dist/assets/{vendor-icons-CDMuNDeL.js → vendor-icons-DrybRNxP.js} +1 -1
- package/client/dist/assets/{vendor-query-BUTye89G.js → vendor-query-BBT5_sHx.js} +1 -1
- package/client/dist/assets/{vendor-ui-CUDCvRS_.js → vendor-ui-3qrARCPr.js} +1 -1
- package/client/dist/index.html +5 -5
- package/orchestrator.js +0 -1
- package/package.json +3 -3
- package/server/dist/app-hono.js +15 -37
- package/server/dist/db/drizzle.js +2 -18
- package/server/dist/db.js +3 -2
- package/server/dist/hono/tv.js +9 -5
- package/server/dist/hono/watchlist.js +10 -108
- package/server/dist/lib/migration.js +0 -5
- package/server/dist/providers/remote-loader.js +40 -1
- package/server/dist/providers/remote-types.js +9 -2
- package/server/dist/server.js +50 -182
- package/server/dist/sync.js +173 -704
- package/server/dist/trpc/routers/auth.js +2 -71
- package/server/dist/trpc/routers/continue-watching.js +0 -2
- package/server/dist/trpc/routers/data.js +0 -1
- package/server/dist/trpc/routers/discord.js +8 -0
- package/server/dist/trpc/routers/progress.js +95 -1
- package/server/dist/trpc/routers/queue.js +0 -2
- package/server/dist/trpc/routers/watchlist.js +0 -7
- package/server/dist/trpc/validation.js +64 -0
- package/server/package.json +2 -2
- package/client/dist/assets/AnimeInfo-o0Udf0og.js +0 -1
- package/client/dist/assets/AnimeInfoPage-CojMIEuf.js +0 -2
- package/client/dist/assets/Asmr-2V3yCCiK.js +0 -2
- package/client/dist/assets/AvSyncCalibrator-BPa6KaGC.css +0 -1
- package/client/dist/assets/AvSyncCalibrator-Bo3820j3.js +0 -10
- package/client/dist/assets/Home-C8uXTzIM.js +0 -1
- package/client/dist/assets/Home-DtRtTuI9.css +0 -1
- package/client/dist/assets/Insights-CRqBfZuK.js +0 -1
- package/client/dist/assets/MangaInfoPage-BtkOrO34.js +0 -1
- package/client/dist/assets/MangaReadPage-Uv72AYdY.js +0 -1
- package/client/dist/assets/Mature-DXHWvoY5.js +0 -1
- package/client/dist/assets/Music-C4dM0BQx.js +0 -1
- package/client/dist/assets/Player-CpMvWTkH.js +0 -56
- package/client/dist/assets/PlayerSettings-pMU85k7p.js +0 -1
- package/client/dist/assets/Radio-DlmTC-qG.js +0 -1
- package/client/dist/assets/Settings-CcU3oNY8.js +0 -21
- package/client/dist/assets/Tv-Rji_lvQo.js +0 -4
- package/client/dist/assets/Tv-ZEA45gXK.css +0 -1
- package/client/dist/assets/TvInfo-Ciujd6os.js +0 -1
- package/client/dist/assets/index-B5SLDCAi.js +0 -178
- package/client/dist/assets/index-CUm1meqr.css +0 -1
- package/client/dist/assets/useAsmr-D6cSjbvt.js +0 -1
- package/client/dist/assets/useMangaLibrary-DcxPn0RM.js +0 -1
- package/client/dist/assets/useMatureConsent-CT7-KfzG.js +0 -1
- package/client/dist/assets/useTv-B546u-Rx.js +0 -1
- package/client/dist/assets/useTvLibrary-C2rPeCVT.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
|
[](https://opensource.org/licenses/MIT)
|
|
8
8
|

|
|
9
|
-
[](https://github.com/serifpersia/dango)
|
|
10
10
|
|
|
11
11
|

|
|
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-
|
|
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-B9O3Rr_u.js";import{d as R,s as z,g as M}from"./index-Rm4h42Uz.js";import{Q as _}from"./QueueOptionsButton-BJhkcl2X.js";import{p as a,a as x,m as $,M as L}from"./MediaCard-6Yy_-Whn.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-B9O3Rr_u.js";import{d as B,e as w,f as d,s as M,M as x,B as u}from"./index-Rm4h42Uz.js";import{A}from"./AnimeMetaDetails-BogOi_bM.js";import{S as D}from"./SynopsisText-B3Sa5pRv.js";import{Q as G}from"./QueueOptionsButton-BJhkcl2X.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-C1XZcEzj.js","assets/vendor-core-DfaOB3Rn.js","assets/vendor-icons-DrybRNxP.js","assets/useAnimeInfoData-B9O3Rr_u.js","assets/vendor-query-BBT5_sHx.js","assets/index-Rm4h42Uz.js","assets/index-Cc1Up_NI.css","assets/QueueOptionsButton-BJhkcl2X.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-Rm4h42Uz.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-C1XZcEzj.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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as a}from"./vendor-core-
|
|
1
|
+
import{u as a}from"./vendor-core-DfaOB3Rn.js";const s={JP:"Japan",KR:"Korea",CN:"China",CH:"China"},l=n=>{if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"&&n.trim()!==""){const t=Number(n);if(Number.isFinite(t))return t}return null},m=n=>l(n?.year)!==null&&l(n?.month)!==null&&l(n?.date)!==null,u=n=>{const t=l(n?.year);if(t===null)return null;const e=l(n?.month),r=l(n?.date);return e!==null&&r!==null?new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",timeZone:"UTC"}).format(new Date(Date.UTC(t,e,r))):e!==null?new Intl.DateTimeFormat("en-US",{month:"short",year:"numeric",timeZone:"UTC"}).format(new Date(Date.UTC(t,e,1))):String(t)},c=(n,t,e)=>{const r=u(n),i=m(t)?u(t):null;return r&&i?`${r} - ${i}`:r&&e?.toLowerCase()==="releasing"?`${r} - TBA`:r||i},d=n=>{const t=[n.availableEpisodesDetail?.sub?.length,n.availableEpisodesDetail?.dub?.length,n.availableEpisodesDetail?.raw?.length].filter(o=>typeof o=="number"),e=[n.availableEpisodes?.sub,n.availableEpisodes?.dub,n.availableEpisodes?.raw].map(l).filter(o=>o!==null),r=Math.max(0,...t,...e),i=l(n.episodeCount);return r>0&&i!==null?`${r}/${i}`:r>0?String(r):i!==null?String(i):null},f=n=>{const t=l(n.score);if(t!==null)return String(t);const e=l(n.averageScore??n.stats?.averageScore);return e!==null?(e/10).toFixed(1):null},p=n=>n?s[n]||n:null,g=n=>n&&[n.quarter||n.season||n.title,n.year].filter(Boolean).join(" ")||null,C=n=>n?.length?n.map(t=>typeof t=="string"?t:t.name).filter(Boolean).join(", "):null,b=n=>n?[["Status",n.status],["Score",f(n)],["Type",n.type],["Country",p(n.country)],["Season",g(n.season)],["Rating",n.rating],["Studios",C(n.studios)],["Aired",c(n.airedStart,n.airedEnd,n.status)],["Episodes",d(n)]].filter(e=>typeof e[1]=="string"&&e[1].trim()!=="").map(([e,r])=>({label:e,value:r})):[],S="_detailsGridContainer_1kd9p_1",y="_detailItem_1kd9p_7",D={detailsGridContainer:S,detailItem:y};function v({showMeta:n,styles:t}){const e=t??D,r=b(n);return a("div",{className:e.detailsGridContainer,children:r.map(i=>a("div",{className:e.detailItem,children:[a("strong",{children:i.label}),a("span",{children:i.value})]},i.label))})}export{v as A};
|
|
@@ -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-Rm4h42Uz.js";import{M as Nt}from"./MediaCard-6Yy_-Whn.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-Da7AVA9e.js";import{a as t}from"./Asmr.module-ChUXDZKx.js";import{u as xt,A as Lt}from"./useAsmrPopup-B_S5s4q3.js";import{l as Rt}from"./hls-QeZPjik8.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};
|
package/client/dist/assets/{AsmrResetProgressModal-C9R7HlNa.js → AsmrResetProgressModal-ngn9hdA0.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as a,u as i}from"./vendor-core-
|
|
1
|
+
import{d as a,u as i}from"./vendor-core-DfaOB3Rn.js";import{R as l}from"./ResetProgressModal-HUj5zATK.js";import{s as f,n as R}from"./useAsmr-Da7AVA9e.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-Rm4h42Uz.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,"&").replace(/</g,"<").replace(/>/g,">").replace(/<(\/?)([a-zA-Z]+)>/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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as r}from"./vendor-core-
|
|
1
|
+
import{u as r}from"./vendor-core-DfaOB3Rn.js";import{I as s}from"./vendor-icons-DrybRNxP.js";const e="_errorBox_1n4sy_1",c="_icon_1n4sy_13",o={errorBox:e,icon:c},t=({message:n})=>r("div",{className:o.errorBox,children:[r(s,{name:"exclamation-triangle",className:o.icon}),r("span",{children:n})]});export{t as E};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._section-header_2p2l1_1{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-8);gap:var(--space-4)}._sectionWrapper_2p2l1_9{margin-bottom:2.5rem}._sectionTitleNoMargin_2p2l1_13{margin-bottom:0}._title-wrapper_2p2l1_17{display:flex;align-items:center;gap:var(--space-6);flex:1}._header-controls_2p2l1_24{display:flex;align-items:center;gap:var(--space-2)}._header-select_2p2l1_30{width:auto;min-width:120px;height:34px;padding:0 var(--space-3);padding-right:2rem;background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:700;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a1a1aa' 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 .5rem center;transition:all var(--transition-base)}._header-select_2p2l1_30:hover{border-color:var(--border-secondary);background-color:var(--bg-elevated)}._header-select_2p2l1_30:focus{outline:none;border-color:var(--accent)}._view-all-link_2p2l1_61{font-size:.85rem;font-weight:700;color:var(--text-secondary);text-decoration:none;white-space:nowrap;padding:8px 12px;border-radius:var(--radius-md);border:1px solid transparent;transition:all var(--transition-base)}._view-all-link_2p2l1_61:hover{color:var(--accent-light);background:var(--accent-subtle);border-color:var(--border-primary)}._collapse-button_2p2l1_79{width:40px;height:40px;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base)}._collapse-button_2p2l1_79:hover{background:var(--bg-elevated);color:var(--text-primary)}._title-link_2p2l1_98{color:inherit;text-decoration:none;display:inline-flex;align-items:center;transition:all var(--transition-base)}._title-link_2p2l1_98 .section-title{position:relative;font-size:1.5rem;font-weight:800;letter-spacing:-.01em}._title-link_2p2l1_98:hover,._continue-watching_2p2l1_117 ._title-link_2p2l1_98:hover .section-title{color:var(--accent)}@media(max-width:600px){._section-header_2p2l1_1{flex-direction:column;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}._title-wrapper_2p2l1_17{width:100%;justify-content:space-between}._title-link_2p2l1_98 .section-title{font-size:1.25rem}}._nav-arrows_2p2l1_139{display:flex;gap:8px;background:var(--bg-tertiary);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-primary)}._nav-button_2p2l1_148{background:transparent;border:none;color:var(--text-secondary);width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base)}._nav-button_2p2l1_148:hover{background:var(--bg-elevated);color:var(--accent)}._nav-button_2p2l1_148:active{transform:scale(.9)}@media(hover:none),(pointer:coarse){._nav-button_2p2l1_148{width:44px;height:44px}}._carousel-container_2p2l1_178{position:relative;width:100%}._carousel_2p2l1_178{overflow:hidden}._carousel-inner_2p2l1_187{display:flex;gap:20px}._carousel-card_2p2l1_192{flex:0 0 calc((100% - (6 * 20px)) / 7);min-width:150px}@media(max-width:1400px){._carousel-card_2p2l1_192{flex:0 0 calc((100% - (5 * 20px)) / 6)}}@media(max-width:1200px){._carousel-card_2p2l1_192{flex:0 0 calc((100% - 80px)/5)}}@media(max-width:900px){._carousel-card_2p2l1_192{flex:0 0 calc((100% - 60px)/4);max-width:160px}}@media(max-width:768px){._carousel-inner_2p2l1_187{gap:12px}._carousel-card_2p2l1_192{flex:0 0 calc((100% - (2 * 12px)) / 3);min-width:0;max-width:140px}}@media(max-width:480px){._carousel-card_2p2l1_192{flex:0 0 calc((100% - (1 * 12px)) / 2.2);max-width:140px}}._sectionWrapper_c8uv6_2{margin-bottom:2.5rem}._sectionTitleNoMargin_c8uv6_6{margin-bottom:0}._section-header_c8uv6_10{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-8);gap:var(--space-4)}._title-wrapper_c8uv6_18{display:flex;align-items:center;gap:var(--space-6);flex:1}@media(max-width:600px){._section-header_c8uv6_10{flex-direction:column;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}._title-wrapper_c8uv6_18{width:100%;justify-content:space-between}}._nav-arrows_c8uv6_40{display:flex;gap:8px;background:var(--bg-tertiary);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-primary)}._nav-button_c8uv6_49{background:transparent;border:none;color:var(--text-secondary);width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base)}._nav-button_c8uv6_49:hover{background:var(--bg-elevated);color:var(--accent)}._nav-button_c8uv6_49:active{transform:scale(.9)}@media(hover:none),(pointer:coarse){._nav-button_c8uv6_49{width:44px;height:44px}}._timeSelect_c8uv6_80{width:120px;height:34px;padding:0 var(--space-3);padding-right:2rem;background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:700;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a1a1aa' 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 .5rem center;transition:all var(--transition-base)}._timeSelect_c8uv6_80:hover{border-color:var(--border-secondary);background-color:var(--bg-elevated)}._timeSelect_c8uv6_80:focus{outline:none;border-color:var(--accent)}._carouselContainer_c8uv6_111{position:relative;width:100%}._carousel_c8uv6_111{overflow:hidden;padding:10px 0;margin:-10px 0}._carouselInner_c8uv6_122{display:flex;gap:15px}._carouselItem_c8uv6_127{flex:0 0 calc((100% - (6 * 15px)) / 7);min-width:120px;position:relative}@media(max-width:1200px){._carouselItem_c8uv6_127{flex:0 0 calc((100% - (5 * 15px)) / 6)}}@media(max-width:1024px){._carouselItem_c8uv6_127{flex:0 0 calc((100% - 60px)/5)}}@media(max-width:768px){._carouselItem_c8uv6_127{flex:0 0 calc((100% - (2 * 15px)) / 3)}}@media(max-width:480px){._carouselItem_c8uv6_127{flex:0 0 calc((100% - (2 * 10px)) / 3);min-width:100px}._carouselInner_c8uv6_122{gap:10px;align-items:flex-start}}._rankCard_c8uv6_164{width:100%}._rankPill_c8uv6_168{text-align:center;margin-top:4px;font-size:1.6rem;font-weight:900;line-height:1;letter-spacing:-.04em;color:var(--text-tertiary);font-variant-numeric:tabular-nums}._rankPill_c8uv6_168._rankGold_c8uv6_179{color:#d8b56b}._rankPill_c8uv6_168._rankSilver_c8uv6_183{color:#c3c9d1}._rankPill_c8uv6_168._rankBronze_c8uv6_187{color:#c08d5f}@media(max-width:768px){._rankPill_c8uv6_168{font-size:1.3rem}}._skeletonPoster_c8uv6_198,._skeletonText_c8uv6_199{position:relative;overflow:hidden;background-color:var(--bg-tertiary);border-radius:var(--radius-sm)}._skeletonPoster_c8uv6_198:after,._skeletonText_c8uv6_199:after{content:"";position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#ffffff0d 20%,#ffffff1f 60%,#fff0);animation:_skeleton-wave_c8uv6_1 1.8s infinite ease-in-out}._skeletonPoster_c8uv6_198{width:100%;aspect-ratio:3 / 4}._skeletonText_c8uv6_199{width:80%;height:12px;margin-top:var(--space-2)}._scheduleSection_10dfe_1{margin-bottom:2.5rem}._sectionTitleRow_10dfe_5{display:flex;align-items:center;gap:1rem}._sectionTitleNoMargin_10dfe_11{margin-bottom:0}._sectionHeader_10dfe_15{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap;row-gap:var(--space-3)}._headerActions_10dfe_25{display:flex;align-items:center;gap:var(--space-3)}._timeSelect_10dfe_31{width:120px;height:34px;padding:0 var(--space-3);padding-right:2rem;background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:700;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a1a1aa' 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 .5rem center;transition:all var(--transition-base)}._timeSelect_10dfe_31:hover{border-color:var(--border-secondary);background-color:var(--bg-elevated)}._timeSelect_10dfe_31:focus{outline:none;border-color:var(--accent)}._daySelectorContainer_10dfe_62{margin-bottom:var(--space-8);width:100%;position:relative}._daySelector_10dfe_62{display:flex;overflow-x:auto;padding:var(--space-2) var(--space-8);scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;scroll-behavior:smooth;overscroll-behavior-x:contain}._daySelectorInner_10dfe_79{display:flex;gap:var(--space-2);justify-content:flex-start;margin:0 auto}._daySelector_10dfe_62::-webkit-scrollbar{display:none}._dayBtn_10dfe_90{background:#ffffff08;border:1px solid var(--border-primary);color:var(--text-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);min-width:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex-shrink:0}._dayBtn_10dfe_90:hover{background:#ffffff14;border-color:var(--border-secondary);transform:translateY(-2px)}._dayBtn_10dfe_90._active_10dfe_113{background:var(--accent);border-color:var(--accent);color:var(--accent-text);box-shadow:0 8px 20px var(--accent-glow);transform:translateY(-4px)}._dayMonth_10dfe_121{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.8}._dayNum_10dfe_129{font-size:1.25rem;font-weight:800;line-height:1}._dayName_10dfe_135{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}._dayBtn_10dfe_90._active_10dfe_113 ._dayMonth_10dfe_121,._dayBtn_10dfe_90._active_10dfe_113 ._dayName_10dfe_135{opacity:1}._navArrows_10dfe_148{display:flex;gap:8px;background:var(--bg-tertiary);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-primary)}._navButton_10dfe_157{background:transparent;border:none;color:var(--text-secondary);width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base)}._navButton_10dfe_157:hover{background:var(--bg-elevated);color:var(--accent)}._navButton_10dfe_157:active{transform:scale(.9)}._carouselContainer_10dfe_181{position:relative;width:100%;min-height:280px}._carousel_10dfe_181{overflow:hidden;padding-bottom:10px;min-height:260px}._carouselInner_10dfe_193{display:flex;gap:15px}._carouselCard_10dfe_198{flex:0 0 calc((100% - (6 * 15px)) / 7);min-width:150px}@media(max-width:1200px){._carouselCard_10dfe_198{flex:0 0 calc((100% - (5 * 15px)) / 6)}}@media(max-width:1024px){._carouselCard_10dfe_198{flex:0 0 calc((100% - 60px)/5)}}@media(max-width:768px){._carouselCard_10dfe_198{flex:0 0 calc((100% - (2 * 15px)) / 3);min-width:0}._daySelector_10dfe_62{justify-content:flex-start;padding-left:var(--space-4);padding-right:var(--space-4)}._dayBtn_10dfe_90{min-width:60px;padding:var(--space-2) var(--space-3)}}@media(max-width:480px){._carouselCard_10dfe_198{flex:0 0 calc((100% - (2 * 10px)) / 3);min-width:0}._carouselInner_10dfe_193{gap:10px;align-items:flex-start}}@media(max-width:600px){._daySelector_10dfe_62{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:0;padding:var(--space-1) var(--space-4);scroll-behavior:smooth;overscroll-behavior-x:contain}._daySelectorInner_10dfe_79{gap:0;margin:0;justify-content:flex-start}._dayBtn_10dfe_90{flex:0 0 14.2857%;min-width:0!important;padding:var(--space-1) 0!important;border-radius:var(--radius-md)!important}._dayMonth_10dfe_121{font-size:10px!important}._dayNum_10dfe_129{font-size:1rem!important}._dayName_10dfe_135{font-size:10px!important}._dayBtn_10dfe_90._active_10dfe_113{transform:translateY(-2px)!important}}._bannerContainer_rceop_1{width:100vw;max-width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;margin-top:calc(-1 * var(--header-height));margin-bottom:2.5rem;overflow:hidden;background-color:var(--bg-main);z-index:2}@media(max-width:1024px){._bannerContainer_rceop_1{margin-top:calc(-1 * (var(--header-height) + 52px))}}@media(max-width:848px){._bannerContainer_rceop_1{margin-top:-116px}}._hero_rceop_28{position:relative;width:100%;height:clamp(480px,72svh,660px);overflow:hidden;background-color:var(--bg-main)}._ambient_rceop_37{position:absolute;inset:-60px;width:calc(100% + 120px);height:calc(100% + 120px);object-fit:cover;object-position:center 22%;filter:blur(55px) brightness(.3) saturate(1.15);opacity:0;transition:opacity .6s ease}._ambientShow_rceop_49{opacity:1}._scrim_rceop_53{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#050508c7,#0505086b 42%,#0505080f 70%),linear-gradient(0deg,var(--bg-main) 0%,rgba(12,13,18,.82) 16%,transparent 46%),linear-gradient(180deg,transparent 0%,transparent 72px,rgba(5,5,8,.22) 100%)}._progressLine_rceop_69{position:absolute;left:0;right:0;bottom:0;height:2px;z-index:6;background:#ffffff1a;overflow:hidden}._progressLine_rceop_69:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--accent),var(--accent-light));transform-origin:left;animation:_progressFill_rceop_1 8s linear forwards}._paused_rceop_89 ._progressLine_rceop_69:after{animation-play-state:paused}@keyframes _progressFill_rceop_1{0%{transform:scaleX(0)}to{transform:scaleX(1)}}._dots_rceop_103{position:absolute;left:50%;transform:translate(-50%);bottom:.6rem;z-index:5;display:flex;align-items:center;gap:.5rem;padding:10px 16px}._dot_rceop_103{width:8px;height:8px;padding:0;border-radius:50%;border:none;background:#ffffff59;cursor:pointer;transition:background .2s ease,transform .2s ease}._dot_rceop_103:hover{background:#ffffffa6}._dotActive_rceop_132{background:var(--accent-light);transform:scale(1.25)}._viewport_rceop_138{position:absolute;inset:0;z-index:2;overflow:hidden}._track_rceop_145{display:flex;height:100%;transition:transform .45s cubic-bezier(.22,1,.36,1)}._slide_rceop_151{flex:0 0 100%;height:100%;display:flex;align-items:center;justify-content:center}._slideInner_rceop_159{width:100%;max-width:var(--max-width);margin:0 auto;padding:4rem var(--space-8) 3.5rem;display:flex;align-items:center;gap:3rem}._poster_rceop_169{width:230px;height:330px;object-fit:cover;border-radius:var(--radius-lg);flex-shrink:0;border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px #0009}._info_rceop_179{max-width:620px}._kicker_rceop_183{display:flex;align-items:center;gap:.75rem;margin-bottom:.9rem}._featureLabel_rceop_190{padding:.3rem .75rem;background:var(--accent-subtle);border:1px solid var(--border-accent);color:var(--accent-light);font-size:.75rem;font-weight:700;text-transform:uppercase;border-radius:var(--radius-full);letter-spacing:.08em}._scoreChip_rceop_202{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;background:#00000073;border:1px solid var(--border-strong);border-radius:var(--radius-full);color:var(--accent-lighter);font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}._slide_rceop_151 ._rise_rceop_220{opacity:1}._slide_rceop_151._active_rceop_224 ._rise_rceop_220{animation:_riseIn_rceop_1 .45s cubic-bezier(.22,1,.36,1) both}._slide_rceop_151._active_rceop_224 ._rise_rceop_220:nth-child(1){animation-delay:.03s}._slide_rceop_151._active_rceop_224 ._rise_rceop_220:nth-child(2){animation-delay:.07s}._slide_rceop_151._active_rceop_224 ._rise_rceop_220:nth-child(3){animation-delay:.11s}._slide_rceop_151._active_rceop_224 ._rise_rceop_220:nth-child(4){animation-delay:.15s}._slide_rceop_151._active_rceop_224 ._rise_rceop_220:nth-child(5){animation-delay:.19s}._slide_rceop_151._active_rceop_224 ._rise_rceop_220:nth-child(6){animation-delay:.23s}@keyframes _riseIn_rceop_1{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}._slide_rceop_151._active_rceop_224 ._poster_rceop_169{animation:_posterIn_rceop_1 .5s cubic-bezier(.22,1,.36,1)}@keyframes _posterIn_rceop_1{0%{opacity:0;transform:translate(-30px) scale(.97)}to{opacity:1;transform:none}}._metaRow_rceop_280{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;color:#ffffffb3;font-size:.9rem;font-weight:600;margin-bottom:.8rem}._metaItem_rceop_291{display:flex;align-items:center;gap:4px}._metaDivider_rceop_297{width:4px;height:4px;background:#ffffff4d;border-radius:50%}._title_rceop_304{display:block;font-size:3rem;line-height:1.04;cursor:pointer;max-width:800px;margin-bottom:.9rem;text-shadow:0 2px 26px rgba(0,0,0,.75),0 1px 3px rgba(0,0,0,.9)}._title_rceop_304:hover{color:var(--accent-light)}._genres_rceop_320{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.9rem}._genreTag_rceop_328{color:#fffc;border:1px solid rgba(255,255,255,.28);padding:.32rem .75rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}._summary_rceop_339{font-size:.96rem;line-height:1.65;margin:0 0 1.6rem;color:#fffc;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:750px}._actions_rceop_351{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}._watchBtn_rceop_358{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.85rem 2.1rem;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:var(--accent-text);font-size:.94rem;font-weight:700;border:none;border-radius:var(--radius-md);cursor:pointer;box-shadow:0 6px 24px var(--accent-glow);transition:transform .2s cubic-bezier(.22,1,.36,1);letter-spacing:.02em}._watchBtn_rceop_358:hover{transform:translateY(-2px)}._detailsBtn_rceop_380{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.85rem 1.8rem;background:#ffffff14;color:var(--text-primary);font-size:.94rem;font-weight:600;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease}._detailsBtn_rceop_380:hover{background:#ffffff29;color:#fff}._navArrow_rceop_401{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;background:#0006;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .3s ease,border-color .2s ease,color .2s ease}._hero_rceop_28:hover ._navArrow_rceop_401{opacity:.9}._navArrow_rceop_401:hover{border-color:var(--accent);color:var(--accent-light)}._prevArrow_rceop_434{left:1.2rem}._nextArrow_rceop_438{right:1.2rem}@media(max-width:768px){._hero_rceop_28{height:auto;min-height:92svh}._scrim_rceop_53{background:linear-gradient(0deg,#050508e6,#05050859 55%,#05050873)}._slideInner_rceop_159{flex-direction:column;justify-content:center;text-align:center;gap:1.3rem;padding:4.2rem var(--space-4) 2.4rem}._poster_rceop_169{width:172px;height:248px}._slide_rceop_151._active_rceop_224 ._poster_rceop_169{animation-name:_posterUp_rceop_1}@keyframes _posterUp_rceop_1{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}._kicker_rceop_183{justify-content:center}._title_rceop_304{font-size:1.6rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}._metaRow_rceop_280{justify-content:center;font-size:.8rem}._genres_rceop_320{justify-content:center}._genreTag_rceop_328{font-size:.66rem}._summary_rceop_339{display:none}._actions_rceop_351{width:100%}._watchBtn_rceop_358,._detailsBtn_rceop_380{flex:1;justify-content:center;padding:.85rem .5rem;font-size:.87rem}._navArrow_rceop_401{display:none}}@media(max-width:1024px){._slideInner_rceop_159{gap:2rem}._title_rceop_304{font-size:2.2rem}._poster_rceop_169{width:200px;height:288px}}@media(max-height:500px)and (orientation:landscape){._hero_rceop_28{height:92svh;min-height:360px}._slideInner_rceop_159{gap:1.5rem;padding:3.5rem var(--space-8) 3rem}._poster_rceop_169{width:140px;height:200px}._title_rceop_304{font-size:1.5rem}._summary_rceop_339{display:none}}._emptyState_19tmt_1{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);background:linear-gradient(to bottom,var(--bg-tertiary),var(--bg-main));border-radius:var(--radius-lg);border:1px solid var(--border-primary);text-align:center;gap:var(--space-4);width:100%;min-height:320px}._emptyStateIcon_19tmt_16{color:var(--accent);opacity:.4;margin-bottom:var(--space-2);filter:drop-shadow(0 0 20px var(--accent-glow))}._emptyStateTitle_19tmt_23{font-size:1.5rem;font-weight:800;margin:0;color:var(--text-primary)}._emptyStateText_19tmt_30{font-size:1rem;color:var(--text-secondary);max-width:340px;line-height:1.6}._select_1dw63_1{height:34px;padding:0 8px;padding-right:1.5rem;background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:700;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a1a1aa' 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 .5rem center}._tabBar_irwbm_1{display:flex;align-items:center;gap:6px;margin-bottom:2.5rem;padding:6px;background:#ffffff0a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-primary);border-radius:var(--radius-full);width:fit-content;max-width:100%;overflow-x:auto;scrollbar-width:none;box-shadow:0 4px 20px #0003;position:relative}._tabBar_irwbm_1::-webkit-scrollbar{display:none}._tabIndicator_irwbm_24{position:absolute;top:6px;bottom:6px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);box-shadow:0 4px 15px var(--accent-glow);transition:left .22s cubic-bezier(.2,1.2,.3,1),width .22s cubic-bezier(.2,1.2,.3,1);z-index:0;pointer-events:none}._tabButton_irwbm_38{border-radius:var(--radius-full)!important;font-weight:700!important;font-size:.85rem!important;padding:.65rem 1.4rem!important;letter-spacing:.02em;transition:color .25s ease!important;border:none!important;background:transparent!important;color:var(--text-muted)!important;position:relative;z-index:1;flex-shrink:0}._tabButton_irwbm_38:hover:not(:disabled){background:transparent!important;color:var(--text-muted)!important;box-shadow:none!important;transform:none!important}._tabButton_irwbm_38:active{transform:scale(.96)}._tabActive_irwbm_64{color:var(--accent-text)!important}._tabActive_irwbm_64:hover:not(:disabled){color:var(--accent-text)!important;transform:none!important}@media(max-width:600px){._tabBar_irwbm_1{width:100%;justify-content:flex-start}._tabButton_irwbm_38{flex:1;justify-content:center!important;padding:.65rem .5rem!important;text-align:center;font-size:.78rem!important}}._section-header_bt5c7_1{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8)}._title-wrapper_bt5c7_8{display:flex;align-items:center;gap:var(--space-6)}._pagination-controls_bt5c7_14{display:flex;gap:8px;align-items:center;background:var(--bg-tertiary);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-primary)}._nav-button_bt5c7_24{background:transparent;border:none;color:var(--text-secondary);width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base)}._nav-button_bt5c7_24:hover:not(:disabled){background:var(--bg-elevated);color:var(--accent)}._nav-button_bt5c7_24:disabled{opacity:.2;cursor:not-allowed}@media(hover:none),(pointer:coarse){._nav-button_bt5c7_24{width:44px;height:44px}}._page-info_bt5c7_55{font-size:.9rem;font-weight:800;min-width:32px;text-align:center;color:var(--text-primary)}@media(max-width:600px){._section-header_bt5c7_1{flex-direction:column;align-items:flex-start;gap:var(--space-4)}._title-wrapper_bt5c7_8{width:100%;justify-content:space-between}}._seasonGrid_bt5c7_76{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-4)}@media(max-width:1200px){._seasonGrid_bt5c7_76{grid-template-columns:repeat(6,1fr)}}@media(max-width:1024px){._seasonGrid_bt5c7_76{grid-template-columns:repeat(5,1fr)}}@media(max-width:768px){._seasonGrid_bt5c7_76{grid-template-columns:repeat(3,1fr);gap:var(--space-2)}}@media(max-width:480px){._seasonGrid_bt5c7_76{grid-template-columns:repeat(3,1fr);gap:8px}}._emptyState_bt5c7_108{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);background:linear-gradient(to bottom,var(--bg-tertiary),var(--bg-main));border-radius:var(--radius-lg);border:1px solid var(--border-primary);text-align:center;gap:var(--space-4);width:100%;min-height:320px}._quickQueue_bt5c7_123{margin:0 0 2.5rem;border:1px solid var(--border-secondary);border-radius:var(--radius-md);background:var(--bg-secondary);overflow:hidden}._quickQueueHeader_bt5c7_131{width:100%;border:none;background:transparent;color:var(--text-primary);padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;cursor:pointer}._quickQueueTitle_bt5c7_143{display:flex;align-items:center;gap:var(--space-3);font-weight:800}._queueBadge_bt5c7_150{min-width:24px;height:24px;padding:0 8px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-text);font-size:.78rem;font-weight:800}._quickQueueList_bt5c7_164{display:flex;gap:var(--space-3);overflow-x:auto;padding:0 var(--space-5) var(--space-5);-webkit-user-select:none;user-select:none}._quickQueueItem_bt5c7_172._dragging_bt5c7_172{opacity:.5;background:var(--bg-secondary);border-style:dashed}._quickQueueItem_bt5c7_172{width:240px;flex:0 0 240px;display:grid;grid-template-columns:24px 54px minmax(0,1fr) 32px;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border-secondary);border-radius:var(--radius-md);background:var(--bg-primary)}._quickQueueDrag_bt5c7_191{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:grab;border:none;background:transparent}._quickQueueThumb_bt5c7_201{width:54px;height:72px;object-fit:cover;border-radius:var(--radius-sm);background:var(--bg-tertiary)}._quickQueueMeta_bt5c7_209{min-width:0}._quickQueueName_bt5c7_213{display:block;width:100%;border:none;background:transparent;padding:0;text-align:left;color:var(--text-primary);font-weight:700;font-size:.85rem;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}._quickQueueEpisode_bt5c7_230{margin-top:.25rem;color:var(--text-secondary);font-size:.75rem}._quickQueueRemove_bt5c7_236{width:30px;height:30px;border:1px solid var(--border-secondary);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}._quickQueueRemove_bt5c7_236:hover{color:var(--color-danger);border-color:var(--color-danger)}._posterLandscape_1smau_1{width:min(400px,38vw);aspect-ratio:16 / 9;height:auto;object-fit:cover;border-radius:var(--radius-lg);flex-shrink:0;border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px #0009}@media(max-width:1024px){._posterLandscape_1smau_1{width:min(320px,36vw)}}@media(max-width:768px){._posterLandscape_1smau_1{width:100%;max-width:420px}}
|