@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700;900&display=swap";.source-switcher{max-width:1180px;margin:14px auto;display:flex;align-items:center;gap:8px;color:#71717a;font-size:12px}.source-switcher button{background:#18181b;border:1px solid #ffffff15;color:#a1a1aa;border-radius:7px;padding:7px 10px}.source-switcher button.active{background:#f43f5e;color:#fff;border-color:#f43f5e}:root{font-family:DM Sans,Noto Sans SC,sans-serif;color:#f4f4f5;background:#09090b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 8%,#2b111d 0,transparent 28%),#09090b}button,input,select{font:inherit}.app{min-height:100vh}.header{height:76px;padding:0 4vw;display:flex;align-items:center;gap:42px;border-bottom:1px solid #ffffff12;position:sticky;top:0;background:#09090bea;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:5}.brand{font-weight:900;font-size:25px;letter-spacing:4px;color:#fff;text-decoration:none}.brand span{color:#f43f5e}.header nav{display:flex;gap:8px}.header button,.filter-row button{background:none;border:0;color:#a1a1aa;padding:9px 12px;cursor:pointer}.header button:hover,.filter-row button:hover{color:#fff}.header-actions{margin-left:auto;display:flex;gap:10px}.header select,.filter-row select{background:#18181b;border:1px solid #ffffff18;color:#fff;border-radius:9px;padding:9px}.ghost{border:1px solid #ffffff22!important;border-radius:9px}.hero{min-height:440px;padding:80px 7vw;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.eyebrow,.kicker{color:#fb7185;font-size:12px;font-weight:700;letter-spacing:2px}.hero h1{font-size:clamp(48px,7vw,92px);line-height:.93;margin:18px 0 25px;letter-spacing:-5px}.hero h1 i{color:#fb7185;font-style:normal}.hero p{color:#a1a1aa;font-size:18px}.hero-orb{width:300px;height:300px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fb7185,#881337 45%,#18181b 72%);box-shadow:0 0 100px #f43f5e30;display:grid;place-items:center;transform:rotate(-12deg)}.hero-orb span{font-size:38px;font-weight:900;letter-spacing:10px}main{padding:40px 4vw 90px;max-width:1600px;margin:auto}.toolbar{display:flex;justify-content:space-between;align-items:end;gap:24px}.toolbar h2{font-size:32px;margin:8px 0}.toolbar form{display:flex}.toolbar input{width:min(380px,50vw);background:#18181b;color:#fff;border:1px solid #ffffff18;padding:13px 16px;border-radius:10px 0 0 10px;outline:none}.toolbar form button,.primary{background:#f43f5e;color:#fff;border:0;padding:0 20px;border-radius:0 10px 10px 0;font-weight:700}.filter-row{display:flex;gap:5px;align-items:center;margin:24px 0 30px;border-bottom:1px solid #ffffff12;padding-bottom:14px;overflow:auto}.filter-row .active{color:#fff;background:#27272a;border-radius:999px}.filter-row select{margin-left:auto}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 18px}.card{cursor:pointer}.poster{aspect-ratio:16/10;border-radius:10px;background:#27272a center/cover;position:relative;overflow:hidden;transition:.25s}.tone-0{background:linear-gradient(135deg,#172554,#4c1d95)}.tone-1{background:linear-gradient(135deg,#3f1d2e,#be123c)}.tone-2{background:linear-gradient(135deg,#134e4a,#0f172a)}.tone-3{background:linear-gradient(135deg,#422006,#7c2d12)}.tone-4{background:linear-gradient(135deg,#1e293b,#3730a3)}.poster:after{content:"";position:absolute}.card:hover .poster{transform:translateY(-4px);box-shadow:0 20px 45px #000}.play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:#fffffff0;color:#18181b;display:grid;place-items:center;padding-left:3px;opacity:0;transition:.2s}.card:hover .play{opacity:1}.duration{position:absolute;right:8px;top:8px;background:#09090bcc;padding:4px 7px;border-radius:5px;font-size:11px}.card-body h3{font-size:15px;line-height:1.45;margin:6px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.meta{color:#71717a;font-size:11px;margin:12px 0 0}.tags{display:flex;gap:6px;flex-wrap:wrap}.tags span,.tags button{font-size:11px;color:#a1a1aa;background:#18181b;border:0;border-radius:5px;padding:4px 7px}.notice,.loading,.empty-library{padding:70px;text-align:center;color:#a1a1aa;border:1px dashed #ffffff18;border-radius:14px}.film-icon{font-size:55px;color:#fb7185}.empty-library h3{color:#fff;font-size:22px}.watch{padding:38px 4vw 10px}.player{max-width:1180px;aspect-ratio:16/9;margin:auto;background:#000;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px #000}.player video{width:100%;height:100%}.empty-player{height:100%;display:grid;place-content:center;text-align:center;color:#71717a}.empty-player span{font-size:60px;color:#fb7185}.watch-info{max-width:1180px;margin:25px auto;display:flex;gap:24px;justify-content:space-between}.watch-info h1{font-size:30px;margin:10px 0}.watch-info p{color:#a1a1aa;line-height:1.7}.favorite{flex:none;height:44px;background:#f43f5e;color:#fff;border:0;border-radius:9px;padding:0 18px}footer{border-top:1px solid #ffffff12;padding:45px 4vw;display:flex;align-items:center;gap:30px;color:#71717a}footer p:last-child{margin-left:auto}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;display:grid;place-items:center;padding:20px}.dialog{position:relative;background:#18181b;border:1px solid #ffffff18;border-radius:18px;width:min(430px,100%);padding:38px}.dialog h2{font-size:30px}.close{position:absolute;right:16px;top:12px;background:none;border:0;color:#fff;font-size:28px}.dialog label{display:block;color:#a1a1aa;font-size:13px;margin:14px 0}.dialog input{display:block;width:100%;margin-top:7px;padding:12px;background:#09090b;border:1px solid #ffffff20;color:#fff;border-radius:8px}.dialog .primary{width:100%;padding:13px;border-radius:8px}.switch{width:100%;background:none;border:0;color:#fb7185;margin-top:18px}.form-error{color:#fb7185;font-size:13px}@media(max-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}.hero-orb{width:220px;height:220px}.header nav{display:none}}@media(max-width:700px){.grid{grid-template-columns:repeat(2,1fr);gap:24px 10px}.hero{padding:55px 5vw;min-height:370px}.hero-orb{display:none}.toolbar{align-items:stretch;flex-direction:column}.toolbar form,.toolbar input{width:100%}.header{padding:0 16px}.header-actions select{width:90px}.watch-info{display:block}.favorite{margin-top:18px}footer{display:block}footer p:last-child{margin-left:0}}.brand-button{background:none!important;border:0!important;padding:0!important;cursor:pointer}.header .brand-button{color:#fff}.logout-link{padding:8px 4px!important}.tag-filter{display:flex;align-items:center;gap:7px;overflow:auto;margin:-13px 0 28px;color:#71717a;font-size:12px}.tag-filter>span{flex:none;margin-right:5px}.tag-filter button{flex:none;border:1px solid #ffffff14;background:#18181b;color:#a1a1aa;border-radius:999px;padding:6px 10px;cursor:pointer}.tag-filter button:hover,.tag-filter button.active{color:#fff;border-color:#fb7185;background:#3f1723}.favorite{cursor:pointer}.favorite.saved{background:#3f3f46;color:#fda4af}.card-preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:#000;z-index:1}.poster.previewing .play{display:none}.poster.previewing .duration{z-index:2}@media(hover:none){.poster .play{opacity:.9}.poster.previewing .duration:before{content:"预览 · "}}.header-actions{overflow:visible}.language-picker{position:relative;z-index:80}.language-trigger{height:44px;display:flex;align-items:center;gap:9px;padding:0 13px!important;border:1px solid #303039!important;border-radius:11px!important;background:#17171c!important;color:#f7f7fa!important;white-space:nowrap}.language-trigger span,.language-menu span{font-size:20px;line-height:1}.language-trigger b,.language-menu b{font-weight:600}.language-trigger i{font-style:normal;color:#90909b;transition:transform .2s}.language-picker.open .language-trigger i{transform:rotate(180deg)}.language-menu{position:absolute;right:0;top:calc(100% + 10px);width:230px;max-height:min(70vh,570px);overflow:auto;padding:8px;background:#111827;border:1px solid #303747;border-radius:14px;box-shadow:0 22px 60px #000a;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transition:.18s ease}.language-picker.open .language-menu{opacity:1;visibility:visible;transform:none}.language-menu button{display:grid;grid-template-columns:28px 1fr 20px;align-items:center;gap:10px;width:100%;padding:11px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#f8fafc!important;text-align:left}.language-menu button:hover{background:#252d3c!important}.language-menu button.selected{background:#e82f58!important}.language-menu i{font-style:normal}.language-backdrop{display:none}.filter-row{display:flex;align-items:center;gap:16px;overflow:visible}.filter-options{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none}.filter-options::-webkit-scrollbar{display:none}.filter-options button{flex:0 0 auto}.sort-select{flex:0 0 auto;margin-left:auto;position:sticky;right:0;z-index:3;box-shadow:-18px 0 22px #10090eee}.tag-scroller{position:relative;display:flex;align-items:center;min-width:0}.tag-filter{flex:1;display:flex;align-items:center;overflow-x:auto;overscroll-behavior-inline:contain;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#44414a transparent;padding-bottom:7px}.tag-filter::-webkit-scrollbar{height:4px}.tag-filter::-webkit-scrollbar-track{background:transparent}.tag-filter::-webkit-scrollbar-thumb{background:#36343b;border-radius:9px}.tag-filter:hover::-webkit-scrollbar-thumb{background:#716c78}.tag-filter>*{flex:0 0 auto}.tag-arrow{position:absolute;z-index:4;width:30px;height:38px;border:0;border-radius:9px;background:#19161ccc;color:#fff;font-size:25px;opacity:.2;transition:.2s}.tag-scroller:hover .tag-arrow{opacity:.9}.tag-arrow.left{left:0}.tag-arrow.right{right:0}.tag-scroller:before,.tag-scroller:after{content:"";position:absolute;z-index:2;top:0;bottom:6px;width:55px;pointer-events:none}.tag-scroller:before{left:0;background:linear-gradient(90deg,#100b0f,transparent)}.tag-scroller:after{right:0;background:linear-gradient(270deg,#100b0f,transparent)}@media(max-width:700px){.header{overflow:visible}.language-trigger b{display:none}.language-trigger{padding:0 10px!important}.language-menu{position:fixed;left:0;right:0;top:auto;bottom:0;width:auto;max-height:76vh;border-radius:20px 20px 0 0;padding:14px 14px calc(14px + env(safe-area-inset-bottom));transform:translateY(105%);z-index:102}.language-picker.open .language-menu{transform:none}.language-backdrop{display:block;position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100vh!important;padding:0!important;border:0!important;border-radius:0!important;background:#0009!important;z-index:101}.filter-row{align-items:stretch}.filter-options{padding-bottom:5px}.sort-select{max-width:132px}.tag-arrow{display:none}.tag-filter{gap:7px;font-size:13px}.tag-scroller:before,.tag-scroller:after{width:25px}}html,body,.app{max-width:100%;overflow-x:hidden}@media(max-width:700px){.header{gap:8px}.header-actions{gap:5px;min-width:0}.header .ghost{padding:8px!important;font-size:12px;white-space:nowrap}.header .logout-link{display:none}.hero h1{font-size:44px;line-height:1.02;letter-spacing:-2px;word-break:break-all;max-width:90vw}.hero p{font-size:15px;max-width:88vw}.toolbar,.filter-row,.tag-scroller{max-width:100%}.sort-select{font-size:13px}.brand{font-size:23px}}:root{--motion-fast: .16s;--motion-base: .26s;--motion-slow: .52s;--ease-out: cubic-bezier(.22, 1, .36, 1);--focus-ring: 0 0 0 3px #f43f5e35}button,select,input,textarea{transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,opacity var(--motion-fast) ease,transform var(--motion-fast) var(--ease-out)}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,.card:focus-visible{outline:1px solid #fb7185;outline-offset:3px;box-shadow:var(--focus-ring)}button:active{transform:scale(.97)}.app{animation:page-enter var(--motion-slow) var(--ease-out) both}.header{transition:border-color var(--motion-base) ease,background-color var(--motion-base) ease}.header nav button{position:relative}.header nav button:after{content:"";position:absolute;right:12px;bottom:3px;left:12px;height:2px;border-radius:2px;background:#f43f5e;transform:scaleX(0);transform-origin:center;transition:transform var(--motion-base) var(--ease-out)}.brand-button{transition:opacity var(--motion-fast) ease,transform var(--motion-fast) var(--ease-out)!important}.toolbar input:focus,.dialog input:focus{border-color:#fb718580;box-shadow:inset 0 0 0 1px #fb718526,var(--focus-ring)}.toolbar form button:hover,.primary:hover{background:#fb315d;box-shadow:0 9px 24px #f43f5e2e}.hero>div:first-child{animation:content-rise var(--motion-slow) 80ms var(--ease-out) both}.hero-orb{animation:orb-arrive .8s .1s var(--ease-out) both,orb-float 7s .9s ease-in-out infinite}.toolbar,.filter-row,.tag-scroller{animation:content-rise .48s .12s var(--ease-out) both}.grid .card{min-width:0;border-radius:11px;transition:transform var(--motion-base) var(--ease-out),opacity var(--motion-base) ease;animation:card-enter .42s var(--ease-out) both}.grid .card:nth-child(4n+2){animation-delay:35ms}.grid .card:nth-child(4n+3){animation-delay:70ms}.grid .card:nth-child(4n+4){animation-delay:105ms}.poster{isolation:isolate;transition:transform var(--motion-base) var(--ease-out),box-shadow var(--motion-base) ease,filter var(--motion-base) ease}.poster:after{top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,transparent 55%,#09090b8c 100%);opacity:.45;pointer-events:none;transition:opacity var(--motion-base) ease}.play{z-index:2;box-shadow:0 8px 28px #0007}.duration{z-index:2;transition:transform var(--motion-fast) var(--ease-out),background-color var(--motion-fast) ease}.card-body h3{transition:color var(--motion-fast) ease}.tags button,.tag-filter button,.filter-options button,.source-switcher button{cursor:pointer;transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,transform var(--motion-fast) var(--ease-out)}.tag-filter button.active,.filter-options button.active,.source-switcher button.active{box-shadow:0 6px 18px #f43f5e1f}.player{border:1px solid #ffffff10;transition:border-color var(--motion-base) ease,box-shadow var(--motion-base) ease,transform var(--motion-base) var(--ease-out);animation:player-enter var(--motion-slow) var(--ease-out) both}.watch-info{animation:content-rise .44s 90ms var(--ease-out) both}.favorite{box-shadow:0 9px 24px #f43f5e20;transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,transform var(--motion-fast) var(--ease-out)}.favorite.saved{box-shadow:inset 0 0 0 1px #fda4af29}.modal{animation:veil-in var(--motion-base) ease both}.dialog{animation:dialog-enter .34s var(--ease-out) both}.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 38%,#ffffff0c 50%,transparent 62%);transform:translate(-100%);animation:loading-sweep 1.6s ease-in-out infinite}@media(hover:hover)and (pointer:fine){.header nav button:hover:after{transform:scaleX(1)}.brand-button:hover{opacity:.88;transform:translateY(-1px)}.ghost:hover,.language-trigger:hover{border-color:#ffffff42!important;background:#ffffff0b!important}.grid .card:hover{transform:translateY(-3px)}.card:hover .poster{transform:translateY(-3px) scale(1.012);box-shadow:0 22px 48px #000b;filter:saturate(1.08)}.card:hover .poster:after{opacity:.72}.card:hover .play{transform:translate(-50%,-50%) scale(1.06)}.card:hover .duration{transform:translateY(-2px);background:#09090be8}.card:hover .card-body h3{color:#fff}.tags button:hover,.tag-filter button:hover,.filter-options button:hover,.source-switcher button:hover{transform:translateY(-1px)}.player:hover{border-color:#ffffff1c;box-shadow:0 34px 90px #000,0 0 0 1px #f43f5e0b}.favorite:hover{transform:translateY(-2px);box-shadow:0 13px 30px #f43f5e32}.favorite.saved:hover{box-shadow:inset 0 0 0 1px #fda4af45,0 10px 24px #0005}.close:hover{transform:rotate(5deg) scale(1.08)}}@media(hover:none),(pointer:coarse){button{-webkit-tap-highlight-color:transparent}.card:active .poster{transform:scale(.985);filter:brightness(.9)}.tag-filter button,.filter-options button,.source-switcher button{min-height:38px}.favorite{min-height:46px}}@keyframes page-enter{0%{opacity:0}to{opacity:1}}@keyframes content-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes card-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes player-enter{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}@keyframes veil-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes orb-arrive{0%{opacity:0;transform:translate(22px) rotate(-18deg) scale(.92)}to{opacity:1;transform:rotate(-12deg)}}@keyframes orb-float{0%,to{transform:translateY(0) rotate(-12deg)}50%{transform:translateY(-8px) rotate(-10deg)}}@keyframes loading-sweep{60%,to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-orb{transform:rotate(-12deg)}}
