@serifpersia/dango 3.7.1 → 3.7.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.
Files changed (132) hide show
  1. package/README.md +2 -2
  2. package/client/dist/assets/ActiveFilterChips-QjkplDN2.css +1 -0
  3. package/client/dist/assets/ActiveFilterChips-olGfwxle.js +1 -0
  4. package/client/dist/assets/AnimeCard-BVufFeLC.js +1 -0
  5. package/client/dist/assets/AnimeInfo-Dihook4h.js +1 -0
  6. package/client/dist/assets/AnimeInfoPage-K0ErjilQ.js +2 -0
  7. package/client/dist/assets/{AnimeMetaDetails-BogOi_bM.js → AnimeMetaDetails-D8WIiO4b.js} +1 -1
  8. package/client/dist/assets/Asmr-CP7vVwsh.js +2 -0
  9. package/client/dist/assets/Asmr-Dl1EZqaI.css +1 -0
  10. package/client/dist/assets/AsmrResetProgressModal-cYO4Sr2k.js +1 -0
  11. package/client/dist/assets/Home-BYuAVKgx.js +1 -0
  12. package/client/dist/assets/Home-C5eTe3jP.css +1 -0
  13. package/client/dist/assets/Insights-Bx01GySp.js +1 -0
  14. package/client/dist/assets/Insights-D0qrep0K.css +1 -0
  15. package/client/dist/assets/LibraryListPage-BnrEDG8j.js +1 -0
  16. package/client/dist/assets/LibraryListPage-DmdjNa2U.css +1 -0
  17. package/client/dist/assets/LibraryListPage.module-r6k9nyT9.js +1 -0
  18. package/client/dist/assets/ListeningList-kRSLAo3B.js +1 -0
  19. package/client/dist/assets/Manga-COhyMd3K.js +1 -0
  20. package/client/dist/assets/MangaInfoPage-LTEvl_nL.js +1 -0
  21. package/client/dist/assets/MangaReadPage-sEwzyBQ7.js +1 -0
  22. package/client/dist/assets/MangaResetProgressModal-CbMR36Zu.js +1 -0
  23. package/client/dist/assets/Mature-CMvs_-gf.js +1 -0
  24. package/client/dist/assets/MatureConsentModal-BnB-RHYQ.js +1 -0
  25. package/client/dist/assets/MatureConsentModal-CqewXc0q.css +1 -0
  26. package/client/dist/assets/MediaCard-B0PJStxp.css +1 -0
  27. package/client/dist/assets/MediaCard-hWGCEHWx.js +1 -0
  28. package/client/dist/assets/OptionListMenu-onM2KK2X.js +1 -0
  29. package/client/dist/assets/Player-2YKevlG4.js +56 -0
  30. package/client/dist/assets/Player-D-sQfjcx.css +1 -0
  31. package/client/dist/assets/PlayerSettings-BfSv-hut.js +1 -0
  32. package/client/dist/assets/QueueOptionsButton-B4Re8F3V.js +1 -0
  33. package/client/dist/assets/{QueueRail-BUYEjdaq.css → QueueRail-Bkh4VZls.css} +1 -1
  34. package/client/dist/assets/QueueRail-Dkx_M6ng.js +1 -0
  35. package/client/dist/assets/ReadingList-C--ZvTe2.js +1 -0
  36. package/client/dist/assets/ResetProgressModal-BuESoxbY.js +1 -0
  37. package/client/dist/assets/Search-CEErwr88.js +1 -0
  38. package/client/dist/assets/Search-DCKK3seW.css +1 -0
  39. package/client/dist/assets/Search.module-C_qwCdHS.js +1 -0
  40. package/client/dist/assets/Settings-BEHII_8K.css +1 -0
  41. package/client/dist/assets/Settings-C-QEEujv.js +21 -0
  42. package/client/dist/assets/SkeletonGrid-BisPI38I.css +1 -0
  43. package/client/dist/assets/SkeletonGrid-QWMGLCGp.js +1 -0
  44. package/client/dist/assets/Trackers-1i4Hd5D3.js +2 -0
  45. package/client/dist/assets/Tv-C6F9655r.js +4 -0
  46. package/client/dist/assets/Tv-D3vXCsSC.css +1 -0
  47. package/client/dist/assets/TvInfo-BajXP7JJ.js +1 -0
  48. package/client/dist/assets/TvPopup-DZtX79Ol.js +1 -0
  49. package/client/dist/assets/TvSearch-DcWcxRb1.js +1 -0
  50. package/client/dist/assets/TvWatchlist-Cf_25dKi.js +1 -0
  51. package/client/dist/assets/VirtualKeyboard-BaUll8Yv.css +1 -0
  52. package/client/dist/assets/VirtualKeyboard-DeP7fb3P.js +1 -0
  53. package/client/dist/assets/Watchlist-DBmU8PNR.js +1 -0
  54. package/client/dist/assets/Watchlist-DW7kUORr.css +1 -0
  55. package/client/dist/assets/{hls-CdJTQ6Lc.js → hls-Bi-DS5KL.js} +1 -1
  56. package/client/dist/assets/index-B7katXv0.css +1 -0
  57. package/client/dist/assets/index-DB81Su4I.js +178 -0
  58. package/client/dist/assets/libraryInvalidation-DI-v-DQ1.js +1 -0
  59. package/client/dist/assets/playbackCompletion-IPHm9fp5.js +1 -0
  60. package/client/dist/assets/useAnimeInfoData-DpUA78Mv.js +1 -0
  61. package/client/dist/assets/useAsmr-BwyYDnlP.js +1 -0
  62. package/client/dist/assets/useAsmrPopup-BrrEaBlV.js +1 -0
  63. package/client/dist/assets/useMangaLibrary-BAUaug-u.js +1 -0
  64. package/client/dist/assets/useMangaPopup-3Lx5tEub.js +1 -0
  65. package/client/dist/assets/usePlaybackEnd-BtUHM1mW.css +1 -0
  66. package/client/dist/assets/usePlaybackEnd-CuDnNZ8o.js +10 -0
  67. package/client/dist/assets/useProviders-CKqOSX5-.js +1 -0
  68. package/client/dist/assets/useTv-CZB47zUF.js +1 -0
  69. package/client/dist/assets/useTvLibrary-BGz7Unv_.js +1 -0
  70. package/client/dist/index.html +2 -2
  71. package/orchestrator.js +1 -1
  72. package/package.json +6 -4
  73. package/server/dist/server.js +344 -372
  74. package/server/package.json +2 -1
  75. package/client/dist/assets/AnimeCard-DSC8cos-.js +0 -1
  76. package/client/dist/assets/AnimeInfo-BHj_zyLA.js +0 -1
  77. package/client/dist/assets/AnimeInfoPage-QCfx0BSB.js +0 -2
  78. package/client/dist/assets/Asmr-DzdvD9rp.js +0 -2
  79. package/client/dist/assets/AsmrResetProgressModal-BMi8sNRK.js +0 -1
  80. package/client/dist/assets/AvSyncCalibrator-BI6-WMwv.js +0 -10
  81. package/client/dist/assets/AvSyncCalibrator-ZSpMgUid.css +0 -1
  82. package/client/dist/assets/Home-BTuHZIu5.js +0 -1
  83. package/client/dist/assets/Home-DeY8zvfI.css +0 -1
  84. package/client/dist/assets/Insights-Dc8xLmsr.css +0 -1
  85. package/client/dist/assets/Insights-DcENcCT3.js +0 -1
  86. package/client/dist/assets/LibraryListPage-CHJTM02k.js +0 -1
  87. package/client/dist/assets/ListeningList-BMCy3Xma.js +0 -1
  88. package/client/dist/assets/Manga-Bh8UBkW8.js +0 -1
  89. package/client/dist/assets/MangaInfoPage-Xf1v-kOS.js +0 -1
  90. package/client/dist/assets/MangaReadPage-BktwU4Z6.js +0 -1
  91. package/client/dist/assets/MangaResetProgressModal-D4AFduYZ.js +0 -1
  92. package/client/dist/assets/Mature-0t7mUuKs.js +0 -1
  93. package/client/dist/assets/MediaCard-Ck-VFldj.js +0 -1
  94. package/client/dist/assets/MediaCard-DB6Yjgky.css +0 -1
  95. package/client/dist/assets/OptionListMenu-6grp_X7Q.js +0 -1
  96. package/client/dist/assets/Player-BMsolf38.js +0 -56
  97. package/client/dist/assets/Player-DCB994_8.css +0 -1
  98. package/client/dist/assets/PlayerSettings-CqgKYfAN.js +0 -1
  99. package/client/dist/assets/QueueOptionsButton-1BIDVRnc.js +0 -1
  100. package/client/dist/assets/QueueRail-Dtqs6-Cj.js +0 -1
  101. package/client/dist/assets/ReadingList-CFu3SJg6.js +0 -1
  102. package/client/dist/assets/ResetProgressModal-DDLhwvu_.js +0 -1
  103. package/client/dist/assets/Search-Cs45oAwI.css +0 -1
  104. package/client/dist/assets/Search-DH17j8Mu.js +0 -1
  105. package/client/dist/assets/Search.module-CMEai-B-.js +0 -1
  106. package/client/dist/assets/Settings-CS2RnS22.js +0 -21
  107. package/client/dist/assets/Settings-CwIWLSfY.css +0 -1
  108. package/client/dist/assets/SkeletonGrid-Bge3aRl2.css +0 -1
  109. package/client/dist/assets/SkeletonGrid-j41CQ_eq.js +0 -1
  110. package/client/dist/assets/Trackers-DiwSfbK5.js +0 -2
  111. package/client/dist/assets/Tv-Bdruknna.css +0 -1
  112. package/client/dist/assets/Tv-Ko75Tjxy.js +0 -4
  113. package/client/dist/assets/TvInfo-B5OSSyav.js +0 -1
  114. package/client/dist/assets/TvPopup-Lnu1Dmx3.js +0 -1
  115. package/client/dist/assets/TvSearch-BYknb0BD.js +0 -1
  116. package/client/dist/assets/TvWatchlist-Bb9EnbIC.js +0 -1
  117. package/client/dist/assets/VirtualKeyboard-BmqZPZXR.js +0 -1
  118. package/client/dist/assets/VirtualKeyboard-KIPc5ZGH.css +0 -1
  119. package/client/dist/assets/Watchlist-BiDEU0iV.css +0 -1
  120. package/client/dist/assets/Watchlist-BuRda78R.js +0 -1
  121. package/client/dist/assets/Watchlist.module-XGtVQr1d.js +0 -1
  122. package/client/dist/assets/index-C9FfV5Fg.js +0 -178
  123. package/client/dist/assets/index-D0Haw_Zl.css +0 -1
  124. package/client/dist/assets/useAnimeInfoData-8nSxobwT.js +0 -1
  125. package/client/dist/assets/useAsmr-Cwcgsq-Y.js +0 -1
  126. package/client/dist/assets/useAsmrPopup-D1KuQwQy.css +0 -1
  127. package/client/dist/assets/useAsmrPopup-pj0IVP6Q.js +0 -1
  128. package/client/dist/assets/useMangaLibrary-C8eMKmfr.js +0 -1
  129. package/client/dist/assets/useMangaPopup-BIQGwv4w.js +0 -1
  130. package/client/dist/assets/useProviders-DvEWO7KK.js +0 -1
  131. package/client/dist/assets/useTv-DZzw1cpP.js +0 -1
  132. package/client/dist/assets/useTvLibrary-DnAI4fMY.js +0 -1
