/* =========================================================
   SONOFPOLLUX — PORTAL RADIO v7.4
   RADIO REBUILD / "AFTERHOURS CONSOLE"
   Visual-only overlay. Keeps legacy player/API hooks intact.
   ========================================================= */

:root{
  --v74-ink:#070707;
  --v74-panel:#0d0d0e;
  --v74-panel-2:#131315;
  --v74-paper:#f0eee9;
  --v74-muted:rgba(240,238,233,.58);
  --v74-faint:rgba(240,238,233,.34);
  --v74-line:rgba(240,238,233,.14);
  --v74-line-strong:rgba(240,238,233,.28);
  --v74-pink:#d986b7;
  --v74-blue:#7a9fca;
  --v74-red:#c94d4d;
  --v74-radius:3px;
}

/* ---------- global radio surface ---------- */
body.v74RadioRebuild{
  color:var(--v74-paper);
  background:
    linear-gradient(90deg, transparent 0 49.88%, rgba(255,255,255,.018) 49.9% 50.1%, transparent 50.12% 100%),
    radial-gradient(circle at 86% 18%, rgba(122,159,202,.10), transparent 27rem),
    radial-gradient(circle at 12% 42%, rgba(217,134,183,.08), transparent 30rem),
    var(--v74-ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:-.01em;
}

body.v74RadioRebuild::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.25;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 1px,transparent 1px 84px),
    repeating-linear-gradient(180deg,rgba(255,255,255,.012) 0 1px,transparent 1px 84px);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 78%);
}

body.v74RadioRebuild .bg .stars,
body.v74RadioRebuild .bg .scanlines{display:none}
body.v74RadioRebuild .bg .noise{opacity:.025;mix-blend-mode:soft-light}
body.v74RadioRebuild .bg .glow{
  opacity:.24;
  background:
    radial-gradient(circle at 78% 18%,rgba(122,159,202,.24),transparent 34%),
    radial-gradient(circle at 16% 36%,rgba(217,134,183,.18),transparent 32%);
}

body.v74RadioRebuild .wrap{
  width:min(1320px,calc(100% - 48px));
}

body.v74RadioRebuild a:focus-visible,
body.v74RadioRebuild button:focus-visible,
body.v74RadioRebuild input:focus-visible{
  outline:1px solid var(--v74-paper);
  outline-offset:3px;
  box-shadow:none;
}

body.v74RadioRebuild .scrollProgress{
  height:1px;
  background:rgba(255,255,255,.04);
}
body.v74RadioRebuild .scrollProgress > div{
  background:linear-gradient(90deg,var(--v74-pink),var(--v74-paper),var(--v74-blue));
}

