:root {
  --bg: #0f172a;
  --panel: #111827;
  --muted: #94a3b8;
  --text: #e5e7eb;
  --accent: #7c3aed;
  --accent-2: #2563eb;
  --border: rgba(148,163,184,.22);
}
body.modern-body { background: linear-gradient(180deg, #0b1220 0%, #111827 100%); color: var(--text); min-height: 100vh; }
.modern-shell { max-width: 1180px; margin: 0 auto; padding: 20px; }
.topbar, .card-panel, .player-shell, .history-card { background: rgba(17,24,39,.86); border: 1px solid var(--border); border-radius: 20px; box-shadow: 0 12px 30px rgba(0,0,0,.25); backdrop-filter: blur(10px); }
.topbar { padding: 14px 18px; display:flex; gap:12px; align-items:center; justify-content:space-between; margin-bottom:18px; flex-wrap:wrap; }
.brand-title { font-size: clamp(1.3rem, 3vw, 2rem); font-weight: 700; margin:0; }
.brand-sub { color: var(--muted); margin: 0; }
.card-panel { padding: 20px; }
.hero-grid, .info-grid, .player-layout { display:grid; gap:18px; }
.hero-grid { grid-template-columns: 1.1fr .9fr; }
.info-grid { grid-template-columns: 300px 1fr; }
.player-layout { grid-template-columns: 1fr 320px; }
.control-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px; }
.video-wrap { position: relative; border-radius: 18px; overflow: hidden; background: #000; }
.video-wrap video { width:100%; display:block; max-height: 72vh; background:#000; }
.inline-actions { display:flex; gap:10px; flex-wrap:wrap; }
.btn-accent { background: linear-gradient(135deg, var(--accent), var(--accent-2)); border:none; }
.btn-soft { border:1px solid var(--border); background:rgba(255,255,255,.04); color: var(--text); }
.btn-soft:hover, .btn-soft:focus { color:var(--text); background: rgba(255,255,255,.08); }
.meta-list { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px 18px; }
.meta-item small { color: var(--muted); display:block; }
.badge-soft { background: rgba(124,58,237,.16); border:1px solid rgba(124,58,237,.35); color:#ddd6fe; padding:6px 10px; border-radius:999px; }
.poster { width:100%; border-radius: 16px; object-fit:cover; box-shadow: 0 10px 25px rgba(0,0,0,.35); }
.auth-shell { min-height: 100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
.auth-card { max-width: 460px; width: 100%; }
.form-label, .form-text, small, .muted { color: var(--muted) !important; }
a.modern-link { color: #c4b5fd; text-decoration:none; }
a.modern-link:hover { color:#ddd6fe; }
.history-list { display:grid; gap:12px; }
.segmented { display:flex; gap:8px; flex-wrap:wrap; }
@media (max-width: 900px) { .hero-grid, .info-grid, .player-layout { grid-template-columns: 1fr; } .control-grid, .meta-list { grid-template-columns:1fr; } .modern-shell { padding: 14px; } }


.shadow-soft { box-shadow: 0 18px 40px rgba(0,0,0,.28); }
.player-shell .badge-soft { font-size: .9rem; }
.player-shell h1, .card-panel h2 { letter-spacing: -.02em; }
