/* ══════════════════════════════════════════════════════════════
   CINEVAULT — Design System
   Unique deep-space teal theme · Professional · Mobile-first
══════════════════════════════════════════════════════════════ */

/* ── TOKENS ──────────────────────────────────────────────── */
:root {
  --bg:        #08090f;
  --bg2:       #10121c;
  --bg3:       #181b28;
  --bg4:       #1f2235;
  --surface:   #252840;
  --border:    rgba(255,255,255,.08);
  --border2:   rgba(255,255,255,.14);

  --accent:    #7c6af7;   /* violet-purple */
  --accent2:   #4ec9b0;   /* teal mint */
  --accent3:   #f76c6c;   /* coral-red  */
  --gold:      #f5c518;
  --green:     #2ecc71;

  --text:      #eef0f8;
  --text2:     #a8adc8;
  --text3:     #5c6080;

  --header-h:  64px;
  --bnav-h:    64px;
  --r:         8px;
  --r2:        14px;
  --shadow:    0 8px 32px rgba(0,0,0,.55);
  --shadow2:   0 2px 12px rgba(0,0,0,.35);
}

/* ── RESET ───────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden;font-size:16px}
body{
  font-family:'Outfit',system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit;transition:color .2s}
button{cursor:pointer;border:none;outline:none;background:none;font-family:inherit;font-size:inherit}
img{display:block;max-width:100%}
input,select,textarea{outline:none;font-family:inherit}
ul,ol{list-style:none}
.hidden{display:none!important}

/* ═══════════════════════════════════════════════════════════
   SPLASH SCREEN — Cinematic Premium Design
═══════════════════════════════════════════════════════════ */
#splash{
  position:fixed;inset:0;z-index:9999;
  background:radial-gradient(ellipse at 30% 40%, #0d0f1e 0%, #060709 60%, #020304 100%);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  transition:opacity 1s cubic-bezier(.4,0,.2,1), visibility 1s ease;
}
#splash.fade-out{opacity:0;visibility:hidden;pointer-events:none}
#splash.fade-out .splash-bar-top{transform:translateY(-100%)}
#splash.fade-out .splash-bar-bot{transform:translateY(100%)}

/* Particle canvas (full-screen background layer) */
.splash-canvas{
  position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none;z-index:0;
  opacity:.6;
}

/* Cinematic letter-box bars */
.splash-bar-top,.splash-bar-bot{
  position:absolute;left:0;right:0;height:60px;
  background:#000;z-index:2;
  transition:transform 1.1s cubic-bezier(.4,0,.2,1);
}
.splash-bar-top{top:0;transform:translateY(0)}
.splash-bar-bot{bottom:0;transform:translateY(0)}

