/*
Theme Name: CineVerse Premium Streaming
Theme URI: https://cineverseuk.ct.ws
Author: Hwjsh
Author URI: https://cineverseuk.ct.ws
Description: Premium Netflix + Disney+ style movie & TV streaming theme with cinematic animations, glassmorphism UI, TMDB integration, premium cards, multi-server player, watchlist / favorites / watch history, profiles and instant search. A self-contained client-side streaming app.
Version: 1.0.0
Requires at least: 5.0
Tested up to: 7.0
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cineverse
Tags: entertainment, dark, custom-colors, responsive-layout, full-width-template
*/


:root{
  --bg:#07070c;--bg2:#000;--card:#14141d;--card2:#1c1c28;--soft:#2a2a3a;--line:#26263a;
  --text:#fff;--muted:#9a9ab0;--accent:#e50914;--accent2:#ff2d3f;--accent3:#8b5cf6;--gold:#f5c518;
  --radius:16px;--radius-sm:11px;--maxw:1440px;--nav-h:70px;
  --glass:rgba(20,20,30,.55);--glass-brd:rgba(255,255,255,.09);
  --shadow:0 18px 50px rgba(0,0,0,.6);--trans:.35s cubic-bezier(.2,.7,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
html.smooth{scroll-behavior:smooth}
body{background:var(--bg2);color:var(--text);font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5;overflow-x:hidden;padding-bottom:64px}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul{list-style:none}
h1,h2,h3,h4{font-family:'Sora','Inter',sans-serif;line-height:1.15}
::-webkit-scrollbar{height:8px;width:9px}::-webkit-scrollbar-thumb{background:var(--soft);border-radius:20px}::-webkit-scrollbar-track{background:transparent}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 18px}
.hidden{display:none!important}

/* ===== CINEMATIC INTRO ===== */
#intro{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at 50% 45%,#141018,#000 70%);display:grid;place-items:center;transition:opacity .8s,visibility .8s}
#intro.done{opacity:0;visibility:hidden}
.intro-logo{font-family:'Sora';font-weight:800;font-size:clamp(40px,10vw,110px);letter-spacing:6px;color:var(--accent);text-transform:uppercase;position:relative;opacity:0;animation:introIn 2.6s cubic-bezier(.2,.8,.2,1) forwards}
.intro-logo span{color:#fff}
.intro-logo:after{content:'';position:absolute;left:50%;bottom:-18px;width:0;height:4px;background:linear-gradient(90deg,transparent,var(--accent),transparent);transform:translateX(-50%);animation:introLine 2.6s ease forwards .3s}
@keyframes introIn{0%{opacity:0;transform:scale(.6) translateY(20px);filter:blur(12px)}35%{opacity:1;filter:blur(0)}70%{transform:scale(1)}100%{opacity:1;transform:scale(1.04)}}
@keyframes introLine{0%{width:0;opacity:0}40%{opacity:1}100%{width:70%;opacity:0}}
.intro-glow{position:absolute;width:60vw;height:60vw;max-width:700px;max-height:700px;border-radius:50%;background:radial-gradient(circle,rgba(229,9,20,.28),transparent 60%);filter:blur(40px);animation:pulse 2.5s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(.9);opacity:.6}50%{transform:scale(1.1);opacity:1}}

/* ===== PARTICLES ===== */
#particles{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.55}
.aurora{position:fixed;z-index:0;pointer-events:none;filter:blur(90px);opacity:.35;border-radius:50%}
.aurora.a1{width:520px;height:520px;background:radial-gradient(circle,#e50914,transparent 65%);top:-140px;left:-120px;animation:float1 18s ease-in-out infinite}
.aurora.a2{width:460px;height:460px;background:radial-gradient(circle,#8b5cf6,transparent 65%);bottom:-160px;right:-120px;animation:float2 22s ease-in-out infinite}
@keyframes float1{0%,100%{transform:translate(0,0)}50%{transform:translate(60px,40px)}}
@keyframes float2{0%,100%{transform:translate(0,0)}50%{transform:translate(-50px,-40px)}}

/* ===== REVEAL ANIMATIONS ===== */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.zoom{transform:scale(.9)}
.reveal.zoom.in{transform:scale(1)}

/* ===== HEADER (glass) ===== */
.nav{position:sticky;top:0;z-index:200;height:var(--nav-h);display:flex;align-items:center;transition:var(--trans);background:linear-gradient(180deg,rgba(0,0,0,.85),transparent)}
.nav.solid{background:var(--glass);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--glass-brd);box-shadow:0 4px 24px rgba(0,0,0,.5)}
.nav .wrap{display:flex;align-items:center;gap:20px;width:100%}
.logo{font-family:'Sora';font-weight:800;font-size:27px;letter-spacing:1px;color:var(--accent);text-transform:uppercase;flex-shrink:0}
.logo span{color:#fff}
.menu{display:flex;align-items:center;gap:24px;margin-left:8px}
.menu a{font-size:14.5px;font-weight:500;color:#e9e9f2;position:relative;padding:6px 0;transition:color .2s}
.menu a:after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent);transition:width .25s}
.menu a:hover{color:#fff}.menu a:hover:after{width:100%}
.dropdown{position:relative}
.dropdown>button{display:flex;align-items:center;gap:5px;font-size:14.5px;font-weight:500}
.dropdown-menu{position:absolute;top:150%;left:0;background:var(--glass);backdrop-filter:blur(18px);border:1px solid var(--glass-brd);border-radius:14px;padding:8px;min-width:190px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(10px);transition:var(--trans)}
.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu a{display:block;padding:9px 12px;border-radius:9px;font-size:14px}
.dropdown-menu a:hover{background:rgba(255,255,255,.08)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.search{position:relative;width:270px}
.search input{width:100%;height:42px;border-radius:24px;background:rgba(255,255,255,.06);border:1px solid var(--glass-brd);color:#fff;padding:0 44px 0 18px;font-size:14px;outline:none;transition:.25s}
.search input:focus{border-color:var(--accent);background:rgba(255,255,255,.1);box-shadow:0 0 0 4px rgba(229,9,20,.12)}
.search .s-ico{position:absolute;right:15px;top:50%;transform:translateY(-50%);width:18px;height:18px;opacity:.7}
.suggest{position:absolute;top:118%;left:0;right:0;background:var(--glass);backdrop-filter:blur(20px);border:1px solid var(--glass-brd);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);max-height:420px;overflow-y:auto;z-index:60}
.suggest .s-item{display:flex;gap:11px;padding:9px 11px;cursor:pointer;transition:background .15s}
.suggest .s-item:hover{background:rgba(255,255,255,.08)}
.suggest .s-item img{width:42px;height:60px;object-fit:cover;border-radius:7px;flex-shrink:0;background:var(--soft)}
.suggest .s-item .st{font-size:13.5px;font-weight:600}
.suggest .s-item .sm{font-size:12px;color:var(--muted)}
.icon-btn{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid var(--glass-brd);transition:.25s;position:relative}
.icon-btn:hover{transform:scale(1.08);background:rgba(255,255,255,.12)}
.icon-btn svg{width:20px;height:20px}
.dot-badge:after{content:'';position:absolute;top:8px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--bg)}
.avatar{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#7a0009);display:grid;place-items:center;font-weight:800;font-size:15px;border:1px solid var(--glass-brd);overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.hamburger{display:none;flex-direction:column;gap:5px;width:42px;height:42px;justify-content:center;align-items:center}
.hamburger span{width:22px;height:2px;background:#fff;border-radius:2px;transition:.3s}
.mobile-drawer{position:fixed;inset:0 28% 0 0;background:var(--glass);backdrop-filter:blur(22px);z-index:300;transform:translateX(-105%);transition:transform .35s;padding:84px 22px 22px;border-right:1px solid var(--glass-brd)}
.mobile-drawer.open{transform:translateX(0)}
.mobile-drawer a{display:block;padding:14px 6px;font-size:17px;font-weight:600;border-bottom:1px solid var(--line)}
.overlay-mask{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);z-index:290;opacity:0;visibility:hidden;transition:.3s}
.overlay-mask.open{opacity:1;visibility:visible}

/* ripple */
.rip{position:relative;overflow:hidden}
.rip .r{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);transform:scale(0);animation:ripple .6s ease-out;pointer-events:none}
@keyframes ripple{to{transform:scale(2.6);opacity:0}}

/* ===== HERO ===== */
.hero{position:relative;height:88vh;min-height:560px;max-height:900px;margin-top:calc(var(--nav-h) * -1);overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s ease}
.hero-slide.active{opacity:1;visibility:visible}
.hero-slide .bg{position:absolute;inset:-8% -4%;background-size:cover;background-position:center;transform:scale(1.08);transition:transform 7s ease}
.hero-slide.active .bg{transform:scale(1.16)}
.hero-slide .bg:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.55) 45%,rgba(0,0,0,.1) 100%),linear-gradient(0deg,var(--bg2) 3%,transparent 45%)}
.hero-content{position:absolute;left:0;bottom:14%;max-width:680px;padding:0 clamp(18px,5vw,72px);z-index:3}
.hero-content>*{opacity:0;transform:translateY(28px)}
.hero-slide.active .hero-content>*{animation:stagger .8s cubic-bezier(.2,.7,.2,1) forwards}
.hero-slide.active .hero-content>*:nth-child(1){animation-delay:.15s}
.hero-slide.active .hero-content>*:nth-child(2){animation-delay:.3s}
.hero-slide.active .hero-content>*:nth-child(3){animation-delay:.45s}
.hero-slide.active .hero-content>*:nth-child(4){animation-delay:.6s}
@keyframes stagger{to{opacity:1;transform:none}}
.hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent2);margin-bottom:12px}
.hero-tag:before{content:'';width:26px;height:2px;background:var(--accent)}
.hero-content h1{font-size:clamp(30px,5.4vw,62px);font-weight:800;text-shadow:0 3px 24px rgba(0,0,0,.7)}
.hero-meta{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:15px 0}
.badge{font-size:12.5px;font-weight:700;padding:4px 11px;border-radius:7px;background:rgba(255,255,255,.1);border:1px solid var(--glass-brd);backdrop-filter:blur(6px)}
.badge.imdb{background:var(--gold);color:#111;border:0}
.badge.q4k{background:linear-gradient(135deg,#8b5cf6,#4f46e5);border:0}
.badge.hd{background:linear-gradient(135deg,#0ea5e9,#0369a1);border:0}
.hero-desc{color:#dcdce8;font-size:15.5px;max-height:78px;overflow:hidden;margin-bottom:22px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:600px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 28px;border-radius:10px;font-weight:700;font-size:15px;transition:transform .2s,box-shadow .25s,background .2s}
.btn svg{width:20px;height:20px}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 22px rgba(229,9,20,.4)}
.btn-primary:hover{background:var(--accent2);box-shadow:0 12px 30px rgba(229,9,20,.55)}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(8px);border:1px solid var(--glass-brd)}
.btn-ghost:hover{background:rgba(255,255,255,.24)}
.hero-dots{position:absolute;bottom:26px;right:44px;display:flex;gap:8px;z-index:4}
.hero-dots button{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.35);transition:.3s}
.hero-dots button.active{width:28px;border-radius:6px;background:var(--accent)}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:48px;height:48px;border-radius:50%;background:var(--glass);backdrop-filter:blur(8px);border:1px solid var(--glass-brd);display:grid;place-items:center;opacity:0;transition:.3s}
.hero:hover .hero-arrow{opacity:1}.hero-arrow.prev{left:18px}.hero-arrow.next{right:18px}.hero-arrow svg{width:24px;height:24px}

/* ===== SECTIONS / ROWS ===== */
.section{padding:30px 0 6px;position:relative;z-index:2}
.sec-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px;padding:0 18px;max-width:var(--maxw);margin-inline:auto}
.sec-head h2{font-size:clamp(19px,2.4vw,26px);font-weight:700;display:flex;align-items:center;gap:11px}
.sec-head h2 i{width:5px;height:24px;background:linear-gradient(var(--accent),var(--accent3));border-radius:4px;display:inline-block}
.sec-head a{font-size:13px;color:var(--muted);transition:color .2s}.sec-head a:hover{color:var(--accent2)}
.row{display:flex;gap:15px;overflow-x:auto;scroll-behavior:smooth;padding:8px 18px 22px;scrollbar-width:none}
.row::-webkit-scrollbar{display:none}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:18px;padding:8px 18px 22px;max-width:var(--maxw);margin:0 auto}

