/* V5.0.270 lane split: mobile player core shell, mast, browse/listen foundation, HOME/BIO local stages. */



/* BHK V5.0.56 — Mobile Runtime Sync + Playback Bridge.
   Mobile-only React island. Desktop public shell, rail, jacket, sleeve, and data lanes remain untouched. */

.bhk-v5-mobilePlayerRoot {
  display: none;
}

@media (max-width: 782px) {
  html,
  body.bhk-v5-body {
    min-height: 100%;
    overflow-x: hidden;
    background: var(--v5-page);
  }

  body.bhk-v5-body .bhk-v5-siteHeader,
  body.bhk-v5-body .bhk-v5-layout,
  body.bhk-v5-body [data-bhk-v5-universal-viewer] {
    display: none !important;
  }

  body.bhk-v5-body .bhk-v5-main {
    min-height: 100svh;
    width: 100%;
    padding: 0;
    overflow: hidden;
  }

  .bhk-v5-mobilePlayerRoot {
    display: block;
    min-height: 100svh;
    width: 100%;
    color: var(--v5-text);
    background:
      radial-gradient(circle at 50% -10%, color-mix(in srgb, var(--v5-signal) 30%, transparent), transparent 32svh),
      radial-gradient(circle at 84% 22%, color-mix(in srgb, var(--v5-accent) 22%, transparent), transparent 31svh),
      linear-gradient(180deg, color-mix(in srgb, var(--v5-surface) 86%, #000 14%), var(--v5-page));
    isolation: isolate;
  }

  html.bhk-v5-mobileFullSite body.bhk-v5-body .bhk-v5-siteHeader {
    display: block !important;
  }

  html.bhk-v5-mobileFullSite body.bhk-v5-body .bhk-v5-layout {
    display: grid !important;
  }

  html.bhk-v5-mobileFullSite body.bhk-v5-body [data-bhk-v5-universal-viewer] {
    display: block !important;
  }

  html.bhk-v5-mobileFullSite body.bhk-v5-body .bhk-v5-main {
    overflow: visible;
  }

  html.bhk-v5-mobileFullSite .bhk-v5-mobilePlayerRoot {
    min-height: 0;
    background: transparent;
  }

  .bhk-v5-mobilePlayer,
  .bhk-v5-mobilePlayerRestore {
    width: min(100%, 480px);
    margin: 0 auto;
  }

  .bhk-v5-mobilePlayer {
    min-height: 100svh;
    padding: max(14px, env(safe-area-inset-top)) 14px max(16px, env(safe-area-inset-bottom));
    display: grid;
    grid-template-rows: auto auto auto auto auto minmax(320px, 1fr) auto;
    gap: 10px;
  }

  .bhk-v5-mobilePlayer *,
  .bhk-v5-mobilePlayer *::before,
  .bhk-v5-mobilePlayer *::after,
  .bhk-v5-mobilePlayerRestore,
  .bhk-v5-mobilePlayerRestore * {
    box-sizing: border-box;
    border-radius: 0;
  }

  .bhk-v5-mobilePlayer button,
  .bhk-v5-mobilePlayer a,
  .bhk-v5-mobilePlayerRestore button {
    font: inherit;
    color: inherit;
  }

  .bhk-v5-mobilePlayer button,
  .bhk-v5-mobilePlayerRestore button {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  .bhk-v5-mobilePlayer__mast {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 14px;
    border: 1px solid color-mix(in srgb, var(--v5-line-strong) 38%, transparent);
    background:
      linear-gradient(180deg, color-mix(in srgb, var(--v5-proof) 7%, transparent), transparent),
      linear-gradient(135deg, color-mix(in srgb, var(--v5-surface-3) 78%, transparent), color-mix(in srgb, var(--v5-surface) 92%, transparent));
    box-shadow: 0 18px 50px var(--v5-shadow), inset 0 1px 0 color-mix(in srgb, var(--v5-proof) 10%, transparent);
  }

  .bhk-v5-mobilePlayer__status,
  .bhk-v5-mobilePlayer__meta,
  .bhk-v5-mobilePlayer__label,
  .bhk-v5-mobilePlayer__subline {
    display: block;
    font-size: 10px;
    line-height: 1;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--v5-muted);
  }

  .bhk-v5-mobilePlayer__kicker {
    display: none !important;
  }

  .bhk-v5-mobilePlayer__brand {
    display: block;
    margin-top: 0;
    font-size: clamp(26px, 8.4vw, 42px);
    line-height: .88;
    letter-spacing: -.06em;
    text-transform: uppercase;
    white-space: pre-line;
  }

  .bhk-v5-mobilePlayer__brand span {
    display: block;
  }

  .bhk-v5-mobilePlayer__subline {
    margin-top: 8px;
    color: color-mix(in srgb, var(--v5-muted) 88%, transparent);
  }

  .bhk-v5-mobilePlayer__fullSite,
  .bhk-v5-mobilePlayerRestore button {
    min-height: 38px;
    padding: 10px 11px;
    border: 1px solid color-mix(in srgb, var(--v5-line-strong) 40%, transparent);
    background: color-mix(in srgb, var(--v5-proof) 7%, transparent);
    color: var(--v5-text);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--v5-proof) 9%, transparent);
  }

  .bhk-v5-mobilePlayerRestore {
    position: sticky;
    top: max(10px, env(safe-area-inset-top));
    z-index: 1000;
    display: flex;
    justify-content: center;
    padding: 10px 14px;
    pointer-events: none;
  }

  .bhk-v5-mobilePlayerRestore button {
    pointer-events: auto;
    background: color-mix(in srgb, var(--v5-page) 82%, transparent);
    box-shadow: 0 14px 32px var(--v5-shadow), inset 0 1px 0 color-mix(in srgb, var(--v5-proof) 10%, transparent);
  }

    .bhk-v5-mobilePlayer__deck {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--v5-line) 74%, transparent);
    background:
      linear-gradient(135deg, color-mix(in srgb, var(--v5-surface-3) 52%, transparent), color-mix(in srgb, #000 36%, transparent)),
      repeating-linear-gradient(90deg, color-mix(in srgb, var(--v5-proof) 3%, transparent) 0 1px, transparent 1px 8px);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, #000 44%, transparent), 0 14px 34px color-mix(in srgb, var(--v5-shadow) 70%, transparent);
    overflow: visible;
  }

  .bhk-v5-mobilePlayer__art {
    position: relative;
    aspect-ratio: 1 / 1;
    width: 100%;
    min-width: 0;
    max-height: none;
    border: 1px solid color-mix(in srgb, var(--v5-line-strong) 46%, transparent);
    background:
      radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--v5-accent) 20%, transparent), transparent 48%),
      linear-gradient(145deg, color-mix(in srgb, var(--v5-surface-3) 82%, #000 18%), #050208);
    overflow: visible;
    transform: translateZ(0);
  }

  .bhk-v5-mobilePlayer__art.has-image {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    animation: bhkV5MobileIn .32s ease both;
  }

  .bhk-v5-mobilePlayer__art::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(135deg, color-mix(in srgb, #fff 16%, transparent), transparent 22%, transparent 68%, color-mix(in srgb, #000 42%, transparent)),
      repeating-linear-gradient(0deg, color-mix(in srgb, #fff 3%, transparent) 0 1px, transparent 1px 5px);
    mix-blend-mode: screen;
    opacity: .34;
    pointer-events: none;
  }

  .bhk-v5-mobilePlayer__artFallback {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: color-mix(in srgb, var(--v5-proof) 78%, transparent);
    font-size: 34px;
    line-height: .9;
    font-weight: 900;
    letter-spacing: -.08em;
    text-align: center;
    text-transform: uppercase;
  }

  .bhk-v5-mobilePlayer__modeBar,
  .bhk-v5-mobilePlayer__bankBar,
  .bhk-v5-mobilePlayer__transport {
    display: grid;
    gap: 6px;
  }

  .bhk-v5-mobilePlayer__modeBar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* V5.0.131 — mobile listen transport is now directly below LISTEN/BROWSE and above artwork. */
  .bhk-v5-mobilePlayer__modeBar + .bhk-v5-mobilePlayer__transport {
    margin-top: 0;
  }


  .bhk-v5-mobilePlayer__bankBar {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .bhk-v5-mobilePlayer__transport {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }


  /* V5.0.132 — Browse mode keeps only mode bar, PREV/HOME/NEXT, and browse cards. */
  .bhk-v5-mobilePlayer--browse {
    grid-template-rows: auto auto auto minmax(320px, 1fr);
  }

  .bhk-v5-mobilePlayer__transport--browse .bhk-v5-mobilePlayer__button.is-active {
    border-color: color-mix(in srgb, var(--v5-line-strong) 78%, transparent);
  }

  .bhk-v5-mobilePlayer__button,
  .bhk-v5-mobilePlayer__mode,
  .bhk-v5-mobilePlayer__bank,
  .bhk-v5-mobilePlayer__track {
    min-width: 0;
    border: 1px solid color-mix(in srgb, var(--v5-line) 76%, transparent);
    background:
      linear-gradient(180deg, color-mix(in srgb, var(--v5-proof) 5%, transparent), transparent 45%),
      color-mix(in srgb, var(--v5-surface-2) 74%, transparent);
    color: var(--v5-text);
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--v5-proof) 8%, transparent), 0 8px 18px color-mix(in srgb, #000 18%, transparent);
    transition: transform var(--v5-fast), border-color var(--v5-fast), background var(--v5-fast), box-shadow var(--v5-fast), opacity var(--v5-fast);
  }

  .bhk-v5-mobilePlayer__button:active,
  .bhk-v5-mobilePlayer__mode:active,
  .bhk-v5-mobilePlayer__bank:active,
  .bhk-v5-mobilePlayer__track:active,
  .bhk-v5-mobilePlayer__fullSite:active {
    transform: translateY(1px) scale(.99);
  }

  .bhk-v5-mobilePlayer__mode,
  .bhk-v5-mobilePlayer__bank,
  .bhk-v5-mobilePlayer__button {
    min-height: 40px;
    padding: 10px 8px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .13em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
  }

  .bhk-v5-mobilePlayer__mode.is-active,
  .bhk-v5-mobilePlayer__bank.is-active,
  .bhk-v5-mobilePlayer__button.is-active {
    border-color: color-mix(in srgb, var(--v5-signal) 82%, transparent);
    background:
      linear-gradient(180deg, color-mix(in srgb, var(--v5-proof) 8%, transparent), transparent 40%),
      color-mix(in srgb, var(--v5-signal) 16%, var(--v5-surface-2) 84%);
    color: var(--v5-proof);
    box-shadow: 0 0 20px color-mix(in srgb, var(--v5-signal) 18%, transparent), inset 0 1px 0 color-mix(in srgb, var(--v5-proof) 10%, transparent);
  }

  .bhk-v5-mobilePlayer__tracks {
    min-height: 0;
    overflow: auto;
    padding: 8px;
    border: 1px solid color-mix(in srgb, var(--v5-line) 74%, transparent);
    background: color-mix(in srgb, #000 34%, var(--v5-surface) 66%);
    display: grid;
    align-content: start;
    gap: 6px;
    box-shadow: inset 0 18px 48px color-mix(in srgb, #000 18%, transparent);
  }

  .bhk-v5-mobilePlayer__tracks--browse {
    gap: 8px;
  }

  .bhk-v5-mobilePlayer__slotGrid {
    display: grid;
    gap: 5px;
    animation: bhkV5MobileSlots .28s ease both;
  }

  .bhk-v5-mobilePlayer.is-switching .bhk-v5-mobilePlayer__slotGrid,
  .bhk-v5-mobilePlayer.is-banking .bhk-v5-mobilePlayer__slotGrid,
  .bhk-v5-mobilePlayer.is-mode .bhk-v5-mobilePlayer__slotGrid {
    animation: bhkV5MobileSlots .28s ease both;
  }

  .bhk-v5-mobilePlayer__track {
    min-height: 44px;
    padding: 0;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) 44px;
    align-items: stretch;
    text-align: left;
    overflow: hidden;
  }

  .bhk-v5-mobilePlayer__trackNo,
  .bhk-v5-mobilePlayer__trackPlay {
    display: grid;
    place-items: center;
    border-right: 1px solid color-mix(in srgb, var(--v5-line) 55%, transparent);
    color: var(--v5-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
  }

  .bhk-v5-mobilePlayer__trackPlay {
    border-right: 0;
    border-left: 1px solid color-mix(in srgb, var(--v5-line) 55%, transparent);
    font-size: 9px;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  .bhk-v5-mobilePlayer__trackCopy {
    min-width: 0;
    padding: 8px 9px;
  }

  .bhk-v5-mobilePlayer__trackTitle {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.02em;
  }

  .bhk-v5-mobilePlayer__trackArtist {
    display: block;
    margin-top: 4px;
    color: var(--v5-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
    line-height: 1;
  }

  .bhk-v5-mobilePlayer__track.is-active {
    border-color: color-mix(in srgb, var(--v5-signal) 82%, transparent);
    background:
      linear-gradient(90deg, color-mix(in srgb, var(--v5-signal) 23%, var(--v5-surface) 77%), color-mix(in srgb, var(--v5-accent) 13%, var(--v5-surface-2) 87%));
    box-shadow: 0 0 24px color-mix(in srgb, var(--v5-signal) 18%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--v5-proof) 8%, transparent);
  }

  .bhk-v5-mobilePlayer__track.is-active .bhk-v5-mobilePlayer__trackNo,
  .bhk-v5-mobilePlayer__track.is-active .bhk-v5-mobilePlayer__trackPlay {
    color: var(--v5-proof);
  }

  .bhk-v5-mobilePlayer__track.is-empty {
    opacity: .42;
    cursor: default;
  }

  .bhk-v5-mobilePlayer__track.is-empty .bhk-v5-mobilePlayer__trackTitle::before {
    content: "";
    display: block;
    width: 42%;
    height: 1px;
    margin-top: 6px;
    background: color-mix(in srgb, var(--v5-muted) 42%, transparent);
  }

  .bhk-v5-mobilePlayer__browse {
    display: grid;
    gap: 8px;
  }

  .bhk-v5-mobilePlayer__browseCard {
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--v5-line) 76%, transparent);
    background: color-mix(in srgb, var(--v5-surface-2) 70%, transparent);
    color: var(--v5-text);
    text-align: left;
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--v5-proof) 8%, transparent);
  }


  .bhk-v5-mobilePlayer__browseCard.is-active {
    border-color: color-mix(in srgb, var(--v5-signal) 72%, transparent);
    background: color-mix(in srgb, var(--v5-signal) 13%, var(--v5-surface-2) 87%);
    box-shadow: 0 0 20px color-mix(in srgb, var(--v5-signal) 16%, transparent), inset 0 1px 0 color-mix(in srgb, var(--v5-proof) 10%, transparent);
  }

  .bhk-v5-mobilePlayer__browseCard strong {
    font-size: 14px;
    line-height: 1.05;
    text-transform: uppercase;
  }

  .bhk-v5-mobilePlayer__browseCard span {
    color: var(--v5-muted);
    font-size: 11px;
    line-height: 1.2;
  }

  /* V5.0.133 — Mobile Browse HOME opens a local mobile jacket stage, no sleeve. */
  .bhk-v5-mobilePlayer__tracks--browse.is-stage-open {
    width: 100vw;
    min-height: 1475px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0;
    overflow: visible;
    border-left: 0;
    border-right: 0;
    background:
      radial-gradient(circle at 50% 0, color-mix(in srgb, var(--v5-signal) 18%, transparent), transparent 310px),
      linear-gradient(180deg, color-mix(in srgb, var(--v5-surface) 92%, #000 8%), var(--v5-page));
    box-shadow: none;
  }

  .bhk-v5-mobilePlayer__mobileJacketStage {
    position: relative;
    width: 100vw;
    min-height: 1475px;
    padding: 54px 14px 24px;
    overflow: visible;
    animation: bhkV5MobileIn .32s ease both;
  }

  .bhk-v5-mobilePlayer__mobileJacketExit {
    position: absolute;
    z-index: 5;
    top: 12px;
    right: 14px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--v5-line-strong) 58%, transparent);
    background: color-mix(in srgb, var(--v5-page) 82%, transparent);
    color: var(--v5-proof);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    box-shadow: 0 12px 28px color-mix(in srgb, #000 38%, transparent), inset 0 1px 0 color-mix(in srgb, var(--v5-proof) 10%, transparent);
  }

  .bhk-v5-mobilePlayer__mobileJacket {
    width: 100%;
    min-height: 1360px;
    display: grid;
    align-content: start;
    gap: 14px;
    border: 1px solid color-mix(in srgb, var(--v5-line-strong) 52%, transparent);
    background:
      linear-gradient(180deg, color-mix(in srgb, var(--v5-proof) 7%, transparent), transparent 18%),
      linear-gradient(145deg, color-mix(in srgb, var(--v5-surface-3) 80%, #000 20%), color-mix(in srgb, var(--v5-surface) 94%, #000 6%));
    box-shadow: 0 20px 60px color-mix(in srgb, var(--v5-shadow) 82%, transparent), inset 0 1px 0 color-mix(in srgb, var(--v5-proof) 10%, transparent);
  }

  .bhk-v5-mobilePlayer__mobileJacketMedia {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-bottom: 1px solid color-mix(in srgb, var(--v5-line) 72%, transparent);
    background:
      radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--v5-accent) 24%, transparent), transparent 48%),
      linear-gradient(145deg, color-mix(in srgb, var(--v5-surface-3) 82%, #000 18%), #050208);
    overflow: hidden;
  }

  .bhk-v5-mobilePlayer__mobileJacketMedia.has-image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }

  .bhk-v5-mobilePlayer__mobileJacketMedia::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(145deg, color-mix(in srgb, #fff 12%, transparent), transparent 24%, transparent 68%, color-mix(in srgb, #000 42%, transparent)),
      repeating-linear-gradient(0deg, color-mix(in srgb, #fff 3%, transparent) 0 1px, transparent 1px 6px);
    opacity: .36;
    mix-blend-mode: screen;
    pointer-events: none;
  }

  .bhk-v5-mobilePlayer__mobileJacketMedia span {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: color-mix(in srgb, var(--v5-proof) 80%, transparent);
    font-size: 48px;
    font-weight: 950;
    letter-spacing: -.08em;
  }

  .bhk-v5-mobilePlayer__mobileJacketCopy {
    display: grid;
    gap: 13px;
    padding: 18px 16px 28px;
  }

  .bhk-v5-mobilePlayer__mobileJacketKicker {
    color: var(--v5-signal);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .18em;
    line-height: 1;
    text-transform: uppercase;
  }

  .bhk-v5-mobilePlayer__mobileJacketTitle {
    display: block;
    color: var(--v5-proof);
    font-size: clamp(42px, 15vw, 74px);
    line-height: .82;
    letter-spacing: -.075em;
    text-transform: uppercase;
  }

  .bhk-v5-mobilePlayer__mobileJacketSubtitle {
    margin: 0;
    color: var(--v5-text);
    font-size: 18px;
    font-weight: 850;
    line-height: 1.08;
    letter-spacing: -.035em;
  }

  .bhk-v5-mobilePlayer__mobileJacketText,
  .bhk-v5-mobilePlayer__mobileJacketNote {
    margin: 0;
    color: color-mix(in srgb, var(--v5-muted) 92%, transparent);
    font-size: 14px;
    line-height: 1.48;
  }

  .bhk-v5-mobilePlayer__mobileJacketProof {
    display: grid;
    gap: 7px;
    margin-top: 8px;
  }

  .bhk-v5-mobilePlayer__mobileJacketProof span {
    display: block;
    padding: 10px;
    border: 1px solid color-mix(in srgb, var(--v5-line) 70%, transparent);
    background: color-mix(in srgb, var(--v5-proof) 5%, transparent);
    color: var(--v5-proof);
    font-size: 10px;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .bhk-v5-mobilePlayer__mobileJacketNote {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid color-mix(in srgb, var(--v5-line) 64%, transparent);
    color: color-mix(in srgb, var(--v5-signal) 68%, var(--v5-text) 32%);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .bhk-v5-mobilePlayer__fallback {
    display: grid;
    min-height: 100svh;
    place-items: center;
    padding: 24px;
    text-align: center;
  }

  @keyframes bhkV5MobileIn {
    from { opacity: .54; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes bhkV5MobileSlots {
    from { opacity: .46; transform: translateX(10px); filter: blur(2px); }
    to { opacity: 1; transform: translateX(0); filter: blur(0); }
  }

  @keyframes bhkV5MobileDrawer {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes bhkV5MobilePulse {
    0% { opacity: .45; box-shadow: 0 0 0 color-mix(in srgb, var(--v5-signal) 0%, transparent); }
    50% { opacity: 1; box-shadow: 0 0 22px color-mix(in srgb, var(--v5-signal) 84%, transparent); }
    100% { opacity: .9; box-shadow: 0 0 16px color-mix(in srgb, var(--v5-signal) 64%, transparent); }
  }


  @keyframes bhkV5MobileRuntimeSync {
    0% { border-color: color-mix(in srgb, var(--v5-accent) 30%, transparent); }
    50% { border-color: color-mix(in srgb, var(--v5-signal) 72%, transparent); }
    100% { border-color: color-mix(in srgb, var(--v5-signal) 44%, transparent); }
  }
}

@media (max-width: 360px) {
  .bhk-v5-mobilePlayer {
    padding-left: 10px;
    padding-right: 10px;
  }

  .bhk-v5-mobilePlayer__transport {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

  /* V5.0.178 — Mobile Browse BIO opens a local jacket + sleeve stage. Desktop public shell remains untouched. */
  .bhk-v5-mobilePlayer__mobileJacketStage--bio {
    min-height: 1475px;
    display: grid;
    align-content: start;
    gap: 14px;
    padding-bottom: 42px;
  }

  .bhk-v5-mobilePlayer__mobileJacketStage--bio .bhk-v5-mobilePlayer__mobileJacketExit {
    position: sticky;
    top: 12px;
    justify-self: end;
    margin-bottom: 2px;
  }

  .bhk-v5-mobilePlayer__mobileJacket--bio {
    min-height: 0;
  }

  .bhk-v5-mobilePlayer__mobileJacket--bio .bhk-v5-mobilePlayer__mobileJacketMedia {
    min-height: 335px;
    border-bottom-color: color-mix(in srgb, var(--v5-signal) 42%, var(--v5-line) 58%);
  }

  .bhk-v5-mobilePlayer__mobileJacket--bio .bhk-v5-mobilePlayer__mobileJacketTitle {
    font-size: clamp(36px, 12.5vw, 62px);
    line-height: .86;
  }

  .bhk-v5-mobilePlayer__mobileSleeve {
    width: 100%;
    display: grid;
    gap: 14px;
    padding: 18px 14px 22px;
    border: 1px solid color-mix(in srgb, var(--v5-line-strong) 42%, transparent);
    background:
      linear-gradient(180deg, color-mix(in srgb, var(--v5-proof) 5%, transparent), transparent 22%),
      linear-gradient(145deg, color-mix(in srgb, var(--v5-surface-2) 92%, #000 8%), color-mix(in srgb, var(--v5-surface) 95%, #000 5%));
    color: var(--v5-text);
    box-shadow: 0 18px 48px color-mix(in srgb, var(--v5-shadow) 72%, transparent), inset 0 1px 0 color-mix(in srgb, var(--v5-proof) 8%, transparent);
  }

  .bhk-v5-mobilePlayer__mobileSleeveHead {
    display: grid;
    gap: 8px;
    padding-bottom: 12px;
    border-bottom: 1px solid color-mix(in srgb, var(--v5-line) 68%, transparent);
  }

  .bhk-v5-mobilePlayer__mobileSleeveHead strong {
    display: block;
    color: var(--v5-proof);
    font-size: clamp(26px, 9vw, 42px);
    line-height: .9;
    letter-spacing: -.055em;
    text-transform: uppercase;
  }

  .bhk-v5-mobilePlayer__mobileSleeveHead p,
  .bhk-v5-mobilePlayer__mobileSleeveBlock p,
  .bhk-v5-mobilePlayer__mobileSleeveEmpty {
    margin: 0;
    color: color-mix(in srgb, var(--v5-muted) 92%, transparent);
    font-size: 13px;
    line-height: 1.45;
  }

  .bhk-v5-mobilePlayer__mobileSleeveChips {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .bhk-v5-mobilePlayer__mobileSleeveChips span,
  .bhk-v5-mobilePlayer__mobileSleeveBlock {
    border: 1px solid color-mix(in srgb, var(--v5-line) 68%, transparent);
    background: color-mix(in srgb, var(--v5-proof) 4%, transparent);
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--v5-proof) 7%, transparent);
  }

  .bhk-v5-mobilePlayer__mobileSleeveChips span {
    display: block;
    padding: 10px;
    color: var(--v5-proof);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    line-height: 1.18;
    text-transform: uppercase;
  }

  .bhk-v5-mobilePlayer__mobileSleeveBlocks {
    display: grid;
    gap: 10px;
  }

  .bhk-v5-mobilePlayer__mobileSleeveBlock {
    display: grid;
    gap: 7px;
    padding: 12px;
  }

  .bhk-v5-mobilePlayer__mobileSleeveBlock strong {
    display: block;
    color: var(--v5-proof);
    font-size: 14px;
    font-weight: 950;
    line-height: 1;
    letter-spacing: -.015em;
    text-transform: uppercase;
  }


/* V5.0.272 — S1-S16 swipe handling moved off the track list and into the Spotify artwork swipe band. */

/* V5.0.277 — Mobile Listen mast current-selection readout. */
.bhk-v5-mobilePlayer__mastMain {
  min-width: 0;
}

.bhk-v5-mobilePlayer__selectionReadout {
  align-self: start;
  display: grid;
  gap: 5px;
  justify-items: end;
  min-width: 88px;
  padding-top: 2px;
  text-align: right;
}

.bhk-v5-mobilePlayer__selectionReadoutLabel,
.bhk-v5-mobilePlayer__selectionReadoutValue {
  display: block;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.bhk-v5-mobilePlayer__selectionReadoutLabel {
  color: color-mix(in srgb, var(--v5-muted) 82%, transparent);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .18em;
}

.bhk-v5-mobilePlayer__selectionReadoutValue {
  color: var(--v5-proof);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-shadow: 0 0 14px color-mix(in srgb, var(--v5-mobile-pocket-dock-led, var(--v5-signal)) 24%, transparent);
}

.bhk-v5-mobilePlayer__bank.is-disabled,
.bhk-v5-mobilePlayer__bank:disabled {
  opacity: .34;
  cursor: not-allowed;
}

@media (max-width: 360px) {
  .bhk-v5-mobilePlayer__selectionReadout {
    min-width: 76px;
  }

  .bhk-v5-mobilePlayer__selectionReadoutLabel {
    font-size: 7px;
    letter-spacing: .14em;
  }

  .bhk-v5-mobilePlayer__selectionReadoutValue {
    font-size: 11px;
  }
}

/* V5.0.279 — Mobile Browse selected-stage mast collapse / section title authority. */
@media (max-width: 782px) {
  .bhk-v5-mobilePlayer--browse.is-browse-stage-open .bhk-v5-mobilePlayer__mast,
  .bhk-v5-mobilePlayer--browse .bhk-v5-mobilePlayer__mast.is-browse-stage-open {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    align-items: center;
    padding: 8px 10px;
    border-color: color-mix(in srgb, var(--v5-line) 54%, transparent);
    background:
      linear-gradient(180deg, color-mix(in srgb, var(--v5-proof) 4%, transparent), transparent 54%),
      color-mix(in srgb, var(--v5-surface) 90%, #000 10%);
    box-shadow: 0 10px 28px color-mix(in srgb, var(--v5-shadow) 62%, transparent), inset 0 1px 0 color-mix(in srgb, var(--v5-proof) 7%, transparent);
  }

  .bhk-v5-mobilePlayer--browse.is-browse-stage-open .bhk-v5-mobilePlayer__mastMain {
    display: grid;
    gap: 3px;
    min-width: 0;
  }

  .bhk-v5-mobilePlayer--browse.is-browse-stage-open .bhk-v5-mobilePlayer__brand {
    max-width: 260px;
    font-size: clamp(17px, 5.4vw, 25px);
    line-height: .86;
    letter-spacing: -.045em;
    opacity: .88;
  }

  .bhk-v5-mobilePlayer--browse.is-browse-stage-open .bhk-v5-mobilePlayer__subline {
    max-width: 260px;
    margin-top: 0;
    font-size: 8px;
    letter-spacing: .14em;
    opacity: .56;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}


/* V5.0.438 — Mobile-only BNK1-BNK4 compact control strip lock.
   Scope: mobile React island controller only. Desktop, rail, sleeves, JSON, Spotify, YouTube, and APIs are untouched.
   BHK-V5-MOBILE-BNK-54X12-438 */
@media (max-width: 782px) {
  .bhk-v5-mobilePlayer > .bhk-v5-mobilePlayer__bankBar,
  .bhk-v5-mobilePlayer .bhk-v5-mobilePlayer__bankBar:not(.bhk-v5-mobilePlayer__bottomNav .bhk-v5-mobilePlayer__bankBar) {
    display: grid !important;
    grid-template-columns: repeat(4, 54px) !important;
    grid-auto-rows: 12px !important;
    justify-content: center !important;
    align-content: start !important;
    align-items: start !important;
    justify-items: stretch !important;
    gap: 6px !important;
    width: 100% !important;
    min-height: 12px !important;
    height: 12px !important;
    max-height: 12px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .bhk-v5-mobilePlayer > .bhk-v5-mobilePlayer__bankBar > .bhk-v5-mobilePlayer__bank,
  .bhk-v5-mobilePlayer .bhk-v5-mobilePlayer__bankBar:not(.bhk-v5-mobilePlayer__bottomNav .bhk-v5-mobilePlayer__bankBar) > .bhk-v5-mobilePlayer__bank {
    display: grid !important;
    place-items: center !important;
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 12px !important;
    min-height: 12px !important;
    max-height: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    line-height: 12px !important;
    font-size: 7px !important;
    font-weight: 950 !important;
    letter-spacing: .055em !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
    border-width: 1px !important;
    transform: none !important;
    border-color: color-mix(in srgb, var(--v5-line) 68%, transparent) !important;
    background:
      linear-gradient(180deg, color-mix(in srgb, var(--v5-proof) 9%, transparent), transparent 62%),
      color-mix(in srgb, var(--v5-surface-2) 82%, #000 18%) !important;
    color: color-mix(in srgb, var(--v5-text) 78%, transparent) !important;
    box-shadow:
      inset 0 1px 0 color-mix(in srgb, var(--v5-proof) 10%, transparent),
      0 2px 8px color-mix(in srgb, #000 18%, transparent) !important;
  }

  .bhk-v5-mobilePlayer > .bhk-v5-mobilePlayer__bankBar > .bhk-v5-mobilePlayer__bank.is-active,
  .bhk-v5-mobilePlayer .bhk-v5-mobilePlayer__bankBar:not(.bhk-v5-mobilePlayer__bottomNav .bhk-v5-mobilePlayer__bankBar) > .bhk-v5-mobilePlayer__bank.is-active {
    border-color: color-mix(in srgb, var(--v5-signal) 84%, transparent) !important;
    background:
      linear-gradient(180deg, color-mix(in srgb, var(--v5-proof) 14%, transparent), transparent 58%),
      color-mix(in srgb, var(--v5-signal) 19%, var(--v5-surface-2) 81%) !important;
    color: var(--v5-proof) !important;
    box-shadow:
      0 0 10px color-mix(in srgb, var(--v5-signal) 20%, transparent),
      inset 0 1px 0 color-mix(in srgb, var(--v5-proof) 14%, transparent) !important;
    text-shadow: 0 0 7px color-mix(in srgb, var(--v5-signal) 24%, transparent) !important;
  }

  .bhk-v5-mobilePlayer > .bhk-v5-mobilePlayer__bankBar > .bhk-v5-mobilePlayer__bank.is-disabled,
  .bhk-v5-mobilePlayer > .bhk-v5-mobilePlayer__bankBar > .bhk-v5-mobilePlayer__bank:disabled,
  .bhk-v5-mobilePlayer .bhk-v5-mobilePlayer__bankBar:not(.bhk-v5-mobilePlayer__bottomNav .bhk-v5-mobilePlayer__bankBar) > .bhk-v5-mobilePlayer__bank.is-disabled,
  .bhk-v5-mobilePlayer .bhk-v5-mobilePlayer__bankBar:not(.bhk-v5-mobilePlayer__bottomNav .bhk-v5-mobilePlayer__bankBar) > .bhk-v5-mobilePlayer__bank:disabled {
    opacity: .36 !important;
    cursor: not-allowed !important;
  }

  .bhk-v5-mobilePlayer > .bhk-v5-mobilePlayer__bankBar > .bhk-v5-mobilePlayer__bank:active,
  .bhk-v5-mobilePlayer .bhk-v5-mobilePlayer__bankBar:not(.bhk-v5-mobilePlayer__bottomNav .bhk-v5-mobilePlayer__bankBar) > .bhk-v5-mobilePlayer__bank:active {
    transform: none !important;
  }
}


/* V5.0.439 — Mobile Listen BNK-to-track stack gap closure.
   Scope: mobile React island listen layout only. BNK1-BNK4 54x12 lock from V5.0.438 remains active. */
@media (max-width: 782px) {
  .bhk-v5-mobilePlayer.bhk-v5-mobilePlayer--listen > .bhk-v5-mobilePlayer__bankBar {
    margin-bottom: -8px !important;
  }

  .bhk-v5-mobilePlayer.bhk-v5-mobilePlayer--listen > .bhk-v5-mobilePlayer__tracks {
    margin-top: -8px !important;
  }

  .bhk-v5-mobilePlayer.bhk-v5-mobilePlayer--listen > .bhk-v5-mobilePlayer__bankBar + .bhk-v5-mobilePlayer__tracks {
    align-self: stretch !important;
  }
}
/* BHK-V5-MOBILE-LISTEN-TRACK-GAP-CLOSE-439 */


/* V5.0.466 — root-cause-safe mobile Browse stage height reclaim. No React state dependency. */
@media (max-width: 782px) {
  .bhk-v5-mobilePlayer__tracks--browse.is-stage-open {
    min-height: 0 !important;
    padding-bottom: calc(168px + env(safe-area-inset-bottom)) !important;
  }
}


/* V5.0.466 — visible mobile render fallback if React throws inside the mobile island. */
.bhk-v5-mobilePlayer--safeFallback {
  padding: 16px;
  color: var(--v5-text);
  background: var(--v5-page);
}
.bhk-v5-mobilePlayer__safeFallbackPanel {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--v5-signal) 48%, var(--v5-line) 52%);
  background: color-mix(in srgb, var(--v5-surface-2) 84%, #000 16%);
}
.bhk-v5-mobilePlayer__safeFallbackPanel strong { color: var(--v5-proof); text-transform: uppercase; }
.bhk-v5-mobilePlayer__safeFallbackPanel p { margin: 0; color: var(--v5-muted); }

/* V5.0.467 — Mobile reconciliation lock: reassert 438/439 after 464/466 drift.
   BNK1-BNK4 compact geometry and Listen track proximity are final mobile authority. */
@media (max-width: 782px) {
  .bhk-v5-mobilePlayer > .bhk-v5-mobilePlayer__bankBar,
  .bhk-v5-mobilePlayer .bhk-v5-mobilePlayer__bankBar:not(.bhk-v5-mobilePlayer__bottomNav .bhk-v5-mobilePlayer__bankBar) {
    grid-template-columns: repeat(4, 54px) !important;
    grid-auto-rows: 12px !important;
    height: 12px !important;
    min-height: 12px !important;
    max-height: 12px !important;
    gap: 6px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .bhk-v5-mobilePlayer > .bhk-v5-mobilePlayer__bankBar > .bhk-v5-mobilePlayer__bank,
  .bhk-v5-mobilePlayer .bhk-v5-mobilePlayer__bankBar:not(.bhk-v5-mobilePlayer__bottomNav .bhk-v5-mobilePlayer__bankBar) > .bhk-v5-mobilePlayer__bank {
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 12px !important;
    min-height: 12px !important;
    max-height: 12px !important;
    line-height: 12px !important;
    padding: 0 !important;
    font-size: 7px !important;
  }

  .bhk-v5-mobilePlayer.bhk-v5-mobilePlayer--listen > .bhk-v5-mobilePlayer__bankBar {
    margin-bottom: -8px !important;
  }

  .bhk-v5-mobilePlayer.bhk-v5-mobilePlayer--listen > .bhk-v5-mobilePlayer__tracks,
  .bhk-v5-mobilePlayer.bhk-v5-mobilePlayer--listen > .bhk-v5-mobilePlayer__bankBar + .bhk-v5-mobilePlayer__tracks {
    margin-top: -8px !important;
    padding-top: 0 !important;
  }

  .bhk-v5-mobilePlayer__mobileJacketStage--news .bhk-v5-mobilePlayer__mobileJacketProof,
  .bhk-v5-mobilePlayer__mobileJacketStage--socials .bhk-v5-mobilePlayer__mobileJacketProof {
    display: none !important;
  }

  .bhk-v5-mobilePlayer__tracks--browse.is-stage-open,
  .bhk-v5-mobilePlayer--browse.is-browse-stage-open .bhk-v5-mobilePlayer__browseStageDock,
  .bhk-v5-mobilePlayer--browse.is-browse-stage-open .bhk-v5-mobilePlayer__browseStageDock .bhk-v5-mobilePlayer__mobileJacketStage,
  .bhk-v5-mobilePlayer__mobileJacketStage {
    min-height: 0 !important;
  }

  .bhk-v5-mobilePlayer--browse.is-browse-stage-open .bhk-v5-mobilePlayer__browseStageDock {
    padding-bottom: calc(168px + env(safe-area-inset-bottom)) !important;
  }
}
/* BHK-V5-MOBILE-438-439-REASSERT-467 */

/* V5.0.468 — Mobile global end-gap reclaim + BNK/track hard adjacency.
   Keeps fixed dock clearance, but removes runaway content-stage reserve from all mobile sections. */
@media (max-width: 782px) {
  .bhk-v5-mobilePlayer.bhk-v5-mobilePlayer--listen > .bhk-v5-mobilePlayer__bankBar {
    margin-bottom: -34px !important;
  }

  .bhk-v5-mobilePlayer.bhk-v5-mobilePlayer--listen > .bhk-v5-mobilePlayer__tracks,
  .bhk-v5-mobilePlayer.bhk-v5-mobilePlayer--listen > .bhk-v5-mobilePlayer__bankBar + .bhk-v5-mobilePlayer__tracks {
    margin-top: -34px !important;
    padding-top: 0 !important;
  }

  .bhk-v5-mobilePlayer__tracks,
  .bhk-v5-mobilePlayer__tracks--browse,
  .bhk-v5-mobilePlayer__tracks--browse.is-stage-open,
  .bhk-v5-mobilePlayer__browseStageDock,
  .bhk-v5-mobilePlayer__mobileJacketStage,
  .bhk-v5-mobilePlayer__mobileJacket,
  .bhk-v5-mobilePlayer__mobileJacketMedia {
    min-height: 0 !important;
  }

  .bhk-v5-mobilePlayer__tracks--browse.is-stage-open,
  .bhk-v5-mobilePlayer--browse.is-browse-stage-open .bhk-v5-mobilePlayer__browseStageDock {
    padding-bottom: calc(118px + env(safe-area-inset-bottom)) !important;
  }

  .bhk-v5-mobilePlayer--browse.is-browse-stage-open .bhk-v5-mobilePlayer__browseStageDock .bhk-v5-mobilePlayer__mobileJacketStage,
  .bhk-v5-mobilePlayer__mobileJacketStage {
    padding-bottom: 8px !important;
    margin-bottom: 0 !important;
  }
}
/* BHK-V5-MOBILE-END-GAP-BNK-RECLAIM-468 */


/* V5.0.470 — Mobile true end-gap correction + Listen BNK-to-S1 adjacency.
   This fixes the original issue: remove artificial section/footer runway and stop the LISTEN track row from living in a stretched filler cell. */
@media (max-width: 782px) {
  .bhk-v5-mobilePlayer {
    min-height: auto !important;
    grid-template-rows: auto auto auto auto auto auto auto !important;
    align-content: start !important;
    gap: 8px !important;
    padding-bottom: calc(132px + env(safe-area-inset-bottom)) !important;
  }

  .bhk-v5-mobilePlayer--browse {
    grid-template-rows: auto auto auto auto !important;
    align-content: start !important;
  }

  .bhk-v5-mobilePlayer.bhk-v5-mobilePlayer--listen > .bhk-v5-mobilePlayer__bankBar {
    margin-top: 0 !important;
    margin-bottom: 4px !important;
  }

  .bhk-v5-mobilePlayer.bhk-v5-mobilePlayer--listen > .bhk-v5-mobilePlayer__tracks,
  .bhk-v5-mobilePlayer.bhk-v5-mobilePlayer--listen > .bhk-v5-mobilePlayer__bankBar + .bhk-v5-mobilePlayer__tracks {
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-top: 0 !important;
    padding-top: 6px !important;
    overflow: visible !important;
  }

  .bhk-v5-mobilePlayer.bhk-v5-mobilePlayer--listen .bhk-v5-mobilePlayer__slotGrid {
    align-self: start !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .bhk-v5-mobilePlayer__tracks--browse,
  .bhk-v5-mobilePlayer__tracks--browse.is-stage-open {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: 12px !important;
  }

  .bhk-v5-mobilePlayer--browse.is-browse-stage-open .bhk-v5-mobilePlayer__browseStageDock,
  .bhk-v5-mobilePlayer__browseStageDock {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 12px !important;
    overflow: visible !important;
  }

  .bhk-v5-mobilePlayer__mobileJacketStage,
  .bhk-v5-mobilePlayer--browse.is-browse-stage-open .bhk-v5-mobilePlayer__browseStageDock .bhk-v5-mobilePlayer__mobileJacketStage {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 12px !important;
  }

  .bhk-v5-mobilePlayer__mobileJacket,
  .bhk-v5-mobilePlayer__mobileSleeve,
  .bhk-v5-mobilePlayer--browse.is-browse-stage-open .bhk-v5-mobilePlayer__browseStageDock .bhk-v5-mobilePlayer__mobileJacket,
  .bhk-v5-mobilePlayer--browse.is-browse-stage-open .bhk-v5-mobilePlayer__browseStageDock .bhk-v5-mobilePlayer__mobileSleeve {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-bottom: 0 !important;
  }
}
/* BHK-V5-MOBILE-TRUE-END-GAP-BNK-S1-470 */
