/*
 * HEXODRAMA Nova · Release 2026.10.19
 * Mobile-first design system for real provider artwork. Original CSS.
 * Light is the default irrespective of OS preference. Theme preference
 * is only changed by the explicit top-right toggle.
 */
:root {
  color-scheme: light;
  --nv-bg: #f7f8fc;
  --nv-surface: #ffffff;
  --nv-surface-2: #eef0f5;
  --nv-ink: #17202f;
  --nv-ink-soft: #39445b;
  --nv-muted: #647189;
  --nv-border: #e3e6ed;
  --nv-hover: #e8ebf2;
  --nv-brand: #e53d62;
  --nv-brand-ink: #ffffff;
  --nv-shadow: 0 14px 40px rgba(22, 30, 49, .07);
  --nv-shadow-strong: 0 24px 60px rgba(26, 35, 58, .14);
  --nv-header: rgba(255,255,255,.94);
  --nv-poster-glow: rgba(27, 35, 54, .08);
  --nv-focus: #ba1852;
  --nv-max: 1340px;
  --nv-radius: 20px;
  --hd-bg: var(--nv-bg);
  --hd-surface: var(--nv-surface);
  --hd-surface-raised: var(--nv-surface-2);
  --hd-text: var(--nv-ink);
  --hd-muted: var(--nv-muted);
  --hd-line: var(--nv-border);
  --hd-accent: var(--nv-brand);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --nv-bg: #0b0f19;
  --nv-surface: #151b28;
  --nv-surface-2: #1d2636;
  --nv-ink: #f4f6fb;
  --nv-ink-soft: #d8deeb;
  --nv-muted: #abb5c9;
  --nv-border: #2c3649;
  --nv-hover: #263146;
  --nv-brand: #ff6280;
  --nv-brand-ink: #180b12;
  --nv-shadow: 0 17px 44px rgba(0, 0, 0, .22);
  --nv-shadow-strong: 0 24px 60px rgba(0, 0, 0, .45);
  --nv-header: rgba(14,19,30,.95);
  --nv-poster-glow: rgba(0, 0, 0, .34);
  --nv-focus: #ff9eb1;
}
html { background: var(--nv-bg); scroll-behavior: smooth; }
body.hd-app,body.hd-auth-page {
  color: var(--nv-ink) !important;
  background: var(--nv-bg) !important;
  font-family: Inter, 'Plus Jakarta Sans', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.hd-app a,body.hd-auth-page a { text-decoration: none; }
body.hd-app .hx-icon,body.hd-auth-page .hx-icon { vertical-align: middle; flex: 0 0 auto; }
body.hd-app :is(a,button,input,select,textarea):focus-visible,
body.hd-auth-page :is(a,button,input,select,textarea):focus-visible {
  outline: 3px solid var(--nv-focus); outline-offset: 3px;
}
body.hd-app .hd-topbar {
  height: 72px;
  background: var(--nv-header);
  border-color: var(--nv-border);
  box-shadow: 0 2px 16px rgba(27,36,58,.025);
  -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px);
}
body.hd-app .hd-topbar-inner { max-width: var(--nv-max); gap: clamp(15px,2.2vw,35px); padding: 0 clamp(16px,3vw,32px); }
body.hd-app .hd-brand { color: var(--nv-ink); letter-spacing: -.065em; }
body.hd-app .hd-mark { background: var(--nv-brand); color: var(--nv-brand-ink); border-radius: 12px; box-shadow: none; }
body.hd-app .hd-desktop-links a { color: var(--nv-muted); font-weight: 650; transition: color .15s; }
body.hd-app .hd-desktop-links a[aria-current="page"],
body.hd-app .hd-desktop-links a:hover { color: var(--nv-ink); }
body.hd-app .hd-top-search {
  background: var(--nv-surface-2); border: 1px solid var(--nv-border);
  border-radius: 13px; color: var(--nv-muted);
}
body.hd-app .hd-top-search input,
body.hd-app .hd-top-search input::placeholder { color: var(--nv-ink); }
body.hd-app .hd-top-search input::placeholder { color: var(--nv-muted); }
body.hd-app .hd-icon-link,body.hd-app .hd-profile-link { color: var(--nv-ink); }
body.hd-app .hd-main { max-width: none; padding-top: 0; background: var(--nv-bg); }
body.hd-app .hd-footer {
  background: var(--nv-surface); color: var(--nv-muted);
  border-top: 1px solid var(--nv-border);
}
body.hd-app .hd-footer a { color: var(--nv-ink-soft); }
body.hd-app .hd-footer strong { color: var(--nv-ink); }
body.hd-app .hd-bottom-nav {
  background: var(--nv-header); border-top: 1px solid var(--nv-border);
  box-shadow: 0 -10px 25px rgba(0,0,0,.035);
}
body.hd-app .hd-bottom-nav a { color: var(--nv-muted); }
body.hd-app .hd-bottom-nav a[aria-current="page"] { color: var(--nv-brand); }
/* Explicit top-right theme switch; works on touch and keyboard. */
.nova-theme-toggle {
  border: 1px solid var(--nv-border); background: var(--nv-surface-2);
  border-radius: 999px; color: var(--nv-ink); padding: 0;
  width: 44px; height: 44px; min-width: 44px;
  display: inline-grid; place-items: center; cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.nova-theme-toggle:hover { background: var(--nv-hover); transform: translateY(-1px); }
.nova-theme-toggle [data-theme-icon="sun"] { display: none; }
:root[data-theme="dark"] .nova-theme-toggle [data-theme-icon="sun"] { display: inline-flex; }
:root[data-theme="dark"] .nova-theme-toggle [data-theme-icon="moon"] { display: none; }
.nova-theme-toggle .hx-icon { width: 21px; height: 21px; }
.nova-page { max-width: var(--nv-max); margin: 0 auto; padding: clamp(17px,3vw,40px) clamp(16px,3vw,32px) 95px; }
.nova-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin: 3px 0 23px; }
.nova-kicker, .nova-section-overline {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--nv-brand); font-size: .72rem; font-weight: 850; letter-spacing: .12em;
}
.nova-pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--nv-brand); box-shadow: 0 0 0 5px color-mix(in srgb, var(--nv-brand) 13%, transparent); }
.nova-intro h1, .nova-catalog-heading h1 {
  color: var(--nv-ink); font-size: clamp(1.9rem, 5vw, 3.45rem);
  line-height: 1.11; font-weight: 860; letter-spacing: -.052em; margin: 10px 0 9px;
}
.nova-brand-dot { color: var(--nv-brand); }
.nova-intro p,.nova-catalog-heading p { color: var(--nv-muted); font-size: clamp(.9rem,2vw,1rem); margin: 0; }
.nova-premium-cta { background: var(--nv-ink); color: var(--nv-bg); padding: 11px 17px;
  display: inline-flex; justify-content: center; align-items: center; gap: 10px;
  border-radius: 999px; font-size: .84rem; font-weight: 760; white-space: nowrap; min-height: 44px;
  transition: transform .2s, opacity .2s; }
