:root{
  --neon-1: #00e5ff;
  --neon-2: #7b2cff;
  --neon-3: #ff00a8;
  --dark-1: #0b0d16;
  --dark-2: #0f1220;
  --glass-bg: rgba(255,255,255,.06);
  --glass-bord: rgba(255,255,255,.18);
}

*{box-sizing:border-box}
body.bg-neon{
  min-height:100vh;
  background:
    radial-gradient(60rem 60rem at -10% -10%, rgba(123,44,255,.35), transparent 50%),
    radial-gradient(60rem 60rem at 110% 10%, rgba(0,229,255,.25), transparent 50%),
    radial-gradient(60rem 60rem at 50% 110%, rgba(255,0,168,.2), transparent 50%),
    linear-gradient(180deg, #0b0d16 0%, #0f1220 100%);
  color:#e4e7f1;
}

.neon-text{
  background: linear-gradient(90deg, var(--neon-1), var(--neon-2), var(--neon-3));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.text-neon-soft{ color: #bfc5ff; }

.glass-hood{
  background: var(--glass-bg);
  border: 1px solid var(--glass-bord);
  backdrop-filter: blur(10px);
}

.glass-card{
  background: var(--glass-bg);
  border: 1px solid var(--glass-bord);
  box-shadow: 0 8px 40px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.06);
}

.glass-input{
  background: rgba(255,255,255,.05)!important;
  border: 1px solid rgba(255,255,255,.2)!important;
  color: #e4e7f1 !important;
}
.glass-input:focus{
  border-color: var(--neon-1)!important;
  box-shadow: 0 0 0 .2rem rgba(0,229,255,.15)!important;
}

.btn-neon{
  background: linear-gradient(90deg, var(--neon-2), var(--neon-1));
  border: 0;
  color:#0b0d16;
  font-weight:700;
}
.btn-neon:hover{ filter: brightness(1.1); }

.badge.glass-badge{
  background: rgba(123,44,255,.16);
  border: 1px solid rgba(123,44,255,.4);
  color: #d8d5ff;
}

.hero{ position: relative; overflow: hidden; }
.hero::after{
  content:''; position:absolute; inset:-2px;
  pointer-events:none;
  background: conic-gradient(from 0deg, var(--neon-1), var(--neon-2), var(--neon-3), var(--neon-1));
  filter: blur(60px) opacity(.25);
}

.movie-card{ transition: transform .25s ease, box-shadow .25s ease; }
.movie-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 60px rgba(0,0,0,.5), 0 0 20px rgba(123,44,255,.35);
}
.object-cover{ width:100%; height:100%; object-fit:cover; }

.ratio-2x3{ --bs-aspect-ratio: 150%; }
.neon-outline{
  box-shadow: 0 0 0 2px rgba(0,229,255,.25), 0 0 40px rgba(0,229,255,.15);
  border-radius: 1rem;
}
.table-dark{ --bs-table-bg: rgba(255,255,255,.02) }

/* === Rating & Genre Badges === */
.badge-rating{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.35rem .6rem; font-weight:700;
  color:#0b0d16;
  background:linear-gradient(90deg,var(--neon-1),var(--neon-3));
  border:0;border-radius:999px;
  box-shadow:0 0 0 1.5px rgba(0,229,255,.35),0 8px 30px rgba(0,229,255,.15);
}
.badge-rating .stars{ letter-spacing:.05rem; filter:drop-shadow(0 0 6px rgba(255,215,0,.35)); }

.badge-genre{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.25rem .55rem; border-radius:.75rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  color:#e8e9ff; font-weight:600;
  text-transform:capitalize;
}
.badge-genre.g-sci-fi{ box-shadow:0 0 12px rgba(123,44,255,.35) inset; border-color:rgba(123,44,255,.45); }
.badge-genre.g-action{ box-shadow:0 0 12px rgba(255,0,168,.30) inset; border-color:rgba(255,0,168,.45); }
.badge-genre.g-drama{ box-shadow:0 0 12px rgba(0,229,255,.30) inset; border-color:rgba(0,229,255,.45); }
.badge-genre.g-animation{ box-shadow:0 0 12px rgba(0,255,150,.30) inset; border-color:rgba(0,255,150,.45); }
.badge-genre.g-documentary{ box-shadow:0 0 12px rgba(255,200,0,.30) inset; border-color:rgba(255,200,0,.45); }

/* === Skeleton Loading === */
@keyframes shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}
.skeleton{position:relative;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:.75rem;}
.skeleton::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.08) 50%,rgba(255,255,255,0) 100%);background-size:200% 100%;animation:shimmer 1.4s infinite;}
.skeleton-thumb{height:0;padding-bottom:150%;border-radius:.75rem .75rem 0 0;}
.skeleton-body{padding:.9rem;}
.skeleton-line{height:.9rem;margin-bottom:.6rem;border-radius:.5rem;background:rgba(255,255,255,.08);}
.skeleton-line.w-60{width:60%;}
.skeleton-line.w-80{width:80%;}
.skeleton-badge{width:90px;height:22px;border-radius:999px;background:rgba(255,255,255,.08);}
.is-loading .real-content{display:none!important;}
.is-ready .skeleton-wrap{display:none!important;}