/* ---------- header ---------- */
body.v74RadioRebuild .topbar{
  background:rgba(7,7,7,.90);
  border-bottom:1px solid var(--v74-line);
  backdrop-filter:blur(18px) saturate(1.05);
  -webkit-backdrop-filter:blur(18px) saturate(1.05);
  box-shadow:none;
}
body.v74RadioRebuild .topbar__inner{padding:12px 0}
body.v74RadioRebuild .brand{
  gap:12px;
  font-size:12px;
  letter-spacing:.14em;
}
body.v74RadioRebuild .brand__mark{
  width:28px;height:28px;border-radius:50%;
  background:transparent;
  border:1px solid var(--v74-line-strong);
  box-shadow:none;
  font-size:12px;
}
body.v74RadioRebuild .brand__sub{
  background:transparent;
  border:0;
  border-left:1px solid var(--v74-line);
  border-radius:0;
  padding:0 0 0 12px;
  font-size:10px;
  letter-spacing:.16em;
  color:var(--v74-muted);
}
body.v74RadioRebuild .nav{gap:2px}
body.v74RadioRebuild .nav__link{
  border-radius:0;
  padding:8px 10px;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
  opacity:.58;
}
body.v74RadioRebuild .nav__link:hover,
body.v74RadioRebuild .nav__link[aria-current="page"]{
  background:transparent;
  opacity:1;
  text-decoration:none;
}
body.v74RadioRebuild .nav__link[aria-current="page"]::after{
  content:"";
  display:block;
  height:1px;
  margin-top:5px;
  background:var(--v74-paper);
}
body.v74RadioRebuild .topbar__cta{
  min-height:34px;
  border-radius:0;
  border:1px solid var(--v74-line);
  background:transparent;
  padding:7px 10px;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.v74RadioRebuild .topbar__ctaDot{
  width:6px;height:6px;background:var(--v74-red);
  box-shadow:0 0 12px rgba(201,77,77,.55);
}
body.v74RadioRebuild .topbar__cta .pill{
  border:0;background:transparent;padding:0;font-size:10px;
}
body.v74RadioRebuild .menuBtn{
  border-radius:0;background:transparent;border-color:var(--v74-line);
}

/* ---------- local station nav ---------- */
body.v74RadioRebuild .v73TraceRail{
  border-bottom:1px solid rgba(255,255,255,.055);
  background:rgba(7,7,7,.75);
}
body.v74RadioRebuild .v73LocalNav{
  position:sticky;
  top:53px;
  z-index:19;
  width:100%;
  max-width:none;
  margin:0;
  padding:0 max(24px,calc((100vw - 1320px)/2));
  display:flex;
  justify-content:flex-start;
  gap:0;
  overflow:auto;
  scrollbar-width:none;
  background:rgba(10,10,10,.90);
  border:0;
  border-bottom:1px solid var(--v74-line);
  backdrop-filter:blur(14px);
}
body.v74RadioRebuild .v73LocalNav::-webkit-scrollbar{display:none}
body.v74RadioRebuild .v73LocalNav a{
  flex:0 0 auto;
  padding:11px 15px;
  border:0;
  border-right:1px solid rgba(255,255,255,.07);
  border-radius:0;
  background:transparent;
  color:var(--v74-faint);
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
body.v74RadioRebuild .v73LocalNav a:first-child{
  color:var(--v74-paper);
  border-left:1px solid rgba(255,255,255,.07);
}

/* ---------- hero ---------- */
body.v74RadioRebuild main{padding-top:0}
body.v74RadioRebuild .hero{
  margin:0;
  padding:0;
  border-bottom:1px solid var(--v74-line);
}
body.v74RadioRebuild .hero__grid{
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);
  gap:0;
  min-height:330px;
  align-items:stretch;
}
body.v74RadioRebuild .hero__copy{
  padding:48px 36px 42px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
body.v74RadioRebuild .kicker{
  margin:0 0 18px;
  color:var(--v74-muted);
  font-size:9px;
  letter-spacing:.22em;
  font-weight:650;
}
body.v74RadioRebuild .hero__title{
  margin:0;
  max-width:820px;
  font-size:clamp(58px,8vw,118px);
  line-height:.78;
  letter-spacing:-.075em;
  text-transform:uppercase;
  font-weight:760;
  text-shadow:none;
}
body.v74RadioRebuild .hero__accent{
  display:block;
  margin:20px 0 0 5px;
  max-width:580px;
  font-size:clamp(16px,2vw,24px);
  line-height:1.05;
  letter-spacing:-.035em;
  text-transform:none;
  font-weight:430;
  color:var(--v74-muted);
}
body.v74RadioRebuild .hero__lead{
  max-width:640px;
  margin:22px 0 0 5px;
  color:var(--v74-muted);
  line-height:1.6;
  font-size:13px;
}
body.v74RadioRebuild .hero__actions{
  margin:24px 0 0 5px;
  gap:7px;
}
body.v74RadioRebuild .hero__chips{
  margin:18px 0 0 5px;
  gap:14px;
}
body.v74RadioRebuild .chip{
  position:relative;
  padding:0 0 0 10px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--v74-faint);
  font-size:8px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;
}
body.v74RadioRebuild .chip::before{
  content:"";
  width:4px;height:4px;border-radius:50%;
  position:absolute;left:0;top:50%;transform:translateY(-50%);
  background:var(--v74-line-strong);
}

body.v74RadioRebuild .hero__sigil{
  min-height:330px;
  padding:0;
  border-left:1px solid var(--v74-line);
}
body.v74RadioRebuild .radioHeroArt{
  position:relative;
  width:100%;height:100%;min-height:330px;
  overflow:hidden;
  background:#111;
}
body.v74RadioRebuild .radioHeroArt::after{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.36)),
    linear-gradient(90deg,rgba(217,134,183,.08),transparent 42%,rgba(122,159,202,.08));
  pointer-events:none;
}
body.v74RadioRebuild .radioHeroArt img{
  width:100%;height:100%;min-height:330px;
  object-fit:cover;
  filter:saturate(.72) contrast(1.04) brightness(.78);
  transform:scale(1.02);
}
body.v74RadioRebuild .radioHeroArt > span{
  position:absolute;
  z-index:2;
  left:18px;bottom:16px;
  padding:0;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.78);
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.v74HeroReadout{
  position:absolute;
  z-index:3;
  inset:14px 14px auto auto;
  min-width:150px;
  padding:11px 12px;
  background:rgba(7,7,7,.72);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
}
.v74HeroReadout small{
  display:block;
  margin-bottom:6px;
  color:rgba(255,255,255,.48);
  font-size:7px;
  letter-spacing:.18em;
}
.v74HeroReadout b{
  display:flex;justify-content:space-between;gap:18px;
  padding:5px 0 0;
  border-top:1px solid rgba(255,255,255,.09);
  font-size:9px;
  letter-spacing:.1em;
  font-weight:650;
}
.v74HeroReadout i{
  width:5px;height:5px;border-radius:50%;
  background:var(--v74-red);
  box-shadow:0 0 10px rgba(201,77,77,.55);
  display:inline-block;margin-right:6px;
}