.nova-premium-cta:hover { opacity: .92; transform: translateY(-2px); }
.nova-search {
  display: flex; align-items: center; width: 100%; gap: 12px;
  height: clamp(52px,6vw,60px); background: var(--nv-surface);
  border: 1px solid var(--nv-border); border-radius: 18px;
  padding: 6px 8px 6px 18px; box-shadow: var(--nv-shadow); color: var(--nv-muted);
}
.nova-search:focus-within { border-color: var(--nv-brand); }
.nova-search input { color: var(--nv-ink); border: 0; background: transparent; outline: 0;
  flex: 1; width: 100%; min-width: 0; padding: 9px 0; font: inherit; font-size: .94rem; }
.nova-search input::placeholder { color: var(--nv-muted); opacity: .95; }
.nova-search button { display: grid; place-items: center; border: 0; height: 42px; width: 44px;
  background: var(--nv-brand); color: var(--nv-brand-ink); border-radius: 13px; flex: none; }
.nova-filter { margin: 20px 0 24px; }
.nova-filter-caption { display: flex; align-items: center; gap: 7px;
  color: var(--nv-ink-soft); font-weight: 760; font-size: .83rem; margin-bottom: 13px; }
.nova-filter-caption span { margin-left: auto; color: var(--nv-muted); font-size: .75rem; font-weight: 540; }
.nova-filter-rail { display: flex; gap: 9px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none;
  overscroll-behavior-x: contain; scroll-snap-type: x proximity;
  padding: 2px 0 8px; }