@@ -0,0 +1 @@
1
+ ._keyboard_b2w6l_1{position:fixed;z-index:var(--z-overlay);width:min(var(--keyboard-width),calc(100vw - 24px));overflow:hidden;color:var(--text-primary);background:linear-gradient(180deg,#ffffff14,#ffffff05),#0f0f11f7;border:1px solid var(--border-secondary);border-radius:var(--radius-md);box-shadow:0 18px 60px #00000075;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);-webkit-user-select:none;user-select:none}._topBar_b2w6l_18{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:#ffffff0f;border-bottom:1px solid var(--border-primary)}._dragHandle_b2w6l_27{flex:1;min-height:34px;display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:move}._grip_b2w6l_38{width:22px;height:14px;background-image:radial-gradient(currentColor 1px,transparent 1px);background-size:6px 6px;opacity:.8}._topButton_b2w6l_46,._key_b2w6l_1{border:1px solid var(--border-secondary);color:var(--text-primary);background:#ffffff14;font:inherit;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .08s ease}._topButton_b2w6l_46{min-height:34px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}._topButton_b2w6l_46:hover,._key_b2w6l_1:hover{background:#ffffff24;border-color:#ffffff42}._topButton_b2w6l_46:active,._key_b2w6l_1:active{transform:translateY(1px)}._closeButton_b2w6l_77{width:44px;height:44px;padding:0}._keys_b2w6l_83{display:grid;gap:var(--keyboard-gap);padding:var(--space-3);justify-items:center}._row_b2w6l_90{display:flex;justify-content:center;gap:var(--keyboard-gap);width:100%;max-width:calc((var(--key-size) * 10) + (var(--key-size) * 1.75) + (var(--keyboard-gap) * 10))}._key_b2w6l_1{min-width:var(--key-size);height:var(--key-size);border-radius:var(--radius-sm);font-size:var(--key-font);font-weight:var(--font-weight-semibold)}._wideKey_b2w6l_106{min-width:calc(var(--key-size) * 1.75)}._spaceKey_b2w6l_110{flex:1;max-width:calc((var(--key-size) * 10) + (var(--key-size) * 1.75) + (var(--keyboard-gap) * 10) - (var(--key-size) * 5.5) - (var(--keyboard-gap) * 4))}._spaceIcon_b2w6l_118{width:14%;height:12px;border-bottom:2px solid currentColor;display:inline-block;opacity:.9}._activeKey_b2w6l_126{border-color:var(--accent);background:linear-gradient(135deg,var(--accent),var(--accent-dark))}@media(max-width:700px){._keyboard_b2w6l_1{left:8px!important;width:calc(100vw - 16px)}._dragHandle_b2w6l_27 span{display:none}}
@@ -0,0 +1 @@
1
+ import{d as _,A as E,h as k,q as N,$ as I,u as o}from"./vendor-core-DfaOB3Rn.js";const D="_keyboard_b2w6l_1",O="_topBar_b2w6l_18",R="_dragHandle_b2w6l_27",T="_grip_b2w6l_38",q="_topButton_b2w6l_46",U="_key_b2w6l_1",V="_closeButton_b2w6l_77",W="_keys_b2w6l_83",X="_row_b2w6l_90",Y="_wideKey_b2w6l_106",j="_spaceKey_b2w6l_110",A="_spaceIcon_b2w6l_118",F="_activeKey_b2w6l_126",t={keyboard:D,topBar:O,dragHandle:R,grip:T,topButton:q,key:U,closeButton:V,keys:W,row:X,wideKey:Y,spaceKey:j,spaceIcon:A,activeKey:F},x="virtual-keyboard-state",m=["small","medium","large"],J=["1","2","3","4","5","6","7","8","9","0"],P=["!","@","#","$","%","^","&","*","(",")"],G=[["q","w","e","r","t","y","u","i","o","p"],["a","s","d","f","g","h","j","k","l"],["z","x","c","v","b","n","m"]],Q=()=>{const i={position:{x:Math.max(12,window.innerWidth-690),y:Math.max(90,window.innerHeight-330)},size:"medium"};try{const c=localStorage.getItem(x);if(!c)return i;const s=JSON.parse(c);return{position:s.position&&Number.isFinite(s.position.x)&&Number.isFinite(s.position.y)?s.position:i.position,size:s.size&&m.includes(s.size)?s.size:i.size}}catch{return i}},K=(i,c)=>{const s=c?.offsetWidth??650,r=c?.offsetHeight??270;return{x:Math.min(Math.max(8,i.x),Math.max(8,window.innerWidth-s-8)),y:Math.min(Math.max(8,i.y),Math.max(8,window.innerHeight-r-8))}};function ee({activeInputRef:i,isVisible:c,onClose:s}){const[{position:r,size:l},w]=_(Q),[f,S]=_(!1),[g,$]=_(!1),h=E(null),u=E(null);k(()=>{localStorage.setItem(x,JSON.stringify({position:r,size:l}))},[r,l]),k(()=>{const e=()=>{w(n=>({...n,position:K(n.position,h.current)}))};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const v=()=>i.current&&document.contains(i.current)?i.current:document.activeElement instanceof HTMLInputElement?document.activeElement:null,d=e=>{const n=v();if(!n)return;const a=n.selectionStart??n.value.length,b=n.selectionEnd??n.value.length;n.setRangeText(e,a,b,"end"),n.dispatchEvent(new Event("input",{bubbles:!0})),n.focus()},z=()=>{const e=v();if(!e)return;const n=e.selectionStart??e.value.length,a=e.selectionEnd??e.value.length;n===a&&n===0||(e.setRangeText("",n===a?n-1:n,a,"end"),e.dispatchEvent(new Event("input",{bubbles:!0})),e.focus())},M=()=>{const e=v();if(!e){s();return}const n=e.form;n?n.requestSubmit():e.dispatchEvent(new KeyboardEvent("keydown",{key:"Enter",bubbles:!0})),s()},B=e=>{e.preventDefault()},p=N(e=>{if(!u.current)return;const n={x:e.clientX-u.current.x,y:e.clientY-u.current.y};w(a=>({...a,position:K(n,h.current)}))},[]),y=N(()=>{u.current=null,window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",y)},[p]),C=e=>{e.preventDefault(),u.current={x:e.clientX-r.x,y:e.clientY-r.y},window.addEventListener("mousemove",p),window.addEventListener("mouseup",y)};if(k(()=>()=>{window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",y)},[p,y]),!c)return null;const L=g?P:J,H=()=>{w(e=>{const n=m[(m.indexOf(e.size)+1)%m.length];return{...e,size:n}})};return I(o("div",{ref:h,className:`${t.keyboard} ${t[l]}`,style:{left:r.x,top:r.y},onMouseDown:B,"data-virtual-keyboard-root":!0,children:[o("div",{className:t.topBar,children:[o("div",{className:t.dragHandle,onMouseDown:C,"aria-label":"Move virtual keyboard",children:[o("span",{className:t.grip,"aria-hidden":"true"}),o("span",{children:"Virtual Keyboard"})]}),o("button",{type:"button",className:t.topButton,onClick:H,children:["Size: ",l[0].toUpperCase()+l.slice(1)]}),o("button",{type:"button",className:`${t.topButton} ${t.closeButton}`,onClick:s,children:"X"})]}),o("div",{className:t.keys,children:[o("div",{className:t.row,children:[L.map(e=>o("button",{type:"button",className:t.key,onClick:()=>d(e),children:e},e)),o("button",{type:"button",className:`${t.key} ${t.wideKey}`,onClick:z,"aria-label":"Backspace",children:"⟵"})]}),G.map((e,n)=>o("div",{className:t.row,children:[e.map(a=>{const b=f?a.toUpperCase():a;return o("button",{type:"button",className:t.key,onClick:()=>d(b),children:b},a)}),n===1&&o("button",{type:"button",className:`${t.key} ${t.wideKey}`,onClick:M,children:"Enter"})]},e.join(""))),o("div",{className:t.row,children:[o("button",{type:"button",className:`${t.key} ${t.wideKey} ${g?t.activeKey:""}`,onClick:()=>$(e=>!e),children:"Ctrl"}),o("button",{type:"button",className:`${t.key} ${t.wideKey} ${f?t.activeKey:""}`,onClick:()=>S(e=>!e),children:"Shift"}),o("button",{type:"button",className:`${t.key} ${t.spaceKey}`,onClick:()=>d(" "),"aria-label":"Space",children:o("span",{className:t.spaceIcon})}),o("button",{type:"button",className:t.key,onClick:()=>d("."),children:"."}),o("button",{type:"button",className:t.key,onClick:()=>d("-"),children:"-"})]})]})]}),document.body)}export{ee as default};
@@ -0,0 +1 @@
1
+ import{h as fe,o as He,a as Ze,p as Je,d as h,A as ye,T,u as t,S as Xe}from"./vendor-core-DfaOB3Rn.js";import{u as et,a as Se}from"./vendor-query-BBT5_sHx.js";import{i as tt,u as at,d as nt,x as st,y as _e,z as Ae,q as we,A as lt,t as rt,l as ct,C as it,D as ot,E as dt,F as ht,G as ut,B as W,M as se}from"./index-DB81Su4I.js";import{I as g}from"./vendor-icons-DrybRNxP.js";import{A as mt}from"./AnimeCard-BVufFeLC.js";import{S as pt}from"./SkeletonGrid-QWMGLCGp.js";import{E as gt}from"./ErrorMessage-DAxegITP.js";import{P as Le}from"./MediaCard-hWGCEHWx.js";import{s as n}from"./LibraryListPage.module-r6k9nyT9.js";import{A as vt}from"./ActiveFilterChips-olGfwxle.js";import"./useAnimeInfoData-DpUA78Mv.js";import"./QueueOptionsButton-B4Re8F3V.js";import"./vendor-ui-3qrARCPr.js";import"./playbackCompletion-IPHm9fp5.js";import"./useIsMobile-Dvx1uJ82.js";import"./MatureConsentModal-BnB-RHYQ.js";const ft=(d,v)=>{const l=new URLSearchParams(v);return l.delete("page"),l.sort(),`${d}|${l.toString()}`},yt=(d,v)=>{const l=new Set(d);return v.forEach(A=>l.add(A)),l},St=(d,v)=>{const l=new Set(d);return v.forEach(A=>l.delete(A)),l},_t="_sortSelect_cahhw_1",At="_filterContainer_cahhw_30",wt="_slideUpIn_cahhw_1",Lt="_searchBarWrapper_cahhw_44",Ct="_inputIconWrapper_cahhw_50",Nt="_searchIcon_cahhw_55",bt="_searchInput_cahhw_64",Bt="_searchActions_cahhw_84",kt="_searchBtn_cahhw_89",Rt="_filterToggleBtn_cahhw_94",Tt="_advancedFilters_cahhw_115",Wt="_show_cahhw_122",It="_filterDivider_cahhw_128",xt="_filterGrid_cahhw_134",$t="_filterItem_cahhw_141",Pt="_genreSection_cahhw_183",Ft="_genreLabel_cahhw_189",Gt="_genreContainer_cahhw_199",Mt="_genreButton_cahhw_205",Ot="_include_cahhw_222",Et="_exclude_cahhw_228",Dt="_filterActions_cahhw_235",zt="_applyBtn_cahhw_246",c={sortSelect:_t,filterContainer:At,slideUpIn:wt,searchBarWrapper:Lt,inputIconWrapper:Ct,searchIcon:Nt,searchInput:bt,searchActions:Bt,searchBtn:kt,filterToggleBtn:Rt,advancedFilters:Tt,show:Wt,filterDivider:It,filterGrid:xt,filterItem:$t,genreSection:Pt,genreLabel:Ft,genreContainer:Gt,genreButton:Mt,include:Ot,exclude:Et,filterActions:Dt,applyBtn:zt},Ne=["All","Continue Watching","Watching","Completed","On-Hold","Dropped","Planned"],Ce=Ne.slice(2),Ut=[{value:"ALL",label:"All Types"},{value:"TV",label:"TV Series"},{value:"Movie",label:"Movie"},{value:"OVA",label:"OVA"},{value:"ONA",label:"ONA"},{value:"TV_SHORT",label:"TV Short"},{value:"SPECIAL",label:"Special"},{value:"ADULT",label:"Adult (18+)"}],qt=[{value:"ALL",label:"All Seasons"},{value:"WINTER",label:"Winter"},{value:"SPRING",label:"Spring"},{value:"SUMMER",label:"Summer"},{value:"FALL",label:"Fall"}],ca=()=>{fe(()=>{document.title="Watchlist - dango"},[]);const{filter:d="All"}=He(),v=Ze(),[l,A]=Je(),Q=et(),le=tt(),[f,I]=h(parseInt(l.get("page")||"1")),[w,x]=h(l.get("query")||""),[L,V]=h(l.get("sortBy")||"last_added"),[C,$]=h(l.get("type")||"ALL"),[N,P]=h(l.get("season")||"ALL"),[b,F]=h(l.get("year")||"ALL"),[k,G]=h(()=>{const e={},a=l.get("genres")?.split(",").map(r=>r.trim()).filter(Boolean)||[],s=l.get("excludeGenres")?.split(",").map(r=>r.trim()).filter(Boolean)||[];return a.forEach(r=>r&&(e[r]="include")),s.forEach(r=>r&&(e[r]="exclude")),e}),[M,be]=h(()=>["type","season","year","genres","excludeGenres"].some(e=>l.has(e))),{lowEndMode:Be}=at(),{titlePreference:O}=nt(),{data:ke}=st(),re=ke?.genres||[],H=ye(null),[o,B]=h(null),[Z,E]=h(!1),[ce,D]=h(!1),[z,Re]=h(!1),[p,y]=h(new Set),J=ye(null),i=d==="Continue Watching",U=T(()=>{const e=new URLSearchParams(l);return e.delete("page"),e.set("titlePreference",O),e.toString()},[l,O]),{data:q,isLoading:Te,error:We}=_e(U,f,14),{data:Y,isLoading:Ie,error:xe}=Ae(d,U,f,14),{data:$e}=_e(U,f+1,14),{data:Pe}=Ae(d,U,f+1,14),X=T(()=>(i?q?.data:Y?.data)||[],[i,q,Y]),R=T(()=>(i?q?.total:Y?.total)||0,[i,q,Y]),j=i?Te:Ie,ie=i?We:xe,oe=i?$e:Pe;fe(()=>{x(l.get("query")||""),V(l.get("sortBy")||"last_added"),$(l.get("type")||"ALL"),P(l.get("season")||"ALL"),F(l.get("year")||"ALL");const e={},a=l.get("genres")?.split(",").map(u=>u.trim()).filter(Boolean)||[],s=l.get("excludeGenres")?.split(",").map(u=>u.trim()).filter(Boolean)||[];a.forEach(u=>u&&(e[u]="include")),s.forEach(u=>u&&(e[u]="exclude")),G(e),I(parseInt(l.get("page")||"1"));const r=ft(d,l);J.current!==null&&J.current!==r&&y(new Set),J.current=r},[l,d]);const Fe=Se({mutationFn:async({id:e,status:a})=>{await rt.watchlist.setStatus.mutate({id:e,status:a})},onSuccess:()=>{Q.invalidateQueries({queryKey:[we.watchlist]}),lt.success("Status updated")}}),Ge=Se(le.continueWatching.remove.mutationOptions({onSuccess:()=>{Q.invalidateQueries(le.continueWatching.pathFilter()),Q.invalidateQueries({queryKey:[we.continueWatching]})}})),ee=ct(),{data:de}=it("skipRemoveConfirmation"),Me=ot(),te=T(()=>{const e=a=>a[O]||a.name||"";return[...X].sort((a,s)=>L==="name_asc"?e(a).localeCompare(e(s)):L==="name_desc"?e(s).localeCompare(e(a)):0)},[X,L,O]),ae=new Date().getFullYear(),Oe=[{value:"ALL",label:"All Years"},...Array.from({length:ae-1980+1},(e,a)=>({value:String(ae-a),label:String(ae-a)}))],m=(e=L,a=1)=>{const s=new URLSearchParams;w.trim()&&s.set("query",w.trim()),e!=="last_added"&&s.set("sortBy",e),C!=="ALL"&&s.set("type",C),N!=="ALL"&&s.set("season",N),b!=="ALL"&&s.set("year",b);const r=Object.entries(k).filter(([,_])=>_==="include").map(([_])=>_),u=Object.entries(k).filter(([,_])=>_==="exclude").map(([_])=>_);r.length>0&&s.set("genres",r.join(",")),u.length>0&&s.set("excludeGenres",u.join(",")),a>1&&s.set("page",a.toString()),A(s),a!==f&&I(a)},he=e=>{if(m(L,e),H.current){const a=H.current.getBoundingClientRect().top+window.scrollY-100;window.scrollTo({top:a,behavior:"smooth"})}},Ee=()=>{x(""),V("last_added"),$("ALL"),P("ALL"),F("ALL"),G({}),A(new URLSearchParams),I(1)},De=e=>{G(a=>{const s=a[e],r={...a};return s==="include"?r[e]="exclude":s==="exclude"?delete r[e]:r[e]="include",r})},ue=(e,a)=>{if(i){B({id:e,name:a});return}String(de)==="true"||String(de)==="1"?ee.mutate({id:e}):B({id:e,name:a})},ze=()=>{if(o){if(o.ids){i?(Ue.mutate({ids:o.ids}),Z&&pe.mutate({ids:o.ids})):pe.mutate({ids:o.ids}),y(new Set),B(null),E(!1),D(!1);return}i?(Ge.mutate({showId:o.id}),Z&&ee.mutate({id:o.id})):ee.mutate({id:o.id}),ce&&Me.mutate({key:"skipRemoveConfirmation",value:!0}),B(null),E(!1),D(!1)}},me=()=>{B(null),E(!1),D(!1)},pe=dt(),Ue=ht(),qe=ut(),Ye=()=>{Re(e=>{const a=!e;return a||y(new Set),a})},je=e=>{y(a=>{const s=new Set(a);return s.has(e)?s.delete(e):s.add(e),s})},K=te.map(e=>e.id),ne=K.length>0&&K.every(e=>p.has(e)),Ke=()=>{y(ne?e=>St(e,K):e=>yt(e,K))},Qe=e=>{p.size!==0&&(qe.mutate({ids:[...p],status:e}),y(new Set))},Ve=()=>{p.size!==0&&B({ids:[...p]})},ge=X.length>=14&&oe&&oe.data.length>0,ve=T(()=>Math.max(1,Math.ceil(R/14)),[R]),S=[];w.trim()&&S.push({key:"query",label:`Search: ${w}`,onRemove:()=>{x(""),m()}}),C!=="ALL"&&S.push({key:"type",label:`Type: ${C}`,onRemove:()=>{$("ALL"),m()}}),N!=="ALL"&&S.push({key:"season",label:`Season: ${N}`,onRemove:()=>{P("ALL"),m()}}),b!=="ALL"&&S.push({key:"year",label:`Year: ${b}`,onRemove:()=>{F("ALL"),m()}});for(const[e,a]of Object.entries(k))S.push({key:e,label:a==="include"?`+ ${e}`:`-${e}`,tone:a==="include"?"primary":"danger",onRemove:()=>{G(s=>{const r={...s};return delete r[e],r}),m()}});return t("div",{className:"page-container",children:[t("header",{className:n.header,children:[t("h2",{className:n.title,children:"My Watchlist"}),t("p",{className:n.subtitle,children:"Track and manage your anime collection"})]}),t("div",{className:n.controls,children:[t("div",{className:n.filters,children:Ne.map(e=>t("button",{className:`${n.filterBtn} ${d===e?n.active:""}`,onClick:()=>{const a=new URLSearchParams(l);a.delete("page"),v({pathname:`/watchlist/${e}`,search:a.toString()}),I(1)},children:e},e))}),t("div",{children:t("select",{className:c.sortSelect,value:L,onChange:e=>{const a=e.currentTarget.value;V(a),m(a,f)},children:[t("option",{value:"last_added",children:"Recently Added"}),t("option",{value:"name_asc",children:"Name (A-Z)"}),t("option",{value:"name_desc",children:"Name (Z-A)"})]})})]}),t("div",{className:c.filterContainer,children:[t("div",{className:c.searchBarWrapper,children:[t("div",{className:c.inputIconWrapper,children:[t(g,{name:"search",className:c.searchIcon}),t("input",{className:c.searchInput,placeholder:"Search your watchlist by title...",value:w,onInput:e=>x(e.currentTarget.value),onKeyDown:e=>e.key==="Enter"&&m()})]}),t("div",{className:c.searchActions,children:[t(W,{onClick:()=>m(),className:c.searchBtn,children:"Search"}),t("button",{className:`${c.filterToggleBtn} ${M?n.active:""}`,onClick:()=>be(!M),children:[t(g,{name:"filter",size:14}),t("span",{children:"Filters"}),M?t(g,{name:"chevron-up",size:12}):t(g,{name:"chevron-down",size:12})]})]})]}),t("div",{className:`${c.advancedFilters} ${M?c.show:""}`,children:[t("div",{className:c.filterDivider}),t("div",{className:c.filterGrid,children:[t("div",{className:c.filterItem,children:[t("label",{children:"Type"}),t("select",{value:C,onChange:e=>$(e.currentTarget.value),children:Ut.map(e=>t("option",{value:e.value,children:e.label},e.value))})]}),t("div",{className:c.filterItem,children:[t("label",{children:"Season"}),t("select",{value:N,onChange:e=>P(e.currentTarget.value),children:qt.map(e=>t("option",{value:e.value,children:e.label},e.value))})]}),t("div",{className:c.filterItem,children:[t("label",{children:"Year"}),t("select",{value:b,onChange:e=>F(e.currentTarget.value),children:Oe.map(e=>t("option",{value:e.value,children:e.label},e.value))})]})]}),re.length>0&&t("div",{className:c.genreSection,children:[t("label",{className:c.genreLabel,children:"Genres"}),t("div",{className:c.genreContainer,children:re.map(e=>t("button",{className:`${c.genreButton} ${c[k[e]||""]}`,onClick:()=>De(e),children:e},e))})]}),t("div",{className:c.filterActions,children:[t(W,{variant:"secondary",onClick:Ee,children:"Reset All"}),t(W,{onClick:()=>m(),className:c.applyBtn,children:"Apply Filters"})]})]})]}),t("div",{className:n.resultsHeader,ref:H,children:[t("h3",{className:n.resultsTitle,children:[i?"Continue Watching":d,t("span",{className:n.itemCount,children:["(",R," items)"]})]}),t("div",{className:n.headerActions,children:[t("button",{className:`${n.manageBtn} ${z?n.active:""}`,onClick:Ye,children:[t(g,{name:"pencil-alt",size:13}),t("span",{children:"Bulk Manage"})]}),R>0&&t(Le,{page:f,totalPages:ve,canGoNext:ge,onChange:he,isLoading:j})]})]}),z&&t("div",{className:n.manageBar,children:[t("button",{className:n.selectAllBtn,onClick:Ke,children:[t("span",{className:`${n.selectAllBox} ${ne?n.selectAllBoxChecked:""}`,"aria-hidden":"true"}),t("span",{children:ne?"Clear Page":"Select All"})]}),t("span",{className:n.manageCount,children:[p.size," selected"]}),t("div",{className:n.manageSpacer}),!i&&t("select",{className:n.manageStatusSelect,value:"",onChange:e=>{e.currentTarget.value&&Qe(e.currentTarget.value)},disabled:p.size===0,title:"Set status for selected items",children:[t("option",{value:"",children:"Set status…"}),Ce.map(e=>t("option",{value:e,children:e},e))]}),t("button",{className:n.manageRemoveBtn,onClick:Ve,disabled:p.size===0,children:[t(g,{name:"trash",size:13}),t("span",{children:"Remove Selected"})]})]}),j?t(pt,{}):ie?t(gt,{message:ie.message}):t(Xe,{children:[S.length>0&&t(vt,{chips:S}),t("div",{className:`${n.grid} ${Be?n.lowEnd:""}`,children:te.map(e=>{const a=p.has(e.id);return t("div",{className:`${n.itemWrapper} ${a?n.selected:""}`,children:[z&&t("div",{className:n.selectOverlay,onClick:()=>je(e.id),title:a?"Deselect":"Select",children:t("span",{className:n.selectBadge,children:a?t(g,{name:"check",size:12}):null})}),t(mt,{anime:e,continueWatching:i,onRemove:()=>ue(e.id,e.name),layout:"vertical"}),!i&&!z&&t("div",{className:n.cardActions,children:[t("select",{className:n.statusSelect,value:e.status,onChange:s=>Fe.mutate({id:e.id,status:s.currentTarget.value}),children:Ce.map(s=>t("option",{value:s,children:s},s))}),t("button",{className:n.removeBtn,onClick:()=>ue(e.id,e.name),title:"Remove from Watchlist","aria-label":"Remove from Watchlist",children:t(g,{name:"trash",size:12})})]})]},e._id)})})]}),!j&&te.length===0&&t("div",{className:n.emptyState,children:[t("h3",{className:n.emptyTitle,children:"Your watchlist is looking a bit lonely"}),t("p",{className:n.emptyText,children:d!=="All"||w||C!=="ALL"||N!=="ALL"||b!=="ALL"||Object.keys(k).length>0?"No anime match these filters. Try adjusting them to see more titles.":"Let's find something to watch!"}),t("button",{className:n.emptyBtn,onClick:()=>v("/search"),children:[t(g,{name:"search",size:14}),t("span",{children:"Browse Anime"})]})]}),R>0&&t("div",{className:n.bottomPagination,children:t(Le,{page:f,totalPages:ve,canGoNext:ge,onChange:he,isLoading:j,variant:"labeled"})}),t(se,{isOpen:!!o,onClose:me,title:i?"Reset Progress":"Remove from Watchlist",children:[t(se.Body,{children:[t("p",{children:o?.ids&&o.ids.length>1?i?`Are you sure you want to remove watch progress for ${o.ids.length} items?`:`Are you sure you want to remove ${o.ids.length} items from your watchlist?`:i?`Are you sure you want to remove your watch progress for "${o?.name}"?`:`Are you sure you want to remove "${o?.name}" from your watchlist?`}),i&&t("label",{children:[t("input",{type:"checkbox",checked:Z,onChange:e=>E(e.currentTarget.checked)}),"Also remove from my watchlist"]}),!i&&!(o?.ids&&o.ids.length>1)&&t("label",{children:[t("input",{type:"checkbox",checked:ce,onChange:e=>D(e.currentTarget.checked)}),"Remember my choice"]})]}),t(se.Actions,{children:[t(W,{variant:"secondary",onClick:me,children:"No"}),t(W,{variant:"danger",onClick:ze,children:"Yes"})]})]})]})};export{ca as default};
@@ -0,0 +1 @@
1
+ ._sortSelect_cahhw_1{width:180px;height:44px;padding:0 var(--space-4);background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2371717a' stroke-width='2' viewBox='0 0 12 12'%3E%3Cpolyline points='3 5 6 8 9 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;transition:all var(--transition-fast)}._sortSelect_cahhw_1:hover{background-color:var(--bg-elevated);border-color:var(--border-secondary)}._sortSelect_cahhw_1:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}._filterContainer_cahhw_30{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);padding:var(--space-6);border-radius:var(--radius-xl);margin-bottom:var(--space-10);box-shadow:var(--glass-shadow);animation:_slideUpIn_cahhw_1 .8s var(--ease-smooth);width:100%;box-sizing:border-box}._searchBarWrapper_cahhw_44{display:flex;gap:var(--space-4);align-items:center}._inputIconWrapper_cahhw_50{flex:1;position:relative}._searchIcon_cahhw_55{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}._searchInput_cahhw_64{width:100%;height:52px;padding:0 var(--space-4) 0 3.2rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;transition:all var(--transition-fast)}._searchInput_cahhw_64:focus{outline:none;border-color:var(--accent);background:var(--bg-elevated);box-shadow:0 0 0 4px var(--accent-glow)}._searchActions_cahhw_84{display:flex;gap:var(--space-3)}._searchBtn_cahhw_89{height:52px;padding:0 var(--space-8)!important}._filterToggleBtn_cahhw_94{display:flex;align-items:center;gap:var(--space-2);height:52px;padding:0 var(--space-4);background:#ffffff0d;border:1px solid var(--border-secondary);border-radius:var(--radius-lg);color:var(--text-primary);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}._filterToggleBtn_cahhw_94:hover{background:#ffffff1a;border-color:var(--text-secondary)}._advancedFilters_cahhw_115{max-height:0;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);opacity:0}._advancedFilters_cahhw_115._show_cahhw_122{max-height:1200px;opacity:1;margin-top:var(--space-6)}._filterDivider_cahhw_128{height:1px;background:var(--border-primary);margin-bottom:var(--space-6)}._filterGrid_cahhw_134{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-6);margin-bottom:var(--space-8)}._filterItem_cahhw_141{display:flex;flex-direction:column;gap:var(--space-2)}._filterItem_cahhw_141 label{font-size:.7rem;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}._filterItem_cahhw_141 select{height:44px;padding:0 var(--space-4);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2371717a' stroke-width='2' viewBox='0 0 12 12'%3E%3Cpolyline points='3 5 6 8 9 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;transition:all var(--transition-fast)}._filterItem_cahhw_141 select:hover{border-color:var(--border-secondary);background-color:var(--bg-elevated)}._filterItem_cahhw_141 select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}._genreSection_cahhw_183{border-top:1px solid var(--border-primary);padding-top:var(--space-6);margin-bottom:var(--space-8)}._genreLabel_cahhw_189{display:block;font-size:.7rem;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-4)}._genreContainer_cahhw_199{display:flex;flex-wrap:wrap;gap:var(--space-2)}._genreButton_cahhw_205{background:#ffffff0d;border:1px solid var(--border-primary);color:var(--text-secondary);padding:.5rem 1rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}._genreButton_cahhw_205:hover{border-color:var(--accent);color:var(--text-primary)}._genreButton_cahhw_205._include_cahhw_222{background:color-mix(in srgb,var(--color-success) 10%,transparent);border-color:var(--color-success);color:var(--color-success)}._genreButton_cahhw_205._exclude_cahhw_228{background:color-mix(in srgb,var(--color-danger) 10%,transparent);border-color:var(--color-danger);color:var(--color-danger);text-decoration:line-through}._filterActions_cahhw_235{display:flex;justify-content:flex-end;gap:var(--space-4);border-top:1px solid var(--border-primary);padding-top:var(--space-6)}@keyframes _slideUpIn_cahhw_1{}._applyBtn_cahhw_246{align-self:flex-start}
@@ -1 +1 @@
1
- import{_ as n}from"./index-C9FfV5Fg.js";let a=null,e=null;async function r(){return a||(e||(e=n(()=>import("./hls-BOLXTnjL.js"),[]).then(l=>(a=l.default,a)).catch(()=>null)),e)}function c(l){return l.canPlayType("application/vnd.apple.mpegurl")!==""||l.canPlayType("application/x-mpegURL")!==""}export{c,r as l};
1
+ import{_ as n}from"./index-DB81Su4I.js";let a=null,e=null;async function r(){return a||(e||(e=n(()=>import("./hls-BOLXTnjL.js"),[]).then(l=>(a=l.default,a)).catch(()=>null)),e)}function c(l){return l.canPlayType("application/vnd.apple.mpegurl")!==""||l.canPlayType("application/x-mpegURL")!==""}export{c,r as l};
@@ -0,0 +1 @@
1
+ ._container_vk8jv_1{position:relative;display:flex;align-items:center}._bellBtn_vk8jv_7{background:#00000026;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:none;color:var(--text-primary);font-size:1.25rem;cursor:pointer;padding:var(--space-2);display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast),background var(--transition-fast);position:relative;width:50px;height:50px;border-radius:50%}._bellBtn_vk8jv_7:hover{background:#00000040;border-color:#ffffff59;transform:scale(1.05)}._bellBtn_vk8jv_7:focus-visible{outline:none;box-shadow:var(--shadow-focus)}@media(max-width:848px){._bellBtn_vk8jv_7{width:36px;height:36px;font-size:1.05rem;padding:var(--space-1)}}@media(max-width:480px){._bellBtn_vk8jv_7{width:36px;height:36px;font-size:.95rem}}._badge_vk8jv_56{position:absolute;top:6px;right:6px;background-color:var(--color-danger);color:#fff;font-size:.62rem;font-weight:700;min-width:18px;height:18px;padding:0 4px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;border:none;pointer-events:none;animation:_bounce_vk8jv_1 .5s ease-out;line-height:1}@keyframes _bounce_vk8jv_1{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}._dropdown_vk8jv_96{position:absolute;top:calc(100% + var(--space-2));right:0;width:320px;max-height:480px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);z-index:var(--z-header);overflow:hidden;display:flex;flex-direction:column;animation:_slideIn_vk8jv_1 .3s ease}@keyframes _slideIn_vk8jv_1{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}._dropdownHeader_vk8jv_127{padding:var(--space-4);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-primary)}._dropdownHeader_vk8jv_127 h4{margin:0;font-size:1rem;color:var(--text-primary)}._clearAllBtn_vk8jv_141{background:none;border:1px solid var(--border-secondary);color:var(--accent-light);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);transition:all var(--transition-fast)}._clearAllBtn_vk8jv_141:hover{background:var(--accent-subtle);border-color:var(--border-accent);color:var(--accent-lighter)}._discoveryStatusRow_vk8jv_159{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:.72rem;color:var(--text-muted);background:#ffffff08;border-bottom:1px solid var(--border-primary)}._statusDot_vk8jv_170{width:8px;height:8px;border-radius:50%;flex-shrink:0}._statusDotRunning_vk8jv_177{background:var(--accent);animation:_statusPulse_vk8jv_1 1.2s ease-in-out infinite}._statusDotOk_vk8jv_182{background:var(--color-success)}._statusDotInfo_vk8jv_186{background:var(--color-info)}._statusDotError_vk8jv_190{background:var(--color-danger)}._statusDotIdle_vk8jv_194{background:var(--text-muted)}@keyframes _statusPulse_vk8jv_1{0%,to{opacity:1}50%{opacity:.35}}._list_vk8jv_208{overflow-y:auto;flex:1}._list_vk8jv_208::-webkit-scrollbar{width:4px}._list_vk8jv_208::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:2px}._item_vk8jv_222{display:flex;align-items:center;padding:var(--space-3) var(--space-4);gap:var(--space-3);text-decoration:none;transition:background var(--transition-fast);border-bottom:1px solid var(--border-primary);position:relative}._item_vk8jv_222:hover{background:#ffffff0d}._thumbnail_vk8jv_237{width:48px;height:64px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;box-shadow:0 2px 8px #0000004d}._itemInfo_vk8jv_246{flex:1;min-width:0}._itemTitle_vk8jv_251{display:block;font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--space-1)}._itemMeta_vk8jv_262{display:inline-block;font-size:.7rem;background:var(--accent);color:var(--accent-text);padding:1px 6px;border-radius:var(--radius-sm);font-weight:600}._systemItemMeta_vk8jv_272{display:inline-block;font-size:.7rem;background:#ffffff1a;color:var(--text-secondary);padding:1px 6px;border-radius:var(--radius-sm);font-weight:500;border:none;cursor:pointer;transition:background var(--transition-fast)}._systemItemMeta_vk8jv_272:hover{background:#ffffff2e}._removeItem_vk8jv_289{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer;padding:var(--space-2);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}._item_vk8jv_222:hover ._removeItem_vk8jv_289{opacity:1}@media(hover:none),(pointer:coarse){._removeItem_vk8jv_289{opacity:1}}._removeItem_vk8jv_289:hover{color:var(--color-danger)}._queueItem_vk8jv_319:hover{color:var(--color-success)}._emptyState_vk8jv_323{padding:var(--space-10) var(--space-4);text-align:center;color:var(--text-muted);font-size:.9rem}@media(max-width:768px){._dropdown_vk8jv_96{position:fixed;top:var(--header-height, 60px);left:0;right:0;width:100%;max-height:calc(100vh - var(--header-height, 60px));border-radius:0 0 var(--radius-md) var(--radius-md)}._bellBtn_vk8jv_7{width:36px;height:36px;font-size:1rem}._removeItem_vk8jv_289{padding:var(--space-2);min-width:36px;min-height:36px}._badge_vk8jv_56{top:5px;right:6px;font-size:.58rem;min-width:16px;height:16px;padding:0 3px}}@media(max-width:480px){._bellBtn_vk8jv_7{width:38px;height:38px;font-size:1.1rem}}._notificationDivider_vk8jv_371{height:1px;flex-shrink:0;margin:var(--space-2) 0;background:var(--border-primary)}.skeleton{position:relative;overflow:hidden;background-color:var(--bg-tertiary);border-radius:var(--radius-sm)}.skeleton:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#ffffff0d 20%,#ffffff1f 60%,#fff0);animation:shimmer 1.8s infinite ease-in-out;content:""}.skeleton-text{border-radius:var(--radius-sm);height:1em}.skeleton-circular{border-radius:50%}.skeleton-rectangular{border-radius:var(--radius-md)}.skeleton-card{display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow:hidden}@keyframes shimmer{to{transform:translate(100%)}}._logo_t3il2_1{height:var(--logo-height, 75px);width:auto;display:block;overflow:visible}._skewer_t3il2_8{fill:none;stroke:#d9c6a5;stroke-width:1.1;stroke-linecap:round}._gaze_t3il2_15{transform:translate(calc(var(--dango-gaze-x, 0) * 1.1px),calc(var(--dango-gaze-y, 0) * .8px));transition:transform var(--gaze-dur, .15s) ease-out}._face_t3il2_20{opacity:0;transition:opacity .18s ease}[data-dango-face=normal] ._faceNormal_t3il2_25,[data-dango-face=pet] ._facePet_t3il2_26,[data-dango-face=squint] ._faceSquint_t3il2_27,[data-dango-face=sleep] ._faceSleep_t3il2_28{opacity:1}[data-dango-hover] ._gaze_t3il2_15{filter:drop-shadow(0 0 .5px var(--accent))}._line_t3il2_36{fill:none;stroke:#140f15;stroke-width:.5;stroke-linecap:round;stroke-linejoin:round}._sway_t3il2_44{animation:_dango-sway_t3il2_1 7.4s ease-in-out infinite}@keyframes _dango-sway_t3il2_1{0%,to{transform:translate(0)}50%{transform:translateY(.5px)}}._weight_t3il2_58{animation:_dango-weight_t3il2_1 5.6s ease-in-out infinite}@keyframes _dango-weight_t3il2_1{0%,to{transform:translate(0)}45%,65%{transform:translate(.2px,.8px)}}._shift_t3il2_73{animation:_dango-shift_t3il2_1 10.5s ease-in-out infinite}@keyframes _dango-shift_t3il2_1{0%,to{transform:translate(.3px,.6px)}50%{transform:translate(-.3px,.3px)}}._rock_t3il2_87{animation:_dango-rock_t3il2_1 7.9s ease-in-out infinite}@keyframes _dango-rock_t3il2_1{0%,72%,to{transform:translate(0)}80%{transform:translate(-.35px,.5px)}88%{transform:translate(.15px,.1px)}}._glance_t3il2_105{animation:_dango-glance_t3il2_1 11s ease-in-out infinite}@keyframes _dango-glance_t3il2_1{0%,30%,to{transform:translate(0)}40%,50%{transform:translate(-1.6px,-.45px)}62%{transform:translate(0)}}._blink_t3il2_124{transform-box:fill-box;transform-origin:center}._blinkDouble_t3il2_129{animation:_dango-blink-double_t3il2_1 4.4s infinite}@keyframes _dango-blink-double_t3il2_1{0%,86%,to{transform:scaleY(1)}89%,90.5%{transform:scaleY(.08)}93%,94.5%{transform:scaleY(.08)}97%{transform:scaleY(1)}}._blinkSlow_t3il2_153{animation:_dango-blink-slow_t3il2_1 9.5s infinite}@keyframes _dango-blink-slow_t3il2_1{0%,82%,to{transform:scaleY(1)}88%{transform:scaleY(.14)}95%{transform:scaleY(1)}}[data-dango-nudge=""] ._bump_t3il2_172{animation:_dango-nudge_t3il2_1 .52s ease-out}@keyframes _dango-nudge_t3il2_1{0%,to{transform:translate(0)}25%{transform:translate(.5px)}60%{transform:translate(-.35px)}}[data-dango-cheer=""] ._heart_t3il2_189{animation:_dango-heart_t3il2_1 1.2s ease-out infinite}._heart_t3il2_189{opacity:0;font-size:4.6px;text-anchor:middle;transform-box:fill-box;transform-origin:center}@keyframes _dango-heart_t3il2_1{0%{opacity:0;transform:translate(0) scale(.35)}22%{opacity:1}to{opacity:0;transform:translate(var(--drift, 0),-6.5px) scale(1.05)}}@media(prefers-reduced-motion:reduce){._sway_t3il2_44,._weight_t3il2_58,._shift_t3il2_73,._rock_t3il2_87,._glance_t3il2_105,._blinkDouble_t3il2_129,._blinkSlow_t3il2_153,[data-dango-nudge=""] ._bump_t3il2_172,[data-dango-cheer=""] ._heart_t3il2_189{animation:none}}._header_q6huj_1{height:var(--header-height);--logo-height: 42px;background:transparent;border-bottom:1px solid transparent;position:fixed;top:var(--vv-top, 0px);left:0;right:0;z-index:var(--z-header);display:flex;align-items:center;justify-content:center;transition:transform var(--transition-slow),background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}._header_q6huj_1._hidden_q6huj_21{transform:translateY(-100%)}._header_q6huj_1._scrolled_q6huj_25{background-color:#0c0c0fd1;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 32px #00000073}._logo_q6huj_31{display:flex;align-items:center;justify-content:center;padding:4px;border-radius:var(--radius-md);transition:opacity var(--transition-base)}._logo_q6huj_31:hover{opacity:.8}._headerInner_q6huj_44{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-8);display:flex;align-items:center;justify-content:space-between}._leftSection_q6huj_54{display:flex;align-items:center;gap:var(--space-2)}._desktopNav_q6huj_60{display:flex;align-items:center;gap:var(--space-1);margin-left:var(--space-6)}._navLink_q6huj_67{color:var(--text-secondary);font-weight:500;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);text-decoration:none;transition:all var(--transition-fast);position:relative}._navLink_q6huj_67:hover{color:var(--text-primary);background:#ffffff0f}._navLinkActive_q6huj_83{color:#fff;font-weight:600;background:#ffffff1a}._navLinkActive_q6huj_83:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:16px;height:2px;background:var(--accent);border-radius:var(--radius-full);box-shadow:0 0 8px var(--accent-glow)}._rightSection_q6huj_102{display:flex;align-items:center;gap:var(--space-3)}._searchWrapper_q6huj_108{display:flex;align-items:center;gap:8px}._searchInput_q6huj_114{width:0;opacity:0;padding:0;border:none;background:transparent;color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit;height:42px;transition:all var(--transition-base);pointer-events:none;outline:none}._searchInput_q6huj_114::placeholder{color:#ffffffb3}._searchWrapper_q6huj_108:focus-within ._searchInput_q6huj_114{width:200px;opacity:1;padding:0 var(--space-3);pointer-events:auto;background:#00000059;border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-full);color:#fff}._searchButton_q6huj_144{background:#00000026;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:none;color:var(--text-primary);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;width:50px;height:50px;border-radius:50%;transition:all var(--transition-base);flex-shrink:0}._searchButton_q6huj_144:hover{background:#00000040;border-color:#ffffff59}._searchIcon_q6huj_168{font-size:1rem;color:#fff;transition:all var(--transition-base)}._searchButton_q6huj_144:hover ._searchIcon_q6huj_168{color:var(--accent)}._profileBtn_q6huj_178{width:50px;height:50px;border-radius:50%;overflow:hidden;border:none;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#00000026;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text-primary)}._profileBtn_q6huj_178:hover{border-color:#ffffff59;transform:translateY(-2px);background:#00000040}._profileBtn_q6huj_178:active{transform:scale(.95)}._profileBtn_q6huj_178 svg{color:var(--text-primary);font-size:1.1rem}._profileImg_q6huj_211{width:100%;height:100%;object-fit:cover}._hamburgerBtn_q6huj_217{background:none;border:none;color:var(--text-primary);font-size:1.25rem;padding:var(--space-2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast);height:40px;width:40px;flex-shrink:0}._hamburgerBtn_q6huj_217:hover{background:#ffffff0f}._hamburgerBtn_q6huj_217:active{transform:scale(.95)}._mobileSearchBar_q6huj_244{display:none}@media(max-width:1024px){._searchInput_q6huj_114{display:none}._searchWrapper_q6huj_108:focus-within ._searchInput_q6huj_114{display:none}._mobileSearchBar_q6huj_244{display:block;position:absolute;top:100%;left:0;right:0;background:#0c0c0fe6;padding:var(--space-2) var(--space-3);animation:_slideDown_q6huj_1 .2s ease;transition:transform var(--transition-base),opacity var(--transition-base)}._mobileSearchBarHidden_q6huj_271{transform:translateY(-100%);opacity:0;pointer-events:none}@keyframes _slideDown_q6huj_1{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}._mobileSearchInner_q6huj_288{display:flex;align-items:center;background:#ffffff14;border:none;border-radius:var(--radius-full);padding:0 var(--space-4);height:40px}._mobileSearchInner_q6huj_288:focus-within{border:none;outline:none;box-shadow:0 0 0 2px var(--accent)}._mobileSearchIcon_q6huj_304{color:#ffffff80;font-size:.85rem;flex-shrink:0;margin-right:var(--space-2)}._mobileSearchInput_q6huj_311{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit;height:100%}._mobileSearchInput_q6huj_311::placeholder{color:#ffffff80}._mobileSearchInput_q6huj_311:focus,input._mobileSearchInput_q6huj_311:focus,._mobileSearchInput_q6huj_311:focus-visible,input._mobileSearchInput_q6huj_311:focus-visible{outline:none!important;box-shadow:none!important;border:none}}@media(max-width:848px){._header_q6huj_1{height:64px;padding:0 var(--space-3);--logo-height: 36px}._headerInner_q6huj_44{padding:0;max-width:none}._leftSection_q6huj_54{gap:var(--space-1);min-width:0}._hamburgerBtn_q6huj_217{height:36px;width:36px;font-size:.9rem}._logo_q6huj_31{padding:2px;min-width:0}._searchButton_q6huj_144{width:36px;height:36px}._rightSection_q6huj_102{gap:2px}._profileBtn_q6huj_178{width:36px;height:36px}}@media(max-width:900px){._desktopNav_q6huj_60{display:none}}@media(max-width:480px){._rightSection_q6huj_102{gap:4px}._hamburgerBtn_q6huj_217{height:38px;width:38px;font-size:1rem}._logo_q6huj_31{padding:2px;min-width:0}._searchButton_q6huj_144,._profileBtn_q6huj_178{width:38px;height:38px}}._sidebar_153jc_1{position:fixed;top:0;left:0;width:280px;max-width:85vw;height:100%;transition:transform var(--transition-normal);z-index:var(--z-sidebar);padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;overflow-y:auto;transform:translate(-100%);background-color:#0a0a0cf2;color:var(--text-primary);border-right:1px solid var(--border-primary)}._sidebar_153jc_1._open_153jc_20{transform:translate(0);box-shadow:20px 0 60px #00000080}._sidebarHeader_153jc_25{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-10);position:relative}._closeBtn_153jc_33{position:absolute;top:0;right:0;background:none;border:none;font-size:1.25rem;line-height:1;cursor:pointer;color:var(--text-tertiary);transition:color var(--transition-base);display:flex;align-items:center;justify-content:center;padding:var(--space-1);width:32px;height:32px;border-radius:var(--radius-sm)}._closeBtn_153jc_33:hover{color:var(--text-primary)}._logo_153jc_57{display:flex;align-items:center;text-decoration:none;--logo-height: 50px;transition:opacity var(--transition-base)}._logo_153jc_57:hover{opacity:.8}._navSection_153jc_69{display:flex;flex-direction:column;gap:var(--space-1)}._navLink_153jc_75{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);text-decoration:none;transition:all var(--transition-base);color:var(--text-secondary);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);border-left:2px solid transparent;margin-left:var(--space-2)}._navLink_153jc_75 svg{font-size:1rem;width:20px;text-align:center;flex-shrink:0;transition:color var(--transition-base)}._navLink_153jc_75:hover{background-color:#ffffff0a;color:var(--text-primary);border-left-color:#ffffff26}._navLink_153jc_75:hover svg{color:var(--text-primary)}._navLink_153jc_75._active_153jc_108{background-color:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-light);border-left-color:var(--accent)}._navLink_153jc_75._active_153jc_108 svg{color:var(--accent)}._overlay_153jc_118{position:fixed;inset:0;background-color:#0009;z-index:calc(var(--z-sidebar) - 1);animation:_fadeIn_153jc_1 .3s ease-out}@keyframes _fadeIn_153jc_1{0%{opacity:0}to{opacity:1}}._versionInfo_153jc_138{margin-top:auto;padding-top:var(--space-8);font-size:1rem;color:var(--text-secondary);text-align:left;display:flex;align-items:center;gap:var(--space-2)}._versionInfo_153jc_138:before{content:"";display:block;width:5px;height:5px;border-radius:50%;background-color:var(--color-success)}@media(max-width:768px){._sidebar_153jc_1{width:260px;padding:var(--space-6) var(--space-4)}._sidebarHeader_153jc_25{margin-bottom:var(--space-8)}._logo_153jc_57{--logo-height: 48px}._navLink_153jc_75{padding:var(--space-3) var(--space-3)}}._footer_1c905_1{width:100%;position:relative;padding:0 var(--space-8) var(--space-8);overflow:visible;border-top:1px solid rgba(255,255,255,.08);margin-top:auto;background:linear-gradient(180deg,#0a0a0c99,#050507f2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--text-tertiary);font-size:var(--font-size-sm)}._footerInner_1c905_15{width:100%;max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1fr auto;align-items:start;gap:var(--space-12);padding-bottom:var(--space-8);border-bottom:1px solid rgba(255,255,255,.06)}._brandSection_1c905_27{grid-column:1;display:flex;flex-direction:column;align-items:flex-start;text-align:left;max-width:320px;position:relative;padding-top:0;margin-top:-30px}._logoRow_1c905_39{display:flex;align-items:center;gap:14px}._logoText_1c905_45{--logo-height: 60px;width:auto;display:block}._brandMeta_1c905_51{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2);flex-wrap:wrap;margin-top:10px}._brandTagline_1c905_60{color:var(--text-secondary);font-size:.88rem;line-height:1.5;margin:0}._statusPill_1c905_67{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-full);font-size:.78rem;color:var(--text-secondary);width:fit-content}._statusDot_1c905_80{width:7px;height:7px;border-radius:50%;background:var(--color-success);box-shadow:0 0 8px var(--color-success)}._linksGrid_1c905_88{grid-column:2;display:flex;gap:var(--space-8);justify-content:flex-end;padding-top:var(--space-8)}._linkColumn_1c905_96{display:flex;flex-direction:column;gap:var(--space-2)}._columnTitle_1c905_102{color:var(--text-primary);font-size:.9rem;font-weight:700;margin:0 0 var(--space-2);text-transform:uppercase;letter-spacing:.05em}._footer_1c905_1 a{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.88rem;transition:all var(--transition-fast);display:inline-flex;align-items:center}._footer_1c905_1 a:hover{color:var(--accent);transform:translate(2px)}._bottomBar_1c905_126{position:relative;width:100%;max-width:var(--max-width);margin:var(--space-6) auto 0;display:flex;align-items:center;justify-content:center}._copyright_1c905_136{margin:0;color:var(--text-muted);font-size:.85rem;display:flex;align-items:center;justify-content:center;gap:4px;text-align:center}._brand_1c905_27{color:var(--accent);font-weight:700}._heartIcon_1c905_152{color:var(--color-danger);margin:0 2px}._backToTop_1c905_157{position:absolute;right:0;display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}._backToTop_1c905_157:hover{background:#ffffff1f;color:#fff;border-color:var(--accent);transform:translateY(-2px)}@media(max-width:768px){._footer_1c905_1{padding:0 var(--space-4) var(--space-6)}._footerInner_1c905_15{grid-template-columns:1fr;gap:var(--space-5);align-items:center;justify-items:center}._brandSection_1c905_27{grid-column:1;align-items:center;text-align:center;padding-top:0;justify-content:center;margin-top:-26px}._logoRow_1c905_39{flex-direction:column;align-items:center;gap:6px}._logoText_1c905_45{--logo-height: 52px}._brandMeta_1c905_51{flex-direction:column;align-items:center;gap:var(--space-1);justify-content:center;margin-top:6px}._linksGrid_1c905_88{grid-column:1;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);text-align:center}._linkColumn_1c905_96{align-items:center;gap:var(--space-1)}._columnTitle_1c905_102{margin:0 0 var(--space-1);font-size:.78rem}._footer_1c905_1 a{font-size:.82rem}._bottomBar_1c905_126{flex-direction:column;gap:var(--space-3);text-align:center}._copyright_1c905_136{font-size:.78rem}._backToTop_1c905_157{position:static}}._overlay_1juub_1{position:fixed;inset:0;background-color:#0009;z-index:var(--z-modal);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:_fadeIn_1juub_1 .2s ease-out}._content_1juub_11{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:calc(var(--z-modal) + 1);background-color:var(--bg-secondary);padding:var(--space-6);border-radius:var(--radius-lg);width:100%;max-width:min(500px,calc(100vw - 2 * var(--space-4)));max-height:calc(100vh - 2 * var(--space-4));overflow-y:auto;box-shadow:var(--shadow-xl);border:1px solid var(--border-primary);animation:_modalIn_1juub_1 .2s var(--ease-smooth)}._sm_1juub_29{max-width:min(400px,calc(100vw - 2 * var(--space-4)))}._md_1juub_33{max-width:min(500px,calc(100vw - 2 * var(--space-4)))}._lg_1juub_37{max-width:min(700px,calc(100vw - 2 * var(--space-4)))}._title_1juub_41{margin:0 0 var(--space-4);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}._body_1juub_48{color:var(--text-secondary)}._footer_1juub_52{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-primary)}._footer_1juub_52>*{flex:0 1 auto;min-width:0;max-width:100%}@media(max-width:480px){._content_1juub_11{padding:var(--space-4)}._footer_1juub_52{flex-direction:column;align-items:stretch;justify-content:flex-start}._footer_1juub_52>*{flex:1 1 auto;width:100%}}@keyframes _fadeIn_1juub_1{0%{opacity:0}to{opacity:1}}@keyframes _modalIn_1juub_1{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}._container_e96gf_1{display:flex;flex-direction:column;gap:1rem;color:var(--text-primary);max-width:400px}._field_e96gf_9{display:flex;flex-direction:column;gap:.5rem}._field_e96gf_9 label{font-size:.9rem;opacity:.8}._textarea_e96gf_20{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary);padding:.5rem;border-radius:4px;resize:vertical;font-family:inherit}._textarea_e96gf_20:hover{border-color:var(--border-secondary)}._textarea_e96gf_20:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-input-focus)}._input_e96gf_40{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary);padding:.6rem;border-radius:4px}._input_e96gf_40:hover{border-color:var(--border-secondary)}._input_e96gf_40:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-input-focus)}._button_e96gf_58{background:var(--accent);color:var(--text-primary);border:none;padding:.7rem;border-radius:4px;cursor:pointer;font-weight:600;transition:opacity .2s}._button_e96gf_58:hover{opacity:.9}._button_e96gf_58:disabled{opacity:.5;cursor:not-allowed}._secondaryButton_e96gf_78{background:transparent;border:1px solid var(--border-primary);color:var(--text-primary);padding:.7rem;border-radius:4px;cursor:pointer;transition:background .2s,border-color .2s}._secondaryButton_e96gf_78:hover{background:#ffffff0d;border-color:var(--border-secondary)}._actions_e96gf_95{display:flex;gap:.5rem}._actions_e96gf_95 ._button_e96gf_58{flex:1}._hint_e96gf_104{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;padding:.6rem;font-size:.85rem;line-height:1.5}._hint_e96gf_104 ._actions_e96gf_95{margin-top:.6rem}._link_e96gf_117{color:var(--accent);text-decoration:underline;font-weight:600}._link_e96gf_117:hover{opacity:.85}.top-progress-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;overflow:hidden;pointer-events:none;background:transparent}.top-progress-bar:after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;border-radius:0 3px 3px 0;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-light),transparent);animation:top-progress-slide 1.1s infinite ease-in-out}@keyframes top-progress-slide{0%{transform:translate(-100%)}to{transform:translate(280%)}}@media(prefers-reduced-motion:reduce){.top-progress-bar:after{animation:none;width:100%;border-radius:0}}._screen_1pca0_1{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%;background-color:var(--bg-secondary);color:var(--text-primary);text-align:center;padding:2rem}._icon_1pca0_14{font-size:4rem;color:var(--color-danger);margin-bottom:1rem}._title_1pca0_20{margin-bottom:1rem}._text_1pca0_24{color:var(--text-secondary);margin-bottom:2rem}._button_1pca0_29{padding:.8rem 1.5rem;background-color:var(--accent);color:var(--accent-text);border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:1rem;transition:background-color .2s}._button_1pca0_29:hover{background-color:var(--accent-light)}._container_88bss_1{display:flex;flex-direction:column;gap:1rem;color:var(--text-primary)}._field_88bss_8{display:flex;flex-direction:column;gap:.5rem}._field_88bss_8 label{font-size:.9rem;opacity:.8}._input_88bss_19{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary);padding:.6rem;border-radius:4px}._input_88bss_19:hover{border-color:var(--border-secondary)}._input_88bss_19:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-input-focus)}._actions_88bss_37{display:flex;gap:.5rem;justify-content:flex-end}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);cursor:pointer;border:none;outline:none;font-family:inherit;position:relative;white-space:nowrap;font-size:var(--font-size-base);background:transparent;color:var(--text-primary);padding:var(--space-3) var(--space-6);min-height:44px;transition:background-color .15s ease,color .15s ease,transform .1s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:var(--accent-text);box-shadow:0 4px 12px var(--accent-glow)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-light) 0%,var(--accent) 100%);transform:translateY(-1px);box-shadow:0 6px 16px var(--accent-glow)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:#ffffff14;border:1px solid var(--border-secondary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff40}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:#ffffff14;color:var(--text-primary)}.btn-danger{background:var(--color-danger);color:var(--color-danger-text)}.btn-danger:hover:not(:disabled){background:var(--color-danger-dark)}.btn-sm{min-height:36px;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn-lg{min-height:52px;padding:var(--space-4) var(--space-8);font-size:var(--font-size-md);border-radius:var(--radius-lg)}.btn-block{width:100%}.btn-loading{color:transparent;pointer-events:none}.btn-spinner{position:absolute;width:16px;height:16px;border:2px solid rgba(128,128,128,.35);border-top-color:var(--accent-text);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--accent: #6d5dfc;--logo-ink: #140f15;--accent-light: #897cff;--accent-lighter: #b3a8ff;--accent-dark: #5646db;--accent-text: #ffffff;--accent-subtle: rgba(109, 93, 252, .12);--accent-glow: rgba(109, 93, 252, .18);--accent-h: 245;--accent-s: 96%;--accent-l: 68%;--color-danger: #ef4444;--color-error: var(--color-danger);--color-danger-dark: #dc2626;--color-danger-text: #ffffff;--color-success: #10b981;--color-success-text: #ffffff;--color-warning: #f59e0b;--color-warning-text: #17171c;--color-info: #3b82f6;--color-info-text: #ffffff;--badge-info-bg: var(--accent);--badge-info-text: var(--accent-text);--secondary-h: 180;--secondary-s: 85%;--secondary-l: 50%;--accent-blue: hsl(var(--secondary-h), var(--secondary-s), var(--secondary-l));--accent-blue-light: hsl(var(--secondary-h), var(--secondary-s), 70%);--bg-main: #0c0d12;--bg-primary: #13151d;--bg-secondary: #13151d;--bg-tertiary: #191c27;--bg-elevated: #202433;--header-bg: rgba(12, 13, 18, .85);--text-primary: #ffffff;--text-secondary: #b4b4bd;--text-tertiary: #8f8f98;--text-muted: #b4b4bd;--border-primary: rgba(255, 255, 255, .08);--border-secondary: rgba(255, 255, 255, .12);--border-accent: hsla(var(--accent-h), var(--accent-s), var(--accent-l), .3);--border: var(--border-primary);--card-radius: var(--radius-lg);--border-light: var(--border-secondary);--danger-color: var(--color-danger);--shadow-input-focus: 0 0 0 2px var(--accent-subtle);--shadow-focus: 0 0 0 2px var(--accent-subtle);--glass-bg: rgba(20, 20, 22, .95);--glass-border: var(--border-primary);--glass-highlight: rgba(255, 255, 255, .05);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .36);--bg-hover: rgba(255, 255, 255, .08);--bg-hover-strong: rgba(255, 255, 255, .1);--bg-overlay: rgba(0, 0, 0, .55);--bg-overlay-strong: rgba(0, 0, 0, .6);--bg-overlay-heavy: rgba(0, 0, 0, .7);--bg-scrim: rgba(10, 10, 12, .55);--bg-scrim-strong: rgba(10, 10, 12, .8);--bg-dark: #0a0a0c;--bg-black: #000000;--border-strong: rgba(255, 255, 255, .14);--track-bg: rgba(255, 255, 255, .1);--track-buffered: rgba(255, 255, 255, .25);--shimmer-highlight: rgba(255, 255, 255, .07);--bg-selected: rgba(255, 255, 255, .06);--shadow-scrim: 0 4px 16px rgba(0, 0, 0, .45);--shadow-panel: 0 12px 32px rgba(0, 0, 0, .5);--color-danger-bg: rgba(153, 42, 42, .9);--font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-2xs: .4375rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.5rem;--font-size-xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--space-px: 1px;--space-2px: 2px;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--size-22: 22px;--size-42: 42px;--size-44: 44px;--size-48: 48px;--size-34: 34px;--size-36: 36px;--size-140: 140px;--size-180: 180px;--size-220: 220px;--size-250: 250px;--size-440: 440px;--size-480: 480px;--size-720: 720px;--size-84: 84px;--size-52: 52px;--size-90: 90px;--size-240: 240px;--size-320: 320px;--size-420: 420px;--size-900: 900px;--layout-asmr-max-width: 1400px;--layout-page-offset: 120px;--layout-player-mobile: 175px;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px -4px rgba(0, 0, 0, .6);--shadow-active: 0 0 0 1px var(--border-accent), 0 8px 24px -4px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .2);--shadow-thumb: 0 0 5px rgba(0, 0, 0, .5);--blur-sm: 4px;--blur-md: 6px;--blur-lg: 12px;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-drawer: 300;--z-sidebar: 500;--z-header: 400;--z-modal: 600;--z-popover: 700;--z-toast: 800;--z-overlay: 900;--header-height: 80px;--max-width: 1600px;--sidebar-width: 280px;--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-emphasized: cubic-bezier(.32, .72, 0, 1);--transition-fast: .2s var(--ease-smooth);--transition-base: .3s var(--ease-smooth);--transition-normal: .4s var(--ease-smooth);--transition-slow: .5s var(--ease-smooth);--transition-emphasized: .42s var(--ease-emphasized);--transition-quick: .09s var(--ease-smooth);--duration-shimmer: 1.6s;--duration-spin: .9s;--focus-ring-color: var(--accent-light);--focus-ring-glow: 0 0 0 3px rgba(109, 93, 252, .35);--focus-scale: scale(1.05)}@media(min-width:1920px){:root{--font-size-base: 1.125rem;--max-width: 2000px}}html[data-theme=mochi]{--accent: #e3e1ee;--accent-light: #f4f3fa;--accent-lighter: #ffffff;--accent-dark: #b3b1c6;--accent-text: #17171c;--accent-subtle: rgba(227, 225, 238, .12);--accent-glow: rgba(227, 225, 238, 0);--accent-h: 248;--accent-s: 18%;--accent-l: 89%;--bg-main: #131316;--bg-primary: #1b1b1f;--bg-secondary: #1b1b1f;--bg-tertiary: #232329;--bg-elevated: #2b2b32;--header-bg: rgba(19, 19, 22, .88);--text-primary: #f2f2f5;--text-secondary: #a9a9b3;--text-tertiary: #85858f;--text-muted: #a9a9b3;--border-primary: #2c2c33;--border-secondary: #3a3a43;--glass-bg: rgba(27, 27, 31, .96);--badge-info-bg: var(--accent);--badge-info-text: var(--accent-text);--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-active: 0 0 0 1px var(--border-secondary);--shadow-xl: none;--focus-ring-color: var(--accent);--focus-ring-glow: 0 0 0 3px rgba(227, 225, 238, .25)}html[data-theme=sakura]{--accent: #d9a3d9;--accent-light: #eccbec;--accent-lighter: #f9e8f9;--accent-dark: #a978a9;--accent-text: #fff;--accent-subtle: rgba(217, 163, 217, .12);--accent-glow: rgba(217, 163, 217, 0);--accent-h: 300;--accent-s: 45%;--accent-l: 74%;--bg-main: #141116;--bg-primary: #1c171e;--bg-secondary: #1c171e;--bg-tertiary: #241e26;--bg-elevated: #2e262f;--header-bg: rgba(20, 17, 22, .88);--text-primary: #f3eaf3;--text-secondary: #b3a3b5;--text-tertiary: #8d7c8f;--text-muted: #b3a3b5;--border-primary: #322a34;--border-secondary: #403640;--glass-bg: rgba(28, 23, 30, .96);--badge-info-bg: var(--accent-dark);--badge-info-text: #ffffff;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-active: 0 0 0 1px var(--border-secondary);--shadow-xl: none;--focus-ring-color: var(--accent);--focus-ring-glow: 0 0 0 3px rgba(217, 163, 217, .25)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:dark;scrollbar-gutter:stable;overflow-x:hidden;overflow-x:clip;max-width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html:has(:fullscreen),html:has(:-webkit-full-screen){scrollbar-gutter:auto}body{margin:0;padding:0;font-family:var(--font-family);background:var(--bg-main);color:var(--text-primary);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overflow-x:clip;max-width:100%;color-scheme:dark}html,body,.app-container,.posterWrapper,.dot,.genreTag{--darkreader-inline-bgcolor: none !important;--darkreader-inline-bgimage: none !important;--darkreader-inline-bordercolor: none !important;--darkreader-inline-color: none !important;background-color:transparent}body{overflow-x:hidden;overflow-x:clip}body:before{display:none!important}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);letter-spacing:-.02em}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring-color)!important;outline-offset:3px!important;box-shadow:var(--focus-ring-glow)!important;transition:outline-offset var(--transition-fast),transform var(--transition-fast)}a:focus:not(:focus-visible),button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),[tabindex]:focus:not(:focus-visible){outline:none!important;box-shadow:none!important}a,button,input,select,textarea,[tabindex]{-webkit-tap-highlight-color:transparent}@media(min-width:1200px){a:focus-visible,button:focus-visible{transform:var(--focus-scale)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.text-gradient{background:linear-gradient(135deg,#fff,#a5a5a5);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.text-gradient-accent{background:linear-gradient(135deg,var(--accent-light) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.app-container{display:flex;flex-direction:column;min-height:100vh}main{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-8) var(--space-16);position:relative;z-index:1}.main-content{padding-top:var(--header-height)}@media(max-width:1024px){.main-content{padding-top:calc(var(--header-height) + 52px)}}@media(max-width:848px){main{padding:0 var(--space-4) var(--space-12)}.main-content{padding-top:116px}}.badge{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-full);border:1px solid var(--border-primary);background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);white-space:nowrap}.badge-primary{border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-subtle);color:var(--accent-light)}.badge-secondary{border-color:var(--border-secondary);background:var(--bg-secondary);color:var(--text-secondary)}.badge-danger{border-color:color-mix(in srgb,var(--color-danger) 35%,transparent);background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger)}.section-title{font-size:1.75rem;font-weight:800;margin-bottom:var(--space-8);color:var(--text-primary);letter-spacing:-.02em;line-height:1}.section-eyebrow{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-light);margin:0;line-height:1.4}.section-eyebrow:before{content:"";width:14px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-dark) 100%);box-shadow:0 0 8px var(--accent-glow);flex:none}.title-stack{display:flex;flex-direction:column;gap:4px;min-width:0;justify-content:center}html[data-theme=mochi] .section-eyebrow,html[data-theme=sakura] .section-eyebrow{color:var(--accent)}@media(max-width:768px){.section-title{font-size:1.5rem;margin-bottom:var(--space-6)}}.grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-6);width:100%}@media(max-width:1024px){.grid-container{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-4)}}@media(max-width:768px){.grid-container{grid-template-columns:repeat(3,1fr);gap:var(--space-2)}}@media(max-width:480px){.grid-container{grid-template-columns:repeat(3,1fr);gap:8px}}footer{text-align:center;padding:var(--space-12);color:var(--text-muted);border-top:1px solid var(--border-primary);margin-top:var(--space-16);background:var(--bg-secondary)}footer a{color:var(--accent);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}footer a:hover{color:var(--accent-light);text-shadow:0 0 8px var(--accent-glow)}select{appearance:none;-webkit-appearance:none;cursor:pointer;background-color:var(--bg-tertiary)!important;border-color:var(--border-primary)!important}select:hover{background-color:var(--bg-tertiary)!important;border-color:var(--border-secondary)!important}select:focus{background-color:var(--bg-tertiary)!important;border-color:var(--accent)!important;outline:none}select:active{background-color:var(--bg-tertiary)!important}body.low-end{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol!important;--transition-fast: 0s !important;--transition-base: 0s !important;--transition-normal: 0s !important;--transition-slow: 0s !important;scroll-behavior:auto!important}body.low-end,body.low-end *{transition:none!important;animation:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;text-shadow:none!important}body.low-end:before{display:none!important}body.low-end .text-gradient,body.low-end .text-gradient-accent{background:none!important;-webkit-background-clip:initial!important;-webkit-text-fill-color:initial!important;color:var(--text-primary)!important}body.low-end .text-gradient-accent{color:var(--accent)!important}body.low-end [class*=banner],body.low-end [class*=bannerContainer],body.low-end [class*=bannerOverlay],body.low-end [class*=heroSection]{background-image:none!important;background-color:var(--bg-main)!important;min-height:auto!important}body.low-end [class*=infoGlass]{background:var(--bg-secondary)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:1px solid var(--border-primary)!important;box-shadow:none!important}.skeleton{position:relative;overflow:hidden;background-color:var(--bg-tertiary)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#ffffff0d 20%,#ffffff1f 60%,#fff0);animation:skeleton-wave 1.8s infinite ease-in-out}@keyframes skeleton-wave{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.page-container{width:100%;animation:page-fade-in var(--transition-smooth)}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}.error-message{padding:var(--space-4);text-align:center;color:var(--color-danger)}