/* ---------- shared controls/cards ---------- */
body.v74RadioRebuild .card,
body.v74RadioRebuild .panel{
  border-radius:var(--v74-radius);
  box-shadow:none;
  background:var(--v74-panel);
  border-color:var(--v74-line);
}
body.v74RadioRebuild .card::before{display:none}
body.v74RadioRebuild .card:hover{
  transform:none;
  border-color:var(--v74-line-strong);
}
body.v74RadioRebuild .card__top{
  padding:18px 18px 0;
}
body.v74RadioRebuild .label,
body.v74RadioRebuild .radioDeck__label{
  color:var(--v74-faint);
  font-size:8px;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:650;
}
body.v74RadioRebuild .note{color:var(--v74-muted)}
body.v74RadioRebuild .pill{
  border-radius:0;
  background:transparent;
  border-color:var(--v74-line);
  font-size:9px;
  letter-spacing:.08em;
  font-weight:650;
}
body.v74RadioRebuild .btn{
  min-height:38px;
  padding:9px 13px;
  border-radius:0;
  border:1px solid var(--v74-line);
  background:transparent;
  color:var(--v74-paper);
  box-shadow:none;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:680;
}
body.v74RadioRebuild .btn:hover{
  transform:none;
  background:rgba(255,255,255,.055);
  border-color:var(--v74-line-strong);
}
body.v74RadioRebuild .btn--primary{
  color:#080808;
  background:var(--v74-paper);
  border-color:var(--v74-paper);
}
body.v74RadioRebuild .btn--primary:hover{
  color:#080808;
  background:#fff;
  border-color:#fff;
}
body.v74RadioRebuild .btn--gold{
  color:var(--v74-paper);
  background:rgba(199,157,76,.11);
  border-color:rgba(199,157,76,.36);
}
body.v74RadioRebuild .btn--icon{width:38px;height:38px;padding:0}