/* === Player Equalizer === */
.player-wrap{position:relative;border-radius:1rem;overflow:hidden;}
.player-wrap .equalizer{position:absolute;left:0;right:0;bottom:10px;height:28px;display:flex;align-items:flex-end;gap:6px;padding:0 12px;pointer-events:none;opacity:.9;mix-blend-mode:screen;}
.eq-bar{width:6px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--neon-1),var(--neon-2));box-shadow:0 0 12px rgba(0,229,255,.55),0 0 24px rgba(123,44,255,.35);animation:eqBounce 1.1s ease-in-out infinite;transform-origin:bottom;}
.eq-bar:nth-child(2){animation-delay:.08s;} .eq-bar:nth-child(3){animation-delay:.16s;}
.eq-bar:nth-child(4){animation-delay:.24s;} .eq-bar:nth-child(5){animation-delay:.32s;}
.eq-bar:nth-child(6){animation-delay:.40s;} .eq-bar:nth-child(7){animation-delay:.48s;}
.eq-bar:nth-child(8){animation-delay:.56s;} .eq-bar:nth-child(9){animation-delay:.64s;}
.eq-bar:nth-child(10){animation-delay:.72s;}
@keyframes eqBounce{0%,100%{height:14%;}20%{height:90%;}40%{height:35%;}60%{height:70%;}80%{height:25%;}}
.equalizer.is-paused{opacity:.12;filter:grayscale(.3) brightness(.6);}

/* === Admin Edit/Delete Buttons === */
.btn-edit-neon{background:linear-gradient(90deg,#00ffa6,#00e5ff);border:0;color:#0b0d16;font-weight:700;box-shadow:0 6px 24px rgba(0,255,166,.18);}
.btn-edit-neon:hover{filter:brightness(1.05);}
.btn-delete-neon{background:linear-gradient(90deg,#ff4d84,#ff00a8);border:0;color:#0b0d16;font-weight:700;box-shadow:0 6px 24px rgba(255,0,168,.22);}
.btn-delete-neon:hover{filter:brightness(1.05);}
.table-actions{display:flex;gap:.5rem;align-items:center;}
.table-actions .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:.75rem;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#e9ebff;transition:transform .2s,box-shadow .2s,border-color .2s;}
.table-actions .icon-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,229,255,.15),0 0 14px rgba(123,44,255,.25);border-color:rgba(0,229,255,.45);}

/* Modal glass effect */
.modal.glass-modal .modal-content{background:var(--glass-bg);border:1px solid var(--glass-bord);backdrop-filter:blur(10px);color:#e4e7f1;box-shadow:0 20px 80px rgba(0,0,0,.6);}
.modal.glass-modal .modal-header{border-bottom:1px solid rgba(255,255,255,.12);}
.modal.glass-modal .modal-footer{border-top:1px solid rgba(255,255,255,.12);}