/* Core inner content */
.splash-inner{
  position:relative;z-index:3;
  display:flex;flex-direction:column;align-items:center;
  gap:1.8rem;
  animation:splashContentIn .9s .2s both cubic-bezier(.16,1,.3,1);
}
@keyframes splashContentIn{
  0%{opacity:0;transform:translateY(24px) scale(.94)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}

/* Text-only wordmark — no icon */
.splash-wordmark{
  font-size:clamp(3.2rem,10vw,6rem);
  font-weight:900;
  letter-spacing:-4px;
  line-height:1;
  color:#fff;
  text-shadow:0 0 60px rgba(124,106,247,.35), 0 0 120px rgba(124,106,247,.15);
}
.splash-wordmark span{
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

/* Tagline */
.splash-tagline{
  font-size:.8rem;letter-spacing:5px;text-transform:uppercase;
  color:rgba(255,255,255,.35);font-weight:400;
  animation:splashFadeIn .6s .6s both;
}
@keyframes splashFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Progress section */
.splash-progress{
  display:flex;flex-direction:column;align-items:center;gap:.65rem;
  width:clamp(200px,40vw,300px);
  animation:splashFadeIn .5s .7s both;
}
.splash-progress-track{
  width:100%;height:2px;
  background:rgba(255,255,255,.08);
  border-radius:99px;overflow:hidden;
  position:relative;
}
.splash-progress-fill{
  height:100%;width:0%;
  background:linear-gradient(90deg,var(--accent),var(--accent2),var(--accent));
  background-size:200% 100%;
  border-radius:99px;
  transition:width .3s ease;
  animation:splProgressShimmer 1.5s linear infinite;
}
@keyframes splProgressShimmer{
  0%{background-position:100% 0}
  100%{background-position:-100% 0}
}
.splash-status{
  font-size:.7rem;color:rgba(255,255,255,.3);
  letter-spacing:2px;text-transform:uppercase;
  font-weight:400;
  min-height:1em;
}

/* Version badge */
.splash-version{
  position:absolute;bottom:80px;right:1.5rem;z-index:3;
  font-size:.65rem;color:rgba(255,255,255,.18);
  letter-spacing:2px;text-transform:uppercase;
  animation:splashFadeIn .5s 1s both;
}
@media(max-width:600px){.splash-version{bottom:72px}}

/* ── HEADER ──────────────────────────────────────────────── */
#site-header{
  position:fixed;top:0;left:0;right:0;
  height:var(--header-h);
  display:flex;align-items:center;gap:.75rem;
  padding:0 1.25rem;
  background:linear-gradient(to bottom,rgba(8,9,15,.98) 70%,rgba(8,9,15,.8));
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  z-index:300;
}
.logo{
  font-size:1.55rem;font-weight:800;letter-spacing:-1px;
  color:#fff;flex-shrink:0;
  transition:opacity .2s;
}
.logo:hover{opacity:.85}
.logo span{color:var(--accent)}

.desk-nav{display:none;align-items:center;gap:.25rem;flex:1;margin-left:1.5rem}
@media(min-width:960px){.desk-nav{display:flex}}
.desk-nav a{
  display:flex;align-items:center;gap:.4rem;
  padding:.4rem .75rem;border-radius:6px;
  font-size:.88rem;font-weight:500;color:var(--text2);
  transition:all .2s;
}
.desk-nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.desk-nav a.active{color:#fff;background:rgba(124,106,247,.15);color:var(--accent)}

.h-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.h-icon-btn{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--text2);font-size:1rem;
  transition:all .2s;
}
.h-icon-btn:hover{color:#fff;background:rgba(255,255,255,.08)}

/* Account button */
.account-wrap{position:relative}
.account-btn{
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;transition:opacity .2s;border:2px solid rgba(255,255,255,.15);
}
.account-btn:hover{opacity:.85}
.acct-initials{font-size:.8rem;font-weight:700;color:#fff;pointer-events:none;user-select:none}
.acct-img{width:100%;height:100%;object-fit:cover}

/* Account panel */
.account-panel{
  position:absolute;top:calc(100% + 10px);right:0;
  width:230px;
  background:var(--bg3);border:1px solid var(--border2);
  border-radius:var(--r2);
  box-shadow:var(--shadow);
  overflow:hidden;
  opacity:0;visibility:hidden;transform:translateY(-8px) scale(.96);
  transition:all .22s cubic-bezier(.4,0,.2,1);
  z-index:400;
}
.account-panel.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.acct-panel-header{display:flex;align-items:center;gap:.75rem;padding:1rem}
.acct-img-lg{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0}
.acct-initials-lg{
  width:44px;height:44px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;font-weight:700;color:#fff;
}
.acct-name{font-size:.9rem;font-weight:600;color:#fff}
.acct-sub{font-size:.72rem;color:var(--text3);margin-top:.1rem}
.panel-divider{border:none;border-top:1px solid var(--border);margin:0}
.panel-item{
  display:flex;align-items:center;gap:.65rem;
  padding:.7rem 1rem;width:100%;text-align:left;
  font-size:.85rem;color:var(--text2);
  transition:all .15s;
}
.panel-item:hover{background:rgba(255,255,255,.05);color:#fff}
.panel-item.danger{color:var(--accent3)}
.panel-item.danger:hover{background:rgba(247,108,108,.08);color:var(--accent3)}
.panel-item i{width:16px;text-align:center}

/* ── BOTTOM NAV ──────────────────────────────────────────── */
#bottom-nav{
  position:fixed;bottom:0;left:0;right:0;
  height:var(--bnav-h);
  display:flex;align-items:center;
  background:rgba(8,9,15,.98);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-top:1px solid var(--border);
  z-index:300;
  padding-bottom:env(safe-area-inset-bottom);
}
@media(min-width:960px){#bottom-nav{display:none}}
.bnav-item{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:.5rem 0;
  color:var(--text3);font-size:.6rem;font-weight:500;
  letter-spacing:.5px;text-transform:uppercase;
  transition:color .2s;position:relative;
}
.bnav-item i{font-size:1.2rem;transition:transform .2s}
.bnav-item.active{color:var(--accent)}
.bnav-item.active i{transform:translateY(-1px)}
.bnav-item.active::after{
  content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);
  width:28px;height:2px;border-radius:99px;
  background:var(--accent);
}
.bnav-item:active i{transform:scale(.88)}

/* ── MAIN CONTENT ────────────────────────────────────────── */
#main-content{
  min-height:100vh;
  padding-top:var(--header-h);
  padding-bottom:var(--bnav-h);
}
@media(min-width:960px){#main-content{padding-bottom:0}}

/* ── BREADCRUMB ──────────────────────────────────────────── */
.breadcrumb-bar{
  display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;
  padding:.75rem 1.25rem;
  font-size:.8rem;
  background:linear-gradient(to bottom,var(--bg2),transparent);
  border-bottom:1px solid var(--border);
}
@media(min-width:960px){.breadcrumb-bar{padding:.75rem 2.5rem}}
.bc-item{color:var(--text3);transition:color .2s;white-space:nowrap}
.bc-item:hover{color:var(--accent)}
.bc-item.active{color:var(--text2);font-weight:500}
.bc-sep{color:var(--text3);font-size:.65rem}

/* ── PAGE HEADERS ────────────────────────────────────────── */
.page-header{padding:1.5rem 1.25rem .25rem}
@media(min-width:960px){.page-header{padding:2rem 2.5rem .5rem}}
.page-title{
  font-size:clamp(1.5rem,4vw,2.2rem);font-weight:800;
  display:flex;align-items:center;gap:.5rem;
  color:#fff;
}
.page-title i{color:var(--accent);font-size:.85em}
.page-sub{font-size:.88rem;color:var(--text3);margin-top:.35rem}

/* ── HERO SLIDER ─────────────────────────────────────────── */
#hero{
  position:relative;
  height:clamp(300px,55vw,540px);
  overflow:hidden;background:#000;
}
.hero-slide{
  position:absolute;inset:0;
  opacity:0;transition:opacity .9s ease;pointer-events:none;
}
.hero-slide.active{opacity:1;pointer-events:auto}
.hero-bg{width:100%;height:100%;object-fit:cover;object-position:top center}
.hero-grad{
  position:absolute;inset:0;
  background:
    linear-gradient(to right, rgba(8,9,15,.96) 0%, rgba(8,9,15,.55) 50%, rgba(8,9,15,.1) 100%),
    linear-gradient(to top, rgba(8,9,15,1) 0%, rgba(8,9,15,0) 42%);
}
.hero-info{
  position:absolute;bottom:2rem;left:1.25rem;right:52%;
  z-index:2;
}
@media(min-width:768px){.hero-info{bottom:2.5rem;left:2.5rem;right:45%}}
@media(min-width:1280px){.hero-info{bottom:3rem;left:3.5rem;right:40%}}

.hero-badge{
  display:inline-flex;align-items:center;gap:.35rem;
  font-size:.68rem;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:var(--accent2);
  margin-bottom:.5rem;
}
.hero-title{
  font-size:clamp(1.4rem,4.5vw,2.6rem);
  font-weight:800;line-height:1.12;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.6);
  margin-bottom:.55rem;
}
.hero-meta{
  display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;
  font-size:.78rem;color:var(--text2);
  margin-bottom:.9rem;
}
.hero-star{color:var(--gold);font-weight:600}
.hero-type-badge{
  padding:.15rem .5rem;border-radius:4px;
  font-size:.62rem;font-weight:700;letter-spacing:.8px;
  text-transform:uppercase;
}
.hero-type-badge.movie{background:var(--accent);color:#fff}
.hero-type-badge.tv{background:#8b44ff;color:#fff}
.hero-type-badge.anime{background:#e84393;color:#fff}

.hero-actions{display:flex;gap:.65rem;flex-wrap:wrap}

/* Arrows */
.hero-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;backdrop-filter:blur(8px);
  transition:all .2s;z-index:3;
}
.hero-arrow.left{left:1rem}
.hero-arrow.right{right:1rem}
.hero-arrow:hover{background:rgba(255,255,255,.22)}
@media(max-width:600px){.hero-arrow{display:none}}

/* Dots */
.hero-dots{
  position:absolute;bottom:1rem;right:1.25rem;
  display:flex;gap:.4rem;z-index:3;
}
.hero-dot{
  width:6px;height:6px;border-radius:99px;
  background:rgba(255,255,255,.3);cursor:pointer;
  transition:all .3s;
}
.hero-dot.active{width:22px;background:var(--accent)}

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn-play-hero{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.65rem 1.5rem;
  background:var(--accent);color:#fff;
  font-size:.9rem;font-weight:600;
  border-radius:6px;transition:all .2s;
  box-shadow:0 4px 16px rgba(124,106,247,.4);
}
.btn-play-hero:hover{background:#9882ff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(124,106,247,.5)}

.btn-info-hero{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.65rem 1.3rem;
  background:rgba(255,255,255,.12);color:#fff;
  font-size:.9rem;font-weight:600;
  border-radius:6px;backdrop-filter:blur(8px);
  transition:all .2s;
}
.btn-info-hero:hover{background:rgba(255,255,255,.2)}

.btn-watch-now{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.7rem 1.6rem;
  background:linear-gradient(135deg,var(--accent) 0%,#6a58f0 100%);
  color:#fff;font-size:.95rem;font-weight:700;
  border-radius:8px;
  box-shadow:0 4px 20px rgba(124,106,247,.45);
  transition:all .2s;
}
.btn-watch-now:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(124,106,247,.55)}

.btn-watchlist-toggle{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.65rem 1.3rem;
  background:rgba(255,255,255,.1);color:#fff;
  font-size:.9rem;font-weight:600;
  border:1px solid rgba(255,255,255,.15);border-radius:8px;
  transition:all .2s;
}
.btn-watchlist-toggle:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3)}
.btn-watchlist-toggle.in-list{background:rgba(46,204,113,.15);border-color:var(--green);color:var(--green)}

.btn-trailer{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.65rem 1.2rem;
  background:rgba(245,197,24,.1);color:var(--gold);
  font-size:.9rem;font-weight:600;
  border:1px solid rgba(245,197,24,.3);border-radius:8px;
  transition:all .2s;
}
.btn-trailer:hover{background:rgba(245,197,24,.2)}

.btn-primary{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.65rem 1.4rem;
  background:var(--accent);color:#fff;
  font-size:.88rem;font-weight:600;
  border-radius:var(--r);transition:all .2s;
}
.btn-primary:hover{background:#9882ff}

.btn-secondary{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.65rem 1.4rem;
  background:var(--bg4);color:var(--text2);
  font-size:.88rem;font-weight:600;
  border:1px solid var(--border2);border-radius:var(--r);
  transition:all .2s;
}
.btn-secondary:hover{background:var(--surface);color:#fff}

.btn-load-more{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.65rem 2rem;
  background:var(--bg3);color:var(--text2);
  border:1px solid var(--border2);border-radius:var(--r);
  font-size:.88rem;font-weight:600;
  transition:all .2s;
}
.btn-load-more:hover{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ── SECTIONS ────────────────────────────────────────────── */
.content-section{padding:1.5rem 0 .5rem}
.sec-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 1.25rem .75rem;
}
@media(min-width:960px){.sec-header{padding:0 2.5rem .75rem}}
.sec-title{
  font-size:1rem;font-weight:700;color:#fff;
  display:flex;align-items:center;gap:.5rem;
}
.sec-accent{
  display:inline-block;width:3px;height:1.1em;
  background:var(--accent);border-radius:2px;
}
.sec-more{
  font-size:.78rem;color:var(--accent);
  display:flex;align-items:center;gap:.3rem;
  transition:opacity .2s;
}
.sec-more:hover{opacity:.7}

/* ── SCROLL ROW ──────────────────────────────────────────── */
.scroll-row{
  display:flex;gap:.75rem;
  overflow-x:auto;
  padding:0 1.25rem .75rem;
  scrollbar-width:none;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}
.scroll-row::-webkit-scrollbar{display:none}
@media(min-width:960px){.scroll-row{padding:0 2.5rem .75rem;gap:1rem}}

/* ── CARDS ───────────────────────────────────────────────── */
.card{
  flex-shrink:0;
  width:clamp(110px,26vw,160px);
  border-radius:var(--r);
  overflow:hidden;
  background:var(--bg3);
  cursor:pointer;position:relative;
  scroll-snap-align:start;
  transition:transform .25s,box-shadow .25s;
  border:1px solid var(--border);
}
.card:hover{transform:translateY(-5px) scale(1.03);box-shadow:0 16px 36px rgba(0,0,0,.65);border-color:var(--border2);z-index:2}
.card-poster{width:100%;aspect-ratio:2/3;object-fit:cover;background:var(--bg4);display:block}
.card-body{padding:.5rem .6rem .65rem}
.card-title{
  font-size:.77rem;font-weight:600;color:var(--text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  margin-bottom:.25rem;
}
.card-meta{display:flex;align-items:center;justify-content:space-between}
.card-year{font-size:.66rem;color:var(--text3)}
.card-rating{font-size:.66rem;color:var(--gold);display:flex;align-items:center;gap:.2rem}
.card-type{
  position:absolute;top:.4rem;left:.4rem;
  font-size:.56rem;font-weight:700;letter-spacing:.8px;
  padding:.18rem .42rem;border-radius:3px;
  text-transform:uppercase;
}
.badge-movie{background:var(--accent);color:#fff}
.badge-tv{background:#8b44ff;color:#fff}
.badge-anime{background:#e84393;color:#fff}

/* Grid cards (full width in grid) */
.content-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
  gap:.75rem;
  padding:0 1.25rem;
}
@media(min-width:640px){.content-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
@media(min-width:960px){.content-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:1rem;padding:0 2.5rem}}
.content-grid .card{width:100%}

.load-more-bar{display:flex;justify-content:center;padding:1.5rem}

/* ── FILTER BAR ──────────────────────────────────────────── */
.filter-bar{
  display:flex;align-items:flex-start;flex-wrap:wrap;gap:.75rem;
  padding:.75rem 1.25rem;
}
@media(min-width:960px){.filter-bar{padding:.75rem 2.5rem;align-items:center}}
.genre-pills{display:flex;gap:.45rem;flex-wrap:wrap;flex:1}
.pill{
  padding:.35rem .9rem;border-radius:99px;
  font-size:.77rem;font-weight:500;
  background:var(--bg3);color:var(--text2);
  border:1px solid var(--border);
  cursor:pointer;transition:all .2s;white-space:nowrap;
}
.pill:hover{border-color:var(--accent);color:var(--accent)}
.pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.sort-wrap{flex-shrink:0}
.sort-select{
  padding:.38rem .9rem;border-radius:var(--r);
  background:var(--bg3);color:var(--text);
  border:1px solid var(--border2);font-size:.82rem;
  cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23a8adc8'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .7rem center;
  padding-right:2rem;
}
.sort-select:focus{border-color:var(--accent)}

/* ── SKELETON ────────────────────────────────────────────── */
.card-skel{
  flex-shrink:0;width:clamp(110px,26vw,160px);
  border-radius:var(--r);overflow:hidden;
  background:var(--bg3);scroll-snap-align:start;
}
.skel-poster{width:100%;aspect-ratio:2/3;background:var(--bg4)}
.skel-line{height:.6rem;border-radius:3px;background:var(--bg4);margin:.5rem .6rem .3rem}
.skel-line.w70{width:70%}.skel-line.w45{width:45%}
.shimmer{position:relative;overflow:hidden;background:var(--bg4);}
.shimmer::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 40%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.08) 60%,transparent 100%);
  animation:shim 1.4s ease-in-out infinite;
}
@keyframes shim{0%{transform:translateX(-100%)}100%{transform:translateX(120%)}}

/* ── DETAIL PAGE ─────────────────────────────────────────── */
.detail-hero{
  position:relative;
  min-height:clamp(260px,50vw,480px);
  background:#000;overflow:hidden;
}
.detail-backdrop{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:top center;
}
.detail-backdrop-grad{
  position:absolute;inset:0;
  background:
    linear-gradient(to right, rgba(8,9,15,.98) 0%, rgba(8,9,15,.7) 55%, rgba(8,9,15,.2) 100%),
    linear-gradient(to top, rgba(8,9,15,1) 0%, rgba(8,9,15,.0) 55%);
}
.detail-hero-content{
  position:relative;z-index:2;
  display:flex;align-items:flex-end;gap:1.5rem;
  padding:2rem 1.25rem 2.5rem;
  min-height:inherit;
}
@media(min-width:640px){.detail-hero-content{padding:2rem 2.5rem 3rem}}
@media(min-width:960px){.detail-hero-content{padding:3rem 2.5rem 3.5rem;align-items:center}}

.detail-poster-wrap{
  flex-shrink:0;display:none;
}
@media(min-width:640px){
  .detail-poster-wrap{
    display:block;
    width:clamp(120px,14vw,175px);
  }
}
.detail-poster{
  width:100%;border-radius:var(--r);
  box-shadow:var(--shadow);
  border:2px solid rgba(255,255,255,.1);
}

.detail-hero-info{flex:1}
.detail-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.6rem}
.d-badge{
  padding:.2rem .55rem;border-radius:4px;
  font-size:.65rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;
}
.d-badge.movie{background:var(--accent);color:#fff}
.d-badge.tv{background:#8b44ff;color:#fff}
.d-badge.anime{background:#e84393;color:#fff}
.d-badge.rating{background:rgba(245,197,24,.15);color:var(--gold);border:1px solid rgba(245,197,24,.3)}
.d-badge.year{background:var(--bg4);color:var(--text2);border:1px solid var(--border2)}

.detail-title{
  font-size:clamp(1.5rem,5vw,2.8rem);
  font-weight:800;line-height:1.1;color:#fff;
  margin-bottom:.4rem;
}
.detail-tagline{
  font-size:.88rem;color:var(--text3);
  font-style:italic;margin-bottom:.6rem;
}
.detail-meta{
  display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;
  font-size:.8rem;color:var(--text2);margin-bottom:.75rem;
}
.detail-meta .star{color:var(--gold);font-weight:600}
.detail-genres{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.1rem}
.genre-tag{
  padding:.22rem .65rem;border-radius:99px;
  font-size:.72rem;font-weight:500;
  background:rgba(255,255,255,.07);color:var(--text2);
  border:1px solid var(--border2);
}
.detail-actions{display:flex;gap:.6rem;flex-wrap:wrap}

.detail-body{
  padding:1.5rem 1.25rem 2rem;
  max-width:1400px;margin:0 auto;
}
@media(min-width:960px){
  .detail-body{
    display:grid;
    grid-template-columns:1fr 280px;
    gap:2.5rem;
    padding:2rem 2.5rem 3rem;
  }
}
@media(min-width:1280px){.detail-body{grid-template-columns:1fr 320px}}

.detail-section{margin-bottom:2rem}
.detail-sec-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}
.detail-sec-title{
  font-size:1rem;font-weight:700;color:#fff;
  display:flex;align-items:center;gap:.5rem;
  margin-bottom:.9rem;
}
.detail-sec-title::before{
  content:'';display:inline-block;
  width:3px;height:1em;background:var(--accent);border-radius:2px;
}
.detail-overview{font-size:.9rem;color:var(--text2);line-height:1.75}

/* Season select */
.season-select{
  padding:.35rem .7rem;border-radius:6px;
  background:var(--bg3);color:var(--text);
  border:1px solid var(--border2);font-size:.82rem;
  cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23a8adc8'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .6rem center;
  padding-right:1.8rem;
}

/* Episode list on detail page */
.episodes-list{display:flex;flex-direction:column;gap:.5rem}
.ep-item{
  display:flex;align-items:flex-start;gap:.75rem;
  padding:.65rem .75rem;border-radius:var(--r);
  background:var(--bg3);border:1px solid var(--border);
  cursor:pointer;
  transition:border-color .2s,background .2s,opacity .38s ease,transform .38s cubic-bezier(.22,.61,.36,1);
  /* lazy-reveal: start hidden, revealed by JS */
  opacity:0;transform:translateY(16px);
  will-change:opacity,transform;
}
.ep-item.ep-visible{opacity:1;transform:translateY(0)}
.ep-item:hover{border-color:var(--accent);background:var(--bg4)}
.ep-item.active{border-color:var(--accent);background:rgba(124,106,247,.12)}

/* Episode thumbnail on detail page */
.ep-thumb-wrap{
  position:relative;flex-shrink:0;
  width:110px;height:62px;
  border-radius:6px;overflow:hidden;
  background:var(--bg4);
}
@media(max-width:480px){.ep-thumb-wrap{width:88px;height:50px}}
.ep-thumb{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.ep-item:hover .ep-thumb{transform:scale(1.05)}
.ep-thumb-play-overlay{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.4);
  opacity:0;transition:opacity .18s;
}
.ep-item:hover .ep-thumb-play-overlay{opacity:1}
.ep-thumb-play-overlay i{font-size:1.3rem;color:#fff;filter:drop-shadow(0 1px 4px rgba(0,0,0,.7))}
.ep-thumb-num{
  position:absolute;bottom:4px;left:5px;
  background:rgba(0,0,0,.7);
  color:#fff;font-size:.58rem;font-weight:700;
  padding:.1rem .3rem;border-radius:3px;
  backdrop-filter:blur(3px);
}

.ep-info{flex:1;min-width:0}
.ep-title{font-size:.84rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ep-air{font-size:.72rem;color:var(--text3);margin-top:.15rem}
.ep-overview{font-size:.72rem;color:var(--text3);margin-top:.2rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ep-play-icon{flex-shrink:0;color:var(--text3);font-size:.9rem;align-self:center;transition:color .2s}
.ep-item:hover .ep-play-icon,.ep-item.active .ep-play-icon{color:var(--accent)}
.ep-skel{
  height:74px;border-radius:var(--r);margin-bottom:.5rem;
  display:flex;align-items:center;gap:.75rem;
  padding:.65rem .75rem;background:var(--bg3);border:1px solid var(--border);
}
.ep-skel-thumb{width:110px;height:62px;border-radius:6px;flex-shrink:0}
.ep-skel-lines{flex:1;display:flex;flex-direction:column;gap:.45rem}
.ep-skel-line{height:.65rem;border-radius:4px}
.ep-skel-line.w80{width:80%}
.ep-skel-line.w50{width:50%}
.ep-skel-line.w65{width:65%}

/* Cast scroll */
.cast-scroll{
  display:flex;gap:.75rem;
  overflow-x:auto;padding-bottom:.5rem;
  scrollbar-width:none;
}
.cast-scroll::-webkit-scrollbar{display:none}
.cast-card{flex-shrink:0;width:80px;text-align:center}
.cast-photo{
  width:64px;height:64px;border-radius:50%;
  object-fit:cover;background:var(--bg4);
  margin:0 auto .45rem;
  border:2px solid var(--border2);
}
.cast-name{font-size:.7rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cast-role{font-size:.64rem;color:var(--text3);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cast-skel{flex-shrink:0;width:64px;height:64px;border-radius:50%}

/* Sidebar */
.detail-sidebar{}
.sidebar-card{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--r2);padding:1.1rem;
  margin-bottom:1rem;
}
.sidebar-title{
  font-size:.78rem;font-weight:700;color:var(--text2);
  letter-spacing:1.2px;text-transform:uppercase;
  margin-bottom:.9rem;
}
.info-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:.4rem 0;border-bottom:1px solid var(--border);
}
.info-row:last-child{border-bottom:none}
.info-label{font-size:.76rem;color:var(--text3)}
.info-value{font-size:.76rem;color:var(--text);font-weight:500;text-align:right;max-width:58%}
.trailer-thumb-wrap{border-radius:var(--r);overflow:hidden;cursor:pointer;position:relative}
.trailer-thumb{width:100%;aspect-ratio:16/9;object-fit:cover}
.trailer-thumb-play{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.4);transition:background .2s;
}
.trailer-thumb-wrap:hover .trailer-thumb-play{background:rgba(0,0,0,.6)}
.trailer-thumb-play i{font-size:2.5rem;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5)}

/* ── SEARCH PAGE ─────────────────────────────────────────── */
.search-page-header{padding:1.25rem 1.25rem .75rem}
@media(min-width:960px){.search-page-header{padding:1.5rem 2.5rem .75rem}}
.search-page-title{font-size:1.4rem;font-weight:800;margin-bottom:1rem}
.search-bar-wrap{margin-bottom:1rem}
.search-bar{
  display:flex;align-items:center;gap:.75rem;
  background:var(--bg3);border:1px solid var(--border2);
  border-radius:12px;padding:.65rem 1rem;
  transition:border-color .2s;
}
.search-bar:focus-within{border-color:var(--accent)}
.search-bar-icon{color:var(--text3);font-size:1rem;flex-shrink:0}
.search-bar-input{
  flex:1;background:none;border:none;
  color:var(--text);font-size:1rem;
}
.search-bar-input::placeholder{color:var(--text3)}
.search-bar-clear{
  width:28px;height:28px;border-radius:50%;
  background:var(--bg4);color:var(--text3);
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;flex-shrink:0;transition:all .2s;
}
.search-bar-clear:hover{background:var(--accent3);color:#fff}
.search-filters{display:flex;gap:.45rem;flex-wrap:wrap}
.results-header{padding:.5rem 1.25rem 0}
@media(min-width:960px){.results-header{padding:.5rem 2.5rem 0}}
.results-count{font-size:.82rem;color:var(--text3);margin-bottom:.75rem}

/* ── EMPTY STATE ─────────────────────────────────────────── */
.empty-state{
  display:flex;flex-direction:column;align-items:center;
  padding:4rem 1rem;color:var(--text3);gap:.75rem;text-align:center;
}
.empty-state i{font-size:3.5rem;color:var(--border2)}
.empty-state p{font-size:1rem;font-weight:600;color:var(--text2)}
.empty-state span{font-size:.85rem}

/* ── WATCHLIST PAGE ──────────────────────────────────────── */
#wl-filter-bar{margin-top:.5rem}

/* ── FOOTER ──────────────────────────────────────────────── */
#site-footer{
  display:none;
  background:var(--bg2);border-top:1px solid var(--border);
  padding:2.5rem;margin-top:auto;
}
@media(min-width:960px){#site-footer{display:block}}
.footer-inner{max-width:1200px;margin:0 auto;text-align:center}
.footer-logo{font-size:1.4rem;font-weight:800;color:#fff;margin-bottom:.75rem}
.footer-logo span{color:var(--accent)}
.footer-links{
  display:flex;justify-content:center;gap:1.25rem;flex-wrap:wrap;
  margin-bottom:1rem;
}
.footer-links a{font-size:.83rem;color:var(--text3);transition:color .2s}
.footer-links a:hover{color:var(--text)}
.footer-note{font-size:.76rem;color:var(--text3);line-height:1.6}

/* ── ACCOUNT MODAL ───────────────────────────────────────── */
.modal-overlay{
  position:fixed;inset:0;z-index:600;
  background:rgba(0,0,0,.75);
  display:flex;align-items:center;justify-content:center;
  padding:1rem;
  backdrop-filter:blur(6px);
}
.modal-box{
  background:var(--bg3);border:1px solid var(--border2);
  border-radius:var(--r2);
  width:100%;max-width:440px;
  box-shadow:var(--shadow);
  animation:modalIn .25s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes modalIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
.modal-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 1.3rem;border-bottom:1px solid var(--border);
}
.modal-title{font-size:1rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:.5rem}
.modal-title i{color:var(--accent)}
.modal-close{
  width:32px;height:32px;border-radius:50%;
  background:var(--bg4);color:var(--text3);
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;transition:all .2s;
}
.modal-close:hover{background:var(--accent3);color:#fff}
.modal-body{padding:1.3rem}
.modal-footer{
  display:flex;justify-content:flex-end;gap:.6rem;
  padding:1rem 1.3rem;border-top:1px solid var(--border);
}

/* Avatar upload */
.avatar-upload-wrap{
  display:flex;flex-direction:column;align-items:center;gap:.75rem;
  margin-bottom:1.3rem;
}
.avatar-preview-ring{
  width:88px;height:88px;border-radius:50%;
  border:3px solid var(--accent);overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  position:relative;
}
.modal-avatar-img{width:100%;height:100%;object-fit:cover}
.modal-avatar-initials{font-size:1.8rem;font-weight:800;color:#fff}
.upload-label{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.4rem .9rem;border-radius:6px;
  background:var(--bg4);color:var(--text2);
  font-size:.82rem;cursor:pointer;border:1px solid var(--border2);
  transition:all .2s;
}
.upload-label:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.remove-photo-btn{
  font-size:.78rem;color:var(--accent3);
  display:flex;align-items:center;gap:.3rem;
  transition:opacity .2s;
}
.remove-photo-btn:hover{opacity:.75}

/* Form */
.form-group{margin-bottom:1rem}
.form-label{display:block;font-size:.82rem;font-weight:600;color:var(--text2);margin-bottom:.4rem}
.form-input{
  width:100%;padding:.65rem .9rem;
  background:var(--bg4);color:var(--text);
  border:1px solid var(--border2);border-radius:var(--r);
  font-size:.9rem;transition:border-color .2s;
}
.form-input:focus{border-color:var(--accent)}
.form-hint{font-size:.72rem;color:var(--text3);margin-top:.3rem;line-height:1.5}

/* ── TOAST ───────────────────────────────────────────────── */
#toast{
  position:fixed;bottom:calc(var(--bnav-h) + .75rem);left:50%;
  transform:translateX(-50%) translateY(16px);
  background:var(--bg3);color:var(--text);
  padding:.6rem 1.25rem;border-radius:8px;
  font-size:.83rem;font-weight:500;
  box-shadow:var(--shadow);
  z-index:700;opacity:0;pointer-events:none;
  transition:all .3s ease;
  border:1px solid var(--border2);
  white-space:nowrap;
  max-width:calc(100vw - 2rem);
}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:960px){#toast{bottom:1.5rem}}

/* ══════════════════════════════════════════════════════════
   WATCH PAGE
══════════════════════════════════════════════════════════ */
.watch-body #main-content{background:var(--bg)}
.watch-bc{position:sticky;top:var(--header-h);z-index:100;background:var(--bg2)}

.watch-layout{
  display:flex;flex-direction:column;gap:0;
  max-width:1600px;margin:0 auto;
  padding:0 0 2rem;
}
@media(min-width:1100px){
  .watch-layout{
    flex-direction:row;
    align-items:flex-start;
    gap:1.5rem;
    padding:1.25rem 1.5rem 2rem;
  }
}

/* ── Player Column ── */
.player-col{
  flex:1;min-width:0;
}
@media(max-width:1099px){.player-col{padding:.75rem .75rem 0}}

/* ── Player Stage (video box) ── */
.player-stage{
  position:relative;
  width:100%;
  padding-top:56.25%;
  background:#000;
  border-radius:var(--r2);
  overflow:hidden;
  box-shadow:0 8px 40px rgba(0,0,0,.7);
  border:1px solid rgba(255,255,255,.06);
}
.player-iframe{
  position:absolute;inset:0;
  width:100%;height:100%;
  border:none;
}
.player-overlay{
  position:absolute;inset:0;z-index:10;
  background:rgba(0,0,0,.85);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.9rem;
  transition:opacity .4s ease;
}
.player-overlay.hidden{opacity:0;pointer-events:none}

/* Fullscreen is handled by the embed player's native controls */
/* The iframe allow="fullscreen" attribute enables native fullscreen from within */
.player-spinner{
  width:48px;height:48px;
  border:3px solid rgba(255,255,255,.12);
  border-top-color:var(--accent);
  border-radius:50%;
  animation:spin .75s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.player-overlay-text{font-size:.82rem;color:var(--text2)}

.player-error{
  position:absolute;inset:0;z-index:11;
  background:rgba(0,0,0,.92);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.65rem;text-align:center;padding:1.5rem;
}
.player-error i{font-size:2.5rem;color:var(--accent3)}
.player-error p{font-size:.9rem;color:var(--text2)}
.player-error-hint{font-size:.8rem;color:var(--text3)!important}
.btn-try-next{
  margin-top:.25rem;
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.55rem 1.25rem;
  background:var(--accent);color:#fff;
  font-size:.85rem;font-weight:600;
  border-radius:6px;transition:opacity .2s;
}
.btn-try-next:hover{opacity:.85}

/* ── Server Toolbar ── */
.server-toolbar{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:.65rem;
  padding:.75rem 0;
}
.server-toolbar-left{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.server-toolbar-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.server-label{
  font-size:.72rem;font-weight:700;
  color:var(--text3);letter-spacing:1px;
  text-transform:uppercase;white-space:nowrap;
}
.server-btns{display:flex;gap:.4rem;flex-wrap:wrap}
.server-btn{
  display:flex;align-items:center;gap:.35rem;
  padding:.38rem .8rem;
  background:var(--bg3);color:var(--text2);
  border:1px solid var(--border);border-radius:6px;
  font-size:.76rem;font-weight:600;
  cursor:pointer;transition:all .2s;
  position:relative;
}
.server-btn:hover{border-color:var(--accent2);color:#fff}
.server-btn.active{background:linear-gradient(135deg,var(--accent),#6a58f0);color:#fff;border-color:transparent;box-shadow:0 2px 10px rgba(124,106,247,.4)}
.server-quality-tag{
  font-size:.58rem;font-weight:700;letter-spacing:.5px;
  padding:.1rem .3rem;border-radius:3px;
  background:rgba(255,255,255,.15);
}
.server-btn.active .server-quality-tag{background:rgba(255,255,255,.2)}
.server-free-dot{
  position:absolute;top:-4px;right:-4px;
  width:8px;height:8px;border-radius:50%;
  background:var(--green);border:1.5px solid var(--bg);
}

.player-btn-sm{
  display:flex;align-items:center;gap:.4rem;
  padding:.38rem .8rem;
  background:var(--bg3);color:var(--text2);
  border:1px solid var(--border);border-radius:6px;
  font-size:.76rem;font-weight:600;
  transition:all .2s;
}
.player-btn-sm:hover{border-color:var(--accent2);color:#fff}
.player-btn-sm.primary{background:var(--accent);color:#fff;border-color:transparent}
.player-btn-sm.primary:hover{background:#9882ff}
.player-btn-sm:disabled{opacity:.4;cursor:not-allowed}

/* ── Now Playing Card ── */
.now-playing-card{
  display:flex;align-items:center;gap:.9rem;
  padding:.85rem 1rem;
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--r);
  margin-top:.75rem;
}
.np-thumb{
  width:72px;height:48px;
  object-fit:cover;border-radius:6px;
  flex-shrink:0;background:var(--bg4);
}
.np-info{flex:1;min-width:0}
.np-eyebrow{
  display:flex;align-items:center;gap:.4rem;
  font-size:.66rem;font-weight:600;letter-spacing:1px;
  text-transform:uppercase;color:var(--accent2);
  margin-bottom:.2rem;
}
.np-pulse{animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}
.np-server-badge{
  display:inline-flex;align-items:center;gap:.3rem;
  margin-left:auto;
  background:rgba(124,106,247,.15);
  border:1px solid rgba(124,106,247,.25);
  border-radius:4px;
  padding:.1rem .45rem;
  font-size:.6rem;font-weight:600;letter-spacing:.5px;
  color:var(--accent);text-transform:none;
  white-space:nowrap;
}
.np-title{
  font-size:.9rem;font-weight:700;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.np-meta{font-size:.74rem;color:var(--text3);margin-top:.15rem}
.np-detail-link{
  flex-shrink:0;color:var(--text3);font-size:1.2rem;
  transition:color .2s;
}
.np-detail-link:hover{color:var(--accent)}

/* ── Server Help ── */
.server-help-box{
  display:flex;align-items:flex-start;gap:.65rem;
  padding:.75rem 1rem;
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--r);
  margin-top:.75rem;
  font-size:.8rem;color:var(--text2);
}
.server-help-box i{color:var(--accent);flex-shrink:0;margin-top:.1rem}
.server-help-text span{color:var(--text3)}

/* ── Watch Sidebar ── */
.watch-sidebar{
  width:100%;
}
@media(min-width:1100px){
  .watch-sidebar{
    width:360px;
    flex-shrink:0;
    position:sticky;
    top:calc(var(--header-h) + 40px);
    max-height:calc(100vh - var(--header-h) - 48px);
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color:var(--border2) transparent;
  }
  .watch-sidebar::-webkit-scrollbar{width:4px}
  .watch-sidebar::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}
}
@media(max-width:1099px){.watch-sidebar{padding:.75rem .75rem 0}}

.ws-section{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--r2);
  margin-bottom:1rem;
  overflow:hidden;
}
.ws-section-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:.85rem 1rem;border-bottom:1px solid var(--border);
}
.ws-title{
  font-size:.85rem;font-weight:700;color:#fff;
  display:flex;align-items:center;gap:.45rem;
}
.ws-title i{color:var(--accent)}
.ws-season-select{
  padding:.3rem .65rem;border-radius:6px;
  background:var(--bg4);color:var(--text);
  border:1px solid var(--border2);font-size:.78rem;
  cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23a8adc8'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .5rem center;
  padding-right:1.6rem;
}

/* Episode list in watch sidebar */
.ws-ep-list{
  max-height:560px;overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:var(--border2) transparent;
}
.ws-ep-list::-webkit-scrollbar{width:4px}
.ws-ep-list::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}

/* ═══════════════════════════════════════════════════════════
   EPISODE CARD — Netflix / Prime style
   Layout: [thumbnail] [details: title, date, overview]
═══════════════════════════════════════════════════════════ */
.ws-ep-card{
  display:flex;
  gap:.85rem;
  padding:.75rem 1rem;
  cursor:pointer;
  border-bottom:1px solid var(--border);
  transition:background .18s,opacity .38s ease,transform .38s cubic-bezier(.22,.61,.36,1);
  position:relative;
  align-items:flex-start;
  /* lazy-reveal: start hidden, revealed by JS */
  opacity:0;transform:translateY(14px);
  will-change:opacity,transform;
}
.ws-ep-card.ep-visible{opacity:1;transform:translateY(0)}
.ws-ep-card:last-child{border-bottom:none}
.ws-ep-card:hover{background:rgba(255,255,255,.045)}
.ws-ep-card.active{background:rgba(124,106,247,.1)}

/* Active left accent bar */
.ws-ep-now-bar{
  position:absolute;left:0;top:0;bottom:0;
  width:3px;
  background:var(--accent);
  border-radius:0 3px 3px 0;
}

/* ── Thumbnail ── */
.ws-ep-thumb-wrap{
  position:relative;
  flex-shrink:0;
  width:120px;
  height:68px;
  border-radius:7px;
  overflow:hidden;
  background:var(--bg4);
}
@media(max-width:400px){
  .ws-ep-thumb-wrap{width:96px;height:54px}
}
.ws-ep-thumb{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .3s ease;
  display:block;
}
.ws-ep-card:hover .ws-ep-thumb{transform:scale(1.06)}

/* Play / Now-playing overlay on thumbnail */
.ws-ep-thumb-overlay{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.35);
  opacity:0;
  transition:opacity .18s;
}
.ws-ep-card:hover .ws-ep-thumb-overlay,
.ws-ep-card.active .ws-ep-thumb-overlay{opacity:1}
.ws-ep-play-icon{
  font-size:1.5rem;color:#fff;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.6));
}
.ws-ep-playing-icon{
  font-size:1.3rem;color:var(--accent2);
  animation:pulse 1.4s infinite;
  filter:drop-shadow(0 0 6px rgba(78,201,176,.8));
}

/* Episode number badge (bottom-left of thumb) */
.ws-ep-num-badge{
  position:absolute;bottom:5px;left:6px;
  background:rgba(0,0,0,.72);
  color:#fff;
  font-size:.6rem;font-weight:700;
  letter-spacing:.5px;
  padding:.15rem .35rem;
  border-radius:4px;
  backdrop-filter:blur(4px);
}

/* Runtime badge (bottom-right of thumb) */
.ws-ep-runtime{
  position:absolute;bottom:5px;right:6px;
  background:rgba(0,0,0,.68);
  color:var(--text2);
  font-size:.58rem;
  padding:.12rem .3rem;
  border-radius:4px;
  backdrop-filter:blur(4px);
}

/* ── Details column ── */
.ws-ep-details{
  flex:1;min-width:0;
  padding-top:.1rem;
}
.ws-ep-title-row{
  display:flex;align-items:baseline;
  justify-content:space-between;
  gap:.4rem;
  margin-bottom:.2rem;
}
.ws-ep-title{
  font-size:.85rem;font-weight:700;
  color:var(--text);
  line-height:1.3;
  /* Allow wrapping for long titles */
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.ws-ep-card.active .ws-ep-title{color:#fff}
.ws-ep-rating{
  flex-shrink:0;
  font-size:.68rem;
  color:var(--gold);
  display:flex;align-items:center;gap:.2rem;
  white-space:nowrap;
}
.ws-ep-air{
  font-size:.7rem;
  color:var(--text3);
  margin-bottom:.3rem;
}
.ws-ep-overview{
  font-size:.72rem;
  color:var(--text3);
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Skeleton loader for new card style */
.ws-ep-card-skel{
  display:flex;gap:.85rem;align-items:center;
  padding:.75rem 1rem;
  border-bottom:1px solid var(--border);
}
.ws-ep-card-skel:last-child{border-bottom:none}
.ws-ep-skel-thumb{width:120px;height:68px;border-radius:7px;flex-shrink:0}
.ws-ep-skel-lines{flex:1;display:flex;flex-direction:column;gap:.5rem}
.ws-ep-skel-line{height:.65rem;border-radius:4px}
.ws-ep-skel-line.w75{width:75%}
.ws-ep-skel-line.w45{width:45%}
.ws-ep-skel-line.w60{width:60%}
@media(max-width:400px){
  .ws-ep-skel-thumb{width:96px;height:54px}
}

/* Similar in watch sidebar */
.ws-similar-list{padding:.75rem}
.ws-similar-item{
  display:flex;align-items:center;gap:.7rem;
  padding:.5rem 0;border-bottom:1px solid var(--border);
  cursor:pointer;transition:opacity .2s;
}
.ws-similar-item:last-child{border-bottom:none}
.ws-similar-item:hover{opacity:.8}
.ws-sim-thumb{
  width:56px;height:36px;border-radius:5px;
  object-fit:cover;background:var(--bg4);flex-shrink:0;
}
.ws-sim-info{flex:1;min-width:0}
.ws-sim-title{font-size:.78rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ws-sim-meta{font-size:.68rem;color:var(--text3);margin-top:.1rem}
.ws-similar-skel{height:54px;margin-bottom:.5rem;border-radius:var(--r)}

/* Up Next card */
.upnext-card{
  display:flex;align-items:center;gap:.7rem;
  padding:.75rem 1rem;cursor:pointer;
  transition:background .2s;
}
.upnext-card:hover{background:rgba(255,255,255,.04)}
.upnext-thumb{
  width:72px;height:46px;border-radius:6px;
  object-fit:cover;background:var(--bg4);flex-shrink:0;
}
.upnext-info{flex:1;min-width:0}
.upnext-label{font-size:.65rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--accent2);margin-bottom:.2rem}
.upnext-title{font-size:.82rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.upnext-meta{font-size:.7rem;color:var(--text3);margin-top:.1rem}
.upnext-btn{flex-shrink:0;color:var(--text3);font-size:1.1rem}

/* ── TRAILER MODAL ───────────────────────────────────────── */
.trailer-modal-box{
  background:#000;border-radius:var(--r2);
  width:100%;max-width:900px;
  box-shadow:var(--shadow);
  position:relative;
  animation:modalIn .25s cubic-bezier(.34,1.56,.64,1) both;
}
.trailer-iframe-wrap{
  padding-top:56.25%;position:relative;
  border-radius:var(--r2);overflow:hidden;
}
.trailer-iframe-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.trailer-modal-box .modal-close{
  position:absolute;top:-14px;right:-14px;z-index:2;
  background:var(--bg3);border:1px solid var(--border2);
}

/* ── MISC ────────────────────────────────────────────────── */
.mt-1{margin-top:.75rem!important}
.mt-2{margin-top:1.25rem!important}

@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ── RESPONSIVE TWEAKS ───────────────────────────────────── */
@media(max-width:400px){
  .btn-watch-now,.btn-watchlist-toggle{padding:.6rem 1rem;font-size:.85rem}
  .detail-title{font-size:1.5rem}
}
@media(min-width:1440px){
  #hero{height:560px}
  .content-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
}