.nova-filter-rail::-webkit-scrollbar { display:none; }
.nova-chip { scroll-snap-align: start; display:inline-flex; align-items:center; gap: 7px;
  flex: none; white-space: nowrap; border: 1px solid var(--nv-border);
  padding: 10px 15px; background: var(--nv-surface); color: var(--nv-ink-soft);
  border-radius: 100px; min-height: 43px; font-weight: 700; font-size: .82rem;
  transition: background .2s, color .2s, border-color .2s; }
.nova-chip:hover { background: var(--nv-hover); }
.nova-chip.is-active { border-color: var(--nv-brand); background: var(--nv-brand); color: var(--nv-brand-ink); }
.nova-spotlight { position:relative; display:grid; grid-template-columns: minmax(220px,40%) 1fr;
  min-height: clamp(330px,35vw,460px); overflow: hidden;
  background: linear-gradient(128deg, #1c2334, #0c1020 64%, #121723); color: #fff;
  border-radius: clamp(20px,3vw,28px); isolation: isolate; box-shadow: var(--nv-shadow-strong); }
.nova-spotlight-art { position: relative; min-height: 100%; overflow: hidden; }
.nova-spotlight-art::after { content:""; position: absolute; inset:0; background:linear-gradient(90deg, transparent 30%, #141a2a 100%); }
.nova-spotlight-art img { display:block; width:100%; height:100%; object-fit: cover; object-position:50% 28%; aspect-ratio:3/4; }
.nova-spotlight-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  padding:clamp(24px,4vw,70px) clamp(24px,4vw,60px) clamp(25px,4vw,60px) 0; position:relative; }
.nova-spotlight-label { display:inline-flex; align-items:center; gap:8px; color:#ffb2c4;
  font-size:.73rem; font-weight:800; letter-spacing:.12em; margin-bottom:15px; }
.nova-spotlight-provider { font-size:.82rem; color:#b9c3d6; font-weight:650; }
.nova-spotlight h2 { color:#fff; max-width:740px; font-weight:860; letter-spacing:-.045em;
  line-height:1.1; font-size:clamp(1.9rem,4.4vw,3.7rem); margin:9px 0 12px; }
.nova-spotlight p { color:#d3d9e4; line-height:1.65; max-width:520px;
  font-size:clamp(.86rem,1.6vw,1rem); margin:0 0 25px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.nova-spotlight-actions { display:flex; flex-wrap:wrap; gap:10px; }
.nova-primary-btn,.nova-secondary-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:47px; padding:12px 19px; border-radius:12px; font-weight:810; font-size:.86rem; }
.nova-primary-btn { background:#ff496e; color:#fff; box-shadow:0 10px 23px rgba(238,48,101,.21); }
.nova-secondary-btn { background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.2); color:#fff; }
.nova-primary-btn:hover,.nova-secondary-btn:hover { filter:brightness(1.08); }
.nova-section { margin-top:clamp(27px,4vw,52px); }
.nova-section-title { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:17px; }
.nova-section-title h2 { font-size:clamp(1.24rem,3vw,1.8rem); line-height:1.25; font-weight:850;
  letter-spacing:-.038em; margin:5px 0 2px; color:var(--nv-ink); }
.nova-section-title p { margin:4px 0 0; font-size:.81rem; color:var(--nv-muted); }
.nova-all-link { color:var(--nv-brand); font-size:.8rem; font-weight:780;
  display:inline-flex; align-items:center; white-space:nowrap; gap:7px; padding:9px 0; }
.nova-poster-rail { display:flex; gap:clamp(10px,1.6vw,20px); overflow-x:auto; padding:4px 2px 18px;
  scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--nv-border) transparent; }
.nova-poster-rail .nova-card { flex:0 0 clamp(140px,17%,190px); scroll-snap-align:start; }
.nova-poster-grid { display:grid; gap:clamp(13px,2vw,24px) clamp(10px,1.65vw,21px);
  grid-template-columns:repeat(6,minmax(0,1fr)); }
.nova-card { min-width:0; display:flex; flex-direction:column; gap:3px; color:var(--nv-ink);
  transition:transform .22s ease; }
.nova-card:hover { transform:translateY(-4px); }
.nova-poster { display:block; position:relative; width:100%; overflow:hidden;
  border-radius:13px; background:var(--nv-surface-2); aspect-ratio:2/3;
  box-shadow:0 8px 26px var(--nv-poster-glow); margin-bottom:8px; }
.nova-poster img { width:100%; height:100%; display:block; object-fit:cover; aspect-ratio:2/3; transition:transform .35s ease; }
.nova-card:hover .nova-poster img { transform:scale(1.065); }
.nova-poster:after { position:absolute; inset:60% 0 0; pointer-events:none; content:"";
  background:linear-gradient(transparent,rgba(0,0,0,.40)); }
.nova-card-tag { position:absolute; z-index:2; left:9px; top:9px; background:rgba(15,18,27,.78);
  backdrop-filter:blur(7px); color:#fff; padding:5px 8px; border-radius:6px;
  font-size:.59rem; font-weight:800; letter-spacing:.04em; }
.nova-card-play { position:absolute; z-index:2; right:10px; bottom:10px; width:35px; height:35px;
  display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.93); color:#1a2230;
  opacity:0; transform:translateY(4px); transition:opacity .2s,transform .2s; }
.nova-card:hover .nova-card-play, .nova-card:focus-visible .nova-card-play { opacity:1; transform:none; }
.nova-card-title { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height:2.55em; line-height:1.28; color:var(--nv-ink);
  font-size:clamp(.78rem,1.15vw,.94rem); font-weight:775; letter-spacing:-.012em; }
.nova-card-meta { display:block; color:var(--nv-muted); font-size:.72rem; line-height:1.4; }
.nova-empty { display:flex; gap:16px; padding:27px; margin:32px 0;
  color:var(--nv-muted); border:1px dashed var(--nv-border); border-radius:17px;
  background:var(--nv-surface); }
.nova-empty strong { color:var(--nv-ink); display:block; margin-bottom:3px; }
.nova-empty p { margin:0; font-size:.85rem; }
.nova-ad { margin-top:18px; } .nova-ad span { display:block; font-size:.67rem; color:var(--nv-muted); margin-bottom:5px; }
.nova-ad img { display:block; max-width:100%; max-height:130px; border-radius:12px; }
.nova-catalog-heading { margin-bottom:20px; }
.nova-browse-filter { margin-top:18px; margin-bottom:19px; }
.nova-results-title { display:flex; justify-content:space-between; gap:12px; color:var(--nv-ink); margin:18px 0; }
.nova-results-title span { color:var(--nv-muted); font-size:.82rem; }
.nova-pagination { padding-top:26px; color:var(--nv-ink); }
.nova-pagination a, .nova-pagination span { color:var(--nv-ink); }
/* Adapt existing details, login and player surfaces to both palettes. */
body.hd-app .hd-page-heading h1,body.hd-app .hd-feed-heading h2 { color:var(--nv-ink); }
body.hd-app .hd-page-heading p,body.hd-app .hd-feed-overline,
body.hd-app .hd-poster-source { color:var(--nv-muted); }
body.hd-app .hd-status-empty,body.hd-app .hd-browse-search,
body.hd-app .hd-auth-form input { background:var(--nv-surface); color:var(--nv-ink); border-color:var(--nv-border); }
body.hd-auth-page .hd-auth-content { background:var(--nv-bg); }
body.hd-auth-page .hd-auth-card { background:var(--nv-surface); color:var(--nv-ink); border:1px solid var(--nv-border); }
body.hd-auth-page .hd-auth-heading h1,body.hd-auth-page .hd-auth-heading p { color:var(--nv-ink); }
body.hd-auth-page .hd-auth-heading p { color:var(--nv-muted); }
body.hd-auth-page .hd-auth-form label,body.hd-auth-page .hd-auth-switch { color:var(--nv-ink-soft); }
body.hd-auth-page .hd-auth-form input { background:var(--nv-surface-2); border:1px solid var(--nv-border); color:var(--nv-ink); }
body.hd-auth-page .hd-auth-form input::placeholder { color:var(--nv-muted); }
/* Fix contrast from legacy dark-only selectors, without applying to admin login. */
:root[data-theme="dark"] body.hd-app input,
:root[data-theme="dark"] body.hd-app select { color:var(--nv-ink); }
:root[data-theme="dark"] body.hd-app input::placeholder { color:var(--nv-muted); }
/* Reduce animation under user preference and on small mobile devices. */
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
}
@media (min-width:1600px) { .nova-page { padding-top:43px; } }
@media (max-width:1100px) { .nova-poster-grid { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (max-width:800px) {
  .nova-spotlight { grid-template-columns:minmax(180px,42%) 1fr; min-height:330px; }
  .nova-spotlight-copy { padding:24px 18px 24px 0; }
  .nova-spotlight p { -webkit-line-clamp:2; }
  .nova-poster-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .nova-intro { align-items:flex-start; }
}
@media (max-width:620px) {
  body.hd-app .hd-topbar { height:62px; }
  body.hd-app .hd-topbar-inner { padding:0 15px; gap:11px; }
  body.hd-app .hd-top-actions { margin-left:auto; gap:7px; }
  body.hd-app .hd-profile-link { display:none; }
  .nova-theme-toggle { width:42px; min-width:42px; height:42px; }
  .nova-page { padding:21px 15px calc(104px + env(safe-area-inset-bottom)); }
  .nova-intro { margin:1px 0 20px; gap:10px; flex-direction:column; }
  .nova-intro h1 { font-size:clamp(2rem,9vw,2.75rem); }
  .nova-intro p { max-width:35ch; }
  .nova-premium-cta { display:none; }
  .nova-search { height:53px; border-radius:15px; padding-left:14px; }
  .nova-filter { margin:17px 0 15px; }
  .nova-filter-rail { margin-right:-15px; padding-right:15px; }
  .nova-chip { padding:9px 13px; font-size:.8rem; }
  .nova-spotlight { grid-template-columns:minmax(0,44%) minmax(0,56%);
    min-height:230px; border-radius:18px; }
  .nova-spotlight-art:after { background:linear-gradient(90deg,transparent 50%,#141a2a 100%); }
  .nova-spotlight-copy { padding:17px 13px 18px 0; }
  .nova-spotlight-label { font-size:.57rem; margin-bottom:6px; letter-spacing:.06em; gap:4px; }
  .nova-spotlight-provider { font-size:.65rem; }
  .nova-spotlight h2 { font-size:clamp(1.27rem,5.3vw,2rem); line-height:1.14; margin:5px 0 8px;
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .nova-spotlight p { font-size:.69rem; line-height:1.5; -webkit-line-clamp:2; margin:0 0 12px; }
  .nova-primary-btn,.nova-secondary-btn { min-height:38px; border-radius:9px; padding:8px 10px;
    gap:5px; font-size:.69rem; }
  .nova-primary-btn svg,.nova-secondary-btn svg { width:15px; height:15px; }
  .nova-secondary-btn { display:none; }
  .nova-section { margin-top:29px; }
  .nova-section-title { align-items:center; gap:10px; margin-bottom:12px; }
  .nova-section-title h2 { font-size:1.26rem; }
  .nova-section-title p { font-size:.72rem; max-width:32ch; }
  .nova-section-overline { font-size:.63rem; }
  .nova-all-link { font-size:.7rem; }
  .nova-poster-rail { margin-right:-15px; padding-right:15px; gap:11px; }
  .nova-poster-rail .nova-card { flex-basis:clamp(129px,39vw,164px); }
  .nova-poster-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 10px; }
  .nova-card-title { font-size:.8rem; min-height:2.5em; }
  .nova-poster { border-radius:10px; margin-bottom:5px; }
  .nova-card-play { opacity:1; width:28px; height:28px; right:6px; bottom:6px; }
  .nova-card-tag { left:6px; top:6px; font-size:.54rem; padding:4px 6px; }
  .nova-results-title { font-size:.87rem; }
}
@media (max-width:365px) {
  .nova-page { padding-left:11px; padding-right:11px; }
  .nova-filter-rail,.nova-poster-rail { margin-right:-11px; padding-right:11px; }
  .nova-poster-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 11px; }
  .nova-spotlight h2 { font-size:1.14rem; }
  .nova-spotlight p { display:none; }
  .nova-spotlight { min-height:205px; }
}
@media (pointer:coarse) { .nova-card-play { opacity:1; transform:none; } }

/* Admin stays a distinct, information-dense control surface, but shares the theme. */
.nova-admin-actions { display:flex; align-items:center; gap:15px; margin-left:auto; }
body.hx-admin { --bg:var(--nv-bg); --surface:var(--nv-surface); --surface2:var(--nv-surface-2);
  --stroke:var(--nv-border); --text:var(--nv-ink); --muted:var(--nv-muted);
  --hx-line:var(--nv-border); background:var(--nv-bg); color:var(--nv-ink); }
body.hx-admin .admin-sidebar { background:var(--nv-surface); border-color:var(--nv-border); }
body.hx-admin .admin-sidebar .hx-side-group { color:var(--nv-muted); }
body.hx-admin .admin-sidebar a,body.hx-admin .admin-sidebar button { color:var(--nv-ink-soft); }
body.hx-admin .admin-sidebar :is(a,button):hover { background:var(--nv-hover); color:var(--nv-ink); }
body.hx-admin .admin-sidebar a.active { background:color-mix(in srgb,var(--nv-brand) 13%,var(--nv-surface)); color:var(--nv-ink); box-shadow:inset 3px 0 var(--nv-brand); }
body.hx-admin .admin-sidebar a.active .hx-icon { color:var(--nv-brand); }
body.hx-admin .hx-admin-identity strong { color:var(--nv-ink) !important; }
body.hx-admin .hx-admin-identity small { color:var(--nv-muted); }
body.hx-admin .hx-admin-topbar { background:var(--nv-surface); border-color:var(--nv-border); }
body.hx-admin .hx-admin-top-left,body.hx-admin .hx-admin-person { color:var(--nv-muted); }
body.hx-admin .hx-admin-avatar { background:var(--nv-surface-2); border-color:var(--nv-border); color:var(--nv-ink); }
body.hx-admin .admin-main { background:var(--nv-bg); color:var(--nv-ink); }
body.hx-admin .hx-admin-heading h1 { color:var(--nv-ink); }
body.hx-admin .hx-admin-heading p,body.hx-admin .muted { color:var(--nv-muted); }
body.hx-admin .admin-card,body.hx-admin .stat { background:var(--nv-surface); border-color:var(--nv-border); border-radius:16px; color:var(--nv-ink); }
body.hx-admin .admin-card h2,body.hx-admin .stat strong,body.hx-admin .hx-shortcut-list strong { color:var(--nv-ink); }
body.hx-admin .stat small,body.hx-admin .hx-metric-foot,body.hx-admin .hx-shortcut-list small { color:var(--nv-muted); }
body.hx-admin .hx-metric-icon,body.hx-admin .hx-shortcut-list>a>span { background:var(--nv-surface-2); color:var(--nv-brand); }
body.hx-admin .hx-shortcut-list>a { border-color:var(--nv-border); }
body.hx-admin .hx-admin-overline,body.hx-admin .hx-panel-heading { color:var(--nv-brand); }
body.hx-admin .admin-card :is(input,select,textarea),body.hx-admin .hx-issued-codes textarea {
  background:var(--nv-surface-2); border:1px solid var(--nv-border); color:var(--nv-ink); border-radius:9px;
}
body.hx-admin .admin-card input::placeholder,body.hx-admin .admin-card textarea::placeholder { color:var(--nv-muted); }
body.hx-admin .btn.subtle { background:var(--nv-surface-2); color:var(--nv-ink); border-color:var(--nv-border); }
body.hx-admin .btn.primary { background:var(--nv-brand); color:var(--nv-brand-ink); }
body.hx-admin .responsive-table,body.hx-admin :is(th,td) { border-color:var(--nv-border); }
body.hx-admin th { background:var(--nv-surface-2); color:var(--nv-ink-soft); }
body.hx-admin td { color:var(--nv-ink-soft); }
body.hx-admin td a { color:var(--nv-brand); }
body.hx-admin .hx-note-line,body.hx-admin .hx-operational-note>p { color:var(--nv-ink-soft); }
body.hx-admin .hx-admin-mobile-links { background:var(--nv-surface); border-color:var(--nv-border); }
body.hx-admin .hx-admin-mobile-links a { color:var(--nv-ink-soft); }
@media(max-width:760px) {
  .nova-admin-actions { gap:6px; }
  body.hx-admin .admin-sidebar { background:var(--nv-surface); }
  body.hx-admin .admin-sidebar a { color:var(--nv-ink-soft); }
  body.hx-admin .nova-theme-toggle { width:40px; height:40px; min-width:40px; }
}

/* Existing detail and episode pages: harmonize with both palettes. */
body.hd-app .hd-detail-wrap,body.hd-app .hd-player-page { color:var(--nv-ink); }
body.hd-app .hd-detail-copy h1,body.hd-app .hd-episode-heading h2,
body.hd-app .hd-player-heading h1 { color:var(--nv-ink); }
body.hd-app .hd-detail-back,body.hd-app .hd-detail-provider,
body.hd-app .hd-detail-metadata,body.hd-app .hd-episode-heading>span,
body.hd-app .hd-player-heading p,body.hd-app .hd-player-info { color:var(--nv-muted); }
body.hd-app .hd-detail-synopsis { color:var(--nv-ink-soft); }
body.hd-app .hd-detail-genres a { background:var(--nv-surface-2); border:1px solid var(--nv-border); color:var(--nv-ink-soft); }
body.hd-app .hd-fav-action { background:var(--nv-surface); border-color:var(--nv-border); color:var(--nv-ink); }
body.hd-app .hd-outline-btn { background:var(--nv-surface); color:var(--nv-ink); border:1px solid var(--nv-border); }
body.hd-app .hd-episode-item { background:var(--nv-surface); border-color:var(--nv-border); }
body.hd-app .hd-episode-number { background:var(--nv-surface-2); color:var(--nv-ink); }
body.hd-app .hd-episode-description small { color:var(--nv-muted); }
body.hd-app .hd-episode-play { background:var(--nv-brand); color:var(--nv-brand-ink); }
body.hd-app .hd-episode-lock { color:var(--nv-muted); }
body.hd-app .hd-episode-locked { opacity:.78; }
body.hd-app .hd-status-empty p { color:var(--nv-muted); }
body.hd-app .hd-video-shell { border-color:var(--nv-border); background:#04050a; }
@media(max-width:760px) {
  body.hd-app .hd-detail-art::after { background:linear-gradient(transparent,var(--nv-bg) 95%); }
  body.hd-app .hd-detail-back { color:#fff; background:rgba(11,15,25,.82); }
}
