:root {
  --bg: #07070a;
  --panel: #121218;
  --panel-2: #1a1a22;
  --text: #f7f7fb;
  --muted: #a5a5b1;
  --red: #e50914;
  --red-2: #ff3340;
  --green: #39d98a;
  --border: rgba(255,255,255,.1);
  --shadow: 0 24px 70px rgba(0,0,0,.45);
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.brand { display:flex; align-items:center; gap:12px; font-size:1.35rem; font-weight:900; letter-spacing:-.04em; }
.netflix-wordmark { color:var(--red); font-size:1.55rem; letter-spacing:-.055em; text-shadow:0 5px 22px rgba(229,9,20,.24); }
.brand-mark { width:34px; height:34px; border-radius:9px; display:grid; place-items:center; background:linear-gradient(145deg,var(--red-2),#9e0008); box-shadow:0 8px 25px rgba(229,9,20,.3); }
.topbar { height:74px; padding:0 clamp(22px,5vw,72px); display:flex; align-items:center; justify-content:space-between; position:relative; z-index:20; }
.status { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:.87rem; }
.status-dot { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 12px var(--green); }
.btn { border:0; border-radius:11px; color:#fff; background:var(--panel-2); padding:12px 17px; font-weight:750; transition:.2s ease; display:inline-flex; align-items:center; justify-content:center; gap:9px; }
.btn:hover { transform:translateY(-1px); filter:brightness(1.13); }
.btn:active { transform:translateY(0); }
.btn-primary { background:linear-gradient(135deg,var(--red-2),var(--red)); box-shadow:0 10px 24px rgba(229,9,20,.23); }
.btn-danger { background:#321216; color:#ff9aa1; border:1px solid #5d1c23; }

/* Controller */
.controller-body { background:radial-gradient(circle at 80% 0%,rgba(229,9,20,.12),transparent 32%),var(--bg); }
.controller-shell { width:min(1080px,calc(100% - 36px)); margin:30px auto 70px; display:grid; grid-template-columns:1.15fr .85fr; gap:24px; }
.panel { background:linear-gradient(150deg,rgba(27,27,36,.94),rgba(14,14,19,.96)); border:1px solid var(--border); border-radius:20px; box-shadow:var(--shadow); }
.control-panel { padding:30px; }
.eyebrow { color:#ff6670; font-weight:850; font-size:.76rem; text-transform:uppercase; letter-spacing:.14em; margin-bottom:9px; }
h1,h2,p { margin-top:0; }
h1 { font-size:clamp(2rem,4vw,3.4rem); letter-spacing:-.055em; line-height:1; margin-bottom:13px; }
.lede { color:var(--muted); line-height:1.55; max-width:580px; }
.field { margin-top:26px; }
.field label { display:block; color:#d8d8df; font-weight:700; margin-bottom:9px; font-size:.9rem; }
.input { width:100%; padding:15px 16px; color:#fff; background:#09090d; border:1px solid var(--border); border-radius:12px; outline:none; transition:.2s; }
.input:focus { border-color:rgba(229,9,20,.8); box-shadow:0 0 0 4px rgba(229,9,20,.1); }
.control-actions { display:grid; grid-template-columns:1.35fr 1fr; gap:10px; margin-top:16px; }
.control-actions .btn-danger { grid-column:1/-1; }
.hint { color:#777783; font-size:.78rem; margin-top:10px; line-height:1.4; }
.side-panel { padding:24px; align-self:start; }
.side-panel h2 { font-size:1rem; margin-bottom:18px; }
.state-card { background:#09090d; border:1px solid var(--border); border-radius:15px; padding:18px; }
.state-line { display:flex; justify-content:space-between; gap:20px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.06); font-size:.88rem; }
.state-line:last-child { border:0; }
.state-line span { color:var(--muted); }
.state-line strong { text-align:right; max-width:190px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.preview { aspect-ratio:16/9; background:linear-gradient(135deg,#211014,#08080b); border-radius:14px; overflow:hidden; margin-top:18px; display:grid; place-items:center; color:#6f6f79; position:relative; }
.preview video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#000; }
.preview video:not([src]) { display:none; }
.media-controls { margin-top:14px; padding:14px 15px; background:#09090d; border:1px solid var(--border); border-radius:13px; }
.timeline-row, .volume-row { display:flex; align-items:center; gap:11px; }
.timeline-row { font-size:.72rem; color:var(--muted); font-variant-numeric:tabular-nums; }
.volume-row { margin-top:13px; }
.timeline-row input { flex:1; }
.volume-row input { flex:1; }
.volume-row strong { width:42px; color:var(--muted); font-size:.75rem; text-align:right; }
input[type="range"] { height:5px; accent-color:var(--red); cursor:pointer; }
.toast { position:fixed; left:50%; bottom:26px; transform:translate(-50%,30px); opacity:0; background:#fff; color:#111; border-radius:999px; padding:11px 18px; font-weight:750; font-size:.86rem; transition:.25s; z-index:99; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.header-actions { display:flex; align-items:center; gap:18px; }
.logout-link { color:var(--muted); font-size:.82rem; text-decoration:none; }
.logout-link:hover { color:#fff; }
.login-body { min-height:100vh; display:grid; place-items:center; padding:20px; }
.login-card { width:min(440px,100%); padding:34px; }
.login-card .brand { margin-bottom:42px; }
.login-card h1 { font-size:2.8rem; }
.login-button { width:100%; margin-top:18px; }
.login-error { color:#ff7d86; background:#321216; border:1px solid #5d1c23; border-radius:10px; padding:10px 12px; margin:14px 0 0; font-size:.85rem; }

/* Display */
.display-body { overflow-x:hidden; }
.display-topbar { position:absolute; width:100%; background:linear-gradient(#08080d,transparent); }
.hero { min-height:78vh; padding:130px clamp(22px,5vw,72px) 76px; display:flex; align-items:flex-end; position:relative; overflow:hidden; background:#15151b; }
.hero-bg { position:absolute; inset:0; background:linear-gradient(90deg,#050508 7%,rgba(5,5,8,.72) 43%,rgba(5,5,8,.12) 72%),linear-gradient(0deg,#07070a 0%,transparent 28%),url('https://images.unsplash.com/photo-1489599849927-2ee91cede3ba?auto=format&fit=crop&w=2000&q=85') center/cover; transform:scale(1.015); }
.hero-content { position:relative; z-index:2; width:min(620px,100%); }
.hero-kicker { font-weight:900; letter-spacing:.36em; color:#eee; font-size:.73rem; margin-bottom:15px; }
.hero-title { font-size:clamp(3.6rem,8vw,7rem); font-weight:950; letter-spacing:-.075em; line-height:.78; margin-bottom:24px; text-shadow:0 8px 30px #000; }
.hero-title span { color:var(--red); }
.hero-copy { font-size:clamp(.95rem,1.5vw,1.1rem); line-height:1.55; color:#ddd; max-width:530px; }
.hero-actions { display:flex; gap:11px; margin-top:25px; }
.catalog { position:relative; z-index:3; margin-top:-34px; padding:0 clamp(22px,5vw,72px) 70px; }
.catalog h2 { font-size:1.15rem; margin-bottom:15px; }
.cards { display:grid; grid-template-columns:repeat(5,minmax(180px,1fr)); gap:14px; overflow:hidden; padding-bottom:12px; }
.card { aspect-ratio:16/9; border-radius:8px; position:relative; overflow:hidden; background:#202029; box-shadow:0 12px 28px rgba(0,0,0,.3); transition:.25s; }
.card:hover { transform:scale(1.04); z-index:2; }
.card img { width:100%; height:100%; object-fit:cover; }
.card::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 45%,rgba(0,0,0,.88)); }
.card span { position:absolute; z-index:1; left:12px; bottom:10px; font-weight:800; font-size:.82rem; }
.takeover { position:fixed; inset:0; z-index:50; background:#000; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:opacity .35s ease,visibility .35s; }
.takeover.active { opacity:1; visibility:visible; }
.takeover video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#000; }
.takeover-badge { position:absolute; z-index:2; top:24px; left:26px; background:rgba(0,0,0,.62); backdrop-filter:blur(10px); padding:10px 14px; border:1px solid rgba(255,255,255,.14); border-radius:999px; font-size:.78rem; font-weight:800; opacity:.65; }
.paused-card { position:absolute; z-index:3; display:none; text-align:center; background:rgba(11,11,15,.86); backdrop-filter:blur(16px); padding:28px 38px; border:1px solid rgba(255,255,255,.16); border-radius:18px; }
.takeover.paused .paused-card { display:block; }
.paused-icon { font-size:2.2rem; margin-bottom:10px; }
.activation-gate { position:absolute; z-index:5; display:none; flex-direction:column; align-items:center; gap:12px; padding:28px; background:rgba(8,8,12,.9); border:1px solid rgba(255,255,255,.15); border-radius:18px; backdrop-filter:blur(14px); text-align:center; }
.activation-gate.show { display:flex; }
.activation-gate span { color:#aaa; font-size:.8rem; }

@media(max-width:780px) {
  .controller-shell { grid-template-columns:1fr; }
  .topbar { padding:0 20px; }
  .controller-shell { margin-top:12px; }
  .control-panel { padding:23px; }
  .cards { grid-template-columns:repeat(2,minmax(150px,1fr)); }
  .hero { min-height:72vh; }
  .hero-title { font-size:4.4rem; }
}