/* ===== PREMIUM CARD ===== */
.card{position:relative;flex:0 0 auto;width:184px;border-radius:var(--radius);cursor:pointer;transition:transform var(--trans),box-shadow var(--trans);transform-style:preserve-3d;perspective:800px;will-change:transform}
.grid .card{width:auto}
.card:hover{transform:translateY(-6px) scale(1.05);z-index:6;box-shadow:var(--shadow)}
.card .poster{position:relative;aspect-ratio:2/3;background:var(--card);border-radius:var(--radius);overflow:hidden;transition:transform var(--trans)}
.card .poster img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.card:hover .poster img{transform:scale(1.12)}
.card .poster:after{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);transition:left .7s}
.card:hover .poster:after{left:130%}
.card .reflection{position:absolute;left:6%;right:6%;bottom:-14px;height:26px;background:rgba(0,0,0,.5);filter:blur(14px);border-radius:50%;opacity:0;transition:.3s;z-index:-1}
.card:hover .reflection{opacity:1}
.card .q-badges{position:absolute;top:9px;left:9px;display:flex;gap:5px;z-index:3}
.card .q-badges span{font-size:10px;font-weight:800;padding:2px 6px;border-radius:5px;letter-spacing:.5px}
.q-hd{background:linear-gradient(135deg,#0ea5e9,#0369a1)}
.q-4k{background:linear-gradient(135deg,#8b5cf6,#4f46e5)}
.card .rate-badge{position:absolute;top:9px;right:9px;background:rgba(0,0,0,.78);color:var(--gold);font-size:11.5px;font-weight:800;padding:3px 7px;border-radius:6px;display:flex;align-items:center;gap:3px;z-index:3}
.card .rate-badge svg{width:11px;height:11px}
.card .overlay{position:absolute;inset:0;border-radius:var(--radius);background:linear-gradient(0deg,rgba(0,0,0,.95),rgba(0,0,0,.2) 55%,transparent);opacity:0;transition:.35s;display:flex;flex-direction:column;justify-content:flex-end;padding:13px;z-index:2}
.card:hover .overlay{opacity:1}
.card .ov-title{font-size:14.5px;font-weight:700;margin-bottom:5px}
.card .ov-sub{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:#cfcfe0;margin-bottom:10px}
.card .ov-sub span{white-space:nowrap}
.card .ov-actions{display:flex;gap:7px}
.card .ov-actions button{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);color:#fff;display:grid;place-items:center;transition:.2s;border:1px solid var(--glass-brd)}
.card .ov-actions button.play{background:var(--accent);border:0;width:38px;height:38px}
.card .ov-actions button:hover{background:var(--accent);transform:scale(1.12)}
.card .ov-actions button.on{background:var(--accent);color:#fff}
.card .ov-actions button svg{width:16px;height:16px}
.card .preview-frame{position:absolute;inset:0;border-radius:var(--radius);overflow:hidden;opacity:0;transition:opacity .4s;z-index:1;background:#000}
.card .preview-frame.show{opacity:1}
.card .preview-frame iframe{width:100%;height:100%;border:0;pointer-events:none;transform:scale(1.4)}
.card .info{padding:11px 4px 4px}
.card .info h3{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .info .sub{display:flex;gap:8px;font-size:12px;color:var(--muted);margin-top:4px}
.progress-bar{height:4px;background:var(--soft);border-radius:4px;margin-top:9px;overflow:hidden}
.progress-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:4px}

/* ===== TOP 10 ===== */
.row.top10 .card{width:230px;display:flex;align-items:flex-end}
.top10 .rank{font-family:'Sora';font-weight:800;font-size:120px;line-height:.8;color:transparent;-webkit-text-stroke:3px var(--accent);margin-right:-18px;flex:0 0 auto;text-shadow:0 4px 30px rgba(229,9,20,.4)}
.top10 .card .poster{width:150px;flex:0 0 auto}

/* categories chips */
.cats{display:flex;gap:12px;overflow-x:auto;padding:8px 18px 20px;scrollbar-width:none}.cats::-webkit-scrollbar{display:none}
.cat-chip{flex:0 0 auto;padding:22px 32px;border-radius:16px;font-weight:700;font-size:16px;background:linear-gradient(135deg,var(--card2),var(--card));border:1px solid var(--line);transition:.28s;position:relative;overflow:hidden}
.cat-chip:hover{transform:translateY(-4px);border-color:var(--accent);color:var(--accent2);box-shadow:0 10px 26px rgba(229,9,20,.2)}

/* animated counters bar */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:var(--maxw);margin:18px auto;padding:0 18px}
.stat{background:var(--glass);border:1px solid var(--glass-brd);border-radius:16px;padding:22px;text-align:center;backdrop-filter:blur(10px)}
.stat b{font-family:'Sora';font-size:clamp(22px,3vw,34px);display:block;background:linear-gradient(135deg,#fff,var(--accent2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat span{font-size:12.5px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}

/* skeleton */
.skeleton{position:relative;overflow:hidden;background:var(--card)}
.skeleton:after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);animation:shimmer 1.3s infinite}
@keyframes shimmer{100%{transform:translateX(100%)}}
.sk-card{flex:0 0 auto;width:184px;height:322px;border-radius:var(--radius)}

/* ===== FILTER BAR ===== */
.filters{display:flex;flex-wrap:wrap;gap:10px;padding:6px 18px 8px;max-width:var(--maxw);margin:0 auto}
.filters select{background:var(--card2);color:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:13.5px;outline:none;cursor:pointer;transition:.2s}
.filters select:hover{border-color:var(--accent)}

/* ===== PLAYER MODAL ===== */
.modal{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.9);backdrop-filter:blur(10px);display:none;overflow-y:auto}
.modal.open{display:block;animation:modalIn .45s cubic-bezier(.2,.7,.2,1)}
@keyframes modalIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.modal-inner{max-width:1060px;margin:0 auto;padding:22px 16px 70px}
.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;position:sticky;top:0;z-index:6;padding:8px 0;background:linear-gradient(180deg,rgba(0,0,0,.7),transparent)}
.modal-top h2{font-size:21px}
.close-btn{width:44px;height:44px;border-radius:50%;background:var(--card2);display:grid;place-items:center;border:1px solid var(--line);transition:.2s}
.close-btn:hover{background:var(--accent);transform:rotate(90deg)}
.player-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.player-frame.fs{position:fixed;inset:0;z-index:700;border-radius:0;aspect-ratio:auto}
.player-frame iframe{width:100%;height:100%;border:0}
.pf-controls{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;display:flex;gap:10px;align-items:center;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent);transition:opacity .4s,transform .4s;z-index:5}
.pf-controls.hide{opacity:0;transform:translateY(12px);pointer-events:none}
.pf-controls button{display:flex;align-items:center;gap:6px;padding:9px 14px;border-radius:9px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);font-size:13px;font-weight:600;border:1px solid var(--glass-brd);transition:.2s}
.pf-controls button:hover{background:var(--accent)}
.pf-controls button svg{width:16px;height:16px}
.pf-controls .spacer{margin-left:auto}
.pf-controls select{background:rgba(255,255,255,.12);color:#fff;border:1px solid var(--glass-brd);border-radius:9px;padding:8px 10px;font-size:12.5px;outline:none}
.toggle{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600}
.toggle .sw{width:38px;height:21px;border-radius:20px;background:var(--soft);position:relative;transition:.25s}
.toggle .sw:after{content:'';position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;transition:.25s}
.toggle.on .sw{background:var(--accent)}.toggle.on .sw:after{left:19px}
.server-tabs{display:flex;gap:8px;margin:14px 0;flex-wrap:wrap}
.server-tabs button{padding:9px 17px;border-radius:9px;background:var(--card2);font-size:13px;font-weight:600;border:1px solid var(--line)}
.server-tabs button.active{background:var(--accent);border-color:var(--accent)}
.ep-controls{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;align-items:center}
.ep-controls select{background:var(--card2);color:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 14px;font-size:14px;outline:none}
.ep-nav{display:flex;gap:10px;margin-left:auto}
.ep-nav button{padding:10px 16px;border-radius:9px;background:var(--card2);border:1px solid var(--line);font-weight:600;font-size:13px;display:flex;gap:6px;align-items:center}
.ep-nav button:disabled{opacity:.4;cursor:not-allowed}.ep-nav button svg{width:16px;height:16px}
.eps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:14px}
.ep-thumb{background:var(--card);border-radius:11px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:.2s}
.ep-thumb.active{border-color:var(--accent)}.ep-thumb:hover{transform:translateY(-3px)}
.ep-thumb .et-img{aspect-ratio:16/9;background:var(--soft);position:relative}
.ep-thumb .et-img img{width:100%;height:100%;object-fit:cover}
.ep-thumb .et-img span{position:absolute;bottom:6px;left:6px;background:rgba(0,0,0,.8);font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px}
.ep-thumb .et-info{padding:8px 10px}.ep-thumb .et-info b{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ep-thumb .et-info small{font-size:11px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.detail-meta{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:14px 0}
.detail-desc{color:#d2d2de;font-size:14.5px;margin:10px 0 6px;max-width:840px}
.cast-row{display:flex;gap:13px;overflow-x:auto;padding:8px 0;scrollbar-width:none}.cast-row::-webkit-scrollbar{display:none}
.cast-item{flex:0 0 auto;width:98px;text-align:center}
.cast-item img{width:98px;height:98px;border-radius:50%;object-fit:cover;background:var(--soft);margin:0 auto 6px}
.cast-item b{font-size:12.5px;display:block}.cast-item small{font-size:11px;color:var(--muted)}
.mtitle{font-size:17px;font-weight:700;margin:22px 0 10px}

/* ===== PANELS (profile/notif/settings/auth) ===== */
.panel{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:90vw;background:var(--glass);backdrop-filter:blur(22px);border-left:1px solid var(--glass-brd);z-index:520;transform:translateX(105%);transition:transform .4s cubic-bezier(.2,.7,.2,1);overflow-y:auto;padding:22px}
.panel.open{transform:translateX(0)}
.panel h3{font-size:19px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}
.panel .p-close{width:36px;height:36px;border-radius:50%;background:var(--card2);display:grid;place-items:center}
.notif-item{display:flex;gap:12px;padding:12px;border-radius:12px;background:rgba(255,255,255,.04);margin-bottom:10px;transition:.2s}
.notif-item:hover{background:rgba(255,255,255,.08)}
.notif-item .nico{width:40px;height:40px;border-radius:10px;background:var(--accent);display:grid;place-items:center;flex:0 0 auto}
.notif-item .nico svg{width:20px;height:20px}
.notif-item b{font-size:13.5px;display:block}.notif-item small{font-size:12px;color:var(--muted)}
.set-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.set-row b{font-size:14px}.set-row small{font-size:12px;color:var(--muted);display:block}
.field{margin-bottom:14px}
.field label{font-size:12.5px;color:var(--muted);display:block;margin-bottom:6px}
.field input{width:100%;height:44px;border-radius:11px;background:rgba(255,255,255,.06);border:1px solid var(--glass-brd);color:#fff;padding:0 14px;font-size:14px;outline:none;transition:.2s}
.field input:focus{border-color:var(--accent)}

/* profiles chooser */
.profiles-modal{position:fixed;inset:0;z-index:540;background:rgba(0,0,0,.92);display:none;place-items:center}
.profiles-modal.open{display:grid;animation:modalIn .4s}
.pf-wrap{text-align:center;padding:20px}
.pf-wrap h2{font-size:clamp(24px,4vw,40px);margin-bottom:30px}
.pf-list{display:flex;gap:22px;flex-wrap:wrap;justify-content:center}
.pf-item{cursor:pointer;transition:.25s}
.pf-item:hover{transform:translateY(-6px)}
.pf-item .pf-av{width:110px;height:110px;border-radius:16px;display:grid;place-items:center;font-size:40px;font-weight:800;border:3px solid transparent;transition:.25s}
.pf-item:hover .pf-av{border-color:#fff}
.pf-item span{display:block;margin-top:10px;color:var(--muted);font-size:14px}
.pf-item:hover span{color:#fff}

/* auth modal */
.auth{position:fixed;inset:0;z-index:560;background:rgba(0,0,0,.85);backdrop-filter:blur(10px);display:none;place-items:center}
.auth.open{display:grid;animation:modalIn .4s}
.auth-box{width:400px;max-width:92vw;background:var(--glass);border:1px solid var(--glass-brd);border-radius:20px;padding:30px;position:relative;box-shadow:var(--shadow);animation:authUp .5s cubic-bezier(.2,.7,.2,1)}
@keyframes authUp{from{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:none}}
.auth-box h2{font-size:24px;margin-bottom:6px}
.auth-box p{color:var(--muted);font-size:13.5px;margin-bottom:20px}
.auth-tabs{display:flex;gap:6px;background:var(--card2);border-radius:12px;padding:5px;margin-bottom:20px}
.auth-tabs button{flex:1;padding:10px;border-radius:9px;font-weight:600;font-size:14px;transition:.2s}
.auth-tabs button.active{background:var(--accent)}

/* glowing border helper */
.glow{position:relative}
.glow:before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--accent),var(--accent3),transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.7;animation:glowspin 4s linear infinite}
@keyframes glowspin{to{filter:hue-rotate(360deg)}}

/* ===== FOOTER ===== */
.footer{background:#050508;border-top:1px solid var(--line);margin-top:44px;padding:46px 0 96px;position:relative;z-index:2}
.footer .cols{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:28px}
.footer .logo{margin-bottom:12px}
.footer p{color:var(--muted);font-size:13.5px;max-width:330px}
.footer h4{font-size:15px;margin-bottom:14px}
.footer li{margin-bottom:9px}.footer li a{color:var(--muted);font-size:13.5px;transition:color .2s}.footer li a:hover{color:var(--accent2)}
.social{display:flex;gap:12px;margin-top:16px}
.social a{width:42px;height:42px;border-radius:50%;background:var(--card2);display:grid;place-items:center;transition:.25s}
.social a:hover{background:var(--accent);transform:translateY(-3px)}.social a svg{width:19px;height:19px}
.copyright{text-align:center;color:var(--muted);font-size:13px;margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}

/* ===== MOBILE BOTTOM NAV ===== */
.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:64px;background:var(--glass);backdrop-filter:blur(16px);border-top:1px solid var(--glass-brd);display:none;z-index:250}
.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:10.5px;font-weight:600;transition:color .2s}
.bottom-nav a.active{color:var(--accent2)}.bottom-nav a svg{width:22px;height:22px}
.to-top{position:fixed;right:16px;bottom:80px;width:46px;height:46px;border-radius:50%;background:var(--accent);display:grid;place-items:center;z-index:240;opacity:0;visibility:hidden;transition:.3s;box-shadow:0 8px 24px rgba(229,9,20,.5)}
.to-top.show{opacity:1;visibility:visible}.to-top svg{width:22px;height:22px}
#toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%) translateY(10px);background:var(--glass);backdrop-filter:blur(14px);border:1px solid var(--glass-brd);color:#fff;padding:12px 22px;border-radius:12px;z-index:600;font-size:14px;box-shadow:var(--shadow);opacity:0;transition:.3s;pointer-events:none}
.empty{text-align:center;color:var(--muted);padding:34px 16px;font-size:14px}
#main-blog,.widget.Blog{position:absolute;left:-9999px;height:0;overflow:hidden}

/* ===== RESPONSIVE ===== */
@media(max-width:1100px){.search{width:210px}.menu{gap:17px}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:880px){
  .menu,.search,.dropdown{display:none}
  .hamburger{display:flex}
  .hero{height:80vh;min-height:480px}
  .footer .cols{grid-template-columns:1fr 1fr}
  .bottom-nav{display:flex}
  .top10 .rank{font-size:90px}
}
@media(max-width:560px){
  :root{--nav-h:60px}
  .logo{font-size:23px}
  .card{width:140px}.sk-card{width:140px;height:250px}
  .grid{grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:11px}
  .hero-content{bottom:18%}
  .footer .cols{grid-template-columns:1fr}
  .hero-dots{right:16px}
  .ep-nav{margin-left:0;width:100%}.ep-nav button{flex:1;justify-content:center}
  .stats{grid-template-columns:repeat(2,1fr)}
  .top10 .card{width:180px}.top10 .rank{font-size:70px;margin-right:-10px}.top10 .card .poster{width:120px}
}
