:root{
  --bg-900:#07090c;
  --bg-800:#12171e;
  --bg-700:#1d2530;
  --primary:#0056e0;
  --accent:#e6a800;
  --panel: rgba(18,23,30,.82);
  --line: rgba(255,255,255,.08);
}

html{
  scroll-behavior:smooth;
}

body{
  background:
    radial-gradient(circle at top left, rgba(0,86,224,.22), transparent 28%),
    radial-gradient(circle at top right, rgba(230,168,0,.16), transparent 22%),
    linear-gradient(180deg, #07090c 0%, #0a0d12 40%, #07090c 100%);
  color:#e5e7eb;
}

a{
  color:inherit;
  text-decoration:none;
}

.site-shell{
  position:relative;
  overflow:hidden;
}

.site-shell::before,
.site-shell::after{
  content:"";
  position:fixed;
  inset:auto;
  width:28rem;
  height:28rem;
  border-radius:9999px;
  filter:blur(90px);
  opacity:.14;
  pointer-events:none;
  z-index:0;
}

.site-shell::before{
  top:-8rem;
  left:-8rem;
  background:rgba(0,86,224,.8);
}

.site-shell::after{
  right:-10rem;
  top:18rem;
  background:rgba(230,168,0,.7);
}

.container-shell{
  position:relative;
  z-index:1;
}

.hero-carousel{
  position:relative;
  overflow:hidden;
  border-radius:2rem;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}

.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.02);
  transition:opacity .9s ease, transform .9s ease;
}

.hero-slide.is-active{
  opacity:1;
  transform:scale(1);
  z-index:1;
}

.hero-slide__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.08);
}

.hero-slide__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(7,9,12,.94) 0%, rgba(7,9,12,.84) 34%, rgba(7,9,12,.28) 68%, rgba(7,9,12,.92) 100%),
    linear-gradient(180deg, rgba(7,9,12,.18) 0%, rgba(7,9,12,.76) 100%);
}

.hero-panel{
  position:relative;
  z-index:2;
  height:100%;
}

.poster-frame{
  box-shadow:0 18px 50px rgba(0,0,0,.45);
}

.movie-card{
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.movie-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(0,0,0,.38);
}

.movie-card img{
  transition:transform .3s ease;
}

.movie-card:hover img{
  transform:scale(1.05);
}

.card-glass{
  background:rgba(18,23,30,.78);
  backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.08);
}

.source-badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.35rem .7rem;
  border-radius:9999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:#d1d5db;
  font-size:.85rem;
}

.player-wrap{
  position:relative;
  overflow:hidden;
  border-radius:1.5rem;
  background:#000;
  border:1px solid rgba(255,255,255,.08);
}

.player-wrap video{
  width:100%;
  display:block;
  background:#000;
}

.player-hint{
  font-size:.9rem;
  color:#9ca3af;
}

.search-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.5rem .9rem;
  border-radius:9999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  color:#d1d5db;
  transition:all .2s ease;
}

.search-chip:hover,
.search-chip.is-active{
  background:rgba(0,86,224,.18);
  border-color:rgba(0,86,224,.55);
  color:#fff;
}

.filter-hidden{
  display:none !important;
}

.line-clamp-3{
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
