/* ersy — last-loaded minimalist overlay */

:root {
  --radius: 8px;
  --glow: none;
  --bg: #07040f;
  --panel: #0e0a14;
  --line: rgba(247, 240, 250, 0.07);
}

*,
*::before,
*::after {
  text-shadow: none !important;
}

html,
body,
#app {
  background: #07040f;
}

.app-frame {
  padding: 0;
  gap: 0;
  background: #07040f;
}

@media (min-width: 861px) {
  .app-frame:not(.artist-mode) {
    padding: 10px 10px 0;
    gap: 10px;
  }

  .app-frame:not(.artist-mode) .side-nav {
    min-width: 240px;
    max-width: 240px;
  }

  .app-frame.wide-main:not(.artist-mode) .desk-top {
    padding: 12px 28px !important;
  }

  .app-frame.wide-main:not(.artist-mode) .cine-hero-copy {
    padding: 32px 28px 36px !important;
  }

  .app-frame.wide-main:not(.artist-mode) .home-section {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
}

.side-nav,
.right-rail {
  background: #0c0812 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.main-scroll {
  background: #08050e !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.welcome,
.cmd,
.legal-sheet,
.overlay .welcome,
.song-menu,
.artist-menu,
.connect-band,
.connect-card,
.lib-art,
.feat-card,
.mix-card,
.mix-hero,
.rail-card,
.news-card,
.station-tile,
.station-pill,
.pod-art,
.ersy-deepcut-card,
.ersy-cover-card,
.ersy-edit-card,
.ersy-city-pill,
.ersy-era-card,
.np-panel,
.bar,
.bar.ersy-playbar,
.ytm-album,
.ytm-rel,
.sp-latest-card,
.sp-pick-card,
.release-card,
.lib-card-wrap,
.notes,
.yt-acct {
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.side-nav,
.right-rail {
  background: #0c0812 !important;
  border: 0 !important;
  border-radius: 10px !important;
}

.main-scroll {
  background: #08050e !important;
  border: 0 !important;
  border-radius: 10px !important;
}

.app-frame.artist-mode .main-scroll {
  background: #07040f !important;
}

/* Type: quieter headings */
.home-section .nf-row-head h2,
.nf-row-head h2,
.ytm-sec-head h2,
.sp-popular h2,
.page h1,
.h-page,
.ytm-head h1 {
  font-weight: 650;
  letter-spacing: -0.03em;
}

.home-section .nf-row-head h2,
.nf-row-head h2 {
  font-family: var(--ui, "Instrument Sans", sans-serif) !important;
  font-size: 18px !important;
  font-weight: 650 !important;
  letter-spacing: -0.02em !important;
}

.home-section {
  padding: 22px 24px 4px !important;
}

.home-row-head {
  margin-bottom: 12px !important;
}

.sp-about-listeners,
.ersy-kicker,
.eyebrow,
.sp-chapter,
.sp-verified,
.sp-sec-blurb,
.sp-latest-why,
.ersy-era-status,
.sp-scarce-banner,
.ersy-block-lede,
.page-lede,
.yt-artist-hint,
.cine-meta,
.welcome-brand,
.connect-lede,
.connect-note,
.card-details,
.feat-card .card-details {
  display: none !important;
}

.label {
  letter-spacing: 0.04em;
  font-weight: 600;
  color: var(--dim, #7f6f94);
}

/* Buttons — magenta only on primary play */
.btn,
.auth-submit,
.welcome-submit {
  box-shadow: none !important;
  background: #ff2d6f !important;
  background-image: none !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  letter-spacing: 0 !important;
}

.btn:hover,
.auth-submit:hover,
.welcome-submit:hover {
  transform: none !important;
  filter: none !important;
  background: #ff4d85 !important;
}

.btn-ghost,
a.btn-ghost {
  background: transparent !important;
  color: var(--text, #f7f0fa) !important;
  border: 1px solid var(--line) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.chip,
.pill,
.ytm-chip,
.ytm-pill,
.ytm-text,
.ytm-showall,
.sp-follow,
.sp-session,
.sp-round,
.connect-go,
.station-pill,
.home-listen-kind {
  box-shadow: none !important;
  background-image: none !important;
}

.chip,
.pill,
.ytm-chip {
  background: transparent !important;
  border: 1px solid var(--line) !important;
  color: var(--muted, #b7a6c8) !important;
  border-radius: 999px !important;
}

.chip.on,
.pill.on,
.ytm-chip.on,
.home-listen-kind.on {
  background: #fff !important;
  color: #111 !important;
  border-color: #fff !important;
}

.nf-play,
.lv-play,
.mix-play,
.play-fab,
.ytm-album-play,
.pod-play,
.ersy-deepcut-play,
.chart-play,
.nf-play.btn,
.sp-play {
  box-shadow: none !important;
  background: #ff2d6f !important;
  background-image: none !important;
  color: #fff !important;
  border: 0 !important;
}

.sp-session {
  background: transparent !important;
  border: 1px solid var(--line) !important;
  color: var(--text) !important;
  font-weight: 600 !important;
}

.connect-go {
  background: transparent !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
}

.connect-go.on {
  background: transparent !important;
  color: var(--dim) !important;
}

.btn,
.nf-play,
.play-fab,
.feat-card,
.lib-card-wrap:hover .lib-hit img,
.mix-card:hover .mix-play,
.ersy-edit-card:hover,
.release-card:hover .release-art img,
.rail-card:hover img,
.ytm-album-art:hover img,
.ytm-rel:hover,
.feat-card:hover,
.feat-card:focus-within {
  transform: none !important;
}

/* Hero */
.cine-hero {
  min-height: min(38vh, 340px) !important;
}

.cine-hero-fill {
  opacity: 0.14 !important;
}

.home-brand {
  font-size: clamp(40px, 6vw, 72px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.05em !important;
}

.cine-hero-copy {
  padding: 28px 24px 32px !important;
  max-width: 520px !important;
}

.cine-hero-copy .lede {
  margin-top: 10px !important;
  font-size: 15px !important;
  color: var(--muted, #b7a6c8) !important;
  max-width: 36ch !important;
}

.cine-cta {
  margin-top: 18px !important;
  gap: 8px !important;
}

.cine-hero-shade {
  background:
    linear-gradient(90deg, rgba(7, 4, 15, 0.92) 0%, rgba(7, 4, 15, 0.55) 42%, rgba(7, 4, 15, 0.08) 100%),
    linear-gradient(0deg, rgba(7, 4, 15, 0.45) 0%, transparent 50%) !important;
}

.home-listen-bar {
  padding-top: 16px !important;
  padding-bottom: 0 !important;
}

.home-listen-kind {
  background: transparent !important;
  color: var(--muted) !important;
  padding: 6px 12px !important;
}

/* Cards / rails */
.feat-card {
  border-radius: 8px !important;
  border: 0 !important;
  width: 148px !important;
  flex-basis: 148px !important;
}

.feat-card .card-base em {
  display: none;
}

.feat-card .card-base strong {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.feat-card .nf-play {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 2;
  width: 32px;
  height: 32px;
  min-width: 32px;
  padding: 0;
  border-radius: 50%;
  font-size: 12px;
  opacity: 0;
}

.feat-card:hover .nf-play,
.feat-card:focus-within .nf-play {
  opacity: 1;
}

.feat-set {
  gap: 10px !important;
}

.mix-card,
.mix-card.tone-b,
.mix-card.tone-c,
.mix-hero,
.mix-hero.tone-b,
.mix-hero.tone-c,
.ersy-deepcut-card,
.ersy-edit-card,
.connect-card {
  background: #120e18 !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
}

.mix-copy em,
.ersy-deepcut-copy em,
.ersy-cover-copy em {
  color: var(--dim, #7f6f94) !important;
  letter-spacing: 0.04em !important;
  font-weight: 600 !important;
}

.rail-card,
.news-card,
.release-card,
.station-pill,
.ersy-city-pill {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.rail-card img,
.release-art img,
.ytm-album-art img,
.ytm-rel-art,
.lib-art,
.pod-art {
  border-radius: 8px !important;
}

.lib-art {
  box-shadow: none !important;
}

.ersy-cover-card {
  border-radius: 8px !important;
  border: 1px solid var(--line) !important;
  overflow: hidden;
  min-height: 180px !important;
}

.ersy-cover-copy i,
.ersy-cover-copy b {
  font-style: normal;
  font-weight: 500;
}

.connect-band {
  margin: 8px 24px 0 !important;
  padding: 16px 0 8px !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--line) !important;
  border-radius: 0 !important;
}

.connect-band h2 {
  font-size: 18px !important;
  font-weight: 650 !important;
}

.connect-grid {
  gap: 8px !important;
}

/* Artist */
.ytm-banner,
.sp-banner {
  background: #07040f !important;
}

@media (min-width: 861px) {
  .ytm-banner,
  .sp-banner {
    min-height: 200px !important;
    padding: 28px 24px 20px !important;
  }
  .ytm-banner-art {
    box-shadow: none !important;
    border-radius: 8px !important;
    border: 0 !important;
    width: min(220px, 28vw) !important;
  }
  .sp-banner-copy h1 {
    font-size: clamp(32px, 5.5vw, 64px) !important;
    font-weight: 750 !important;
  }
}

.sp-listeners,
.sp-snippet {
  color: var(--muted) !important;
  font-weight: 500 !important;
}

.sp-head,
.ytm-head {
  padding: 8px 24px 4px !important;
}

.ytm-sec {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.sp-about-fade {
  background: linear-gradient(90deg, rgba(7, 4, 15, 0.88) 0%, rgba(7, 4, 15, 0.28) 70%, transparent 100%);
}

.sp-pop-watch {
  background: transparent !important;
  color: var(--dim) !important;
  font-weight: 600 !important;
}

.sp-pop-row,
.see-all-song,
.mix-trow {
  border-radius: 0 !important;
}

.ytm-chip,
.ersy-era-chip {
  background: transparent !important;
}

/* Keep the selected chip readable on the dark page — the base theme flips it
   to black-on-white, but the minimal overlay strips the white fill. */
.ytm-chip.on,
.ersy-era-chip.on {
  background: #fff !important;
  color: #111 !important;
  border-color: #fff !important;
  font-weight: 750;
}

/* Nav */
.nav-link {
  border-radius: 8px !important;
}

.nav-link.on,
.yt-auto.on {
  background: rgba(255, 255, 255, 0.06) !important;
  box-shadow: none !important;
}

.yt-new-pl,
.desk-search,
.field,
input:not([type="range"]),
textarea {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid var(--line) !important;
  box-shadow: none !important;
  border-radius: 8px !important;
}

.field:focus,
input:focus,
textarea:focus,
.desk-search:focus {
  box-shadow: none !important;
  outline: none;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

.desk-top {
  padding: 10px 16px !important;
}

/* Player */
.bar-tint,
.bar::after,
.vh.audio .vh-box::after,
.vh .vh-btn::after,
.bar-orb::after,
.cine-hero-glow,
body::before {
  display: none !important;
}

.vh.mini .vh-now-head .vh-btn::after,
.vh.mini .vh-play-main::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: -10px;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.bar,
.bar.ersy-playbar,
.vh.audio .vh-box {
  background: #141018 !important;
  box-shadow: none !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.bar-play {
  background: #ff2d6f !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
  transform: none !important;
  filter: none !important;
}

.vh .vh-btn,
.vh.audio .vh-play-main {
  background: #2a2430 !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  transform: none !important;
}

.vh .vh-btn.on,
.vh .vh-order.on,
.vh .vh-repeat.on {
  background: rgba(255, 45, 111, 0.22) !important;
  background-image: none !important;
  border-color: #ff2d6f !important;
  color: #ff2d6f !important;
  box-shadow: none !important;
}

.vh-order.on::after,
.vh-repeat.on::after {
  display: block !important;
  content: "";
  position: absolute;
  left: 50%;
  bottom: 6px;
  width: 5px;
  height: 5px;
  margin-left: -2.5px;
  border-radius: 50%;
  background: #ff2d6f;
  inset: auto;
  height: 5px;
}

.np-panel,
.np-head {
  background: #100c16 !important;
  box-shadow: none !important;
}

.np-panel.is-scrolled .np-head {
  background: transparent !important;
}

.np-panel {
  border-radius: 12px 12px 0 0 !important;
}

.np-panel.lyrics-exp,
.np-panel.lyrics-exp .np-head {
  background: var(--lyric-wash, #b5523a) !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.np-panel.lyrics-exp .np-cluster {
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.16) 28%) !important;
}

.np-knob {
  background: #2a2430 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: none !important;
}

.np-head .np-knob {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.np-head .np-knob.on {
  background: transparent !important;
  border-color: transparent !important;
  color: #ff2d6f !important;
}

.np-head-play {
  background: #fff !important;
  color: #111 !important;
  box-shadow: none !important;
}

.np-panel.lyrics-exp .np-knob {
  background: transparent !important;
  border-color: transparent !important;
  color: #fff !important;
}

.np-panel.lyrics-exp .np-play {
  background: #fff !important;
  color: #111 !important;
}

.np-knob.on,
.np-knob[aria-pressed="true"] {
  background: rgba(255, 45, 111, 0.22) !important;
  border-color: #ff2d6f !important;
  color: #ff2d6f !important;
}

.np-knob.on .yt-svg,
.np-knob[aria-pressed="true"] .yt-svg {
  color: #ff2d6f !important;
}

.np-play {
  background: #fff !important;
  color: #111 !important;
  box-shadow: none !important;
}

.np-lyrics-card,
.np-talk-card,
.np-about-card,
.np-related {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.np-lyric-card.is-peek {
  background: var(--lyric-wash, #b5523a) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

.np-card,
.np-about {
  border-radius: 20px !important;
}

/* Overlays */
.overlay,
.cmd-wrap {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(5, 3, 10, 0.72) !important;
}

.auth,
.welcome,
.cmd,
.legal-sheet,
.notes,
.yt-acct {
  border-radius: 10px !important;
  border: 1px solid var(--line) !important;
  background: #120c18 !important;
  color: #c8c4ce !important;
}

.welcome h2,
.welcome-switch button {
  color: #fff !important;
}

.welcome-switch,
.welcome-legal,
.welcome-legal button,
.welcome-back,
.welcome-x,
.welcome-email label {
  color: #c8c4ce !important;
}

.welcome-x:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
}

.welcome-email input,
.welcome-email textarea {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

.welcome-btn {
  background: #fff !important;
  color: #111 !important;
}

.welcome-msg {
  color: #ff8a80 !important;
}

.welcome-msg.ok {
  color: #8ee0ad !important;
}

.legal-sheet h2 {
  color: #fff !important;
}

.legal-sheet p,
.legal-sheet {
  color: #c8c4ce !important;
}

.toast {
  pointer-events: none;
  box-shadow: none !important;
  border-radius: 999px !important;
}

/* Footer */
.site-foot {
  margin-top: 36px !important;
  padding: 32px 24px 20px !important;
  background: transparent !important;
  border-top: 1px solid var(--line) !important;
  color: var(--dim) !important;
}

.site-foot-col h3 {
  font-family: var(--ui, "Instrument Sans", sans-serif) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--dim) !important;
  margin-bottom: 12px !important;
}

.site-foot-col ul {
  gap: 10px !important;
}

.site-foot a,
.site-foot-link {
  font-size: 13px !important;
  color: var(--muted) !important;
}

.site-foot-social {
  background: transparent !important;
  border: 1px solid var(--line) !important;
}

.site-foot-copy {
  color: var(--dim) !important;
  font-size: 12px !important;
}

/* Pages */
.page {
  padding: 20px 24px 40px;
}

.lib-grid {
  gap: 12px !important;
}

.empty .mark {
  box-shadow: none !important;
}

button, a, [data-go] {
  touch-action: manipulation;
}

.player-dock,
.bar,
.ersy-playbar {
  contain: layout style;
}

.cmd-res {
  contain: content;
}

.feat-track {
  animation: none !important;
  transform: none !important;
  will-change: auto;
}

.main-scroll {
  content-visibility: visible;
}

.lib-card-wrap,
.mix-card,
.news-card,
.station-tile,
.nf-row,
.ytm-sec,
.see-all-song,
.sp-pop-row {
  content-visibility: auto;
  contain-intrinsic-size: 180px 240px;
}

.cine-hero,
.ytm-banner,
.sp-head {
  content-visibility: visible;
}

@media (max-width: 720px) {
  .cine-hero { min-height: 280px !important; }
  .home-section,
  .ytm-sec,
  .sp-head { padding-left: 16px !important; padding-right: 16px !important; }
  .ytm-banner,
  .sp-banner {
    min-height: min(58vh, 420px) !important;
    padding: 0 !important;
  }
  .ytm-banner-art {
    width: 100% !important;
    border-radius: 0 !important;
  }
}
