:root{--bg:#ffffff;--bg-alt:#f7f8fa;--surface:#ffffff;--surface-2:#f4f5f7;--surface-3:#ebedf0;--elevated:#ffffff;--text:#0d0f14;--text-sub:#4a5058;--text-mute:#6b7280;--text-on-accent:#ffffff;--border:#dce0e6;--border-strong:#c0c6ce;--accent:#3b5bfd;--accent-hover:#2f4ce0;--accent-press:#2439b8;--accent-soft:rgba(59,91,253,0.08);--accent-ring:rgba(59,91,253,0.3);--info:#0b6bcb;--info-soft:rgba(11,107,203,0.09);--success:#0a7a4b;--warning:#b45309;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-full:999px;--shadow-sm:0 1px 2px rgba(13,15,20,0.05);--shadow-md:0 4px 14px rgba(13,15,20,0.07);--shadow-lg:0 16px 40px rgba(13,15,20,0.1);--shadow-accent:0 6px 20px rgba(59,91,253,0.24);--font:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI','PingFang SC','HarmonyOS Sans SC','Noto Sans SC','Microsoft YaHei',sans-serif;--font-num:'SF Pro Display',-apple-system,'Helvetica Neue',sans-serif;--fs-display:clamp(28px,4.5vw,40px);--fs-title:clamp(19px,2.2vw,23px);--fs-body-lg:15px;--fs-body:14px;--fs-sm:13px;--fs-xs:12px;--fs-label:11px;--ease:cubic-bezier(0.32,0.72,0,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.4,0.64,1);--t-fast:140ms;--t-base:220ms;--t-slow:340ms;--page-max:1280px;--header-h:60px;--tap:44px}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;color-scheme:light}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}body::-webkit-scrollbar{width:8px;height:8px}body::-webkit-scrollbar-track{background:transparent}body::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--r-full)}body::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input{font:inherit;color:inherit}ul,ol,dl,dd{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}[hidden]{display:none !important}.clamp-2,.clamp-3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;word-break:break-word}.clamp-3{-webkit-line-clamp:3;line-clamp:3}.app-main{max-width:var(--page-max);margin:0 auto;padding:var(--sp-6) var(--sp-4) var(--sp-16);min-height:60vh}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.72);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border);transition:box-shadow var(--t-base) var(--ease),background var(--t-base) var(--ease)}.header-inner{max-width:var(--page-max);margin:0 auto;height:var(--header-h);padding:0 var(--sp-4);display:flex;align-items:center;gap:var(--sp-5)}.brand{display:flex;align-items:center;gap:9px;flex-shrink:0;transition:opacity var(--t-fast) var(--ease)}.brand:hover{opacity:0.82}.brand-mark{width:30px;height:30px;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--accent) 0%,#ff8a5c 100%);color:#fff;font-weight:700;font-size:15px;display:grid;place-items:center;box-shadow:var(--shadow-accent)}.brand-text{font-size:17px;font-weight:700;letter-spacing:0.2px}.search-box{flex:1;max-width:420px;margin-left:auto;position:relative;display:flex;transition:max-width var(--t-base) var(--ease)}.search-box:focus-within{max-width:480px}.search-input{width:100%;height:38px;padding:0 42px 0 14px;border:1px solid transparent;border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font-size:var(--fs-sm);transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.search-input::placeholder{color:var(--text-mute)}.search-input:hover{background:var(--surface-3)}.search-input:focus{outline:none;background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.search-btn{position:absolute;right:3px;top:3px;width:32px;height:32px;border:none;border-radius:var(--r-xs);background:transparent;color:var(--text-mute);cursor:pointer;display:grid;place-items:center;transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.search-btn:hover{color:var(--accent);background:var(--accent-soft)}.search-btn:active{transform:scale(0.94)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:4px;width:var(--tap);height:38px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;transition:background var(--t-fast) var(--ease)}.nav-toggle:hover{background:var(--surface-2)}.nav-toggle span{display:block;height:2px;background:var(--text);border-radius:2px;transition:transform var(--t-base) var(--ease),opacity var(--t-fast) var(--ease)}.nav-toggle[aria-expanded='true'] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-toggle[aria-expanded='true'] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded='true'] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.category-nav{max-width:var(--page-max);margin:0 auto;padding:0 var(--sp-4);display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.category-nav::-webkit-scrollbar{display:none}.nav-item{flex-shrink:0;position:relative;padding:10px 14px;font-size:var(--fs-sm);font-weight:500;color:var(--text-mute);white-space:nowrap;cursor:pointer;transition:color var(--t-fast) var(--ease)}.nav-item:hover{color:var(--text)}.nav-item.active{color:var(--text);font-weight:600}.nav-item::after{content:'';position:absolute;left:14px;right:14px;bottom:0;height:2px;border-radius:2px 2px 0 0;background:var(--accent);transform:scaleX(0);transition:transform var(--t-base) var(--ease-out)}.nav-item.active::after{transform:scaleX(1)}.hero{position:relative;border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--sp-8);background:#05070a;aspect-ratio:21 / 7;min-height:200px;box-shadow:var(--shadow-md)}.hero-track{display:flex;height:100%;transition:transform var(--t-slow) var(--ease)}.hero-slide{flex:0 0 100%;position:relative;height:100%}.hero-slide img{width:100%;height:100%;object-fit:cover;opacity:0.68;transition:opacity var(--t-slow) var(--ease),transform 6s linear}.hero:hover .hero-slide img{transform:scale(1.03)}.hero-caption{position:absolute;left:0;right:0;bottom:0;padding:var(--sp-12) var(--sp-8) var(--sp-6);background:linear-gradient(to top,rgba(0,0,0,0.94) 12%,rgba(0,0,0,0.5) 55%,transparent)}.hero-title{margin:0 0 6px;font-size:var(--fs-display);font-weight:700;line-height:1.15;letter-spacing:-0.02em;max-width:68%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 12px rgba(0,0,0,0.5)}.hero-meta{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-4);font-size:var(--fs-sm);color:rgba(255,255,255,0.76)}.hero-play{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 20px;border-radius:var(--r-full);background:var(--accent);color:var(--text-on-accent);font-size:var(--fs-sm);font-weight:600;box-shadow:var(--shadow-accent);transition:background var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.hero-play:hover{background:var(--accent-hover);transform:translateY(-1px)}.hero-play:active{transform:translateY(0) scale(0.98);background:var(--accent-press)}.hero-dots{position:absolute;right:var(--sp-5);bottom:var(--sp-6);display:flex;gap:6px}.hero-dot{width:7px;height:7px;padding:0;border:none;border-radius:var(--r-full);background:rgba(255,255,255,0.4);cursor:pointer;transition:background var(--t-fast) var(--ease),width var(--t-base) var(--ease)}.hero-dot:hover{background:rgba(255,255,255,0.7)}.hero-dot.active{width:20px;background:#fff}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin:var(--sp-10) 0 var(--sp-4)}.section-head:first-of-type{margin-top:0}.section-title{font-size:var(--fs-title);font-weight:700;letter-spacing:-0.01em;display:flex;align-items:center;gap:10px}.section-title::before{content:'';width:3px;height:17px;border-radius:2px;background:linear-gradient(to bottom,var(--accent),#ff8a5c)}.section-sub{font-size:var(--fs-sm);color:var(--text-mute);transition:color var(--t-fast) var(--ease);white-space:nowrap}a.section-sub:hover{color:var(--accent)}.vod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--sp-5) var(--sp-3)}.vod-card{display:block;cursor:pointer;animation:cardIn var(--t-slow) var(--ease-out) both;animation-delay:calc(var(--i,0) * 28ms);transition:transform var(--t-base) var(--ease-out)}.vod-card:hover{transform:translateY(-4px)}.vod-card:active{transform:translateY(-1px) scale(0.985)}.vod-card:focus-visible,.episode:focus-visible,.chip:focus-visible,.btn-primary:focus-visible,.btn-ghost:focus-visible,.retry-btn:focus-visible,.nav-item:focus-visible,.about-btn:focus-visible,.search-input:focus-visible,.episode-more:focus-visible,.about-toggle-all:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}.vod-card:focus:not(:focus-visible),.episode:focus:not(:focus-visible){outline:none}@media (hover:hover) and (pointer:fine){.vod-card:hover{transform:translateY(-4px)}.vod-card:hover .poster{box-shadow:var(--shadow-md)}}.poster{position:relative;aspect-ratio:3 / 4;border-radius:var(--r-md);overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow-sm);transition:box-shadow var(--t-base) var(--ease)}.vod-card:hover .poster{box-shadow:var(--shadow-lg)}.poster img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease-out),filter var(--t-base) var(--ease)}.vod-card:hover .poster img{transform:scale(1.06)}.poster-tag{position:absolute;top:8px;right:8px;max-width:calc(100% - 16px);padding:3px 9px;border-radius:var(--r-full);background:rgba(10,12,15,0.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.12);color:#fff;font-size:var(--fs-label);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poster-score{position:absolute;left:8px;bottom:8px;padding:3px 8px;border-radius:var(--r-xs);background:var(--accent);color:#fff;font-size:var(--fs-label);font-weight:700;font-family:var(--font-num);letter-spacing:0.2px}.vod-name{margin:10px 0 3px;font-size:var(--fs-body);font-weight:500;line-height:1.4;min-height:2.8em;color:var(--text);transition:color var(--t-fast) var(--ease);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.vod-card:hover .vod-name{color:#fff}.vod-sub{font-size:var(--fs-xs);color:var(--text-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:var(--sp-5)}.filter-label{font-size:var(--fs-xs);color:var(--text-mute);margin-right:var(--sp-1)}.chip{min-height:32px;padding:0 14px;border:1px solid var(--border);border-radius:var(--r-full);background:transparent;color:var(--text-sub);font-size:var(--fs-sm);cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.chip:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-2)}.chip:active{transform:scale(0.96)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.filter-spacer{flex:1}.result-count{font-size:var(--fs-xs);color:var(--text-mute)}.tag{padding:3px 10px;border-radius:var(--r-full);background:var(--surface-2);color:var(--text-sub);font-size:var(--fs-xs)}.tag.accent{background:var(--accent-soft);color:var(--accent);font-weight:600}.pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:var(--sp-12)}.page-btn{min-width:38px;height:38px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-sub);font-size:var(--fs-sm);font-family:var(--font-num);cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.page-btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2);color:var(--text)}.page-btn:active:not(:disabled){transform:scale(0.95)}.page-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.page-btn:disabled{opacity:0.32;cursor:not-allowed}.page-ellipsis{padding:0 2px;color:var(--text-mute)}.player-panel{background:#000;border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--sp-4);box-shadow:var(--shadow-lg)}.player-box{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;contain:layout paint}.player-box video{width:100%;height:100%;display:block}.player-box .player-frame{width:100%;height:100%;border:0;display:block;background:#000}.player-placeholder{position:absolute;inset:0;display:grid;place-items:center;cursor:pointer;background:#08090c;overflow:hidden}.player-ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.4;filter:blur(2px) saturate(0.8);transition:transform var(--t-slow) var(--ease-out),opacity var(--t-base) var(--ease)}.player-placeholder:hover .player-ph-img{transform:scale(1.04);opacity:0.5}.player-ph-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,transparent 20%,rgba(0,0,0,0.75))}.player-ph-btn{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:var(--sp-2) var(--sp-4);border:none;background:transparent;color:#fff;cursor:pointer}.ph-icon{width:60px;height:60px;border-radius:var(--r-full);background:var(--accent);display:grid;place-items:center;font-size:21px;padding-left:4px;box-shadow:var(--shadow-accent);transition:transform var(--t-base) var(--ease-spring),background var(--t-fast) var(--ease)}.player-ph-btn:hover .ph-icon{transform:scale(1.08);background:var(--accent-hover)}.player-ph-btn:active .ph-icon{transform:scale(0.94)}.ph-text{font-size:var(--fs-body);font-weight:600;text-shadow:0 2px 10px rgba(0,0,0,0.7)}.player-tip{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:var(--sp-4);background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:rgba(255,255,255,0.88);font-size:var(--fs-sm);text-align:center}.now-playing{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px var(--sp-4);background:var(--surface);border-top:1px solid var(--border)}.now-playing-info{display:flex;align-items:center;gap:10px;min-width:0}.now-playing-label{flex-shrink:0;font-size:var(--fs-label);font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent)}.now-playing-title{font-weight:500;font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-4)}.detail-bar-title{margin:0 0 10px;font-size:var(--fs-title);font-weight:700;line-height:1.3;letter-spacing:-0.01em;max-height:2.6em;overflow:hidden;word-break:break-word;overflow-wrap:anywhere}.detail-bar-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--sp-4)}.bar-tag{padding:3px 10px;border-radius:var(--r-full);background:var(--surface-2);color:var(--text-sub);font-size:var(--fs-xs)}.detail-bar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.resume-hint{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border:1px dashed var(--accent);border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:background var(--t-fast) var(--ease)}.resume-hint:hover{background:rgba(255,90,61,0.2)}.resume-hint:active{transform:scale(0.98)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 26px;border:none;border-radius:var(--r-full);background:var(--accent);color:var(--text-on-accent);font-size:var(--fs-body);font-weight:600;cursor:pointer;box-shadow:var(--shadow-accent);transition:background var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0) scale(0.98);background:var(--accent-press)}.btn-primary:disabled{background:var(--surface-3);color:var(--text-mute);box-shadow:none;cursor:not-allowed;transform:none}.btn-ghost{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);color:var(--text-sub);font-size:var(--fs-xs);cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.btn-ghost:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-2)}.btn-ghost:active{transform:scale(0.97)}.btn-ghost.pulse{animation:btnPulse 1.6s var(--ease) 2}@keyframes btnPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,90,61,0)}40%{box-shadow:0 0 0 4px rgba(255,90,61,0.22)}}.detail-section{margin-bottom:var(--sp-4)}.detail-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-5);margin-bottom:var(--sp-4)}.detail-block h3{margin:0 0 var(--sp-3);font-size:var(--fs-body);font-weight:600}.line-tabs{display:flex;flex-wrap:wrap;gap:8px}.episodes{display:flex;flex-wrap:wrap;gap:8px}.episode{min-width:52px;height:40px;padding:0 14px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-sub);font-size:var(--fs-sm);font-family:var(--font-num);cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.episode:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.episode:active{transform:scale(0.94)}.episode.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;box-shadow:var(--shadow-accent)}.episode.watched{color:var(--text-mute)}.episode.active.watched{color:#fff}.episodes-more{display:flex;justify-content:center;margin-top:12px}.episodes-sentinel{height:1px}.episode-more{min-height:36px;padding:0 18px;border:1px solid var(--border);border-radius:var(--r-full);background:transparent;color:var(--text-sub);font-size:var(--fs-xs);cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.episode-more:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.detail-meta-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-1) var(--sp-5)}.detail-meta-row{display:flex;gap:var(--sp-3);padding:11px 0;font-size:var(--fs-sm);line-height:1.5;border-bottom:1px solid var(--border)}.detail-meta-row:last-child{border-bottom:none}.dm-key{color:var(--text-mute);flex-shrink:0;width:36px}.dm-val{color:var(--text-sub);flex:1;min-width:0;word-break:break-word}.plot-text{margin:0;color:var(--text-sub);font-size:var(--fs-sm);line-height:1.85;white-space:pre-wrap;word-break:break-word}.detail-poster-hero{position:relative;width:min(220px,46vw);margin:var(--sp-6) auto 0;aspect-ratio:2 / 3;border-radius:var(--r-lg);overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow-md);animation:riseIn var(--t-slow) var(--ease-out) both}.detail-poster-hero img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease-out)}.detail-poster-hero:hover img{transform:scale(1.04)}.detail-poster-score{position:absolute;left:10px;bottom:10px;padding:3px 9px;border-radius:var(--r-full);background:rgba(13,15,20,0.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.16);color:#fff;font-size:var(--fs-label);font-weight:700}.related-block{margin-top:var(--sp-6)}.related-title{margin:0;font-size:var(--fs-title);font-weight:700;letter-spacing:-0.01em}.related-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(132px,1fr);gap:var(--sp-4);overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:var(--sp-3);scrollbar-width:none;-ms-overflow-style:none;margin:0 calc(var(--sp-4) * -1);padding-left:var(--sp-4);padding-right:var(--sp-4)}.related-rail::-webkit-scrollbar{display:none}.related-item{display:flex;flex-direction:column;gap:var(--sp-2);scroll-snap-align:start;animation:riseIn var(--t-slow) var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms);transition:transform var(--t-base) var(--ease-out)}.related-item:hover{transform:translateY(-4px)}.related-poster{position:relative;aspect-ratio:2 / 3;border-radius:var(--r-md);overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow-sm);transition:box-shadow var(--t-base) var(--ease-out)}.related-poster img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease-out)}.related-item:hover .related-poster{box-shadow:var(--shadow-md)}.related-item:hover .related-poster img{transform:scale(1.07)}.related-score{position:absolute;top:6px;right:6px;padding:2px 7px;border-radius:var(--r-full);background:rgba(13,15,20,0.7);color:#fff;font-size:var(--fs-label);font-weight:700}.related-name{font-size:var(--fs-sm);line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related-sub{font-size:var(--fs-xs);color:var(--text-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.related-skeleton{pointer-events:none}.related-skeleton .related-poster,.related-skeleton .related-name{background:var(--surface-2);color:transparent;animation:breathe 1.6s ease-in-out infinite}.related-skeleton .related-name{height:1em;border-radius:var(--r-xs)}@keyframes riseIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{from{opacity:0;transform:translateY(12px) scale(0.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes breathe{0%,100%{opacity:1}50%{opacity:0.5}}.detail-back{display:inline-flex;align-items:center;gap:5px;color:var(--text-sub);font-size:var(--fs-sm);margin-bottom:var(--sp-3);transition:color var(--t-fast) var(--ease)}.detail-back:hover{color:var(--accent)}.takeover-notice{display:flex;align-items:center;gap:10px;padding:12px var(--sp-4);margin-bottom:var(--sp-4);border:1px solid rgba(74,158,255,0.28);border-left:3px solid var(--info);border-radius:var(--r-sm);background:var(--info-soft);font-size:var(--fs-xs);line-height:1.5;color:#9cc7ff}.tn-icon{flex-shrink:0;font-size:15px}.tn-text{flex:1;min-width:0}.tn-btn{flex-shrink:0;min-height:30px;padding:0 14px;border:1px solid rgba(74,158,255,0.4);border-radius:var(--r-full);background:transparent;color:#9cc7ff;font-size:var(--fs-xs);cursor:pointer;transition:background var(--t-fast) var(--ease)}.tn-btn:hover{background:rgba(74,158,255,0.16)}.tn-btn:active{transform:scale(0.97)}.loading{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:var(--sp-16) 0;color:var(--text-mute);font-size:var(--fs-sm)}.spinner{width:28px;height:28px;border:2.5px solid var(--surface-3);border-top-color:var(--accent);border-radius:var(--r-full);animation:spin 0.7s linear infinite}.spinner-light{border-color:rgba(255,255,255,0.22);border-top-color:#fff;margin:0 auto 10px}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;padding:var(--sp-16) var(--sp-4);color:var(--text-mute)}.empty-icon{font-size:40px;margin-bottom:12px;opacity:0.7}.error-box{text-align:center;padding:var(--sp-12) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.error-box p{color:var(--text-sub);margin:10px 0 var(--sp-4)}.retry-btn{min-height:40px;padding:0 28px;border:none;border-radius:var(--r-full);background:var(--accent);color:#fff;font-weight:600;cursor:pointer;transition:background var(--t-fast) var(--ease)}.retry-btn:hover{background:var(--accent-hover)}.retry-btn:active{transform:scale(0.97)}.skeleton{pointer-events:none}.skeleton .poster,.skeleton .vod-name,.skeleton .vod-sub{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 37%,var(--surface) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;color:transparent;border-radius:var(--r-xs)}.skeleton .poster{border-radius:var(--r-md)}.skeleton .vod-name{height:2.8em;margin:10px 0 3px}.skeleton .vod-sub{height:1em}@keyframes shimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}.about-btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;margin-top:12px;padding:0 16px;border:1px solid var(--border);border-radius:var(--r-full);background:transparent;color:var(--text-mute);font-size:var(--fs-xs);cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.about-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.about-mask{position:fixed;inset:0;z-index:200;background:rgba(13,15,20,0.34);backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);animation:fadeIn var(--t-base) var(--ease)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.about-panel{position:fixed;z-index:201;left:50%;top:50%;transform:translate(-50%,-50%);width:min(860px,calc(100vw - 32px));max-height:min(82vh,760px);display:flex;flex-direction:column;background:var(--elevated);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:panelIn var(--t-base) var(--ease-out)}@keyframes panelIn{from{opacity:0;transform:translate(-50%,-46%) scale(0.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}body.modal-open{overflow:hidden}.about-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) var(--sp-4);border-bottom:1px solid var(--border);flex-shrink:0}.about-title{margin:0;font-size:var(--fs-title);font-weight:700}.about-version{margin:4px 0 0;font-size:var(--fs-xs);color:var(--text-mute)}.about-close{width:32px;height:32px;flex-shrink:0;border:none;border-radius:var(--r-full);background:var(--surface-2);color:var(--text-sub);cursor:pointer;display:grid;place-items:center;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.about-close:hover{background:var(--accent-soft);color:var(--accent)}.about-close:active{transform:scale(0.92)}.about-body{padding:var(--sp-5) var(--sp-5) var(--sp-5);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.about-hero{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);padding:var(--sp-4);margin-bottom:var(--sp-5);background:linear-gradient(135deg,var(--accent-soft),transparent 70%);border:1px solid var(--border);border-radius:var(--r-md)}.about-hero-cell{display:flex;flex-direction:column;gap:3px;align-items:center;text-align:center;min-width:0}.about-hero-v{font-family:var(--font-num);font-size:var(--fs-body-lg);font-weight:700;color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.about-hero-k{font-size:var(--fs-label);color:var(--text-mute)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--sp-8);align-items:start}.about-col{min-width:0}.about-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.about-feature{padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out)}.about-feature:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--border-strong)}.af-head{display:flex;align-items:center;gap:8px}.af-tick{width:15px;height:15px;flex-shrink:0;border-radius:var(--r-full);background:var(--accent-soft);border:1px solid var(--accent-ring);position:relative}.af-tick::after{content:'';position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--accent);border-width:0 1.6px 1.6px 0;transform:rotate(43deg)}.af-label{font-size:var(--fs-sm);font-weight:600;color:var(--text)}.af-desc{margin:4px 0 0;padding-left:23px;font-size:var(--fs-xs);line-height:1.6;color:var(--text-sub)}.about-compat{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.about-compat-item{display:grid;grid-template-columns:1fr auto;gap:2px var(--sp-3);padding:10px var(--sp-4);background:var(--surface);transition:background var(--t-fast) var(--ease)}.about-compat-item:hover{background:var(--surface-2)}.ac-name{font-size:var(--fs-sm);font-weight:500;color:var(--text);min-width:0}.ac-level{font-size:var(--fs-label);font-weight:700;color:var(--success);background:rgba(10,122,75,0.09);padding:2px 8px;border-radius:var(--r-full);white-space:nowrap;align-self:start}.ac-note{grid-column:1 / -1;font-size:var(--fs-xs);color:var(--text-mute);line-height:1.5}.about-logs{display:flex;flex-direction:column;gap:var(--sp-2)}.about-log{padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);animation:riseIn var(--t-slow) var(--ease-out) both;animation-delay:calc(var(--i,0) * 40ms)}.about-log:has(.about-log-now){border-left:2px solid var(--accent)}.about-log.collapsed .about-log-list{max-height:0;opacity:0;overflow:hidden;margin:0;padding:0;border:none}.about-log .about-log-list{max-height:600px;opacity:1;overflow:hidden;margin:8px 0 0;padding:0;border:none;transition:max-height var(--t-base) var(--ease),opacity var(--t-base) var(--ease),margin var(--t-base) var(--ease)}.about-log-head{display:flex;align-items:center;gap:8px;width:100%;padding:0;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:24px;transition:opacity var(--t-fast) var(--ease)}.about-log-head:hover{opacity:0.72}.about-log-head:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-xs)}.about-log-caret{margin-left:auto;color:var(--text-mute);font-size:13px;line-height:1;transition:transform var(--t-base) var(--ease)}.about-log.collapsed .about-log-caret{transform:rotate(-90deg)}.about-toggle-all{margin-top:var(--sp-3);width:100%;min-height:36px;border:1px dashed var(--border-strong);border-radius:var(--r-sm);background:transparent;color:var(--text-sub);font:inherit;font-size:var(--fs-sm);cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.about-toggle-all:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);border-style:solid}.about-toggle-all:active{transform:scale(0.99)}.about-section{margin:var(--sp-4) 0 10px;font-size:var(--fs-sm);font-weight:600;color:var(--text-sub);display:flex;align-items:center;gap:8px}.about-section:first-child{margin-top:0}.about-section::before{content:'';width:3px;height:13px;border-radius:2px;background:var(--accent)}.about-list{padding:var(--sp-2) var(--sp-4);background:var(--surface);border-radius:var(--r-sm);border:1px solid var(--border)}.about-row{display:flex;gap:12px;padding:7px 0;font-size:var(--fs-sm);line-height:1.7}.about-row dt{color:var(--text-mute);flex-shrink:0;min-width:76px}.about-row dd{margin:0;color:var(--text);word-break:break-all;flex:1;min-width:0}.about-log-ver{font-size:var(--fs-body);font-weight:700;font-family:var(--font-num)}.about-log-date{font-size:var(--fs-xs);color:var(--text-mute)}.about-log-now{padding:2px 8px;border-radius:var(--r-full);background:var(--accent);color:#fff;font-size:var(--fs-label);font-weight:600}.about-log-list{list-style:none}.about-log-item{display:flex;gap:10px;padding:6px 0;font-size:var(--fs-sm);line-height:1.6;color:var(--text-sub)}.log-tag{flex-shrink:0;width:19px;height:19px;margin-top:2px;border-radius:var(--r-xs);font-size:var(--fs-label);font-weight:700;display:grid;place-items:center;color:#fff}.log-tag.feature{background:var(--success)}.log-tag.fix{background:var(--accent)}.log-tag.perf{background:var(--info)}.log-tag.other{background:var(--text-mute)}.log-text{flex:1;min-width:0}.about-note{margin:var(--sp-4) 0 0;padding-top:var(--sp-3);border-top:1px solid var(--border);font-size:var(--fs-xs);line-height:1.7;color:var(--text-mute)}.about-empty{text-align:center;color:var(--text-mute);padding:var(--sp-8) 0}.loading-inline{display:flex;flex-direction:column;align-items:center;gap:10px;padding:var(--sp-8) 0;color:var(--text-mute);font-size:var(--fs-sm)}.loading-inline p{margin:0}.site-footer{border-top:1px solid var(--border);background:var(--surface);padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--text-mute);font-size:var(--fs-xs)}.site-footer p{margin:3px 0}.footer-sub{opacity:0.7}.toast{position:fixed;left:50%;bottom:36px;z-index:999;transform:translate(-50%,20px);max-width:calc(100% - 32px);padding:11px 22px;border-radius:var(--r-full);background:rgba(13,15,20,0.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.12);color:#fff;font-size:var(--fs-sm);opacity:0;pointer-events:none;transition:opacity var(--t-base) var(--ease),transform var(--t-base) var(--ease-out);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.to-top{position:fixed;right:22px;bottom:26px;z-index:90;width:var(--tap);height:var(--tap);border:1px solid var(--border);border-radius:var(--r-full);background:rgba(255,255,255,0.88);backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);color:var(--text-sub);box-shadow:var(--shadow-md);cursor:pointer;display:grid;place-items:center;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity var(--t-base) var(--ease),transform var(--t-base) var(--ease-out),color var(--t-fast) var(--ease)}.to-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}.to-top:hover{color:var(--accent);border-color:var(--accent)}@media (max-width:900px){.hero{aspect-ratio:16 / 9}.vod-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.about-grid{grid-template-columns:1fr;gap:0}.about-col + .about-col{margin-top:var(--sp-2)}}@media (max-width:640px){.app-main{padding:var(--sp-4) var(--sp-3) var(--sp-12)}.header-inner{gap:10px;padding:0 var(--sp-3)}.brand-text{display:none}.search-input{height:36px;font-size:13px}.nav-toggle{display:flex}.category-nav{display:none;max-height:0;padding:0;overflow:hidden}.category-nav.open{display:flex;flex-wrap:wrap;max-height:320px;overflow-y:auto;padding:var(--sp-2) var(--sp-3) var(--sp-3);border-top:1px solid var(--border)}.nav-item{padding:9px 12px;font-size:var(--fs-sm)}.vod-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:16px 10px}.vod-name{font-size:13px;min-height:2.7em}.poster-tag{top:6px;right:6px}.poster-score{left:6px;bottom:6px}.hero-caption{padding:var(--sp-8) var(--sp-4) var(--sp-4)}.hero-title{font-size:19px;max-width:100%}.hero-play{height:34px;padding:0 16px}.hero-dots{right:var(--sp-4);bottom:var(--sp-4)}.player-box{height:56.25vw;max-height:60vh;aspect-ratio:auto}.player-box video,.player-box .player-frame{height:100%;max-height:60vh}.ph-icon{width:52px;height:52px;font-size:19px}.detail-bar{padding:var(--sp-3) var(--sp-4)}.detail-bar-title{font-size:17px;margin-bottom:8px}.detail-bar-actions{gap:8px}.detail-bar-actions .btn-primary,.detail-bar-actions .resume-hint{flex:1}.btn-primary{min-height:var(--tap);padding:0 20px}.resume-hint{min-height:var(--tap);padding:0 16px}.detail-block{padding:var(--sp-4)}.detail-meta-card{padding:0 var(--sp-4)}.detail-meta-row{padding:10px 0}.episodes{gap:8px}.episode{min-width:46px;height:var(--tap);padding:0 12px}.chip{min-height:36px}.page-btn{min-width:var(--tap);height:var(--tap)}.filter-bar{padding:10px}.to-top{right:12px;bottom:16px}.takeover-notice{flex-wrap:wrap;padding:10px 12px}.takeover-notice .tn-text{flex-basis:100%;order:2}.takeover-notice .tn-btn{order:3;margin-left:auto;min-height:32px}.about-panel{width:calc(100vw - 24px);max-height:86vh;top:auto;bottom:0;transform:translateX(-50%);border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:none;animation:sheetIn var(--t-base) var(--ease-out)}.about-body{padding:var(--sp-4) var(--sp-4) var(--sp-6)}.about-hero{grid-template-columns:repeat(2,1fr);gap:var(--sp-3) var(--sp-2)}.about-hero-cell:last-child{grid-column:1 / -1}.related-rail{grid-auto-columns:minmax(108px,1fr);gap:var(--sp-3)}.detail-poster-hero{width:min(180px,54vw);margin-top:var(--sp-4)}}@keyframes sheetIn{from{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%,0);opacity:1}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}