/* ---------- main player ---------- */
body.v74RadioRebuild .card--player{
  position:relative;
  margin-top:28px;
  overflow:visible;
  border:1px solid var(--v74-line);
  background:#090909;
}
body.v74RadioRebuild .card--player::after{
  content:"01 / TRANSMISSION DECK";
  position:absolute;
  top:-18px;left:0;
  color:var(--v74-faint);
  font-size:8px;
  letter-spacing:.2em;
}
body.v74RadioRebuild .radioRoomStrip{
  min-height:40px;
  padding:0 14px;
  border:0;
  border-bottom:1px solid var(--v74-line);
  border-radius:0;
  background:#0a0a0a;
  font-size:9px;
  letter-spacing:.11em;
}
body.v74RadioRebuild .radioRoomStrip__dot{
  width:6px;height:6px;
  box-shadow:none;
}
body.v74RadioRebuild .radioRoomStrip #radioRoomText{
  color:var(--v74-faint);
  font-size:9px;
}
body.v74RadioRebuild .radioDeck{
  display:grid;
  grid-template-columns:minmax(0,1.52fr) minmax(330px,.48fr);
  gap:0;
  padding:0;
}
body.v74RadioRebuild .radioDeck__screen{
  min-width:0;
  padding:16px;
  border-right:1px solid var(--v74-line);
}
body.v74RadioRebuild .radioDeck__screenTop{
  min-height:28px;
  margin:0;
  padding:0 0 10px;
  border-bottom:0;
  color:var(--v74-faint);
  font-size:8px;
  letter-spacing:.17em;
}
body.v74RadioRebuild .ytPlayerShell{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/9;
  width:100%;
  min-height:0;
  border-radius:0;
  border:1px solid rgba(255,255,255,.10);
  background:#000;
  box-shadow:none;
}
body.v74RadioRebuild .ytPlayerShell::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.04);
  box-shadow:inset 0 0 80px rgba(0,0,0,.18);
}
body.v74RadioRebuild #youtubePlayer,
body.v74RadioRebuild #youtubePlayer iframe{
  width:100%!important;height:100%!important;
}
body.v74RadioRebuild .radioDeck__meta{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:22px 20px 18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 32%),
    #0b0b0c;
}
body.v74RadioRebuild .radioDeck__meta::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:2px;
  background:linear-gradient(90deg,var(--v74-pink),rgba(255,255,255,.28),var(--v74-blue));
  opacity:.55;
}
body.v74RadioRebuild .radioDeck__title{
  margin-top:10px;
  font-size:clamp(27px,3.3vw,46px);
  line-height:.92;
  letter-spacing:-.055em;
  font-weight:720;
  text-wrap:balance;
}
body.v74RadioRebuild .radioDeck__artist{
  margin-top:9px;
  color:var(--v74-muted);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body.v74RadioRebuild .radioDeck__status{
  margin:15px 0 0;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
  color:var(--v74-faint);
  font-size:9px;
}
body.v74RadioRebuild .statusDot{
  width:5px;height:5px;background:var(--v74-red);box-shadow:none;
}
body.v74RadioRebuild .radioArtworkWrap{
  width:100%;
  max-width:none;
  height:118px;
  margin:14px 0;
  border-radius:0;
  border:1px solid rgba(255,255,255,.10);
  overflow:hidden;
  background:#111;
}
body.v74RadioRebuild .radioArtwork{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
  filter:saturate(.72) contrast(1.08) brightness(.78);
}
body.v74RadioRebuild .radioArtworkStamp{
  left:9px;bottom:7px;
  padding:4px 6px;
  border-radius:0;
  background:rgba(0,0,0,.62);
  font-size:7px;
  letter-spacing:.14em;
}
body.v74RadioRebuild .radioDeck__controls{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:6px;
  margin-top:auto;
}
body.v74RadioRebuild .radioDeck__controls .vol{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:8px;
  align-items:center;
}
body.v74RadioRebuild .vol__slider{width:100%}
body.v74RadioRebuild input[type="range"]{accent-color:#e8e5df}
body.v74RadioRebuild .radioDeck__progress{margin-top:15px}
body.v74RadioRebuild .bar{
  height:2px;
  border-radius:0;
  background:rgba(255,255,255,.10);
}
body.v74RadioRebuild .bar .fill{
  border-radius:0;
  background:var(--v74-paper);
  box-shadow:none;
}
body.v74RadioRebuild .radioDeck__progressMeta{
  margin-top:7px;
  color:var(--v74-faint);
  font-size:7px;
  letter-spacing:.12em;
}
body.v74RadioRebuild .npHistory{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.08);
}
body.v74RadioRebuild .npHistory__label{
  color:var(--v74-faint);
  font-size:8px;
  letter-spacing:.16em;
}

body.v74RadioRebuild .radioActionRail{
  display:flex;
  align-items:stretch;
  gap:0;
  padding:0;
  border:0;
  border-top:1px solid var(--v74-line);
  background:#090909;
  overflow-x:auto;
  scrollbar-width:none;
}
body.v74RadioRebuild .radioActionRail::-webkit-scrollbar{display:none}
body.v74RadioRebuild .radioActionRail > *{
  flex:1 0 auto;
  min-height:42px;
  border:0;
  border-right:1px solid rgba(255,255,255,.08);
  border-radius:0;
  background:transparent;
  color:var(--v74-muted);
  padding:9px 13px;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.v74RadioRebuild .radioActionRail > *:hover{
  color:var(--v74-paper);
  background:rgba(255,255,255,.035);
}
body.v74RadioRebuild .radioSaveState{
  margin:0;
  padding:8px 13px;
  border-top:1px solid rgba(255,255,255,.06);
  background:#080808;
  color:var(--v74-faint);
  font-size:8px;
  letter-spacing:.08em;
}

/* ---------- queue + connected record ---------- */
body.v74RadioRebuild .radioQueue{
  margin:10px 0 0;
  padding:0;
  border:1px solid var(--v74-line);
  border-radius:0;
  background:#0b0b0b;
}
body.v74RadioRebuild .radioQueue__head{
  padding:11px 13px;
  border-bottom:1px solid var(--v74-line);
  color:var(--v74-faint);
  font-size:8px;
  letter-spacing:.14em;
}
body.v74RadioRebuild .radioQueue__list{padding:8px}
body.v74RadioRebuild .radioQueue__item{
  border-radius:0;
  border-color:rgba(255,255,255,.08);
  background:transparent;
}
body.v74RadioRebuild .radioContext,
body.v74RadioRebuild .radioWitness{
  margin-top:12px;
  border-radius:0;
  border:1px solid var(--v74-line);
  background:#0d0d0e;
  box-shadow:none;
}
body.v74RadioRebuild .radioContext__top{
  padding:16px;
  border-bottom:1px solid var(--v74-line);
}
body.v74RadioRebuild .radioContext__top h2,
body.v74RadioRebuild .radioWitness h2{
  letter-spacing:-.035em;
}
body.v74RadioRebuild .radioWitness{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:0;
  padding:0;
}
body.v74RadioRebuild .radioWitness__main,
body.v74RadioRebuild .radioWitness__facility{padding:22px}
body.v74RadioRebuild .radioWitness__main{
  border-right:1px solid var(--v74-line);
}
body.v74RadioRebuild .radioWitness__kicker,
body.v74RadioRebuild .radioWitness__facility small{
  color:var(--v74-faint);
  font-size:8px;
  letter-spacing:.18em;
}
body.v74RadioRebuild .radioWitness__pollux{
  max-width:660px;
  font-size:clamp(18px,2.4vw,30px);
  line-height:1.15;
  letter-spacing:-.035em;
}
body.v74RadioRebuild .radioWitness__counts span{
  border-radius:0;
  background:transparent;
  border-color:rgba(255,255,255,.10);
}

/* ---------- site pulse / memory rails ---------- */
body.v74RadioRebuild .radioLiveRail,
body.v74RadioRebuild .radioMemoryRail{
  display:grid;
  margin-top:12px;
  gap:0;
  border:1px solid var(--v74-line);
  border-radius:0;
  background:#0b0b0c;
}
body.v74RadioRebuild .radioLiveRail{
  grid-template-columns:1.4fr repeat(3,.72fr) auto;
}
body.v74RadioRebuild .radioMemoryRail{
  grid-template-columns:1.35fr repeat(3,1fr);
}
body.v74RadioRebuild .radioLiveRail > *,
body.v74RadioRebuild .radioMemoryRail > *{
  min-height:86px;
  padding:16px;
  border-right:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
body.v74RadioRebuild .radioLiveRail > *:last-child,
body.v74RadioRebuild .radioMemoryRail > *:last-child{border-right:0}
body.v74RadioRebuild .radioLiveRail small,
body.v74RadioRebuild .radioMemoryRail small{
  margin-bottom:auto;
  color:var(--v74-faint);
  font-size:7px;
  letter-spacing:.16em;
}
body.v74RadioRebuild .radioLiveRail b,
body.v74RadioRebuild .radioMemoryRail b{
  font-size:13px;
  letter-spacing:-.02em;
}
body.v74RadioRebuild .radioMemoryRail span{
  margin-top:4px;color:var(--v74-faint);font-size:9px;
}

/* ---------- lower surfaces ---------- */
body.v74RadioRebuild .card--promo,
body.v74RadioRebuild .card--stats,
body.v74RadioRebuild .radioEventsPreview,
body.v74RadioRebuild .radioCommons,
body.v74RadioRebuild .card--chat{
  margin-top:12px;
  border-radius:0;
}
body.v74RadioRebuild .card--promo{
  background:
    linear-gradient(90deg,rgba(189,145,65,.08),transparent 52%),
    #0d0d0e;
}
body.v74RadioRebuild .promoWrap{
  grid-template-columns:1fr minmax(140px,260px);
  padding:18px;
}
body.v74RadioRebuild .promoTag{border-radius:0}
body.v74RadioRebuild .grid2{gap:8px}
body.v74RadioRebuild .radioCommonsGrid{gap:8px}
body.v74RadioRebuild .chatList{
  border-radius:0;
  background:#090909;
}
body.v74RadioRebuild .chatForm input{
  border-radius:0;
  background:#090909;
  border-color:var(--v74-line);
}
body.v74RadioRebuild .footer{
  margin-top:40px;
  padding:22px 0 90px;
  border-top:1px solid var(--v74-line);
  font-size:9px;
  letter-spacing:.11em;
  text-transform:uppercase;
}

/* ---------- mini player ---------- */
.v74MiniPlayer{
  position:fixed;
  z-index:60;
  right:18px;
  bottom:18px;
  width:min(430px,calc(100vw - 36px));
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:7px;
  background:rgba(8,8,8,.94);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 60px rgba(0,0,0,.45);
  backdrop-filter:blur(16px);
  transform:translateY(0);
  transition:opacity .18s ease,transform .18s ease;
}
.v74MiniPlayer[hidden]{display:none!important}
.v74MiniPlayer__art{
  width:58px;height:58px;object-fit:cover;background:#151515;
  filter:saturate(.78) contrast(1.05);
}
.v74MiniPlayer__copy{min-width:0}
.v74MiniPlayer__copy small{
  display:block;
  margin-bottom:4px;
  color:rgba(255,255,255,.42);
  font-size:7px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.v74MiniPlayer__copy b{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#f0eee9;
  font-size:12px;
}
.v74MiniPlayer__copy span{
  display:block;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.44);
  font-size:8px;
  letter-spacing:.08em;
}
.v74MiniPlayer__controls{display:flex;gap:3px}
.v74MiniPlayer__controls button,
.v74MiniPlayer__controls a{
  width:32px;height:32px;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.14);
  background:transparent;
  color:#f0eee9;
  border-radius:0;
  padding:0;
  text-decoration:none;
  font-size:10px;
  cursor:pointer;
}
.v74MiniPlayer__controls button:hover,
.v74MiniPlayer__controls a:hover{background:rgba(255,255,255,.07)}

/* ---------- small broadcast equalizer ---------- */
.v74Equalizer{
  display:flex;
  align-items:flex-end;
  gap:2px;
  height:12px;
  margin:0 0 12px;
}
.v74Equalizer i{
  width:2px;
  height:3px;
  background:rgba(240,238,233,.26);
  transform-origin:bottom;
}
body.v74-is-playing .v74Equalizer i{
  animation:v74eq .85s ease-in-out infinite alternate;
}
body.v74-is-playing .v74Equalizer i:nth-child(2n){animation-duration:.55s}
body.v74-is-playing .v74Equalizer i:nth-child(3n){animation-duration:1.05s}
@keyframes v74eq{to{height:12px;background:rgba(240,238,233,.78)}}

/* ---------- events + charts ---------- */
body.v74RadioSubpage{
  min-height:100%;
  background:
    radial-gradient(circle at 86% 18%,rgba(122,159,202,.09),transparent 26rem),
    radial-gradient(circle at 10% 44%,rgba(217,134,183,.07),transparent 28rem),
    #070707;
}
body.v74RadioSubpage .radioEventsHeader{
  position:sticky;
  top:0;
  z-index:20;
  min-height:54px;
  width:100%;
  padding:0 max(24px,calc((100vw - 1240px)/2));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:rgba(7,7,7,.93);
  border-bottom:1px solid var(--v74-line);
  backdrop-filter:blur(16px);
}
body.v74RadioSubpage .radioEventsBrand{
  font-size:10px;
  letter-spacing:.14em;
  font-weight:750;
}
body.v74RadioSubpage .radioEventsBrand span{color:var(--v74-faint)}
body.v74RadioSubpage .radioEventsHeader nav{display:flex;gap:0}
body.v74RadioSubpage .radioEventsHeader nav a{
  padding:19px 11px 17px;
  color:var(--v74-faint);
  border-left:1px solid rgba(255,255,255,.06);
  font-size:8px;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-decoration:none;
}
body.v74RadioSubpage .radioEventsHeader nav a:hover,
body.v74RadioSubpage .radioEventsHeader nav a[aria-current="page"]{
  color:var(--v74-paper);
  background:rgba(255,255,255,.025);
}
body.v74RadioSubpage .radioEventsMain,
body.v74RadioSubpage .radioCharts{
  width:min(1240px,calc(100% - 48px));
  margin:0 auto;
  padding:0 0 80px;
}
body.v74RadioSubpage .radioEventsHero,
body.v74RadioSubpage .radioChartsHero{
  min-height:360px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  padding:64px 0 36px;
  border-bottom:1px solid var(--v74-line);
}
body.v74RadioSubpage .radioEventsHero h1,
body.v74RadioSubpage .radioChartsHero h1{
  margin:10px 0 16px;
  max-width:900px;
  font-size:clamp(58px,8vw,112px);
  line-height:.78;
  letter-spacing:-.075em;
  font-weight:760;
}
body.v74RadioSubpage .radioEventsHero h1 span{color:var(--v74-muted)}
body.v74RadioSubpage .radioEventsHero p,
body.v74RadioSubpage .radioChartsHero p{
  max-width:680px;
  color:var(--v74-muted);
  line-height:1.6;
  font-size:12px;
}
body.v74RadioSubpage .radioEventsHeroOrb{
  width:150px;height:150px;
  border-radius:50%;
  border:1px solid var(--v74-line);
  background:
    radial-gradient(circle at 38% 38%,rgba(217,134,183,.34),transparent 24%),
    radial-gradient(circle at 64% 62%,rgba(122,159,202,.30),transparent 30%),
    #0b0b0c;
  box-shadow:none;
}
body.v74RadioSubpage .radioEventsHeroOrb i{
  border-color:rgba(255,255,255,.16);
  box-shadow:none;
}
body.v74RadioSubpage .radioEventList{
  margin-top:16px;
  display:grid;
  gap:6px;
}
body.v74RadioSubpage .radioEventCard,
body.v74RadioSubpage .radioEventEmpty,
body.v74RadioSubpage .radioEventPrinciple{
  border-radius:0;
  background:#0d0d0e;
  border-color:var(--v74-line);
  box-shadow:none;
}
body.v74RadioSubpage .radioEventCard{
  display:grid;
  grid-template-columns:120px minmax(0,1fr) auto;
  align-items:stretch;
  padding:0;
}
body.v74RadioSubpage .radioEventRoom{
  display:flex;
  align-items:center;
  justify-content:center;
  border-right:1px solid var(--v74-line);
  color:var(--v74-faint);
  font-size:8px;
  letter-spacing:.15em;
}
body.v74RadioSubpage .radioEventCopy{padding:20px}
body.v74RadioSubpage .radioEventCopy h2{
  font-size:clamp(24px,3vw,42px);
  letter-spacing:-.045em;
}
body.v74RadioSubpage .radioEventActions{
  min-width:170px;
  padding:16px;
  border-left:1px solid var(--v74-line);
}
body.v74RadioSubpage .radioEventPrinciple{
  margin-top:16px;
  padding:24px;
}
body.v74RadioSubpage .radioChartsGrid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
body.v74RadioSubpage .radioChartCard{
  padding:20px;
  border-radius:0;
  border:1px solid var(--v74-line);
  background:#0d0d0e;
}
body.v74RadioSubpage .radioChartCard h2{
  margin:7px 0 16px;
  font-size:clamp(26px,3vw,42px);
  letter-spacing:-.045em;
}
body.v74RadioSubpage .radioChartList li,
body.v74RadioSubpage .radioChartList a{
  border-bottom-color:rgba(255,255,255,.07);
}
body.v74RadioSubpage .radioChartsNote{
  border-radius:0;
  border-color:var(--v74-line);
  background:#0d0d0e;
}

/* ---------- responsive ---------- */
@media(max-width:980px){
  body.v74RadioRebuild .hero__grid{grid-template-columns:1fr minmax(250px,.5fr)}
  body.v74RadioRebuild .radioDeck{grid-template-columns:1fr}
  body.v74RadioRebuild .radioDeck__screen{border-right:0;border-bottom:1px solid var(--v74-line)}
  body.v74RadioRebuild .radioDeck__meta{display:grid;grid-template-columns:1.15fr .85fr;gap:0 18px}
  body.v74RadioRebuild .radioDeck__label,
  body.v74RadioRebuild .radioDeck__title,
  body.v74RadioRebuild .radioDeck__artist,
  body.v74RadioRebuild #npPlaylist,
  body.v74RadioRebuild .radioDeck__status{grid-column:1}
  body.v74RadioRebuild .radioArtworkWrap{grid-column:2;grid-row:1/7;height:100%;min-height:190px;margin:0}
  body.v74RadioRebuild .radioDeck__controls,
  body.v74RadioRebuild .radioDeck__progress,
  body.v74RadioRebuild .npHistory{grid-column:1/-1}
  body.v74RadioRebuild .radioLiveRail{grid-template-columns:1fr 1fr 1fr}
  body.v74RadioRebuild .radioLiveRail > *:first-child{grid-column:1/-1}
  body.v74RadioRebuild .radioLiveRail > a{grid-column:1/-1}
  body.v74RadioRebuild .radioMemoryRail{grid-template-columns:1fr 1fr}
  body.v74RadioRebuild .radioMemoryRail > *:first-child{grid-column:1/-1}
}

@media(max-width:760px){
  body.v74RadioRebuild .wrap,
  body.v74RadioSubpage .radioEventsMain,
  body.v74RadioSubpage .radioCharts{width:min(100% - 24px,1320px)}
  body.v74RadioRebuild .v73LocalNav{
    top:52px;
    padding-left:12px;padding-right:12px;
  }
  body.v74RadioRebuild .hero__grid{grid-template-columns:1fr}
  body.v74RadioRebuild .hero__copy{
    padding:38px 0 30px;
    min-height:390px;
  }
  body.v74RadioRebuild .hero__title{
    font-size:clamp(64px,21vw,104px);
    line-height:.78;
  }
  body.v74RadioRebuild .hero__accent{font-size:19px}
  body.v74RadioRebuild .hero__lead{font-size:12px}
  body.v74RadioRebuild .hero__sigil{
    min-height:220px;
    border-left:0;border-top:1px solid var(--v74-line);
  }
  body.v74RadioRebuild .radioHeroArt,
  body.v74RadioRebuild .radioHeroArt img{min-height:220px;height:220px}
  body.v74RadioRebuild .card--player{margin-top:28px}
  body.v74RadioRebuild .radioDeck__screen{padding:8px}
  body.v74RadioRebuild .radioDeck__screenTop{padding:3px 3px 8px}
  body.v74RadioRebuild .radioDeck__meta{
    display:block;
    padding:18px 14px 14px;
  }
  body.v74RadioRebuild .radioArtworkWrap{height:120px;min-height:0;margin:14px 0}
  body.v74RadioRebuild .radioDeck__controls{grid-template-columns:1fr 1fr}
  body.v74RadioRebuild .radioDeck__controls #rejoinBtn{grid-column:1/-1}
  body.v74RadioRebuild .radioDeck__controls .vol{grid-column:1/-1}
  body.v74RadioRebuild .radioRoomStrip{
    align-items:flex-start;
    padding:10px 11px;
    flex-direction:column;
    gap:4px;
  }
  body.v74RadioRebuild .radioActionRail > *{flex:0 0 auto}
  body.v74RadioRebuild .radioWitness{grid-template-columns:1fr}
  body.v74RadioRebuild .radioWitness__main{border-right:0;border-bottom:1px solid var(--v74-line)}
  body.v74RadioRebuild .radioLiveRail,
  body.v74RadioRebuild .radioMemoryRail{grid-template-columns:1fr 1fr}
  body.v74RadioRebuild .radioLiveRail > *:first-child,
  body.v74RadioRebuild .radioMemoryRail > *:first-child,
  body.v74RadioRebuild .radioLiveRail > a{grid-column:1/-1}
  body.v74RadioRebuild .promoWrap{grid-template-columns:1fr}
  .v74MiniPlayer{
    right:8px;bottom:8px;width:calc(100vw - 16px);
    grid-template-columns:46px minmax(0,1fr) auto;
  }
  .v74MiniPlayer__art{width:46px;height:46px}
  .v74MiniPlayer__controls button,
  .v74MiniPlayer__controls a{width:30px;height:30px}
  .v74MiniPlayer__controls [data-v74-mini-pause]{display:none}

  body.v74RadioSubpage .radioEventsHeader{
    padding:0 12px;
    align-items:flex-start;
    flex-direction:column;
    gap:0;
  }
  body.v74RadioSubpage .radioEventsBrand{padding-top:13px}
  body.v74RadioSubpage .radioEventsHeader nav{
    width:100%;overflow:auto;scrollbar-width:none;
  }
  body.v74RadioSubpage .radioEventsHeader nav a{
    padding:12px 10px 11px;
    border-left:0;border-right:1px solid rgba(255,255,255,.06);
  }
  body.v74RadioSubpage .radioEventsHero,
  body.v74RadioSubpage .radioChartsHero{
    min-height:350px;
    padding:52px 0 30px;
  }
  body.v74RadioSubpage .radioEventsHeroOrb{display:none}
  body.v74RadioSubpage .radioEventsHero h1,
  body.v74RadioSubpage .radioChartsHero h1{
    font-size:clamp(60px,18vw,98px);
  }
  body.v74RadioSubpage .radioEventCard{grid-template-columns:1fr}
  body.v74RadioSubpage .radioEventRoom{
    min-height:34px;
    justify-content:flex-start;
    padding:0 14px;
    border-right:0;border-bottom:1px solid var(--v74-line);
  }
  body.v74RadioSubpage .radioEventActions{
    min-width:0;border-left:0;border-top:1px solid var(--v74-line);
  }
  body.v74RadioSubpage .radioChartsGrid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  body.v74-is-playing .v74Equalizer i{animation:none}
  .v74MiniPlayer{transition:none}
}
