/* DREAMWAVE FM — Minimalist-only production UI
   This file intentionally wins the cascade over legacy desktop/mobile shells. */
:root {
  --dw-green: #1ed760;
  --dw-pink: #ff71ce;
  --dw-cyan: #9be7ff;
  --dw-glass: rgba(10, 10, 16, 0.92);
  --dw-glass-strong: rgba(8, 8, 12, 0.95);
  --dw-text: #ffffff;
  --dw-muted: rgba(255,255,255,.62);
}

html, body {
  width: 100%;
  min-height: 100%;
  margin: 0 !important;
  overflow: hidden !important;
  background: #050506 !important;
  font-family: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

body { color: var(--dw-text); }
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,113,206,.06), transparent 58%),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.14) 30%, rgba(0,0,0,.18) 55%, rgba(0,0,0,.22));
}

/* Phone: comprehensive UX audit fixes (max-width: 520px) */
@media (max-width: 520px) {
  /* FIX 1: Bottom nav — solid bg, blur, z-index, border-top */
  body.dream-app-open .dream-bottom-tabs {
    z-index: 1000 !important;
    background: rgba(8,10,18,0.96) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
    left: 0 !important;
    right: 0 !important;
    position: fixed !important;
    bottom: calc(env(safe-area-inset-bottom)) !important;
    overflow: hidden !important;
  }

  /* FIX 2: Route content clears fixed bottom chrome without leaving a giant dock gap. */
  body.dream-app-open {
    --dream-mobile-tabs-clearance: calc(72px + env(safe-area-inset-bottom));
    --dream-mobile-mini-clearance: 34px;
  }

  /* DW-WAVE71-PHONE-MOOD-PILLS: make mood chips narrower so 6 pills fit in ~384px
     without clipping the "Party" pill at the right edge. Reduce padding and font.
     Party pill right edge was 384.47px on 384px viewport — clips ~0.47px. */
  body.dream-app-open .dream-mood-filter-row {
    gap: 4px !important;
    padding: 12px 14px 8px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }
  body.dream-app-open .dream-mood-chip {
    padding: 4px 6px !important;
    padding-inline: 6px !important;
    font-size: 10.5px !important;
    min-width: 0 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }

  /* DW-WAVE71-PHONE-TRENDING-CARDS: constrain trending card widths for ~384px phone
     viewport so rightmost card is fully visible instead of clipped.
     Note: must match or exceed the !important strength of DW-WAVE63 (line 25184)
     which otherwise overrides this with 190px → clips on 384px viewport. */
  @media (max-width: 520px) {
    body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-row,
    body.dream-app-open[data-dream-route="discover"] .dream-new-drops-scroll .dream-collection-row {
      flex: 0 0 min(160px, calc((100vw - 40px) / 2)) !important;
      flex-basis: min(160px, calc((100vw - 40px) / 2)) !important;
      width: min(160px, calc((100vw - 40px) / 2)) !important;
      min-width: min(160px, calc((100vw - 40px) / 2)) !important;
      max-width: min(160px, calc((100vw - 40px) / 2)) !important;
      padding: 8px 10px !important;
      box-sizing: border-box !important;
    }
  }

  /* Cookie banner clearance */
  /* DW-WAVE66-COOKIE-BANNER-MOBILE-CLEARANCE: dock fresh-session consent below
     content instead of floating 180px up over route cards/chips. Keep it below
     bottom tabs/mini-player chrome so the app navigation remains tappable. */
  body.dream-app-open #cookieConsentBanner {
    z-index: 998 !important;
    bottom: calc(155px + env(safe-area-inset-bottom)) !important; /* above mini-player (52px) + own height (~103px) */
  }
  body.dream-app-open.dream-has-mini-player {
    --dream-mobile-mini-clearance: 56px;
  }
  body.dream-app-open .dream-app-main,
  body.dream-app-open #dreamAppMain {
    box-sizing: border-box !important;
    margin-bottom: 0 !important;
  }
  body.dream-app-open.dream-has-mini-player .dream-app-main,
  body.dream-app-open.dream-has-mini-player #dreamAppMain {
    flex: 0 1 auto !important;
    height: calc(100dvh - max(18px, env(safe-area-inset-top))) !important;
    max-height: calc(100dvh - max(18px, env(safe-area-inset-top))) !important;
  }
  body.mode-minimal.dream-app-open #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="discover"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content,
  body.dream-app-open #minimal-ui.dream-app-open .dream-app-content {
    padding: 12px 14px calc(var(--dream-mobile-tabs-clearance) + var(--dream-mobile-mini-clearance)) !important;
    overflow-y: visible !important;
  }
  body.dream-app-open .dream-app-content {
    padding-bottom: calc(var(--dream-mobile-tabs-clearance) + var(--dream-mobile-mini-clearance)) !important;
    overflow-y: visible !important;
  }

  /* DW-VIS-SETTINGS-APP-INSTALL FIX: APP INSTALL card bottom cut off on Settings route.
     Root cause: previous CSS fix required body.dream-has-mini-player which the live app
     never sets on Settings route (body.getAttribute data-dream-route=settings but
     body.classList does NOT contain dream-has-mini-player).
     Fix: remove dream-has-mini-player requirement for the settings route padding.
     Both account and settings need bottom breathing room for stacked chrome. */
  body.dream-app-open.dream-has-mini-player[data-dream-route="account"] .dream-app-main #minimal-ui .dream-app-content,
  body.dream-app-open.dream-has-mini-player[data-dream-route="account"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="settings"] .dream-app-main #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="settings"] #minimal-ui .dream-app-content {
    padding-bottom: max(148px, calc(52px + 72px + env(safe-area-inset-bottom) + 24px)) !important;
  }

  /* DW-042: Further reduce creator section top margin to lift cards above mini-player.
     v330: Further reduced margin-top from 6px → 2px to lift cards higher after hero compaction. */
  .dream-section.dream-discover-creators,
  .dream-section.dream-discover-social-secondary {
    margin-top: 2px !important;
  }

  /* PRIORITY 3: Content grids — 4-col to 2-col on phone */
  .dream-shelf-grid,
  .dream-collection-grid,
  .dream-creator-grid,
  .dream-playlist-grid,
  .library-grid,
  [class*="shelf-grid"],
  [class*="collection-grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .dream-shelf-grid > *,
  .dream-collection-grid > *,
  .dream-creator-grid > *,
  .dream-playlist-grid > *,
  .library-grid > *,
  [class*="shelf-grid"] > *,
  [class*="collection-grid"] > * {
    min-width: 0 !important;
  }
  /* Square thumbnails + text overflow on phone */
  .dream-shelf-grid .dream-cover-thumb,
  .dream-collection-grid .dream-cover-thumb,
  .library-grid .dream-cover-thumb,
  [class*="shelf-grid"] .dream-cover-thumb,
  [class*="collection-grid"] .dream-cover-thumb {
    aspect-ratio: 1 !important;
    object-fit: cover !important;
    border-radius: 8px !important;
  }
  .dream-shelf-grid .dream-cover-thumb img,
  .dream-collection-grid .dream-cover-thumb img,
  .library-grid .dream-cover-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .grid-item-label,
  .collection-item-name,
  .playlist-name,
  .shelf-item-name {
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    max-width: 100% !important;
  }
  .dream-hero,
  .dream-profile-card,
  .dream-panel,
  .dream-app-panel,
  .dream-app-sheet,
  .dream-card,
  .dream-tier-card,
  .dream-metric,
  .dream-section {
    background: rgba(10,10,18,.68) !important;
  }
  /* Secondary text minimum 0.7 opacity */
  .dream-subtitle,
  .dream-caption,
  .dream-secondary,
  .track-secondary-meta,
  .grid-item-sub,
  .collection-item-sub {
    color: rgba(255,255,255,.7) !important;
  }
  /* Genre/mood tags: bolder + slightly larger */
  .dream-tag,
  .mood-chip,
  .genre-tag,
  .dream-chip,
  [class*="tag"] {
    font-weight: 600 !important;
    font-size: 10.5px !important;
    color: rgba(255,255,255,.88) !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 24px !important;
    padding: 3px 9px !important;
  }

  /* PRIORITY 5: Header safe-area padding */
  #minimal-ui::before,
  .dream-header,
  .app-header,
  .dream-app-header {
    padding-top: max(14px, env(safe-area-inset-top)) !important;
  }

  /* PRIORITY 6: Search filter chip alignment — unified pill shape */
  .dream-search-pill-row:not(.dream-search-pill-row--scroll),
  .dream-filter-row,
  .filter-chip-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-start !important;
  }
  .dream-search-pill-row [data-search-suggest],
  .filter-chip-container .chip,
  .filter-chip-container button,
  .dream-chip {
    border-radius: 24px !important;
    flex-shrink: 0 !important;
  }
  /* Remove stair-step alignment */
  .dream-search-pill-row--start {
    justify-content: flex-start !important;
  }
  /* Override: pill rows on phone scroll horizontally, start-aligned */
  @media (max-width: 520px) {
    .dream-search-pill-row--start,
    .dream-search-pill-row--moods {
      justify-content: flex-start !important;
      width: 100% !important;
      flex-shrink: 0 !important;
      overflow-x: auto !important;
      overflow-y: hidden !important;
      box-sizing: border-box !important;
    }
  }
  /* Search idle content: prevent bottom chrome clipping while staying compact. */
  .dream-search-idle {
    padding-bottom: calc(var(--dream-mobile-tabs-clearance) + var(--dream-mobile-mini-clearance) + 12px) !important;
  }
  /* NEW-FIX: phone search idle bottom clearance — the grid extends past the
     fixed-height .dream-app-main, so give the idle container enough bottom
     padding to clear the bottom chrome when scrolled to bottom. */
  @media (max-width: 520px) {
    body.dream-app-open[data-dream-route="search"] .dream-search-idle {
      padding-bottom: max(200px, calc(var(--dream-mobile-tabs-clearance) + var(--dream-mobile-mini-clearance) + 80px)) !important;
    }
  }

  /* Discover creator rail: compact cards so the first card clears the mini-player on phone. */
  .dream-creator-card {
    flex-basis: 172px !important;
    padding: 8px !important;
    gap: 6px !important;
  }
  .dream-creator-card-avatar {
    width: 44px !important;
    height: 44px !important;
    font-size: 17px !important;
  }
  .dream-creator-card-info strong {
    font-size: 13px !important;
  }
  .dream-creator-card-info em {
    font-size: 11px !important;
  }
  .dream-creator-card-info span {
    font-size: 10px !important;
  }

  /* Discover creator rail: phone uses a compact teaser row so the first card clears the mini-player. */
  .dream-discover-creator-grid {
    gap: 8px !important;
  }
  .dream-discover-creator-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 12px !important;
  }
  .dream-discover-creator-main {
    gap: 10px !important;
    align-items: center !important;
  }
  .dream-discover-creator-avatar {
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
  }
  .dream-discover-creator-copy,
  .dream-discover-creator-topline {
    gap: 3px !important;
  }
  .dream-discover-creator-topline strong {
    font: 800 13px/1.05 'DM Sans', system-ui, sans-serif !important;
  }
  .dream-discover-creator-topline em,
  .dream-discover-creator-summary,
  .dream-discover-creator-proof,
  .dream-discover-creator-proofline {
    font: 500 10px/1.18 'Inter', system-ui, sans-serif !important;
  }
  .dream-discover-creator-summary,
  .dream-discover-creator-proofline,
  .dream-discover-creator-meta {
    display: none !important;
  }
  .dream-discover-creator-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 0 !important;
    margin-top: 0 !important;
    min-width: 88px !important;
  }
  .dream-discover-creator-actions .dream-discover-creator-cta:not(.dream-view-creator-action) {
    display: none !important;
  }
  .dream-discover-creator-cta {
    min-height: 44px !important;
    padding: 0 9px !important;
    font: 700 10px/1 'DM Sans', system-ui, sans-serif !important;
  }

  /* PRIORITY 7: Touch targets + kill 300ms tap delay */
  .dream-tab-btn,
  button,
  .track-row-play,
  .dream-btn,
  .more-btn,
  .chip,
  .dream-chip,
  .filter-chip,
  .action-btn,
  .mini-btn {
    min-width: 44px !important;
    min-height: 44px !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
    user-select: none !important;
    -webkit-user-select: none !important;
  }
  /* Tab label overflow guard — prevents track names bleeding into nav labels */
  .dream-tab-label {
    display: block !important;
  }
  .dream-tab-btn {
    overflow: visible !important;
    max-width: none !important;
    flex-shrink: 1 !important;
  }

  /* FIX 3: Account sub-nav — force single row on phone, flex nowrap */
  .dream-app-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .dream-app-tabs button {
    flex: 1 !important;
    min-width: 0 !important;
    padding: 8px 4px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }
  .dream-tab-btn {
    overflow: hidden !important;
    max-width: 80px !important;
  }

  /* Account stats boxes: centered flex */
  .dream-metrics,
  .account-stats,
  .stats-row {
    justify-content: center !important;
    gap: 10px !important;
  }
  .dream-metric,
  .stat-box {
    flex: 1 !important;
    min-width: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  /* Search header: compact on phone */
  .dream-search-header,
  .search-header,
  .dream-search-hero {
    padding: 10px 14px 8px !important;
  }
  .dream-search-hero h2,
  .search-header h2 {
    font-size: 15px !important;
    line-height: 1.2 !important;
    margin-bottom: 4px !important;
  }
  .dream-search-hero .description,
  .search-header .description {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  /* Shuffle/Repeat icons: visible on Discover player */
  #minimalShuffleBtn,
  #minimalRepeatBtn {
    display: inline-flex !important;
    opacity: 0.8 !important;
    color: rgba(255,255,255,.78) !important;
  }

  /* FIX 4: Creator Tools links must be visible — not invisible dark-on-black */
  .dream-creator-tools a,
  .dream-creator-tools button,
  .dream-account-quick-grid button,
  .creator-tools-link,
  [class*="creator-tool"],
  [data-creator-tool],
  .dream-account-creator-cta a,
  .studio-link,
  .upload-link,
  .public-profile-link,
  .creator-action-link {
    color: #ffffff !important;
    background-color: #0a0c14 !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
  }
  .dream-creator-tools a:hover,
  .dream-creator-tools button:hover {
    color: rgba(255,255,255,0.98) !important;
    background: rgba(20,24,40,0.90) !important;
  }

  /* FIX 6: MORE/overflow buttons — ensure 44px touch targets */
  [data-more],
  .more-btn,
  .overflow-btn,
  .row-more-btn {
    min-width: 44px !important;
    min-height: 44px !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  /* FIX 7: Card/panel/hero contrast — solid backgrounds on phone */
  .card,
  .panel,
  .hero,
  .track-row,
  .collection-row,
  .creator-row,
  .shelf-card,
  .discover-card {
    background: rgba(10,10,18,0.88) !important;
  }

  /* FIX 7b: Genre tags / status chips — legible on dark backgrounds (WCAG AA target: ≥4.5:1) */
  .genre-tag,
  .mood-tag,
  .status-chip,
  [class*="tag"],
  .dream-chip,
  .filter-chip {
    font-weight: 600 !important;
    font-size: 10px !important;
    color: rgba(255,255,255,0.92) !important;
    background: rgba(255,255,255,0.06) !important;
  }

  /* FIX 7c: body overlay — keep the cinematic layer visible on phone instead of flattening it into wallpaper */
  body::before {
    background:
      radial-gradient(circle at 50% 14%, rgba(255,113,206,.06), transparent 52%),
      linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.24) 32%, rgba(0,0,0,.30) 58%, rgba(0,0,0,.36)) !important;
  }

  /* FIX: Footer — horizontal padding + social icon gap */
  .dream-footer,
  .dream-app-footer,
  footer {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .dream-footer-social,
  .social-links,
  [class*="social-icon"],
  [class*="footer-social"] {
    gap: 14px !important;
  }
  .dream-footer-social a,
  .social-links a,
  [class*="social-icon"] a {
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

#app {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}

#bgVideo {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  filter: saturate(1.22) contrast(1.08) brightness(1.08) !important;
  transform: scale(1.06) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  max-width: 100vw !important;
}

#full-ui,
#mobile-topbar,
#mobile-tab-bar,
#sidebar,
#content-header,
#bgSelector,
#player-bar,
.up-next-strip,
#minimalVolumeControl {
  display: none !important;
}

body.mode-minimal #minimal-ui,
#minimal-ui {
  display: flex !important;
}

#minimal-ui {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2 !important;
  width: 100vw !important;
  height: 100dvh !important;
  box-sizing: border-box !important;
  padding: max(22px, env(safe-area-inset-top)) 18px 72px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  overflow: hidden !important;
}

/* Browsing mode: player at top, content fills rest */
body.dream-app-open #minimal-ui {
  justify-content: flex-start !important;
  gap: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: none !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
  max-width: 100vw !important;
}
body.dream-app-open #minimal-ui::-webkit-scrollbar {
  display: none !important;
}
body.dream-app-open #minimal-ui .vinyl-player {
  flex-shrink: 0 !important;
}
body.dream-app-open #minimal-ui .dream-app-content {
  flex: 1 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  min-height: 0 !important;
  padding: 12px 0 320px !important;
}

#minimal-ui::before {
  content: 'DREAMWAVE';
  position: fixed;
  top: max(18px, env(safe-area-inset-top));
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  color: rgba(255,255,255,.78);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .34em;
  text-shadow: 0 0 22px rgba(255,113,206,.42);
}

/* Mood-matched background gradient — driven by JS via --dream-mood-from / --dream-mood-to CSS vars */
body.dream-app-open #minimal-ui {
  background: transparent !important;
  transition: background 2.5s ease !important;
}

.vinyl-player {
  width: min(420px, 91vw) !important;
  max-height: calc(100dvh - 96px) !important;
  box-sizing: border-box !important;
  padding: 28px 24px 22px !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, rgba(14,14,20,.92), rgba(6,6,12,.96)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.06) !important;
  backdrop-filter: blur(24px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.2) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 20px !important;
}

/* Phone flip-card hardening: Chrome Android can keep the hidden front face in hit-testing after rotateY. */
.minimal-player-card {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  isolation: isolate !important;
  transform: translateZ(0) !important;
}
.minimal-player-card-stage {
  position: relative !important;
  min-height: 280px !important;
  overflow: hidden !important;
  transform: none !important;
  transform-style: flat !important;
  -webkit-transform-style: flat !important;
  transition: opacity .22s ease !important;
}
.minimal-player-face {
  position: absolute !important;
  inset: 0 !important;
  backface-visibility: visible !important;
  -webkit-backface-visibility: visible !important;
  overflow: hidden !important;
  pointer-events: none !important;
  transform: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  z-index: 1 !important;
}
.minimal-player-face-front {
  pointer-events: auto !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 2 !important;
}
.minimal-player-face-back {
  transform: none !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: none !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.minimal-player-face-back::-webkit-scrollbar,
.minimal-back-content::-webkit-scrollbar { display: none !important; }
.minimal-player-card.is-flipped .minimal-player-card-stage {
  transform: none !important;
}
.minimal-player-card.is-flipped .minimal-player-face-front {
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  z-index: 1 !important;
}
.minimal-player-card.is-flipped .minimal-player-face-back {
  pointer-events: auto !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 2 !important;
}
.minimal-back-content {
  position: relative !important;
  z-index: 3 !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
  padding: 8px 4px 14px !important;
}
.minimal-back-artist-card {
  padding-right: 56px !important;
}
.minimal-back-artist-link {
  display: none !important;
}
.minimal-card-flip {
  min-width: 44px !important;
  min-height: 44px !important;
  width: 48px !important;
  height: 48px !important;
  z-index: 5 !important;
}
.minimal-card-flip-back {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  left: auto !important;
  float: none !important;
  margin: 0 !important;
}

.vinyl-container { width: min(240px, 60vw) !important; height: min(240px, 60vw) !important; }
.vinyl-bg {
  width: 100% !important;
  height: 100% !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background: rgba(0,0,0,.24) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.48) !important;
  animation: none !important;
}
.vinyl-bg::before,
.vinyl-bg::after,
.vinyl-visualizer { display: none !important; }
.vinyl-album-art {
  width: 100% !important;
  height: 100% !important;
  border-radius: 28px !important;
  object-fit: cover !important;
  box-shadow: none !important;
}

.minimal-track-info {
  max-width: 100% !important;
  text-align: center !important;
}
.minimal-track-name {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: clamp(24px, 7vw, 34px) !important;
  line-height: 1.02 !important;
  font-weight: 800 !important;
  letter-spacing: -.04em !important;
  margin: 0 0 8px !important;
  color: #fff !important;
  text-wrap: balance;
}
.minimal-track-artist {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--dw-muted) !important;
  letter-spacing: 0 !important;
}
.minimal-mood {
  display: inline-flex !important;
  margin-top: 12px !important;
  padding: 5px 11px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  color: rgba(255,255,255,.78) !important;
  font: 700 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
#minimalLikeBtn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  margin-top: 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.72) !important;
}

.minimal-progress-container { width: 100% !important; max-width: 330px !important; }
.minimal-progress {
  height: 4px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.28) !important;
}
.minimal-progress-fill {
  border-radius: 999px !important;
  background: var(--dw-green) !important;
  box-shadow: 0 0 16px rgba(30,215,96,.42) !important;
}
.minimal-time {
  color: rgba(255,255,255,.76) !important;
  font: 600 11px/1 'DM Sans', system-ui, sans-serif !important;
}

.minimal-controls {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
}
#minimalShuffleBtn,
#minimalRepeatBtn { display: none !important; }
#minimalPrevBtn { order: 1; }
#minimalPlayBtn { order: 2; }
#minimalSkipBtn { order: 3; }
#minimalQueueBtn { order: 4; }
.minimal-btn {
  width: 46px !important;
  height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 18px !important;
  box-shadow: none !important;
}
.minimal-btn.play {
  width: 64px !important;
  height: 64px !important;
  background: var(--neon-pink, #ff71ce) !important;
  color: #fff !important;
  font-size: 24px !important;
  box-shadow: 0 8px 32px rgba(255,113,206,.38), 0 0 0 1px rgba(255,113,206,.12) !important;
}
#minimalQueueBtn {
  position: fixed !important;
  right: 18px !important;
  bottom: max(18px, env(safe-area-inset-bottom)) !important;
  width: 36px !important;
  height: 36px !important;
  z-index: 5 !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.35) !important;
  font-size: 12px !important;
  backdrop-filter: blur(14px) !important;
}
#minimalModeToggle {
  display: inline-flex !important;
  position: fixed !important;
  right: 18px !important;
  top: max(18px, env(safe-area-inset-top)) !important;
  width: 44px !important;
  height: 34px !important;
  z-index: 6 !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.34) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  color: var(--dw-green) !important;
  font: 900 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .12em !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

.playlist-drawer-toggle {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: fixed !important;
  left: 50% !important;
  bottom: max(18px, env(safe-area-inset-bottom)) !important;
  transform: translateX(-50%) !important;
  z-index: 5 !important;
  margin: 0 !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.34) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  color: rgba(255,255,255,.72) !important;
  font: 800 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .16em !important;
  backdrop-filter: blur(6px) !important;
}
.playlist-drawer {
  z-index: 1100 !important;
  left: 10px !important;
  right: 10px !important;
  bottom: 10px !important;
  max-height: min(64vh, 620px) !important;
  padding: 18px !important;
  border-radius: 24px 24px 18px 18px !important;
  background: rgba(8,8,12,.9) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 -24px 70px rgba(0,0,0,.56) !important;
  backdrop-filter: blur(26px) !important;
  scrollbar-width: none !important;
}
.playlist-drawer::-webkit-scrollbar { display: none !important; }
.playlist-drawer h3 {
  color: rgba(255,255,255,.55) !important;
  font: 800 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .16em !important;
}
.drawer-queue-position {
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .1em !important;
  color: var(--dw-pink, #ff2d78) !important;
  text-align: center !important;
  padding: 6px 4px 4px !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  margin-bottom: 4px !important;
  text-transform: uppercase !important;
}
.playlist-drawer .search-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  padding: 0 !important;
}
.playlist-drawer .search-container select,
.playlist-drawer .clear-btn { display: none !important; }
.playlist-drawer input {
  border-radius: 999px !important;
  background: rgba(255,255,255,.09) !important;
  border: 0 !important;
  color: #fff !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
}
.drawer-track-row {
  width: 100% !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 28px !important;
  align-items: center !important;
  gap: 10px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  background: transparent !important;
  text-align: left !important;
  font: inherit !important;
  padding: 11px 2px !important;
}
.drawer-cover-art img { width: 36px; height: 36px; border-radius: 4px; object-fit: cover; }
.drawer-queue-num { font-size: 11px; color: rgba(255,255,255,0.5); text-align: center; line-height: 1; }
.drawer-track-row:active,
.drawer-track-row.active {
  background: rgba(255,45,120,.14) !important;
  border-left: 3px solid var(--dw-pink, #ff2d78) !important;
  padding-left: 7px !important;
}
.drawer-empty {
  padding: 20px 4px !important;
  color: rgba(255,255,255,.52) !important;
  text-align: center !important;
  font: 600 13px/1.3 'DM Sans', system-ui, sans-serif !important;
}
.drawer-track-row .info {
  min-width: 0 !important;
  display: block !important;
  overflow: hidden !important;
}
.drawer-track-row .name {
  display: block !important;
  color: rgba(255,255,255,.86) !important;
  font: 700 14px/1.18 'DM Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.drawer-track-row .artist {
  display: block !important;
  color: rgba(255,255,255,.5) !important;
  font: 500 12px/1.25 'DM Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  margin-top: 2px !important;
}
.drawer-track-row .mood { display: none !important; }
.drawer-track-row .num {
  color: rgba(255,255,255,.32) !important;
  font: 800 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .08em !important;
}
  #minimal-ui {
    padding-top: max(48px, env(safe-area-inset-top)) !important;
    justify-content: center !important;
  }
  .vinyl-player {
    width: min(360px, 91vw) !important;
    gap: 16px !important;
    padding: 22px 18px 20px !important;
    border-radius: 26px !important;
  }
  .vinyl-container {
    width: min(205px, 56vw) !important;
    height: min(205px, 56vw) !important;
  }
  .vinyl-bg,
  .vinyl-album-art { border-radius: 24px !important; }
  .minimal-track-name { font-size: clamp(22px, 7.2vw, 30px) !important; }
  .minimal-track-artist { font-size: 14px !important; }
  .minimal-btn { width: 42px !important; height: 42px !important; }
  .minimal-btn.play { width: 60px !important; height: 60px !important; }
  /* DW-FEAT-037: thicken player progress bar for mobile touch target */
  .dream-player-progress-bar {
    height: 38px !important;
  }

@media (max-width: 390px), (max-height: 760px) {
  .vinyl-player { transform: scale(.92); }
  .vinyl-container { width: 180px !important; height: 180px !important; }
}

#settingsModal {
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  background: rgba(0,0,0,.55) !important;
  padding: 18px !important;
  box-sizing: border-box !important;
}
.settings-panel {
  width: min(760px, 92vw) !important;
  max-height: min(88dvh, 760px) !important;
  overflow-y: auto !important;
  padding: 22px !important;
  border-radius: 26px !important;
  background: rgba(8,8,12,.9) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.64) !important;
  color: #fff !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  scrollbar-width: none !important;
}
.settings-panel::-webkit-scrollbar { display: none !important; }
.settings-panel h2 {
  margin: 0 0 18px !important;
  color: rgba(255,255,255,.88) !important;
  font: 900 15px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .22em !important;
}
.settings-section {
  margin: 0 0 18px !important;
}
.settings-section h3 {
  margin: 0 0 10px !important;
  color: rgba(255,255,255,.58) !important;
  font: 800 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
.settings-bg-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.settings-bg-grid-compact { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 720px) {
  .settings-bg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .settings-bg-grid-compact { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
.settings-bg-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 56px !important;
  padding: 12px 12px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  background: rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.84) !important;
  text-align: left !important;
  font: 800 13px/1.05 'DM Sans', system-ui, sans-serif !important;
}
.settings-bg-btn span {
  display: block !important;
  margin-top: 6px !important;
  color: rgba(255,255,255,.45) !important;
  font: 700 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.settings-bg-btn.active {
  background: rgba(30,215,96,.16) !important;
  border-color: rgba(30,215,96,.55) !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px rgba(30,215,96,.08), 0 12px 32px rgba(30,215,96,.12) !important;
}

.settings-bg-btn.current {
  outline: 2px solid rgba(255,255,255,.72) !important;
  outline-offset: 2px !important;
}
.settings-bg-btn.active::before {
  content: '✓' !important;
  float: right !important;
  color: var(--dw-green) !important;
}
.settings-bg-btn.current span::after {
  content: ' · playing' !important;
}
.dream-bg-debug-card {
  border: 1px dashed rgba(255,255,255,.18) !important;
}
.dream-bg-debug-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
.dream-bg-debug-head h3 {
  margin: 4px 0 0 !important;
  font: 800 16px/1.1 'DM Sans', system-ui, sans-serif !important;
}
.dream-bg-debug-toggle {
  min-width: 104px !important;
}
.dream-bg-debug-body {
  margin-top: 14px !important;
  display: grid !important;
  gap: 12px !important;
}
.dream-bg-debug-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.dream-bg-debug-grid div {
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  background: rgba(255,255,255,.04) !important;
}
.dream-bg-debug-grid span {
  display: block !important;
  font: 700 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.52) !important;
  margin-bottom: 6px !important;
}
.dream-bg-debug-grid strong {
  display: block !important;
  font: 700 12px/1.35 'DM Sans', system-ui, sans-serif !important;
  color: rgba(255,255,255,.92) !important;
  word-break: break-word !important;
}
.dream-bg-debug-events {
  display: grid !important;
  gap: 8px !important;
}
.dream-bg-debug-event,
.dream-bg-debug-empty {
  border-radius: 12px !important;
  padding: 10px 12px !important;
  background: rgba(5,8,18,.58) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.dream-bg-debug-event strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: rgba(255,255,255,.94) !important;
  font: 800 12px/1.2 'DM Sans', system-ui, sans-serif !important;
}
.dream-bg-debug-event span,
.dream-bg-debug-empty {
  color: rgba(255,255,255,.68) !important;
  font: 600 11px/1.45 'DM Sans', system-ui, sans-serif !important;
}
@media (max-width: 520px) {
  .dream-bg-debug-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  .dream-bg-debug-toggle {
    width: 100% !important;
  }
  .dream-bg-debug-grid {
    grid-template-columns: 1fr !important;
  }
}
.settings-hint {
  margin: 10px 0 0 !important;
  color: rgba(255,255,255,.45) !important;
  font: 600 12px/1.3 'DM Sans', system-ui, sans-serif !important;
}


/* DREAMWAVE main app sheet — Spotify-inspired, mobile-first, still cinematic */
/* Bottom tab bar + inline content (replaces APP button + overlay) */
.dream-app-main {
  display: none; /* hidden by default, shown when browsing */
  flex: 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
body.dream-app-open .dream-app-main {
  display: flex !important;
  flex-direction: column !important;
}

.dream-rail-brand {
  display: none !important;
}

.dream-bottom-tabs {
  display: flex !important;
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 20;
  background: rgba(8,9,14,.8) !important;
  backdrop-filter: blur(6px) saturate(1.1) !important;
  -webkit-backdrop-filter: blur(6px) saturate(1.1) !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  padding: 6px 16px max(6px, env(safe-area-inset-bottom)) !important;
  justify-content: space-around !important;
  align-items: center !important;
  gap: 0 !important;
  min-height: 50px !important;
  box-shadow: 0 -2px 16px rgba(0,0,0,.25) !important;
  overflow: hidden !important;
}

/* Phone: bottom tabs sit above Android nav with minimum gap */
@media (max-width: 520px) {
  body.dream-app-open .dream-bottom-tabs {
    bottom: max(56px, env(safe-area-inset-bottom)) !important;
  }
}

.dream-tab-btn {
  appearance: none !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 3px !important;
  background: transparent !important;
  border: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  padding: 6px 12px !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: all .18s ease !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  min-width: 60px !important;
  -webkit-tap-highlight-color: transparent !important;
  opacity: .90 !important; /* DW-VIS-NAVCONTRAST: raised from .82 for inactive tab icons on cinematic bg; WCAG 4.5:1 minimum */
}
.dream-tab-btn.active {
  color: var(--dw-green) !important;
  -webkit-text-fill-color: var(--dw-green) !important;
  opacity: 1 !important;
}
.dream-tab-btn:active {
  background: rgba(255,255,255,.12) !important;
  transform: scale(.94) !important;
}

/* ── Now-playing badge on nav items ─────────────────────────── */
.dream-tab-btn.is-playing {
  opacity: 1 !important;
}

/* Rich nav badge: mini art + abbreviated track name on the tab button */
.dream-nav-badge {
  display: none !important;
  position: absolute !important;
  top: 3px !important;
  left: calc(100% - 24px) !important;
  right: auto !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 3px !important;
  background: rgba(20, 14, 28, 0.88) !important;
  border: 1px solid rgba(255, 113, 207, 0.35) !important;
  border-radius: 12px !important;
  padding: 2px 6px 2px 2px !important;
  max-width: 120px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5), 0 0 8px rgba(255, 113, 206, 0.25) !important;
  pointer-events: none !important;
  z-index: 2 !important;
  white-space: nowrap !important;
}
.dream-nav-badge-art {
  width: 18px !important;
  height: 18px !important;
  border-radius: 4px !important;
  object-fit: cover !important;
  flex-shrink: 0 !important;
  display: block !important;
}
/* Visually hidden but accessible via aria-describedby — prevents badge text from
   polluting the button's rendered text while keeping it in the accessibility tree */
.dream-nav-badge-desc {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/* Legacy: .dream-nav-badge-name was used before DW-VIS-111 fix */
.dream-nav-badge-name {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}
.dream-tab-btn.is-playing .dream-nav-badge {
  display: flex !important;
}

/* Notification unread badge — pill-style count in same badge slot as now-playing.
   Shows when Account tab has unread notifications. Hidden when now-playing badge
   is active (is-playing class wins), which is intentional prioritization. */
.dream-nav-badge[data-unread] {
  display: none;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 4px !important;
  border-radius: 9px !important;
  background: rgba(255, 80, 120, 0.92) !important;
  border: 1px solid rgba(255, 200, 215, 0.45) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  color: #fff !important;
  letter-spacing: 0 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5), 0 0 6px rgba(255, 80, 120, 0.4) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  max-width: 42px !important;
}
/* Show unread badge when present (overrides default display:none on .dream-nav-badge) */
.dream-nav-badge[data-unread]:not([data-unread="0"]):not([data-unread=""]) {
  display: flex !important;
}

/* Desktop rail: hide floating badge on navigation buttons — it overlaps and truncates text */
@media (min-width: 1100px) {
  .dream-tab-btn.is-playing {
    position: relative !important;
  }
  /* Hide badge on ALL desktop nav buttons — it overlaps the button label.
     Exception: notification badges ([data-unread]) must stay visible. */
  .dream-tab-btn.is-playing .dream-nav-badge:not([data-unread]) {
    display: none !important;
  }

  /* Rail: replace active green color with pink glow when track is playing */
  body.dream-app-open .dream-tab-btn.is-playing {
    background: rgba(255,113,207,.10) !important;
    border-color: rgba(255,113,207,.22) !important;
    color: var(--dw-pink) !important;
    -webkit-text-fill-color: var(--dw-pink) !important;
  }
  body.dream-app-open .dream-tab-btn.is-playing .dream-tab-label {
    color: var(--dw-pink) !important;
    -webkit-text-fill-color: var(--dw-pink) !important;
  }
  body.dream-app-open .dream-tab-btn.is-playing .dream-tab-icon {
    filter: drop-shadow(0 0 8px rgba(255,113,206,.8)) !important;
  }
}

/* Desktop sidebar: now-playing badge on collapsed icon rail */
.sidebar-item.is-playing {
  position: relative !important;
}
.sidebar-nav-badge {
  position: absolute !important;
  bottom: 2px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  border: 1.5px solid rgba(255, 113, 207, 0.6) !important;
  box-shadow: 0 0 6px rgba(255, 113, 206, 0.5) !important;
  z-index: 3 !important;
  pointer-events: none !important;
}
.sidebar-nav-badge-art {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.dream-tab-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  filter: drop-shadow(0 0 6px currentColor) !important;
  transition: filter .22s ease !important;
}
.dream-tab-icon svg {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
}
.dream-tab-label {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.dream-tab-btn.active .dream-tab-label {
  color: var(--dw-green) !important;
  -webkit-text-fill-color: var(--dw-green) !important;
}
@media (min-width: 1100px) {
  body.dream-app-open #minimal-ui {
    padding: max(22px, env(safe-area-inset-top)) 0 0 !important;
    align-items: stretch !important;
  }
  body.dream-app-open #minimal-ui::before {
    opacity: 0 !important;
  }
  body.dream-app-open .dream-app-main {
    margin-left: var(--dream-rail-width) !important;
    width: calc(100vw - var(--dream-rail-width)) !important;
  }
  body.dream-app-open .mini-now-playing {
    width: calc(100vw - var(--dream-rail-width)) !important;
    margin-left: var(--dream-rail-width) !important;
    margin-top: auto !important;
  }
  .dream-bottom-tabs {
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: auto !important;
    width: var(--dream-rail-width) !important;
    min-height: 100dvh !important;
    padding: 28px 16px 26px !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 10px !important;
    background: linear-gradient(180deg, rgba(10,10,16,.9), rgba(8,9,14,.84)) !important;
    border-top: 0 !important;
    border-right: 1px solid rgba(255,255,255,.05) !important;
    border-top-right-radius: 24px !important;
    border-bottom-right-radius: 24px !important;
    box-shadow: 18px 0 48px rgba(0,0,0,.28), inset -14px 0 22px rgba(255,255,255,.02) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  .dream-rail-brand {
    display: grid !important;
    gap: 4px !important;
    padding: 0 8px 12px !important;
    margin-bottom: 6px !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }
  .dream-rail-brand strong {
    color: rgba(255,255,255,.96) !important;
    font: 900 18px/1 'DM Sans', system-ui, sans-serif !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
  }
  .dream-rail-brand span {
    color: rgba(255,255,255,.46) !important;
    font: 700 11px/1.2 'DM Sans', system-ui, sans-serif !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
  }
  .dream-tab-btn {
    width: 100% !important;
    min-width: 0 !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
  }
  .dream-tab-label {
    font-size: 13px !important;
    letter-spacing: .06em !important;
  }

  /* FIX: content area needs right breathing room so card action buttons aren't clipped at viewport edge */
  body.dream-app-open .dream-app-main {
    padding-right: 18px !important;
  }

  /* ── Desktop rail: now-playing strip ─────────────────────────── */
  .dream-rail-now-playing {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    margin: 12px 0 0 !important;
    background: rgba(255, 255, 255, 0.055) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px !important;
    cursor: pointer !important;
    overflow: hidden !important;
  }

  .dream-rail-np-art-wrap {
    flex-shrink: 0 !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: rgba(255, 255, 255, 0.08) !important;
  }

  .dream-rail-np-art-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .dream-rail-np-meta {
    flex: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .dream-rail-np-title {
    font-size: 11.5px !important;
    font-weight: 800 !important;
    color: rgba(255, 255, 255, 0.94) !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.28 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    max-height: calc(1.28em * 2) !important;
  }

  .dream-rail-np-artist {
    font-size: 10.5px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.56) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.3 !important;
    margin-top: 3px !important;
  }

  /* ── Desktop rail: queue + mode chips ──────────────────────── */
  .dream-rail-queue-mode {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 12px 10px 10px !important;
    margin-top: 10px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.03) !important;
    position: relative !important;
  }

  .dream-bottom-tabs .mobile-tab-btn {
    margin-top: 8px !important;
    align-self: stretch !important;
    justify-content: flex-start !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    background: rgba(255,255,255,0.05) !important;
    color: rgba(255,255,255,0.78) !important;
    font: 700 12px/1 'DM Sans', system-ui, sans-serif !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
  }
  .dream-bottom-tabs .mobile-tab-btn {
    margin-top: 8px !important;
    align-self: stretch !important;
    justify-content: flex-start !important;
  }

  .dream-rail-mode {
    display: flex !important;
    gap: 6px !important;
    align-items: center !important;
  }

  .dream-rail-queue {
    display: flex !important;
    align-items: center !important;
  }

  .dream-rail-chip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    min-height: 44px !important;
    min-width: 44px !important;
    background: rgba(255, 255, 255, 0.10) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    cursor: pointer !important;
    transition: background 0.15s, color 0.15s, border-color 0.15s !important;
    white-space: nowrap !important;
  }

  .dream-rail-chip:hover {
    background: rgba(255, 255, 255, 0.16) !important;
    color: #fff !important;
  }

  .dream-rail-chip.dream-rail-chip--active,
  .dream-rail-chip:disabled {
    background: rgba(255, 113, 207, 0.20) !important;
    border-color: rgba(255, 113, 207, 0.50) !important;
    color: #ffb3de !important;
  }

  /* ── Desktop rail: bottom spacer ──────────────────────────── */
  .dream-bottom-tabs {
    padding-bottom: 24px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   PHASE 3B: DESKTOP MODE TOGGLE — Immersive vs Compact
   Immersive = current behavior (rail 248px, mini-player at bottom)
   Compact   = rail 80px icon-only, floating PiP mini-player strip
   ═══════════════════════════════════════════════════════════════ */

/* Default rail width (immersive) */
:root {
  --dream-rail-width: 264px;
  --dream-rail-compact-width: 80px;
}

/* Desktop mode toggle pill — only visible on desktop (>520px) */
.dream-desktop-mode-toggle {
  display: none !important;
}
@media (min-width: 521px) {
  .dream-desktop-mode-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    margin: 10px 6px 6px !important;
    padding: 4px !important;
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    border-radius: 999px !important;
  }
  .dream-mode-btn {
    flex: 1 !important;
    padding: 5px 10px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.38) !important;
    background: transparent !important;
    border: none !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    transition: color .18s ease, background .18s ease !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
  }
  .dream-mode-btn--active,
  .dream-mode-btn:active {
    background: rgba(255,113,207,0.18) !important;
    color: #ff71ce !important;
  }
  .dream-mode-btn:hover:not(.dream-mode-btn--active) {
    color: rgba(255,255,255,0.72) !important;
  }
}

/* ── COMPACT MODE: rail shrinks to icon-only 80px ─────────────── */
@media (min-width: 521px) {
  body.dream-desktop-minimal .dream-bottom-tabs {
    width: var(--dream-rail-compact-width) !important;
    padding: 22px 10px 24px !important;
    align-items: center !important;
    gap: 6px !important;
  }
  /* Compact rail: hide text labels, show only icons */
  body.dream-desktop-minimal .dream-tab-btn {
    justify-content: center !important;
    padding: 12px !important;
    width: 52px !important;
    height: 52px !important;
  }
  body.dream-desktop-minimal .dream-tab-label {
    display: none !important;
  }
  body.dream-desktop-minimal .dream-tab-icon {
    width: 22px !important;
    height: 22px !important;
  }
  body.dream-desktop-minimal .dream-tab-icon svg {
    width: 22px !important;
    height: 22px !important;
  }
  body.dream-desktop-minimal .dream-rail-brand {
    display: none !important;
  }
  body.dream-desktop-minimal .dream-rail-now-playing {
    display: none !important;
  }
  /* Compact rail: hide sidebar now-playing card */
  body.dream-desktop-minimal #dreamDesktopSidebar {
    width: var(--dream-rail-compact-width) !important;
  }
  body.dream-desktop-minimal #dreamDesktopSidebar .dream-desktop-sidebar-now-playing,
  body.dream-desktop-minimal #dreamDesktopSidebar .dream-desktop-sidebar-up-next,
  body.dream-desktop-minimal #dreamDesktopSidebar .dream-desktop-sidebar-section,
  body.dream-desktop-minimal #dreamDesktopSidebar .dream-desktop-sidebar-label {
    display: none !important;
  }
  /* Compact: content shifts to 80px rail */
  body.dream-desktop-minimal .dream-app-main {
    margin-left: var(--dream-rail-compact-width) !important;
    width: calc(100vw - var(--dream-rail-compact-width)) !important;
  }
  /* Compact: mini-player is suppressed on browse routes, shown as floating PiP */
  body.dream-desktop-minimal.dream-app-open[data-dream-route="discover"] .mini-now-playing,
  body.dream-desktop-minimal.dream-app-open[data-dream-route="library"] .mini-now-playing,
  body.dream-desktop-minimal.dream-app-open[data-dream-route="search"] .mini-now-playing,
  body.dream-desktop-minimal.dream-app-open[data-dream-route="account"] .mini-now-playing,
  body.dream-desktop-minimal.dream-app-open[data-dream-route="studio"] .mini-now-playing,
  body.dream-desktop-minimal.dream-app-open[data-dream-route="upload"] .mini-now-playing {
    display: none !important;
  }
  /* Compact browse routes: content area needs less bottom padding */
  body.dream-desktop-minimal.dream-app-open[data-dream-route="discover"] #minimal-ui .dream-app-content,
  body.dream-desktop-minimal.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content,
  body.dream-desktop-minimal.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content,
  body.dream-desktop-minimal.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content,
  body.dream-desktop-minimal.dream-app-open[data-dream-route="studio"] #minimal-ui .dream-app-content,
  body.dream-desktop-minimal.dream-app-open[data-dream-route="upload"] #minimal-ui .dream-app-content {
    padding-bottom: 90px !important;
  }
  /* Compact PiP strip: always-visible floating mini-player on browse routes */
  body.dream-desktop-minimal .mini-now-playing {
    position: fixed !important;
    bottom: 24px !important;
    right: 24px !important;
    left: auto !important;
    width: 320px !important;
    margin-left: 0 !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.5) !important;
    z-index: 500 !important;
    background: rgba(10,10,18,.94) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
  }
}

/* ── COMPACT MODE: #player route — compact player layout ────────── */
@media (min-width: 521px) {
  body.dream-desktop-minimal[data-dream-route="player"] #minimal-ui {
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
  }
  body.dream-desktop-minimal[data-dream-route="player"] .vinyl-player {
    width: min(380px, 88vw) !important;
    padding: 22px 20px 18px !important;
    gap: 14px !important;
  }
  body.dream-desktop-minimal[data-dream-route="player"] .minimal-player-card-stage {
    min-height: 220px !important;
  }
  body.dream-desktop-minimal[data-dream-route="player"] #minimal-ui .dream-app-content {
    display: none !important;
  }
}

.minimal-app-btn,
#minimalAppBtn {
  display: inline-flex !important;
  position: fixed !important;
  left: 14px !important;
  top: max(14px, env(safe-area-inset-top)) !important;
  width: 36px !important;
  height: 36px !important;
  z-index: 6 !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: rgba(255,255,255,.50) !important;
  font: 600 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .08em !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.dream-app-sheet {
  position: fixed !important;
  inset: 0 !important;
  z-index: 30 !important;
  display: none !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding: max(62px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom)) !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transform: translateY(18px) !important;
  transition: opacity .24s ease, transform .24s ease !important;
}
.dream-app-sheet.open {
  display: flex !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.dream-app-sheet::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.54) 38%, rgba(0,0,0,.82));
  pointer-events: none;
}
.dream-app-panel {
  position: relative !important;
  width: min(720px, 100%) !important;
  max-height: min(82dvh, 820px) !important;
  overflow: hidden !important;
  border-radius: 30px 30px 22px 22px !important;
  background: linear-gradient(180deg, rgba(10,10,16,.35), rgba(5,5,8,.55)) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 -22px 80px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: blur(28px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(28px) saturate(1.18) !important;
  color: #fff !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
}
.dream-app-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 20px 20px 10px !important;
}
.dream-app-header p,
.dream-kicker {
  margin: 0 0 7px !important;
  color: rgba(255,255,255,.5) !important;
  font: 900 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}
.dream-app-header h1 {
  margin: 0 !important;
  color: #fff !important;
  font: 900 clamp(22px, 6vw, 34px)/.96 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: -.055em !important;
}
.dream-app-close {
  appearance: none !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.78) !important;
  font: 900 16px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-app-header-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.dream-app-account {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  min-width: 84px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.045) !important;
  color: rgba(255,255,255,.88) !important;
  padding: 0 14px !important;
  font: 800 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.dream-app-account.authenticated {
  background: rgba(30,215,96,.14) !important;
  border-color: rgba(30,215,96,.35) !important;
  color: rgba(217,255,231,.96) !important;
}
/* DW-FEAT-131: Bell icon in app shell header */
.dream-app-bell {
  position: relative !important;
  appearance: none !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.045) !important;
  color: rgba(255,255,255,.78) !important;
  display: inline-flex;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}
.dream-app-bell:hover {
  background: rgba(255,255,255,.10) !important;
  color: rgba(255,255,255,.95) !important;
}
.dream-app-bell:active {
  background: rgba(255,255,255,.16) !important;
}
/* Bell badge: red unread counter overlay */
.dream-bell-badge {
  position: absolute !important;
  top: -4px !important;
  right: -4px !important;
  min-width: 18px !important;
  height: 18px !important;
  border-radius: 999px !important;
  background: #e91e63 !important;
  color: #fff !important;
  font: 700 9px/18px 'DM Sans', system-ui, sans-serif !important;
  text-align: center !important;
  padding: 0 4px !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
  z-index: 10 !important;
  display: none !important;
}
.dream-app-tabs {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  touch-action: pan-x !important;
  padding: 0 20px 14px !important;
  scrollbar-width: none !important;
}
.dream-app-tabs::-webkit-scrollbar { display: none !important; }
.dream-app-tabs button {
  appearance: none !important;
  flex: 0 0 auto !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.66) !important;
  padding: 10px 13px !important;
  font: 800 12px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-app-tabs button.active {
  background: #fff !important;
  color: #07080a !important;
  border-color: #fff !important;
}
.dream-app-content {
  max-height: calc(min(82dvh, 820px) - 130px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
  padding: 0 20px 82px !important;
  scrollbar-width: none !important;
}
.dream-app-content::-webkit-scrollbar { display: none !important; }
@media (min-width: 1100px) {
  .dream-app-panel {
    width: min(1040px, calc(100vw - 96px)) !important;
    max-height: min(88dvh, 900px) !important;
  }
  .dream-app-header {
    padding: 20px 24px 12px !important;
  }
  .dream-app-tabs {
    padding: 0 24px 16px !important;
  }
  .dream-app-content {
    max-height: calc(min(88dvh, 900px) - 136px) !important;
    overflow-x: hidden !important;
    padding: 0 24px 92px !important;
  }
  .dream-library-workspace {
    grid-template-columns: minmax(280px, 340px) minmax(0, 1fr) !important;
  }
  /* Library route: ensure Liked songs and lower sections clear the mini-player strip + safe-area */
  /* Uses .mode-minimal for higher specificity to beat line-70's padding: shorthand */
  body.mode-minimal.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content {
    padding: 0 0 220px !important;
  }
}
.dream-hero,
.dream-profile-card,
.dream-section,
.dream-tier-card,
.dream-metric {
  border: 1px solid rgba(255,255,255,.1) !important;
  background: rgba(255,255,255,.065) !important;
  border-radius: 22px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
/* Library route: moderate card opacity — video shows through with blur */
body.dream-app-open[data-dream-route="library"] .dream-hero,
body.dream-app-open[data-dream-route="library"] .dream-section,
body.dream-app-open[data-dream-route="library"] .dream-tier-card,
body.dream-app-open[data-dream-route="library"] .dream-metric {
  background: rgba(10,10,16,0.55) !important;
}
.dream-hero { padding: 20px !important; margin-bottom: 12px !important; }
.dream-hero h2,
.dream-profile-card h2 {
  margin: 0 0 10px !important;
  color: #fff !important;
  font: 900 clamp(26px, 7vw, 42px)/.94 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: -.06em !important;
}
.dream-hero p:not(.dream-kicker),
.dream-profile-card p:not(.dream-kicker) {
  margin: 0 !important;
  color: rgba(255,255,255,.78) !important;
  font: 600 14px/1.45 'DM Sans', system-ui, sans-serif !important;
  overflow-wrap: break-word !important;
  max-width: 100% !important;
}
.dream-hero-actions,
.dream-action-grid {
  display: flex !important;
  gap: 9px !important;
  flex-wrap: wrap !important;
  margin-top: 16px !important;
}
.dream-primary,
.dream-secondary,
.dream-section-head button,
.dream-action-grid button {
  appearance: none !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  padding: 11px 14px !important;
  font: 900 12px/1 'DM Sans', system-ui, sans-serif !important;
  min-height: 44px !important;
}
.dream-primary { background: var(--dw-green) !important; color: #050506 !important; border-color: var(--dw-green) !important; }
.dream-secondary,
.dream-section-head button,
.dream-action-grid button { background: rgba(255,255,255,.08) !important; color: rgba(255,255,255,.84) !important; }

/* ── Disabled state: all buttons ────────────────────────────── */
.dream-primary:disabled,
.dream-secondary:disabled,
button:disabled,
.dream-btn:disabled,
.dream-tab-btn:disabled {
  opacity: 0.38 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  filter: grayscale(0.5) !important;
}

.dream-metrics {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 9px !important;
  margin-bottom: 12px !important;
}
.dream-metric { padding: 13px !important; min-width: 0 !important; }
.dream-metric span,
.dream-metric em {
  display: block !important;
  color: rgba(255,255,255,.45) !important;
  font: 800 10px/1.1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.dream-metric strong {
  display: block !important;
  margin: 7px 0 5px !important;
  color: #fff !important;
  font: 900 20px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: -.04em !important;
}
.dream-metric em { text-transform: none !important; letter-spacing: 0 !important; font-size: 11px !important; font-style: normal !important; }
.dream-section { padding: 16px !important; margin-bottom: 12px !important; }
.dream-section h3,
.dream-tier-card h3 {
  margin: 0 0 12px !important;
  color: #fff !important;
  font: 900 18px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: -.035em !important;
}
.dream-section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 10px !important;
}
.dream-section-head h3 { margin: 0 !important; }
.dream-list { display: grid !important; gap: 4px !important; }
.dream-row {
  width: 100% !important;
  appearance: none !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 10px 2px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  background: transparent !important;
  color: #fff !important;
  text-align: left !important;
}
.dream-row-index { color: rgba(255,255,255,.34) !important; font: 900 11px/1 'DM Sans', system-ui, sans-serif !important; }
.dream-row-main { min-width: 0 !important; }
.dream-row-main strong,
.dream-row-main em { display: block !important; overflow: hidden !important; white-space: nowrap !important; text-overflow: ellipsis !important; }
.dream-row-main strong { color: rgba(255,255,255,.9) !important; font: 800 14px/1.2 'DM Sans', system-ui, sans-serif !important; }
.dream-row-main em { margin-top: 2px !important; color: rgba(255,255,255,.48) !important; font: 600 12px/1.2 'DM Sans', system-ui, sans-serif !important; font-style: normal !important; }
.dream-row-pill,
.dream-tier-badge {
  border-radius: 999px !important;
  background: rgba(15,18,24,.72) !important;
  color: rgba(255,255,255,.88) !important;
  padding: 6px 9px !important;
  font: 900 10px/1 'DM Sans', system-ui, sans-serif !important;
  text-transform: uppercase !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}
.dream-profile-card {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px !important;
  margin-bottom: 12px !important;
}
.dream-avatar {
  width: 58px !important;
  height: 58px !important;
  border-radius: 18px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, var(--dw-green), var(--dw-cyan)) !important;
  color: #050506 !important;
  font: 1000 24px/1 'DM Sans', system-ui, sans-serif !important;
  overflow: hidden !important;
}
.dream-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.dream-setting-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
}
.dream-setting-row span { color: rgba(255,255,255,.52) !important; font: 800 12px/1 'DM Sans', system-ui, sans-serif !important; }
.dream-setting-row strong { color: rgba(255,255,255,.9) !important; font: 900 13px/1 'DM Sans', system-ui, sans-serif !important; text-transform: uppercase !important; }
.dream-tier-grid { display: grid !important; gap: 10px !important; align-items: stretch !important; }
.dream-tier-card { padding: 16px 16px 24px !important; height: 100% !important; display: flex !important; flex-direction: column !important; }
.dream-tier-card.active { border-color: rgba(30,215,96,.55) !important; background: rgba(30,215,96,.11) !important; }
.dream-price { display: block !important; margin: 4px 0 12px !important; color: #fff !important; font: 1000 28px/1 'DM Sans', system-ui, sans-serif !important; letter-spacing: -.055em !important; }
.dream-tier-card ul { list-style: none !important; margin: 0 0 14px !important; padding: 0 !important; display: grid !important; gap: 7px !important; }
.dream-tier-card li { color: rgba(255,255,255,.85) !important; font: 650 13px/1.4 'DM Sans', system-ui, sans-serif !important; }
.dream-tier-card .dream-primary,
.dream-tier-card .dream-secondary {
  margin-top: auto !important;
  min-height: 44px !important;
}
.dream-tier-card li::before { content: '✓'; color: var(--dw-green); margin-right: 8px; }

/* Mobile tier card: single column on narrow screens */
@media (max-width: 640px) {
  .dream-tier-grid { grid-template-columns: 1fr !important; }
  .dream-tier-card { padding-bottom: 20px !important; }
  .dream-tier-card .dream-primary,
  .dream-tier-card .dream-secondary {
    width: 100% !important;
    min-height: 44px !important;
  }
}
.dream-app-content code { color: var(--dw-green) !important; }
body.dream-app-open .playlist-drawer-toggle,
body.dream-app-open #minimalQueueBtn { opacity: .28 !important; pointer-events: none !important; }

@media (min-width: 780px) {
  .dream-app-sheet { align-items: center !important; padding: 72px 18px 18px !important; }
  .dream-app-panel { border-radius: 32px !important; }
  .dream-tier-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (min-width: 1500px) {
  .dream-tier-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 460px) {
  .dream-app-panel { max-height: 78dvh !important; }
  .dream-app-content { max-height: calc(78dvh - 126px) !important; padding-left: 14px !important; padding-right: 14px !important; }
  .dream-app-header { padding-left: 14px !important; padding-right: 14px !important; }
  .dream-app-tabs { padding-left: 14px !important; padding-right: 14px !important; }
  .dream-metrics { grid-template-columns: 1fr !important; }
  .dream-row { grid-template-columns: 30px minmax(0,1fr) !important; }
  .dream-row-actions .dream-row-pill { display: inline-flex !important; }
  .dream-profile-card { grid-template-columns: 48px minmax(0,1fr) !important; }
  .dream-tier-badge { grid-column: 1 / -1 !important; justify-self: start !important; }
}

/* Current product pass: full-page app shell + single playlist control + AI provenance reveal */
.playlist-drawer-toggle {
  display: none !important;
}

.dream-app-sheet {
  align-items: stretch !important;
  justify-content: stretch !important;
  padding: 0 !important;
  transform: translateY(0) scale(.985) !important;
  background: rgba(0,0,0,.18) !important;
}
.dream-app-sheet.open { transform: translateY(0) scale(1) !important; }
.dream-app-sheet::before {
  background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.14) 30%, rgba(0,0,0,.18) 55%, rgba(0,0,0,.22)) !important;
}
.dream-app-panel {
  width: 100% !important;
  max-width: none !important;
  height: 100dvh !important;
  max-height: none !important;
  border-radius: 0 !important;
  border: 0 !important;
  background: linear-gradient(180deg, rgba(9,10,14,.35), rgba(5,5,8,.55)) !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
}
.dream-app-header {
  flex: 0 0 auto !important;
  padding: max(18px, env(safe-area-inset-top)) 18px 10px !important;
}
.dream-app-tabs {
  flex: 0 0 auto !important;
  padding: 0 18px 14px !important;
}
.dream-app-content {
  flex: 1 1 auto !important;
  max-height: none !important;
  min-height: 0 !important;
  padding: 0 18px calc(104px + env(safe-area-inset-bottom)) !important;
}
body.dream-app-open .vinyl-player {
  display: none !important;
}
body.dream-app-open #minimalQueueBtn,
body.dream-app-open #minimalModeToggle,
body.dream-app-open #minimalAppBtn {
  opacity: .18 !important;
  pointer-events: none !important;
}

/* Mini-player strip — shown when browsing tabs */
.mini-now-playing {
  display: none !important;
}
body.dream-app-open .mini-now-playing {
  display: flex !important;
  flex-shrink: 0 !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 14px !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  cursor: pointer !important;
  position: relative !important;
  -webkit-tap-highlight-color: transparent !important;
}

  body.dream-app-open .mini-now-playing {
    position: fixed !important;
    bottom: calc(58px + env(safe-area-inset-bottom)) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1001 !important;
    background: rgba(7,8,12,.92) !important;
    border-radius: 0 !important;
    border-bottom: none !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
    gap: 6px !important;
    padding: 8px 10px !important;
  }
.mini-np-art {
  width: 38px !important;
  height: 38px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  background: rgba(255,255,255,.06) !important;
}
.mini-np-art img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.mini-np-info {
  flex: 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  height: 100% !important;
}
.mini-np-title {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #fff !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.2 !important;
}
.mini-np-artist {
  font-size: 11px !important;
  color: rgba(255,255,255,.55) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.3 !important;
  margin-top: auto !important;
}
.mini-np-play {
  appearance: none !important;
  background: var(--dw-pink) !important;
  border: none !important;
  color: #fff !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  font-size: 14px !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.mini-np-progress {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 6px !important;
  background: rgba(255,255,255,.08) !important;
  cursor: pointer !important;
}
/* Tap zone extension — 44px hit area for comfortable touch seek */
.mini-np-progress::before {
  content: '' !important;
  position: absolute !important;
  bottom: -21px !important;
  left: 0 !important;
  right: 0 !important;
  height: 44px !important;
  background: transparent !important;
  z-index: 10 !important;
}
.mini-np-progress-fill {
  height: 100% !important;
  background: var(--dw-pink) !important;
  width: 0% !important;
  transition: width .3s linear !important;
}

/* Mini-player up-next preview — compact row shown when 2+ tracks in queue */
.mini-np-up-next {
  display: none;
  flex-shrink: 0 !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 1px !important;
  padding-left: 8px !important;
  border-left: 1px solid rgba(255,255,255,.12) !important;
  min-width: 0 !important;
  max-width: 140px !important;
  overflow: hidden !important;
}
.mini-np-up-next-label {
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  color: rgba(255,255,255,.45) !important;
  line-height: 1 !important;
}
.mini-np-up-next-name {
  font-size: 24px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.9) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.2 !important;
  max-width: 100% !important;
}
.mini-np-up-next-artist {
  font-size: 13px !important;
  color: rgba(255,255,255,.55) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.2 !important;
  max-width: 100% !important;
}

/* Queue icon button in mini-player strip */
.mini-np-queue {
  appearance: none !important;
  background: rgba(255,255,255,.08) !important;
  border: none !important;
  color: rgba(255,255,255,.6) !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  margin-left: 4px !important;
}
.mini-np-queue:hover { background: rgba(255,255,255,.14) !important; color: #fff !important; }
.mini-np-queue.has-queue { color: var(--dw-pink) !important; }

/* Queue count badge */
.mini-np-queue-badge {
  position: absolute !important;
  top: -4px !important;
  right: -4px !important;
  min-width: 16px !important;
  height: 16px !important;
  background: var(--dw-pink) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 3px !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

/* ── Queue Panel bottom sheet ── */
#dreamQueuePanel {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1100 !important;
  background: rgba(8,9,18,.97) !important;
  backdrop-filter: blur(24px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.2) !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 18px 18px 0 0 !important;
  padding: 0 0 env(safe-area-inset-bottom, 0) !important;
  max-height: 80vh !important;
  overflow-y: auto !important;
  transform: translateY(100%) !important;
  transition: transform .28s cubic-bezier(.4,0,.2,1) !important;
  touch-action: none !important;
  box-shadow: 0 -8px 40px rgba(0,0,0,.6) !important;
}
#dreamQueuePanel.open {
  transform: translateY(0) !important;
}
.dream-qp-handle {
  width: 40px !important;
  height: 4px !important;
  background: rgba(255,255,255,.2) !important;
  border-radius: 2px !important;
  margin: 10px auto 0 !important;
  flex-shrink: 0 !important;
}
.dream-qp-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 16px 10px !important;
  flex-shrink: 0 !important;
}
.dream-qp-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #fff !important;
  flex: 1 !important;
}
.dream-qp-count {
  font-size: 12px !important;
  color: rgba(255,255,255,.45) !important;
  font-weight: 400 !important;
  margin-left: -6px !important;
}
.dream-qp-clear {
  appearance: none !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  color: rgba(255,255,255,.7) !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  padding: 5px 10px !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}
.dream-qp-clear:hover { background: rgba(255,80,80,.15) !important; border-color: rgba(255,80,80,.3) !important; color: #ff6b6b !important; }
.dream-qp-close {
  appearance: none !important;
  background: rgba(255,255,255,.06) !important;
  border: none !important;
  color: rgba(255,255,255,.55) !important;
  border-radius: 50% !important;
  width: 28px !important;
  height: 28px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
}
.dream-qp-close:hover { background: rgba(255,255,255,.12) !important; color: #fff !important; }
.dream-qp-divider {
  height: 1px !important;
  background: rgba(255,255,255,.06) !important;
  margin: 0 16px !important;
  flex-shrink: 0 !important;
}
.dream-qp-now-playing {
  padding: 10px 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
}
.dream-qp-now-badge {
  background: var(--dw-pink) !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  padding: 2px 5px !important;
  flex-shrink: 0 !important;
  text-transform: uppercase !important;
}
.dream-qp-now-cover {
  width: 44px !important;
  height: 44px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  background: rgba(255,255,255,.06) !important;
  flex-shrink: 0 !important;
}
.dream-qp-now-info { flex: 1 !important; min-width: 0 !important; }
.dream-qp-now-name {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #fff !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-qp-now-artist {
  font-size: 12px !important;
  color: rgba(255,255,255,.5) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-qp-list {
  padding: 4px 0 8px !important;
  flex: 1 !important;
  overflow-y: auto !important;
}
.dream-qp-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 16px !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
  cursor: default !important;
}
.dream-qp-row:last-child { border-bottom: none !important; }
.dream-qp-row-cover {
  width: 40px !important;
  height: 40px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
  background: rgba(255,255,255,.06) !important;
  flex-shrink: 0 !important;
}
.dream-qp-row-info { flex: 1 !important; min-width: 0 !important; }
.dream-qp-row-name {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #fff !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-qp-row-artist {
  font-size: 11px !important;
  color: rgba(255,255,255,.45) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-qp-row-play {
  appearance: none !important;
  background: rgba(255,255,255,.08) !important;
  border: none !important;
  color: rgba(255,255,255,.65) !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  font-size: 11px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
}
.dream-qp-row-play:hover { background: var(--dw-pink) !important; color: #fff !important; }
.dream-qp-row-remove {
  appearance: none !important;
  background: transparent !important;
  border: none !important;
  color: rgba(255,255,255,.25) !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
}
.dream-qp-row-remove:hover { background: rgba(255,80,80,.12) !important; color: #ff6b6b !important; }
.dream-qp-empty {
  padding: 40px 20px !important;
  text-align: center !important;
  color: rgba(255,255,255,.35) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* Queue panel overlay backdrop */
body.queue-open::before {
  content: '' !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 1099 !important;
  background: rgba(0,0,0,.35) !important;
  pointer-events: none !important;
}

/* Popup menu queue actions */
.dream-popup-item.dream-play-next-action::before { content: '↑ ' !important; opacity: .7 !important; }
.dream-popup-item.dream-add-to-queue::before { content: '+ ' !important; opacity: .7 !important; }

.dream-row-card {
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  padding: 10px 0 !important;
}
.dream-row-card .dream-row {
  border-bottom: 0 !important;
  padding: 0 !important;
  grid-template-columns: 38px minmax(0, 1fr) auto !important;
}
.dream-connection-list {
  display: grid !important;
  gap: 10px !important;
}
.dream-connection-row {
  width: 100% !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.04) !important;
  padding: 12px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
}
.dream-connection-main {
  appearance: none !important;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  text-align: left !important;
  color: #fff !important;
}
.dream-connection-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.dream-connection-open,
.dream-connection-follow {
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.03) !important;
  color: rgba(255,255,255,.82) !important;
  padding: 7px 10px !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-connection-follow {
  border-color: rgba(30,215,96,.22) !important;
  color: rgba(125,255,176,.95) !important;
  background: rgba(30,215,96,.09) !important;
}
.dream-connection-self {
  flex-shrink: 0 !important;
}
.dream-connection-avatar {
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  object-fit: cover !important;
  display: block !important;
}
.dream-connection-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 4px !important;
}
.dream-connection-copy strong,
.dream-connection-copy em {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.dream-connection-copy em {
  color: rgba(255,255,255,.76) !important;
  font-style: normal !important;
}
.dream-connection-meta,
.dream-activity-meta {
  color: rgba(255,255,255,.48) !important;
  font: 600 10.5px/1.35 'DM Sans', system-ui, sans-serif !important;
  display: block !important;
}
.dream-activity-list {
  display: grid !important;
  gap: 10px !important;
}
.dream-activity-row-wrap {
  display: grid !important;
  gap: 8px !important;
}
.dream-activity-row {
  appearance: none !important;
  width: 100% !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.04) !important;
  padding: 12px !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  text-align: left !important;
  color: #fff !important;
}
.dream-activity-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding-left: 54px !important;
}
.dream-activity-action {
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.03) !important;
  color: rgba(255,255,255,.82) !important;
  padding: 7px 10px !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-activity-avatar {
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  object-fit: cover !important;
  display: block !important;
}
.dream-activity-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 4px !important;
}
.dream-activity-copy strong,
.dream-activity-copy em {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.dream-activity-copy em {
  color: rgba(255,255,255,.76) !important;
  font-style: normal !important;
}
.dream-creator-pulse-card {
  border-color: rgba(132,190,255,.14) !important;
  background: linear-gradient(160deg, rgba(15,22,42,.82), rgba(8,10,18,.92)) !important;
}
.dream-creator-pulse-grid {
  display: grid !important;
  gap: 6px !important;
}
.dream-activity-time {
  color: rgba(255,255,255,.52) !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
}
.dream-row-play {
  appearance: none !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.88) !important;
  font: 900 12px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-provenance-toggle {
  border: 0 !important;
}
.dream-row-hint {
  margin: 6px 0 0 48px !important;
  color: rgba(255,255,255,.38) !important;
  font: 700 11px/1.25 'DM Sans', system-ui, sans-serif !important;
}
.dream-provenance {
  margin: 10px 0 0 48px !important;
  padding: 12px !important;
  border-radius: 16px !important;
  background: rgba(0,0,0,.24) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.dream-provenance[hidden] { display: none !important; }
.dream-provenance strong {
  display: block !important;
  color: rgba(255,255,255,.9) !important;
  font: 900 13px/1 'DM Sans', system-ui, sans-serif !important;
  margin-bottom: 8px !important;
}
.dream-provenance p {
  margin: 0 !important;
  color: rgba(255,255,255,.58) !important;
  font: 650 12px/1.35 'DM Sans', system-ui, sans-serif !important;
  overflow-wrap: break-word !important;
  max-width: 100% !important;
}
.dream-provenance-row {
  display: grid !important;
  grid-template-columns: 84px minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 14px 0 !important;
  border-top: 1px solid rgba(255,255,255,.055) !important;
  min-height: 44px !important;
  align-items: center !important;
}
.dream-provenance-row span {
  color: rgba(255,255,255,.42) !important;
  font: 900 10px/1.2 'DM Sans', system-ui, sans-serif !important;
  text-transform: uppercase !important;
}
.dream-provenance-row em {
  color: rgba(255,255,255,.72) !important;
  font: 650 12px/1.25 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
  overflow-wrap: anywhere !important;
}
/* DW-FEAT-044 scope 2: Enhanced provenance reveal */
.dream-provenance-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
}
.dream-provenance-header strong {
  margin-bottom: 0 !important;
}
.dream-provenance-disclosure-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 2px 7px !important;
  border-radius: 6px !important;
  font: 700 9px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  flex-shrink: 0 !important;
}
.dream-provenance-disclosure-badge--summary {
  background: rgba(0,184,212,.18) !important;
  border: 1px solid rgba(0,184,212,.35) !important;
  color: rgba(0,220,240,.95) !important;
}
.dream-provenance-disclosure-badge--full {
  background: rgba(0,210,100,.18) !important;
  border: 1px solid rgba(0,210,100,.35) !important;
  color: rgba(0,230,120,.95) !important;
}
.dream-provenance-disclosure-badge--private {
  background: rgba(255,80,80,.15) !important;
  border: 1px solid rgba(255,80,80,.3) !important;
  color: rgba(255,150,150,.95) !important;
}
.dream-provenance-disclosure-hint {
  color: rgba(255,255,255,.32) !important;
  font: 500 10px/1.2 'DM Sans', system-ui, sans-serif !important;
  flex-shrink: 0 !important;
}
.dream-provenance-group-separator {
  padding: 8px 0 2px !important;
  margin-top: 4px !important;
}
.dream-provenance-group-separator span {
  color: rgba(255,255,255,.22) !important;
  font: 900 9px/1 'DM Sans', system-ui, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}
.dream-provenance-row--not-disclosed em {
  color: rgba(255,255,255,.25) !important;
  font-style: italic !important;
}
/* DW-FEAT-071: Provenance mobile polish — row stacking, badge touch targets, section scroll */
@media (max-width: 420px) {
  /* Stack provenance rows vertically on phone so 84px label + gap doesn't cause overflow */
  .dream-player-section--provenance .dream-provenance-row {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    padding: 8px 0 !important;
  }
  .dream-player-section--provenance .dream-provenance-row span {
    font-size: 9px !important;
    color: rgba(255,255,255,.38) !important;
  }
  .dream-player-section--provenance .dream-provenance-row em {
    font-size: 11px !important;
  }
  /* Disclosure badge touch target: wrap as block flex container so whole badge is tappable */
  .dream-player-section--provenance .dream-provenance-header {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .dream-player-section--provenance .dream-provenance-disclosure-badge {
    min-height: 40px !important;
    padding: 4px 10px !important;
    font-size: 10px !important;
    cursor: pointer !important;
  }
  /* Provenance private message badge touch target */
  .dream-track-detail-ai-private-msg {
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
  }
  /* Provenance section scrolls within track detail surface — proven track detail already has overflow:auto */
  .dream-player-section--provenance {
    max-height: 240px !important;
    overflow-y: auto !important;
    scrollbar-width: none !important;
  }
  .dream-player-section--provenance::-webkit-scrollbar {
    display: none !important;
  }
  /* DW-FEAT-072 FIX (DW-075): .dream-provenance-bottom-recovery moved OUTSIDE the overflow:auto provenance section.
     It is now a direct child of .dream-player-secondary-grid (the scroll container).
     Sticky relative to the player surface scroll context — sticks to bottom of the player surface.
     DW-WAVE61-CONTROL-HIT-TARGET-CLEARANCE: keep visible bottom recovery inside the tappable scroll area. */
  .dream-player-secondary-grid > .dream-provenance-bottom-recovery {
    position: sticky !important;
    bottom: max(58px, calc(env(safe-area-inset-bottom) + 44px)) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 50 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 8px 0 calc(4px + env(safe-area-inset-bottom, 0px)) !important;
    background: linear-gradient(to top, rgba(8,10,20,0.85) 0%, rgba(8,10,20,0.0) 100%) !important;
    pointer-events: auto !important;
  }
  /* Bottom padding on the grid gives the sticky element room to "stick" into view at end of scroll */
  .dream-player-secondary-grid {
    padding-bottom: 108px !important;
  }
  .dream-player-secondary-grid > .dream-provenance-bottom-recovery .dream-provenance-back-btn {
    min-height: 48px !important;
    min-width: 148px !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(255,255,255,0.9) !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    border-radius: 22px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    box-sizing: border-box !important;
    margin-bottom: env(safe-area-inset-bottom, 0px) !important;
    margin-bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }
  .dream-player-secondary-grid > .dream-provenance-bottom-recovery .dream-provenance-back-btn:active {
    background: rgba(255,255,255,0.15) !important;
    transform: scale(0.97) !important;
  }
}
/* DW-FEAT-044 scope 3: Share link management UI */
.dream-share-link-list {
  display: grid !important;
  gap: 8px !important;
  margin-top: 8px !important;
}
.dream-share-link-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 8px 10px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.dream-share-link-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0 !important;
  flex: 1 !important;
}
.dream-share-link-url {
  font: 500 11px/1.2 'DM Sans', system-ui, sans-serif !important;
  color: rgba(0,184,212,.88) !important;
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 180px !important;
}
.dream-share-link-actions {
  display: flex !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}
.dream-share-link-actions .dream-row-pill {
  min-height: 44px !important;
  padding: 10px 12px !important;
  font-size: 12px !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}
@media (max-width: 420px) {
  .dream-share-link-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .dream-share-link-info {
    width: 100% !important;
  }
  .dream-share-link-url {
    max-width: 100% !important;
    white-space: normal !important;
  }
  .dream-share-link-actions {
    width: 100% !important;
    justify-content: flex-start !important;
  }
  .dream-share-link-actions .dream-row-pill {
    flex: 1 !important;
    text-align: center !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
  }
}
.dream-share-link-empty {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 16px 12px !important;
}
.dream-share-link-empty-text {
  font-size: 13px !important;
  color: rgba(255,255,255,.55) !important;
  line-height: 1.4 !important;
}
.dream-share-link-empty-cta {
  min-height: 44px !important;
  padding: 10px 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  box-sizing: border-box !important;
}
.dream-share-badge {
  display: inline-block !important;
  font-size: 10px !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  min-height: 24px !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}
.dream-share-badge--public { background: rgba(76,175,80,.2) !important; color: #81c784 !important; }
.dream-share-badge--unlisted { background: rgba(255,193,7,.18) !important; color: #ffd54f !important; }
.dream-share-badge--private { background: rgba(255,82,82,.15) !important; color: #ff5252 !important; }
.dream-share-badge--shared-private { background: rgba(156,39,176,.15) !important; color: #ce93d8 !important; }
.dream-share-badge--draft { background: rgba(158,158,158,.15) !important; color: #bdbdbd !important; }
@media (max-width: 420px) {
  .dream-share-badge {
    font-size: 9px !important;
    padding: 3px 7px !important;
    min-height: 24px !important;
  }
}
/* DW-FEAT-096: Share link management */
.dream-share-link-manage-list {
  display: grid !important;
  gap: 8px !important;
  margin-top: 8px !important;
}
.dream-share-link-manage-group {
  display: grid !important;
  gap: 4px !important;
}
.dream-share-link-manage-group-label {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.4) !important;
  padding: 6px 4px 2px !important;
}
.dream-share-link-manage-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.dream-share-link-manage-meta {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}
.dream-share-link-resource-label {
  font-size: 10px !important;
  color: rgba(255,255,255,.4) !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
}
.dream-share-link-date {
  font-size: 10px !important;
  color: rgba(255,255,255,.3) !important;
  margin-left: auto !important;
}
.dream-share-link-url-wrap {
  overflow: hidden !important;
}
.dream-share-link-manage-actions {
  display: flex !important;
  justify-content: flex-start !important;
  gap: 6px !important;
}
.dream-share-link-manage-actions .dream-row-pill {
  min-height: 44px !important;
  padding: 10px 12px !important;
  font-size: 12px !important;
  box-sizing: border-box !important;
}
@media (max-width: 420px) {
  .dream-share-link-manage-row {
    padding: 10px 10px !important;
  }
  .dream-share-link-date {
    display: none !important;
  }
  .dream-share-link-manage-actions {
    width: 100% !important;
  }
  .dream-share-link-manage-actions .dream-row-pill {
    flex: 1 !important;
    text-align: center !important;
  }
}
/* DW-FEAT-022: Track detail provenance reveal */
.dream-track-detail-ai-badge {
  margin: 8px 0 6px !important;
}
.dream-ai-badge-label {
  display: inline-block !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  background: rgba(120,80,255,.28) !important;
  border: 1px solid rgba(120,80,255,.45) !important;
  color: rgba(200,180,255,.95) !important;
  font: 700 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.dream-track-detail-ai-private-msg {
  margin: 8px 0 4px !important;
  color: rgba(255,255,255,.38) !important;
  font: 650 12px/1.35 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
}
.dream-track-detail-provenance-section {
  margin-top: 8px !important;
}
.dream-track-detail-provenance-section[data-open="true"] {
  display: block !important;
}
.dream-track-detail-provenance-section[data-open="false"],
.dream-track-detail-provenance-section:not([data-open]) {
  display: none !important;
}
/* 44px min-height touch target for provenance toggle */
.dream-provenance-toggle-btn {
  min-height: 44px !important;
  width: 100% !important;
  margin-top: 8px !important;
  justify-content: center !important;
}
@media (max-width: 640px) {
  .dream-provenance-toggle-btn {
    min-height: 44px !important;
    font-size: 13px !important;
  }
}
.dream-upload-steps {
  display: grid !important;
  gap: 10px !important;
}
.dream-upload-steps div {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 11px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.055) !important;
}
.dream-upload-steps strong {
  width: 30px !important;
  height: 30px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: var(--dw-green) !important;
  color: #050506 !important;
  font: 1000 13px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-upload-steps span {
  color: rgba(255,255,255,.72) !important;
  font: 700 13px/1.25 'DM Sans', system-ui, sans-serif !important;
}

.dream-account-stack {
  display: grid;
  gap: 12px;
}

.dream-account-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .85fr) !important;
  gap: 16px !important;
  overflow: visible !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
@media (min-width: 1280px) {
  .dream-account-shell {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .85fr) !important;
    align-items: start !important;
  }
  /* Logged-out shell: login first (col 1), install (col 2).
     Hero secondary sits below login in col 1 so it scrolls away on phone. */
  .dream-account-shell--logged-out .dream-account-hero-card--secondary {
    grid-column: 1 !important;
  }
  .dream-account-shell--logged-out .dream-account-login-section {
    grid-column: 1 !important;
  }
  .dream-account-shell--logged-out .dream-account-install-section {
    grid-column: 2 !important;
  }
  .dream-account-hero-card {
    min-height: 100% !important;
  }
  .dream-account-login-section,
  .dream-account-install-section {
    margin: 0 !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  .dream-account-login-section {
    padding-top: 0 !important;
  }
  .dream-account-install-section {
    grid-column: 2 !important;
  }
  .dream-account-hero-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 16px !important;
  }
  .dream-account-hero-list li:last-child {
    grid-column: 1 / -1 !important;
  }
  .dream-account-hero-list strong {
    font-size: 11.6px !important;
    letter-spacing: .06em !important;
  }
  .dream-account-hero-list span {
    font-size: 12px !important;
    line-height: 1.34 !important;
  }
}
.dream-account-hero-card {
  margin-bottom: 0 !important;
}
.dream-account-hero-list {
  list-style: none !important;
  display: grid !important;
  gap: 10px !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
}
.dream-account-hero-list li {
  display: grid !important;
  gap: 6px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.035) !important;
}
.dream-account-hero-list strong {
  display: block !important;
  margin: 0 0 2px !important;
  color: rgba(255,255,255,.95) !important;
  font: 800 12px/1.1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.dream-account-hero-list span {
  display: block !important;
  color: rgba(255,255,255,.76) !important;
  font: 600 13px/1.42 'DM Sans', system-ui, sans-serif !important;
}
.dream-account-login-section {
  padding-top: 14px !important;
}
.dream-account-topline {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}
.dream-account-topline h3 {
  margin: 4px 0 0 !important;
  color: #f7f8f8 !important;
  font: 800 clamp(20px, 4.8vw, 28px)/1.02 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: -.05em !important;
}
.dream-account-auth-close {
  appearance: none !important;
  border: none !important;
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.7) !important;
  border-radius: 8px !important;
  width: 44px !important;
  height: 44px !important;
  font-size: 16px !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  align-self: flex-start !important;
}
.dream-account-topline--with-close {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 10px !important;
  align-items: center !important;
}
.dream-account-topline--with-close h3 {
  margin: 0 !important;
}
.dream-account-plan-link {
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.03) !important;
  color: rgba(255,255,255,.72) !important;
  border-radius: 999px !important;
  min-height: 44px !important;
  padding: 0 12px !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.dream-account-auth-card {
  border: 1px solid rgba(255,255,255,.10) !important;
  background: linear-gradient(180deg, rgba(10,12,18,.96), rgba(8,9,14,.84)) !important;
  border-radius: 24px !important;
  padding: 20px !important;
  color: rgba(255,255,255,.82) !important;
  /* DW-VIS-NEW-1: ensure auth card layers above install surface on phone */
  /* DW-VIS-ACCOUNT-MODAL-BOTTOM: must clear bottom nav z:20, z:35 used here */
  position: relative !important;
  z-index: 35 !important;
}
.dream-account-auth-card--compact {
  padding: 18px !important;
}
.dream-account-auth-head {
  display: grid !important;
  gap: 8px !important;
  margin-bottom: 14px !important;
}
.dream-account-auth-head p {
  margin: 0 !important;
  color: rgba(255,255,255,.68) !important;
  font: 500 14px/1.45 'Inter', system-ui, sans-serif !important;
}
.dream-account-auth-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .92fr) !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
}
.dream-account-auth-actions--stacked {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}
.dream-account-auth-actions--stacked .dream-account-github-auth {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}
.dream-account-github-auth {
  min-height: 48px !important;
  width: 100% !important;
  background: var(--dw-green) !important;
  color: #050506 !important;
  border-color: var(--dw-green) !important;
}
.dream-account-email-row {
  display: flex !important;
  justify-content: flex-start !important;
}
.dream-account-email-toggle {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,.72) !important;
  font: 600 13px/1.35 'Inter', system-ui, sans-serif !important;
  text-align: left !important;
  padding: 0 2px !important;
}
.dream-account-auth-form-wrap {
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.028) !important;
  border-radius: 20px !important;
  padding: 14px !important;
}
.dream-account-auth-form-title {
  margin: 0 0 12px !important;
  color: rgba(255,255,255,.78) !important;
  font: 800 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.dream-account-auth-form {
  margin-top: 2px !important;
}
.dream-account-auth-footer {
  margin-top: 14px !important;
  display: flex !important;
  justify-content: flex-start !important;
}
.dream-profile-card--account {
  align-items: start;
  grid-template-columns: 58px minmax(0, 1fr) auto !important;
  gap: 14px !important;
}
.dream-account-identity {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}
.dream-profile-card--account h2 {
  font-size: clamp(24px, 6vw, 32px) !important;
  line-height: 1.04 !important;
  max-width: none !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}
.dream-account-badge-stack {
  display: grid !important;
  justify-items: end !important;
  align-self: start !important;
  gap: 8px !important;
}
.dream-account-quick-card {
  gap: 0 !important;
}
.dream-account-quick-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.dream-account-quick-grid button {
  width: 100% !important;
  min-height: 44px !important;
}
.dream-account-install-shell .dream-install-surface {
  margin: 0 !important;
}

/* Phone: stack account hero + install section vertically, no 2-col grid */
@media (max-width: 780px) {
  .dream-account-shell {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  .dream-account-install-section {
    grid-column: auto !important;
  }
}

@media (min-width: 780px) {
  .dream-app-sheet { padding: 0 !important; }
  .dream-app-panel {
    width: min(980px, 100%) !important;
    margin: 0 auto !important;
    border-left: 1px solid rgba(255,255,255,.08) !important;
    border-right: 1px solid rgba(255,255,255,.08) !important;
  }
}

@media (max-width: 460px) {
  .dream-app-panel { max-height: none !important; }
  .dream-app-content { max-height: none !important; padding-left: 14px !important; padding-right: 14px !important; padding-bottom: calc(var(--dream-mobile-tabs-clearance) + var(--dream-mobile-mini-clearance)) !important; }
  .dream-row-hint,
  .dream-provenance { margin-left: 44px !important; }
}

/* Phone: app-content always has bottom breathing room for mini player + nav */
@media (max-width: 520px) {
  .dream-app-content {
    padding-bottom: calc(var(--dream-mobile-tabs-clearance) + var(--dream-mobile-mini-clearance)) !important;
  }
  body.dream-app-open .dream-app-content {
    padding-bottom: calc(var(--dream-mobile-tabs-clearance) + var(--dream-mobile-mini-clearance)) !important;
  }
}

/* Creator discovery — Discover tab */
.dream-creator-cards {
  display: flex !important;
  gap: 12px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-x !important;
  padding: 0 2px !important;
}
.dream-creator-cards::-webkit-scrollbar { display: none !important; }
.dream-listen-again-scroll {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-x !important;
  padding: 0 2px 4px !important;
}
.dream-listen-again-scroll::-webkit-scrollbar { display: none !important; }
.dream-listen-again-scroll .dream-collection-row {
  flex: 0 0 220px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 10px !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 14px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}
.dream-listen-again-scroll .dream-row-play {
  flex-shrink: 0 !important;
  font-size: 14px !important;
  width: 28px !important;
  height: 28px !important;
  line-height: 28px !important;
  background: rgba(255,255,255,0.12) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.dream-listen-again-scroll .dream-row-art {
  width: 36px !important;
  height: 36px !important;
  flex-shrink: 0 !important;
  border-radius: 8px !important;
  object-fit: cover !important;
}
.dream-listen-again-scroll .dream-collection-track-copy {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  overflow: hidden !important;
  min-width: 0 !important;
}
.dream-listen-again-scroll .dream-collection-track-copy strong {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #fff !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-listen-again-scroll .dream-collection-track-copy em {
  font-size: 11px !important;
  color: rgba(255,255,255,0.50) !important;
  font-style: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-listen-again-scroll .dream-collection-track-actions {
  display: none !important;
}
.dream-section--trending {
  padding: 14px 16px !important;
  margin-bottom: 0 !important;
}
.dream-trending-scroll {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-x !important;
  padding: 0 2px 4px !important;
  padding-right: 12px !important;
  flex-shrink: 0 !important;
}
.dream-trending-scroll::-webkit-scrollbar { display: none !important; }
.dream-trending-scroll .dream-collection-row {
  flex: 0 0 min(260px, calc((100vw - 52px) / 2)) !important;
  display: flex !important;
  align-items: center !important;
  scroll-snap-align: start !important;
  padding: 10px 14px !important;
  max-width: min(260px, calc((100vw - 52px) / 2)) !important;
  box-sizing: border-box !important;
}
.dream-trending-scroll .dream-collection-track-main {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  flex-shrink: 0 !important;
}
.dream-trending-scroll .dream-collection-track-copy {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  overflow: hidden !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
.dream-trending-scroll .dream-collection-track-copy strong {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #fff !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-height: 1.4 !important;
  padding-bottom: 2px !important;
}
.dream-trending-scroll .dream-collection-track-copy em {
  font-size: 11px !important;
  color: rgba(255,255,255,0.50) !important;
  font-style: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.dream-trending-scroll .dream-row-stat {
  font-size: 10px !important;
  color: rgba(255,255,255,0.40) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.dream-trending-scroll .dream-collection-row {
  overflow: hidden !important;
}
.dream-trending-scroll .dream-collection-track-actions {
  display: none !important;
}
.dream-trending-scroll .dream-row-play {
  flex-shrink: 0 !important;
  font-size: 14px !important;
  width: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.dream-trending-scroll .dream-row-art {
  width: 36px !important;
  height: 36px !important;
  flex-shrink: 0 !important;
  border-radius: 8px !important;
  object-fit: cover !important;
}
.dream-section--listen-again {
  padding: 14px 16px !important;
  margin-bottom: 0 !important;
}
.dream-creator-card {
  flex: 0 0 200px !important;
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 14px !important;
  padding: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 10px !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
}
.dream-creator-card-avatar {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.10) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: #fff !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
.dream-creator-card-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.dream-creator-card-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  width: 100% !important;
}
.dream-creator-card-info strong {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #fff !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.dream-creator-card-info em {
  font-size: 12px !important;
  color: rgba(255,255,255,0.55) !important;
  font-style: normal !important;
}
.dream-creator-card-info span {
  font-size: 11px !important;
  color: rgba(255,255,255,0.40) !important;
}
.dream-toggle-creator-follow {
  margin-top: 4px !important;
  padding: 6px 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
}
.dream-toggle-creator-follow.following,
.dream-toggle-creator-follow[data-following="1"] {
  background: rgba(255,255,255,.1) !important;
  color: rgba(255,255,255,.92) !important;
  border-color: rgba(255,255,255,.2) !important;
}

/* Phone polish: hide app scroll chrome and make route nav feel intentional */
.dream-app-panel,
.dream-app-content {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.dream-app-panel::-webkit-scrollbar,
.dream-app-content::-webkit-scrollbar,
.dream-app-tabs::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
.dream-app-tabs {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  scroll-snap-type: x proximity !important;
  padding-right: 18px !important;
  mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 28px), rgba(0,0,0,0.15) 100%) !important;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 28px), rgba(0,0,0,0.15) 100%) !important;
}
.dream-app-tabs button {
  scroll-snap-align: start !important;
}
@media (max-width: 520px) {
  .dream-app-tabs button {
    padding: 8px 12px !important;
    font-size: 11px !important;
  }
  .dream-app-close {
    width: 40px !important;
    height: 40px !important;
  }
}


/* ── Player route: phone (max-width: 520px) ───────────────────────────── */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-surface {
    /* DW-VIS-249 fix: UP Next clips because parent chain (#minimal-ui → #dreamAppContent → #app-main)
       has a fixed height inherited from body (723px minus Android chrome ~76px = 647px).
       Override the fixed 443px min/max with flex-grow so surface expands to fill available space,
       allowing UP NEXT to scroll fully within the surface without bottom clipping.
       Remove calc-based constraints — use flex layout instead. */
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    overflow-y: auto !important;
    /* Override base translateY(100%) + opacity:0 which hides surface on phone */
    transform: translateY(0) !important;
    opacity: 1 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-layout {
    gap: 6px !important;
    overflow-y: auto !important;
    /* Override base grid with flex on phone so children can overflow-scroll */
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    /* Allow children to shrink — primary+secondary are taller than parent height */
    overflow: visible !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-primary,
  body.dream-app-open[data-dream-route="player"] .dream-player-secondary {
    flex-shrink: 1 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-art-wrap {
    width: min(72vw, 180px) !important;
    margin-top: 6px !important;
    border-radius: 14px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-info {
    gap: 3px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-info h2 {
    font-size: clamp(18px, 5.5vw, 24px) !important;
    max-width: 18ch !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-info--long h2,
  body.dream-app-open[data-dream-route="player"] .dream-player-info--cjk h2 {
    max-width: 14ch !important;
    font-size: clamp(16px, 5vw, 22px) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-info p {
    font-size: 12px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-kicker {
    font-size: 9px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-progress {
    max-width: 100% !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-progress-bar {
    height: 18px !important;
    min-height: 18px !important;
    touch-action: none !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-transport-card {
    padding: 12px !important;
    position: relative !important;
    z-index: 100 !important;
    /* DW-VIS-NEW-19 fix: allow scroll inside transport card so Up Next 3rd card is reachable */
    overflow-y: auto !important;
    max-height: calc(100dvh - 200px) !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-transport-card::-webkit-scrollbar {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-ctrl--play {
    width: 60px !important;
    height: 60px !important;
    font-size: 20px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-ctrl {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    font-size: 16px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-controls {
    gap: 8px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-section {
    padding: 10px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-context-card {
    padding: 10px !important;
  }
 body.dream-app-open[data-dream-route="player"] .dream-player-close {
 top: 10px !important;
 left: 10px !important;
 right: auto !important;
 width: auto !important;
 min-width: 44px !important;
 height: 44px !important;
 padding: 0 13px !important;
 font-size: 13px !important;
 touch-action: manipulation !important;
 z-index: 300 !important;
}
  body.dream-app-open[data-dream-route="player"] .dream-player-actions {
    gap: 6px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-action--compact {
    width: min(34vw, 132px) !important;
    padding: 6px 10px !important;
    font-size: 11px !important;
  }
/* DW-FEAT-029 + DW-FEAT-107: bottom recovery button — z-index above bg video layer + sticky at bottom */
/* Root cause: position:static ignores z-index; wrapper creates own stacking context */
/* AC-4 fix: make wrapper FIXED so button is always pinned above Android nav bar */
/* NEW FIX (v898): wrapper was inside scrollable surface — convert to position:fixed
   so it is viewport-relative, not scroll-relative. bottom clearance = 61px + safe-area. */
body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper {
 position: fixed !important;
 bottom: max(61px, calc(61px + env(safe-area-inset-bottom))) !important;
 left: 0 !important;
 right: 0 !important;
 width: 100% !important;
 justify-content: center !important;
 margin: 0 !important;
 padding: 0 14px !important;
 pointer-events: auto !important;
 background: transparent !important;
 z-index: 2140 !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper .dream-player-bottom-recovery,
body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery {
 position: fixed !important;
 bottom: max(61px, calc(61px + env(safe-area-inset-bottom))) !important;
 left: 50% !important;
 transform: translateX(-50%) !important;
 z-index: 2140 !important;
 pointer-events: auto !important;
 width: auto !important;
 min-width: 120px !important;
 max-width: 260px !important;
 height: 44px !important;
 border-radius: 999px !important;
 font-size: 13px !important;
 font-weight: 600 !important;
 appearance: none !important;
 border: 1.5px solid rgba(255,255,255,.3) !important;
 background: rgba(0,0,0,.55) !important;
 color: rgba(255,255,255,1) !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 cursor: pointer !important;
 flex: 1 !important;
 touch-action: manipulation !important;
 box-shadow: 0 2px 8px rgba(0,0,0,.3) !important;
}
}
/* DW-VIS-PLAYER-DETAIL-FOOTER-RECOVERY-DEAD: pinned-to-viewport recovery for the
   player dossier. Long-surface recovery contract: from any scroll position
   (including the bottom of the dossier, which is at y≈2500+ in a 3397px-tall
   player surface scroll owner), the user must have an in-app control that
   closes the dossier and resets the player route scroll. The element is
   rendered at the player surface boundary, then relocated to .dream-app-main
   (outside the scroll owner), so position:fixed in this rule pins it to the
   viewport rather than the surface. Sits above the existing "Back to controls"
   button (bottom: 61px) by 64px to avoid overlap. */
body.dream-app-open[data-dream-route="player"] .dream-player-dossier-footer-recovery-wrapper {
 position: fixed !important;
 bottom: max(125px, calc(125px + env(safe-area-inset-bottom))) !important;
 left: 0 !important;
 right: 0 !important;
 width: 100% !important;
 display: flex !important;
 justify-content: center !important;
 margin: 0 !important;
 padding: 0 14px !important;
 pointer-events: auto !important;
 background: transparent !important;
 z-index: 2130 !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-dossier-footer-recovery {
 position: relative !important;
 width: min(100%, 320px) !important;
 min-height: 44px !important;
 padding: 10px 14px !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 border-radius: 999px !important;
 background: linear-gradient(180deg, rgba(8,10,16,.94), rgba(6,8,14,.88)) !important;
 color: #fff !important;
 border: 1.5px solid rgba(255,255,255,.32) !important;
 font-size: 13px !important;
 font-weight: 600 !important;
 letter-spacing: .02em !important;
 cursor: pointer !important;
 touch-action: manipulation !important;
 -webkit-tap-highlight-color: transparent !important;
 box-shadow: 0 12px 24px rgba(0,0,0,.42), 0 0 0 1px rgba(0,0,0,.3) inset !important;
 backdrop-filter: blur(14px) saturate(120%) !important;
 -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
 appearance: none !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-dossier-footer-recovery:hover,
body.dream-app-open[data-dream-route="player"] .dream-player-dossier-footer-recovery:focus-visible {
 background: linear-gradient(180deg, rgba(14,18,30,.96), rgba(10,12,20,.92)) !important;
 border-color: rgba(255,255,255,.5) !important;
}
/* DW-FEAT-101: creator profile bottom-recovery — sticky footer at scroll bottom */
body.dream-app-open[data-dream-route="creator"] .dream-creator-bottom-recovery-wrapper {
 display: flex !important;
 width: 100% !important;
 justify-content: center !important;
 padding: 10px 14px calc(10px + env(safe-area-inset-bottom)) !important;
 position: static !important;
 bottom: auto !important;
 z-index: 1 !important;
 pointer-events: auto !important;
 background: transparent !important;
 flex-shrink: 0 !important;
 margin: 12px 0 84px !important;
 }
body.dream-app-open[data-dream-route="creator"] .dream-creator-bottom-recovery {
 position: static !important;
 width: auto !important;
 min-width: 140px !important;
 max-width: 280px !important;
 height: 44px !important;
 border-radius: 999px !important;
 font-size: 13px !important;
 font-weight: 600 !important;
 appearance: none !important;
 border: 1px solid rgba(255,255,255,.18) !important;
 background: rgba(255,255,255,.09) !important;
 color: rgba(255,255,255,.82) !important;
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 cursor: pointer !important;
 z-index: 2 !important;
 flex: 1 !important;
 touch-action: manipulation !important;
}


/* ── Player route: hide sidebar at mobile widths (≤ 519px) ──────────── */
@media (max-width: 520px) {
  /* Hide sidebar nav + mini-player + expanded card on player route */
  body.dream-app-open[data-dream-route="player"] .dream-desktop-sidebar,
  body.dream-app-open[data-dream-route="player"] .mini-now-playing,
  body.dream-app-open[data-dream-route="player"] #miniNowPlaying,
  body.dream-app-open[data-dream-route="player"] #miniNowPlayingExpanded,
  body.dream-app-open[data-dream-route="player"] .dream-bottom-tabs {
    display: none !important;
  }

  /* Player takes full width on mobile */
  body.dream-app-open[data-dream-route="player"] .dream-app-main {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Prevent body scroll and zoom on player route — lock scroll, don't fix position */
  body.dream-app-open[data-dream-route="player"] {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  /* Ensure the player surface content doesn't overflow horizontally */
  body.dream-app-open[data-dream-route="player"] .dream-player-layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-primary,
  body.dream-app-open[data-dream-route="player"] .dream-player-secondary {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
}

/* App-open scroll lock: route content scrolls, document itself does not */
body.dream-app-open {
  overflow: hidden !important;
  height: 100dvh !important;
}
/* Final mobile nav: no clipped half-tabs on phone */
@media (max-width: 520px) {
  .dream-app-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    overflow: visible !important;
    gap: 6px !important;
    padding-right: 0 !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }
  .dream-app-tabs button {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 8px 6px !important;
    font-size: 10.5px !important;
    letter-spacing: .08em !important;
  }
  .dream-hero-actions,
  .dream-action-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .dream-hero-actions .dream-primary {
    grid-column: 1 / -1 !important;
  }
  .dream-hero-actions .dream-primary,
  .dream-hero-actions .dream-secondary,
  .dream-action-grid button {
    width: 100% !important;
    min-height: 42px !important;
  }
}

/* Core app slice: compact library + agent surfaces */
.dream-collection-list {
  display: grid !important;
  gap: 8px !important;
}
.dream-collection-row {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px !important;
  border-radius: 16px !important;
  background: rgba(10,10,16,0.55) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}
.dream-collection-icon {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: rgba(29,185,84,.14) !important;
  color: var(--dw-green) !important;
  font: 900 15px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-collection-row strong,
.dream-collection-row em {
  display: block !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-collection-row strong {
  color: rgba(255,255,255,.92) !important;
  font: 850 13px/1.2 'DM Sans', system-ui, sans-serif !important;
}
.dream-collection-row em {
  margin-top: 3px !important;
  color: rgba(255,255,255,.66) !important;
  font: 650 11px/1.2 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
}
.dream-status-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 9px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.85) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  font: 900 9.5px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

/* DW-FEAT-014: Agent draft inline playback */
.dream-draft-row {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px !important;
  border-radius: 16px !important;
  background: rgba(10,10,16,0.85) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  min-height: 44px !important;
}
.dream-draft-play-btn {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: rgba(29,185,84,.18) !important;
  border: 1.5px solid rgba(29,185,84,.45) !important;
  color: var(--dw-green) !important;
  font-size: 16px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0 !important;
  -webkit-tap-highlight-color: transparent !important;
  touch-action: manipulation !important;
}
.dream-draft-play-btn:active {
  background: rgba(29,185,84,.32) !important;
  transform: scale(.95) !important;
}
.dream-draft-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.dream-draft-info strong,
.dream-draft-info em {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-draft-info strong {
  color: rgba(255,255,255,.92) !important;
  font: 850 13px/1.2 'DM Sans', system-ui, sans-serif !important;
}
.dream-draft-info em {
  color: rgba(255,255,255,.66) !important;
  font: 650 11px/1.2 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
}

.dream-agent-draft-track-list {
  display: grid !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

.dream-agent-draft-track-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background: rgba(7,8,11,.28) !important;
}

.dream-agent-draft-track-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  min-width: 0 !important;
}

.dream-agent-draft-track-meta strong,
.dream-agent-draft-track-meta em {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.dream-agent-draft-track-meta strong {
  color: rgba(255,255,255,.92) !important;
  font: 800 13px/1.2 'DM Sans', system-ui, sans-serif !important;
}

.dream-agent-draft-track-meta em {
  color: rgba(255,255,255,.76) !important;
  font: 600 11px/1.2 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
}

.dream-agent-draft-track-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 6px !important;
}

.dream-agent-draft-track-action {
  min-height: 44px !important;
  padding: 10px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.92) !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
}

.dream-agent-draft-track-note {
  margin: 8px 2px 0 !important;
  color: rgba(255,255,255,.56) !important;
  font: 600 11px/1.4 'DM Sans', system-ui, sans-serif !important;
}

/* FIX 1: track row / collection row album art — prevent border-radius from clipping artwork */
.dream-collection-row .dream-cover-thumb,
.dream-track-row .dream-cover-thumb,
.dream-shelf-grid .dream-cover-thumb img,
.dream-collection-grid .dream-cover-thumb img,
.library-grid .dream-cover-thumb img {
  overflow: hidden !important;
  border-radius: inherit !important;
}

.dream-agent-prompts {
  display: grid !important;
  gap: 8px !important;
}
.dream-agent-prompt {
  width: 100% !important;
  min-height: 44px !important;
  padding: 11px 13px !important;
  border-radius: 15px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  background: rgba(0,0,0,.2) !important;
  color: rgba(255,255,255,.84) !important;
  text-align: left !important;
  font: 800 13px/1.2 'DM Sans', system-ui, sans-serif !important;
}
.dream-agent-prompt:active,
.dream-agent-prompt:hover {
  border-color: rgba(29,185,84,.45) !important;
  background: rgba(29,185,84,.10) !important;
}

/* Agent prompt history items — two-line chip with label + relative time */
.dream-agent-prompt-history {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
  min-height: 52px !important;
  padding: 8px 13px !important;
}
.dream-agent-history-label {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,.88) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}
.dream-agent-history-time {
  font-size: 10px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.38) !important;
}

/* Agent custom prompt input row */
.dream-agent-custom-wrap {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
}
.dream-agent-custom-input {
  flex: 1 1 auto !important;
  min-height: 44px !important;
  padding: 10px 13px !important;
  border-radius: 15px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.95) !important;
  font: 700 13px/1.2 'DM Sans', system-ui, sans-serif !important;
  outline: none !important;
  -webkit-appearance: none !important;
}
.dream-agent-custom-input::placeholder {
  color: rgba(255,255,255,.30) !important;
  font-weight: 500 !important;
}
.dream-agent-custom-input:focus {
  border-color: rgba(29,185,84,.55) !important;
  background: rgba(255,255,255,.10) !important;
}
.dream-agent-custom-btn {
  flex: 0 0 auto !important;
  min-height: 44px !important;
  padding: 10px 18px !important;
  border-radius: 15px !important;
  border: 1px solid rgba(29,185,84,.45) !important;
  background: rgba(29,185,84,.14) !important;
  color: rgba(29,185,84,1) !important;
  font: 800 13px/1 'DM Sans', system-ui, sans-serif !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}
.dream-agent-custom-btn:active {
  background: rgba(29,185,84,.28) !important;
}

/* DW-FEAT-025: Agent context toggle */
.dream-agent-context-toggle {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin-top: 9px !important;
  cursor: pointer !important;
  user-select: none !important;
}
.dream-agent-context-toggle input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  cursor: pointer !important;
  accent-color: rgba(29,185,84,.80) !important;
  flex: 0 0 auto !important;
}
.dream-agent-context-toggle span {
  color: rgba(255,255,255,.58) !important;
  font: 600 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .01em !important;
}

/* DW-FEAT-041: Agent conversation transcript */
.dream-conversation-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.dream-conversation-item {
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.04) !important;
}
.dream-conversation-item--user {
  background: rgba(29,185,84,.08) !important;
  border-color: rgba(29,185,84,.22) !important;
}
.dream-conversation-item--agent {
  background: rgba(120,80,220,.08) !important;
  border-color: rgba(120,80,220,.22) !important;
}
.dream-conv-icon {
  font-size: 16px !important;
  line-height: 1.4 !important;
  flex: 0 0 auto !important;
  padding-top: 1px !important;
  color: rgba(255,255,255,.55) !important;
}
.dream-conversation-item--user .dream-conv-icon { color: rgba(29,185,84,.80) !important; }
.dream-conversation-item--agent .dream-conv-icon { color: rgba(120,80,220,.80) !important; }
.dream-conv-body {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.dream-conv-label {
  display: block !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.38) !important;
  margin-bottom: 3px !important;
}
.dream-conv-text {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.88) !important;
  margin: 0 0 3px 0 !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
}
.dream-conv-summary {
  font-size: 11px !important;
  color: rgba(255,255,255,.50) !important;
  margin: 0 0 2px 0 !important;
  font-style: italic !important;
}
.dream-conv-time {
  display: block !important;
  font-size: 10px !important;
  color: rgba(255,255,255,.28) !important;
}

/* DW-FEAT-041: Draft summary card */
.dream-draft-summary-card {
  padding: 12px 14px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(29,185,84,.28) !important;
  background: rgba(29,185,84,.07) !important;
  margin-bottom: 10px !important;
}
.dream-draft-summary-name {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: rgba(255,255,255,.92) !important;
  margin: 0 0 4px 0 !important;
}
.dream-draft-summary-meta {
  font-size: 11px !important;
  color: rgba(255,255,255,.48) !important;
  margin: 0 0 4px 0 !important;
}
.dream-draft-summary-prompt {
  font-size: 10px !important;
  color: rgba(255,255,255,.32) !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* DW-FEAT-041: Refinement chips */
.dream-refine-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}
.dream-refine-chip {
  flex: 0 0 auto !important;
  padding: 7px 13px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(120,80,220,.40) !important;
  background: rgba(120,80,220,.12) !important;
  color: rgba(200,170,255,.92) !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
}
.dream-refine-chip:active {
  background: rgba(120,80,220,.28) !important;
  border-color: rgba(120,80,220,.65) !important;
}
.dream-refine-chip:hover {
  border-color: rgba(120,80,220,.65) !important;
  background: rgba(120,80,220,.20) !important;
}

/* DW-FEAT-042: Save-as-playlist button on draft summary card */
.dream-draft-save-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 10px !important;
  padding: 9px 18px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(0,200,120,.45) !important;
  background: rgba(0,200,120,.14) !important;
  color: rgba(0,230,140,.95) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  min-height: 44px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  width: 100% !important;
}
.dream-draft-save-btn:active {
  background: rgba(0,200,120,.28) !important;
  border-color: rgba(0,200,120,.75) !important;
  transform: scale(.97) !important;
}
.dream-draft-save-btn:hover {
  border-color: rgba(0,200,120,.75) !important;
  background: rgba(0,200,120,.20) !important;
}

/* Row press-state + motion polish: tactile feedback for simplified rows
   Model: Play button + tappable row body + single More overflow.
   All press feedback here is additive — no new visible actions introduced. */
.dream-search-result-row,
.dream-collection-row,
.dream-collection-track-main,
.dream-collection-table-open,
.dream-playlist-track-row,
.dream-track-detail-action,
.dream-row-more-action,
.dream-player-preview-row {
  transition:
    background 140ms ease,
    border-color 140ms ease,
    box-shadow 140ms ease,
    transform 110ms cubic-bezier(.22,.68,0,1.2) !important;
  -webkit-transition:
    background 140ms ease,
    border-color 140ms ease,
    box-shadow 140ms ease,
    transform 110ms cubic-bezier(.22,.68,0,1.2) !important;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-y manipulation !important;
}
.dream-search-result-row:active,
.dream-collection-row:active,
.dream-collection-track-main:active,
.dream-collection-table-open:active,
.dream-playlist-track-row:active {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.16) !important;
  transform: scale(0.975) !important;
  box-shadow: 0 2px 14px rgba(0,0,0,.28) !important;
}
.dream-row-more-action:active {
  background: rgba(255,255,255,.11) !important;
  border-color: rgba(255,255,255,.20) !important;
  transform: scale(0.93) !important;
  box-shadow: 0 1px 6px rgba(0,0,0,.22) !important;
}
.dream-player-preview-row:active {
  background: rgba(255,255,255,.07) !important;
  transform: scale(0.982) !important;
}
.dream-track-detail-action {
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.dream-empty {
  padding: 13px !important;
  border-radius: 16px !important;
  border: 1px dashed rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.045) !important;
  color: rgba(255,255,255,.76) !important;
  font: 650 12px/1.35 'DM Sans', system-ui, sans-serif !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}
@media (max-width: 520px) {
  .dream-collection-row {
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    padding: 9px !important;
  }
  .dream-collection-row .dream-row-pill,
  .dream-collection-row .dream-status-chip {
    padding: 6px 7px !important;
    font-size: 9px !important;
  }
}

/* Phone polish v9: remove Android scroll chrome/artifacts and soften app header */
body.dream-app-open,
body.dream-app-open #app,
body.dream-app-open .dream-app-sheet,
body.dream-app-open .dream-app-panel,
body.dream-app-open .dream-app-content {
  overflow-x: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  overscroll-behavior: contain !important;
}
body.dream-app-open::-webkit-scrollbar,
body.dream-app-open #app::-webkit-scrollbar,
body.dream-app-open .dream-app-sheet::-webkit-scrollbar,
body.dream-app-open .dream-app-panel::-webkit-scrollbar,
body.dream-app-open .dream-app-content::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
@media (max-width: 520px) {
  .dream-app-header {
    padding: max(14px, env(safe-area-inset-top)) 16px 8px !important;
    gap: 10px !important;
  }
  .dream-app-header h1 {
    font-size: clamp(22px, 7.2vw, 28px) !important;
    letter-spacing: -.05em !important;
  }
  .dream-app-close {
    width: 34px !important;
    height: 34px !important;
    font-size: 14px !important;
    flex: 0 0 34px !important;
  }
  .dream-app-tabs {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-bottom: 12px !important;
  }
}

/* Phone polish v10: mask Android's unavoidable overlay scroll indicator at the far edge */
body.dream-app-open .dream-app-panel::after {
  display: none !important;
}
@media (min-width: 780px) {
  body.dream-app-open .dream-app-panel::after { display: none !important; }
}

/* Phone polish v11: push the mobile app scroll thumb outside the clipped panel */
@media (max-width: 520px) {
  body.dream-app-open .dream-app-panel {
    overflow: hidden !important;
  }
  body.dream-app-open .dream-app-content {
    width: calc(100% + 28px) !important;
    margin-right: -28px !important;
    padding-right: calc(16px + 28px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body.dream-app-open .dream-app-tabs,
  body.dream-app-open .dream-app-header {
    width: 100% !important;
  }
}
/* Phone polish v12: native edge handle is system UI; remove page-side hacks and simplify surfaces */
@media (max-width: 520px) {
  body.dream-app-open .dream-app-sheet {
    overflow: hidden !important;
  }
  body.dream-app-open .dream-app-panel {
    max-width: 100vw !important;
    overflow: hidden !important;
  }
  body.dream-app-open .dream-app-panel::after {
    display: none !important;
    content: none !important;
  }
  body.dream-app-open .dream-app-content {
    width: 100% !important;
    margin-right: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    scrollbar-color: transparent transparent !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body.dream-app-open .dream-app-content::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
  }
  body.dream-app-open .dream-app-header {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    padding: max(14px, env(safe-area-inset-top)) 16px 10px !important;
    gap: 9px !important;
  }
  body.dream-app-open .dream-app-header h1 {
    font-size: clamp(22px, 7vw, 27px) !important;
    letter-spacing: -.055em !important;
  }
  body.dream-app-open .dream-app-header p {
    margin-bottom: 5px !important;
  }
  body.dream-app-open .dream-app-header-actions {
    gap: 6px !important;
  }
  body.dream-app-open .dream-app-account {
    min-height: 34px !important;
    min-width: 74px !important;
    padding: 0 10px !important;
    font-size: 9.8px !important;
    letter-spacing: .09em !important;
  }
  body.dream-app-open .dream-app-close {
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px !important;
    background: rgba(255,255,255,.035) !important;
    border-color: rgba(255,255,255,.055) !important;
    color: rgba(255,255,255,.56) !important;
    font-size: 12px !important;
  }
  body.dream-app-open .dream-app-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 5px !important;
    padding: 0 16px 10px !important;
  }
  body.dream-app-open .dream-app-tabs button {
    padding: 7px 5px !important;
    font-size: 9.8px !important;
    letter-spacing: .06em !important;
    background: rgba(255,255,255,.043) !important;
    border-color: rgba(255,255,255,.055) !important;
    color: rgba(255,255,255,.76) !important;
  }
  body.dream-app-open .dream-app-tabs button.active {
    background: rgba(255,255,255,.93) !important;
    color: #050506 !important;
    border-color: rgba(255,255,255,.93) !important;
  }
  body.dream-app-open .dream-hero,
  body.dream-app-open .dream-profile-card,
  body.dream-app-open .dream-section,
  body.dream-app-open .dream-tier-card,
  body.dream-app-open .dream-metric {
    background: rgba(255,255,255,.045) !important;
    border-color: rgba(255,255,255,.062) !important;
    box-shadow: none !important;
  }
  body.dream-app-open .dream-hero {
    padding: 17px !important;
    border-radius: 20px !important;
    margin-bottom: 10px !important;
  }
  body.dream-app-open .dream-hero h2,
  body.dream-app-open .dream-profile-card h2 {
    font-size: clamp(24px, 6.8vw, 34px) !important;
    margin-bottom: 8px !important;
  }
  body.dream-app-open .dream-hero p:not(.dream-kicker),
  body.dream-app-open .dream-profile-card p:not(.dream-kicker) {
    font-size: 13px !important;
    line-height: 1.36 !important;
    color: rgba(255,255,255,.58) !important;
  }
  body.dream-app-open .dream-section {
    padding: 13px !important;
    margin-bottom: 10px !important;
    border-radius: 19px !important;
  }
  body.dream-app-open .dream-section h3 {
    font-size: 16px !important;
    margin-bottom: 10px !important;
  }
  body.dream-app-open .dream-agent-prompts {
    gap: 6px !important;
  }
  body.dream-app-open .dream-agent-prompt {
    min-height: 39px !important;
    padding: 9px 11px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.032) !important;
    border-color: rgba(255,255,255,.055) !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 12.5px !important;
  }
  body.dream-app-open .dream-collection-row {
    border-radius: 14px !important;
    background: rgba(10,10,16,0.45) !important;
    border-color: rgba(255,255,255,.10) !important;
  }
}

/* FIX 2: Library route — ensure adequate bottom padding on desktop so lower sections
   (Liked songs, Private tracks, etc.) clear the mini-player strip (~80–100px). */
@media (min-width: 521px) {
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content {
    padding-bottom: 180px !important;
  }
}
/* DW-VIS-193 + DW-VIS-BOTTOM-NAV-CONTENT-OVERLAP: Phone — increase bottom clearance so
   lower sections clear the stacked bottom chrome (mini-player ~52px + bottom nav ~65px +
   safe-area ~24px). Increased from 180px to 220px to ensure full content reaches below
   the tab bar top at ~650px on 384px viewport. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content {
    padding-bottom: max(224px, calc(56px + 72px + env(safe-area-inset-bottom) + 24px)) !important;
  }
}
/* Phone polish v13: let the cinematic video read through the app instead of becoming a black sheet */
body.dream-app-open .dream-app-sheet {
  background: rgba(0,0,0,.16) !important;
}
body.dream-app-open .dream-app-sheet::before {
  background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.42) 44%, rgba(0,0,0,.62)) !important;
}
body.dream-app-open .dream-app-panel {
  background: linear-gradient(180deg, rgba(9,10,14,.35), rgba(5,5,8,.55)) !important;
  backdrop-filter: blur(22px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.08) !important;
}
@media (max-width: 520px) {
  body.dream-app-open .dream-app-panel {
    background: linear-gradient(180deg, rgba(9,10,14,.28), rgba(5,5,8,.48)) !important;
  }
  body.dream-app-open .dream-hero,
  body.dream-app-open .dream-profile-card,
  body.dream-app-open .dream-section,
  body.dream-app-open .dream-tier-card,
  body.dream-app-open .dream-metric {
    background: rgba(12,13,18,.38) !important;
    border-color: rgba(255,255,255,.07) !important;
    backdrop-filter: blur(16px) saturate(1.06) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.06) !important;
  }
  body.dream-app-open .dream-agent-prompt,
  body.dream-app-open .dream-collection-row,
  body.dream-app-open .dream-empty {
    background: rgba(7,8,11,.30) !important;
    border-color: rgba(255,255,255,.06) !important;
  }
  body.dream-app-open .dream-app-tabs button {
    background: rgba(7,8,11,.34) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
  }
  body.dream-app-open .dream-app-tabs button.active {
    background: rgba(255,255,255,.92) !important;
  }
}

/* v15 DW-FEAT-038: backend-sync library status — improved contrast, visibility, and signed-in chip */
.dream-library-source {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 999px !important;
  background: rgba(4,6,10,.38) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
}
.dream-library-source strong {
  color: rgba(255,255,255,1) !important;
  font: 850 10.5px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.dream-library-source span {
  color: rgba(255,255,255,.72) !important;
  font: 600 11.5px/1.2 'DM Sans', system-ui, sans-serif !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
/* Synced state: stronger visual signal for signed-in users */
body.dream-app-open .dream-library-source.dream-library-source--synced {
  border-color: rgba(0,200,120,.28) !important;
  background: rgba(0,140,80,.18) !important;
}
body.dream-app-open .dream-library-source.dream-library-source--synced strong {
  color: rgba(0,255,140,.95) !important;
}
@media (max-width: 520px) {
  .dream-library-source {
    width: 100% !important;
    justify-content: flex-start !important;
    padding: 7px 11px !important;
  }
  .dream-library-source span {
    font-size: 10.5px !important;
  }
}
.dream-library-status-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 12px !important;
}
.dream-library-status-row .dream-library-source {
  flex: 1 1 260px !important;
  margin: 0 !important;
}
.dream-hero-actions--library {
  display: flex !important;
  margin-top: 10px !important;
}
.dream-hero-create-playlist-form {
  margin-top: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.dream-hero-playlist-name-input {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 9px 14px !important;
  font-size: 14px !important;
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 12px !important;
  color: #fff !important;
  outline: none !important;
}
.dream-hero-playlist-name-input::placeholder {
  color: rgba(255,255,255,0.35) !important;
}
.dream-hero-playlist-name-input:focus {
  border-color: rgba(255,255,255,0.38) !important;
  background: rgba(255,255,255,0.10) !important;
}
.dream-hero-create-playlist-actions {
  display: flex !important;
  gap: 8px !important;
}
.dream-library-toolbar {
  display: grid !important;
  gap: 14px !important;
  margin-bottom: 14px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 22px !important;
  background: rgba(10,12,18,.66) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.dream-library-toolbar-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
.dream-library-toolbar-head h3 {
  margin: 0 !important;
  font: 800 18px/1.05 'DM Sans', system-ui, sans-serif !important;
  color: rgba(255,255,255,.96) !important;
}
.dream-library-toolbar-meta {
  max-width: 320px !important;
  color: rgba(255,255,255,.56) !important;
  font: 600 12px/1.4 'DM Sans', system-ui, sans-serif !important;
  text-align: right !important;
}
.dream-library-toolbar-controls {
  display: grid !important;
  gap: 12px !important;
}
.dream-library-toolbar-utility-row {
  display: grid !important;
  gap: 10px !important;
  min-width: 0 !important;
  overflow: visible !important;
  grid-template-columns: minmax(0, 1fr) min-content !important;
}
.dream-library-search-field {
  display: grid !important;
  gap: 7px !important;
  min-width: 0 !important;
}
.dream-library-search-field span {
  color: rgba(255,255,255,.58) !important;
  font: 800 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
#dreamLibrarySearchInput {
  width: 100% !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.045) !important;
  color: rgba(255,255,255,.94) !important;
  padding: 12px 14px !important;
}
#dreamLibrarySearchInput::placeholder {
  color: rgba(255,255,255,.36) !important;
}
#dreamLibrarySearchInput:focus {
  outline: none !important;
  border-color: rgba(30,215,96,.55) !important;
  background: rgba(255,255,255,.07) !important;
}
/* Playlist filter input — DW-FEAT-079 */
.dream-playlist-filter-wrap {
  width: 100% !important;
  margin-bottom: 6px !important;
}
.dream-playlist-filter-label {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
}
.dream-playlist-filter-label span {
  color: rgba(255,255,255,.58) !important;
  font: 800 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
#dreamPlaylistFilterInput {
  width: 100% !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.045) !important;
  color: rgba(255,255,255,.94) !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
}
#dreamPlaylistFilterInput::placeholder {
  color: rgba(255,255,255,.36) !important;
}
/* DW-FEAT-092: playlist sort pills */
.dream-playlist-sort-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-bottom: 6px !important;
}
.dream-sort-pill {
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.05) !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  padding: 6px 12px !important;
  min-height: 44px !important;
  cursor: pointer !important;
  transition: background .15s, color .15s, border-color .15s !important;
}
.dream-sort-pill.active {
  background: rgba(30,215,96,.18) !important;
  border-color: rgba(30,215,96,.55) !important;
  color: rgba(30,215,96,.95) !important;
}
.dream-sort-pill:active {
  background: rgba(30,215,96,.28) !important;
}
/* DW-FEAT-099: creator track sort pills — ≥44px touch targets on phone */
.dream-creator-sort-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-bottom: 6px !important;
}
.dream-creator-sort-pills .dream-sort-pill {
  min-height: 44px !important;
  padding: 6px 12px !important;
}
/* DW-FEAT-098: playlist visibility quick-filter pills */
.dream-playlist-visibility-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-bottom: 4px !important;
}
.dream-visibility-filter-pill {
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.04) !important;
  color: rgba(255,255,255,.6) !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  padding: 5px 10px !important;
  min-height: 32px !important;
  cursor: pointer !important;
  transition: background .15s, color .15s, border-color .15s !important;
}
.dream-visibility-filter-pill.active {
  background: rgba(168,100,255,.18) !important;
  border-color: rgba(168,100,255,.5) !important;
  color: rgba(168,100,255,.95) !important;
}
.dream-visibility-filter-pill:active {
  background: rgba(168,100,255,.28) !important;
}
#dreamPlaylistFilterInput:focus {
  outline: none !important;
  border-color: rgba(30,215,96,.55) !important;
  background: rgba(255,255,255,.07) !important;
}
.dream-library-filter-row,
.dream-library-view-modes,
.dream-library-workspace-modes {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.dream-library-toolbar-mode-cluster {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  flex-direction: row !important;
  align-items: center !important;
}
/* Combine filter + view mode + layout into a single compact row */
.dream-library-toolbar .dream-library-filter-row,
.dream-library-toolbar .dream-library-view-modes,
.dream-library-toolbar .dream-library-workspace-modes {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.dream-library-toolbar [role="tablist"] {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  gap: 6px !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}
.dream-library-toolbar [role="tablist"]::-webkit-scrollbar {
  display: none !important;
}
/* DW-FEAT-124: two-row layout for My Playlists section heading */
.dream-playlists-head-top {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  align-items: center !important;
  margin-bottom: 6px !important;
}
.dream-playlists-head-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  align-items: center !important;
}
.dream-playlists-head-row h3 { margin: 0 !important; flex: 0 0 auto !important; }
.dream-playlists-head-row .dream-create-playlist-action { flex: 0 0 auto !important; }
.dream-playlists-head-row .dream-status-chip { flex: 0 0 auto !important; }
.dream-section--library-playlists .dream-section-head {
  flex-direction: column !important;
  align-items: stretch !important;
}
.dream-library-filter {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 34px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  background: rgba(255,255,255,.04) !important;
  color: rgba(255,255,255,.8) !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-library-view-mode,
.dream-library-workspace-mode {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  background: rgba(255,255,255,.03) !important;
  color: rgba(255,255,255,.72) !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-library-filter span {
  color: rgba(255,255,255,.52) !important;
  font-size: 10px !important;
}
.dream-library-filter.active,
.dream-library-view-mode.active,
.dream-library-workspace-mode.active {
  background: rgba(30,215,96,.14) !important;
  border-color: rgba(30,215,96,.34) !important;
  color: rgba(216,255,230,.98) !important;
}
.dream-library-filter.active span {
  color: rgba(216,255,230,.8) !important;
}
/* Library Sub-Tabs — mobile-first prominent tab bar (DW-FEAT-056) */
.dream-library-sub-tabs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 6px !important;
  padding: 10px 14px !important;
  position: relative !important;
  z-index: 5 !important;
}
.dream-library-sub-tab {
  appearance: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  min-height: 44px !important;
  padding: 6px 4px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  background: rgba(255,255,255,.04) !important;
  color: rgba(255,255,255,.68) !important;
  font: 600 10.5px/1 'DM Sans', system-ui, sans-serif !important;
  text-align: center !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease !important;
}
.dream-library-sub-tab span {
  color: rgba(255,255,255,.45) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}
.dream-library-sub-tab.active {
  background: rgba(30,215,96,.14) !important;
  border-color: rgba(30,215,96,.34) !important;
  color: rgba(216,255,230,.98) !important;
}
.dream-library-sub-tab.active span {
  color: rgba(216,255,230,.8) !important;
}
@media (min-width: 1100px) {
  .dream-library-toolbar {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 10px !important;
    padding: 12px 14px !important;
  }
  .dream-library-toolbar-head {
    justify-content: flex-start !important;
    gap: 0 !important;
  }
  .dream-library-toolbar-controls {
    align-items: stretch !important;
    gap: 8px !important;
  }
  .dream-library-toolbar-utility-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 10px !important;
  }
  .dream-library-toolbar-mode-cluster {
    justify-items: end !important;
    align-self: start !important;
  }
  .dream-library-workspace-modes,
  .dream-library-view-modes {
    justify-content: flex-start !important;
  }
}
@media (max-width: 640px) {
  .dream-library-toolbar {
    padding: 14px !important;
    gap: 12px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    position: relative !important;
    /* Layered gradient fade on right edge to indicate scroll affordance */
    background-image: linear-gradient(90deg, rgba(10,12,18,0), rgba(10,12,18,.72)) !important;
    background-position: right center !important;
    background-size: 32px 100% !important;
    background-repeat: no-repeat !important;
  }
  .dream-library-toolbar::-webkit-scrollbar {
    display: none !important;
  }
  .dream-library-toolbar::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 32px !important;
    background: linear-gradient(90deg, rgba(10,12,18,0), rgba(10,12,18,.72)) !important;
    pointer-events: none !important;
    z-index: 10 !important;
    border-radius: 0 22px 22px 0 !important;
  }
  .dream-library-toolbar-head {
    display: grid !important;
  }
  .dream-library-toolbar-meta {
    max-width: none !important;
    text-align: left !important;
  }
  .dream-library-workspace-modes,
  .dream-library-view-modes {
    /* Removed: display: none !important — allow buttons to wrap/flex on narrow screens */
    justify-content: flex-start !important;
  }
  /* DW-VIS-NEW-43: Shared tab clipped — filter row must scroll horizontally on narrow screens, not wrap */
  .dream-library-filter-row {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }
  .dream-library-filter-row::-webkit-scrollbar {
    display: none !important;
  }
  .dream-library-toolbar-mode-cluster {
    flex-shrink: 0 !important;
  }
  .dream-library-status-row {
    flex-wrap: wrap !important;
    overflow-x: visible !important;
  }
  .dream-hero--library .dream-library-status-row {
    flex-wrap: wrap !important;
  }
}
.dream-empty--library-playlists {
  position: relative !important;
  z-index: 4 !important;
  padding: 11px 12px !important;
  border-radius: 14px !important;
  font-size: 11px !important;
}
.dream-empty--library-playlists .dream-create-playlist-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  margin-top: 10px !important;
  padding: 0 14px !important;
}

/* v16 mobile polish: de-crowd the top of the app sheet and tighten card rhythm */
@media (max-width: 520px) {
  body.dream-app-open .dream-app-header {
    align-items: flex-start !important;
    padding: max(12px, env(safe-area-inset-top)) 14px 6px !important;
    gap: 10px !important;
  }
  body.dream-app-open .dream-app-header > div {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    padding-right: 2px !important;
  }
  body.dream-app-open .dream-app-header p,
  body.dream-app-open .dream-kicker {
    margin-bottom: 4px !important;
    font-size: 9px !important;
    letter-spacing: .16em !important;
    color: rgba(255,255,255,.46) !important;
  }
  body.dream-app-open .dream-app-header h1 {
    font-size: clamp(20px, 6.6vw, 24px) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
  }
  body.dream-app-open .dream-app-close {
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    margin-top: 2px !important;
    border-color: rgba(255,255,255,.09) !important;
    background: rgba(255,255,255,.06) !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 12px !important;
  }
  body.dream-app-open .dream-app-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    gap: 4px !important;
    padding: 0 14px 8px !important;
    scroll-padding-left: 14px !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }
  body.dream-app-open .dream-app-tabs button {
    width: auto !important;
    flex: 0 0 auto !important;
    min-height: 30px !important;
    padding: 6px 6px !important;
    font-size: 9.25px !important;
    letter-spacing: .02em !important;
    white-space: nowrap !important;
    background: rgba(7,8,11,.28) !important;
    border-color: rgba(255,255,255,.075) !important;
    color: rgba(255,255,255,.68) !important;
  }
  body.dream-app-open .dream-app-tabs button.active {
    background: rgba(255,255,255,.95) !important;
    border-color: rgba(255,255,255,.95) !important;
    color: #050506 !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
  }
  body.dream-app-open .dream-app-content {
    padding: 0 14px calc(108px + env(safe-area-inset-bottom)) !important;
  }
  body.dream-app-open .dream-hero,
  body.dream-app-open .dream-profile-card {
    padding: 15px !important;
    border-radius: 18px !important;
    margin-bottom: 9px !important;
  }
  body.dream-app-open .dream-hero h2,
  body.dream-app-open .dream-profile-card h2 {
    font-size: clamp(22px, 5.8vw, 28px) !important;
    margin-bottom: 6px !important;
  }
  body.dream-app-open .dream-hero p:not(.dream-kicker),
  body.dream-app-open .dream-profile-card p:not(.dream-kicker) {
    font-size: 12px !important;
    line-height: 1.32 !important;
  }
  body.dream-app-open .dream-hero-actions,
  body.dream-app-open .dream-action-grid {
    gap: 6px !important;
    margin-top: 12px !important;
  }
  body.dream-app-open .dream-hero-actions .dream-primary,
  body.dream-app-open .dream-hero-actions .dream-secondary,
  body.dream-app-open .dream-action-grid button {
    min-height: 44px !important;
    padding: 9px 11px !important;
    font-size: 10.5px !important;
  }
  body.dream-app-open .dream-section,
  body.dream-app-open .dream-tier-card,
  body.dream-app-open .dream-metric {
    padding: 11px !important;
    border-radius: 16px !important;
    margin-bottom: 8px !important;
  }
  body.dream-app-open .dream-section h3 {
    margin-bottom: 8px !important;
    font-size: 15px !important;
  }
  body.dream-app-open .dream-metrics {
    gap: 6px !important;
    margin-bottom: 8px !important;
  }
}


/* DREAMWAVE shell polish — account, playlist CRUD, and track detail surfaces */
.dream-app-panel {
  width: min(1120px, calc(100vw - 28px)) !important;
}
.dream-app-content {
  padding: 0 22px 36px !important;
}
.dream-app-content > * {
  min-width: 0 !important;
}
.dream-hero,
.dream-section,
.dream-profile-card,
.dream-track-detail-surface {
  border-radius: 28px !important;
  backdrop-filter: blur(6px) saturate(110%) !important;
}
.dream-hero {
  padding: clamp(22px, 4vw, 34px) !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}
.dream-hero h2,
.dream-profile-card h2,
.dream-track-detail-copy h3 {
  font-size: clamp(26px, 3.6vw, 40px) !important;
  line-height: 1.02 !important;
  max-width: 100% !important;
  text-wrap: balance !important;
}
.dream-metrics {
  gap: 14px !important;
  margin: 16px 0 18px !important;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
}
.dream-section,
.dream-track-detail-surface {
  padding: clamp(18px, 3vw, 26px) !important;
  margin-top: 16px !important;
}
.dream-section-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 16px !important;
}
.dream-library-source,
.dream-inline-feedback,
.dream-account-helper {
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.045) !important;
  border-radius: 18px !important;
  padding: 12px 14px !important;
  margin-top: 14px !important;
}
.dream-inline-feedback[hidden] {
  display: none !important;
}
.dream-account-subnav {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  margin-bottom: 14px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}
.dream-account-subnav-btn,
.dream-playlist-select,
.dream-action-grid button,
.dream-close-detail-action {
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
  border-radius: 14px !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease !important;
  font-size: 12px !important;
}
.dream-account-subnav-btn,
.dream-close-detail-action {
  padding: 7px 10px !important;
  font-size: 11px !important;
  white-space: nowrap !important;
  min-height: 44px !important;
}
.dream-account-subnav-btn {
  text-align: center !important;
  justify-content: center !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 44px !important;
}
.dream-hero-actions {
  display: flex !important;
  gap: 9px !important;
  flex-wrap: wrap !important;
  margin-top: 16px !important;
}
.dream-hero-actions button,
.dream-section-head button {
  min-height: 44px !important;
}
.dream-account-subnav-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 6px !important;
  border-radius: 999px !important;
  background: rgba(255, 113, 206, 0.22) !important;
  border: 1px solid rgba(255, 179, 226, 0.42) !important;
  color: rgba(255,255,255,.96) !important;
  font: 800 10px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-account-subnav-btn.active .dream-account-subnav-badge {
  background: rgba(255, 113, 206, 0.3) !important;
}
.dream-notification-list {
  display: grid !important;
  gap: 10px !important;
  margin-top: 12px !important;
}
.dream-notification-row-wrap {
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.03) !important;
  overflow: hidden !important;
}
.dream-notification-row-wrap.is-unread {
  border-color: rgba(255, 113, 206, 0.28) !important;
  box-shadow: 0 0 0 1px rgba(255, 113, 206, 0.08) inset !important;
}
.dream-notification-type-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  font-size: 15px !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  margin-right: 6px !important;
}
.dream-notification-read-action {
  min-height: 44px !important;
  padding: 8px 14px !important;
}
.dream-activity-action {
  min-height: 44px !important;
}
.dream-notification-row-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 0 14px 14px !important;
}
.dream-notification-row-state {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: rgba(255,255,255,.68) !important;
  font: 800 10px/1 'DM Sans', system-ui, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}
.dream-notification-row-wrap.is-unread .dream-notification-row-state {
  color: rgba(255, 190, 228, 0.96) !important;
}
.dream-notification-actions {
  margin-top: 14px !important;
}
.dream-notification-inbox-card--full .dream-notification-list {
  gap: 12px !important;
}
.dream-account-subnav-btn.active,
.dream-playlist-select.active {
  background: rgba(156, 111, 255, .22) !important;
  border-color: rgba(201, 176, 255, .55) !important;
}

/* Narrow phone — tighter sub-tabs */
@media (max-width: 420px) {
  .dream-account-subnav {
    gap: 5px !important;
    margin-bottom: 10px !important;
  }
  .dream-account-subnav-btn {
    padding: 7px 10px !important;
    font-size: 11px !important;
    border-radius: 12px !important;
    min-height: 44px !important;
  }
}
.dream-playlist-select {
  width: 100% !important;
  text-align: left !important;
}
.dream-playlist-sidebar .dream-playlist-select {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  padding: 14px 16px !important;
}
.dream-playlist-sidebar-preview,
.dream-collection-playlist-preview {
  display: block !important;
  margin-top: 4px !important;
  color: rgba(255,255,255,.52) !important;
  font: 600 10.5px/1.25 'DM Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-playlist-select em,
.dream-playlist-track-row em,
.dream-row-card .dream-row-hint,
.dream-account-helper,
.dream-library-source span,
.dream-inline-feedback {
  color: rgba(255,255,255,.70) !important;
  font-style: normal !important;
}
.dream-account-github-auth {
  background: var(--dw-green) !important;
  color: #050506 !important;
  border-color: var(--dw-green) !important;
}
.dream-account-github-auth:hover,
.dream-account-github-auth:focus-visible {
  background: color-mix(in srgb, var(--dw-green) 85%, white 15%) !important;
  border-color: color-mix(in srgb, var(--dw-green) 85%, white 15%) !important;
}
.dream-library-workspace {
  display: grid !important;
  grid-template-columns: minmax(240px, 300px) minmax(0, 1fr) !important;
  gap: 18px !important;
}
.dream-library-workspace > *,
.dream-track-detail-grid > * {
  min-width: 0 !important;
}
.dream-playlist-sidebar,
.dream-playlist-panel,
.dream-track-detail-grid {
  display: grid !important;
  gap: 16px !important;
}
.dream-playlist-list {
  display: grid !important;
  gap: 10px !important;
}
.dream-track-meta-card,
.dream-track-editor {
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(9,11,18,.72) !important;
  border-radius: 24px !important;
  padding: 18px !important;
}
.dream-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.dream-form-grid label {
  display: grid !important;
  gap: 8px !important;
}
.dream-form-span-2 {
  grid-column: span 2 !important;
}
.dream-form-grid input,
.dream-form-grid textarea,
.dream-form-grid select {
  width: 100% !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
  padding: 13px 14px !important;
}
.dream-form-grid textarea {
  min-height: 110px !important;
  resize: vertical !important;
}
.dream-track-detail-head {
  display: grid !important;
  grid-template-columns: 108px minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: center !important;
}
.dream-track-detail-art {
  width: 108px !important;
  height: 108px !important;
  object-fit: cover !important;
  border-radius: 24px !important;
}
.dream-detail-pills,
.dream-hero-actions,
.dream-row-actions,
.dream-action-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.dream-action-grid button,
.dream-row-pill,
.dream-primary,
.dream-secondary {
  min-height: 42px !important;
}
.dream-track-detail-grid {
  grid-template-columns: 1.2fr .95fr !important;
  margin-top: 18px !important;
}
.dream-provenance-static .dream-provenance {
  display: block !important;
  border-top: 0 !important;
  padding-top: 0 !important;
}
.dream-provenance-row {
  display: flex !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}
.dream-provenance-row:last-child {
  border-bottom: 0 !important;
}
.dream-playlist-track-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}
.dream-playlist-track-row:last-child {
  border-bottom: 0 !important;
}
.dream-playlist-track-row--matched {
  margin-bottom: 8px !important;
  padding: 12px 10px !important;
  border: 1px solid rgba(30,215,96,.20) !important;
  border-radius: 16px !important;
  border-bottom-color: rgba(30,215,96,.20) !important;
  background: linear-gradient(135deg, rgba(30,215,96,.10), rgba(9,11,18,.88)) !important;
}
.dream-playlist-track-row--matched:last-child {
  margin-bottom: 0 !important;
}
.dream-status-chip--playlist-match {
  background: rgba(30,215,96,.16) !important;
  border-color: rgba(30,215,96,.28) !important;
  color: rgba(235,255,242,.96) !important;
}
.dream-playlist-search-copy {
  margin: 0 0 12px !important;
  color: rgba(255,255,255,.72) !important;
  font: 600 11px/1.45 'DM Sans', system-ui, sans-serif !important;
}
.dream-track-meta-card--playlist-search-matches {
  border-color: rgba(30,215,96,.18) !important;
  background: linear-gradient(160deg, rgba(19,31,24,.78), rgba(9,11,18,.88)) !important;
}
.dream-playlist-track-main {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
}
button.dream-collection-row--playlist {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) minmax(0, max-content) !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 12px 14px !important;
  overflow: hidden !important;
}
.dream-library-table {
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 20px !important;
  background: rgba(7,9,14,.5) !important;
  overflow: hidden !important;
}
.dream-library-table-head,
button.dream-collection-table-row--playlist,
.dream-collection-table-row,
.dream-playlist-track-row--table {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(120px, .72fr) minmax(160px, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
}
.dream-library-table-head {
  padding: 12px 16px 10px !important;
  background: rgba(255,255,255,.04) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
.dream-library-table-head span {
  color: rgba(255,255,255,.54) !important;
  font: 800 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.dream-library-table-body {
  display: grid !important;
}
button.dream-collection-table-row--playlist,
.dream-collection-table-row,
.dream-playlist-track-row--table {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  background: transparent !important;
  text-align: left !important;
}
button.dream-collection-table-row--playlist:first-child,
.dream-collection-table-row:first-child,
.dream-playlist-track-row--table:first-child {
  border-top: 0 !important;
}
.dream-collection-table-main,
.dream-playlist-track-table-main {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}
.dream-collection-table-open,
.dream-collection-track-main {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  text-align: left !important;
  padding: 0 !important;
  min-width: 0 !important;
}
.dream-collection-table-open {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}
.dream-collection-track-main {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}
.dream-collection-table-main--playlist {
  gap: 10px !important;
}
.dream-collection-table-copy,
.dream-playlist-track-table-copy,
.dream-collection-table-preview {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
}
.dream-collection-table-copy strong,
.dream-collection-table-copy em,
.dream-playlist-track-table-copy strong,
.dream-playlist-track-table-copy em,
.dream-collection-table-artist,
.dream-collection-table-meta,
.dream-playlist-track-table-artist,
.dream-playlist-track-table-meta {
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-collection-table-preview {
  color: rgba(255,255,255,.78) !important;
  font: 600 11px/1.45 'DM Sans', system-ui, sans-serif !important;
}
.dream-collection-table-preview .dream-collection-playlist-preview {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-collection-table-tail,
.dream-playlist-track-table-tail {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.dream-library-route--desktop-table .dream-collection-stack {
  gap: 10px !important;
}
.dream-library-route--desktop-table .dream-playlist-list {
  gap: 8px !important;
}
.dream-collection-playlist-main,
.dream-collection-playlist-copy {
  min-width: 0 !important;
}
.dream-collection-playlist-copy strong,
.dream-collection-playlist-copy em {
  display: block !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-collection-playlist-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}
.dream-row-card.active {
  border-color: rgba(201, 176, 255, .45) !important;
  box-shadow: 0 10px 32px rgba(113, 69, 201, .18) !important;
}
.dream-empty {
  border: 1px dashed rgba(255,255,255,.16) !important;
  border-radius: 18px !important;
  padding: 16px !important;
  color: rgba(255,255,255,.72) !important;
}
@media (max-width: 900px) {
  .dream-library-workspace,
  .dream-track-detail-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 640px) {
  .dream-app-panel {
    width: min(100vw, calc(100vw - 10px)) !important;
    border-radius: 26px 26px 0 0 !important;
  }
  .dream-app-content {
    padding: 0 14px 28px !important;
  }
  button.dream-collection-row--playlist {
    grid-template-columns: 26px minmax(0, 1fr) !important;
    align-items: flex-start !important;
  }
  .dream-collection-playlist-main {
    display: grid !important;
    gap: 6px !important;
  }
  .dream-collection-playlist-meta {
    grid-column: 2 !important;
    justify-content: flex-start !important;
  }
  .dream-hero,
  .dream-section,
  .dream-profile-card,
  .dream-track-detail-surface,
  .dream-track-meta-card,
  .dream-track-editor {
    border-radius: 22px !important;
  }
  .dream-track-detail-head {
    grid-template-columns: 84px minmax(0, 1fr) !important;
  }
  .dream-close-detail-action {
    grid-column: 1 / -1 !important;
  }
  .dream-track-detail-art {
    width: 84px !important;
    height: 84px !important;
    border-radius: 18px !important;
  }
  .dream-form-grid {
    grid-template-columns: 1fr !important;
  }
  .dream-form-span-2 {
    grid-column: auto !important;
  }
  .dream-account-auth-actions {
    grid-template-columns: 1fr !important;
  }
  .dream-account-auth-form-wrap {
    padding: 12px !important;
  }
  .dream-profile-card--account {
    grid-template-columns: 48px minmax(0,1fr) !important;
    gap: 12px !important;
  }
  .dream-account-badge-stack {
    grid-column: 1 / -1 !important;
    justify-items: start !important;
  }
  .dream-profile-card--account h2 {
    font-size: clamp(22px, 7vw, 28px) !important;
  }
  .dream-account-quick-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .dream-playlist-track-row {
    grid-template-columns: 1fr !important;
  }
  .dream-row-actions {
    width: 100% !important;
  }
  .dream-row-actions > * {
    flex: 1 1 calc(50% - 10px) !important;
  }
  .dream-account-subnav {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
    scrollbar-width: auto !important;
  }
  .dream-account-subnav::-webkit-scrollbar {
    display: none !important;
  }
  .dream-account-subnav-btn {
    width: 100% !important;
  }
}

/* DREAMWAVE refinement pass v2 — lighter mobile hierarchy, richer song details, and calmer cards */
.dream-app-tabs {
  gap: 8px !important;
}
.dream-app-tabs button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 8px 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background: rgba(255,255,255,.045) !important;
  color: rgba(255,255,255,.76) !important;
  font: 800 11.5px/1.05 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .045em !important;
}
.dream-app-tabs button.active {
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(255,255,255,.98) !important;
  color: #06070a !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.16) !important;
}
.dream-hero {
  padding: clamp(18px, 3.4vw, 28px) !important;
  border-radius: 24px !important;
}
.dream-hero h2,
.dream-profile-card h2,
.dream-track-detail-copy h3 {
  font-size: clamp(24px, 3.2vw, 36px) !important;
  line-height: 1.03 !important;
  max-width: 12ch !important;
  text-wrap: balance !important;
}
.dream-hero p,
.dream-track-detail-copy p,
.dream-metric strong,
.dream-metric em {
  overflow-wrap: anywhere !important;
  text-wrap: pretty !important;
}
.dream-hero p {
  max-width: 48ch !important;
  margin-top: 10px !important;
  white-space: normal !important;
  color: rgba(255,255,255,.74) !important;
  font: 560 14px/1.5 'DM Sans', system-ui, sans-serif !important;
}
.dream-library-source,
.dream-inline-feedback,
.dream-account-helper {
  border-radius: 16px !important;
  padding: 10px 12px !important;
}
.dream-metrics {
  gap: 10px !important;
  margin: 14px 0 20px !important;
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)) !important;
}
.dream-metric {
  align-content: start !important;
  min-height: 102px !important;
  padding: 13px 14px !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.028)) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.dream-metric span {
  font-size: 10px !important;
  letter-spacing: .09em !important;
}
.dream-metric strong {
  font-size: 22px !important;
}
.dream-metric em {
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.dream-section,
.dream-track-detail-surface {
  padding: 16px 16px 18px !important;
  margin-top: 18px !important;
  border-radius: 24px !important;
}
.dream-section-head {
  gap: 12px !important;
  margin-bottom: 14px !important;
}
.dream-library-workspace {
  gap: 14px !important;
}
.dream-playlist-sidebar,
.dream-playlist-panel,
.dream-track-detail-grid {
  gap: 14px !important;
}
.dream-track-meta-card,
.dream-track-editor {
  border-radius: 20px !important;
  padding: 16px !important;
  background: linear-gradient(180deg, rgba(12,14,22,.78), rgba(10,12,18,.60)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 14px 34px rgba(0,0,0,.14) !important;
}
.dream-playlist-select {
  border-radius: 18px !important;
  padding: 12px 14px !important;
  background: rgba(255,255,255,.035) !important;
}
.dream-playlist-select strong {
  font-size: 14px !important;
}
.dream-row-card {
  border: 1px solid rgba(255,255,255,.075) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.024)) !important;
  border-radius: 18px !important;
  padding: 12px 12px 11px !important;
  margin-top: 8px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;
}
.dream-row-card .dream-row {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
}
.dream-row-main,
.dream-playlist-track-main {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.dream-row-media {
  flex: 0 0 auto !important;
}
.dream-row-play {
  width: 32px !important;
  height: 32px !important;
  font-size: 11px !important;
}
.dream-row-art {
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  object-fit: cover !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.18) !important;
}
.dream-row-art--playlist {
  width: 50px !important;
  height: 50px !important;
}
.dream-row-copy,
.dream-playlist-track-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 2px !important;
}
.dream-row-main strong,
.dream-row-main em,
.dream-row-copy span,
.dream-playlist-track-copy strong,
.dream-playlist-track-copy em,
.dream-playlist-track-copy span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-row-main strong,
.dream-playlist-track-copy strong {
  color: rgba(255,255,255,.96) !important;
  font: 820 14.5px/1.18 'DM Sans', system-ui, sans-serif !important;
  white-space: normal !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
.dream-row-main em,
.dream-row-copy span,
.dream-playlist-track-copy em,
.dream-playlist-track-copy span {
  color: rgba(255,255,255,.60) !important;
  font: 620 11.5px/1.35 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
  white-space: nowrap !important;
}
.dream-row-copy span,
.dream-playlist-track-copy span {
  color: rgba(255,255,255,.50) !important;
}
.dream-row-actions,
.dream-detail-pills,
.dream-hero-actions,
.dream-action-grid {
  gap: 8px !important;
}
.dream-row-pill,
.dream-primary,
.dream-secondary,
.dream-action-grid button {
  min-height: 38px !important;
}
.dream-detail-pills .dream-row-pill,
.dream-row-actions .dream-row-pill {
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.065) !important;
  color: rgba(255,255,255,.84) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  font-size: 11px !important;
}
.dream-collection-track-actions .dream-track-detail-action,
body.dream-app-open .dream-collection-track-actions .dream-track-detail-action,
body.dream-app-open .dream-row-actions .dream-track-detail-action,
body.dream-app-open .dream-discover-now-playing-actions .dream-track-detail-action {
  min-height: 44px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.04) !important;
  color: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  font-size: 10.5px !important;
  letter-spacing: .02em !important;
}
.dream-row-hint {
  margin: 8px 0 0 50px !important;
  color: rgba(255,255,255,.46) !important;
  font: 620 10.8px/1.4 'DM Sans', system-ui, sans-serif !important;
}
.dream-provenance {
  margin: 8px 0 0 50px !important;
  padding: 10px 11px !important;
  border-radius: 14px !important;
}
.dream-track-detail-head {
  grid-template-columns: 92px minmax(0, 1fr) auto !important;
  gap: 16px !important;
  align-items: start !important;
}
.dream-track-detail-art {
  width: 92px !important;
  height: 92px !important;
  border-radius: 20px !important;
}
.dream-track-detail-copy p {
  max-width: 48ch !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
}
.dream-creator-hero-title {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  line-height: 1.04 !important;
}
.dream-creator-context-strip {
  margin-top: 8px !important;
}
.dream-release-notes-shelf,
.dream-release-notes-stack {
  display: grid !important;
  gap: 12px !important;
}
.dream-release-notes-card {
  display: grid !important;
  gap: 12px !important;
}
.dream-release-notes-card__head {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
}
.dream-release-notes-card__art {
  width: 96px !important;
  height: 96px !important;
  border-radius: 20px !important;
  object-fit: cover !important;
}
.dream-release-notes-card__copy {
  min-width: 0 !important;
}
.dream-release-notes-card__copy h3 {
  margin: 2px 0 6px !important;
}
.dream-release-notes-card__copy p,
.dream-release-notes-card__excerpt {
  margin: 0 !important;
  color: rgba(255,255,255,.7) !important;
}
.dream-release-notes-card__meta {
  display: grid !important;
  gap: 6px !important;
}
.dream-release-notes-narrative {
  display: grid !important;
  gap: 8px !important;
  margin-top: 10px !important;
}
.dream-release-notes-beat {
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.035) !important;
  padding: 10px 12px !important;
}
.dream-release-notes-beat h4 {
  margin: 0 0 4px !important;
  color: rgba(255,255,255,.9) !important;
  font: 800 11px/1.2 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.dream-release-notes-beat p {
  margin: 0 !important;
  color: rgba(255,255,255,.72) !important;
  font: 560 12.5px/1.55 'DM Sans', system-ui, sans-serif !important;
}
.dream-track-meta-card--release-notes {
  border-color: rgba(201,176,255,.18) !important;
  background: linear-gradient(160deg, rgba(31,19,49,.68), rgba(9,11,18,.9)) !important;
}
.dream-release-notes-card__actions {
  margin-top: 12px !important;
}
.dream-creator-empty-state p {
  margin: 0 !important;
  color: rgba(255,255,255,.68) !important;
}
.dream-track-detail-copy .dream-creator-bio {
  white-space: normal !important;
}
.dream-track-detail-metrics {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  gap: 12px !important;
  margin-top: 16px !important;
}
.dream-track-detail-metrics .dream-metric {
  min-height: 96px !important;
}
.dream-track-detail-story-card,
.dream-track-detail-lane-card {
  display: grid !important;
  gap: 10px !important;
}
.dream-track-detail-story-card .dream-kicker {
  margin: 0 !important;
}
.dream-track-detail-story-copy {
  margin: 0 !important;
  color: rgba(255,255,255,.92) !important;
  font: 560 14px/1.65 'DM Sans', system-ui, sans-serif !important;
}
.dream-track-detail-story-support {
  margin: 0 !important;
  color: rgba(255,255,255,.68) !important;
  font: 500 12.2px/1.6 'DM Sans', system-ui, sans-serif !important;
}
.dream-track-detail-context-strip {
  margin-top: 2px !important;
}
.dream-track-detail-lane-card .dream-hero-actions {
  margin-top: 4px !important;
}
.dream-track-detail-surface--player {
  margin-top: 18px !important;
}
.dream-track-detail-surface--player .dream-track-detail-head {
  position: sticky !important;
  top: max(10px, env(safe-area-inset-top)) !important;
  z-index: 12 !important;
  margin: -6px -6px 16px !important;
  padding: 12px 12px 14px !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, rgba(6,8,14,.96), rgba(10,12,20,.88)) !important;
  box-shadow: 0 16px 30px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
}
.dream-track-detail-surface--player .dream-close-detail-action--player {
  position: fixed !important;
  top: calc(env(safe-area-inset-top) + 18px) !important;
  left: 18px !important;
  z-index: 30 !important;
  justify-self: start !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  background: rgba(6,8,14,.94) !important;
  box-shadow: 0 14px 26px rgba(0,0,0,.32) !important;
}
/* DW-VIS-NEW-17: Track detail surface must not expand beyond its grid column
   when rendered inside the player secondary column. Without a max-width the
   surface can push the Up next queue and primary controls off-screen on
   narrower desktop viewports. */
body.dream-app-open[data-dream-route="player"] .dream-track-detail-surface {
  max-width: min(100%, 420px) !important;
  width: 100% !important;
  align-self: start !important;
}
/* DW-VIS-125: Track detail surface establishes its own scroll context so sticky recovery works */
.dream-track-detail-surface {
  max-height: calc(100dvh - 260px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}
.dream-track-detail-surface::-webkit-scrollbar {
  display: none !important;
}
.dream-track-detail-recovery {
  position: sticky !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 10 !important;
  display: flex !important;
  justify-content: center !important;
  margin-top: 18px !important;
  /* Fade-in gradient behind the sticky recovery to mask content beneath */
  background: linear-gradient(to top, rgba(10,12,20,0.85) 0%, rgba(10,12,20,0.0) 100%) !important;
  padding: 12px 0 8px !important;
  pointer-events: auto !important;
}
.dream-close-detail-action--player-footer {
  width: min(100%, 320px) !important;
  justify-content: center !important;
  min-height: 44px !important;
  font-size: 12px !important;
}
.dream-track-detail-recovery-btn {
  width: min(100%, 320px) !important;
  justify-content: center !important;
  min-height: 44px !important;
  font-size: 12px !important;
  margin-top: 0 !important;
}
@media (max-width: 640px) {
  .dream-track-detail-recovery-btn {
    padding: 10px 16px !important;
  }
}
.dream-setting-row {
  align-items: flex-start !important;
  padding: 10px 0 !important;
}
.dream-setting-row span {
  font-size: 11px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.dream-setting-row strong {
  text-transform: none !important;
  text-align: right !important;
  max-width: 60% !important;
  line-height: 1.35 !important;
}
.dream-provenance-row {
  align-items: flex-start !important;
  padding: 7px 0 !important;
}
.dream-provenance-row em {
  max-width: 60% !important;
  text-align: right !important;
  font-style: normal !important;
}
.dream-playlist-track-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.03) !important;
  padding: 12px !important;
}
.dream-playlist-track-row:last-child {
  border-bottom: 0 !important;
}
@media (max-width: 640px) {
  .dream-app-header {
    padding: max(16px, env(safe-area-inset-top)) 14px 8px !important;
  }
  .dream-app-tabs {
    padding: 0 14px 12px !important;
  }
  .dream-app-content {
    padding: 0 14px calc(96px + env(safe-area-inset-bottom)) !important;
  }
  .dream-hero {
    padding: 18px 16px !important;
  }
  .dream-hero h2,
  .dream-profile-card h2,
  .dream-track-detail-copy h3 {
    font-size: clamp(22px, 7.2vw, 30px) !important;
    max-width: 11ch !important;
  }
  .dream-hero-actions,
  .dream-action-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .dream-hero-actions .dream-primary {
    grid-column: 1 / -1 !important;
  }
  .dream-hero-actions .dream-primary,
  .dream-hero-actions .dream-secondary,
  .dream-action-grid button {
    width: 100% !important;
    min-height: 38px !important;
    padding: 10px 12px !important;
  }
  body.dream-app-open .dream-track-detail-actions .dream-primary,
  body.dream-app-open .dream-track-detail-actions .dream-secondary,
  body.dream-app-open .dream-close-detail-action,
  body.dream-app-open .dream-track-detail-recovery-btn,
  body.dream-app-open .dream-share-link-actions .dream-row-pill,
  body.dream-app-open .dream-create-share-link-action {
    min-height: 44px !important;
    padding: 10px 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .dream-library-workspace,
  .dream-track-detail-grid {
    gap: 12px !important;
  }
  .dream-track-detail-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .dream-track-detail-metrics .dream-metric {
    min-height: 86px !important;
  }
  .dream-track-detail-story-copy {
    font-size: 13.5px !important;
  }
  .dream-track-detail-story-support {
    font-size: 12px !important;
  }
  .dream-detail-pills .dream-row-pill {
    min-height: 30px !important;
    padding: 6px 9px !important;
    font-size: 10.5px !important;
  }
  .dream-track-detail-head {
    grid-template-columns: 78px minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  .dream-close-detail-action {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
  }
  .dream-track-detail-surface--player .dream-track-detail-head {
    top: max(8px, env(safe-area-inset-top)) !important;
    margin: -4px -4px 14px !important;
    padding: 10px 10px 12px !important;
  }
  .dream-track-detail-surface--player .dream-close-detail-action--player {
    top: calc(env(safe-area-inset-top) + 14px) !important;
    left: 14px !important;
    padding: 9px 12px !important;
  }
  .dream-track-detail-art {
    width: 78px !important;
    height: 78px !important;
    border-radius: 18px !important;
  }
  .dream-form-grid {
    grid-template-columns: 1fr !important;
  }
  .dream-form-span-2 {
    grid-column: auto !important;
  }
  .dream-playlist-track-row {
    grid-template-columns: 1fr !important;
  }
  .dream-row-actions {
    width: 100% !important;
    justify-content: flex-start !important;
  }
  .dream-row-actions > * {
    flex: 0 1 auto !important;
  }
  .dream-account-subnav {
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    scrollbar-width: none !important;
  }
  .dream-account-subnav::-webkit-scrollbar {
    display: none !important;
  }
}
@media (max-width: 520px) {
  body.dream-app-open .dream-app-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    overflow: visible !important;
    gap: 6px !important;
    padding: 0 14px 12px !important;
    padding-right: 0 !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }
  body.dream-app-open .dream-app-tabs button {
    width: 100% !important;
    min-height: 34px !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 7px 6px !important;
    font-size: 10px !important;
    letter-spacing: .03em !important;
  }
  .dream-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  .dream-metrics .dream-metric:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
  }
  .dream-metric {
    min-height: 82px !important;
    padding: 11px !important;
  }
  .dream-metric strong {
    font-size: 18px !important;
  }
  .dream-section,
  .dream-track-detail-surface {
    padding: 15px !important;
    border-radius: 22px !important;
  }
  .dream-row-card {
    padding: 11px !important;
    border-radius: 18px !important;
  }
  .dream-row-card .dream-row {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .dream-row-play {
    width: 30px !important;
    height: 30px !important;
  }
  .dream-row-art {
    width: 42px !important;
    height: 42px !important;
    border-radius: 13px !important;
  }
  .dream-row-actions {
    grid-column: 1 / -1 !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 6px 0 0 46px !important;
    gap: 6px !important;
  }
  .dream-row-actions > * {
    flex: 0 0 auto !important;
    max-width: 100% !important;
  }
  .dream-row-hint,
  .dream-provenance {
    margin-left: 46px !important;
  }
  .dream-row-main strong,
  .dream-playlist-track-copy strong {
    font-size: 14px !important;
  }
  .dream-row-main em,
  .dream-row-copy span,
  .dream-playlist-track-copy em,
  .dream-playlist-track-copy span {
    font-size: 11.5px !important;
  }
}
@media (max-width: 360px) {
  body.dream-app-open .dream-app-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body.dream-app-open .dream-app-tabs button {
    min-height: 35px !important;
    padding: 8px 8px !important;
    font-size: 10.4px !important;
  }
  .dream-hero {
    padding: 16px 14px !important;
  }
  .dream-hero h2,
  .dream-profile-card h2,
  .dream-track-detail-copy h3 {
    font-size: clamp(21px, 8vw, 28px) !important;
  }
  .dream-hero p {
    font-size: 13px !important;
  }
  .dream-setting-row {
    flex-direction: column !important;
    gap: 5px !important;
  }
  .dream-setting-row strong {
    max-width: none !important;
    text-align: left !important;
  }
  .dream-row-actions {
    margin-left: 0 !important;
  }
  .dream-row-card .dream-row {
    grid-template-columns: 34px minmax(0, 1fr) !important;
  }
  .dream-row-main {
    align-items: flex-start !important;
  }
  .dream-row-copy span,
  .dream-playlist-track-copy span {
    white-space: normal !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
  }
}

/* v23 sleek mobile pass: calmer discover shell, lighter nav, flatter feed rows */
@media (max-width: 520px) {
  body.dream-app-open .dream-app-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 5px !important;
    padding: 0 14px 10px !important;
  }
  body.dream-app-open .dream-app-tabs button {
    min-height: 32px !important;
    padding: 6px 7px !important;
    border-radius: 999px !important;
    font-size: 9.55px !important;
    letter-spacing: .04em !important;
    background: rgba(255,255,255,.045) !important;
    border-color: rgba(255,255,255,.06) !important;
    color: rgba(255,255,255,.68) !important;
    box-shadow: none !important;
  }
  body.dream-app-open .dream-track-detail-surface {
    padding: 13px 13px calc(14px + env(safe-area-inset-bottom)) !important;
  }
  body.dream-app-open .dream-track-detail-head {
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  body.dream-app-open .dream-track-detail-art {
    width: 68px !important;
    height: 68px !important;
    border-radius: 16px !important;
  }
  body.dream-app-open .dream-track-detail-copy h3 {
    font-size: clamp(19px, 5.9vw, 24px) !important;
    line-height: 1.01 !important;
    max-width: none !important;
  }
  body.dream-app-open .dream-track-detail-copy p {
    font-size: 11.6px !important;
    line-height: 1.28 !important;
    margin-top: 5px !important;
  }
  body.dream-app-open .dream-detail-pills {
    gap: 5px !important;
    margin-top: 5px !important;
  }
  body.dream-app-open .dream-detail-pills .dream-row-pill {
    min-height: 26px !important;
    padding: 5px 8px !important;
    font-size: 9.8px !important;
  }
  body.dream-app-open .dream-track-meta-card {
    padding: 13px !important;
  }
  body.dream-app-open .dream-setting-row {
    padding: 7px 0 !important;
  }
  body.dream-app-open .dream-setting-row span {
    font-size: 10px !important;
  }
  body.dream-app-open .dream-setting-row strong {
    max-width: 58% !important;
    font-size: 12px !important;
    line-height: 1.28 !important;
  }
  body.dream-app-open .dream-setting-row--track-id {
    display: none !important;
  }
  body.dream-app-open .dream-track-detail-actions {
    margin-top: 10px !important;
    gap: 6px !important;
  }
  body.dream-app-open .dream-track-detail-actions .dream-primary,
  body.dream-app-open .dream-track-detail-actions .dream-secondary,
  body.dream-app-open .dream-close-detail-action,
  body.dream-app-open .dream-track-detail-recovery-btn,
  body.dream-app-open .dream-share-link-actions .dream-row-pill,
  body.dream-app-open .dream-create-share-link-action {
    min-height: 44px !important;
    padding: 10px 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.dream-app-open .dream-search-user-row {
    grid-template-columns: 1fr !important;
  }
  body.dream-app-open .dream-search-user-actions {
    justify-content: flex-start !important;
  }
  body.dream-app-open .dream-app-tabs button[data-app-group="primary"] {
    font-size: 9.8px !important;
    color: rgba(255,255,255,.84) !important;
  }
  body.dream-app-open .dream-app-tabs button[data-app-group="secondary"] {
    min-height: 29px !important;
    padding: 5px 6px !important;
    font-size: 8.85px !important;
    letter-spacing: .08em !important;
    background: rgba(255,255,255,.02) !important;
    border-color: rgba(255,255,255,.04) !important;
    color: rgba(255,255,255,.52) !important;
  }
  body.dream-app-open .dream-app-tabs button.active {
    background: rgba(255,255,255,.16) !important;
    border-color: rgba(255,255,255,.22) !important;
    color: rgba(255,255,255,.98) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
  }
  body.dream-app-open .dream-hero--discover {
    padding: 14px 14px 12px !important;
    border-radius: 20px !important;
    background: rgba(9,10,14,.28) !important;
    border-color: rgba(255,255,255,.055) !important;
  }
  body.dream-app-open .dream-discover-now-playing-strip {
    gap: 6px !important;
    margin-bottom: 6px !important;
    padding: 8px 10px !important;
    border-radius: 15px !important;
    background: rgba(9,10,14,.16) !important;
  }
  body.dream-app-open .dream-discover-now-playing-copy {
    gap: 3px !important;
  }
  body.dream-app-open .dream-discover-now-playing-topline {
    gap: 6px !important;
  }
  body.dream-app-open .dream-discover-now-playing-copy strong {
    font-size: 13px !important;
    line-height: 1.06 !important;
  }
  body.dream-app-open .dream-discover-now-playing-copy em {
    font-size: 10px !important;
    line-height: 1.2 !important;
  }
  body.dream-app-open .dream-discover-now-playing-context-label {
    font-size: 9.8px !important;
    line-height: 1.2 !important;
  }
  body.dream-app-open .dream-discover-now-playing-actions {
    justify-content: flex-start !important;
    gap: 5px !important;
  }
  body.dream-app-open .dream-discover-now-playing-actions .dream-secondary,
  body.dream-app-open .dream-discover-now-playing-actions .dream-inline-link {
    min-height: 44px !important;
    padding: 6px 12px !important;
    font-size: 10px !important;
  }
  body.dream-app-open .dream-hero--discover .dream-kicker {
    margin-bottom: 5px !important;
    font-size: 8.5px !important;
    letter-spacing: .18em !important;
    color: rgba(255,255,255,.42) !important;
  }
  body.dream-app-open .dream-hero--discover h2 {
    font-size: clamp(21px, 5.4vw, 26px) !important;
    line-height: 1.15 !important;
    margin-bottom: 5px !important;
  }
  body.dream-app-open .dream-hero--discover p:not(.dream-kicker):not(.dream-hero-footnote) {
    font-size: 11.8px !important;
    line-height: 1.3 !important;
    color: rgba(255,255,255,.64) !important;
  }
  body.dream-app-open .dream-hero-actions--discover {
    margin-top: 10px !important;
    gap: 6px !important;
  }
  body.dream-app-open .dream-hero-actions--discover .dream-primary {
    min-height: 30px !important;
    padding: 7px 10px !important;
    font-size: 10px !important;
  }
  body.dream-app-open .dream-hero-footnote {
    display: none !important;
  }
  body.dream-app-open .dream-hero-badges {
    display: none !important;
  }
  body.dream-app-open .dream-hero--discover {
    padding: 10px 12px 10px !important;
  }
  body.dream-app-open .dream-hero--discover h2 {
    font-size: clamp(18px, 5vw, 22px) !important;
    line-height: 1.1 !important;
    margin-bottom: 4px !important;
  }
  body.dream-app-open .dream-hero-actions--discover {
    margin-top: 6px !important;
    gap: 4px !important;
  }
  body.dream-app-open .dream-hero-inline-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    align-items: center !important;
    margin-top: 6px !important;
  }
  body.dream-app-open .dream-hero-inline-links--discover {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: stretch !important;
  }
  body.dream-app-open .dream-hero-inline-links--discover-single {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.dream-app-open .dream-inline-link {
    appearance: none !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    color: rgba(255,255,255,.68) !important;
    font: 700 10.4px/1.2 'DM Sans', system-ui, sans-serif !important;
    letter-spacing: .04em !important;
    text-align: left !important;
  }
  body.dream-app-open .dream-hero-inline-links--discover .dream-inline-link {
    width: 100% !important;
    min-height: 34px !important;
    padding: 9px 10px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    background: rgba(255,255,255,.08) !important;
    text-align: center !important;
    justify-content: center !important;
  }
  body.dream-app-open .dream-hero-footnote {
    margin-top: 9px !important;
    margin-bottom: 0 !important;
    color: rgba(255,255,255,.42) !important;
    font: 600 10.3px/1.32 'DM Sans', system-ui, sans-serif !important;
  }
  body.dream-app-open .dream-metrics--discover {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin: 10px 0 8px !important;
  }
  body.dream-app-open .dream-discover-social-grid {
    display: grid !important;
    gap: 12px !important;
  }
  body.dream-app-open .dream-discover-summary {
    margin: 0 2px 10px !important;
    color: rgba(255,255,255,.76) !important;
    font: 600 10.8px/1.45 'DM Sans', system-ui, sans-serif !important;
    letter-spacing: .03em !important;
  }
  body.dream-app-open .dream-metrics--discover .dream-metric {
    min-height: 74px !important;
    padding: 10px 11px !important;
    border-radius: 15px !important;
    background: rgba(255,255,255,.028) !important;
    border-color: rgba(255,255,255,.05) !important;
  }
  body.dream-app-open .dream-metrics--discover .dream-metric span {
    font-size: 8.9px !important;
    letter-spacing: .14em !important;
    color: rgba(255,255,255,.44) !important;
  }
  body.dream-app-open .dream-metrics--discover .dream-metric strong {
    font-size: 20px !important;
    line-height: 1 !important;
  }
  body.dream-app-open .dream-metrics--discover .dream-metric em {
    font-size: 10.6px !important;
    color: rgba(255,255,255,.54) !important;
  }
  body.dream-app-open .dream-section--feed {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 8px 0 0 !important;
    margin-top: 6px !important;
  }
  body.dream-app-open .dream-section--feed .dream-section-head {
    margin-bottom: 10px !important;
    padding: 0 2px !important;
  }
  body.dream-app-open .dream-section--feed .dream-section-head h3 {
    font-size: 14px !important;
    margin: 0 !important;
  }
  body.dream-app-open .dream-list--discover {
    gap: 8px !important;
  }
  body.dream-app-open .dream-list--discover .dream-row-card {
    padding: 10px 10px 9px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.024) !important;
    border-color: rgba(255,255,255,.04) !important;
    box-shadow: none !important;
  }
  body.dream-app-open .dream-list--discover .dream-row {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 9px !important;
  }
  body.dream-app-open .dream-list--discover .dream-row-play {
    width: 28px !important;
    height: 28px !important;
    font-size: 10px !important;
  }
  body.dream-app-open .dream-list--discover .dream-row-art {
    width: 40px !important;
    height: 40px !important;
    border-radius: 12px !important;
  }
  body.dream-app-open .dream-list--discover .dream-row-main strong {
    font-size: 13.4px !important;
    letter-spacing: -.01em !important;
  }
  body.dream-app-open .dream-list--discover .dream-row-main em,
  body.dream-app-open .dream-list--discover .dream-row-copy span {
    font-size: 10.8px !important;
    color: rgba(255,255,255,.56) !important;
  }
  body.dream-app-open .dream-list--discover .dream-row-hint {
    display: none !important;
  }
  body.dream-app-open .dream-list--discover .dream-row-actions {
    margin-top: 5px !important;
    gap: 5px !important;
  }
  body.dream-app-open .dream-list--discover .dream-row-actions .dream-row-pill {
    min-height: 40px !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    font-size: 9.4px !important;
    background: rgba(255,255,255,.032) !important;
    border-color: rgba(255,255,255,.05) !important;
    color: rgba(255,255,255,.66) !important;
  }
}

/* Always compact discover hero on phone screens */
@media (max-width: 520px) {
  .dream-hero--discover {
    padding: 14px 14px 12px !important;
    border-radius: 20px !important;
    background: rgba(9,10,14,.28) !important;
    border-color: rgba(255,255,255,.055) !important;
  }
  .dream-hero--discover .dream-kicker {
    margin-bottom: 5px !important;
    font-size: 8.5px !important;
    letter-spacing: .18em !important;
  }
  .dream-hero--discover h2 {
    font-size: clamp(21px, 5.4vw, 26px) !important;
    line-height: 1.01 !important;
    margin-bottom: 5px !important;
  }
  .dream-hero--discover p:not(.dream-kicker):not(.dream-hero-footnote) {
    font-size: 11.8px !important;
    line-height: 1.3 !important;
  }
  .dream-hero-actions--discover {
    margin-top: 10px !important;
    gap: 0 !important;
  }
  .dream-hero-actions--discover .dream-primary {
    min-height: 44px !important;
    padding: 9px 12px !important;
    font-size: 10.8px !important;
  }
  .dream-hero-inline-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 10px !important;
  }
  .dream-hero-footnote {
    margin-top: 9px !important;
    font: 600 10.3px/1.32 'DM Sans', system-ui, sans-serif !important;
  }
  .dream-metrics--discover {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin: 10px 0 8px !important;
  }
}

/* v24 sleek micro-pass: cut duplicated eyebrow weight and slim discover rows */
@media (max-width: 520px) {
  body.dream-app-open .dream-app-header {
    padding: max(10px, env(safe-area-inset-top)) 14px 4px !important;
    gap: 8px !important;
  }
  body.dream-app-open .dream-app-header p {
    display: none !important;
  }
  body.dream-app-open .dream-app-close {
    width: 26px !important;
    height: 26px !important;
    flex-basis: 26px !important;
  }
  body.dream-app-open .dream-app-tabs {
    padding-bottom: 8px !important;
  }
  body.dream-app-open .dream-list--discover .dream-row-card {
    padding: 9px 9px 8px !important;
  }
  body.dream-app-open .dream-list--discover .dream-row-copy span {
    display: none !important;
  }
}

/* DW-FEAT-004 mobile nav: More tray + secondary nav */
.dream-app-tabs-grid,
.dream-app-tabs-primary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.dream-app-more-toggle {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 9.5px !important;
  letter-spacing: .06em !important;
  min-height: 32px !important;
  padding: 5px 10px !important;
  border-radius: 8px !important;
}
.dream-app-more-toggle.active {
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: rgba(255,255,255,.96) !important;
}
.dream-app-tabs-secondary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(10,12,26,.42);
}
.dream-app-tabs-secondary[hidden] {
  display: none !important;
}
@media (max-width: 520px) {
  .dream-app-tabs-secondary {
    gap: 5px;
    padding: 5px;
    border-radius: 10px;
  }
}
.dream-account-subnav--auth {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.dream-account-subnav--auth .dream-account-subnav-btn {
  min-height: 44px !important;
  justify-content: center !important;
  text-align: center !important;
}
@media (max-width: 520px) {
  body.dream-app-open .dream-app-tabs {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding: 0 14px 8px !important;
  }
  body.dream-app-open .dream-app-tabs-grid,
  body.dream-app-open .dream-app-tabs-primary {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  body.dream-app-open .dream-app-tabs button {
    width: 100% !important;
    min-height: 32px !important;
    padding: 6px 7px !important;
    border-radius: 999px !important;
    font-size: 9.1px !important;
    letter-spacing: .08em !important;
    box-shadow: none !important;
  }
  body.dream-app-open .dream-account-subnav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body.dream-app-open .dream-account-subnav--auth {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  body.dream-app-open .dream-account-subnav-btn {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
  body.dream-app-open .dream-account-subnav--auth .dream-account-subnav-btn {
    min-height: 44px !important;
    padding: 9px 8px !important;
    font-size: 10px !important;
    letter-spacing: .03em !important;
  }
  body.dream-app-open .dream-profile-card--account h2 {
    font-size: clamp(19px, 5vw, 24px) !important;
    line-height: 1.06 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }
  body.dream-app-open .dream-metrics--account {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px !important;
    margin: 10px 0 12px !important;
  }
  body.dream-app-open .dream-metrics--account .dream-metric:last-child:nth-child(odd) {
    grid-column: auto !important;
  }
  body.dream-app-open .dream-metrics--account .dream-metric {
    min-height: 74px !important;
    padding: 9px 2px !important;
    border-radius: 14px !important;
  }
  body.dream-app-open .dream-metrics--account .dream-metric span {
    font-size: 8.2px !important;
    letter-spacing: .12em !important;
  }
  body.dream-app-open .dream-metrics--account .dream-metric strong {
    margin: 5px 0 3px !important;
    font-size: 18px !important;
  }
  body.dream-app-open .dream-metrics--account .dream-metric em {
    font-size: 9.6px !important;
    line-height: 1.16 !important;
  }
  body.dream-app-open .dream-section--account-overview {
    padding: 11px !important;
  }
  /* DW-VIS-ACCOUNT-CREATOR-CUTOFF fix: allow visible overflow so the creator-tools
     glass container is not clipped by the base .dream-section overflow:hidden rule.
     The quick-card + install-shell inside this section need room to breathe. */
  body.dream-app-open[data-dream-route="account"] .dream-section--account-overview {
    overflow: visible !important;
  }
  body.dream-app-open .dream-account-subnav {
    margin-bottom: 8px !important;
  }
  body.dream-app-open .dream-account-subnav-btn {
    min-height: 44px !important;
    padding: 9px 8px !important;
    font-size: 10px !important;
  }
  body.dream-app-open .dream-profile-card--account {
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    padding: 11px !important;
  }
  body.dream-app-open .dream-profile-card--account .dream-avatar {
    width: 44px !important;
    height: 44px !important;
  }
  body.dream-app-open .dream-profile-card--account .dream-account-identity {
    gap: 2px !important;
  }
  body.dream-app-open .dream-profile-card--account .dream-account-identity p:not(.dream-kicker) {
    font-size: 10.8px !important;
    line-height: 1.22 !important;
  }
  body.dream-app-open .dream-account-badge-stack {
    align-self: start !important;
  }
  body.dream-app-open .dream-account-quick-card {
    padding: 11px !important;
  }
  body.dream-app-open .dream-account-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body.dream-app-open .dream-account-quick-grid button {
    min-height: 44px !important;
    padding: 9px 8px !important;
    font-size: 9.4px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    color: #ffffff !important;
    background-color: #0a0c14 !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
  }
  body.dream-app-open .dream-account-install-shell .dream-install-surface {
    gap: 10px !important;
    padding: 11px !important;
    border-radius: 16px !important;
    margin: 0 !important;
  }
  body.dream-app-open .dream-account-install-shell .dream-install-copy h3 {
    font-size: 15px !important;
    margin: 2px 0 4px !important;
  }
  body.dream-app-open .dream-account-install-shell .dream-install-copy p:last-child {
    font-size: 10.6px !important;
    line-height: 1.24 !important;
  }
  body.dream-app-open .dream-account-install-shell .dream-install-action {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
  }
  body.dream-app-open .dream-account-install-shell .dream-install-action .dream-install-button {
    min-width: 90px !important;
    width: auto !important;
    max-width: 110px !important;
    min-height: 44px !important;
    padding: 8px 10px !important;
    font-size: 9.8px !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
  }
}

/* ─── SEARCH ROUTE ─────────────────────────────────────────── */
/* DW-FEAT-140: flatten the search surface into a single scroll owner.
   Previously .dream-hero--search was the inner scroller (max-height 575px,
   overflow-y auto), creating a dual-carrier architecture where the outer
   .dream-app-content AND the hero both scrolled. The hero now lets its
   content flow naturally so .dream-app-content is the only scroll owner. */
.dream-hero--search {
  padding-bottom: 14px !important;
  max-height: none !important;
  overflow: visible !important;
}
/* Hero scroll container — sticky chrome offsets */
body.dream-app-open .dream-hero--search {
  max-height: none !important;
  overflow: visible !important;
}
/* DW-FEAT-140: phone no longer needs a 575px hero cap. The outer app-content
   is the sole scroll owner; this also makes the bottom-nav clearance math
   in .dream-app-content work as the single source of truth. */
@media (max-width: 520px) {
  .dream-hero--search {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
}
.dream-search-field {
  margin-top: 16px !important;
  margin-bottom: 0 !important;
}
#dreamSearchInput {
  width: 100% !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 12px !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 15px !important;
  padding: 12px 16px !important;
  outline: none !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
#dreamSearchInput:focus {
  border-color: var(--dw-green) !important;
  background: rgba(255,255,255,.10) !important;
}
#dreamSearchInput::placeholder {
  color: rgba(255,255,255,.35) !important;
}
.dream-search-clear {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.72) !important;
  font: 800 16px/1 'DM Sans', system-ui, sans-serif !important;
  cursor: pointer !important;
}
.dream-search-clear[hidden] {
  display: none !important;
}
.dream-search-results {
  margin-top: 20px !important;
  padding-bottom: max(450px, calc(72px + env(safe-area-inset-bottom) + 150px)) !important;
}
.dream-search-live-results-header {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
.dream-search-live-results-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.7) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-search-live-results-count {
  font-size: 11px !important;
  color: rgba(255,255,255,.35) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.dream-search-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 12px !important;
  align-items: center !important;
}
.dream-search-chip-label {
  color: rgba(255,255,255,.35) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin-right: 2px !important;
}
.dream-search-chip {
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(10,10,18,.72) !important;
  color: rgba(255,255,255,.95) !important;
  border-radius: 999px !important;
  padding: 6px 14px !important;
  font-size: 12px !important;
  cursor: pointer !important;
  transition: all .18s !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
}
.dream-search-chip:active {
  background: rgba(255,255,255,.14) !important;
  border-color: var(--dw-green) !important;
  color: #fff !important;
}
.dream-search-hint,
.dream-search-loading,
.dream-search-no-results {
  color: rgba(255,255,255,.45) !important;
  font-size: 13px !important;
  padding: 8px 0 !important;
  font-style: italic !important;
}
.dream-search-section {
  margin-bottom: 20px !important;
}
.dream-search-section .dream-section-head h4 {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.4) !important;
  margin: 0 0 8px !important;
}
.dream-search-browse {
  margin-top: 16px !important;
}
.dream-search-browse h4 {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.55) !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  margin: 0 0 10px !important;
}
.dream-browse-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
}
.dream-browse-tile {
  aspect-ratio: 1.2 !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: 14px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #fff !important;
  cursor: pointer !important;
  text-align: left !important;
  transition: transform .15s ease, filter .15s ease !important;
  -webkit-tap-highlight-color: transparent !important;
}
.dream-browse-tile:active {
  transform: scale(.96) !important;
  filter: brightness(1.2) !important;
}
.dream-browse-tile span {
  text-shadow: 0 2px 8px rgba(0,0,0,.75), 0 1px 2px rgba(0,0,0,.9) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  max-width: 100% !important;
}
.dream-search-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.035) !important;
  margin-bottom: 10px !important;
  transition: background .15s, border-color .15s ease !important;
}
.dream-search-row:hover {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.14) !important;
}
.dream-search-row--track {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    'main controls'
    '. controls' !important;
  align-items: center !important;
  gap: 4px 10px !important;
  cursor: default !important;
}
.dream-search-track-main {
  grid-area: main !important;
  appearance: none !important;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  color: #fff !important;
  text-align: left !important;
  cursor: pointer !important;
}
.dream-search-track-state {
  display: none !important;
}
.dream-search-track-main:disabled {
  cursor: default !important;
}
.dream-search-row .dream-row-art {
  width: 36px !important;
  height: 36px !important;
  border-radius: 4px !important;
  flex-shrink: 0 !important;
  object-fit: cover !important;
}
.dream-search-row-copy {
  display: block !important;
  min-width: 0 !important;
  /* Compact inline chrome: topline (name + creator + AI + status) + sub (artist) */
  gap: 2px !important;
}
.dream-search-row-topline {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
}
.dream-search-row-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,.92) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  flex-shrink: 1 !important;
}
.dream-search-row-sub {
  display: block !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.44) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  margin-top: 2px !important;
}
.dream-search-ai-flag {
  display: inline-flex !important;
  align-items: center !important;
  padding: 2px 5px !important;
  border-radius: 999px !important;
  background: rgba(255,205,238,.14) !important;
  border: 1px solid rgba(255,205,238,.22) !important;
  color: rgba(255,205,238,.80) !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  flex-shrink: 0 !important;
}
.dream-search-row-mood {
  display: inline-flex !important;
  align-items: center !important;
  padding: 2px 6px !important;
  border-radius: 999px !important;
  background: rgba(0,184,212,.12) !important;
  border: 1px solid rgba(0,184,212,.22) !important;
  color: rgba(0,224,255,.88) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.dream-search-row-meta {
  grid-area: meta !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.dream-search-meta-line {
  display: block !important;
  flex: 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: rgba(255,255,255,.46) !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
}
.dream-search-meta-artist {
  color: rgba(255,255,255,.58) !important;
}
.dream-search-meta-separator,
.dream-search-meta-local {
  color: rgba(255,255,255,.38) !important;
}
.dream-search-meta-flag {
  color: rgba(255,205,238,.76) !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}
.dream-search-creator-link,
.dream-search-creator-static {
  font-size: inherit !important;
  color: rgba(155,231,255,.84) !important;
  text-decoration: none !important;
}
.dream-search-creator-link {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  cursor: pointer !important;
}
.dream-search-row-controls {
  grid-area: controls !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  align-self: center !important;
}
.dream-search-row-badges {
  display: none !important;
}
.dream-search-row-actions {
  display: none !important;
}
.dream-search-row-action {
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.03) !important;
  color: rgba(255,255,255,.82) !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
}
.dream-search-row-action:disabled {
  opacity: .5 !important;
}
.dream-search-row-controls .dream-toggle-track-like-action::before {
  content: '♡' !important;
  font-size: 13px !important;
  line-height: 1 !important;
}
.dream-search-row-controls .dream-toggle-track-like-action.liked::before {
  content: '♥' !important;
}
.dream-search-row-controls .dream-search-more-action::before {
  content: '⋯' !important;
  font-size: 14px !important;
  line-height: 1 !important;
}
.dream-search-row-action.liked,
.dream-search-row-action.active,
.dream-search-add-playlist.active {
  border-color: rgba(30,215,96,.22) !important;
  color: rgba(125,255,176,.95) !important;
  background: rgba(30,215,96,.09) !important;
}
.dream-search-row-status {
  flex-shrink: 0 !important;
  padding: 3px 7px !important;
  border: 1px solid rgba(255,164,43,.26) !important;
  border-radius: 999px !important;
  font: 700 9px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  border-color: rgba(255,164,43,.26) !important;
  background: rgba(255,164,43,.14) !important;
  color: rgba(255,219,173,.9) !important;
}
.dream-search-row--unplayable {
  cursor: default !important;
  opacity: .72 !important;
}
.dream-search-row--unplayable:after {
  content: none !important;
}
.dream-search-playlist-action {
  cursor: pointer !important;
}
.dream-search-user-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.035) !important;
  margin-bottom: 8px !important;
}
.dream-search-user-main {
  appearance: none !important;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  text-align: left !important;
  color: #fff !important;
}
.dream-search-user-avatar {
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  object-fit: cover !important;
  display: block !important;
}
.dream-search-user-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}
.dream-search-user-copy strong,
.dream-search-user-copy em {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.dream-search-user-copy strong {
  font-size: 13px !important;
  color: rgba(255,255,255,.92) !important;
}
.dream-search-user-copy em {
  font-size: 11px !important;
  color: rgba(255,255,255,.5) !important;
  font-style: normal !important;
}
.dream-search-user-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.dream-search-user-open,
.dream-search-user-follow {
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.03) !important;
  color: rgba(255,255,255,.82) !important;
  padding: 7px 10px !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-search-user-follow {
  border-color: rgba(30,215,96,.22) !important;
  color: rgba(125,255,176,.95) !important;
  background: rgba(30,215,96,.09) !important;
}
.dream-search-user-self {
  flex-shrink: 0 !important;
}
.dream-search-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 14px !important;
  background: rgba(255,255,255,.12) !important;
  border-radius: 20px !important;
  cursor: pointer !important;
  font-size: 13px !important;
  color: #fff !important;
  transition: background .15s !important;
  margin: 3px !important;
}
.dream-search-chip:hover {
  background: rgba(255,255,255,.16) !important;
}
.dream-search-chip.active {
  background: rgba(255,113,206,.18) !important;
  border-color: rgba(255,113,206,.55) !important;
  color: #fff !important;
  box-shadow: 0 0 8px rgba(255,113,206,.25) !important;
}
.dream-search-playlist-icon {
  font-size: 18px !important;
  color: var(--dw-pink) !important;
  flex-shrink: 0 !important;
}

/* ─── ROW LIKE BUTTON ──────────────────────────────────────── */
.dream-row-like {
  background: none !important;
  border: none !important;
  color: rgba(255,255,255,.35) !important;
  font-size: 16px !important;
  cursor: pointer !important;
  padding: 4px 6px !important;
  border-radius: 6px !important;
  transition: color .15s, transform .1s !important;
  line-height: 1 !important;
}
.dream-row-like:hover {
  color: rgba(255,255,255,.7) !important;
  transform: scale(1.15) !important;
}
.dream-row-like.liked {
  color: #ff4f7a !important;
}
.dream-row-like.liked:hover {
  color: #ff6b91 !important;
}

/* ─── RECENTLY PLAYED ─────────────────────────────────────── */
.dream-recently-played-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
.dream-recently-played-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 6px 8px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: background .15s !important;
}
.dream-recently-played-row:hover {
  background: rgba(255,255,255,.06) !important;
}
.dream-recently-played-row .dream-row-art {
  width: 34px !important;
  height: 34px !important;
  border-radius: 4px !important;
  flex-shrink: 0 !important;
  object-fit: cover !important;
}
.dream-recently-played-copy {
  flex: 1 !important;
  min-width: 0 !important;
}
.dream-recently-played-copy strong {
  display: block !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.85) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-recently-played-copy em {
  display: block !important;
  font-size: 11px !important;
  color: rgba(255,255,255,.4) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-style: normal !important;
}

/* ─── UPLOAD, QUEUE, AND AGENT RESULT SURFACES ───────────────── */
.dream-upload-form {
  display: grid !important;
  gap: 12px !important;
}
.dream-upload-step {
  display: grid !important;
  gap: 12px !important;
  padding: 14px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.026)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;
}
.dream-upload-step > strong,
.dream-upload-step > h4,
.dream-upload-step > .dream-upload-step-title {
  margin: 0 !important;
  color: rgba(255,255,255,.94) !important;
  font: 850 14px/1.2 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: -.01em !important;
}
.dream-upload-step > p,
.dream-upload-step > .dream-upload-step-copy,
.dream-upload-step > small {
  margin: 0 !important;
  color: rgba(255,255,255,.60) !important;
  font: 620 12px/1.45 'DM Sans', system-ui, sans-serif !important;
}
/* Desktop: two-column field-row, mobile override in @media (max-width: 768px) below */
.dream-upload-field-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}
.dream-upload-field {
  min-width: 0 !important;
  display: grid !important;
  gap: 8px !important;
}
.dream-upload-field > label,
.dream-upload-field > span,
.dream-upload-field legend,
.dream-upload-provenance > strong,
.dream-upload-visibility-radio > strong,
.dream-upload-progress > strong {
  margin: 0 !important;
  color: rgba(255,255,255,.56) !important;
  font: 850 10.5px/1.2 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.dream-upload-field input,
.dream-upload-field textarea,
.dream-upload-field select {
  width: 100% !important;
  min-width: 0 !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: var(--card-bg, rgba(255,255,255,.05)) !important;
  color: var(--text-primary, rgba(255,255,255,.92)) !important;
  padding: 13px 14px !important;
  box-sizing: border-box !important;
  font: 650 13px/1.35 'DM Sans', system-ui, sans-serif !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}
.dream-upload-field textarea {
  min-height: 112px !important;
  resize: vertical !important;
}
.dream-upload-field input::placeholder,
.dream-upload-field textarea::placeholder {
  color: rgba(255,255,255,.38) !important;
}
.dream-upload-field input:focus,
.dream-upload-field textarea:focus,
.dream-upload-field select:focus {
  outline: none !important;
  border-color: rgba(30,215,96,.45) !important;
  box-shadow: 0 0 0 3px rgba(30,215,96,.14) !important;
}
.dream-upload-field input[type="file"] {
  padding: 10px !important;
  cursor: pointer !important;
}
.dream-upload-field input[type="file"]::file-selector-button {
  appearance: none !important;
  margin-right: 10px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.84) !important;
  font: 800 11px/1 'DM Sans', system-ui, sans-serif !important;
}
/* ── Drop zone base styles (DW-FEAT-040 scope 2) ── */
.dream-upload-drop-zone {
  position: relative !important;
  border-radius: 18px !important;
  border: 1.5px dashed rgba(255,255,255,.22) !important;
  background: rgba(255,255,255,.028) !important;
  padding: 22px 16px !important;
  min-height: 80px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: border-color 0.18s ease, background 0.18s ease, transform 0.12s ease !important;
  user-select: none !important;
}
.dream-upload-drop-zone:hover,
.dream-upload-drop-zone.drag-over {
  border-color: rgba(30,215,96,.60) !important;
  background: rgba(30,215,96,.07) !important;
  transform: scale(1.01) !important;
}
/* Full-file-input sits invisibly over the whole drop zone */
.dream-upload-file-input {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
  z-index: 2 !important;
}
/* Hint block: icon + filename + preview btn — sits above the invisible input */
#audioDropHint {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  pointer-events: none !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}
.dream-upload-drop-icon {
  font-size: 22px !important;
  line-height: 1 !important;
  color: rgba(255,255,255,.40) !important;
  flex-shrink: 0 !important;
}
#audioFileName {
  color: rgba(255,255,255,.72) !important;
  font: 650 13px/1.3 'DM Sans', system-ui, sans-serif !important;
  text-align: center !important;
  word-break: break-all !important;
}
.dream-upload-preview-btn {
  pointer-events: auto !important;
  flex-shrink: 0 !important;
}
.dream-upload-progress {
  display: grid !important;
  gap: 8px !important;
  padding: 12px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.045) !important;
}
.dream-upload-progress > span,
.dream-upload-progress > em,
.dream-upload-progress > small {
  color: rgba(255,255,255,.76) !important;
  font: 650 12px/1.35 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
}
.dream-upload-progress progress {
  width: 100% !important;
  height: 8px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.14) !important;
}
.dream-upload-progress progress::-webkit-progress-bar {
  background: rgba(255,255,255,.14) !important;
}
.dream-upload-progress progress::-webkit-progress-value {
  background: var(--spotify-green, var(--dw-green, var(--neon-green, #1ed760))) !important;
  box-shadow: 0 0 16px rgba(30,215,96,.32) !important;
}
.dream-upload-progress progress::-moz-progress-bar {
  background: var(--spotify-green, var(--dw-green, var(--neon-green, #1ed760))) !important;
  box-shadow: 0 0 16px rgba(30,215,96,.32) !important;
}
/* ── Div-based progress bar (DW-FEAT-040 scope 1) ── */
.dream-upload-progress-bar {
  width: 100% !important;
  height: 8px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.14) !important;
}
.dream-upload-progress-fill {
  height: 100% !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #1ed760, #1dd77a) !important;
  box-shadow: 0 0 14px rgba(30,215,96,.35) !important;
  transition: width 0.25s ease !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.dream-upload-visibility-radio {
  display: grid !important;
  gap: 8px !important;
}
.dream-upload-visibility-radio label {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  padding: 12px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.04) !important;
  cursor: pointer !important;
}
.dream-upload-visibility-radio input {
  margin: 2px 0 0 !important;
  accent-color: var(--spotify-green, var(--dw-green, var(--neon-green, #1ed760))) !important;
}
.dream-upload-visibility-radio label strong,
.dream-upload-visibility-radio label span {
  display: block !important;
}
.dream-upload-visibility-radio label strong {
  color: rgba(255,255,255,.92) !important;
  font: 760 13px/1.2 'DM Sans', system-ui, sans-serif !important;
}
.dream-upload-visibility-radio label span {
  margin-top: 3px !important;
  color: rgba(255,255,255,.56) !important;
  font: 620 11.5px/1.35 'DM Sans', system-ui, sans-serif !important;
}
.dream-upload-provenance {
  display: grid !important;
  gap: 10px !important;
  padding: 12px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(0,0,0,.18) !important;
}
.dream-upload-cover-preview {
  min-height: 176px !important;
  display: grid !important;
  place-items: center !important;
  gap: 10px !important;
  padding: 12px !important;
  border-radius: 20px !important;
  border: 1px dashed rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.03) !important;
  overflow: hidden !important;
}
.dream-upload-cover-preview img {
  width: 100% !important;
  max-width: 220px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.24) !important;
}
.dream-upload-cover-preview span,
.dream-upload-cover-preview em,
.dream-upload-cover-preview small {
  color: rgba(255,255,255,.54) !important;
  font: 620 12px/1.35 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
  text-align: center !important;
}
.dream-upload-cover-preview-img,
.dream-upload-summary-art-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: inherit !important;
  display: block !important;
}
.dream-upload-summary-card {
  display: grid !important;
  gap: 12px !important;
  padding: 14px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)) !important;
}
.dream-upload-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.dream-upload-summary-metric {
  display: grid !important;
  gap: 3px !important;
  padding: 10px !important;
  border-radius: 17px !important;
  background: rgba(255,255,255,.048) !important;
  border: 1px solid rgba(255,255,255,.055) !important;
}
/* Upload audio preview button */
.dream-upload-preview-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  min-height: 40px !important;
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  margin-left: 8px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 16px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
  transition: background 0.15s ease !important;
}
.dream-upload-preview-btn:hover:not(:disabled) {
  background: rgba(255,255,255,.14) !important;
}
.dream-upload-preview-btn:disabled {
  opacity: 0.35 !important;
  cursor: not-allowed !important;
}
/* Drag-drop zone: visual highlight when file dragged over */
#audioDropZone {
  transition: border-color 0.15s ease, background 0.15s ease !important;
}
#audioDropZone.drag-over {
  border-color: rgba(30,215,96,.55) !important;
  background: rgba(30,215,96,.06) !important;
}
/* Progress row: label + percentage side by side */
.dream-upload-progress-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}
.dream-upload-progress-pct {
  color: rgba(30,215,96,.9) !important;
  font: 800 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .06em !important;
  min-width: 32px !important;
  text-align: right !important;
}
/* Upload cancel button */
.dream-upload-cancel-btn {
  appearance: none !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  padding: 10px 16px !important;
  font: 800 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.75) !important;
  cursor: pointer !important;
  min-height: 44px !important;
  display: grid !important;
  place-items: center !important;
  transition: background 0.15s ease !important;
}
.dream-upload-cancel-btn:hover {
  background: rgba(255,255,255,.14) !important;
}
/* Upload submit button: enforce 44px min-height on mobile */
.dream-upload-submit {
  min-height: 44px !important;
}
/* Upload error/success: ensure inline and visible on mobile */
.dream-upload-error {
  padding: 12px 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,80,80,.45) !important;
  background: rgba(255,80,80,.08) !important;
  color: rgba(255,140,140,.95) !important;
  font: 700 13px/1.3 'DM Sans', system-ui, sans-serif !important;
  display: block !important;
}
.dream-upload-error:empty { display: none !important; }
/* AC-2: Upload success confirmation state */
.dream-upload-success {
  padding: 12px 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(30,215,96,.45) !important;
  background: rgba(30,215,96,.08) !important;
  color: rgba(140,255,160,.95) !important;
  font: 700 13px/1.3 'DM Sans', system-ui, sans-serif !important;
  display: block !important;
  margin-top: 6px !important;
  align-items: center !important;
  gap: 8px !important;
}
.dream-upload-success:empty { display: none !important; }
.dream-upload-success-check {
  font-size: 16px !important;
  line-height: 1 !important;
}
.dream-upload-view-studio-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  background: rgba(30,215,96,.18) !important;
  border: 1px solid rgba(30,215,96,.4) !important;
  border-radius: 999px !important;
  color: #1ed760 !important;
  font: 600 12px/1 'DM Sans', system-ui, sans-serif !important;
  cursor: pointer !important;
  margin-left: 6px !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}
/* Mobile dropzone touch target (DW-FEAT-040 scope 5) */
@media (max-width: 768px) {
  .dream-upload-drop-zone {
    min-height: 60px !important;
    padding: 16px 14px !important;
  }
  .dream-upload-file-input {
    z-index: 10 !important;
  }
  #audioDropHint {
    gap: 8px !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  #audioFileName {
    font-size: 12px !important;
  }
  /* Cover art preview enhancement on mobile (DW-FEAT-040 scope 6) */
  .dream-upload-cover-preview {
    min-height: 120px !important;
    border-radius: 16px !important;
    padding: 14px !important;
  }
  .dream-upload-cover-preview img {
    max-height: 140px !important;
    width: auto !important;
    border-radius: 12px !important;
  }
  /* DW-FEAT-057: field-row single-column on tablet/mobile */
  .dream-upload-field-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  /* DW-FEAT-057: visibility radio rows full-width stacked on mobile */
  .dream-upload-visibility-radio label {
    grid-template-columns: 18px 1fr !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    align-items: start !important;
  }
  .dream-upload-visibility-radio label span span {
    display: block !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }
  /* DW-FEAT-057: upload progress non-overlapping with form fields */
  .dream-upload-progress {
    margin-top: 4px !important;
    padding: 14px !important;
  }
  /* DW-FEAT-057: error has bottom clearance */
  .dream-upload-error {
    padding: 10px 14px !important;
    border-radius: 12px !important;
    margin-top: 4px !important;
  }
  /* DW-FEAT-057: submit + cancel 44px touch targets on mobile */
  .dream-upload-submit {
    min-height: 48px !important;
    width: 100% !important;
    font-size: 15px !important;
    border-radius: 16px !important;
    margin-top: 4px !important;
  }
  .dream-upload-cancel-btn {
    min-height: 44px !important;
    width: 100% !important;
    border-radius: 16px !important;
    margin-top: 4px !important;
    padding: 0 14px !important;
  }
  /* AC-2: success state on mobile */
  .dream-upload-success {
    padding: 10px 14px !important;
    border-radius: 12px !important;
    margin-top: 6px !important;
    font-size: 12.5px !important;
  }
  .dream-upload-view-studio-btn {
    min-height: 38px !important;
    padding: 0 12px !important;
    font-size: 11.5px !important;
    display: inline-flex !important;
  }
}
@media (max-width: 520px) {
  /* DW-FEAT-057: tighter phone spacing */
  .dream-upload-step {
    padding: 12px 10px !important;
    gap: 10px !important;
  }
  .dream-upload-field input,
  .dream-upload-field textarea,
  .dream-upload-field select {
    padding: 12px 12px !important;
    font-size: 14px !important;
  }
  /* DW-FEAT-057: visibility radio compact on very narrow phones */
  .dream-upload-visibility-radio label {
    padding: 8px 10px !important;
  }
  .dream-upload-visibility-radio label strong {
    font-size: 12.5px !important;
  }
  .dream-upload-visibility-radio label span {
    font-size: 11px !important;
  }
}
@media (max-width: 520px) {
  .dream-upload-drop-zone {
    min-height: 80px !important;
  }
  #audioDropHint {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }
}
.dream-upload-summary-metric span {
  color: rgba(255,255,255,.52) !important;
  font: 800 10.5px/1.2 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.dream-upload-summary-metric strong {
  color: rgba(255,255,255,.94) !important;
  font: 800 14px/1.2 'DM Sans', system-ui, sans-serif !important;
}
.dream-upload-summary-metric em {
  color: rgba(255,255,255,.60) !important;
  font: 620 11.5px/1.4 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
}
.dream-upload-summary-track {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
}
.dream-upload-summary-art {
  width: 72px !important;
  height: 72px !important;
  border-radius: 18px !important;
  border: 1px dashed rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.035) !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}
.dream-upload-summary-art span {
  color: rgba(255,255,255,.54) !important;
  font: 700 10.2px/1.25 'DM Sans', system-ui, sans-serif !important;
  text-align: center !important;
  padding: 0 8px !important;
}
.dream-upload-summary-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}
.dream-upload-summary-kicker {
  color: rgba(155,231,255,.74) !important;
  font: 780 9.5px/1.2 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.dream-upload-summary-copy strong {
  color: rgba(255,255,255,.95) !important;
  font: 800 16px/1.15 'DM Sans', system-ui, sans-serif !important;
}
.dream-upload-summary-copy em,
.dream-upload-summary-copy span:last-child {
  color: rgba(255,255,255,.76) !important;
  font: 620 12px/1.45 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
}
.dream-upload-recent-list {
  display: grid !important;
  gap: 8px !important;
}
.dream-upload-recent-row {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 9px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.055) !important;
}
.dream-upload-recent-art {
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  object-fit: cover !important;
}
.dream-upload-recent-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}
.dream-upload-recent-copy strong {
  color: rgba(255,255,255,.95) !important;
  font: 760 13px/1.2 'DM Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-upload-recent-copy em,
.dream-upload-recent-empty {
  color: rgba(255,255,255,.56) !important;
  font: 620 11.5px/1.4 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
}
.dream-upload-recent-empty {
  padding: 11px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px dashed rgba(255,255,255,.09) !important;
}
.dream-upload-provenance-visibility {
  margin-top: 4px !important;
}
.dream-studio-upload-notice {
  margin-top: 10px !important;
  padding: 10px 12px !important;
  border-radius: 18px !important;
  background: rgba(120,229,185,.10) !important;
  border: 1px solid rgba(120,229,185,.18) !important;
  color: rgba(235,255,243,.88) !important;
  font: 630 11.5px/1.42 'DM Sans', system-ui, sans-serif !important;
}
.dream-studio-upload-row-fresh {
  border-color: rgba(120,229,185,.20) !important;
  box-shadow: 0 0 0 1px rgba(120,229,185,.05), 0 12px 28px rgba(0,0,0,.14) !important;
}
.dream-status-chip--fresh {
  background: rgba(120,229,185,.10) !important;
  color: rgba(232,255,241,.86) !important;
  border-color: rgba(120,229,185,.16) !important;
}
@media (max-width: 640px) {
  .dream-upload-summary-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 520px) {
  .dream-upload-summary-track {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 9px !important;
    align-items: start !important;
  }
  .dream-upload-summary-art {
    width: 56px !important;
    height: 56px !important;
    border-radius: 16px !important;
  }
  body[data-dream-route="search"] .mini-now-playing,
  body[data-dream-route="upload"] .mini-now-playing,
  body[data-dream-route="studio"] .mini-now-playing,
  body[data-dream-route="account"] .mini-now-playing,
  body.dream-app-open[data-dream-route="search"] .mini-now-playing,
  body.dream-app-open[data-dream-route="upload"] .mini-now-playing,
  body.dream-app-open[data-dream-route="studio"] .mini-now-playing,
  body.dream-app-open[data-dream-route="account"] .mini-now-playing {
    display: none !important;
  }
  body[data-dream-route="search"] .dream-bottom-tabs,
  body[data-dream-route="upload"] .dream-bottom-tabs,
  body[data-dream-route="studio"] .dream-bottom-tabs,
  body[data-dream-route="account"] .dream-bottom-tabs,
  body[data-dream-route="billing"] .dream-bottom-tabs,
  body.dream-app-open[data-dream-route="search"] .dream-bottom-tabs,
  body.dream-app-open[data-dream-route="upload"] .dream-bottom-tabs,
  body.dream-app-open[data-dream-route="studio"] .dream-bottom-tabs,
  body.dream-app-open[data-dream-route="account"] .dream-bottom-tabs,
  body.dream-app-open[data-dream-route="billing"] .dream-bottom-tabs {
    bottom: 0 !important;
  }
  body[data-dream-route="search"] .dream-app-content,
  body[data-dream-route="upload"] .dream-app-content,
  body[data-dream-route="studio"] .dream-app-content,
  body[data-dream-route="account"] .dream-app-content,
  body[data-dream-route="billing"] .dream-app-content,
  body.dream-app-open[data-dream-route="search"] .dream-app-content,
  body.dream-app-open[data-dream-route="upload"] .dream-app-content,
  body.dream-app-open[data-dream-route="studio"] .dream-app-content,
  body.dream-app-open[data-dream-route="account"] .dream-app-content,
  body.dream-app-open[data-dream-route="billing"] .dream-app-content {
    padding: 0 14px calc(var(--dream-mobile-tabs-clearance) + var(--dream-mobile-mini-clearance)) !important;
  }
  body[data-dream-route="upload"] .dream-hero,
  body.dream-app-open[data-dream-route="upload"] .dream-hero {
    padding: 13px 14px !important;
    margin-bottom: 6px !important;
  }
  body[data-dream-route="upload"] .dream-upload-summary-card,
  body[data-dream-route="upload"] .dream-upload-step,
  body.dream-app-open[data-dream-route="upload"] .dream-upload-summary-card,
  body.dream-app-open[data-dream-route="upload"] .dream-upload-step {
    padding: 10px !important;
    border-radius: 18px !important;
  }
  body[data-dream-route="upload"] .dream-section-head,
  body.dream-app-open[data-dream-route="upload"] .dream-section-head {
    align-items: flex-start !important;
    gap: 8px !important;
  }
  body[data-dream-route="upload"] .dream-status-chip,
  body[data-dream-route="studio"] .dream-status-chip,
  body.dream-app-open[data-dream-route="upload"] .dream-status-chip,
  body.dream-app-open[data-dream-route="studio"] .dream-status-chip {
    padding: 3px 7px !important;
    font-size: 8.5px !important;
    letter-spacing: .09em !important;
    background: rgba(155,231,255,.08) !important;
    border-color: rgba(155,231,255,.10) !important;
    color: rgba(230,247,255,.72) !important;
  }
  body[data-dream-route="upload"] .dream-upload-summary-grid,
  body.dream-app-open[data-dream-route="upload"] .dream-upload-summary-grid {
    gap: 8px !important;
  }
  body[data-dream-route="upload"] .dream-upload-summary-metric,
  body.dream-app-open[data-dream-route="upload"] .dream-upload-summary-metric {
    padding: 9px !important;
  }
  body[data-dream-route="upload"] .dream-upload-summary-copy strong,
  body.dream-app-open[data-dream-route="upload"] .dream-upload-summary-copy strong {
    font-size: 15px !important;
    line-height: 1.1 !important;
  }
  body[data-dream-route="upload"] .dream-upload-summary-copy em,
  body[data-dream-route="upload"] .dream-upload-summary-copy span:last-child,
  body.dream-app-open[data-dream-route="upload"] .dream-upload-summary-copy em,
  body.dream-app-open[data-dream-route="upload"] .dream-upload-summary-copy span:last-child,
  body[data-dream-route="upload"] .dream-upload-step-copy,
  body.dream-app-open[data-dream-route="upload"] .dream-upload-step-copy {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }
  body[data-dream-route="upload"] .dream-upload-step--recent,
  body.dream-app-open[data-dream-route="upload"] .dream-upload-step--recent {
    margin-top: 8px !important;
  }
}
@media (max-width: 640px) {
  .dream-studio-upload-row {
    gap: 0.72rem;
    padding: 0.8rem;
    border-radius: 16px;
  }
  .dream-studio-upload-notice {
    margin-top: 8px !important;
    padding: 9px 11px !important;
    font: 630 11px/1.38 'DM Sans', system-ui, sans-serif !important;
  }
  .dream-status-chip--fresh {
    padding: 3px 6px !important;
    font-size: 8px !important;
    letter-spacing: .10em !important;
  }
}

.queue-header {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 10px !important;
}
.queue-header-title {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  color: rgba(255,255,255,.88) !important;
  font: 900 11px/1.1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
.queue-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}
.queue-clear-btn,
.queue-save-btn {
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.05) !important;
  color: rgba(255,255,255,.74) !important;
  border-radius: 999px !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  font: 850 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}
.queue-clear-btn:hover,
.queue-clear-btn:active,
.queue-save-btn:hover,
.queue-save-btn:active {
  border-color: rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.9) !important;
}
.queue-empty {
  padding: 16px 14px !important;
  border-radius: 18px !important;
  border: 1px dashed rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.035) !important;
  color: rgba(255,255,255,.56) !important;
  text-align: center !important;
  font: 620 12px/1.45 'DM Sans', system-ui, sans-serif !important;
}
.queue-list {
  display: grid !important;
  gap: 0 !important;
}
.queue-now-playing {
  display: grid !important;
  gap: 8px !important;
  margin: 0 0 12px !important;
  padding: 12px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.028)) !important;
}
.queue-now-label {
  color: var(--spotify-green, var(--dw-green, var(--neon-green, #1ed760))) !important;
  font: 900 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}
.queue-now-item,
.queue-item {
  display: grid !important;
  grid-template-columns: auto auto 30px 42px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
}
/* Prevent 300ms touch delay on queue items — responsive without zoom */
.queue-item,
.q-remove,
.queue-list {
  touch-action: manipulation !important;
}
.queue-now-item {
  grid-template-columns: 42px minmax(0, 1fr) !important;
}
.queue-item {
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  cursor: pointer !important;
  position: relative !important;
  transition: background .15s ease, border-color .15s ease, opacity .15s ease !important;
}
.queue-item:last-child {
  border-bottom: 0 !important;
}
.queue-item:hover,
.queue-item:active {
  background: rgba(255,255,255,.04) !important;
}
/* DW-FEAT-028: active track in queue list — distinct from Now Playing card */
.queue-item--active {
  background: rgba(0, 184, 212, .08) !important;
  border-left: 3px solid #00b8d4 !important;
  padding-left: calc(10px - 3px) !important;
}
.queue-item--active .q-name {
  color: #00e5ff !important;
  font-weight: 600 !important;
}
.queue-item--active .q-num {
  color: #00e5ff !important;
}
.queue-item--active .q-drag-handle {
  color: rgba(0, 229, 255, .55) !important;
}
.queue-item.dragging {
  opacity: .62 !important;
}
.queue-item.drag-over {
  border-top: 1px solid var(--spotify-green, var(--dw-green, var(--neon-green, #1ed760))) !important;
}
.queue-item .q-cover,
.queue-now-item .q-cover {
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  object-fit: cover !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.18) !important;
}
.queue-item .q-info,
.queue-now-item .q-info {
  min-width: 0 !important;
}
.queue-item .q-name,
.queue-now-item .q-name {
  color: rgba(255,255,255,.92) !important;
  font: 800 13px/1.2 'DM Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.queue-item .q-artist,
.queue-now-item .q-artist {
  margin-top: 2px !important;
  color: rgba(255,255,255,.56) !important;
  font: 620 11.5px/1.25 'DM Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.queue-item .q-album,
.queue-now-item .q-album {
  margin-top: 2px !important;
  color: rgba(255,255,255,.42) !important;
  font: 620 10.5px/1.2 'DM Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.queue-item .q-drag-handle {
  color: rgba(255,255,255,.32) !important;
  font-size: 13px !important;
  cursor: grab !important;
  line-height: 1 !important;
}
.queue-item .q-drag-handle:active {
  cursor: grabbing !important;
}
@media (max-width: 520px) {
  #queuePanel .queue-item .q-drag-handle {
    display: none !important;
  }
}
.queue-item .q-reorder {
  display: none !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px !important;
  width: 30px !important;
}
@media (max-width: 520px) {
  #queuePanel .queue-item .q-reorder {
    display: flex !important;
  }
}
.queue-item .q-move {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,.42) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  padding: 4px 2px !important;
  cursor: pointer !important;
  min-width: 30px !important;
  min-height: 22px !important;
  border-radius: 6px !important;
}
.queue-item .q-move:hover,
.queue-item .q-move:active {
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.88) !important;
}
.queue-item .q-num {
  width: 18px !important;
  color: rgba(255,255,255,.34) !important;
  text-align: center !important;
  font: 900 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .08em !important;
}
.queue-item .q-remove {
  width: 30px !important;
  height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: rgba(255,255,255,.05) !important;
  color: rgba(255,255,255,.46) !important;
}
.queue-item .q-remove:hover,
.queue-item .q-remove:active {
  background: rgba(255,255,255,.10) !important;
  color: rgba(255,255,255,.86) !important;
}

.add-to-queue-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 34px !important;
  height: 32px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.045) !important;
  color: rgba(255,255,255,.72) !important;
  font: 900 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;
}
.add-to-queue-btn:hover,
.add-to-queue-btn:active {
  border-color: rgba(30,215,96,.34) !important;
  background: rgba(30,215,96,.12) !important;
  color: var(--spotify-green, var(--dw-green, var(--neon-green, #1ed760))) !important;
}
.add-to-queue-btn[aria-pressed="true"],
.add-to-queue-btn.is-active,
.add-to-queue-btn.is-queued {
  border-color: var(--spotify-green, var(--dw-green, var(--neon-green, #1ed760))) !important;
  background: var(--spotify-green, var(--dw-green, var(--neon-green, #1ed760))) !important;
  color: #050506 !important;
  box-shadow: 0 10px 24px rgba(30,215,96,.22) !important;
}

.agent-results-list {
  display: grid !important;
  gap: 10px !important;
}
.agent-result-card {
  display: grid !important;
  gap: 10px !important;
  padding: 14px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.028)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;
}
.agent-result-card > strong,
.agent-result-card > h4,
.agent-result-card .agent-result-title {
  margin: 0 !important;
  color: rgba(255,255,255,.94) !important;
  font: 840 14px/1.22 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: -.01em !important;
}
.agent-result-card > p,
.agent-result-card > em,
.agent-result-card .agent-result-copy,
.agent-result-card .agent-result-meta {
  margin: 0 !important;
  color: rgba(255,255,255,.60) !important;
  font: 620 12px/1.45 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
}
.agent-result-card .dream-status-chip {
  justify-self: start !important;
  background: rgba(30,215,96,.12) !important;
  border-color: rgba(30,215,96,.16) !important;
  color: var(--spotify-green, var(--dw-green, var(--neon-green, #1ed760))) !important;
}
.agent-result-card .dream-row-actions {
  margin-top: 2px !important;
}
.agent-result-card .dream-row-actions > * {
  flex: 0 0 auto !important;
}

@media (min-width: 760px) {
  .agent-results-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .dream-upload-step,
  .dream-upload-progress,
  .dream-upload-provenance,
  .agent-result-card {
    padding: 12px !important;
    border-radius: 18px !important;
  }
  .dream-upload-cover-preview {
    min-height: 152px !important;
    border-radius: 18px !important;
  }
  .queue-item {
    grid-template-columns: 14px 18px 40px minmax(0, 1fr) 28px !important;
    gap: 8px !important;
  }
  .queue-now-item {
    grid-template-columns: 40px minmax(0, 1fr) !important;
  }
  .queue-item .q-cover,
  .queue-now-item .q-cover {
    width: 40px !important;
    height: 40px !important;
    border-radius: 12px !important;
  }
  .queue-clear-btn,
  .add-to-queue-btn {
    min-height: 30px !important;
    height: 30px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* ─── Creator Studio ─────────────────────────────────────────────────────────── */
.dream-studio-shell {
  display: block;
  background: rgba(8,9,14,0.72);
  backdrop-filter: blur(12px) saturate(1.1);
  -webkit-backdrop-filter: blur(12px) saturate(1.1);
  border-radius: 0 0 24px 24px;
}
.dream-studio-hero {
  padding: 1.2rem 1.1rem 0.8rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  background: rgba(8,9,14,0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.dream-studio-hero--primary,
.dream-studio-stats {
  max-height: 220px;
  overflow: hidden;
  opacity: 1;
  transition: max-height 0.22s ease, opacity 0.18s ease, padding 0.18s ease, border-color 0.18s ease, margin 0.18s ease;
}
.dream-studio-hero--primary {
  display: block;
}
.dream-studio-shell.is-editing .dream-studio-hero--primary {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
  border-bottom-color: transparent;
}
.dream-studio-shell.is-editing .dream-studio-stats {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
  border-bottom-color: transparent;
}
.dream-studio-shell.is-editing .dream-studio-section {
  padding-top: 0.4rem;
}
.dream-studio-hero h2 {
  font-size: 1.05rem;
  margin: 0.22rem 0 0;
  letter-spacing: -0.01em;
  opacity: 0.92;
  text-shadow: 0 1px 6px rgba(0,0,0,0.85), 0 0 18px rgba(0,0,0,0.6) !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  max-width: 100% !important;
}
@media (min-width: 641px) {
  .dream-studio-hero h2 {
    font-size: 1.18rem;
    letter-spacing: -0.03em;
  }
}
.dream-studio-hero p { margin: 0.22rem 0 0; opacity: 0.68; font-size: 0.82rem; line-height: 1.4; max-width: 24rem; }
.dream-studio-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.45rem;
  padding: 0.65rem 1.1rem 0.8rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  background: rgba(8,9,14,0.48);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.dream-studio-stat {
  background: rgba(12,12,20,0.78);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  padding: 0.55rem 0.65rem;
  text-align: center;
}
.dream-studio-stat strong { display: block; font-size: 1.4rem; color: var(--neon-pink, #ff71ce); }
.dream-studio-stat span { font-size: 0.66rem; opacity: 0.58; text-transform: uppercase; letter-spacing: 0.08em; }
.dream-studio-section {
  padding: 0.65rem 1.1rem 0.4rem;
  background: rgba(8,9,14,0.38);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.dream-studio-section h3 { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.08em; opacity: 0.62; margin: 0 0 0.5rem; }
.dream-studio-upload-row {
  display: flex;
  align-items: flex-start;
  gap: 0.72rem;
  padding: 0.8rem;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 18px;
  background: rgba(10,10,18,0.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
  font-size: 0.875rem;
}
.dream-studio-upload-row + .dream-studio-upload-row { margin-top: 0.55rem; }
.dream-studio-upload-row:last-child { border-bottom: 1px solid rgba(255,255,255,0.07); }
.dream-studio-upload-meta { flex: 1; min-width: 0; }
.dream-studio-upload-meta strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.94rem; line-height: 1.2; }
.dream-studio-upload-meta em { display: block; margin-top: 0.22rem; font-size: 0.72rem; line-height: 1.35; opacity: 0.6; }
.dream-studio-row-actions {
  display: flex;
  align-items: stretch;
  gap: 0.45rem;
  flex-wrap: nowrap;
  flex: 0 0 148px;
  flex-direction: column;
  justify-content: flex-start;
}
.dream-studio-row-status {
  display: grid;
  align-items: stretch;
  gap: 0.38rem;
  flex-wrap: nowrap;
  justify-content: stretch;
}
.dream-studio-action-buttons {
  display: grid;
  align-items: stretch;
  gap: 0.4rem;
  flex-wrap: nowrap;
  justify-content: stretch;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.dream-studio-select-wrap {
  display: grid;
  align-items: stretch;
  gap: 0.25rem;
  width: 100%;
}
.dream-studio-status-pill {
  font-size: 0.58rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.44;
}
.dream-studio-visibility-select {
  min-height: 40px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.07);
  color: #fff;
  padding: 0.3rem 0.72rem;
  font-size: 0.7rem;
  width: 100%;
}
.dream-studio-visibility {
  font-size: 0.65rem;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}
.dream-studio-visibility.public { background: rgba(0,200,100,0.15); color: #00c864; }
.dream-studio-visibility.private { background: rgba(255,200,0,0.12); color: #ffc800; }
.dream-studio-visibility.draft { background: rgba(255,255,255,0.08); color: #aaa; }
.dream-studio-delete,
.dream-studio-edit,
.dream-studio-save,
.dream-studio-cancel {
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(255,255,255,0.16);
  color: rgba(255,255,255,0.78);
  border-radius: 999px;
  padding: 0.38rem 0.6rem;
  font-size: 0.68rem;
  cursor: pointer;
  flex-shrink: 0;
  min-height: 44px;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.dream-studio-delete {
  background: rgba(255,80,80,0.04);
  border-color: rgba(255,80,80,0.3);
  color: rgba(255,80,80,0.7);
}
.dream-studio-delete:hover { background: rgba(255,80,80,0.15); color: #ff5050; border-color: rgba(255,80,80,0.6); }
.dream-studio-edit:hover,
.dream-studio-save:hover,
.dream-studio-cancel:hover { background: rgba(255,255,255,0.1); color: #fff; border-color: rgba(255,255,255,0.3); }
.dream-studio-save { border-color: rgba(30,215,96,0.35); color: rgba(30,215,96,0.9); }
.dream-studio-save:hover { background: rgba(30,215,96,0.12); border-color: rgba(30,215,96,0.55); color: #7dffb0; }
.dream-studio-cancel { color: rgba(255,255,255,0.6); }
.dream-studio-plays { font-size: 0.68rem; opacity: 0.56; flex-shrink: 0; min-width: 0; text-align: left; padding-left: 2px; }
.dream-studio-footer-cta { padding: 0.45rem 1.1rem 0.85rem; }
.dream-studio-footer-cta .dream-secondary { width: 100%; }
.dream-studio-edit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}
.dream-studio-edit-toolbar {
  display: grid;
  gap: 0.75rem;
}
.dream-studio-edit-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}
.dream-studio-save-feedback,
.dream-studio-validation-error {
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.16s ease, transform 0.16s ease;
  pointer-events: none;
}
.dream-studio-save-feedback {
  border: 1px solid rgba(30,215,96,0.24);
  background: rgba(30,215,96,0.12);
  color: rgba(125,255,176,0.95);
}
.dream-studio-save-feedback.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.dream-studio-validation-error.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.dream-studio-validation-error {
  border: 1px solid rgba(255,114,94,0.3);
  background: rgba(255,114,94,0.12);
  color: rgba(255,184,176,0.96);
}
.dream-studio-visibility-feedback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(120,180,255,0.22);
  background: rgba(120,180,255,0.10);
  color: rgba(190,220,255,0.95);
  font-size: 0.64rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(3px);
  transition: opacity 0.16s ease, transform 0.16s ease;
  pointer-events: none;
}
.dream-studio-visibility-feedback.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.dream-studio-edit-actions-inline {
  display: grid;
}
.dream-studio-edit-actions-dock {
  display: grid;
}
.dream-studio-edit-dock {
  display: none;
}
.dream-studio-edit-dock-spacer {
  display: none;
}
.dream-studio-edit-grid label {
  display: grid;
  gap: 0.25rem;
}
.dream-studio-edit-grid span {
  font-size: 0.65rem;
  opacity: 0.55;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.dream-studio-edit-grid input {
  min-width: 0;
  min-height: 36px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: #fff;
  padding: 0.5rem 0.75rem;
  font-size: 0.8rem;
}
.dream-studio-edit-grid input.is-invalid {
  border-color: rgba(255,114,94,0.55);
  box-shadow: 0 0 0 1px rgba(255,114,94,0.22);
  background: rgba(255,114,94,0.08);
}
/* ── Desktop (>=1100px): studio edit inputs float over cinematic video — boost opacity ── */
@media (min-width: 1100px) {
  /* Opaque inputs so text is legible over any video/gradient background */
  .dream-studio-edit-grid input {
    background: rgba(14, 16, 28, 0.78) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255,255,255,0.08) !important;
    color: #f0f4ff !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5) !important;
  }
  /* Label spans need dark background + shadow so they're visible over video */
  .dream-studio-edit-grid label span {
    background: rgba(8, 10, 20, 0.72) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    color: rgba(255, 255, 255, 0.9) !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
    border-radius: 4px !important;
    padding: 1px 4px !important;
  }
  /* Track meta (title/artist) visible over video */
  .dream-studio-upload-meta strong {
    text-shadow: 0 1px 4px rgba(0,0,0,0.65) !important;
  }
  .dream-studio-upload-meta em {
    text-shadow: 0 1px 3px rgba(0,0,0,0.6) !important;
  }
  /* Increase row contrast so edit toolbar stands out over video */
  .dream-studio-upload-row-editing {
    background: rgba(10, 12, 24, 0.62) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5) !important;
  }
}
@media (max-width: 640px) {
  .dream-studio-upload-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.68rem;
    padding: 0.76rem;
  }
  .dream-studio-upload-meta,
  .dream-studio-row-actions {
    width: 100%;
  }
  .dream-studio-row-actions {
    align-items: stretch;
    gap: 0.55rem;
  }
  .dream-studio-row-status {
    display: grid;
    gap: 0.4rem;
    width: 100%;
    justify-content: stretch;
  }
  .dream-studio-select-wrap {
    display: grid;
    gap: 0.35rem;
    width: 100%;
  }
  .dream-studio-visibility-select {
    width: 100%;
  }
  .dream-studio-plays {
    min-width: 0;
    text-align: left;
  }
  .dream-studio-action-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 0.42rem;
  }
  .dream-studio-action-buttons > * {
    min-width: 0;
    min-height: 44px;
  }
  .dream-studio-edit-grid {
    grid-template-columns: 1fr;
    gap: 0.7rem;
  }
  .dream-studio-edit-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    width: 100%;
  }
  .dream-studio-edit-actions-inline {
    display: none;
  }
  .dream-studio-edit-actions-dock {
    width: 100%;
    box-sizing: border-box;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.55rem;
    max-width: 440px;
    margin: 0 auto;
  }
  .dream-studio-edit-dock {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: calc(84px + env(safe-area-inset-bottom));
    z-index: 1001;
    display: flex;
    justify-content: center;
    pointer-events: none;
  }
  .dream-studio-edit-dock .dream-studio-edit-actions-dock {
    pointer-events: auto;
    padding: 0.62rem 0.66rem;
    background: linear-gradient(180deg, rgba(14,17,28,0.98), rgba(7,9,16,0.94));
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 18px;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.42);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }
  .dream-studio-edit-actions-dock .dream-studio-save-feedback {
    grid-column: 1;
    justify-content: flex-start;
    min-height: 0;
    padding-left: 0.2rem;
    padding-right: 0.2rem;
  }
  .dream-studio-edit-actions-dock .dream-studio-validation-error {
    grid-column: 1 / -1;
  }
  .dream-connection-row {
    grid-template-columns: 1fr !important;
  }
  .dream-connection-actions {
    justify-content: flex-start !important;
  }
  .dream-studio-edit-dock-spacer {
    display: block;
    min-height: 96px;
  }
  .dream-studio-edit-grid label {
    gap: 0.35rem;
  }
  .dream-studio-edit-grid input {
    width: 100%;
    box-sizing: border-box;
    min-height: 42px;
  }
}
@media (max-width: 420px) {
  .dream-studio-edit-actions {
    grid-template-columns: 1fr;
  }
  .dream-studio-edit-actions-dock {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dream-studio-edit-actions-dock .dream-studio-save-feedback,
  .dream-studio-edit-actions-dock .dream-studio-validation-error {
    grid-column: 1 / -1;
    justify-content: center;
  }
  body.dream-app-open .dream-app-header {
    padding: max(8px, env(safe-area-inset-top)) 12px 4px !important;
    gap: 6px !important;
  }
  body.dream-app-open .dream-app-header h1 {
    font-size: clamp(20px, 6vw, 22px) !important;
    line-height: .98 !important;
    letter-spacing: -.04em !important;
  }
  body.dream-app-open .dream-app-header-actions {
    gap: 5px !important;
  }
  body.dream-app-open .dream-app-account {
    min-width: 0 !important;
    max-width: 108px !important;
    min-height: 32px !important;
    padding: 0 8px !important;
    font-size: 9px !important;
    letter-spacing: .05em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  body.dream-app-open .dream-app-close {
    width: 24px !important;
    height: 24px !important;
    flex-basis: 24px !important;
    font-size: 11px !important;
  }
  body.dream-app-open .dream-app-tabs {
    padding: 0 12px 7px !important;
    gap: 5px !important;
  }
  body.dream-app-open .dream-app-tabs button {
    min-height: 30px !important;
    padding: 5px 6px !important;
    font-size: 8.8px !important;
    letter-spacing: .06em !important;
  }
}
@media (max-width: 420px) {
  .dream-studio-action-buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.dream-studio-empty { text-align: center; padding: 1.1rem 0.9rem 0.75rem; opacity: 0.56; font-size: 0.82rem; line-height: 1.4; }
.dream-studio-upgrade {
  margin: 0.75rem 1.25rem;
  padding: 0.75rem;
  background: rgba(255,113,206,0.08);
  border: 1px solid rgba(255,113,206,0.2);
  border-radius: 8px;
  font-size: 0.875rem;
}
.dream-creator-gate-shell {
  display: grid !important;
  gap: 12px !important;
}
.dream-creator-gate-support {
  display: grid !important;
  gap: 12px !important;
}
.dream-creator-gate-support .dream-studio-upgrade {
  margin: 0 !important;
}
@media (min-width: 1280px) {
  .dream-creator-gate-shell {
    grid-template-columns: minmax(0, 1.16fr) minmax(360px, 440px) !important;
    align-items: start !important;
  }
  .dream-creator-gate-hero,
  .dream-creator-gate-support {
    margin-bottom: 0 !important;
  }
  .dream-creator-gate-support {
    max-width: 440px !important;
    justify-self: end !important;
  }
}
.dream-studio-upgrade strong { color: var(--neon-pink, #ff71ce); }
.dream-studio-loading { text-align: center; padding: 2rem; opacity: 0.4; }

/* ===== Creator Profile Overlay ===== */
.creator-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: none;
  align-items: flex-end;
}
.creator-overlay.open {
  display: flex;
}
.creator-overlay-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.creator-overlay-panel {
  position: relative;
  width: 100%;
  max-height: 82vh;
  background: linear-gradient(180deg, rgba(14,16,24,.98) 0%, rgba(8,10,16,.96) 100%);
  border-radius: 24px 24px 0 0;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: creatorSlideUp .35s cubic-bezier(.22,.8,.24,1);
}
@keyframes creatorSlideUp {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}
.creator-overlay-handle {
  width: 36px;
  height: 4px;
  background: rgba(255,255,255,.15);
  border-radius: 2px;
  margin: 10px auto 6px;
  flex-shrink: 0;
}
.creator-overlay-close {
  position: absolute;
  top: 10px;
  right: 14px;
  z-index: 2;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.40);
  color: rgba(255,255,255,.55);
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(12px);
}
.creator-overlay-content {
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 20px 32px;
}
.creator-overlay-loading {
  text-align: center;
  padding: 3rem 1rem;
  opacity: .5;
  color: rgba(255,255,255,.6);
}
.creator-overlay-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}
.creator-overlay-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255,113,206,.18);
  box-shadow: 0 4px 20px rgba(255,113,206,.14);
  flex-shrink: 0;
}
.creator-overlay-info {
  min-width: 0;
  flex: 1;
}
.creator-overlay-name {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.creator-overlay-handle {
  font-size: 13px;
  color: rgba(255,255,255,.45);
  letter-spacing: .03em;
}
.creator-overlay-bio {
  font-size: 13px;
  color: rgba(255,255,255,.55);
  line-height: 1.5;
  margin-top: 6px;
}
.creator-overlay-stats {
  display: flex;
  gap: 18px;
  margin: 16px 0;
}
.creator-overlay-stat {
  text-align: center;
  flex: 1;
}
.creator-overlay-stat strong {
  display: block;
  font-size: 18px;
  color: #fff;
  font-weight: 700;
}
.creator-overlay-stat span {
  font-size: 10px;
  color: rgba(255,255,255,.38);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.creator-overlay-actions {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}
.creator-overlay-follow {
  flex: 1;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--neon-pink, #ff71ce);
  background: var(--neon-pink, #ff71ce);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all .2s ease;
}
.creator-overlay-follow.following {
  background: transparent;
  color: var(--neon-pink, #ff71ce);
}
.creator-overlay-follow.self {
  background: transparent;
  border-color: rgba(255,255,255,.12);
  color: rgba(255,255,255,.40);
  cursor: default;
}
.creator-overlay-play {
  padding: 12px 20px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.75);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.creator-overlay-section {
  margin-top: 18px;
}
.creator-overlay-section h4 {
  font-size: 11px;
  color: rgba(255,255,255,.30);
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 10px;
}
.creator-overlay-track {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.05);
  margin-bottom: 6px;
  cursor: pointer;
  transition: background .15s ease;
}
.creator-overlay-track:hover {
  background: rgba(255,255,255,.04);
}
.creator-overlay-track-art {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
}
.creator-overlay-track-info {
  min-width: 0;
  flex: 1;
}
.creator-overlay-track-name {
  font-size: 13px;
  color: rgba(255,255,255,.85);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.creator-overlay-track-meta {
  font-size: 11px;
  color: rgba(255,255,255,.38);
}
.creator-overlay-track-duration {
  font-size: 12px;
  color: rgba(255,255,255,.30);
  flex-shrink: 0;
}

/* Phone: bigger touch targets for track play buttons */
@media (max-width: 520px) {
  .dream-row-play {
    width: 44px !important;
    height: 44px !important;
    font-size: 15px !important;
    flex-shrink: 0 !important;
  }
  .dream-row-card .dream-row {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  /* Kill 300ms tap delay + make buttons feel instant */
  .dream-play-first,
  .dream-row-play,
  .dream-track-action,
  .dream-primary,
  .dream-tab-btn,
  .mini-np-play {
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
    user-select: none !important;
    -webkit-user-select: none !important;
  }
  /* More breathing room between Start listening and Compare plans */
  .dream-hero-actions--discover {
    gap: 16px !important;
  }
  .dream-hero-inline-links {
    margin-top: 12px !important;
  }
}

/* Phone audit pass — Apr 29 2026: make the cinematic shell behave like a native mobile music app. */
@media (max-width: 520px) {
  :root {
    --dw-muted: rgba(255,255,255,.76);
  }

  body::before {
    background:
      radial-gradient(circle at 50% 12%, rgba(255,113,206,.06), transparent 55%),
      linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.30) 30%, rgba(0,0,0,.38) 55%, rgba(0,0,0,.46)) !important;
  }

  #minimal-ui::before {
    top: max(10px, env(safe-area-inset-top)) !important;
    font-size: 10px !important;
    letter-spacing: .24em !important;
    opacity: .78 !important;
  }

  .vinyl-player {
    width: min(344px, 89vw) !important;
    padding: 18px 16px 16px !important;
    gap: 12px !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, rgba(12,12,18,.96), rgba(4,4,8,.98)) !important;
  }
  .vinyl-container {
    width: min(188px, 50vw) !important;
    height: min(188px, 50vw) !important;
  }
  .vinyl-bg,
  .vinyl-album-art { border-radius: 22px !important; }
  .minimal-track-name {
    font-size: clamp(20px, 5.8vw, 25px) !important;
    line-height: 1.04 !important;
    margin-bottom: 5px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .minimal-track-artist {
    color: rgba(255,255,255,.82) !important;
    font-size: 14px !important;
  }
  .minimal-progress-container {
    max-width: 300px !important;
    padding: 10px 0 4px !important;
  }
  .minimal-progress {
    height: 6px !important;
    background: rgba(255,255,255,.34) !important;
    box-shadow: 0 0 0 8px rgba(255,255,255,0) !important;
  }
  .minimal-progress::after {
    content: '' !important;
    position: absolute !important;
    right: -4px !important;
    top: 50% !important;
    width: 12px !important;
    height: 12px !important;
    transform: translateY(-50%) !important;
    border-radius: 999px !important;
    background: var(--dw-green) !important;
    box-shadow: 0 0 18px rgba(30,215,96,.55) !important;
  }
  .minimal-time { color: rgba(255,255,255,.76) !important; }
  .minimal-btn { width: 44px !important; height: 44px !important; }
  .minimal-btn.play { width: 58px !important; height: 58px !important; }
  #minimalQueueBtn {
    width: 44px !important;
    height: 44px !important;
    right: 16px !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    color: rgba(255,255,255,.78) !important;
    background: rgba(12,12,18,.76) !important;
    border-color: rgba(255,255,255,.18) !important;
  }

  body.dream-app-open .dream-bottom-tabs {
    bottom: 0 !important;
    min-height: 50px !important;
    padding: 5px 10px max(4px, env(safe-area-inset-bottom)) !important;
    background: rgba(5,6,12,.96) !important;
  }
  body.dream-app-open .mini-now-playing {
    bottom: 60px !important;
    min-height: 44px !important;
    background: rgba(8,8,15,.96) !important;
  }
  body.dream-app-open .dream-app-content {
    padding: 0 14px 176px !important;
  }
  .dream-tab-btn {
    min-width: 0 !important;
    flex: 1 1 0 !important;
    padding: 5px 4px !important;
    min-height: 48px !important;
    opacity: .74 !important;
  }
  .dream-tab-label {
    font-size: 10.5px !important;
    letter-spacing: .04em !important;
  }
  .dream-tab-icon,
  .dream-tab-icon svg {
    width: 21px !important;
    height: 21px !important;
  }

  .dream-hero,
  .dream-profile-card,
  .dream-section,
  .dream-tier-card,
  .dream-metric,
  .dream-account-auth-card {
    background: rgba(8,9,14,.94) !important;
    border-color: rgba(255,255,255,.14) !important;
  }
  .dream-hero {
    padding: 14px !important;
    border-radius: 20px !important;
    margin-bottom: 10px !important;
  }
  .dream-hero h2,
  .dream-profile-card h2 {
    font-size: clamp(21px, 5.7vw, 26px) !important;
    line-height: 1.02 !important;
    margin-bottom: 7px !important;
  }
  .dream-hero p:not(.dream-kicker),
  .dream-profile-card p:not(.dream-kicker),
  .dream-account-hero-list span {
    color: rgba(255,255,255,.76) !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }
  .dream-kicker,
  .dream-search-chip-label,
  .dream-search-browse h4,
  .dream-metric span,
  .dream-metric em {
    color: rgba(255,255,255,.66) !important;
  }
  .dream-hero-actions {
    margin-top: 12px !important;
    gap: 8px !important;
  }
  .dream-primary,
  .dream-secondary,
  .dream-section-head button,
  .dream-action-grid button {
    min-height: 42px !important;
    padding: 11px 13px !important;
  }

  .dream-library-source {
    margin-top: 12px !important;
    padding: 10px 12px !important;
    display: grid !important;
    gap: 3px !important;
    background: rgba(255,255,255,.07) !important;
    border-radius: 16px !important;
  }
  .dream-library-source span { color: rgba(255,255,255,.72) !important; }
  .dream-metrics,
  .dream-metrics--library {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 8px !important;
  }
  .dream-metric { padding: 12px !important; }

  .dream-account-quick-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-top: 14px !important;
  }
  .dream-account-hero-list {
    gap: 8px !important;
    margin-top: 12px !important;
  }
  .dream-account-hero-list li {
    padding: 10px 12px !important;
    border-radius: 15px !important;
    background: rgba(255,255,255,.055) !important;
  }
  .dream-account-login-section {
    padding-top: 12px !important;
  }
  .dream-account-auth-card--compact { padding: 14px !important; }

  /* DW-VIS-165: Account sign-in modal cut off at bottom on phone.
     The login section renders above the bottom chrome but the auth card's
     nested form footer (email input + submit + toggle) clips below the card
     when expanded, making the bottom CTA inaccessible.
     Add bottom padding so expanded form content clears the fixed bottom nav. */
  .dream-account-login-section {
    padding-bottom: max(72px, calc(72px + env(safe-area-inset-bottom))) !important;
  }

  /* Constrain the auth card so internal form content scrolls rather than
     bleeding past the card bottom into the nav chrome. */
  .dream-account-auth-card {
    max-height: calc(100dvh - 160px) !important;
    overflow-y: auto !important;
  }

  /* NEW-FIX: on phone (max-width:520) the card itself must be height-constrained
     so its internal scroll keeps the form footer visible above the bottom nav.
     Also add explicit bottom clearance on the login-section for the expanded form. */
  @media (max-width: 520px) {
    body.dream-app-open[data-dream-route="account"] .dream-account-auth-card {
      max-height: calc(100dvh - 148px - env(safe-area-inset-bottom)) !important;
      overflow-y: auto !important;
    }
    body.dream-app-open[data-dream-route="account"] .dream-account-login-section {
      padding-bottom: max(90px, calc(148px + env(safe-area-inset-bottom))) !important;
    }
  }

  .dream-hero--search { padding-bottom: 14px !important; }
  .dream-search-field {
    position: relative !important;
    margin-top: 12px !important;
  }
  .dream-search-icon {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: rgba(255,255,255,.84) !important;
    font: 900 18px/1 'DM Sans', system-ui, sans-serif !important;
    pointer-events: none !important;
  }
  #dreamSearchInput {
    min-height: 48px !important;
    padding: 13px 44px 13px 40px !important;
    border-radius: 999px !important;
    background: rgba(2,3,8,.88) !important;
    border-color: rgba(255,255,255,.24) !important;
    color: #fff !important;
  }
  #dreamSearchInput::placeholder { color: rgba(255,255,255,.68) !important; }
  .dream-search-chips {
    gap: 7px !important;
    margin-top: 10px !important;
  }
  .dream-search-pill-row--start,
  .dream-search-pill-row--moods {
    flex-wrap: wrap !important;
    justify-content: center !important;
    overflow-x: auto !important;
  }
  .dream-search-chip {
    min-height: 44px !important;
    padding: 8px 12px !important;
    color: rgba(255,255,255,.84) !important;
    background: rgba(255,255,255,.075) !important;
  }
  .dream-search-results { margin-top: 14px !important; }
  .dream-search-browse { margin-top: 12px !important; }
  .dream-browse-grid { gap: 8px !important; flex-wrap: wrap !important; justify-content: center !important; }
  .dream-browse-tile {
    aspect-ratio: 1.55 !important;
    min-height: 76px !important;
    border-radius: 16px !important;
    padding: 12px !important;
  }
}

/* Phone audit follow-up: fix seek thumb state and reduce duplicate/covered auth chrome. */
@media (max-width: 520px) {
  .minimal-progress {
    position: relative !important;
    overflow: visible !important;
  }
  .minimal-progress::after {
    display: none !important;
  }
  .minimal-progress-fill {
    position: relative !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  .minimal-progress-fill::after {
    content: '' !important;
    position: absolute !important;
    right: -5px !important;
    top: 50% !important;
    width: 12px !important;
    height: 12px !important;
    transform: translateY(-50%) !important;
    border-radius: 999px !important;
    background: var(--dw-green) !important;
    box-shadow: 0 0 18px rgba(30,215,96,.55) !important;
  }
  body.dream-app-open #minimal-ui .dream-app-content {
    padding-bottom: 172px !important;
  }
  body.dream-app-open .mini-now-playing {
    bottom: 60px !important;
    min-height: 48px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
  body.dream-app-open .dream-bottom-tabs {
    min-height: 52px !important;
  }
  body.dream-app-open .dream-account-subnav.dream-account-subnav--auth,
  .dream-account-subnav.dream-account-subnav--auth {
    display: none !important;
  }
  .dream-account-login-section {
    padding-top: 8px !important;
  }
}

/* DW-VIS-099: Account sign-in first-fold density — compact hero + login so CTA enters first viewport */
/* Target: CTA button bottom must be ≤ y≈622 (within 44px of 666 bottom nav) */
@media (max-width: 420px) {
  /* DW-VIS-ACCOUNT-MODAL-CLOSE: show close button topline on phone — use double class
     for specificity that beats the generic .dream-account-topline { display:none } below */
  .dream-account-topline.dream-account-topline--with-close { display: grid !important; }
  /* Hide non-essential topline on mobile — saves ~36px */
  .dream-account-topline { display: none !important; }

  /* Compact shell gap */
  .dream-account-shell { gap: 4px !important; }

  /* Compact hero: tighter padding, smaller type, 2-line title + 1-2 line desc */
  .dream-account-hero-card {
    padding: 6px 12px 4px !important;
  }
  .dream-account-hero-card .dream-kicker {
    font-size: 9px !important;
    margin-bottom: 1px !important;
    letter-spacing: .06em !important;
  }
  .dream-account-hero-card h2 {
    font-size: 13px !important;
    line-height: 1.15 !important;
    margin-bottom: 2px !important;
    /* Ensure single line at 384px */
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .dream-account-hero-card > p:not(.dream-kicker) {
    font-size: 9.5px !important;
    line-height: 1.3 !important;
    margin-bottom: 4px !important;
    /* Allow 2 lines, then ellipsis */
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  /* Compact hero list: 3 items × ~28px each + gaps */
  .dream-account-hero-list {
    margin-top: 3px !important;
    gap: 3px !important;
  }
  .dream-account-hero-list li {
    padding: 4px 7px !important;
    border-radius: 8px !important;
    min-height: 0 !important;
  }
  .dream-account-hero-list strong {
    font-size: 9px !important;
    margin-bottom: 0 !important;
    display: block !important;
    line-height: 1.2 !important;
  }
  .dream-account-hero-list span {
    font-size: 9px !important;
    line-height: 1.2 !important;
  }

  /* Login section: tighter padding, pushes auth card higher */
  .dream-account-login-section {
    padding-top: 2px !important;
    padding-bottom: 0 !important;
  }
  /* DW-VIS-119 follow-up: login section is now first in DOM.
     Sticky no longer needed — auth CTAs naturally enter the first viewport.
     Hero secondary scrolls behind as supplementary info. */
  .dream-account-login-section {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    background: transparent !important;
    border-radius: 0 !important;
  }

  /* Hero secondary: hide on phone — supplementary info, not needed above fold */
  .dream-account-hero-card--secondary {
    display: none !important;
  }

  /* Auth card: aggressively compact */
  .dream-account-auth-card {
    padding: 8px 10px !important;
  }
  .dream-account-auth-card--compact {
    padding: 8px 10px !important;
  }
  /* Auth footer button: use dark bg not the generic .dream-secondary grey */
  .dream-account-auth-card .dream-account-auth-footer > button.dream-secondary {
    background-color: rgba(5,6,10,.90) !important;
    color: rgba(255,255,255,.97) !important;
  }
  /* Auth head: tiny or removed */
  .dream-account-auth-head {
    margin-bottom: 4px !important;
  }
  .dream-account-auth-head p {
    font-size: 10px !important;
    line-height: 1.3 !important;
  }
  /* Auth actions: 2 buttons (44px each) + email toggle row (24px) = ~120px + gaps */
  .dream-account-auth-actions {
    gap: 4px !important;
    margin-bottom: 6px !important;
  }
  .dream-account-auth-actions .dream-primary,
  .dream-account-auth-actions .dream-secondary {
    min-height: 42px !important;
    color: var(--dw-text) !important;
  }
  .dream-account-auth-actions .dream-primary {
    background: var(--dw-green) !important;
  }
  .dream-account-auth-actions .dream-secondary {
    background: rgba(255,255,255,.28) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 10px !important;
  }
  .dream-account-email-row {
    min-height: 24px !important;
  }
  .dream-account-email-toggle {
    font-size: 11px !important;
    padding: 4px 8px !important;
    color: rgba(255,255,255,.97) !important;
    background-color: rgba(45,48,58,.92) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 6px !important;
    background-image: none !important;
  }
  /* Helper: very compact */
  .dream-account-helper {
    font-size: 9.5px !important;
    line-height: 1.3 !important;
    margin-top: 2px !important;
  }
  /* Auth footer: tiny */
  .dream-account-auth-footer {
    margin-top: 4px !important;
    min-height: 24px !important;
  }
  .dream-account-auth-footer > button.dream-secondary {
    background-color: rgba(5,6,10,.90) !important;
    background-image: none !important;
    color: rgba(255,255,255,.97) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
  }
  body.dream-app-open .dream-account-auth-card .dream-account-auth-footer > button.dream-secondary,
  body.dream-app-open .dream-account-auth-card .dream-account-auth-form-wrap .dream-account-auth-footer > button.dream-secondary {
    background: rgba(5,6,10,.90) !important;
    background-color: rgba(5,6,10,.90) !important;
    color: rgba(255,255,255,.97) !important;
  }
  /* Install section: hidden on mobile to save ~90px */
  .dream-account-install-section { display: none !important; }
}

/* Task 2 mobile polish final override block */
@media (max-width: 520px) {
  body.dream-app-open #minimal-ui {
    padding: max(18px, env(safe-area-inset-top)) 0 0 !important;
    max-width: 100vw !important;
  }

  body.dream-app-open #minimal-ui::before {
    top: max(12px, env(safe-area-inset-top)) !important;
    font-size: 10px !important;
    letter-spacing: .18em !important;
    color: rgba(255,255,255,.86) !important;
  }

  body.dream-app-open .dream-app-main,
  body.dream-app-open .dream-app-sheet,
  body.dream-app-open .dream-app-panel,
  body.dream-app-open .dream-app-content,
  body.dream-app-open .dream-app-tabs,
  body.dream-app-open .dream-bottom-tabs,
  body.dream-app-open .dream-metrics,
  body.dream-app-open .dream-tier-grid,
  body.dream-app-open .dream-browse-grid,
  body.dream-app-open .dream-search-results,
  body.dream-app-open .dream-collection-list {
    max-width: 100vw !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  body.dream-app-open .dream-app-main::-webkit-scrollbar,
  body.dream-app-open .dream-app-sheet::-webkit-scrollbar,
  body.dream-app-open .dream-app-panel::-webkit-scrollbar,
  body.dream-app-open .dream-app-content::-webkit-scrollbar,
  body.dream-app-open .dream-app-tabs::-webkit-scrollbar,
  body.dream-app-open .dream-bottom-tabs::-webkit-scrollbar,
  body.dream-app-open .dream-metrics::-webkit-scrollbar,
  body.dream-app-open .dream-tier-grid::-webkit-scrollbar,
  body.dream-app-open .dream-browse-grid::-webkit-scrollbar,
  body.dream-app-open .dream-search-results::-webkit-scrollbar,
  body.dream-app-open .dream-collection-list::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  body.dream-app-open .dream-app-sheet {
    background: rgba(0,0,0,.26) !important;
  }

  body.dream-app-open .dream-app-sheet::before,
  body.dream-app-open .dream-app-panel::before,
  body.dream-app-open .dream-app-panel::after {
    left: 0 !important;
    right: 0 !important;
    inset-inline: 0 !important;
    max-width: 100vw !important;
    clip-path: inset(0) !important;
  }

  body.dream-app-open .dream-app-panel {
    background: linear-gradient(180deg, rgba(10,11,16,.97), rgba(7,8,12,.95)) !important;
  }

  body.dream-app-open .dream-app-header {
    padding: max(10px, env(safe-area-inset-top)) 12px 6px !important;
    gap: 8px !important;
    align-items: center !important;
  }

  body.dream-app-open .dream-app-header p {
    margin-bottom: 4px !important;
    letter-spacing: .14em !important;
  }

  body.dream-app-open .dream-app-header h1 {
    font-size: clamp(20px, 6.1vw, 25px) !important;
    line-height: .94 !important;
  }

  body.dream-app-open .dream-app-header-actions {
    gap: 6px !important;
  }

  body.dream-app-open .dream-app-account,
  body.dream-app-open .dream-app-close {
    min-height: 44px !important;
  }

  body.dream-app-open .dream-app-account {
    min-width: 82px !important;
    padding: 0 12px !important;
    font-size: 10px !important;
    letter-spacing: .07em !important;
    background: rgba(255,255,255,.11) !important;
    border-color: rgba(255,255,255,.18) !important;
    color: rgba(255,255,255,.94) !important;
  }

  body.dream-app-open .dream-app-close {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    background: rgba(255,255,255,.10) !important;
    border-color: rgba(255,255,255,.16) !important;
    color: rgba(255,255,255,.86) !important;
  }

  body.dream-app-open .dream-app-tabs {
    padding: 0 12px 10px !important;
    gap: 6px !important;
  }

  body.dream-app-open .dream-app-tabs button {
    min-height: 44px !important;
    padding: 8px 8px !important;
    font-size: 10px !important;
    letter-spacing: .06em !important;
    background: rgba(255,255,255,.14) !important;
    border-color: rgba(255,255,255,.18) !important;
    color: rgba(255,255,255,.82) !important;
  }

  body.dream-app-open #minimal-ui .dream-app-content {
    padding: 0 12px calc(148px + env(safe-area-inset-bottom)) !important;
  }

  body.dream-app-open .dream-hero,
  body.dream-app-open .dream-profile-card,
  body.dream-app-open .dream-section,
  body.dream-app-open .dream-tier-card,
  body.dream-app-open .dream-metric,
  body.dream-app-open .dream-account-auth-card,
  body.dream-app-open .dream-library-source,
  body.dream-app-open .dream-account-hero-list li,
  body.dream-app-open .dream-agent-prompt,
  body.dream-app-open .dream-collection-row,
  body.dream-app-open .dream-empty,
  body.dream-app-open .dream-search-chip,
  body.dream-app-open .dream-browse-tile {
    background: rgba(7,8,12,.95) !important;
    border-color: rgba(255,255,255,.16) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.dream-app-open .dream-hero {
    padding: 12px 12px 13px !important;
    margin-bottom: 8px !important;
    border-radius: 18px !important;
  }

  body.dream-app-open .dream-profile-card {
    gap: 10px !important;
    padding: 12px !important;
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
  }

  body.dream-app-open .dream-section,
  body.dream-app-open .dream-tier-card {
    padding: 12px !important;
    margin-bottom: 8px !important;
    border-radius: 18px !important;
  }

  body.dream-app-open .dream-metric {
    padding: 11px !important;
  }

  body.dream-app-open .dream-hero h2,
  body.dream-app-open .dream-profile-card h2 {
    font-size: clamp(20px, 5.8vw, 24px) !important;
    margin-bottom: 6px !important;
  }

  body.dream-app-open .dream-hero p:not(.dream-kicker),
  body.dream-app-open .dream-profile-card p:not(.dream-kicker),
  body.dream-app-open .dream-account-hero-list span,
  body.dream-app-open .dream-row-main em,
  body.dream-app-open .dream-collection-row em,
  body.dream-app-open .dream-tier-card li,
  body.dream-app-open .dream-setting-row span,
  body.dream-app-open .dream-library-source span,
  body.dream-app-open .dream-empty {
    color: rgba(255,255,255,.74) !important;
  }

  body.dream-app-open .dream-kicker,
  body.dream-app-open .dream-search-chip-label,
  body.dream-app-open .dream-search-browse h4,
  body.dream-app-open .dream-metric span,
  body.dream-app-open .dream-metric em,
  body.dream-app-open .mini-np-artist {
    color: rgba(255,255,255,.72) !important;
  }

  body.dream-app-open .dream-secondary,
  body.dream-app-open .dream-section-head button,
  body.dream-app-open .dream-action-grid button {
    min-height: 44px !important;
    padding: 11px 14px !important;
    background: rgba(255,255,255,.15) !important;
    border-color: rgba(255,255,255,.22) !important;
    color: rgba(255,255,255,.96) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
  }

  body.dream-app-open .dream-primary {
    min-height: 44px !important;
  }

  body.dream-app-open .dream-bottom-tabs {
    bottom: 0 !important;
    min-height: 50px !important;
    padding: 4px 8px calc(8px + env(safe-area-inset-bottom)) !important;
    background: rgba(5,6,10,.98) !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 -10px 28px rgba(0,0,0,.46) !important;
  }

  body.dream-app-open .dream-tab-btn {
    min-height: 44px !important;
    padding: 4px 3px !important;
    opacity: .82 !important;
  }

  body.dream-app-open .dream-tab-icon,
  body.dream-app-open .dream-tab-icon svg {
    width: 20px !important;
    height: 20px !important;
  }

  body.dream-app-open .dream-tab-label {
    font-size: 10px !important;
    letter-spacing: .05em !important;
  }

  body.dream-app-open .dream-tab-btn--desktop-only,
  body.dream-app-open .dream-rail-mode,
  body.dream-app-open .dream-rail-section-label,
  body.dream-app-open .dream-rail-now-playing,
  body.dream-app-open .dream-rail-queue {
    display: none !important;
  }

  body.dream-app-open .mini-now-playing {
    bottom: calc(60px + env(safe-area-inset-bottom)) !important;
    min-height: 44px !important;
    padding: 3px 10px 5px !important;
    gap: 8px !important;
    background: rgba(7,8,12,.98) !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
  }

  body.dream-app-open .mini-np-art {
    width: 44px !important;
    height: 44px !important;
    border-radius: 8px !important;
  }

  body.dream-app-open .mini-np-title {
    font-size: 12.5px !important;
  }

  body.dream-app-open .mini-np-play {
    width: 44px !important;
    height: 44px !important;
    font-size: 14px !important;
    box-shadow: 0 10px 24px rgba(255,113,206,.18) !important;
  }
}

/* Post-v78 phone QA tightening: remove scroll slivers and reclaim first viewport space. */
@media (max-width: 520px) {
  html,
  body,
  #app,
  #minimal-ui,
  body.dream-app-open #minimal-ui,
  body.dream-app-open .dream-app-main,
  body.dream-app-open .dream-app-sheet,
  body.dream-app-open .dream-app-panel,
  body.dream-app-open .dream-app-content {
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  body.dream-app-open * {
    scrollbar-width: none !important;
  }

  body.dream-app-open *::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
  }

  body.dream-app-open .dream-app-content {
    padding-top: 10px !important;
    padding-bottom: 238px !important;
  }

  body.dream-app-open .dream-hero,
  body.dream-app-open .dream-section,
  body.dream-app-open .dream-track-meta-card {
    padding: 12px !important;
    margin-bottom: 8px !important;
  }

  body.dream-app-open .dream-hero h2,
  body.dream-app-open .dream-hero h3 {
    font-size: clamp(20px, 5.5vw, 24px) !important;
    line-height: 1.02 !important;
    margin-bottom: 4px !important;
  }

  body.dream-app-open .dream-hero p,
  body.dream-app-open .dream-hero .dream-hero-copy,
  body.dream-app-open .dream-hero .dream-muted,
  body.dream-app-open .dream-account-helper {
    font-size: 11.2px !important;
    line-height: 1.28 !important;
  }

  body.dream-app-open .dream-hero-actions,
  body.dream-app-open .dream-account-hero-actions,
  body.dream-app-open .dream-actions {
    gap: 8px !important;
    margin-top: 9px !important;
  }

  body.dream-app-open .dream-metrics,
  body.dream-app-open .dream-account-feature-grid,
  body.dream-app-open .dream-browse-grid {
    gap: 8px !important;
  }

  body.dream-app-open .dream-metric,
  body.dream-app-open .dream-account-feature,
  body.dream-app-open .dream-local-status-card {
    padding: 10px !important;
    min-height: 0 !important;
  }

  body.dream-app-open .dream-browse-tile {
    min-height: 74px !important;
    aspect-ratio: auto !important;
    padding: 10px !important;
  }

  body.dream-app-open .dream-search-field {
    min-height: 42px !important;
    margin-bottom: 8px !important;
  }

  body.dream-app-open .dream-search-chips,
  body.dream-app-open .dream-search-suggestions {
    gap: 6px !important;
    margin-bottom: 10px !important;
  }

  body.dream-app-open .dream-search-chip {
    min-height: 44px !important;
    padding: 7px 10px !important;
  }

  body.dream-app-open .mini-now-playing {
    height: 48px !important;
    min-height: 48px !important;
    box-shadow: 0 -12px 30px rgba(0,0,0,.42) !important;
  }

  body.dream-app-open .mini-np-art {
    width: 44px !important;
    height: 44px !important;
  }
}

/* Post-v79 fixed-dock containment: browsing content stops above mini-player/tab dock. */
@media (max-width: 520px) {
  body.dream-app-open .dream-app-main {
    height: calc(100dvh - 110px - env(safe-area-inset-bottom)) !important;
    max-height: calc(100dvh - 110px - env(safe-area-inset-bottom)) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.dream-app-open .dream-app-content {
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    padding-bottom: 126px !important;
    overscroll-behavior: contain !important;
  }
}

/* Post-v80 visual clearance: add an intentional air gap above the fixed dock and push mobile scrollbars off-canvas. */
@media (max-width: 520px) {
  body.dream-app-open .dream-app-main {
    height: calc(100dvh - 120px - env(safe-area-inset-bottom)) !important;
    max-height: calc(100dvh - 120px - env(safe-area-inset-bottom)) !important;
  }

  body.dream-app-open .dream-app-content {
    width: calc(100% + 28px) !important;
    max-width: calc(100vw + 28px) !important;
    padding-right: 28px !important;
    box-sizing: border-box !important;
  }
}

/* Post-v81 edge cleanup: keep the dock gap but restore exact viewport width. */
@media (max-width: 520px) {
  body.dream-app-open .dream-app-content {
    width: 100% !important;
    max-width: 100vw !important;
    padding-right: 0 !important;
  }
}

/* Post-v82 background edge scrub: mask the cinematic video crop at the far right without touching controls. */
@media (max-width: 520px) {
  body.dream-app-open #minimal-ui::after {
    content: '' !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: calc(108px + env(safe-area-inset-bottom)) !important;
    width: 12px !important;
    pointer-events: none !important;
    z-index: 18 !important;
    background: linear-gradient(90deg, rgba(5,6,10,0), rgba(5,6,10,.72)) !important;
  }
}

/* Post-v83 hard edge mask: final phone QA showed the video crop can still peek through on Discover. */
@media (max-width: 520px) {
  body.dream-app-open #app::after {
    content: '' !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: calc(108px + env(safe-area-inset-bottom)) !important;
    width: 14px !important;
    pointer-events: none !important;
    z-index: 2147483000 !important;
    background: linear-gradient(90deg, rgba(5,6,10,0), rgba(5,6,10,.92) 55%, rgba(5,6,10,.92)) !important;
  }
}

/* Sprint 2 install-grade PWA surface. */
.dream-install-surface {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 10px 0 14px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(7,8,12,.92), rgba(18,8,31,.86));
  box-shadow: 0 18px 44px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06);
}

.dream-install-copy {
  min-width: 0;
}

.dream-install-copy h3 {
  margin: 2px 0 5px;
  font-size: clamp(18px, 4.8vw, 23px);
  line-height: 1.02;
}

.dream-install-copy p:last-child {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.35;
}

.dream-install-action {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: nowrap;
  min-width: 0;
}

.dream-install-status {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid rgba(30,215,96,.32);
  border-radius: 999px;
  color: #1ed760;
  background: rgba(30,215,96,.10);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.dream-install-button[disabled] {
  opacity: .58;
  cursor: default;
}

@media (max-width: 640px) {
  body.dream-app-open .dream-account-install-shell .dream-install-surface {
    grid-template-columns: 1fr !important;
    margin: 0 0 6px !important;
    padding: 7px 9px !important;
    border-radius: 12px !important;
    gap: 5px !important;
    min-height: 0 !important;
    height: 88px !important;
    overflow: hidden !important;
  }

  body.dream-app-open .dream-account-install-shell .dream-install-copy {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body.dream-app-open .dream-account-install-shell .dream-install-copy .dream-kicker {
    font-size: 9px !important;
    margin: 0 0 1px !important;
  }

  body.dream-app-open .dream-account-install-shell .dream-install-copy h3 {
    font-size: 11px !important;
    margin: 0 0 2px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.dream-app-open .dream-account-install-shell .dream-install-copy p:last-child {
    font-size: 10px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }

  body.dream-app-open .dream-account-install-shell .dream-install-action {
    justify-content: flex-start !important;
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
    overflow: hidden !important;
  }

  body.dream-app-open .dream-account-install-shell .dream-install-status {
    align-self: center !important;
    font-size: 9px !important;
    padding: 3px 6px !important;
    min-height: 18px !important;
    flex-shrink: 0 !important;
  }

  body.dream-app-open .dream-account-install-shell .dream-install-action .dream-install-button {
    min-height: 30px !important;
    font-size: 10px !important;
    padding: 4px 10px !important;
    flex-shrink: 0 !important;
  }

  /* Compress the quick-card above the install surface to save room */
  body.dream-app-open .dream-account-quick-card {
    padding: 6px !important;
  }
}

.dream-settings-shell {
  display: grid !important;
  gap: 14px !important;
  overflow-y: auto !important;
  max-height: 100% !important;
}

.dream-settings-utility-grid {
  display: grid !important;
  gap: 12px !important;
}

.dream-settings-install-card,
.dream-settings-playback-card {
  min-width: 0 !important;
}

.dream-settings-install-card .dream-install-surface,
.dream-settings-playback-card {
  margin: 0 !important;
  height: auto !important;
  overflow: hidden !important;
}

@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="settings"] #minimal-ui .dream-app-content {
    padding-bottom: max(220px, calc(56px + 100px + env(safe-area-inset-bottom) + 64px)) !important;
  }
  /* Force settings install card into single-col compact layout matching account shell */
  body.dream-app-open .dream-settings-install-card .dream-install-surface {
    grid-template-columns: 1fr !important;
    height: 88px !important;
    margin: 0 0 6px !important;
    padding: 7px 9px !important;
    border-radius: 12px !important;
    gap: 5px !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  body.dream-app-open .dream-settings-install-card .dream-install-copy {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  body.dream-app-open .dream-settings-install-card .dream-install-copy h3 {
    font-size: 14px !important;
    margin: 2px 0 3px !important;
    line-height: 1.2 !important;
  }
  body.dream-app-open .dream-settings-install-card .dream-install-copy p {
    font-size: 10px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }
  body.dream-app-open .dream-settings-install-card .dream-install-action {
    align-items: center !important;
  }
  body.dream-app-open .dream-settings-install-card .dream-install-action .dream-install-button {
    min-height: 36px !important;
    padding: 6px 10px !important;
    font-size: 10px !important;
    border-radius: 8px !important;
  }
}

.dream-settings-playback-card .dream-secondary {
  width: 100% !important;
}

.dream-settings-video-state {
  margin-top: 12px !important;
}

.dream-settings-switch-block {
  margin-top: 12px !important;
}

.dream-settings-switch-block .dream-action-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.dream-settings-switch-block .dream-action-grid button {
  width: 100% !important;
}

@media (min-width: 1100px) {
  .dream-settings-utility-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
  }
}

.minimal-flip-state {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Sprint 2 v86 phone QA: overscan the background video and keep only a subtle seam fade. */
@media (max-width: 520px) {
  html,
  body,
  #app {
    overflow-x: hidden !important;
  }

  #bgVideo {
    left: -6px !important;
    width: calc(100% + 12px) !important;
    max-width: none !important;
  }

  body.dream-app-open #app::after {
    width: 6px !important;
    background: linear-gradient(90deg, rgba(5,6,10,0), rgba(5,6,10,.72) 55%, rgba(5,6,10,.9)) !important;
  }

  body.dream-app-open .dream-app-panel,
  body.dream-app-open .dream-app-content {
    transform: translateZ(0) !important;
    contain: paint !important;
  }
  /* Player route: relax containment so the fixed-position close button escapes the scroll container */
  body.dream-app-open[data-dream-route="player"] .dream-app-content {
    transform: none !important;
    contain: none !important;
  }
}


/* Post-v90 content-first Discover + Library IA */
.dream-hero-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 12px !important;
}
.dream-hero-badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.72) !important;
  font: 760 10.2px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}
.dream-discover-lead-grid,
.dream-library-overview-grid {
  display: grid !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}
.dream-discover-lead-grid .dream-section,
.dream-library-overview-grid .dream-section {
  margin-bottom: 0 !important;
}
@media (min-width: 1100px) {
  .dream-section--discover-lead {
    margin-top: 6px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    background: linear-gradient(180deg, rgba(10,12,18,.94), rgba(8,10,16,.86)) !important;
    box-shadow: 0 16px 36px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06) !important;
  }
  .dream-section--discover-lead .dream-section-head {
    margin-bottom: 12px !important;
  }
}
.dream-collection-stack {
  display: grid !important;
  gap: 8px !important;
}
.dream-collection-row--track,
button.dream-collection-row--playlist {
  width: 100% !important;
  appearance: none !important;
  text-align: left !important;
}
.dream-collection-row--track {
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
}
.dream-collection-row--track .dream-row-play {
  width: 34px !important;
  height: 34px !important;
  align-self: center !important;
}
.dream-collection-track-main {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
}
.dream-collection-track-main .dream-row-art {
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  object-fit: cover !important;
}
.dream-collection-track-copy {
  min-width: 0 !important;
}
.dream-collection-track-copy strong,
.dream-collection-track-copy em,
.dream-collection-track-copy span {
  display: block !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-collection-track-copy strong {
  color: rgba(255,255,255,.92) !important;
  font: 850 13px/1.2 'DM Sans', system-ui, sans-serif !important;
}
.dream-collection-track-copy em {
  margin-top: 3px !important;
  color: rgba(255,255,255,.58) !important;
  font: 680 11px/1.2 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
}
.dream-collection-track-copy span {
  margin-top: 3px !important;
  color: rgba(255,255,255,.42) !important;
  font: 620 10.5px/1.2 'DM Sans', system-ui, sans-serif !important;
}
.dream-collection-track-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding-right: 2px !important;
  min-width: 68px !important;
}
button.dream-collection-row--playlist.active {
  border-color: rgba(30,215,96,.28) !important;
  background: rgba(30,215,96,.12) !important;
}
.dream-collection-row--track-disabled {
  opacity: .68 !important;
}
@media (min-width: 760px) {
  .dream-library-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1100px) {
  .dream-library-route--desktop-dense .dream-library-overview-grid {
    gap: 10px !important;
  }
  .dream-library-route--desktop-dense .dream-section,
  .dream-library-route--desktop-dense .dream-track-meta-card {
    padding: 13px 14px !important;
  }
  .dream-library-route--desktop-dense .dream-collection-stack,
  .dream-library-route--desktop-dense .dream-playlist-list {
    gap: 6px !important;
  }
  .dream-library-route--desktop-dense .dream-collection-row--track {
    grid-template-columns: 30px minmax(0, 1fr) auto !important;
  }
  .dream-library-route--desktop-dense .dream-collection-row--track .dream-row-play,
  .dream-library-route--desktop-dense .dream-playlist-track-row .dream-row-play {
    width: 30px !important;
    height: 30px !important;
  }
  .dream-library-route--desktop-dense .dream-collection-track-main,
  .dream-library-route--desktop-dense .dream-playlist-track-main {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  .dream-library-route--desktop-dense .dream-collection-track-main .dream-row-art,
  .dream-library-route--desktop-dense .dream-playlist-track-main .dream-row-art,
  .dream-library-route--desktop-dense .dream-playlist-track-main .dream-row-art--playlist {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
  }
  .dream-library-route--desktop-dense .dream-collection-track-copy strong,
  .dream-library-route--desktop-dense .dream-collection-track-copy em,
  .dream-library-route--desktop-dense .dream-collection-track-copy span,
  .dream-library-route--desktop-dense .dream-playlist-track-copy strong,
  .dream-library-route--desktop-dense .dream-playlist-track-copy em,
  .dream-library-route--desktop-dense .dream-playlist-track-copy span,
  .dream-library-route--desktop-dense .dream-playlist-select strong,
  .dream-library-route--desktop-dense .dream-playlist-select em {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .dream-library-route--desktop-dense .dream-row-pill,
  .dream-library-route--desktop-dense .dream-status-chip,
  .dream-library-route--desktop-dense .dream-playlist-select,
  .dream-library-route--desktop-dense .dream-playlist-track-row {
    font-size: 10.5px !important;
  }
  .dream-library-route--desktop-dense .dream-collection-row--playlist {
    grid-template-columns: 28px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    padding: 10px 11px !important;
  }
  .dream-library-route--desktop-dense .dream-collection-playlist-preview,
  .dream-library-route--desktop-dense .dream-playlist-sidebar-preview {
    font-size: 10px !important;
  }
  .dream-library-route--desktop-dense .dream-row-pill {
    min-height: 28px !important;
    padding: 6px 10px !important;
  }
  .dream-library-route--desktop-dense .dream-playlist-select {
    padding: 10px 11px !important;
  }
  .dream-library-route--desktop-dense .dream-playlist-track-row {
    gap: 8px !important;
    padding: 9px 10px !important;
  }
  .dream-library-route--desktop-dense .dream-playlist-sidebar {
    position: sticky !important;
    top: 0 !important;
    align-self: start !important;
    max-height: calc(88dvh - 220px) !important;
    overflow: auto !important;
  }
}
@media (max-width: 520px) {
  body.dream-app-open .dream-hero--discover,
  body.dream-app-open .dream-hero--library {
    padding: 12px 12px 10px !important;
    margin-bottom: 10px !important;
  }
  body.dream-app-open .dream-hero--discover h2,
  body.dream-app-open .dream-hero--library h2 {
    font-size: clamp(19px, 5.1vw, 24px) !important;
    line-height: 1.02 !important;
    margin-bottom: 4px !important;
  }
  body.dream-app-open .dream-hero--discover p:not(.dream-kicker):not(.dream-hero-footnote),
  body.dream-app-open .dream-hero--library p:not(.dream-kicker):not(.dream-hero-footnote) {
    font-size: 11px !important;
    line-height: 1.28 !important;
  }
  body.dream-app-open .dream-hero--discover .dream-hero-actions,
  body.dream-app-open .dream-hero--library .dream-hero-actions {
    margin-top: 8px !important;
  }
  body.dream-app-open .dream-hero--discover .dream-primary,
  body.dream-app-open .dream-hero--library .dream-primary {
    min-height: 34px !important;
    padding: 8px 11px !important;
    font-size: 10.6px !important;
  }
  body.dream-app-open .dream-hero--library .dream-library-source {
    padding: 8px 10px !important;
    gap: 8px !important;
  }
  body.dream-app-open .dream-hero-badges {
    gap: 6px !important;
    margin-top: 10px !important;
  }
  body.dream-app-open .dream-hero-badge {
    min-height: 28px !important;
    padding: 6px 9px !important;
    font-size: 9.6px !important;
  }
  body.dream-app-open .dream-hero-create-playlist-form {
    margin-top: 10px !important;
  }
  body.dream-app-open .dream-hero-playlist-name-input {
    font-size: 13px !important;
    padding: 8px 11px !important;
  }
  body.dream-app-open .dream-hero-create-playlist-actions {
    gap: 6px !important;
  }
  body.dream-app-open .dream-hero-create-playlist-actions .dream-primary,
  body.dream-app-open .dream-hero-create-playlist-actions .dream-secondary {
    min-height: 32px !important;
    padding: 7px 10px !important;
    font-size: 10.4px !important;
  }
  body.dream-app-open .dream-discover-lead-grid,
  body.dream-app-open .dream-library-overview-grid {
    gap: 10px !important;
    margin-bottom: 10px !important;
  }
  body.dream-app-open .dream-collection-stack {
    gap: 7px !important;
  }
  body.dream-app-open .dream-collection-row--track,
  body.dream-app-open button.dream-collection-row--playlist {
    grid-template-columns: 30px minmax(0, 1fr) auto !important;
    padding: 9px !important;
    border-radius: 15px !important;
  }
  body.dream-app-open .dream-collection-row--track .dream-row-play {
    width: 30px !important;
    height: 30px !important;
    font-size: 10px !important;
  }
  body.dream-app-open .dream-collection-track-main {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 9px !important;
  }
  body.dream-app-open .dream-collection-track-main .dream-row-art {
    width: 40px !important;
    height: 40px !important;
  }
  body.dream-app-open .dream-collection-track-copy strong,
  body.dream-app-open .dream-collection-row--playlist strong {
    font-size: 12.8px !important;
  }
  body.dream-app-open .dream-collection-track-copy em,
  body.dream-app-open .dream-collection-row--playlist em {
    font-size: 10.5px !important;
  }
}
/* Post-v120 Library first-viewport compaction: prioritize real content over summary chrome. */
@media (max-width: 520px) {
  body.dream-app-open .dream-hero--library {
    padding: 8px 10px 7px !important;
    margin-bottom: 5px !important;
    border-radius: 16px !important;
  }
  body.dream-app-open .dream-hero--library .dream-kicker {
    margin-bottom: 3px !important;
    font-size: 7.6px !important;
  }
  body.dream-app-open .dream-hero--library h2 {
    font-size: clamp(16px, 4.6vw, 20px) !important;
    line-height: 1 !important;
    margin-bottom: 0 !important;
  }
  body.dream-app-open .dream-library-status-row {
    margin-top: 6px !important;
    gap: 6px !important;
  }
  body.dream-app-open .dream-hero--library .dream-library-source {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 6px 8px !important;
    gap: 6px !important;
  }
  body.dream-app-open .dream-hero--library .dream-library-source strong {
    font-size: 8.4px !important;
  }
  body.dream-app-open .dream-hero--library .dream-library-source span {
    font-size: 9.2px !important;
  }
  body.dream-app-open .dream-hero--library .dream-library-sync-action {
    min-height: 28px !important;
    padding: 6px 10px !important;
    font-size: 9px !important;
    white-space: nowrap !important;
    max-width: 120px !important;
    flex: 0 0 auto !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
  body.dream-app-open .dream-hero--library .dream-library-status-row {
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    max-width: 100% !important;
  }
  body.dream-app-open .dream-hero-actions--library {
    margin-top: 6px !important;
    display: flex !important;
    justify-content: flex-start !important;
  }
  body.dream-app-open .dream-hero-actions--library .dream-primary {
    min-height: 30px !important;
    width: auto !important;
    padding: 7px 10px !important;
    font-size: 9.4px !important;
  }
  body.dream-app-open .dream-section--library-playlists-empty {
    padding-bottom: 10px !important;
  }
  body.dream-app-open .dream-empty--library-playlists {
    padding: 10px 11px !important;
    font-size: 10.5px !important;
    border-radius: 13px !important;
  }
  /* DW-VIS-LIBRARY-EXPLORE-LOWCONTRAST: Library hero secondary buttons — boost contrast on dark bg */
  body.dream-app-open .dream-hero-actions--library .dream-secondary {
    background: rgba(255,255,255,0.22) !important;
    color: #fff !important;
    font-weight: 700 !important;
  }
}
/* Post-v95 Discover first-viewport compaction: get four rotation rows above the dock on phone. */
@media (max-width: 520px) {
  body.dream-app-open .dream-hero--discover {
    padding: 10px 12px 9px !important;
    margin-bottom: 6px !important;
    border-radius: 18px !important;
  }
  body.dream-app-open .dream-hero--discover .dream-kicker {
    margin-bottom: 4px !important;
    font-size: 8px !important;
  }
  body.dream-app-open .dream-hero--discover h2 {
    font-size: clamp(18px, 5vw, 22px) !important;
    line-height: 1 !important;
    margin-bottom: 4px !important;
  }
  body.dream-app-open .dream-hero--discover p:not(.dream-kicker):not(.dream-hero-footnote) {
    font-size: 10.8px !important;
    line-height: 1.24 !important;
  }
  body.dream-app-open .dream-hero-actions--discover {
    margin-top: 8px !important;
  }
  body.dream-app-open .dream-hero-actions--discover .dream-primary {
    min-height: 34px !important;
    padding: 8px 11px !important;
    font-size: 10px !important;
  }
  body.dream-app-open .dream-hero-inline-links {
    gap: 10px !important;
    margin-top: 8px !important;
  }
  body.dream-app-open .dream-inline-link {
    font-size: 10px !important;
  }
  body.dream-app-open .dream-hero--discover .dream-hero-badges,
  body.dream-app-open .dream-hero--discover .dream-hero-footnote {
    display: none !important;
  }
  body.dream-app-open .dream-discover-lead-grid {
    gap: 8px !important;
  }
  body.dream-app-open .dream-discover-lead-grid > .dream-section {
    padding: 10px 10px 9px !important;
    margin-top: 0 !important;
  }
  body.dream-app-open .dream-discover-lead-grid > .dream-section .dream-section-head {
    margin-bottom: 8px !important;
  }
  body.dream-app-open .dream-collection-stack {
    gap: 5px !important;
  }
  body.dream-app-open .dream-collection-row--track,
  body.dream-app-open button.dream-collection-row--playlist {
    grid-template-columns: 28px minmax(0, 1fr) auto !important;
    padding: 7px 8px !important;
    border-radius: 14px !important;
  }
  body.dream-app-open .dream-collection-row--track .dream-row-play {
    width: 26px !important;
    height: 26px !important;
    font-size: 9px !important;
  }
  body.dream-app-open .dream-collection-track-main {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 7px !important;
  }
  body.dream-app-open .dream-collection-track-main .dream-row-art {
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
  }
  body.dream-app-open .dream-collection-track-copy strong,
  body.dream-app-open .dream-collection-row--playlist strong {
    font-size: 12px !important;
    line-height: 1.14 !important;
  }
  body.dream-app-open .dream-collection-track-copy em,
  body.dream-app-open .dream-collection-row--playlist em {
    font-size: 9.8px !important;
    line-height: 1.14 !important;
  }
}
/* Post-v92 mobile Search density — compact cards and compressed header */
@media (max-width: 520px) {
  body.dream-app-open .dream-hero--search {
    padding: 4px 9px 2px !important;
    margin-bottom: 3px !important;
  }
  body.dream-app-open .dream-hero--search h2 {
    font-size: 15px !important;
    line-height: 1.04 !important;
    margin-bottom: 2px !important;
  }
  body.dream-app-open .dream-hero--search .dream-kicker {
    display: none !important;
  }
  body.dream-app-open .dream-hero--search .dream-search-hero-copy {
    font-size: 10.3px !important;
    line-height: 1.2 !important;
  }
  body.dream-app-open .dream-hero--search .dream-search-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
    gap: 6px !important;
    align-items: center !important;
  }
  body.dream-app-open .dream-hero--search .dream-search-chips::-webkit-scrollbar { display: none !important; }
  body.dream-app-open .dream-hero--search .dream-search-chip-label {
    flex: 0 0 100% !important;
    margin-right: 0 !important;
    margin-bottom: 2px !important;
  }
  body.dream-app-open .dream-search-chip {
    padding: 5px 10px !important;
    font-size: 11px !important;
  }
  body.dream-app-open .dream-search-row {
    padding: 6px 10px !important;
    margin-bottom: 4px !important;
    border-radius: 10px !important;
  }
  body.dream-app-open .dream-search-row .dream-row-art {
    width: 28px !important;
    height: 28px !important;
  }
  body.dream-app-open .dream-search-row-copy strong {
    font-size: 12px !important;
  }
  body.dream-app-open .dream-search-meta-line {
    font-size: 10px !important;
  }
  body.dream-app-open .dream-search-row-action {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
  }
  body.dream-app-open .dream-search-row-controls {
    gap: 3px !important;
  }
  body.dream-app-open .dream-search-row-controls .dream-toggle-track-like-action::before {
    font-size: 12px !important;
  }
  body.dream-app-open .dream-search-row-controls .dream-search-more-action::before {
    font-size: 13px !important;
  }
  body.dream-app-open .dream-search-field {
    margin-top: 8px !important;
  }
  body.dream-app-open .dream-search-icon {
    left: 12px !important;
    font-size: 15px !important;
  }
  body.dream-app-open .dream-search-clear {
    right: 7px !important;
    width: 26px !important;
    height: 26px !important;
    font-size: 15px !important;
  }
  body.dream-app-open #dreamSearchInput {
    min-height: 42px !important;
    padding: 11px 42px 11px 34px !important;
  }
  body.dream-app-open .dream-search-results {
    margin-top: 10px !important;
  }
  body.dream-app-open .dream-hero--search-active {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
  }
  body.dream-app-open .dream-hero--search-active .dream-kicker,
  body.dream-app-open .dream-hero--search-active h2,
  body.dream-app-open .dream-hero--search-active .dream-search-hero-copy {
    display: none !important;
  }
  body.dream-app-open .dream-hero--search-active .dream-search-field {
    margin-top: 2px !important;
  }
  body.dream-app-open .dream-hero--search-active .dream-search-results {
    margin-top: 8px !important;
  }
}

/* Player route surface styles */
.dream-player-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  background-size: cover !important;
  background-position: center !important;
  backdrop-filter: blur(24px) brightness(0.35) saturate(1.2) !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}
.dream-player-surface {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 20px 16px 34px !important;
  min-height: calc(100dvh - 180px) !important;
  max-height: 100% !important;
  background: linear-gradient(180deg, rgba(6,8,14,.48), rgba(2,4,8,.66)) !important;
  border-radius: 24px 24px 0 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
  transform: translateY(100%) !important;
  opacity: 0 !important;
  transition: transform 0.38s cubic-bezier(0.32,0.72,0,1), opacity 0.3s ease !important;
  z-index: 100 !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-surface {
  /* DW-VIS-PLAYER-BOTTOM-RECOVERY-NEW fix: use 'none' instead of translateY(0)
     translateY(0) is still a transform (identity matrix) that creates a containing block,
     which breaks sticky positioning for .dream-provenance-bottom-recovery inside.
     'none' removes the transform entirely, restoring sticky behavior. */
  transform: none !important;
  opacity: 1 !important;
}
.dream-player-surface > * {
  position: relative !important;
  z-index: 1 !important;
  flex-shrink: 0 !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-backdrop {
  opacity: 1 !important;
}
.dream-player-layout {
  width: 100% !important;
  display: grid !important;
  justify-items: center !important;
  gap: 10px !important;
}
.dream-player-primary,
.dream-player-secondary {
  width: 100% !important;
  display: grid !important;
  justify-items: center !important;
  gap: 10px !important;
}
.dream-player-secondary {
  align-content: start !important;
}
.dream-player-close {
 position: fixed !important;
 top: 54px !important;
 left: 14px !important;
 right: auto !important;
 appearance: none !important;
 border: 1px solid rgba(255,255,255,.18) !important;
 border-radius: 999px !important;
 background: rgba(5,8,14,.72) !important;
 color: rgba(255,255,255,.94) !important;
 width: auto !important;
 min-width: 44px !important;
 height: 44px !important;
 padding: 0 14px !important;
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 gap: 7px !important;
 font-size: 13px !important;
 font-weight: 800 !important;
 letter-spacing: .02em !important;
 cursor: pointer !important;
 z-index: 200 !important;
 touch-action: manipulation !important;
 box-shadow: 0 12px 30px rgba(0,0,0,.34) !important;
 backdrop-filter: blur(14px) saturate(130%) !important;
}
.dream-player-close-icon {
 font-size: 16px !important;
 line-height: 1 !important;
}
.dream-player-close-label {
 display: inline-block !important;
 max-width: 96px !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 white-space: nowrap !important;
}
.dream-player-art-wrap {
  margin-top: 10px !important;
  width: min(72vw, 280px) !important;
  aspect-ratio: 1 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.08), 0 0 44px rgba(255,113,206,.12) !important;
}
@media (max-width: 520px) {
  .dream-player-art-wrap {
    width: min(72vw, 180px) !important;
  }
}
.dream-player-art {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 40px rgba(0,0,0,0.5), 0 2px 8px rgba(255,113,206,0.08) !important;
}
.dream-player-info {
  display: grid !important;
  gap: 5px !important;
  text-align: center !important;
}
.dream-player-kicker {
  color: rgba(255,255,255,.46) !important;
  font: 700 10px/1.1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}
.dream-player-info h2 {
  margin: 0 !important;
  font-size: clamp(24px, 4.6vw, 32px) !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.02 !important;
  text-wrap: balance !important;
}
.dream-player-info p {
  margin: 0 !important;
  font-size: 14px !important;
  color: rgba(255,255,255,.72) !important;
  font-weight: 600 !important;
}
.dream-player-support {
  color: rgba(255,255,255,.48) !important;
  font: 500 12px/1.4 'Inter', system-ui, sans-serif !important;
}
.dream-player-info--long h2 {
  max-width: 16ch !important;
  line-height: 1.04 !important;
}
.dream-player-info--cjk h2 {
  max-width: 11ch !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
}
.dream-player-meta {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}
.dream-player-mood {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  background: rgba(255,255,255,.05) !important;
  color: rgba(255,255,255,.74) !important;
  font: 800 10.5px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.dream-player-progress {
  width: 100% !important;
  max-width: 340px !important;
}
.dream-player-progress-bar {
  width: 100% !important;
  height: 4px !important;
  background: rgba(255,255,255,.1) !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  touch-action: none !important;
}
.dream-player-progress-bar::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #fff !important;
  cursor: pointer !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.5) !important;
  margin-top: -7px !important;
}
.dream-player-progress-bar::-moz-range-thumb {
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #fff !important;
  cursor: pointer !important;
  border: 0 !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.5) !important;
}
.dream-player-progress-fill {
  height: 100% !important;
  background: linear-gradient(90deg, var(--dw-pink, #ff71ce), var(--dw-green, #01f5a6)) !important;
  border-radius: 2px !important;
  width: 0% !important;
}
.dream-player-time {
  display: flex !important;
  justify-content: space-between !important;
  margin-top: 4px !important;
  font-size: 11px !important;
  color: rgba(255,255,255,.65) !important;
  font-variant-numeric: tabular-nums !important;
}
.dream-player-controls {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
}
.dream-player-ctrl {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,.7) !important;
  font-size: 28px !important;
  cursor: pointer !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.dream-player-volume {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 300px !important;
  margin: 2px auto !important;
}
.dream-player-volume-btn {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,.6) !important;
  font-size: 16px !important;
  cursor: pointer !important;
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.dream-player-volume-slider {
  flex: 1 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  height: 3px !important;
  background: transparent !important;
  border-radius: 2px !important;
  outline: none !important;
  cursor: pointer !important;
  accent-color: var(--dw-pink) !important;
}
.dream-player-volume-slider::-webkit-slider-runnable-track {
  height: 3px !important;
  background: rgba(255,255,255,.15) !important;
  border-radius: 2px !important;
}
.dream-player-volume-slider::-moz-range-track {
  height: 3px !important;
  background: rgba(255,255,255,.15) !important;
  border-radius: 2px !important;
  border: 0 !important;
}
.dream-player-volume-slider::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: #fff !important;
  cursor: pointer !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.4) !important;
}
.dream-player-volume-slider::-moz-range-thumb {
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: #fff !important;
  cursor: pointer !important;
  border: 0 !important;
}
.dream-player-ctrl--play {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  background: var(--dw-green, #01f5a6) !important;
  color: #fff !important;
  font-size: 24px !important;
}
.dream-player-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.dream-player-action {
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.05) !important;
  color: rgba(255,255,255,.75) !important;
  padding: 8px 14px !important;
  font: 700 12px/1 'DM Sans', system-ui, sans-serif !important;
  cursor: pointer !important;
}
.dream-player-action.liked {
  border-color: rgba(30,215,96,.25) !important;
  color: rgba(125,255,176,.95) !important;
  background: rgba(30,215,96,.1) !important;
}
.dream-player-action--compact {
  padding: 7px 12px !important;
  font-size: 11px !important;
  min-height: 44px !important;
  min-width: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.dream-player-toggle-row {
  width: min(100%, 420px) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 9px !important;
  margin: 0 auto !important;
}
.dream-player-quick-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  position: relative !important;
}
.dream-player-quick-action {
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.8) !important;
  padding: 8px 16px !important;
  font: 600 12px/1 'DM Sans', system-ui, sans-serif !important;
  cursor: pointer !important;
  letter-spacing: .02em !important;
  transition: background .15s, color .15s, border-color .15s !important;
}
.dream-player-quick-action:active {
  transform: scale(.96) !important;
}
.dream-player-quick-like--liked {
  border-color: rgba(30,215,96,.3) !important;
  color: rgba(125,255,176,.95) !important;
  background: rgba(30,215,96,.12) !important;
}
.dream-player-quick-timer {
  border-color: rgba(1,205,254,.25) !important;
  color: rgba(1,205,254,.85) !important;
  background: rgba(1,205,254,.06) !important;
}
.dream-player-quick-timer--active {
  border-color: rgba(1,205,254,.55) !important;
  color: #01cdfe !important;
  background: rgba(1,205,254,.12) !important;
}
.dream-player-quick-playlist-picker {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: rgba(10,10,18,.96) !important;
  backdrop-filter: blur(6px) saturate(110%) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 20px !important;
  padding: 14px !important;
  min-width: 220px !important;
  max-width: 320px !important;
  width: max-content !important;
  z-index: 200 !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.5) !important;
}
.dream-quick-playlist-header {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,.45) !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  margin-bottom: 8px !important;
}
.dream-quick-playlist-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
}
.dream-quick-playlist-row:last-of-type {
  border-bottom: none !important;
}
.dream-quick-playlist-add {
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.7) !important;
  width: 26px !important;
  height: 26px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.dream-quick-playlist-add.added {
  border-color: rgba(30,215,96,.3) !important;
  color: rgba(125,255,176,.9) !important;
  background: rgba(30,215,96,.1) !important;
}
.dream-quick-playlist-name {
  flex: 1 !important;
  font-size: 13px !important;
  color: rgba(255,255,255,.85) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-quick-playlist-count {
  font-size: 11px !important;
  color: rgba(255,255,255,.3) !important;
  flex-shrink: 0 !important;
}
.dream-quick-playlist-empty {
  font-size: 12px !important;
  color: rgba(255,255,255,.4) !important;
  margin-bottom: 8px !important;
}
.dream-quick-create-playlist {
  margin-top: 8px !important;
  width: 100% !important;
  font-size: 11px !important;
}
/* DW-FEAT-084: Track Detail Save to Playlist picker */
.dream-playlist-picker {
  background: rgba(10,10,18,.96) !important;
  backdrop-filter: blur(6px) saturate(110%) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 16px !important;
  padding: 14px !important;
  margin-top: 8px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.5) !important;
  max-height: 400px !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
}
.dream-playlist-picker::-webkit-scrollbar { display: none !important; }
.dream-playlist-picker-header {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,.45) !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  margin-bottom: 8px !important;
}
.dream-playlist-picker-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
}
.dream-playlist-picker-row:last-of-type { border-bottom: none !important; }
.dream-playlist-picker-add {
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.7) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  width: 26px !important;
  height: 26px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  min-height: 26px !important;
}
.dream-playlist-picker-add.added {
  border-color: rgba(30,215,96,.3) !important;
  color: rgba(125,255,176,.9) !important;
  background: rgba(30,215,96,.1) !important;
}
.dream-playlist-picker-add:hover {
  background: rgba(255,255,255,.12) !important;
}
.dream-playlist-picker-name {
  flex: 1 !important;
  font-size: 13px !important;
  color: rgba(255,255,255,.85) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-playlist-picker-count {
  font-size: 11px !important;
  color: rgba(255,255,255,.3) !important;
  flex-shrink: 0 !important;
}
.dream-playlist-picker-empty {
  font-size: 12px !important;
  color: rgba(255,255,255,.4) !important;
  margin-bottom: 8px !important;
}
.dream-playlist-picker-create {
  margin-top: 8px !important;
  width: 100% !important;
  font-size: 11px !important;
}
@media (max-width: 520px) {
  .dream-player-quick-action {
    padding: 7px 12px !important;
    font-size: 11px !important;
  }
  .dream-player-quick-actions {
    gap: 6px !important;
  }
}
.dream-player-tier-strip {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding: 9px 14px !important;
  margin-bottom: 10px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.04) !important;
}
.dream-player-tier-name {
  color: #f7f8f8 !important;
  font: 700 12px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-player-tier-sep {
  color: rgba(255,255,255,.35) !important;
  font: 400 11px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-player-tier-quality {
  color: rgba(255,255,255,.6) !important;
  font: 500 11px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-player-tier-status {
  margin-left: 4px !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  font: 600 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .02em !important;
}
.dream-player-tier-status--inactive,
.dream-player-tier-status--past_due,
.dream-player-tier-status--canceled {
  background: rgba(255,80,80,.18) !important;
  color: #ff8a8a !important;
}
.dream-player-tier-status--trialing,
.dream-player-tier-status--pending {
  background: rgba(255,200,60,.15) !important;
  color: #ffd060 !important;
}
.dream-player-tier-action {
  margin-left: 4px !important;
  padding: 2px 9px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.85) !important;
  font: 600 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .02em !important;
  cursor: pointer !important;
}
.dream-player-tier-action--upgrade {
  border-color: rgba(200,160,255,.35) !important;
  background: rgba(140,80,220,.15) !important;
  color: #d4aaff !important;
}
.dream-player-context-card,
.dream-player-section {
  width: min(100%, 420px) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 20px !important;
  background: rgba(10,12,18,0.72) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.24) !important;
}
.dream-player-context-card {
  padding: 14px !important;
}
.dream-player-section--details {
  background: rgba(18,22,30,0.58) !important;
  border-color: rgba(255,255,255,.1) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.16) !important;
}
.dream-player-context-return {
 appearance: none !important;
 border: 1px solid rgba(255,255,255,.18) !important;
 border-radius: 999px !important;
 background: rgba(255,255,255,.10) !important;
 color: rgba(255,255,255,.96) !important;
 min-height: 36px !important;
 padding: 0 12px !important;
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 font: 800 11px/1 'DM Sans', system-ui, sans-serif !important;
 letter-spacing: .04em !important;
 text-transform: uppercase !important;
 touch-action: manipulation !important;
}
.dream-player-context-strip {
  width: min(100%, 420px) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 999px !important;
  background: rgba(10,12,18,0.72) !important;
}
.dream-player-context-strip strong {
  color: #f7f8f8 !important;
  font: 700 13px/1.1 'DM Sans', system-ui, sans-serif !important;
}
.dream-player-context-strip .dream-player-context-queue {
  color: rgba(255,255,255,.58) !important;
  font: 600 10.5px/1.1 'DM Sans', system-ui, sans-serif !important;
}
.dream-player-context-topline {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}
.dream-player-context-topline strong {
  color: #f7f8f8 !important;
  font: 700 14px/1.2 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: -.02em !important;
}
.dream-player-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.dream-player-stat {
  display: grid !important;
  gap: 4px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.035) !important;
}
.dream-player-stat span {
  color: rgba(255,255,255,.52) !important;
  font: 700 10px/1.1 'DM Sans', system-ui, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
}
.dream-player-stat strong {
  color: #f7f8f8 !important;
  font: 700 13px/1.2 'DM Sans', system-ui, sans-serif !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  max-width: 100% !important;
}
.dream-player-section {
  padding: 14px !important;
  display: grid !important;
  gap: 10px !important;
}
.dream-player-secondary-grid {
  width: 100% !important;
  display: grid !important;
  gap: 10px !important;
  overflow: visible !important;
}
.dream-player-section--details .dream-setting-row {
  align-items: flex-start !important;
}
.dream-player-section--details .dream-setting-row:last-of-type {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.dream-player-setting-value {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  max-width: 100% !important;
  color: rgba(255,255,255,.88) !important;
  font: 700 12.5px/1.35 'Inter', system-ui, sans-serif !important;
  text-transform: none !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}
.dream-player-section .dream-setting-row > span {
  flex: 0 0 96px !important;
  color: rgba(255,255,255,.42) !important;
  font: 400 11px/1.4 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .01em !important;
  padding-top: 1px !important;
}
.dream-player-section--trackinfo {
  padding: 10px 0 6px !important;
}
.dream-trackinfo-body {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
}
.dream-equalizer-shell {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  gap: 3px !important;
  height: 28px !important;
  flex-shrink: 0 !important;
}
.dream-eq-bar {
  width: 4px !important;
  border-radius: 2px !important;
  background: var(--dream-mood-from, #ff2d7a) !important;
  animation: dreamEqBounce 0.9s ease-in-out infinite alternate !important;
  transform-origin: bottom !important;
}
.dream-eq-bar:nth-child(1) { height: 40%; animation-duration: 0.75s; }
.dream-eq-bar:nth-child(2) { height: 70%; animation-duration: 0.55s; animation-delay: 0.1s; }
.dream-eq-bar:nth-child(3) { height: 55%; animation-duration: 0.85s; animation-delay: 0.2s; }
.dream-eq-bar:nth-child(4) { height: 85%; animation-duration: 0.65s; animation-delay: 0.05s; }
.dream-eq-bar:nth-child(5) { height: 60%; animation-duration: 0.8s;  animation-delay: 0.15s; }
.dream-eq-bar:nth-child(6) { height: 45%; animation-duration: 0.7s;  animation-delay: 0.25s; }
.dream-eq-bar:nth-child(7) { height: 75%; animation-duration: 0.6s;  animation-delay: 0.08s; }
@keyframes dreamEqBounce {
  from { transform: scaleY(0.25); opacity: 0.6; }
  to   { transform: scaleY(1);    opacity: 1;   }
}
body:not(.dream-app-playing) .dream-eq-bar {
  animation-play-state: paused !important;
  opacity: 0.3 !important;
}
.dream-trackinfo-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-width: 0 !important;
}
.dream-trackinfo-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
}
.dream-trackinfo-pill {
  display: inline-block !important;
  padding: 3px 9px !important;
  border-radius: 20px !important;
  font: 600 10px/1.4 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.dream-trackinfo-pill--mood {
  background: var(--dream-mood-from, #ff2d7a) !important;
  color: #fff !important;
}
.dream-trackinfo-pill--bpm {
  background: rgba(255,255,255,.1) !important;
  color: rgba(255,255,255,.8) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}
.dream-trackinfo-pill--genre {
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.65) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
}
.dream-trackinfo-duration {
  color: rgba(255,255,255,.38) !important;
  font: 400 10.5px/1.4 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .01em !important;
}
@media (pointer: coarse) {
  .dream-trackinfo-body { gap: 10px !important; }
  .dream-equalizer-shell { height: 22px !important; }
  .dream-eq-bar { width: 3px !important; }
}
.dream-player-section .dream-setting-row {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) !important;
  align-items: flex-start !important;
}
.dream-player-section .dream-setting-row > span {
  color: rgba(255,255,255,.42) !important;
  font: 400 11px/1.4 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .01em !important;
  padding-top: 1px !important;
}
.dream-player-section--trackinfo {
  padding: 10px 0 6px !important;
}
.dream-trackinfo-body {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
}
.dream-equalizer-shell {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  gap: 3px !important;
  height: 28px !important;
  flex-shrink: 0 !important;
}
.dream-eq-bar {
  width: 4px !important;
  border-radius: 2px !important;
  background: var(--dream-mood-from, #ff2d7a) !important;
  animation: dreamEqBounce 0.9s ease-in-out infinite alternate !important;
  transform-origin: bottom !important;
}
.dream-eq-bar:nth-child(1) { height: 40%; animation-duration: 0.75s; }
.dream-eq-bar:nth-child(2) { height: 70%; animation-duration: 0.55s; animation-delay: 0.1s; }
.dream-eq-bar:nth-child(3) { height: 55%; animation-duration: 0.85s; animation-delay: 0.2s; }
.dream-eq-bar:nth-child(4) { height: 85%; animation-duration: 0.65s; animation-delay: 0.05s; }
.dream-eq-bar:nth-child(5) { height: 60%; animation-duration: 0.8s;  animation-delay: 0.15s; }
.dream-eq-bar:nth-child(6) { height: 45%; animation-duration: 0.7s;  animation-delay: 0.25s; }
.dream-eq-bar:nth-child(7) { height: 75%; animation-duration: 0.6s;  animation-delay: 0.08s; }
@keyframes dreamEqBounce {
  from { transform: scaleY(0.25); opacity: 0.6; }
  to   { transform: scaleY(1);    opacity: 1;   }
}
body:not(.dream-app-playing) .dream-eq-bar {
  animation-play-state: paused !important;
  opacity: 0.3 !important;
}
.dream-trackinfo-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-width: 0 !important;
}
.dream-trackinfo-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
}
.dream-trackinfo-pill {
  display: inline-block !important;
  padding: 3px 9px !important;
  border-radius: 20px !important;
  font: 600 10px/1.4 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.dream-trackinfo-pill--mood {
  background: var(--dream-mood-from, #ff2d7a) !important;
  color: #fff !important;
}
.dream-trackinfo-pill--bpm {
  background: rgba(255,255,255,.1) !important;
  color: rgba(255,255,255,.8) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}
.dream-trackinfo-pill--genre {
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.65) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
}
.dream-trackinfo-duration {
  color: rgba(255,255,255,.38) !important;
  font: 400 10.5px/1.4 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .01em !important;
}
@media (pointer: coarse) {
  .dream-trackinfo-body { gap: 10px !important; }
  .dream-equalizer-shell { height: 22px !important; }
  .dream-eq-bar { width: 3px !important; }
}
.dream-player-section .dream-setting-row > span {
  color: rgba(255,255,255,.42) !important;
  font: 400 11px/1.4 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .01em !important;
  padding-top: 1px !important;
}
.dream-player-details-id {
  margin: 2px 0 0 !important;
  color: rgba(255,255,255,.42) !important;
  font: 600 10.5px/1.4 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .03em !important;
  overflow-wrap: anywhere !important;
}
.dream-player-section--provenance .dream-provenance-static {
  margin-top: 2px !important;
}
.dream-player-section--provenance .dream-provenance {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.dream-player-section--provenance .dream-provenance > strong {
  display: none !important;
}
.dream-player-section--provenance .dream-provenance p {
  color: rgba(255,255,255,.76) !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  max-width: 100% !important;
}
.dream-player-section--provenance .dream-provenance-row:first-of-type {
  border-top: 0 !important;
}
.dream-player-preview-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 10px 0 !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
}
.dream-player-preview-row:first-of-type {
  border-top: 0 !important;
  padding-top: 0 !important;
}
.dream-player-preview-copy {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  text-align: left !important;
  cursor: pointer !important;
}
.dream-player-preview-art-shell {
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.24) !important;
}
.dream-player-preview-art {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.dream-player-preview-text {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}
.dream-player-preview-copy strong {
  color: #f7f8f8 !important;
  font: 700 13px/1.2 'DM Sans', system-ui, sans-serif !important;
}
.dream-player-preview-copy span {
  color: rgba(255,255,255,.56) !important;
  font: 500 12px/1.35 'Inter', system-ui, sans-serif !important;
}
.dream-player-preview-copy em {
  display: block !important;
  margin-top: 2px !important;
  color: rgba(255,255,255,.42) !important;
  font: 600 10.5px/1.35 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
}
.dream-player-preview-actions {
  display: grid !important;
  justify-items: end !important;
  gap: 4px !important;
  min-width: 132px !important;
}
.dream-player-preview-topline {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  width: 100% !important;
  flex-wrap: wrap !important;
}
.dream-player-preview-tagline {
  color: rgba(255,255,255,.42) !important;
  font: 600 10px/1.35 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
  text-align: right !important;
  max-width: 22ch !important;
}
.dream-player-preview-tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 24px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.58) !important;
  font: 700 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.dream-player-preview-tag--queue {
  background: rgba(110,231,183,.14) !important;
  color: rgba(187,247,208,.96) !important;
}
.dream-player-preview-tag--context {
  background: rgba(96,165,250,.14) !important;
  color: rgba(191,219,254,.94) !important;
}
.dream-player-preview-tag--history {
  background: rgba(244,114,182,.14) !important;
  color: rgba(251,207,232,.94) !important;
}
.dream-player-section-note {
  margin-top: -2px !important;
  color: rgba(255,255,255,.44) !important;
  font: 600 11px/1.4 'DM Sans', system-ui, sans-serif !important;
}
.dream-player-mini-action {
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  color: #f7f8f8 !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-player-mini-action--ghost {
  background: transparent !important;
  color: rgba(255,255,255,.72) !important;
}
@media (min-width: 1100px) {
  body.dream-app-open[data-dream-route="player"] .mini-now-playing {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="player"] #minimal-ui .dream-app-content {
    padding-bottom: 32px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  .dream-player-surface--desktop {
    align-items: stretch !important;
    padding: 18px 24px 24px !important;
    overflow-x: visible !important;
  }
  .dream-player-surface--desktop .dream-player-layout--desktop {
    width: min(100%, 1408px) !important;
    margin: 0 auto !important;
    grid-template-columns: minmax(376px, 456px) minmax(0, 1fr) !important;
    justify-items: stretch !important;
    align-items: start !important;
    gap: 20px !important;
  }
  .dream-player-surface--desktop .dream-player-secondary {
    min-width: 0 !important;
    overflow: visible !important;
    justify-items: stretch !important;
    align-content: start !important;
  }
  .dream-player-surface--desktop .dream-player-primary {
    position: sticky !important;
    top: 10px !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .dream-player-surface--desktop .dream-player-art-wrap {
    width: min(100%, 240px) !important;
    margin-top: 0 !important;
    justify-self: flex-start !important;
  }
  .dream-player-surface--desktop .dream-player-info {
    width: 100% !important;
    max-width: none !important;
    text-align: left !important;
    gap: 5px !important;
  }
  .dream-player-surface--desktop .dream-player-info h2 {
    font-size: clamp(28px, 2.2vw, 36px) !important;
    line-height: .98 !important;
    max-width: 13ch !important;
  }
  .dream-player-surface--desktop .dream-player-info--long h2 {
    max-width: 15ch !important;
  }
  .dream-player-surface--desktop .dream-player-info--cjk h2 {
    max-width: 10ch !important;
    font-size: clamp(25px, 2vw, 32px) !important;
  }
  .dream-player-surface--desktop .dream-player-info p {
    font-size: 15px !important;
  }
  .dream-player-surface--desktop .dream-player-support {
    font-size: 12.5px !important;
  }
  .dream-player-surface--desktop .dream-player-meta {
    justify-content: flex-start !important;
  }
  .dream-player-surface--desktop .dream-player-progress,
  .dream-player-surface--desktop .dream-player-toggle-row,
  .dream-player-surface--desktop .dream-player-actions,
  .dream-player-surface--desktop .dream-player-transport-card,
  .dream-player-surface--desktop .dream-player-context-card,
  .dream-player-surface--desktop .dream-player-context-strip,
  .dream-player-surface--desktop .dream-player-section,
  .dream-player-surface--desktop .dream-player-secondary-grid {
    width: 100% !important;
    max-width: none !important;
  }
  .dream-player-surface--desktop .dream-player-progress {
    margin-bottom: 4px !important;
  }
  .dream-player-surface--desktop .dream-player-controls,
  .dream-player-surface--desktop .dream-player-toggle-row,
  .dream-player-surface--desktop .dream-player-actions {
    justify-content: flex-start !important;
  }
  .dream-player-surface--desktop .dream-player-transport-card {
    padding: 12px !important;
    gap: 8px !important;
    order: 3 !important;
  }
  .dream-player-surface--desktop .dream-player-transport-card .dream-player-progress-bar {
    height: 8px !important;
  }
  .dream-player-surface--desktop .dream-player-section {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }
  .dream-player-surface--desktop .dream-player-context-card {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding: 10px !important;
    order: 4 !important;
  }
  .dream-player-surface--desktop .dream-player-secondary-grid {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
    gap: 16px !important;
    align-items: start !important;
  }
  .dream-player-surface--desktop .dream-player-section--details,
  .dream-player-surface--desktop .dream-player-section--provenance {
    align-self: stretch !important;
    min-width: 0 !important;
  }
  .dream-player-surface--desktop .dream-player-section--details {
    gap: 8px !important;
    align-content: start !important;
  }
  .dream-player-surface--desktop .dream-player-section--details .dream-setting-row {
    align-items: center !important;
    gap: 10px !important;
    padding: 7px 0 !important;
  }
  .dream-player-surface--desktop .dream-player-section--details .dream-setting-row span {
    font-size: 10px !important;
  }
  .dream-player-surface--desktop .dream-player-section--details .dream-setting-row strong {
    max-width: none !important;
    text-align: left !important;
    font-size: 12px !important;
    line-height: 1.22 !important;
  }
  .dream-player-surface--desktop .dream-player-section--history-empty {
    grid-column: 1 / -1 !important;
    min-height: 200px !important;
    align-content: center !important;
  }
  /* DW-VIS-NEW-17: constrain track detail surface within the secondary grid column */
  .dream-player-surface--desktop .dream-track-detail-surface {
    max-width: min(100%, 420px) !important;
    width: 100% !important;
    align-self: start !important;
  }
  .dream-player-surface--desktop .dream-player-section--queue-empty .dream-player-preview-row:last-of-type {
    padding-bottom: 0 !important;
  }
  .dream-player-surface--desktop .dream-player-section--queue-empty .dream-player-preview-tagline {
    max-width: 38ch !important;
  }
  .dream-player-surface--desktop .dream-player-section--history-empty .dream-empty {
    max-width: 46ch !important;
  }
  .dream-player-surface--desktop .dream-player-stat {
    padding: 10px 12px !important;
  }
  .dream-player-surface--desktop .dream-player-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: hidden !important;
  }
  .dream-player-surface--desktop .dream-player-stat {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .dream-player-surface--desktop .dream-player-stat span {
    min-width: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.2 !important;
  }
  .dream-player-surface--desktop .dream-player-stat strong {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .dream-player-surface--desktop .dream-player-setting-value {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.4 !important;
  }
  .dream-player-surface--desktop .dream-player-section--details .dream-setting-row,
  .dream-player-surface--desktop .dream-player-section--provenance .dream-setting-row {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
  .dream-player-surface--desktop .dream-player-section--details .dream-setting-row > span,
  .dream-player-surface--desktop .dream-player-section--provenance .dream-setting-row > span {
    padding-top: 0 !important;
    font-size: 10px !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.5) !important;
  }
  .dream-player-surface--desktop .dream-player-section--details .dream-setting-row strong,
  .dream-player-surface--desktop .dream-player-section--provenance .dream-setting-row strong,
  .dream-player-surface--desktop .dream-player-section--provenance .dream-provenance-row em {
    display: block !important;
    max-width: 100% !important;
    width: 100% !important;
    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    text-overflow: clip !important;
  }
  .dream-player-surface--desktop .dream-track-detail-story-copy,
  .dream-player-surface--desktop .dream-track-detail-story-support,
  .dream-player-surface--desktop .dream-player-section-note,
  .dream-player-surface--desktop .dream-player-setting-value {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    text-overflow: clip !important;
  }
  .dream-player-surface--desktop .dream-track-detail-context-strip {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .dream-player-surface--desktop .dream-track-detail-context-strip .dream-row-pill {
    white-space: normal !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }
}
@media (max-width: 1400px) {
  .dream-player-surface--desktop .dream-player-layout--desktop {
    width: min(100%, 1040px) !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .dream-player-surface--desktop .dream-player-primary {
    position: static !important;
  }
  .dream-player-surface--desktop .dream-player-art-wrap {
    width: min(100%, 280px) !important;
    justify-self: center !important;
  }
  .dream-player-surface--desktop .dream-player-info,
  .dream-player-surface--desktop .dream-player-controls,
  .dream-player-surface--desktop .dream-player-toggle-row,
  .dream-player-surface--desktop .dream-player-actions {
    justify-content: center !important;
    text-align: center !important;
  }
  .dream-player-surface--desktop .dream-player-secondary-grid {
    grid-template-columns: 1fr !important;
  }
  .dream-player-surface--desktop .dream-track-detail-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (min-width: 1600px) {
  .dream-player-surface--desktop .dream-player-layout--desktop {
    transform: translateX(-148px) !important;
  }
  .dream-player-surface--desktop .dream-player-secondary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1800px) {
  .dream-player-surface--desktop .dream-player-layout--desktop {
    transform: translateX(-176px) !important;
  }
}
@media (min-width: 1600px) {
  .dream-player-surface--desktop .dream-player-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
.dream-billing-section {
  display: grid !important;
  gap: 10px !important;
}
body.dream-app-open[data-dream-route="billing"] .mini-now-playing {
  display: none !important;
}
body.mode-minimal.dream-app-open[data-dream-route="billing"] #minimal-ui .dream-app-content {
  padding-bottom: calc(148px + env(safe-area-inset-bottom)) !important;
}
body.mode-minimal.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content {
  padding-bottom: calc(140px + env(safe-area-inset-bottom)) !important;
}

@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] .mini-now-playing,
  body.dream-app-open[data-dream-route="player"] .dream-bottom-tabs {
    display: none !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-app-main {
    height: calc(100dvh - 76px - env(safe-area-inset-bottom)) !important;
    max-height: calc(100dvh - 76px - env(safe-area-inset-bottom)) !important;
  }

  body.dream-app-open[data-dream-route="player"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="player"] #dreamAppContent,
  body.dream-app-open[data-dream-route="player"] .dream-app-content {
    padding: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface {
    /* DW-VIS-PLAYER-UPNEXT-CLIP fix: replace 443px clamp (v682 attempt) with flex-grow
       pattern that matches the later (line ~3867) correct implementation.
       443px static value overflowed because parent .dream-app-main has fixed 647px height
       while .dream-player-up-next-card bottom=697px exceeds 443px surface by ~254px.
       Use flex:1 1 auto + min-height:0 so surface fills available space and upNext scrolls
       within the surface instead of overflowing below it. */
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    overflow-y: auto !important;
    padding: 12px 10px 18px !important;
    gap: 4px !important;
    border-radius: 22px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-art-wrap {
    /* DW-WAVE54-PLAYER-UPNEXT-FIRST-FOLD: the late phone density block overrode
       the earlier 180px art cap with 240px, pushing the Up Next CTA ~22px below
       the player surface. Cap at 200px so the CTA clears the surface at scrollTop=0. */
    width: min(62vw, 200px) !important;
    margin-top: 0 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-primary {
    gap: 4px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-ctrl--play {
    width: 64px !important;
    height: 64px !important;
    font-size: 24px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-kicker {
    font-size: 8.5px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-info {
    gap: 3px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-info h2 {
    font-size: 18.5px !important;
    line-height: 1.01 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-info--long h2 {
    font-size: 17px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-info--cjk h2 {
    font-size: 16.5px !important;
    line-height: 1.06 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-info p {
    font-size: 12px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-support {
    font-size: 10.5px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-mood {
    min-height: 26px !important;
    padding: 5px 10px !important;
    font-size: 9.5px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-context-strip {
    gap: 5px !important;
    padding: 7px 9px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-context-strip strong {
    font-size: 11.5px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-context-strip .dream-player-context-queue {
    font-size: 9.2px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-context-card,
  body.dream-app-open[data-dream-route="player"] .dream-player-section {
    padding: 10px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-section-note {
    font-size: 10.2px !important;
    line-height: 1.3 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-transport-card {
    gap: 9px !important;
    padding: 12px !important;
    border-radius: 20px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-stat {
    padding: 8px 10px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-toggle-row {
    gap: 4px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-action--compact {
    padding: 5px 8px !important;
    font-size: 9.5px !important;
    min-height: 44px !important;
    min-width: 44px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-controls {
    gap: 12px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-ctrl {
    width: 44px !important;
    height: 44px !important;
    font-size: 22px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-ctrl--play {
    width: 48px !important;
    height: 48px !important;
    font-size: 18px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-actions {
    gap: 5px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-actions .dream-player-action {
    padding: 6px 9px !important;
    font-size: 9.5px !important;
    min-height: 44px !important;
    min-width: 44px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-preview-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 8px 0 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-preview-copy {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-preview-art-shell {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-preview-actions {
    justify-items: start !important;
    min-width: 0 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-preview-topline {
    justify-content: space-between !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-preview-tagline {
    text-align: left !important;
    max-width: none !important;
  }
}

/* Phone: player preview More button / topline sizing */
@media (max-width: 640px) {
  /* Ensure the topline and actions row are not crushed on narrow phone */
  body.dream-app-open[data-dream-route="player"] .dream-player-preview-actions {
    min-width: 0 !important;
    justify-items: start !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-preview-topline {
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 28px !important;
    flex-wrap: nowrap !important;
  }
  /* Show .dream-player-secondary on player route so preview rows are visible */
  body.dream-app-open[data-dream-route="player"] .dream-player-secondary {
    display: grid !important;
    overflow-y: auto !important;
    max-height: 400px !important;
    align-content: start !important;
  }
  /* More button: explicit width so it never collapses to 0 */
  .dream-player-preview-more-action {
    display: flex !important;
    width: 44px !important;
    min-width: 44px !important;
    min-height: 28px !important;
    height: 28px !important;
    padding: 0 8px !important;
    font-size: 10px !important;
    flex-shrink: 0 !important;
  }
  /* Compact tag + More topline — keep both inline without wrapping */
  .dream-player-preview-tag {
    min-height: 22px !important;
    padding: 0 6px !important;
    font-size: 9px !important;
    white-space: nowrap !important;
  }
}

/* Search More popup menu */
.dream-search-more-popup {
  position: fixed !important;
  bottom: 120px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 100 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 8px !important;
  min-width: 180px !important;
  background: rgba(12,14,20,.96) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 48px rgba(0,0,0,.6) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
.dream-popup-item {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,.82) !important;
  padding: 10px 14px !important;
  font: 700 12px/1 'DM Sans', system-ui, sans-serif !important;
  text-align: left !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: background .12s !important;
}
.dream-popup-item:hover,
.dream-popup-item:active {
  background: rgba(255,255,255,.08) !important;
}
.dream-popup-item.dream-popup-close {
  color: rgba(255,255,255,.45) !important;
  text-align: center !important;
}
.dream-popup-item--danger {
  color: #ff5252 !important;
}
.dream-popup-note {
  padding: 10px 14px !important;
  font: 400 12px/1.4 'DM Sans', system-ui, sans-serif !important;
  color: rgba(255,255,255,.45) !important;
  text-align: left !important;
  border-radius: 10px !important;
}

/* discover richness pass — deeper compact browse shelves */
.dream-discover-browse-grid {
  display: grid !important;
  gap: 12px !important;
  margin: 12px 0 16px !important;
}
.dream-discover-browse-grid .dream-section {
  margin-bottom: 0 !important;
}
@media (min-width: 1280px) {
  .dream-discover-route--desktop .dream-discover-browse-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 520px) {
  body.dream-app-open .dream-discover-browse-grid {
    gap: 8px !important;
    margin: 10px 0 14px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
  }
  body.dream-app-open .dream-discover-browse-grid > .dream-section {
    padding: 10px 10px 9px !important;
    margin-top: 0 !important;
    max-width: 100% !important;
    overflow-x: clip !important;
    scroll-snap-align: start !important;
  }
  body.dream-app-open .dream-discover-browse-grid > .dream-section .dream-section-head {
    margin-bottom: 8px !important;
  }
}

/* DW-FEAT-054: browse shelf horizontal scroll — phone-first streaming-app shelves */
/* DW-FEAT-054-REGRESS fix: max-width:100% constrains flex container to viewport, enabling scrollLeft */
body.dream-app-open .dream-discover-browse-grid > .dream-section .dream-collection-stack {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  max-width: 100% !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 0 2px 4px !important;
}
body.dream-app-open .dream-discover-browse-grid > .dream-section .dream-collection-stack::-webkit-scrollbar {
  display: none !important;
}
body.dream-app-open .dream-discover-browse-grid > .dream-section .dream-collection-stack .dream-collection-row {
  flex: 0 0 200px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 10px !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 14px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  scroll-snap-align: start !important;
}
body.dream-app-open .dream-discover-browse-grid > .dream-section .dream-collection-stack .dream-row-play {
  flex-shrink: 0 !important;
  font-size: 14px !important;
  width: 28px !important;
  height: 28px !important;
  line-height: 28px !important;
  background: rgba(255,255,255,0.12) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.dream-app-open .dream-discover-browse-grid > .dream-section .dream-collection-stack .dream-row-art {
  width: 36px !important;
  height: 36px !important;
  flex-shrink: 0 !important;
  border-radius: 8px !important;
  object-fit: cover !important;
}
body.dream-app-open .dream-discover-browse-grid > .dream-section .dream-collection-stack .dream-collection-track-copy {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  overflow: hidden !important;
  min-width: 0 !important;
}
body.dream-app-open .dream-discover-browse-grid > .dream-section .dream-collection-stack .dream-collection-track-copy strong {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #fff !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
body.dream-app-open .dream-discover-browse-grid > .dream-section .dream-collection-stack .dream-collection-track-copy em {
  font-size: 11px !important;
  color: rgba(255,255,255,0.50) !important;
  font-style: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
body.dream-app-open .dream-discover-browse-grid > .dream-section .dream-collection-stack .dream-collection-track-actions {
  display: none !important;
}

/* search richness pass — calmer idle modules + phone-first quick strips */
.dream-search-hero-copy {
  margin: 8px 0 0 !important;
  color: rgba(255,255,255,.76) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  max-width: 42ch !important;
}
.dream-search-idle {
  display: grid !important;
  gap: 14px !important;
  margin-top: 10px !important;
  padding-bottom: calc(var(--dream-mobile-tabs-clearance, 72px) + var(--dream-mobile-mini-clearance, 34px) + 12px) !important;
}
.dream-search-idle-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
.dream-search-module {
  display: grid !important;
  gap: 10px !important;
  padding: 12px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.035) !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.dream-search-module--start {
  gap: 8px !important;
  overflow-x: auto !important;
}
.dream-section-head--search-start {
  align-items: start !important;
  gap: 8px !important;
}
.dream-search-inline-note {
  color: rgba(255,255,255,.5) !important;
  font: 700 10px/1.35 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .04em !important;
}
.dream-search-module-empty {
  color: rgba(255,255,255,.92) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  padding: 12px !important;
  border: 1px dashed rgba(255,255,255,.18) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.06) !important;
}
.dream-search-pill-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  overflow: visible !important;
}
.dream-search-pill-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
}
.dream-search-pill-row--scroll {
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  padding-bottom: 4px !important;
  padding-right: 36px !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  position: relative !important;
  flex-shrink: 0 !important;
}
/* Fade hint on right edge when chips overflow */
.dream-search-pill-row--scroll::after {
  content: '' !important;
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 4px !important;
  width: 32px !important;
  background: linear-gradient(to right, transparent, rgba(10,10,18,.55)) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.dream-search-pill-row--scroll::-webkit-scrollbar {
  display: none !important;
}
.dream-search-pill-row--history,
.dream-search-pill-row--start,
.dream-search-pill-row--trending,
.dream-search-pill-row--moods {
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 7px !important;
  padding-bottom: 14px !important;
  overflow-x: visible !important;
}
.dream-search-chip--history,
.dream-search-chip--trend,
.dream-search-chip--mood {
  border-color: rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.05) !important;
  min-height: 44px !important;
}
.dream-browse-grid--compact {
  grid-template-columns: repeat(2, minmax(100px, 1fr)) !important;
}
.dream-search-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  overflow: visible !important;
}
.dream-search-feature-card,
.dream-search-featured-playlist {
  display: grid !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.04) !important;
  color: rgba(255,255,255,.92) !important;
}
.dream-search-feature-card {
  grid-template-columns: 40px minmax(0, 1fr) !important;
  padding: 10px 11px !important;
  border-radius: 16px !important;
  text-align: left !important;
}
.dream-search-feature-art {
  width: 40px !important;
  height: 40px !important;
  aspect-ratio: 1 !important;
  border-radius: 12px !important;
  object-fit: cover !important;
  overflow: hidden !important;
}
.dream-search-feature-copy,
.dream-search-row-copy {
  min-width: 0 !important;
  display: grid !important;
}
.dream-search-feature-copy strong,
.dream-search-row-copy strong {
  color: rgba(255,255,255,.92) !important;
  font: 800 12px/1.2 'DM Sans', system-ui, sans-serif !important;
  overflow: hidden !important;
  text-overflow: initial !important;
  white-space: normal !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
.dream-search-feature-copy em,
.dream-search-row-copy em {
  color: rgba(255,255,255,.72) !important;
  font: 500 11px/1.25 'DM Sans', system-ui, sans-serif !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.dream-search-feature-list {
  display: grid !important;
  gap: 8px !important;
}
.dream-search-refinement-bar {
  display: grid !important;
  gap: 10px !important;
  margin: 0 0 10px !important;
}
.dream-search-refinement-primary {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
}
.dream-search-refinement-secondary,
.dream-search-sort-group,
.dream-search-utility-group,
.dream-search-density-group {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.dream-search-sort,
.dream-search-utility,
.dream-search-density,
.dream-search-reset {
  appearance: none !important;
  min-height: 32px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  background: rgba(255,255,255,.035) !important;
  color: rgba(255,255,255,.76) !important;
  font: 700 10.5px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-search-sort.active,
.dream-search-utility.active,
.dream-search-density.active {
  border-color: rgba(155,231,255,.28) !important;
  background: rgba(155,231,255,.1) !important;
  color: rgba(235,250,255,.96) !important;
}
.dream-search-refinement-summary {
  margin: 0 !important;
}
.dream-search-results-grid {
  display: grid !important;
  gap: 12px !important;
}
.dream-search-results-main,
.dream-search-results-side {
  display: grid !important;
  gap: 12px !important;
}
.dream-search-route--desktop {
  display: flex !important;
  flex-direction: column !important;
}
.dream-search-desktop-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px) !important;
  gap: 16px !important;
  align-items: start !important;
}
.dream-search-sidecar {
  position: sticky !important;
  top: 18px !important;
  display: grid !important;
  gap: 12px !important;
}
.dream-search-main-stack {
  min-width: 0 !important;
}
.dream-library-desktop-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px) !important;
  gap: 16px !important;
  align-items: start !important;
}
.dream-library-sidecar {
  position: sticky !important;
  top: 18px !important;
  display: grid !important;
  gap: 12px !important;
}
.dream-library-main-stack {
  min-width: 0 !important;
}
.dream-track-detail-surface--library .dream-track-detail-grid {
  grid-template-columns: 1fr !important;
}
.dream-track-detail-surface--library .dream-track-detail-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.dream-track-detail-surface--library .dream-track-detail-head {
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 12px !important;
}
.dream-track-detail-surface--library .dream-close-detail-action {
  grid-column: 1 / -1 !important;
  justify-self: start !important;
}
.dream-track-detail-surface--search .dream-track-detail-grid {
  grid-template-columns: 1fr !important;
}
.dream-track-detail-surface--search .dream-track-detail-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.dream-track-detail-surface--search .dream-track-detail-head {
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 12px !important;
}
.dream-track-detail-surface--search .dream-close-detail-action {
  grid-column: 1 / -1 !important;
  justify-self: start !important;
}
/* DW-SCOUT-134: sticky head + fixed close for discover surface long-scroll recovery */
.dream-track-detail-surface--discover .dream-track-detail-head {
  position: sticky !important;
  top: max(10px, env(safe-area-inset-top)) !important;
  z-index: 12 !important;
  margin: -6px -6px 16px !important;
  padding: 12px 12px 14px !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, rgba(6,8,14,.96), rgba(10,12,20,.88)) !important;
  box-shadow: 0 16px 30px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
}
.dream-track-detail-surface--discover .dream-close-detail-action {
  position: fixed !important;
  top: calc(env(safe-area-inset-top) + 18px) !important;
  right: 18px !important;
  left: auto !important;
  z-index: 30 !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  background: rgba(6,8,14,.94) !important;
  box-shadow: 0 14px 26px rgba(0,0,0,.32) !important;
}

/* Inline × close button for empty-state sidecar panels */
.dream-sidecar-inline-close {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 50% !important;
  color: rgba(255,255,255,.7) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  line-height: 1 !important;
  width: 26px !important;
  height: 26px !important;
  padding: 0 !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
  transition: background .15s, color .15s !important;
}
.dream-sidecar-inline-close:hover {
  background: rgba(255,255,255,.16) !important;
  color: #fff !important;
}
.dream-section-head .dream-sidecar-inline-close {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  margin-left: 0 !important;
}
.dream-section-head {
  position: relative !important;
}

/* Slide-in animation for sidecar panels */
@keyframes dreamSidecarSlideIn {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.dream-track-detail-surface--sidecar {
  animation: dreamSidecarSlideIn .22s ease-out forwards !important;
}

/* Mobile: sidecar becomes bottom sheet overlay */
@media (max-width: 1099px) {
  .dream-search-desktop-shell,
  .dream-library-desktop-shell {
    grid-template-columns: 1fr !important;
  }
  .dream-search-sidecar,
  .dream-library-sidecar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    z-index: 900 !important;
    border-radius: 18px 18px 0 0 !important;
    box-shadow: 0 -8px 40px rgba(0,0,0,.55) !important;
    max-height: 78vh !important;
    overflow-y: auto !important;
    animation: dreamSidecarSlideIn .28s ease-out forwards !important;
  }
}
@media (min-width: 1100px) {
  #bgVideo {
    left: -8px !important;
    width: calc(100% + 16px) !important;
    max-width: none !important;
  }
  .dream-discover-social-grid--paired {
    grid-template-columns: minmax(0, 1.16fr) minmax(320px, .84fr) !important;
    align-items: start !important;
    gap: 16px !important;
  }
  .dream-discover-social-grid--single {
    display: grid !important;
    justify-content: center !important;
  }
  .dream-discover-social-primary,
  .dream-discover-social-secondary {
    min-width: 0 !important;
  }
  .dream-discover-social-secondary {
    max-width: 420px !important;
    justify-self: stretch !important;
  }
  .dream-discover-social-grid--single .dream-discover-social-secondary {
    width: min(100%, 720px) !important;
    max-width: 720px !important;
    justify-self: center !important;
  }
  .dream-discover-creators .dream-section-head {
    margin-bottom: 10px !important;
  }
  .dream-connection-list--discover-rail {
    gap: 8px !important;
  }
  .dream-discover-creators .dream-connection-row {
    padding: 10px !important;
    border-radius: 16px !important;
    gap: 10px !important;
  }
  .dream-discover-creators .dream-connection-main {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .dream-discover-creators .dream-connection-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 12px !important;
  }
  .dream-discover-creators .dream-connection-copy strong {
    font-size: 13px !important;
  }
  .dream-discover-creators .dream-connection-copy em {
    font-size: 11px !important;
  }
  .dream-discover-creators .dream-connection-actions {
    align-self: center !important;
  }
  .dream-discover-creators .dream-connection-follow {
    min-width: 94px !important;
    justify-content: center !important;
    padding: 7px 12px !important;
  }
  /* DW-FEAT-073: Following now suggested creators row */
  .dream-discover-following-suggested {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
  .dream-discover-following-suggested .dream-discover-creator-card {
    padding: 10px 12px !important;
    border-radius: 16px !important;
  }
  .dream-hero--search,
  .dream-hero--library {
    padding: 20px 18px 24px !important;
  }
  .dream-hero--search .dream-kicker,
  .dream-hero--search .dream-search-hero-copy {
    display: none !important;
  }
  .dream-hero--search h2 {
    margin: 0 0 8px !important;
    font-size: 22px !important;
    line-height: 1.08 !important;
    overflow: visible !important;
  }
  .dream-hero--library {
    padding: 16px 18px 18px !important;
  }
  .dream-hero--library h2 {
    margin: 0 0 8px !important;
    font-size: 30px !important;
    line-height: 1.04 !important;
    max-width: 14ch !important;
    text-wrap: pretty !important;
  }
  .dream-hero--library .dream-library-summary-copy {
    max-width: 72ch !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
  }
  .dream-hero--library .dream-library-status-row {
    margin-top: 12px !important;
    gap: 10px !important;
  }
  .dream-hero--library .dream-hero-actions--library {
    margin-top: 10px !important;
    gap: 8px !important;
  }
  .dream-library-toolbar {
    gap: 12px !important;
    margin-bottom: 12px !important;
    padding: 14px 16px !important;
  }
  .dream-library-toolbar-utility-row {
    gap: 8px !important;
  }
  .dream-library-toolbar [role="tablist"] {
    gap: 5px !important;
  }
  .dream-search-results {
    margin-top: 14px !important;
  }
  .dream-search-field {
    position: relative !important;
    margin-top: 0 !important;
    padding: 0 2px !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 18px !important;
    background: rgba(9,12,18,.72) !important;
    backdrop-filter: blur(6px) !important;
    overflow: visible !important;
    min-width: 0 !important;
  }
  .dream-search-field input {
    background: transparent !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  .dream-search-icon {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
  .dream-search-refinement-bar {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 18px !important;
    background: rgba(9,12,18,.7) !important;
    backdrop-filter: blur(6px) !important;
  }
  .dream-search-refinement-primary {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
  }
  .dream-search-refinement-summary {
    display: inline-flex !important;
    align-items: center !important;
    margin-left: auto !important;
    white-space: nowrap !important;
  }
  .dream-search-refinement-summary .dream-search-results-summary-context {
    max-width: 28ch !important;
  }
  .dream-search-reset {
    display: none !important;
  }
  .dream-search-refinement-secondary {
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .dream-search-results-grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .9fr) !important;
    align-items: start !important;
  }
  .dream-search-results-main {
    padding: 12px 14px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 20px !important;
    background: rgba(8,11,17,.58) !important;
    backdrop-filter: blur(16px) !important;
  }
  .dream-search-results-main .dream-search-section {
    margin-bottom: 0 !important;
  }
  .dream-search-results-side {
    position: sticky !important;
    top: 0 !important;
  }
  .dream-search-results-side .dream-search-section {
    margin-bottom: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 18px !important;
    background: rgba(8,11,17,.62) !important;
    backdrop-filter: blur(16px) !important;
  }
  .dream-search-idle {
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .88fr) !important;
    grid-template-areas:
      'start start'
      'recent resume'
      'featured resume'
      'moods moods' !important;
    align-items: start !important;
  }
  @media (max-width: 520px) {
    body.dream-app-open[data-dream-route="search"] .dream-search-idle {
      grid-template-columns: 1fr !important;
      grid-template-areas:
        'start'
        'recent'
        'featured'
        'moods' !important;
    }
    body.dream-app-open[data-dream-route="search"] .dream-search-idle > .dream-search-module--start,
    body.dream-app-open[data-dream-route="search"] .dream-search-idle > .dream-search-module--recent,
    body.dream-app-open[data-dream-route="search"] .dream-search-idle > .dream-search-module--featured,
    body.dream-app-open[data-dream-route="search"] .dream-search-idle > .dream-search-module--recent-plays,
    body.dream-app-open[data-dream-route="search"] .dream-search-idle > .dream-search-module--trending,
    body.dream-app-open[data-dream-route="search"] .dream-search-idle > .dream-search-module--moods {
      grid-template-columns: 1fr !important;
    }
    /* Force browse/mood pill rows to scroll (nowrap), fill viewport width */
    body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--start,
    body.dream-app-open[data-dream-route="search"] .dream-search-module--moods .dream-search-pill-row--moods {
      flex-wrap: nowrap !important;
      overflow-x: auto !important;
      overflow-y: hidden !important;
      padding-right: 0 !important;
      flex-shrink: 0 !important;
      box-sizing: border-box !important;
    }
    /* DW-VIS-SEARCH-CHIP-RIGHT-CLIP-FIX: keep ::after scroll-hint gradient when row is nowrap.
       The original rule (line above this comment) killed the gradient because the row was
       wrapping; now flex-wrap is forced to nowrap in the @media (max-width: 520px) block
       above, so the gradient is the correct affordance to keep — it fades the rightmost
       clipped chip (e.g. mallsoft in Browse, Driving in Mood map) into the background and
       signals "more content, scroll right" to the user. We re-enable the gradient here
       because the row no longer wraps. */
    body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--scroll::after {
      display: block !important;
      width: 28px !important;
      background: linear-gradient(to right, transparent, rgba(8,10,18,.78) 80%, rgba(8,10,18,.92)) !important;
    }
    body.dream-app-open[data-dream-route="search"] .dream-search-chip--trend,
    body.dream-app-open[data-dream-route="search"] .dream-search-chip--mood {
      flex: 0 0 auto !important;
      max-width: none !important;
      overflow: visible !important;
      text-overflow: clip !important;
    }
    /* Let module containers grow naturally to fit wrapped chips */
    body.dream-app-open[data-dream-route="search"] .dream-search-module {
      height: auto !important;
      max-height: none !important;
      overflow-y: visible !important;
    }
  }
  .dream-search-module--start {
    grid-area: start !important;
  }
  .dream-search-idle-grid {
    grid-area: recent !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
  .dream-search-module--recent {
    align-self: start !important;
  }
  .dream-search-module--recent .dream-search-module-empty {
    min-height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-style: solid !important;
    border-color: rgba(255,255,255,.08) !important;
    background: rgba(255,255,255,.03) !important;
  }
  .dream-search-module--featured {
    grid-area: featured !important;
  }
  .dream-search-module--recent-plays {
    grid-area: resume !important;
    align-self: start !important;
  }
  .dream-search-module--moods {
    grid-area: moods !important;
    align-self: start !important;
    min-height: 280px !important;
  }
  .dream-search-module--moods .dream-browse-grid--compact {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: start !important;
  }
  .dream-search-module--moods .dream-browse-tile {
    aspect-ratio: auto !important;
    min-height: 82px !important;
    padding: 10px !important;
  }
  /* DW-FEAT-113 AC-3 mobile: mood chips pill row scrolls horizontally on narrow screens */
  .dream-search-module--moods .dream-search-pill-row--moods {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    padding-bottom: 14px !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  .dream-search-module--moods .dream-search-pill-row--moods::-webkit-scrollbar { display: none !important; }
  /* DW-FEAT-113 AC-3: hero mood filter chips scroll on narrow phone */
  .dream-hero--search .dream-search-chips {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  .dream-hero--search .dream-search-chips::-webkit-scrollbar { display: none !important; }
  .dream-search-feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .dream-search-feature-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .dream-search-row--track {
    gap: 6px 12px !important;
  }
  .dream-search-row {
    background: rgba(9,12,18,.74) !important;
    border-color: rgba(255,255,255,.12) !important;
  }
  .dream-search-row:hover {
    background: rgba(12,16,24,.86) !important;
    border-color: rgba(255,255,255,.18) !important;
  }
  .dream-search-track-main {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  .dream-search-row .dream-row-art {
    width: 44px !important;
    height: 44px !important;
    border-radius: 10px !important;
  }
  .dream-search-row-copy em {
    display: block !important;
  }
  .dream-search-results-grid--comfortable .dream-search-row {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  .dream-search-results-grid--comfortable .dream-search-track-main {
    grid-template-columns: 48px minmax(0, 1fr) !important;
  }
  .dream-search-results-grid--comfortable .dream-search-row .dream-row-art {
    width: 48px !important;
    height: 48px !important;
  }
}
.dream-search-featured-playlist {
  grid-template-columns: 22px minmax(0, 1fr) !important;
  padding: 10px 11px !important;
  border-radius: 16px !important;
  text-align: left !important;
}
.dream-search-playlist-icon {
  color: rgba(255,255,255,.64) !important;
  font-size: 12px !important;
}
.dream-search-scopes {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin-bottom: 0 !important;
}
.dream-search-scope {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 7px 14px 7px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.12) !important;
  color: rgba(255,255,255,.78) !important;
  text-align: left !important;
}
.dream-search-scope-label {
  font: 800 11px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-search-scope-count {
  font: 700 10px/1 'DM Sans', system-ui, sans-serif !important;
  color: rgba(255,255,255,.58) !important;
}
.dream-search-scope.active {
  border-color: rgba(255,113,206,.38) !important;
  background: rgba(255,113,206,.18) !important;
  color: rgba(255,255,255,1) !important;
}
.dream-search-scope.active .dream-search-scope-count {
  color: rgba(255,255,255,.9) !important;
}
.dream-search-results-summary {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 5px !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: rgba(255,255,255,.76) !important;
  font-size: 10px !important;
  white-space: nowrap !important;
}
.dream-search-results-summary strong {
  color: rgba(255,255,255,.92) !important;
  font-size: 10.5px !important;
}
.dream-search-results-summary-sep {
  color: rgba(255,255,255,.35) !important;
}
.dream-search-results-summary-context {
  color: rgba(255,255,255,.54) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-discover-now-playing-strip {
  display: grid !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(9,10,14,.22) !important;
}
.dream-discover-now-playing-copy {
  display: grid !important;
  gap: 5px !important;
}
.dream-discover-now-playing-topline {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}
.dream-discover-now-playing-copy strong {
  color: rgba(255,255,255,.94) !important;
  font: 800 15px/1.08 'DM Sans', system-ui, sans-serif !important;
}
.dream-discover-now-playing-copy em {
  color: rgba(255,255,255,.58) !important;
  font: 500 11px/1.3 'DM Sans', system-ui, sans-serif !important;
}
.dream-discover-now-playing-context-label {
  color: rgba(255,255,255,.52) !important;
  font: 600 10.5px/1.25 'DM Sans', system-ui, sans-serif !important;
  font-style: italic !important;
  opacity: .9 !important;
}
.dream-discover-now-playing-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}
/* DW-FEAT-143: Continue listening compact card above the hero on cold-load. */
.dream-discover-continue-row {
  display: block !important;
  margin-bottom: 12px !important;
}
.dream-discover-continue-card {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 8px 14px 8px 8px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(120, 170, 255, 0.18) !important;
  background: linear-gradient(135deg, rgba(28, 32, 60, 0.55), rgba(14, 18, 32, 0.35)) !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.22) !important;
  color: inherit !important;
  text-align: left !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: rgba(120, 170, 255, 0.18) !important;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease !important;
  font: inherit !important;
}
.dream-discover-continue-card:hover,
.dream-discover-continue-card:focus-visible {
  border-color: rgba(120, 170, 255, 0.42) !important;
  background: linear-gradient(135deg, rgba(36, 42, 78, 0.62), rgba(18, 22, 38, 0.42)) !important;
  outline: none !important;
}
.dream-discover-continue-card:active {
  transform: scale(0.985) !important;
}
.dream-discover-continue-art {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: rgba(255, 255, 255, 0.06) !important;
  flex: 0 0 56px !important;
}
.dream-discover-continue-art img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.dream-discover-continue-copy {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}
.dream-discover-continue-kicker {
  color: rgba(120, 170, 255, 0.95) !important;
  font: 700 10px/1.2 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
.dream-discover-continue-name {
  color: rgba(255, 255, 255, 0.96) !important;
  font: 800 14px/1.18 'DM Sans', system-ui, sans-serif !important;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}
.dream-discover-continue-artist {
  color: rgba(255, 255, 255, 0.62) !important;
  font: 500 11px/1.3 'DM Sans', system-ui, sans-serif !important;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  font-style: normal !important;
}
.dream-discover-continue-dot {
  color: rgba(255, 255, 255, 0.32) !important;
  margin: 0 2px !important;
}
.dream-discover-continue-actions {
  display: grid !important;
  grid-template-columns: 22px auto !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: rgba(120, 170, 255, 0.18) !important;
  border: 1px solid rgba(120, 170, 255, 0.32) !important;
  color: rgba(220, 232, 255, 0.95) !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: 0.04em !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
.dream-discover-continue-play-icon {
  color: rgba(220, 232, 255, 0.95) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  text-align: center !important;
}
.dream-discover-continue-play-label {
  color: rgba(220, 232, 255, 0.95) !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
@media (max-width: 380px) {
  .dream-discover-continue-card {
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
    padding: 6px 10px 6px 6px !important;
    gap: 10px !important;
  }
  .dream-discover-continue-art,
  .dream-discover-continue-art img {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
  }
  .dream-discover-continue-actions {
    padding: 5px 10px !important;
  }
}
/* DW-FEAT-144: Continue listening compact card on the Library Overview mobile stack.
   Mirrors the DW-FEAT-143 discover pattern; same gradient/border so the two cards
   read as a single design system across routes. */
.dream-library-continue-row {
  display: block !important;
  margin-bottom: 12px !important;
}
.dream-library-continue-card {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 8px 14px 8px 8px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(120, 170, 255, 0.18) !important;
  background: linear-gradient(135deg, rgba(28, 32, 60, 0.55), rgba(14, 18, 32, 0.35)) !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.22) !important;
  color: inherit !important;
  text-align: left !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: rgba(120, 170, 255, 0.18) !important;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease !important;
  font: inherit !important;
}
.dream-library-continue-card:hover,
.dream-library-continue-card:focus-visible {
  border-color: rgba(120, 170, 255, 0.42) !important;
  background: linear-gradient(135deg, rgba(36, 42, 78, 0.62), rgba(18, 22, 38, 0.42)) !important;
  outline: none !important;
}
.dream-library-continue-card:active {
  transform: scale(0.985) !important;
}
.dream-library-continue-art {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: rgba(255, 255, 255, 0.06) !important;
  flex: 0 0 56px !important;
}
.dream-library-continue-art img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.dream-library-continue-copy {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}
.dream-library-continue-kicker {
  color: rgba(120, 170, 255, 0.95) !important;
  font: 700 10px/1.2 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
.dream-library-continue-name {
  color: rgba(255, 255, 255, 0.96) !important;
  font: 800 14px/1.18 'DM Sans', system-ui, sans-serif !important;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}
.dream-library-continue-artist {
  color: rgba(255, 255, 255, 0.62) !important;
  font: 500 11px/1.3 'DM Sans', system-ui, sans-serif !important;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  font-style: normal !important;
}
.dream-library-continue-dot {
  color: rgba(255, 255, 255, 0.32) !important;
  margin: 0 2px !important;
}
.dream-library-continue-actions {
  display: grid !important;
  grid-template-columns: 22px auto !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: rgba(120, 170, 255, 0.18) !important;
  border: 1px solid rgba(120, 170, 255, 0.32) !important;
  color: rgba(220, 232, 255, 0.95) !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: 0.04em !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
.dream-library-continue-play-icon {
  color: rgba(220, 232, 255, 0.95) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  text-align: center !important;
}
.dream-library-continue-play-label {
  color: rgba(220, 232, 255, 0.95) !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
@media (max-width: 380px) {
  .dream-library-continue-card {
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
    padding: 6px 10px 6px 6px !important;
    gap: 10px !important;
  }
  .dream-library-continue-art,
  .dream-library-continue-art img {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
  }
  .dream-library-continue-actions {
    padding: 5px 10px !important;
  }
}
.dream-discover-route--desktop {
  display: grid !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.dream-discover-desktop-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) clamp(300px, 17vw, 340px) !important;
  align-items: start !important;
  gap: clamp(22px, 1.8vw, 30px) !important;
  width: 100% !important;
  max-width: 100% !important;
}
.dream-discover-main-stack {
  min-width: 0 !important;
  margin-top: 0 !important;
}

/* FIX: reduce gap between marquee and first browse shelf */
body.dream-app-open .dream-discover-main-stack {
  margin-top: 8px !important;
}
.dream-discover-sidecar {
  min-width: 0 !important;
  position: sticky !important;
  top: 18px !important;
  display: grid !important;
  gap: 12px !important;
}
.dream-discover-marquee {
  display: grid !important;
  grid-template-columns: minmax(0, 1.58fr) minmax(232px, 280px) !important;
  gap: 14px !important;
  padding: 14px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  background: linear-gradient(145deg, rgba(10,12,18,.78), rgba(10,10,16,.52)) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(22px) saturate(130%) !important;
  overflow: hidden !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.dream-discover-marquee-main {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}
.dream-discover-marquee-art-shell {
  width: 96px !important;
  aspect-ratio: 1 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.30) !important;
}
.dream-discover-marquee-art {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.dream-discover-marquee-copy {
  display: grid !important;
  gap: 12px !important;
  min-width: 0 !important;
}
.dream-discover-marquee-copy h2 {
  margin: 0 !important;
  color: rgba(255,255,255,.96) !important;
  font: 900 clamp(24px, 2.3vw, 34px)/1.12 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: -.04em !important;
  max-width: 100% !important;
}
.dream-discover-marquee-titleline {
  display: grid !important;
  gap: 7px !important;
}
.dream-discover-marquee-titleline strong {
  color: rgba(255,255,255,.96) !important;
  font: 800 clamp(16px, 1.8vw, 18px)/1.15 'DM Sans', system-ui, sans-serif !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}
.dream-discover-marquee-titleline span,
.dream-discover-marquee-helper {
  color: rgba(255,255,255,.82) !important;
  font: 500 12.5px/1.5 'Inter', system-ui, sans-serif !important;
}
.dream-discover-marquee-helper {
  max-width: 58ch !important;
}
.dream-discover-marquee-chips,
.dream-discover-marquee-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  min-width: 0 !important;
  overflow: visible !important;
}
.dream-discover-marquee-actions {
  margin-top: 4px !important;
}
.dream-discover-marquee-side {
  display: grid !important;
  gap: 10px !important;
  align-content: start !important;
  min-width: 0 !important;
  overflow: visible !important;
}
.dream-discover-marquee-stat,
.dream-discover-marquee-tracklist {
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.04) !important;
}
.dream-discover-marquee-stat {
  padding: 10px 12px !important;
  display: grid !important;
  gap: 4px !important;
}
.dream-discover-marquee-stat span {
  color: rgba(255,255,255,.72) !important;
  font: 700 10px/1.1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.dream-discover-marquee-stat strong {
  color: rgba(255,255,255,.94) !important;
  font: 800 16px/1.08 'DM Sans', system-ui, sans-serif !important;
  word-break: break-word !important;
}
.dream-discover-marquee-tracklist {
  display: grid !important;
  gap: 0 !important;
  overflow: hidden !important;
}
.dream-discover-marquee-track {
  appearance: none !important;
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  background: transparent !important;
  color: rgba(255,255,255,.88) !important;
  padding: 10px 12px !important;
  display: grid !important;
  gap: 4px !important;
  text-align: left !important;
}
.dream-discover-marquee-track:first-child {
  border-top: 0 !important;
}
.dream-discover-marquee-track strong {
  color: rgba(255,255,255,.92) !important;
  font: 700 13px/1.18 'DM Sans', system-ui, sans-serif !important;
}
.dream-discover-marquee-track span {
  color: rgba(255,255,255,.54) !important;
  font: 500 11px/1.35 'Inter', system-ui, sans-serif !important;
}
.dream-track-detail-surface--sidecar {
  margin-top: 0 !important;
}
.dream-track-detail-surface--sidecar .dream-track-detail-grid {
  grid-template-columns: 1fr !important;
}
.dream-track-detail-surface--player .dream-track-detail-grid {
  grid-template-columns: 1fr !important;
}
.dream-track-detail-surface--sidecar .dream-track-detail-metrics,
.dream-track-detail-surface--player .dream-track-detail-metrics {
  grid-template-columns: 1fr !important;
}
.dream-track-detail-surface--sidecar .dream-metric,
.dream-track-detail-surface--player .dream-metric {
  min-height: 0 !important;
}
.dream-track-detail-surface--sidecar .dream-metric strong,
.dream-track-detail-surface--sidecar .dream-metric em,
.dream-track-detail-surface--sidecar .dream-metric span,
.dream-track-detail-surface--player .dream-metric strong,
.dream-track-detail-surface--player .dream-metric em,
.dream-track-detail-surface--player .dream-metric span {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}
.dream-track-detail-surface--sidecar .dream-metric strong,
.dream-track-detail-surface--player .dream-metric strong {
  font-size: 14px !important;
  line-height: 1.25 !important;
}
.dream-track-detail-surface--sidecar .dream-track-detail-head {
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 12px !important;
}
.dream-track-detail-surface--sidecar .dream-close-detail-action {
  grid-column: 1 / -1 !important;
  justify-self: start !important;
}
.dream-track-detail-surface--sidecar .dream-setting-row,
.dream-track-detail-surface--player .dream-setting-row,
.dream-track-detail-surface--sidecar .dream-provenance-row,
.dream-track-detail-surface--player .dream-provenance-row {
  align-items: flex-start !important;
}
.dream-track-detail-surface--sidecar .dream-setting-row,
.dream-track-detail-surface--player .dream-setting-row {
  flex-direction: column !important;
  gap: 5px !important;
}
.dream-track-detail-surface--sidecar .dream-setting-row strong,
.dream-track-detail-surface--sidecar .dream-provenance-row em,
.dream-track-detail-surface--player .dream-setting-row strong,
.dream-track-detail-surface--player .dream-provenance-row em {
  max-width: 100% !important;
  width: 100% !important;
  display: block !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  text-overflow: clip !important;
}
.dream-track-detail-surface--sidecar .dream-track-meta-card,
.dream-track-detail-surface--sidecar .dream-track-detail-story-copy,
.dream-track-detail-surface--sidecar .dream-track-detail-story-support,
.dream-track-detail-surface--sidecar .dream-detail-pills,
.dream-track-detail-surface--sidecar .dream-row-pill,
.dream-track-detail-surface--sidecar .dream-player-section-note,
.dream-track-detail-surface--player .dream-track-meta-card,
.dream-track-detail-surface--player .dream-track-detail-story-copy,
.dream-track-detail-surface--player .dream-track-detail-story-support,
.dream-track-detail-surface--player .dream-detail-pills,
.dream-track-detail-surface--player .dream-row-pill,
.dream-track-detail-surface--player .dream-player-section-note {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  text-overflow: clip !important;
}
.dream-track-detail-surface--ambient {
  background: linear-gradient(160deg, rgba(12,14,22,.76), rgba(8,10,15,.55)) !important;
}
.dream-track-meta-card--sidecar-summary {
  background: rgba(255,255,255,.03) !important;
}
.dream-section--release-notes .dream-empty--release-notes {
  display: grid !important;
  gap: 10px !important;
  min-height: 172px !important;
  align-content: center !important;
  background: linear-gradient(160deg, rgba(113, 69, 201, .12), rgba(255,255,255,.03)) !important;
  border-color: rgba(201,176,255,.2) !important;
}
.dream-empty--release-notes strong {
  color: rgba(255,255,255,.92) !important;
  font: 800 16px/1.1 'DM Sans', system-ui, sans-serif !important;
}
.dream-empty--release-notes p {
  margin: 0 !important;
  color: rgba(255,255,255,.76) !important;
  font: 500 12px/1.55 'Inter', system-ui, sans-serif !important;
}
.dream-release-notes-empty-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.dream-discover-creator-grid {
  display: grid !important;
  gap: 12px !important;
}
.dream-discover-creator-card {
  display: grid !important;
  gap: 12px !important;
  padding: 16px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: linear-gradient(160deg, rgba(11,14,22,.76), rgba(8,10,15,.58)) !important;
}
.dream-discover-creator-main {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  gap: 12px !important;
  text-align: left !important;
}
.dream-discover-creator-avatar {
  width: 56px !important;
  height: 56px !important;
  border-radius: 16px !important;
  object-fit: cover !important;
}
.dream-discover-creator-copy,
.dream-discover-creator-topline {
  display: grid !important;
  gap: 6px !important;
}
.dream-discover-creator-topline strong {
  color: rgba(255,255,255,.94) !important;
  font: 800 14px/1.1 'DM Sans', system-ui, sans-serif !important;
}
.dream-discover-creator-topline em,
.dream-discover-creator-summary,
.dream-discover-creator-proof,
.dream-discover-creator-proofline {
  color: rgba(255,255,255,.56) !important;
  font: 500 11px/1.4 'Inter', system-ui, sans-serif !important;
  font-style: normal !important;
}
.dream-discover-creator-summary {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.dream-discover-creator-meta,
.dream-discover-creator-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}
.dream-discover-creator-cta {
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.82) !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-discover-creator-cta.following {
  background: rgba(30,215,96,.12) !important;
  border-color: rgba(30,215,96,.24) !important;
  color: rgba(148,255,186,.96) !important;
}
.dream-discover-creator-cta--ghost {
  background: transparent !important;
}
@media (max-width: 520px) {
  body.dream-app-open .dream-discover-creator-grid {
    gap: 5px !important;
  }
  body.dream-app-open .dream-discover-creator-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: stretch !important;
    gap: 4px !important;
    padding: 5px 8px !important;
    border-radius: 12px !important;
    min-height: 48px !important;
    max-height: 50px !important;
    overflow: hidden !important;
  }
  body.dream-app-open .dream-discover-creator-main {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 5px !important;
    min-width: 0 !important;
  }
  body.dream-app-open .dream-discover-creator-avatar {
    width: 26px !important;
    height: 26px !important;
    border-radius: 8px !important;
    flex-shrink: 0 !important;
  }
  body.dream-app-open .dream-discover-creator-copy,
  body.dream-app-open .dream-discover-creator-topline {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 3px !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  body.dream-app-open .dream-discover-creator-topline {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }
  body.dream-app-open .dream-discover-creator-topline strong {
    font: 800 10px/1 'DM Sans', system-ui, sans-serif !important;
    flex-shrink: 0 !important;
  }
  body.dream-app-open .dream-discover-creator-topline em {
    font: 500 9px/1 'Inter', system-ui, sans-serif !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    flex-shrink: 1 !important;
    white-space: nowrap !important;
  }
  body.dream-app-open .dream-discover-creator-summary,
  body.dream-app-open .dream-discover-creator-proof,
  body.dream-app-open .dream-discover-creator-proofline {
    display: none !important;
  }
  body.dream-app-open .dream-discover-creator-actions {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 3px !important;
    min-width: 36px !important;
    flex-shrink: 0 !important;
  }
  body.dream-app-open .dream-discover-creator-actions .dream-discover-creator-cta:not(.dream-view-creator-action) {
    display: none !important;
  }
  body.dream-app-open .dream-discover-creator-cta {
    min-height: 18px !important;
    padding: 0 4px !important;
    font: 700 7px/1 'DM Sans', system-ui, sans-serif !important;
    flex-shrink: 0 !important;
  }
}
.dream-player-transport-card {
  width: min(100%, 440px) !important;
  display: grid !important;
  gap: 12px !important;
  padding: 16px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  background: linear-gradient(160deg, rgba(10,12,18,.72), rgba(10,10,16,.52)) !important;
  box-shadow: 0 24px 64px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
/* Up-next card — first-class preview in the player transport area */
/* DW-VIS-118 fix: margin-top clears the sticky bottom-recovery button (~44px) */
.dream-player-up-next-card {
  margin-top: 64px !important;
  padding: 10px 12px !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.dream-player-up-next-label {
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.4) !important;
}
.dream-player-up-next-tag {
  display: inline-block !important;
  font-size: 8px !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: rgba(125,255,176,.7) !important;
  background: rgba(30,215,96,.12) !important;
  border: 1px solid rgba(30,215,96,.2) !important;
  border-radius: 4px !important;
  padding: 1px 5px !important;
  margin-left: 4px !important;
  vertical-align: middle !important;
}
.dream-player-up-next-inner {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.dream-player-up-next-art {
  width: 36px !important;
  height: 36px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  flex-shrink: 0 !important;
}
.dream-player-up-next-text {
  flex: 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.dream-player-up-next-name {
  font-size: 12px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: rgba(255,255,255,.85) !important;
  max-width: 100% !important;
}
.dream-player-up-next-artist {
  font-size: 10px !important;
  color: rgba(255,255,255,.45) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-player-up-next-btn {
  flex-shrink: 0 !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 20px !important;
  color: rgba(255,255,255,.8) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  padding: 4px 10px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  min-height: 44px !important;
  min-width: 44px !important;
}
.dream-player-up-next-card--empty {
  background: transparent !important;
  border-color: rgba(255,255,255,.06) !important;
}
.dream-player-up-next-empty {
  font-size: 10px !important;
  color: rgba(255,255,255,.3) !important;
  font-style: italic !important;
}
@media (max-width: 520px) {
  .dream-player-up-next-card {
    margin-top: 47px !important;
    padding: 8px 10px !important;
  }
  .dream-player-up-next-art {
    width: 30px !important;
    height: 30px !important;
  }
  .dream-player-up-next-name {
    font-size: 11px !important;
  }
  .dream-player-up-next-btn {
    min-height: 44px !important;
    min-width: 44px !important;
  }
  /* DW-VIS-118 fix: add clearance between up-next cards and sticky bottom recovery button */
  .dream-player-bottom-recovery-wrapper {
    margin-top: 72px !important;
  }
}
@media (min-width: 1024px) {
  .dream-player-up-next-card {
    margin-top: 14px !important;
    padding: 12px 16px !important;
  }
  .dream-player-up-next-art {
    width: 42px !important;
    height: 42px !important;
  }
}
.dream-player-transport-card .dream-player-progress {
  max-width: none !important;
}
.dream-player-transport-card .dream-player-progress-bar {
  height: 6px !important;
  border-radius: 999px !important;
  touch-action: none !important;
}
.dream-player-transport-card .dream-player-progress-fill {
  border-radius: 999px !important;
}
@media (max-width: 1400px) {
  .dream-discover-desktop-shell,
  .dream-discover-marquee {
    grid-template-columns: 1fr !important;
  }
  .dream-discover-marquee {
   gap: 12px !important;
  }
}
@media (min-width: 1400px) {
  .dream-discover-route--desktop .dream-discover-creator-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 520px) {
  body.dream-app-open .dream-search-hero-copy {
    margin-top: 4px !important;
    max-width: 30ch !important;
    font-size: 11px !important;
    line-height: 1.22 !important;
  }
  body.dream-app-open .dream-search-idle {
    gap: 6px !important;
    margin-top: 6px !important;
  }
  body.dream-app-open .dream-search-idle-grid {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }
  body.dream-app-open .dream-search-module {
    gap: 7px !important;
    padding: 9px 10px !important;
    border-radius: 16px !important;
  }
  body.dream-app-open .dream-search-module--start {
    gap: 6px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }
  body.dream-app-open .dream-section-head--search-start {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    gap: 6px !important;
  }
  body.dream-app-open .dream-section-head--search-start h4 {
    margin: 0 !important;
    font-size: 11px !important;
  }
  body.dream-app-open .dream-section-head--search-start .dream-search-inline-note {
    justify-self: end !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    letter-spacing: .05em !important;
  }
  body.dream-app-open .dream-search-pill-row--scroll {
    margin-right: -10px !important;
    padding-right: 16px !important;
    padding-bottom: 2px !important;
  }
  body.dream-app-open .dream-search-pill-row--start {
    gap: 6px !important;
  }
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="discover"] #minimal-ui .dream-app-content {
    padding-bottom: calc(140px + env(safe-area-inset-bottom)) !important;
  }
  body.dream-app-open .dream-mood-filter-row {
    gap: 6px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }
  body.dream-app-open .dream-mood-chip {
    padding: 5px 10px !important;
    padding-inline: 10px !important;
    font-size: 11.5px !important;
    overflow: visible !important;
    width: auto !important;
    min-width: 0 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }
  body.dream-app-open .dream-search-feature-grid {
    grid-template-columns: 1fr !important;
  }
  body.dream-app-open .dream-search-scopes {
    flex-wrap: nowrap !important;
    gap: 5px !important;
    margin-bottom: 5px !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  body.dream-app-open .dream-search-scopes::-webkit-scrollbar {
    display: none !important;
  }
  body.dream-app-open .dream-search-scope {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    min-height: 44px !important;
    gap: 4px !important;
    padding: 6px 9px !important;
  }
  body.dream-app-open .dream-search-scope-label {
    font-size: 10px !important;
  }
  body.dream-app-open .dream-search-scope-count {
    font-size: 9px !important;
  }
  body.dream-app-open .dream-search-results-summary {
    gap: 4px !important;
    margin: 0 !important;
    font-size: 10px !important;
  }
  body.dream-app-open .dream-search-refinement-secondary {
    display: none !important;
  }
  body.dream-app-open .dream-search-chip--history,
  body.dream-app-open .dream-search-chip--trend,
  body.dream-app-open .dream-search-chip--mood {
    min-height: 44px !important;
    padding: 6px 10px !important;
    font-size: 10px !important;
  }
  /* DW-FEAT-030: idle scope bar — compact scope tabs when search is idle */
  body.dream-app-open .dream-search-idle-scope-bar {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding-bottom: 2px !important;
    padding-right: 36px !important;
    margin-bottom: 4px !important;
    position: relative !important;
    flex-shrink: 0 !important;
  }
  body.dream-app-open .dream-search-idle-scope-bar::-webkit-scrollbar {
    display: none !important;
  }
  /* DW-FEAT-142: right-edge fade on the idle scope bar — mirrors the
     .dream-search-pill-row--scroll::after pattern. The scope row is
     overflow-x: auto on phone (520px MQ), and the rightmost chip is
     clipped off-screen with no scroll affordance. The fade signals
     "more content this way" so users know the row scrolls. */
  body.dream-app-open .dream-search-idle-scope-bar::after {
    content: '' !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 2px !important;
    width: 32px !important;
    background: linear-gradient(to right, rgba(120,170,255,0) 0%, rgba(120,170,255,.18) 45%, rgba(160,140,255,.42) 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }
  body.dream-app-open .dream-search-idle-scope-bar .dream-search-scope {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    min-height: 44px !important;
    gap: 4px !important;
    padding: 6px 14px 6px 10px !important;
  }
  /* DW-069: Discover lead More pills use .dream-collection-track-actions */
  body.dream-app-open .dream-list--discover .dream-collection-track-actions .dream-row-pill,
  body.dream-app-open .dream-collection-track-actions .dream-row-pill {
    min-height: 40px !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    font-size: 9.4px !important;
    background: rgba(255,255,255,.032) !important;
    border-color: rgba(255,255,255,.05) !important;
    color: rgba(255,255,255,.66) !important;
  }
  body.dream-app-open .dream-search-idle-scope-bar .dream-search-scope-label {
    font-size: 10px !important;
  }
  /* DW-FEAT-047: show scope count badges on idle scope bar */
  body.dream-app-open .dream-search-idle-scope-bar .dream-search-scope-count {
    display: inline !important;
    margin-left: 3px !important;
    font-size: 9px !important;
    opacity: 0.75 !important;
  }
}

@media (display-mode: standalone) {
  #minimal-ui {
    padding-top: max(16px, env(safe-area-inset-top)) !important;
    padding-bottom: max(28px, env(safe-area-inset-bottom)) !important;
  }

  #minimal-ui::before {
    top: max(10px, env(safe-area-inset-top)) !important;
    padding: 4px 12px !important;
    font-size: 11px !important;
    letter-spacing: .22em !important;
    background: rgba(0,0,0,.28) !important;
  }

  .minimal-app-btn,
  #minimalAppBtn {
    left: max(14px, env(safe-area-inset-left)) !important;
    top: max(10px, env(safe-area-inset-top)) !important;
  }

  #minimalModeToggle {
    right: max(14px, env(safe-area-inset-right)) !important;
    top: max(10px, env(safe-area-inset-top)) !important;
  }

  #minimalQueueBtn {
    right: max(14px, env(safe-area-inset-right)) !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
  }

  .playlist-drawer-toggle {
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
  }

  body.dream-app-open #minimal-ui {
    padding-top: max(10px, env(safe-area-inset-top)) !important;
    padding-bottom: 0 !important;
    gap: 0 !important;
  }

  body.dream-app-open #minimal-ui::before {
    opacity: 0 !important;
    transform: translate(-50%, -10px) !important;
  }

  body.dream-app-open .minimal-app-btn,
  body.dream-app-open #minimalAppBtn,
  body.dream-app-open #minimalModeToggle {
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.dream-app-open .dream-app-content {
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;
    padding-bottom: calc(156px + env(safe-area-inset-bottom)) !important;
  }

  body.dream-app-open .dream-bottom-tabs {
    left: max(10px, env(safe-area-inset-left)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    min-height: 54px !important;
    padding: 7px 10px max(8px, env(safe-area-inset-bottom)) !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 18px !important;
    background: rgba(5,6,12,.94) !important;
    box-shadow: 0 -10px 30px rgba(0,0,0,.34) !important;
  }

  body.dream-app-open .mini-now-playing {
    left: max(10px, env(safe-area-inset-left)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 62px) !important;
    border-radius: 18px !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    background: rgba(8,8,15,.92) !important;
    box-shadow: 0 -8px 24px rgba(0,0,0,.28) !important;
  }
}

/* Creator route phone micro-density (v2 — phone-first, ~384px viewport) */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="creator"] .dream-hero {
    padding: 12px 14px 10px !important;
    margin-bottom: 10px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-track-detail-head {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-track-detail-art {
    width: 72px !important;
    height: 72px !important;
    border-radius: 16px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-track-detail-copy h2 {
    font-size: clamp(18px, 5vw, 22px) !important;
    line-height: 1.05 !important;
    margin-bottom: 4px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-track-detail-copy p:not(.dream-kicker) {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-track-detail-copy .dream-creator-bio {
    font-size: 11px !important;
    line-height: 1.38 !important;
    margin-top: 4px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-creator-context-strip {
    margin-top: 6px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-detail-pills {
    gap: 5px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-row-pill {
    min-height: 28px !important;
    padding: 5px 8px !important;
    font-size: 9.5px !important;
    letter-spacing: .04em !important;
  }
  /* DW-FEAT-063: Creator track rows play button ≥44px touch target */
  body.dream-app-open[data-dream-route="creator"] .dream-list--discover .dream-row-play {
    min-height: 44px !important;
    width: 44px !important;
    min-width: 44px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-hero-actions {
    margin-top: 10px !important;
    gap: 6px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-hero-actions button {
    min-height: 34px !important;
    padding: 8px 11px !important;
    font-size: 10.5px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-bottom: 10px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-metric {
    min-height: 70px !important;
    padding: 9px 7px !important;
    border-radius: 14px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-metric strong {
    font-size: 17px !important;
    margin: 4px 0 2px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-metric span {
    font-size: 8.5px !important;
    letter-spacing: .1em !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-metric em {
    font-size: 9px !important;
    line-height: 1.15 !important;
  }

  /* DW-038: Follow button 44px touch target — specificity must beat .dream-hero-actions button (0,3,2) */
  body.dream-app-open[data-dream-route="creator"] .dream-hero-actions .dream-toggle-creator-follow {
    min-height: 44px !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
  }

/* DW-FEAT-021: Creator Public Profile Stats — mobile fixes */
@media (max-width: 640px) {
  /* Force metrics to fit 3-across on phone without overflow */
  body.dream-app-open[data-dream-route="creator"] .dream-metrics {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-bottom: 10px !important;
    overflow: visible !important;
  }
  /* Ensure metric cards don't overflow their container */
  body.dream-app-open[data-dream-route="creator"] .dream-metric {
    min-height: 70px !important;
    padding: 9px 5px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-metric strong {
    font-size: 16px !important;
    word-break: break-word !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-metric em {
    font-size: 8px !important;
    line-height: 1.2 !important;
  }
  /* DW-038: Follow button 44px touch target — specificity must beat .dream-hero-actions button (0,3,2) */
  body.dream-app-open[data-dream-route="creator"] .dream-hero-actions .dream-toggle-creator-follow {
    min-height: 44px !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
  }
}
  body.dream-app-open[data-dream-route="creator"] .dream-section {
    padding: 12px 14px !important;
    margin-bottom: 10px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-section-head {
    margin-bottom: 8px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-section-head h3 {
    font-size: 15px !important;
    margin: 0 0 6px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-section-head .dream-status-chip {
    font-size: 8.5px !important;
    padding: 3px 7px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-creator-spotlight > .dream-section-head {
    margin-bottom: 8px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-creator-pulse-card {
    padding: 11px 12px !important;
    border-radius: 16px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-creator-pulse-grid {
    gap: 5px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-account-stack > div {
    border-radius: 16px !important;
    margin-bottom: 8px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-activity-card {
    padding: 11px 12px !important;
    border-radius: 16px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-track-meta-card {
    padding: 12px !important;
    border-radius: 16px !important;
  }
  /* Social section row density — activity / connection rows */
  body.dream-app-open[data-dream-route="creator"] .dream-activity-list {
    gap: 6px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-activity-row {
    padding: 9px 11px !important;
    gap: 9px !important;
    border-radius: 14px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-activity-row-wrap {
    gap: 6px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-activity-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 11px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-activity-copy {
    gap: 2px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-activity-copy strong {
    font-size: 12.5px !important;
    line-height: 1.2 !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-activity-copy em {
    font-size: 11.5px !important;
    line-height: 1.25 !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-activity-action {
    padding: 5px 8px !important;
    font-size: 10px !important;
    border-radius: 999px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-activity-actions {
    padding-left: 45px !important;
    gap: 5px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-connection-list {
    gap: 6px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-connection-row {
    padding: 9px 11px !important;
    gap: 9px !important;
    border-radius: 14px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-connection-copy {
    gap: 2px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-connection-copy strong {
    font-size: 12.5px !important;
    line-height: 1.2 !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-connection-copy em {
    font-size: 11.5px !important;
    line-height: 1.25 !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-connection-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 11px !important;
  }
  body.dream-app-open[data-dream-route="creator"] .dream-connection-open,
  body.dream-app-open[data-dream-route="creator"] .dream-connection-follow {
    padding: 5px 8px !important;
    font-size: 10px !important;
  }
}
@media (max-width: 759px), (pointer: coarse) {
  body.dream-app-open .dream-tab-btn--desktop-only,
  body.dream-app-open .dream-rail-mode,
  body.dream-app-open .dream-rail-section-label,
  body.dream-app-open .dream-rail-now-playing,
  body.dream-app-open .dream-rail-queue {
    display: none !important;
  }
}
/* Wave 5: creator release-notes archive shelf */
/* Creator release-notes archive */
.dream-creator-notes-archive {
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 16px !important;
  padding: 18px 16px 20px !important;
  background: rgba(255,255,255,.025) !important;
  margin-bottom: 24px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.dream-creator-notes-archive .dream-section-head {
  margin-bottom: 14px !important;
}
.dream-creator-notes-archive .dream-section-head h3 {
  color: rgba(255,255,255,.92) !important;
  font-size: 15px !important;
}
.dream-creator-notes-archive .dream-status-chip {
  background: rgba(255,113,206,.18) !important;
  color: #ff71ce !important;
  border: 1px solid rgba(255,113,206,.28) !important;
  font-size: 11px !important;
  padding: 2px 8px !important;
  border-radius: 20px !important;
}
.dream-creator-notes-archive .dream-release-notes-stack {
  margin-top: 0;
}
.dream-creator-notes-archive .dream-release-notes-card {
  border-color: rgba(255,255,255,.10) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.04) !important;
  margin-bottom: 10px !important;
  box-shadow: 0 1px 6px rgba(0,0,0,.25) !important;
  transition: border-color .15s, background .15s !important;
}
.dream-creator-notes-archive .dream-release-notes-card:last-child {
  margin-bottom: 0 !important;
}
.dream-creator-notes-archive .dream-release-notes-card:hover {
  border-color: rgba(255,113,206,.28) !important;
  background: rgba(255,255,255,.065) !important;
}
.dream-creator-notes-archive .dream-release-notes-card__head {
  padding: 12px 14px !important;
}
.dream-creator-notes-archive .dream-release-notes-card__art {
  width: 52px !important;
  height: 52px !important;
  border-radius: 8px !important;
  flex-shrink: 0 !important;
}
.dream-creator-notes-archive .dream-release-notes-card__copy h3 {
  font-size: 14px !important;
  line-height: 1.3 !important;
  margin: 2px 0 4px !important;
}
.dream-creator-notes-archive .dream-release-notes-card__copy p {
  font-size: 12px !important;
  color: rgba(255,255,255,.55) !important;
  margin: 0 0 4px !important;
}
.dream-creator-notes-archive .dream-track-meta-card--release-notes {
  padding: 10px 14px 12px !important;
}
.dream-creator-notes-archive .dream-release-notes-card__excerpt {
  font-size: 12px !important;
  color: rgba(255,255,255,.65) !important;
  line-height: 1.5 !important;
  margin: 0 0 8px !important;
}
.dream-creator-notes-archive .dream-release-notes-card__meta {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
}
.dream-creator-notes-archive .dream-release-notes-card__actions {
  margin-top: 10px !important;
  gap: 6px !important;
}
.dream-creator-notes-archive .dream-release-notes-card__actions .dream-primary,
.dream-creator-notes-archive .dream-release-notes-card__actions .dream-secondary {
  font-size: 12px !important;
  padding: 6px 12px !important;
  border-radius: 8px !important;
}

/* Premium empty state for creator notes archive */
.dream-creator-notes-archive-empty {
  text-align: center !important;
  padding: 28px 16px !important;
  border: 1px dashed rgba(255,255,255,.14) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.02) !important;
  margin-top: 4px !important;
}
.dream-creator-notes-archive-empty p {
  margin: 0 !important;
  font-size: 13px !important;
  color: rgba(255,255,255,.42) !important;
  line-height: 1.55 !important;
}
.dream-creator-notes-archive-empty p strong {
  display: block !important;
  color: rgba(255,255,255,.76) !important;
  font-size: 14px !important;
  margin-bottom: 4px !important;
}
.dream-creator-notes-archive-empty .dream-creator-notes-archive-empty-icon {
  font-size: 28px !important;
  display: block !important;
  margin-bottom: 8px !important;
  opacity: .35 !important;
}

@media (max-width: 640px) {
  body.dream-app-open .dream-creator-notes-archive {
    margin-bottom: 12px !important;
    padding: 14px 12px 16px !important;
    border-radius: 12px !important;
  }
}

/* Discover Playlists modal */
.dream-discover-playlists-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 900 !important;
  background: rgba(10, 10, 18, 0.75) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
}
.dream-discover-playlists-overlay[hidden] {
  display: none !important;
}
.dream-discover-playlists-sheet {
  background: #14141f !important;
  border-radius: 20px 20px 0 0 !important;
  width: 100% !important;
  max-width: 680px !important;
  max-height: 82vh !important;
  overflow-y: auto !important;
  padding: 18px 14px env(safe-area-inset-bottom, 14px) !important;
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.55) !important;
}
.dream-discover-playlists-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 14px !important;
}
.dream-discover-playlists-header h3 {
  color: rgba(255, 255, 255, 0.92) !important;
  font: 700 16px/1.2 'DM Sans', system-ui, sans-serif !important;
  margin: 0 !important;
}
.dream-discover-playlists-close {
  appearance: none !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: none !important;
  border-radius: 50% !important;
  color: rgba(255, 255, 255, 0.6) !important;
  cursor: pointer !important;
  font-size: 18px !important;
  line-height: 1 !important;
  width: 30px !important;
  height: 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.dream-discover-playlists-close:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  color: rgba(255, 255, 255, 0.9) !important;
}
.dream-discover-playlists-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
}
@media (min-width: 520px) {
  .dream-discover-playlists-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
.dream-discover-playlist-card {
  background: rgba(255, 255, 255, 0.04) !important;
  border-radius: 14px !important;
  padding: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
}
.dream-discover-playlist-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 2px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  aspect-ratio: 1 !important;
  position: relative !important;
  height: 0 !important;
  padding-bottom: 100% !important;
}
.dream-discover-playlist-grid .dream-discover-playlist-cover {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.dream-discover-playlist-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}
.dream-discover-playlist-name {
  color: rgba(255, 255, 255, 0.9) !important;
  font: 700 12px/1.2 'DM Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-discover-playlist-creator {
  color: rgba(255, 255, 255, 0.45) !important;
  font: 620 10px/1.2 'DM Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.dream-discover-playlist-count {
  color: rgba(255, 255, 255, 0.35) !important;
  font: 600 9.5px/1.2 'DM Sans', system-ui, sans-serif !important;
}
.dream-discover-playlist-follow {
  appearance: none !important;
  background: rgba(30, 215, 96, 0.15) !important;
  border: 1px solid rgba(30, 215, 96, 0.3) !important;
  border-radius: 20px !important;
  color: #1ed760 !important;
  cursor: pointer !important;
  font: 680 10px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: 0.02em !important;
  padding: 5px 12px !important;
  text-align: center !important;
  width: 100% !important;
  transition: background 0.15s, border-color 0.15s !important;
}
.dream-discover-playlist-follow:hover {
  background: rgba(30, 215, 96, 0.25) !important;
}
.dream-discover-playlist-follow.followed {
  background: rgba(30, 215, 96, 0.22) !important;
  border-color: rgba(30, 215, 96, 0.5) !important;
  color: #1ed760 !important;
}

/* ===== PWA SHELL: Safe-area handling ===== */
body {
  padding-top: env(safe-area-inset-top) !important;
  padding-left: env(safe-area-inset-left) !important;
  padding-right: env(safe-area-inset-right) !important;
}

/* Bottom nav: always account for safe-area */
body.dream-app-open .dream-bottom-tabs {
  bottom: calc(0px + env(safe-area-inset-bottom)) !important;
}

/* Mini-player: account for bottom safe-area on player route */
body.dream-app-open[data-dream-route="player"] .mini-now-playing {
  bottom: calc(56px + env(safe-area-inset-bottom)) !important;
}

/* Content: compensate for safe-area-inset-bottom above bottom nav */
body.dream-app-open .dream-app-content {
  padding-bottom: calc(160px + env(safe-area-inset-bottom)) !important;
}

/* ===== PWA SHELL: Standalone mode — hide browser chrome compensation ===== */
@media (display-mode: standalone) {
  body {
    overflow: hidden !important;
  }

  #minimal-ui,
  body.dream-app-open #minimal-ui {
    padding-top: 0 !important;
  }

  body.dream-app-open .dream-app-content {
    padding-top: env(safe-area-inset-top) !important;
  }
}

/* ===== PWA SHELL: Install prompt banner ===== */
#dreamwave-install-banner {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: rgba(8, 10, 18, 0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: calc(12px + env(safe-area-inset-top)) 16px 12px;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.9);
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#dreamwave-install-banner.visible {
  display: flex;
}

#dreamwave-install-banner .banner-text {
  flex: 1;
  line-height: 1.4;
}

#dreamwave-install-banner .banner-text strong {
  color: #fff;
  font-weight: 600;
}

#dreamwave-install-banner .banner-close {
  appearance: none;
  -webkit-appearance: none;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, color 0.15s;
}

#dreamwave-install-banner .banner-close:hover {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

#dreamwave-install-btn {
  appearance: none;
  -webkit-appearance: none;
  background: #1ed760;
  border: none;
  border-radius: 16px;
  color: #000;
  cursor: pointer;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  white-space: nowrap;
  transition: background 0.15s;
}

#dreamwave-install-btn:hover {
  background: #1fdf67;
}

@media (display-mode: browser) {
}

@media (min-width: 521px) {
  #dreamwave-install-banner {
    display: none !important;
  }
}

@media (display-mode: standalone) {
  #dreamwave-install-banner {
    display: none !important;
  }
}

/* ================================================================
   AUDIO SETTINGS — EQ, Crossfade, Normalization
   ================================================================ */

/* Mini-player gear button */
.mini-np-gear {
  flex-shrink: 0 !important;
  background: none !important;
  border: none !important;
  color: rgba(255,255,255,0.55) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 6px 8px !important;
  border-radius: 8px !important;
  transition: color 0.15s, background 0.15s !important;
  min-width: 36px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}
.mini-np-gear:hover {
  color: rgba(255,255,255,0.92) !important;
  background: rgba(255,255,255,0.08) !important;
}

/* Mini-player gear button */
.mini-np-gear {
  background: none !important;
  border: none !important;
  color: rgba(255,255,255,0.5) !important;
  font-size: 18px !important;
  cursor: pointer !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
  line-height: 1 !important;
  transition: color 0.15s, background 0.15s !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  min-height: 44px !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
  margin-left: auto !important;
}
.mini-np-gear:hover {
  color: rgba(255,255,255,0.92) !important;
  background: rgba(255,255,255,0.08) !important;
}

/* EQ bar animation pauses when not playing */
body.dream-eq-paused .dream-audio-eq-bar,
.dream-eq-paused .dream-audio-eq-bar {
  animation-play-state: paused !important;
}

/* Setting row in audio section */
.dream-setting-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: 14px !important;
}
.dream-setting-info p {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.88) !important;
  margin: 0 !important;
}
.dream-setting-info .dream-audio-hint {
  margin-top: 2px !important;
}

/* Audio settings overlay sheet */
.dream-audio-settings-sheet {
  position: fixed !important;
  inset: 0 !important;
  z-index: 900 !important;
  background: rgba(5,5,10,0.96) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}
.dream-audio-settings-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 16px 18px 12px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  position: sticky !important;
  top: 0 !important;
  background: rgba(5,5,10,0.98) !important;
  z-index: 1 !important;
}
.dream-audio-settings-header span {
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: rgba(255,255,255,0.9) !important;
}
.dream-audio-settings-close {
  background: rgba(255,255,255,0.06) !important;
  border: none !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  color: rgba(255,255,255,0.7) !important;
  font-size: 14px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.15s !important;
}
.dream-audio-settings-close:hover {
  background: rgba(255,255,255,0.14) !important;
}

/* Audio settings inner panel */
.dream-audio-settings {
  padding: 16px 18px 32px !important;
}

/* Audio section blocks */
.dream-audio-section {
  background: rgba(12,12,20,0.7) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 16px !important;
  padding: 16px !important;
  margin-bottom: 14px !important;
}
.dream-audio-section .dream-section-head {
  margin-bottom: 12px !important;
}
.dream-audio-section .dream-section-head h3 {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  color: rgba(255,255,255,0.7) !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

/* EQ preset pill buttons */
.dream-eq-preset-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin-bottom: 14px !important;
}
.dream-eq-preset-btn {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 24px !important;
  color: rgba(255,255,255,0.72) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 7px 14px !important;
  cursor: pointer !important;
  transition: background 0.15s, color 0.15s, border-color 0.15s !important;
  white-space: nowrap !important;
  min-height: 44px !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}
.dream-eq-preset-btn:hover {
  background: rgba(255,255,255,0.12) !important;
  color: rgba(255,255,255,0.92) !important;
}
.dream-eq-preset-btn.active {
  background: rgba(255,113,206,0.22) !important;
  border-color: rgba(255,113,206,0.55) !important;
  color: #ff71ce !important;
}

/* Visual EQ bars */
.dream-eq-visual-wrap {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  height: 72px !important;
  background: rgba(0,0,0,0.3) !important;
  border-radius: 10px !important;
  padding: 8px 12px !important;
  gap: 5px !important;
}
.dream-audio-eq-shell {
  display: flex !important;
  align-items: flex-end !important;
  gap: 5px !important;
  height: 56px !important;
  width: 100% !important;
  max-width: 220px !important;
}
.dream-audio-eq-bar {
  flex: 1 !important;
  height: var(--eq-height, 30%) !important;
  min-height: 4px !important;
  border-radius: 3px 3px 0 0 !important;
  background: linear-gradient(to top, #ff71ce 0%, #9be7ff 100%) !important;
  animation: dream-eq-bounce 1.4s ease-in-out infinite !important;
  animation-delay: calc(var(--eq-bars-index, 0) * 0.12s) !important;
  transition: height 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
.dream-audio-eq-bar:nth-child(1) { --eq-bars-index: 0; }
.dream-audio-eq-bar:nth-child(2) { --eq-bars-index: 1; }
.dream-audio-eq-bar:nth-child(3) { --eq-bars-index: 2; }
.dream-audio-eq-bar:nth-child(4) { --eq-bars-index: 3; }
.dream-audio-eq-bar:nth-child(5) { --eq-bars-index: 4; }
.dream-audio-eq-bar:nth-child(6) { --eq-bars-index: 5; }
.dream-audio-eq-bar:nth-child(7) { --eq-bars-index: 6; }

@keyframes dream-eq-bounce {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(0.7); }
}

/* Toggle switch */
.dream-audio-toggle-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
.dream-audio-toggle-label {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.88) !important;
}
.dream-audio-hint {
  font-size: 11.5px !important;
  color: rgba(255,255,255,0.42) !important;
  margin: 4px 0 0 !important;
  line-height: 1.4 !important;
}
.dream-toggle-switch {
  position: relative !important;
  width: 46px !important;
  height: 26px !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,0.14) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  flex-shrink: 0 !important;
  min-width: 44px !important;
  min-height: 44px !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}
.dream-toggle-switch.on {
  background: rgba(30,215,96,0.7) !important;
  border-color: rgba(30,215,96,0.8) !important;
}
.dream-toggle-thumb {
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #fff !important;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  display: block !important;
}
.dream-toggle-switch.on .dream-toggle-thumb {
  transform: translateX(20px) !important;
}

/* Crossfade slider */
.dream-crossfade-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 10px !important;
  transition: opacity 0.2s !important;
}
.dream-crossfade-row.disabled {
  opacity: 0.38 !important;
  pointer-events: none !important;
}
.dream-crossfade-slider {
  flex: 1 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  height: 4px !important;
  border-radius: 2px !important;
  background: rgba(255,255,255,0.18) !important;
  outline: none !important;
  cursor: pointer !important;
}
.dream-crossfade-slider::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #ff71ce !important;
  cursor: pointer !important;
  box-shadow: 0 0 6px rgba(255,113,206,0.5) !important;
  transition: transform 0.15s !important;
}
.dream-crossfade-slider::-webkit-slider-thumb:hover {
  transform: scale(1.2) !important;
}
.dream-crossfade-slider::-moz-range-thumb {
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #ff71ce !important;
  border: none !important;
  cursor: pointer !important;
}
.dream-crossfade-val {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.72) !important;
  min-width: 26px !important;
  text-align: right !important;
}
.dream-crossfade-row datalist {
  display: none !important;
}

/* ─── Artist detail page ───────────────────────────────────────────────────── */
.dream-artist-header {
  padding: 20px 16px 16px;
  text-align: center;
}
.dream-artist-back-row {
  text-align: left;
  margin-bottom: 14px;
}
.dream-back-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.72);
  border-radius: 24px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s;
}
.dream-back-button:hover {
  background: rgba(255,255,255,.14);
  color: #fff;
}
.dream-artist-avatar {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 4px 24px rgba(0,0,0,.5);
  margin: 0 auto 14px;
  display: block;
}
.dream-artist-meta {
  text-align: center;
}
.dream-artist-meta .dream-kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--dw-pink, #ff71ce);
  margin: 0 0 4px;
}
.dream-artist-name {
  font-size: 26px;
  font-weight: 800;
  margin: 0 0 4px;
  letter-spacing: -.01em;
  line-height: 1.15;
}
.dream-artist-handle {
  font-size: 14px;
  color: rgba(255,255,255,.5);
  margin: 0 0 12px;
}
.dream-artist-stats-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(255,255,255,.62);
  margin-bottom: 16px;
}
.dream-artist-stat-sep {
  opacity: .4;
}
.dream-artist-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 16px;
}
.dream-artist-actions .dream-primary {
  background: var(--dw-green, #1ed760);
  color: #000;
  font-weight: 700;
  border-radius: 24px;
  padding: 10px 22px;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  transition: opacity 0.15s;
}
.dream-artist-actions .dream-primary:hover {
  opacity: .88;
}
.dream-artist-actions .dream-secondary {
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.82);
  font-weight: 600;
  border-radius: 24px;
  padding: 10px 18px;
  border: 1px solid rgba(255,255,255,.18);
  cursor: pointer;
  font-size: 14px;
  transition: background 0.15s;
}
.dream-artist-actions .dream-secondary:hover {
  background: rgba(255,255,255,.16);
}
.dream-artist-bio {
  font-size: 14px;
  color: rgba(255,255,255,.58);
  line-height: 1.55;
  max-width: 380px;
  margin: 0 auto;
}

/* ─── Album release card (on artist page) ─────────────────────────────────── */
.dream-album-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
}
.dream-album-release-card {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: background 0.15s, transform 0.15s;
}
.dream-album-release-card:hover {
  background: rgba(255,255,255,.1);
  transform: translateY(-2px);
}
.dream-album-release-art {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}
.dream-album-release-info {
  padding: 8px 10px 10px;
}
.dream-album-release-name {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.88);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 3px;
}
.dream-album-release-meta {
  display: block;
  font-size: 11px;
  color: rgba(255,255,255,.48);
}

/* ─── Album detail page ────────────────────────────────────────────────────── */
.dream-album-header {
  padding: 20px 16px 16px;
  text-align: center;
}
.dream-album-back-row {
  text-align: left;
  margin-bottom: 14px;
}
.dream-album-cover {
  width: 180px;
  height: 180px;
  border-radius: 10px;
  object-fit: cover;
  box-shadow: 0 6px 32px rgba(0,0,0,.55);
  margin: 0 auto 16px;
  display: block;
}
.dream-album-meta {
  text-align: center;
}
.dream-album-meta .dream-kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--dw-cyan, #9be7ff);
  margin: 0 0 4px;
}
.dream-album-name {
  font-size: 24px;
  font-weight: 800;
  margin: 0 0 8px;
  letter-spacing: -.01em;
  line-height: 1.15;
}
.dream-album-artist-line {
  font-size: 14px;
  color: rgba(255,255,255,.62);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0 0 16px;
}
.dream-album-artist-link {
  color: rgba(255,255,255,.82);
  font-weight: 600;
  cursor: pointer;
}
.dream-album-artist-link:hover {
  color: #fff;
}
.dream-album-meta-sep {
  color: rgba(255,255,255,.3);
}
.dream-album-actions {
  display: flex;
  justify-content: center;
  margin-bottom: 4px;
}
.dream-album-actions .dream-primary {
  background: var(--dw-green, #1ed760);
  color: #000;
  font-weight: 700;
  border-radius: 24px;
  padding: 10px 22px;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  transition: opacity 0.15s;
}
.dream-album-actions .dream-primary:hover {
  opacity: .88;
}
.dream-album-actions .dream-secondary {
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.82);
  font-weight: 600;
  border-radius: 24px;
  padding: 10px 18px;
  border: 1px solid rgba(255,255,255,.18);
  cursor: pointer;
  font-size: 14px;
  transition: background 0.15s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.dream-album-actions .dream-secondary:hover {
  background: rgba(255,255,255,.16);
}

/* ─── Shared track rows on artist/album pages ──────────────────────────────── */
.dream-track-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0 10px !important;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.dream-track-row:last-child {
  border-bottom: none;
}
.dream-track-row-num {
  min-width: 22px;
  font-size: 13px;
  color: rgba(255,255,255,.32);
  text-align: right;
  flex-shrink: 0;
}
.dream-track-row-play {
  background: none;
  border: none;
  color: rgba(255,255,255,.62);
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 50%;
  transition: color 0.15s, background 0.15s;
}
.dream-track-row-play:hover {
  color: var(--dw-green, #1ed760);
  background: rgba(30,215,96,.12);
}
.dream-track-row-body {
  flex: 1;
  min-width: 0;
}
.dream-track-row-name {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: rgba(255,255,255,.88);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 2px;
}
.dream-track-row-sub {
  display: block;
  font-size: 12px;
  color: rgba(255,255,255,.42);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dream-track-row-more {
  background: none;
  border: none;
  color: rgba(255,255,255,.38);
  cursor: pointer;
  padding: 4px 6px;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  border-radius: 4px;
  transition: color 0.15s;
}
.dream-track-row-more:hover {
  color: rgba(255,255,255,.78);
}

/* Touch targets for heart/like and more icons — 44px minimum */
.dream-track-row-play,
.dream-track-row-more {
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 8px 6px !important;
}

/* ─── Artist/Album — desktop ───────────────────────────────────────────────── */
@media (min-width: 700px) {
  .dream-artist-header,
  .dream-album-header {
    padding: 32px 40px 24px;
    text-align: left;
  }
  .dream-artist-back-row,
  .dream-album-back-row {
    margin-bottom: 20px;
  }
  .dream-artist-avatar {
    width: 180px;
    height: 180px;
    margin: 0 0 20px;
    float: left;
    margin-right: 28px;
  }
  .dream-artist-meta,
  .dream-album-meta {
    text-align: left;
  }
  .dream-artist-stats-row,
  .dream-artist-actions,
  .dream-album-actions {
    justify-content: flex-start;
  }
  .dream-album-cover {
    width: 220px;
    height: 220px;
    float: left;
    margin-right: 28px;
    margin-bottom: 16px;
  }
  .dream-album-meta {
    text-align: left;
  }
  .dream-album-artist-line {
    justify-content: flex-start;
  }
  .dream-artist-bio {
    margin: 12px 0 0;
    max-width: none;
  }
  .dream-album-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  }
}

/* Artist/Album route — mobile ≤420px — touch targets + clean stacking */
@media (max-width: 420px) {
  /* Back button ≥44px touch target */
  .dream-back-button {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
  }

  /* Artist hero stacks cleanly, handle ellipsis */
  .dream-artist-header {
    padding: 14px 14px 12px !important;
  }
  .dream-artist-avatar {
    width: 100px !important;
    height: 100px !important;
    margin: 0 auto 12px !important;
    float: none !important;
  }
  .dream-artist-name {
    font-size: 22px !important;
  }
  .dream-artist-handle {
    font-size: 13px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }
  .dream-artist-bio {
    font-size: 12px !important;
    line-height: 1.5 !important;
    margin-top: 8px !important;
  }
  .dream-artist-stats-row {
    font-size: 12px !important;
    gap: 6px !important;
  }

  /* Artist action buttons ≥44px touch targets — 2-column grid on very narrow */
  .dream-artist-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
  }
  .dream-artist-actions .dream-primary,
  .dream-artist-actions .dream-secondary {
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
    justify-content: center !important;
  }

  /* Album cover/metadata stacks cleanly at ≤420px */
  .dream-album-header {
    padding: 14px 14px 12px !important;
  }
  .dream-album-cover {
    width: 140px !important;
    height: 140px !important;
    margin: 0 auto 14px !important;
    float: none !important;
    border-radius: 12px !important;
  }
  .dream-album-name {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }
  .dream-album-artist-line {
    font-size: 12px !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
  }
  .dream-album-meta {
    text-align: center !important;
  }

  /* Album action buttons ≥44px touch targets — 2-column grid */
  .dream-album-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 14px !important;
  }
  .dream-album-actions .dream-primary,
  .dream-album-actions .dream-secondary {
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
    justify-content: center !important;
  }

  /* Album grid — 2 columns on narrow phone */
  .dream-album-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .dream-album-release-card {
    min-height: 0 !important;
  }

  /* Long-surface recovery: album tracklist scrollable + bottom back affordance */
  .dream-album-tracklist {
    padding-bottom: calc(100px + env(safe-area-inset-bottom)) !important;
  }

  /* Artist releases + popular — compact spacing on phone */
  .dream-artist-releases,
  .dream-artist-popular {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  /* Overflow guard — no horizontal bleed on either route */
  .dream-artist-header,
  .dream-album-header,
  .dream-artist-releases,
  .dream-album-tracklist,
  .dream-album-from-artist {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
}

/* Artist/Album route — hide mini-player while on detail pages */
body[data-dream-route="artist"] .mini-now-playing,
body[data-dream-route="album"] .mini-now-playing {
  display: none !important;
}

/* ── Queue panel bottom sheet ───────────────────────────── */
#dreamQueuePanel {
  position: fixed; bottom: 0; left: 0; right: 0;
  z-index: 1001;
  background: rgba(10,12,20,0.92);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  border-radius: 20px 20px 0 0;
  max-height: 70vh; overflow-y: auto;
  transform: translateY(100%);
  transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
  box-shadow: 0 -4px 24px rgba(0,0,0,0.35);
  display: flex; flex-direction: column;
}
#dreamQueuePanel.open { transform: translateY(0); }
.dream-qp-handle { width: 36px; height: 5px; background: rgba(255,255,255,0.2); border-radius: 3px; margin: 10px auto 6px; flex-shrink: 0; }
.dream-qp-header { display: flex; align-items: center; gap: 10px; padding: 8px 16px 12px; flex-shrink: 0; }
.dream-qp-title { font-size: 15px; font-weight: 700; color: #fff; flex: 1; }
.dream-qp-count { font-size: 12px; font-weight: 400; color: rgba(255,255,255,0.45); margin-left: 8px; }
.dream-qp-clear { font-size: 12px; color: var(--dw-pink, #ff71ce); background: none; border: none; cursor: pointer; padding: 4px 8px; }
.dream-qp-close { font-size: 16px; color: rgba(255,255,255,0.4); background: none; border: none; cursor: pointer; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; }
.dream-qp-now-playing { display: flex; align-items: center; gap: 10px; padding: 10px 16px; background: rgba(255,255,255,0.04); }
.dream-qp-now-badge { font-size: 9px; font-weight: 700; text-transform: uppercase; background: var(--dw-green, #1ed760); color: #000; padding: 2px 8px; border-radius: 10px; letter-spacing: 0.5px; }
.dream-qp-now-cover { width: 40px; height: 40px; border-radius: 6px; object-fit: cover; }
.dream-qp-now-name { font-size: 13px; font-weight: 600; color: #fff; }
.dream-qp-now-artist { font-size: 11px; color: rgba(255,255,255,0.5); }
.dream-qp-divider { height: 1px; background: rgba(255,255,255,0.06); margin: 0 16px; }
.dream-qp-list { flex: 1; overflow-y: auto; padding: 8px 0 16px; }
.dream-qp-row { display: flex; align-items: center; gap: 10px; padding: 8px 16px; transition: background 0.15s; }
.dream-qp-row:active { background: rgba(255,255,255,0.04); }
.dream-qp-row-cover { width: 40px; height: 40px; border-radius: 6px; object-fit: cover; flex-shrink: 0; }
.dream-qp-row-info { flex: 1; min-width: 0; }
.dream-qp-row-name { font-size: 13px; font-weight: 600; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dream-qp-row-artist { font-size: 11px; color: rgba(255,255,255,0.5); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dream-qp-row-play { width: 36px; height: 36px; border-radius: 50%; border: none; background: rgba(255,255,255,0.08); color: #fff; font-size: 14px; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background 0.15s; }
.dream-qp-row-play:active { background: var(--dw-green, #1ed760); color: #000; }
.dream-qp-row-drag { color: rgba(255,255,255,0.2); cursor: grab; font-size: 14px; width: 20px; flex-shrink: 0; text-align: center; user-select: none; }
.dream-qp-row-drag:active { cursor: grabbing; }
.dream-qp-row-play-next { height: 28px; border-radius: 14px; border: none; background: rgba(255,255,255,0.07); color: rgba(255,255,255,0.5); font-size: 10px; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; padding: 0 8px; letter-spacing: 0.3px; transition: background 0.15s, color 0.15s; }
.dream-qp-row-play-next:active { background: var(--dw-pink, #ff71ce); color: #fff; }
.dream-qp-row-play-next--active { background: rgba(255,113,206,0.15); color: var(--dw-pink, #ff71ce); }
.dream-qp-row-play-next--active:active { background: var(--dw-pink, #ff71ce); color: #fff; }
.dream-qp-row--drag-over { background: rgba(255,113,206,0.1) !important; border-top: 2px solid var(--dw-pink, #ff71ce); }
.dream-qp-row--dragging { opacity: 0.4; }
.dream-qp-row-remove { width: 32px; height: 32px; border: none; background: none; color: rgba(255,255,255,0.25); font-size: 14px; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.dream-qp-row-remove:active { color: var(--dw-pink, #ff71ce); }
.dream-qp-empty { text-align: center; padding: 40px 20px; font-size: 13px; color: rgba(255,255,255,0.35); line-height: 1.6; }
.mini-np-queue { position: relative; width: 32px; height: 32px; background: none; border: none; color: rgba(255,255,255,0.5); font-size: 16px; cursor: pointer; flex-shrink: 0; display: flex; align-items: center; justify-content: center; margin-right: 6px; padding: 0; }
.mini-np-queue.has-queue { color: rgba(255,255,255,0.8); }
.mini-np-queue-badge { position: absolute; top: -2px; right: -4px; min-width: 16px; height: 16px; border-radius: 8px; background: var(--dw-pink, #ff71ce); color: #fff; font-size: 9px; font-weight: 700; line-height: 16px; text-align: center; padding: 0 4px; display: none; }
body.queue-open #dreamQueuePanel { pointer-events: all; }
body.queue-open .dream-bottom-tabs { z-index: 998 !important; }
body.queue-open #miniNowPlaying { z-index: 998 !important; }

/* ── Minimalist Player Mode (background video + player only) ──────────────── */
body.dream-player-minimal-mode .dream-bottom-tabs,
body.dream-player-minimal-mode #miniNowPlaying,
body.dream-player-minimal-mode #dreamAppContent > *:not(#dreamMinimalCinematic) {
  display: none !important;
}
body.dream-player-minimal-mode #minimal-ui::before { opacity: 0 !important; }
body.dream-player-minimal-mode #dreamAppContent {
  padding: 0 !important;
  overflow: hidden !important;
}
.dream-minimal-cinematic {
  position: fixed; inset: 0; z-index: 10;
  display: flex; align-items: center; justify-content: center;
}
.dream-minimal-cinematic-close {
  position: fixed; top: max(14px, env(safe-area-inset-top)); right: 14px;
  z-index: 20; width: 36px; height: 36px; border-radius: 50%;
  border: none; background: rgba(0,0,0,0.35); color: rgba(255,255,255,0.55);
  font-size: 16px; cursor: pointer; backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px); display: flex; align-items: center; justify-content: center;
}
.dream-minimal-now-playing {
  position: relative; z-index: 11;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  padding: 32px 28px 28px; border-radius: 28px;
  background: transparent !important; backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none;
  max-width: 380px; width: calc(100vw - 40px);
}
.dream-minimal-cover-wrap { width: 220px; height: 220px; border-radius: 16px; overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,0.45), 0 2px 12px rgba(255,113,206,0.12); }
.dream-minimal-cover { width: 100%; height: 100%; object-fit: cover; display: block; }
.dream-minimal-info { text-align: center; }
.dream-minimal-track-name { font-size: 20px; font-weight: 700; color: #fff; line-height: 1.2; }
.dream-minimal-track-artist { font-size: 14px; color: rgba(255,255,255,0.6); margin-top: 4px; }
.dream-minimal-track-album { font-size: 12px; color: rgba(255,255,255,0.35); margin-top: 2px; }
.dream-minimal-mood-pill {
  display: inline-block; padding: 3px 12px; border-radius: 10px;
  background: rgba(255,113,206,0.18); color: var(--dw-pink, #ff71ce);
  font-size: 10px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase;
}
.dream-minimal-progress {
  width: 100%; height: 44px; background: transparent;
  border-radius: 2px; overflow: visible;
  display: flex; align-items: center;
  /* Expanded tap zone: visual bar is 4px, but full 44px is clickable */
}
.dream-minimal-progress::before {
  content: ''; position: absolute;
  left: 0; right: 0;
  height: 44px;
  /* Expand hit area vertically, centered on the visual bar */
  margin-top: -20px;
  margin-bottom: -20px;
  z-index: 1;
}
/* Visual bar (actual track progress background) */
.dream-minimal-progress {
  position: relative;
  background: rgba(255,255,255,0.08);
  height: 4px;
  border-radius: 2px;
}
.dream-minimal-progress-fill { height: 100%; width: 0%; background: var(--dw-green, #01f5a6); border-radius: 2px; transition: width 0.3s linear; position: relative; z-index: 2; }
/* Seek tooltip */
.dream-minimal-seek-tooltip {
  display: none; position: absolute;
  bottom: 52px; left: 50%; transform: translateX(-50%);
  background: rgba(0,0,0,0.85); color: #fff;
  font-size: 10px; font-family: 'VT323', monospace;
  padding: 3px 6px; border-radius: 4px;
  white-space: nowrap; pointer-events: none;
  border: 1px solid rgba(255,255,255,0.15);
  z-index: 100;
}
.dream-minimal-progress:hover .dream-minimal-seek-tooltip,
.dream-minimal-progress:active .dream-minimal-seek-tooltip { display: block; }
.dream-minimal-time {
  width: 100%; display: flex; justify-content: space-between;
  font-size: 10px; color: rgba(255,255,255,0.3); font-variant-numeric: tabular-nums;
}
.dream-minimal-controls { display: flex; align-items: center; gap: 28px; }
.dream-minimal-ctrl {
  width: 40px; height: 40px; border-radius: 50%; border: none;
  background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.5);
  font-size: 18px; cursor: pointer; display: flex; align-items: center;
  justify-content: center; transition: background 0.15s, color 0.15s;
}
.dream-minimal-ctrl:active { background: rgba(255,255,255,0.14); color: #fff; }
.dream-minimal-ctrl--play {
  width: 56px; height: 56px; background: var(--dw-green, #1ed760); color: #000;
  font-size: 22px; box-shadow: 0 4px 20px rgba(30,215,96,0.35);
}
.dream-minimal-ctrl--play:active { background: #1bc052; }
.dream-minimal-actions { display: flex; align-items: center; gap: 16px; }
.dream-minimal-action {
  background: none; border: none; color: rgba(255,255,255,0.3);
  font-size: 15px; cursor: pointer; padding: 4px 8px; transition: color 0.15s;
}
.dream-minimal-action:active { color: rgba(255,255,255,0.7); }
.dream-minimal-footer { margin-top: 8px; }
.dream-minimal-back-link {
  background: none; border: none; color: rgba(255,255,255,0.25);
  font-size: 12px; cursor: pointer; transition: color 0.15s;
}
.dream-minimal-back-link:active { color: var(--dw-pink, #ff71ce); }


/* ── Playlist detail page ─────────────────────────────── */
/* DW-FEAT-075 FIX: .dream-playlist-detail is the scroll container for the playlist surface.
   overflow-y:auto + height:100% establish a scroll context so
   .dream-playlist-detail-recovery can use position:sticky to stay visible
   at the bottom of the viewport when scrolling deep into a long playlist. */
.dream-playlist-detail {
  padding: 16px;
  overflow-x: visible !important;
  overflow-y: auto !important;
  height: 100% !important;
  max-height: 100% !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}
.dream-playlist-detail::-webkit-scrollbar { display: none !important; }
.dream-playlist-detail-header-inner { display: flex; gap: 16px; align-items: center; margin-bottom: 12px; padding-left: max(0px, env(safe-area-inset-left)); box-sizing: border-box; }
.dream-playlist-detail-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 4px;
  width: 140px; height: 140px; border-radius: 12px; overflow: hidden; flex-shrink: 0;
}
.dream-playlist-detail-mosaic { width: 100%; height: 100%; object-fit: cover; display: block; }
.dream-playlist-detail-title-area { flex: 1; min-width: 0; }
.dream-playlist-detail-title {
  font-size: 20px; font-weight: 700; color: #fff; margin: 0 0 4px; outline: none;
  border-bottom: 1px dashed transparent; transition: border-color 0.15s;
}
.dream-playlist-detail-title:hover { border-bottom-color: rgba(255,255,255,0.12); }
.dream-playlist-detail-count { font-size: 12px; color: rgba(255,255,255,0.4); margin: 0; }
.dream-playlist-detail-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.dream-playlist-detail-actions .dream-primary { padding: 8px 16px; }
.dream-playlist-detail-actions .dream-secondary { padding: 8px 12px; }
.dream-playlist-detail-actions .dream-danger {
  padding: 8px 12px; background: rgba(255,50,50,0.12); color: rgba(255,80,80,0.8);
  border: 1px solid rgba(255,50,50,0.2); border-radius: 8px; cursor: pointer; font-size: 12px;
}
.dream-playlist-detail-list { display: flex; flex-direction: column; gap: 2px; }
.dream-playlist-detail-row {
  display: grid; grid-template-columns: 40px 1fr 36px 32px 28px 28px; gap: 8px;
  align-items: center; padding: 6px 4px; border-radius: 8px; transition: background 0.15s;
}
.dream-playlist-detail-row:hover { background: rgba(255,255,255,0.03); }
.dream-playlist-detail-cover { width: 40px; height: 40px; border-radius: 6px; object-fit: cover; }
.dream-playlist-detail-name { font-size: 13px; font-weight: 600; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dream-playlist-detail-artist { font-size: 11px; color: rgba(255,255,255,0.4); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dream-playlist-detail-play {
  width: 32px; height: 32px; border-radius: 50%; border: none; background: rgba(255,255,255,0.06);
  color: #fff; font-size: 12px; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.dream-playlist-detail-play:hover { background: var(--dw-green,#1ed760); color: #000; }
.dream-playlist-detail-remove {
  width: 28px; height: 28px; border: none; background: none; color: rgba(255,255,255,0.2);
  font-size: 12px; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.dream-playlist-detail-remove:hover { color: rgba(255,80,80,0.7); }
.dream-playlist-detail-move-up, .dream-playlist-detail-move-down {
  width: 24px; height: 24px; border: none; background: none; color: rgba(255,255,255,0.15);
  font-size: 10px; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.dream-playlist-detail-move-up:hover, .dream-playlist-detail-move-down:hover { color: rgba(255,255,255,0.4); }
.dream-playlist-detail-spacer { width: 24px; height: 24px; }

/* ── Mobile playlist detail reorder buttons (≥44px touch targets) ── */
@media (max-width: 640px) {
  .dream-playlist-detail-row {
    grid-template-columns: 44px minmax(0,1fr) 44px 44px 44px;
    gap: 6px;
    padding: 8px 4px;
  }
  .dream-playlist-detail-cover { width: 44px; height: 44px; flex-shrink: 0; }
  .dream-playlist-detail-play { width: 44px; height: 44px; font-size: 14px; }
  .dream-playlist-detail-remove { width: 44px; height: 44px; font-size: 14px; }
  .dream-playlist-detail-move-up,
  .dream-playlist-detail-move-down {
    width: 44px; height: 44px; font-size: 16px;
    background: rgba(255,255,255,0.06);
    border-radius: 8px;
    color: rgba(255,255,255,0.5);
  }
  .dream-playlist-detail-move-up:hover,
  .dream-playlist-detail-move-down:hover { background: rgba(255,255,255,0.12); color: #fff; }
  .dream-playlist-detail-spacer { width: 44px; height: 44px; }
}

/* ── Visibility badge in playlist detail ── */
.dream-visibility-badge { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 2px 7px; border-radius: 999px; font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; vertical-align: middle; min-height: 24px !important; }
.dream-visibility-badge--public { background: rgba(30,215,96,0.18); color: #1ed760; border: 1px solid rgba(30,215,96,0.3); }
.dream-visibility-badge--private { background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.45); border: 1px solid rgba(255,255,255,0.12); }
.dream-visibility-badge--unlisted { background: rgba(255,200,50,0.15); color: rgba(255,200,50,0.85); border: 1px solid rgba(255,200,50,0.25); }
.dream-visibility-badge--shared_private { background: rgba(138,100,255,0.18); color: rgba(200,180,255,0.95); border: 1px solid rgba(138,100,255,0.3); }
.dream-visibility-badge--draft { background: rgba(255,255,255,0.04); color: rgba(255,255,255,0.35); border: 1px solid rgba(255,255,255,0.08); }

/* DW-FEAT-076: Mobile visibility badge touch targets — ≥44px height on phone */
@media (max-width: 520px) {
  .dream-visibility-badge {
    min-height: 28px !important;
    padding: 4px 8px !important;
    font-size: 9.5px !important;
  }
}
@media (max-width: 420px) {
  .dream-visibility-badge {
    min-height: 30px !important;
    padding: 5px 9px !important;
    font-size: 9.5px !important;
  }
  /* Ensure badge doesn't get crushed by flex parent */
  .dream-row-actions .dream-visibility-badge,
  .dream-collection-track-actions .dream-visibility-badge {
    align-self: center !important;
    flex-shrink: 0 !important;
  }
}
.dream-playlist-detail-description { font-size: 12px; color: rgba(255,255,255,0.38); margin: 4px 0; line-height: 1.4; }
.dream-playlist-detail-duration { font-size: 11px; color: rgba(255,255,255,0.3); white-space: nowrap; font-variant-numeric: tabular-nums; text-align: right; min-width: 32px; }

/* ── Playlist detail recovery footer (long-surface bottom) ── */
/* DW-FEAT-075 FIX: sticky recovery button — mirrors DW-075 provenance bottom-recovery pattern.
   Stays visible at the bottom of the scrollable playlist surface at all scroll positions. */
.dream-playlist-detail-recovery {
  display: flex !important;
  justify-content: center !important;
  padding: 18px 0 calc(18px + env(safe-area-inset-bottom)) !important;
  position: sticky !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 50 !important;
  pointer-events: auto !important;
  background: linear-gradient(to top, rgba(6,8,14,0.92) 0%, rgba(6,8,14,0.0) 100%) !important;
  flex-shrink: 0 !important;
}
.dream-playlist-detail-back-btn {
  min-height: 44px !important;
  padding: 10px 24px !important;
  width: min(100%, 320px) !important;
  justify-content: center !important;
  font-size: 13px !important;
  background: rgba(6,8,14,0.9) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 999px !important;
  color: rgba(255,255,255,0.75) !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.24) !important;
}

/* ── Mobile playlist detail: stacked header, compact rows ── */
@media (max-width: 640px) {
  .dream-playlist-detail { padding: 12px; box-sizing: border-box; padding-left: max(12px, env(safe-area-inset-left)); }
  .dream-playlist-detail-header-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  .dream-playlist-detail-grid {
    width: 100px !important;
    height: 100px !important;
    border-radius: 8px !important;
    flex-shrink: 0 !important;
  }
  .dream-playlist-detail-title { font-size: 16px !important; }
  .dream-playlist-detail-description { font-size: 11px !important; }
  /* Duration column visible on mobile */
  .dream-playlist-detail-row {
    grid-template-columns: 44px minmax(0,1fr) 32px 44px 44px !important;
    gap: 4px !important;
    padding: 6px 2px !important;
  }
  .dream-playlist-detail-duration { font-size: 10px !important; min-width: 28px !important; }
  .dream-playlist-detail-cover { width: 44px !important; height: 44px !important; flex-shrink: 0 !important; }
  .dream-playlist-detail-name { font-size: 12px !important; }
  .dream-playlist-detail-artist { font-size: 10px !important; }
  .dream-playlist-detail-play { width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; }
  .dream-playlist-detail-remove { width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; }
  .dream-playlist-detail-move-up,
  .dream-playlist-detail-move-down { display: none !important; width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; }
  .dream-playlist-detail-spacer { display: none !important; width: 44px !important; min-width: 44px !important; height: 44px !important; }
  /* Action buttons stack nicely */
  .dream-playlist-detail-actions { gap: 6px !important; }
  .dream-playlist-detail-actions .dream-primary,
  .dream-playlist-detail-actions .dream-secondary,
  .dream-playlist-detail-actions .dream-danger { padding: 8px 10px !important; font-size: 11px !important; }
  /* Recovery footer is always visible at bottom */
  .dream-playlist-detail-recovery { padding: 14px 0 calc(14px + env(safe-area-inset-bottom)) !important; }
}

/* Extra-narrow: hide move buttons on very small screens to avoid crowding */
@media (max-width: 400px) {
  .dream-playlist-detail-row {
    grid-template-columns: 40px minmax(0,1fr) 32px 40px !important;
  }
  .dream-playlist-detail-move-up,
  .dream-playlist-detail-move-down,
  .dream-playlist-detail-spacer { display: none !important; }
}


/* ── Desktop left sidebar (≥1100px) ──────────────────────── */
@media (min-width: 1100px) {
  body.dream-app-open #dreamAppMain {
    flex-direction: row !important;
    gap: 0 !important;
  }
  .dream-desktop-sidebar {
    display: flex !important;
    flex-direction: column !important;
    width: 280px !important;
    min-width: 280px !important;
    padding: 14px 12px 14px !important;
    gap: 10px !important;
    border-right: 1px solid rgba(255,255,255,0.05) !important;
    background: rgba(6,8,12,0.78) !important;
    overflow-y: auto !important;
    position: sticky !important;
    top: 0 !important;
    max-height: calc(100dvh - env(safe-area-inset-bottom) - 40px) !important;
    padding-bottom: 40px !important;
  }
  /* Sidebar should not render at all on player route */
  body.dream-app-open[data-dream-route="player"] .dream-desktop-sidebar {
    display: none !important;
  }
}
  .dream-desktop-sidebar-section {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    overflow: visible !important;
  }
  .dream-desktop-sidebar-label {
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.84) !important;
    padding: 6px 6px 2px !important;
    white-space: nowrap !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  .dream-desktop-sidebar-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 5px 8px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    color: rgba(255,255,255,0.82) !important;
    font-size: 13px !important;
    transition: background 0.12s, color 0.12s !important;
    text-decoration: none !important;
    border: none !important;
    background: none !important;
    width: 100% !important;
    text-align: left !important;
    overflow: visible !important;
    min-width: 0 !important;
  }
  .dream-desktop-sidebar-row:hover {
    background: rgba(255,255,255,0.04) !important;
    color: rgba(255,255,255,0.85) !important;
  }
  .dream-desktop-sidebar-row.active {
    background: rgba(255,255,255,0.06) !important;
    color: var(--dw-pink, #ff71ce) !important;
  }
  .dream-desktop-sidebar-row-icon {
    font-size: 16px !important;
    width: 24px !important;
    text-align: center !important;
  flex-shrink: 0 !important;
}
.dream-sidebar-avatar-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 6px 10px 4px !important;
}
.dream-sidebar-avatar {
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  border: 1.5px solid rgba(255,255,255,0.14) !important;
  background: #1a1b2e !important;
  flex-shrink: 0 !important;
}
.dream-desktop-sidebar-now-playing {
   padding: 8px 10px !important;
   border-radius: 12px !important;
   background: rgba(255,255,255,0.07) !important;
   border: 1px solid rgba(255,255,255,0.09) !important;
   display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
  }
  .dream-desktop-sidebar-np-topline {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }
  .dream-desktop-sidebar-np-label {
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.46) !important;
  }
  .dream-desktop-sidebar-np-play {
    width: 24px !important;
    height: 24px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    background: rgba(255,255,255,0.04) !important;
    color: rgba(255,255,255,0.86) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
  }
  .dream-desktop-sidebar-np-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #fff !important;
    white-space: normal !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.22 !important;
    max-height: calc(1.22em * 2) !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
  .dream-desktop-sidebar-np-artist {
    font-size: 11px !important;
    color: rgba(255,255,255,0.66) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .dream-desktop-sidebar-np-progress-meta {
    display: flex !important;
    justify-content: space-between !important;
    gap: 8px !important;
    font-size: 10px !important;
    color: rgba(255,255,255,0.34) !important;
  }
  .dream-desktop-sidebar-np-progress-bar {
    height: 2px !important;
    background: rgba(255,255,255,0.08) !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    margin-top: 0 !important;
  }
  .dream-desktop-sidebar-np-progress-fill {
    height: 100% !important;
    background: var(--dw-pink, #ff71ce) !important;
    border-radius: 1px !important;
    transition: width 0.8s linear !important;
  }
  .dream-desktop-sidebar-up-next {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    padding: 6px 10px !important;
    background: rgba(255,255,255,0.025) !important;
    border-radius: 6px !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
  }
  .dream-desktop-sidebar-up-next-label {
    font-size: 8px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.2) !important;
  }
  .dream-desktop-sidebar-up-next-name {
    font-size: 11px !important;
    color: rgba(255,255,255,0.45) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .dream-desktop-sidebar-section--utilities {
    gap: 6px !important;
  }
  .dream-desktop-sidebar-utility-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  .dream-desktop-sidebar-utility-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
    padding: 7px 9px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,0.06) !important;
    background: rgba(255,255,255,0.03) !important;
    color: rgba(255,255,255,0.8) !important;
    font: 600 11px/1.2 'Inter', system-ui, sans-serif !important;
    cursor: pointer !important;
    text-align: left !important;
  }
  .dream-desktop-sidebar-utility-btn:hover {
    background: rgba(255,255,255,0.05) !important;
    color: rgba(255,255,255,0.9) !important;
  }
  .dream-desktop-sidebar-utility-icon {
    flex-shrink: 0 !important;
    width: 14px !important;
    text-align: center !important;
    color: rgba(255,255,255,0.58) !important;
    font-size: 12px !important;
  }
  .dream-desktop-sidebar-utility-copy {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .dream-desktop-sidebar-utility-badge {
    margin-left: auto !important;
    flex-shrink: 0 !important;
    min-width: 16px !important;
    padding: 1px 5px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.08) !important;
    color: rgba(255,255,255,0.7) !important;
    font-size: 10px !important;
    text-align: center !important;
  }
  .dream-desktop-sidebar-row.dream-sidebar-active {
    background: rgba(255,113,206,0.10) !important;
    color: var(--dw-pink, #ff71ce) !important;
  }

/* Sidebar content area — left padding when desktop sidebar is visible */
@media (min-width: 1100px) {
  body.dream-app-open #dreamAppMain {
    flex-direction: row !important;
    gap: 0 !important;
  }
  body.dream-app-open #dreamAppMain {
    display: flex !important;
  }
  body.dream-app-open .dream-app-content {
    flex: 1 !important;
    min-width: 0 !important;
  }
  /* Content keeps balanced gutters; width is inherited from the flex shell */
  body.dream-app-open .dream-app-content {
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }
  /* Discover marquee / hero respects sidebar */
  body.dream-app-open[data-dream-route="discover"] .dream-hero,
  body.dream-app-open[data-dream-route="discover"] .dream-discover-route {
    padding-left: 0 !important;
    max-width: 100% !important;
  }
}

/* Always hidden on mobile */
.dream-desktop-sidebar { display: none !important; }

/* ── Offline playback ─────────────────────────────────────────────────────── */
.dream-cached-badge {
  display: inline-block;
  font-size: 10px;
  color: #1ed760;
  margin-left: 4px;
  vertical-align: middle;
}
.dream-cached-badge--partial {
  color: #ff9500;
  animation: dream-cache-spin 1s linear infinite;
}
@keyframes dream-cache-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.dream-section--library-offline .dream-section-head h3::before {
  content: '↓ ';
  color: #1ed760;
}

/* ── Lyrics panel ───────────────────────────────────────────────────────────── */
.dream-player-section--lyrics {
  display: none; /* shown only when toggled */
}
.dream-player-section--lyrics.dream-lyrics-visible {
  display: grid;
}
.dream-lyrics-body {
  position: relative;
  max-height: 236px;
  overflow-y: auto;
  padding: 10px 6px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.15) transparent;
}
.dream-lyrics-body::-webkit-scrollbar {
  width: 4px;
}
.dream-lyrics-body::-webkit-scrollbar-track {
  background: transparent;
}
.dream-lyrics-body::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.15);
  border-radius: 2px;
}
/* Gradient fades top and bottom */
.dream-lyrics-body::before,
.dream-lyrics-body::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 32px;
  pointer-events: none;
  z-index: 1;
}
.dream-lyrics-body::before {
  top: 0;
  background: linear-gradient(to bottom, rgba(10,10,18,1) 0%, rgba(10,10,18,0) 100%);
}
.dream-lyrics-body::after {
  bottom: 0;
  background: linear-gradient(to top, rgba(10,10,18,1) 0%, rgba(10,10,18,0) 100%);
}
.dream-lyrics-inner {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.72;
  color: rgba(255,255,255,.58);
  text-align: center;
  white-space: pre-line;
  padding: 8px 0;
}
/* LRC active line highlight */
.dream-lyrics-inner[data-lyrics-active] .dream-lyric-line[data-idx="0"],
.dream-lyrics-inner .dream-lyric-line {
  display: block;
  transition: color 400ms ease, opacity 400ms ease;
}
.dream-lyrics-inner .dream-lyric-line.active {
  color: #fff;
  font-weight: 700;
  opacity: 1;
}
.dream-lyrics-inner .dream-lyric-line:not(.active) {
  color: rgba(255,255,255,.35);
  opacity: 0.7;
}
/* Lyrics button active state */
#dreamPlayerLyrics.active {
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.3) !important;
}

/* ── Keyboard shortcuts modal ───────────────────────────────────────────────── */
.dream-shortcuts-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,.7) !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
.dream-shortcuts-modal {
  background: rgba(14,14,24,.92) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  width: min(480px, 92vw) !important;
  max-height: 80vh !important;
  overflow-y: auto !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.05) inset !important;
  backdrop-filter: blur(24px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(160%) !important;
}
.dream-shortcuts-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 20px !important;
}
.dream-shortcuts-header h3 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 !important;
  letter-spacing: -.01em !important;
}
.dream-shortcuts-close {
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.7) !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 150ms ease, color 150ms ease !important;
}
.dream-shortcuts-close:hover {
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
}
.dream-shortcuts-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px 24px !important;
}
.dream-shortcut-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 6px 0 !important;
}
.dream-shortcut-key {
  font-family: 'DM Mono', 'Courier New', monospace !important;
  font-size: 12px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-bottom-width: 2px !important;
  border-radius: 6px !important;
  padding: 4px 8px !important;
  color: #fff !important;
  min-width: 40px !important;
  text-align: center !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.dream-shortcut-desc {
  font-size: 13px !important;
  color: rgba(255,255,255,.6) !important;
}

/* Shortcuts trigger button — bottom-right desktop corner.
   DW-WAVE61-CONTROL-HIT-TARGET-CLEARANCE: lift above mini-player gear hitbox on desktop. */
.dream-shortcuts-trigger {
  position: fixed !important;
  bottom: 132px !important;
  right: 24px !important;
  z-index: 9000 !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(14,14,24,.85) !important;
  color: rgba(255,255,255,.55) !important;
  font-size: 16px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.4) !important;
  transition: background 150ms ease, color 150ms ease, transform 150ms ease !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
/* Show only on desktop */
@media (pointer: fine) {
  .dream-shortcuts-trigger {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}
.dream-shortcuts-trigger:hover {
  background: rgba(255,255,255,.1) !important;
  color: #fff !important;
  transform: scale(1.06) !important;
}
.dream-shortcuts-trigger:active {
  transform: scale(0.96) !important;
}

/* ── Comments panel ─────────────────────────────────────────────────────────── */

.dream-player-section--comments {
  display: block !important;
}
.dream-player-section--comments-compact .dream-player-section-note {
  margin-bottom: 4px !important;
}
.dream-player-section--comments-compact .dream-comment-form {
  margin-bottom: 0 !important;
}
.dream-comment-empty-prompt {
  margin-top: 2px !important;
  color: rgba(255,255,255,.76) !important;
  font: 600 11px/1.45 'DM Sans', system-ui, sans-serif !important;
}
.dream-comment-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 2px 0 8px !important;
}
.dream-comment-reply-banner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.7) !important;
  font: 600 11px/1.3 'DM Sans', system-ui, sans-serif !important;
}
.dream-comment-reply-cancel,
.dream-comment-reply-action {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,.6) !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
  cursor: pointer !important;
  padding: 0 !important;
}
.dream-comment-reply-cancel:hover,
.dream-comment-reply-action:hover {
  color: #fff !important;
}
.dream-comment-input {
  width: 100% !important;
  min-height: 64px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.05) !important;
  color: #f7f8f8 !important;
  font: 600 13px/1.5 'DM Sans', system-ui, sans-serif !important;
  resize: vertical !important;
  box-sizing: border-box !important;
  transition: border-color 150ms ease !important;
}
.dream-comment-input:focus {
  outline: none !important;
  border-color: rgba(255,255,255,.25) !important;
}
.dream-comment-input::placeholder {
  color: rgba(255,255,255,.32) !important;
}
.dream-comment-submit {
  align-self: flex-end !important;
  appearance: none !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.1) !important;
  color: #f7f8f8 !important;
  padding: 6px 18px !important;
  font: 700 12px/1 'DM Sans', system-ui, sans-serif !important;
  cursor: pointer !important;
  transition: background 150ms ease, border-color 150ms ease !important;
}
.dream-comment-submit:hover {
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.28) !important;
}
.dream-comment-submit:disabled {
  opacity: .5 !important;
  pointer-events: none !important;
}
/* DW-FEAT-064: 44px touch targets for comment actions */
.dream-comment-submit {
  min-height: 44px !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
}
.dream-comment-reply-action,
.dream-comment-like-action {
  min-height: 44px !important;
  padding: 10px 8px !important;
}
.dream-comment-delete {
  min-height: 44px !important;
  padding: 10px 8px !important;
  font-size: 16px !important;
}
/* DW-FEAT-064: Track detail surface comment section — scrollable with safe bottom padding */
.dream-track-detail-surface .dream-player-section--comments {
  margin-top: 16px !important;
}
.dream-track-detail-surface .dream-comment-list {
  max-height: 400px !important;
}
.dream-comment-list {
  display: grid !important;
  gap: 8px !important;
  max-height: 340px !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(255,255,255,.12) transparent !important;
}
.dream-comment-list::-webkit-scrollbar {
  width: 4px !important;
}
.dream-comment-list::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.12) !important;
  border-radius: 2px !important;
}
.dream-comment-row {
  position: relative !important;
  display: grid !important;
  gap: 4px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
}
.dream-comment-row--reply {
  margin-left: 16px !important;
  background: rgba(255,255,255,.024) !important;
}
.dream-comment-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.dream-comment-like-action,
.dream-comment-like-count {
  color: rgba(255,255,255,.68) !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-comment-like-action {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  padding: 0 !important;
}
.dream-comment-like-action.is-liked {
  color: #ff8fb1 !important;
}
.dream-comment-children {
  display: grid !important;
  gap: 8px !important;
  margin-top: 4px !important;
}
.dream-comment-meta {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.dream-comment-author {
  color: #f7f8f8 !important;
  font: 700 12px/1.2 'DM Sans', system-ui, sans-serif !important;
}
.dream-comment-time {
  color: rgba(255,255,255,.4) !important;
  font: 600 10.5px/1 'DM Sans', system-ui, sans-serif !important;
}
.dream-comment-text {
  margin: 0 !important;
  color: rgba(255,255,255,.7) !important;
  font: 400 13px/1.55 'DM Sans', system-ui, sans-serif !important;
  word-break: break-word !important;
}
.dream-comment-delete {
  position: absolute !important;
  top: 8px !important;
  right: 10px !important;
  appearance: none !important;
  border: none !important;
  background: transparent !important;
  color: rgba(255,255,255,.35) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 2px 6px !important;
  border-radius: 6px !important;
  transition: color 150ms ease, background 150ms ease !important;
}
.dream-comment-delete:hover {
  color: #ff5470 !important;
  background: rgba(255,80,100,.12) !important;
}
.dream-comment-error {
  color: #ff8099 !important;
}

/* DW-FEAT-078: Comment Reply Thread Polish — mobile reply threading + form stacking */

/* AC-3: Reply comments — visual indent with left border showing thread depth */
.dream-comment-row--reply {
  margin-left: 16px !important;
  border-left: 2px solid rgba(255, 113, 206, 0.45) !important;
  padding-left: 12px !important;
  background: rgba(255, 113, 206, 0.04) !important;
}

/* AC-6: Comment section — prevent horizontal overflow on narrow viewports */
.dream-player-section--comments,
.dream-comment-list,
.dream-comment-row,
.dream-comment-form,
.dream-comment-input {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* AC-4: Comment form — textarea full-width + submit button below on ≤420px phone */
@media (max-width: 420px) {
  .dream-comment-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    align-items: stretch !important;
  }
  .dream-comment-input {
    width: 100% !important;
    min-height: 64px !important;
    box-sizing: border-box !important;
  }
  .dream-comment-submit {
    align-self: stretch !important;
    min-height: 44px !important;
    padding: 10px 20px !important;
    font-size: 13px !important;
    border-radius: 999px !important;
  }
  /* AC-3: Reply rows — tighter indent on phone */
  .dream-comment-row--reply {
    margin-left: 10px !important;
    padding-left: 8px !important;
  }
}

/* ── Activity Feed ───────────────────────────────────────────────────────── */
.dream-feed-stream { display:flex;flex-direction:column;gap:12px;max-width:600px; }
.dream-feed-card { display:flex;gap:12px;padding:14px;background:rgba(255,255,255,0.03);border-radius:10px;border:1px solid rgba(255,255,255,0.05); }
.dream-feed-avatar { width:36px;height:36px;border-radius:50%;background:rgba(255,113,206,0.15);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#ff71ce;flex-shrink:0; }
.dream-feed-body { flex:1;min-width:0; }
.dream-feed-header { display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px; }
.dream-feed-header strong { font-size:13px;color:#fff; }
.dream-feed-action { font-size:12px;color:rgba(255,255,255,0.5); }
.dream-feed-time { font-size:11px;color:rgba(255,255,255,0.25);margin-left:auto;white-space:nowrap; }
.dream-feed-detail { margin:4px 0 0;font-size:12px;color:rgba(255,255,255,0.4);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.dream-hero--feed { background:rgba(0,0,0,0.3);border-bottom:1px solid rgba(255,255,255,0.04); }


/* Artist page: Shuffle + Radio buttons */
.dream-artist-shuffle, .dream-artist-radio {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: .85rem;
  cursor: pointer;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.8);
  transition: background .15s, color .15s;
}
.dream-artist-shuffle:hover, .dream-artist-radio:hover {
  background: rgba(255,255,255,.12);
  color: #fff;
}
.dream-artist-shuffle svg, .dream-artist-radio svg { opacity: .85; }
/* Now playing highlight in artist track rows */
.dream-track-row-play.now-playing { color: #00d9ff; }
.dream-track-row-play.now-playing svg { fill: #00d9ff; }

/* Album page: shuffle + add-to-queue buttons */
.dream-album-shuffle, .dream-album-queue-add {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: .85rem;
  cursor: pointer;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.8);
  transition: background .15s, color .15s;
}
.dream-album-shuffle:hover, .dream-album-queue-add:hover {
  background: rgba(255,255,255,.12);
  color: #fff;
}
.dream-album-shuffle svg, .dream-album-queue-add svg { opacity: .85; }


/* ── Discover mood filter chips ──────────────────────── */
.dream-mood-filter-row {
  display: flex;
  gap: 8px;
  padding: 16px 16px 10px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.dream-mood-filter-row::-webkit-scrollbar { display: none; }
.dream-mood-chip {
  flex-shrink: 0;
  padding: 5px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.6);
  font-size: .8rem;
  font-family: inherit;
  cursor: pointer;
  transition: background .2s, color .2s, border-color .2s;
  min-height: 44px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
}
.dream-mood-chip:hover { background: rgba(255,255,255,.12); color: rgba(255,255,255,.85); }
.dream-mood-chip.active {
  background: rgba(124,77,255,.5);
  border-color: rgba(124,77,255,.8);
  color: #fff;
}
.dream-mood-shuffle-row {
  padding: 0 16px 10px;
  display: flex;
  align-items: center;
}
.dream-mood-shuffle-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  border-radius: 24px;
  border: 1px solid rgba(124,77,255,.7);
  background: rgba(124,77,255,.25);
  color: #e0d0ff;
  font-size: .85rem;
  font-family: inherit;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: .3px;
  transition: background .2s, border-color .2s, color .2s;
  min-height: 44px;
  white-space: nowrap;
}
.dream-mood-shuffle-btn:hover,
.dream-mood-shuffle-btn:active {
  background: rgba(124,77,255,.45);
  border-color: rgba(124,77,255,.9);
  color: #fff;
}
.dream-mood-shuffle-icon {
  font-size: .75rem;
  opacity: .9;
}
.dream-recent-play-all {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 14px;
  border-radius: 20px;
  background: rgba(124,77,255,.25);
  border: 1px solid rgba(124,77,255,.6);
  color: #e0d0ff;
  font-size: .8rem;
  font-family: inherit;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  min-height: 44px;
}
.dream-recent-play-all:hover,
.dream-recent-play-all:active {
  background: rgba(124,77,255,.45);
  border-color: rgba(124,77,255,.9);
  color: #fff;
}

/* ── Mini-player volume ─────────────────────────────── */
.mini-np-volume {
  background: none;
  border: none;
  cursor: pointer;
  font-size: .9rem;
  padding: 0 4px;
  opacity: .7;
  flex-shrink: 0;
  line-height: 1;
}
.mini-np-volume:hover { opacity: 1; }
.mini-np-volume-slider {
  width: 48px;
  height: 3px;
  accent-color: #a78bfa;
  cursor: pointer;
  flex-shrink: 0;
  -webkit-appearance: none;
  background: transparent;
  border-radius: 2px;
  padding: 0;
}
.mini-np-volume-slider::-webkit-slider-runnable-track {
  height: 3px;
  background: rgba(255,255,255,.2);
  border-radius: 2px;
}
.mini-np-volume-slider::-moz-range-track {
  height: 3px;
  background: rgba(255,255,255,.2);
  border-radius: 2px;
  border: 0;
}
.mini-np-volume-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}
.mini-np-volume-slider::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  border: 0;
}
@media (max-width: 480px) {
  .mini-np-volume-slider { width: 36px; }
}


/* Radio mode badge in nav bar */
.dream-radio-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 10px;
  background: rgba(124,77,255,.3);
  border: 1px solid rgba(124,77,255,.6);
  color: #c4b5fd;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .03em;
  animation: radioPulse 2s ease-in-out infinite;
}
.dream-radio-badge::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #a78bfa;
  animation: radioDot 1.5s ease-in-out infinite;
}
@keyframes radioPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .7; }
}
@keyframes radioDot {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.4); }
}

/* Mini-player: hide context if empty, better time styling */
.mini-np-meta { min-height: 14px; }

.mini-np-meta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-top: 2px;
  min-height: 14px;
}

/* DW-VIS-LIBRARY-PLAYER-BAR-CONGEST: space-between on meta inner flex forces info column
   to expand to preserve distance to time, leaving only 10px gap to play button.
   Change to flex-start so meta content packs to the left, giving info its natural
   (smaller) intrinsic width before flex row distributes remaining space. */
@media (max-width: 520px) {
  .mini-np-meta {
    justify-content: flex-start;
  }
  /* DW-VIS-LIBRARY-PLAYER-BAR-CONGEST: cap info column so flex:1 doesn't
     greedily expand it and jam time+play+volume against the right edge.
     .mini-np-info is parent of .mini-np-meta, so we cap .mini-np-info directly.
     At 384px viewport: title+artist need ~178px, time ~50px, play ~44px, vol ~44px,
     plus ~20px gap = ~346px. With info at 180px, time starts at ~258 vs play at 264
     (only 6px gap). Tighten to 166px → time starts at ~244, play at 264 = 20px gap. */
  .mini-now-playing .mini-np-info {
    flex: 0 0 auto !important;
    max-width: 166px !important;
  }
  /* DW-VIS-LIBRARY-PLAYER-BAR-CONGEST: force time to right-align inside meta
     row by pushing it with auto margin, creating consistent gap to play button. */
  .mini-np-info > .mini-np-meta > .mini-np-time {
    margin-left: auto !important;
    min-width: 46px !important;
  }
}
.mini-np-context {
  font-size: 1.5rem;
  color: rgba(255,255,255,.5);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 80px;
}
.mini-np-time {
  font-size: .6rem;
  color: rgba(255,255,255,.4);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}

/* Mini-player: ensure info column doesn't squash progress */
.mini-np-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.mini-np-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.mini-np-artist {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Mini-player strip: flex row layout */
.mini-now-playing {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 48px;
  padding: 0 8px;
}
.mini-np-art {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: 4px;
  overflow: hidden;
}
.mini-np-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mini-np-play {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.12) !important;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  font-size: 13px;
  opacity: .9;
  transition: background 150ms, opacity 150ms;
}
.mini-np-play:hover { background: rgba(255,255,255,0.2) !important; opacity: 1; }
.mini-np-play:active { background: var(--dw-pink) !important; }
.mini-np-progress {
  flex: 0 0 60px;
  height: 3px;
  background: rgba(255,255,255,.15);
  border-radius: 2px;
  overflow: hidden;
}
.mini-np-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--dw-pink, #ff71ce), var(--dw-green, #1ed760));
  border-radius: 2px;
  transition: width .3s linear;
  box-shadow: 0 0 6px rgba(255,113,206,0.4);
}

/* ═══════════════════════════════════════════════════════════
   DREAMWAVE TRANSPARENT MINI-PLAYER — FORCE OVERRIDE
   Added by auto-patch: overrides ALL dark mini-player backgrounds
   ═══════════════════════════════════════════════════════════ */
html body body #dreamAppContent .mini-now-playing,
html body body body #dreamApp .mini-now-playing,
html body .mini-now-playing,
.dream-app-open .mini-now-playing,
body.dream-app-open .mini-now-playing,
#dreamAppContent > .mini-now-playing,
#dreamApp .mini-now-playing,
#miniNowPlaying,
.mini-now-playing {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-top: none !important;
  box-shadow: none !important;
  min-height: 56px !important;
  padding: 6px 14px !important;
  gap: 10px !important;
}

/* Also kill any blur on the minimal player overlay */
.dream-minimal-now-playing,
html body .dream-minimal-now-playing,
.dream-minimal-cinematic {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}

/* ── Minimal player polish overrides ── */
.dream-minimal-cinematic {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Sleek frosted glass close button */
.dream-minimal-cinematic-close {
  position: fixed; top: max(16px, env(safe-area-inset-top)); right: 16px;
  z-index: 20; width: 32px; height: 32px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.15) !important;
  background: rgba(255,255,255,0.07) !important;
  color: rgba(255,255,255,0.8) !important;
  font-size: 13px !important; cursor: pointer;
  backdrop-filter: blur(8px) saturate(1.6) !important;
  -webkit-backdrop-filter: blur(8px) saturate(1.6) !important;
  display: flex; align-items: center; justify-content: center;
  transition: background 150ms, color 150ms, transform 150ms;
  box-shadow: none !important;
}
.dream-minimal-cinematic-close:hover {
  background: rgba(255,255,255,0.14) !important;
  color: rgba(255,255,255,1) !important;
  transform: scale(1.06);
}
.dream-minimal-cinematic-close:active {
  background: rgba(179,136,255,0.28) !important;
  transform: scale(0.94);
}

/* FIX 5 PHONE OVERRIDE: mini-player needs solid bg on phone — add AFTER the force-override block */
/* This must come after line 13293's `background: transparent` rule to take effect on phone */
@media (max-width: 520px) {
  html body body #dreamAppContent .mini-now-playing,
  html body body body #dreamApp .mini-now-playing,
  html body .mini-now-playing,
  .dream-app-open .mini-now-playing,
  body.dream-app-open .mini-now-playing,
  #dreamAppContent > .mini-now-playing,
  #dreamApp .mini-now-playing,
  #miniNowPlaying,
  .mini-now-playing {
    background: rgba(10,12,20,0.94) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.5) !important;
    position: fixed !important;
    bottom: 56px !important;
    z-index: 999 !important;
  }
}

/* Beautiful frosted glass now-playing card */
.dream-minimal-now-playing {
  background: rgba(10,10,22,0.30) !important;
  backdrop-filter: blur(24px) saturate(1.5) brightness(1.05) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.5) !important;
  border: 1px solid rgba(255,255,255,0.09) !important;
  box-shadow: 0 8px 48px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,113,206,0.04) !important;
  border-radius: 28px !important;
}

/* Pink→green gradient progress fill */
.dream-minimal-progress-fill {
  background: linear-gradient(90deg, var(--dw-pink, #ff71ce), var(--dw-green, #01f5a6)) !important;
  height: 3px !important;
  border-radius: 2px !important;
  box-shadow: 0 0 6px rgba(255,113,206,0.4);
}

/* Gradient play button */
.dream-minimal-ctrl--play {
  background: linear-gradient(135deg, var(--dw-pink, #ff71ce), #b388ff) !important;
  color: #080a12 !important;
  width: 60px !important; height: 60px !important;
  border-radius: 50% !important;
  font-size: 22px !important;
  box-shadow: 0 4px 24px rgba(255,113,206,0.5), 0 0 40px rgba(179,136,255,0.2) !important;
  border: none !important;
  display: flex; align-items: center; justify-content: center;
}

/* Frosted skip buttons */
.dream-minimal-ctrl {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.09) !important;
  color: rgba(255,255,255,0.65) !important;
  font-size: 20px !important;
  padding: 10px !important; border-radius: 50% !important;
  transition: background 150ms, color 150ms, transform 150ms;
  display: flex; align-items: center; justify-content: center;
}
.dream-minimal-ctrl:hover {
  background: rgba(255,255,255,0.13) !important;
  color: rgba(255,255,255,1) !important;
}
.dream-minimal-ctrl:active {
  background: rgba(179,136,255,0.22) !important;
  transform: scale(0.92) !important;
}

/* Frosted action buttons */
.dream-minimal-action {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.55) !important;
  font-size: 15px !important;
  padding: 8px !important; border-radius: 50% !important;
  transition: background 150ms, color 150ms, transform 150ms;
  display: flex; align-items: center; justify-content: center;
}
.dream-minimal-action:hover {
  background: rgba(255,255,255,0.13) !important;
  color: rgba(255,255,255,0.95) !important;
}
.dream-minimal-action:active {
  background: rgba(179,136,255,0.22) !important;
  transform: scale(0.92) !important;
}

/* Sleek footer back link */
.dream-minimal-footer { margin-top: 6px !important; }
.dream-minimal-back-link {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.09) !important;
  color: rgba(255,255,255,0.5) !important;
  font-size: 12px !important; font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  padding: 6px 14px !important; border-radius: 20px !important;
  cursor: pointer; transition: background 150ms, color 150ms, border-color 150ms;
  display: inline-block;
}
.dream-minimal-back-link:hover {
  background: rgba(255,255,255,0.12) !important;
  color: rgba(255,255,255,0.85) !important;
  border-color: rgba(255,255,255,0.14) !important;
}

/* Track info typography */
.dream-minimal-track-name {
  font-size: 20px !important; font-weight: 700 !important;
  color: rgba(255,255,255,0.95) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.5) !important;
  letter-spacing: 0.2px !important;
}
.dream-minimal-track-artist {
  font-size: 14px !important; color: rgba(255,255,255,0.5) !important;
  font-weight: 400 !important;
}
.dream-minimal-track-album {
  font-size: 12px !important; color: rgba(255,255,255,0.35) !important;
}

/* Mood pill */
.dream-minimal-mood-pill {
  background: rgba(179,136,255,0.15) !important;
  border: 1px solid rgba(179,136,255,0.25) !important;
  color: rgba(179,136,255,0.9) !important;
  font-size: 11px !important; font-weight: 600 !important;
  padding: 3px 10px !important; border-radius: 20px !important;
  letter-spacing: 0.5px !important;
}

/* Controls spacing */
.dream-minimal-controls { gap: 24px !important; margin: 16px 0 !important; }
.dream-minimal-actions { gap: 14px !important; margin-top: 12px !important; }
.dream-minimal-progress { width: 100% !important; }

/* ── 'Now playing' expanded card (miniNowPlayingExpanded) ─────────────── */
/* Hidden by default, shown via .open class added by toggleMiniNowPlayingExpanded() */
#miniNowPlayingExpanded {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 1200 !important;
  background: rgba(6, 6, 10, 0.96) !important;
  backdrop-filter: blur(20px) saturate(1.3) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.3) !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 20px !important;
  overflow: hidden !important;
}
#miniNowPlayingExpanded.open {
  display: flex !important;
}
#miniNowPlayingExpanded .dream-mnpe-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 320px !important;
}
#miniNowPlayingExpanded .dream-mnpe-drag-handle {
  width: 36px !important;
  height: 4px !important;
  background: rgba(255,255,255,.25) !important;
  border-radius: 2px !important;
  margin-bottom: 4px !important;
}
#miniNowPlayingExpanded .dream-mnpe-close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.7) !important;
  font-size: 14px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#miniNowPlayingExpanded .dream-mnpe-cover-wrap {
  width: min(70vw, 240px) !important;
  aspect-ratio: 1 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.06) !important;
}
#miniNowPlayingExpanded .dream-mnpe-cover {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
#miniNowPlayingExpanded .dream-mnpe-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  text-align: center !important;
}
#miniNowPlayingExpanded .dream-mnpe-title {
  font-size: clamp(16px, 4.5vw, 22px) !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.1 !important;
  max-width: 20ch !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#miniNowPlayingExpanded .dream-mnpe-artist {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.6) !important;
}
#miniNowPlayingExpanded .dream-mnpe-progress {
  width: 100% !important;
  max-width: 280px !important;
  height: 20px !important;
  background: rgba(255,255,255,.1) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
}
#miniNowPlayingExpanded .dream-mnpe-progress-fill {
  height: 100% !important;
  background: #ff71c4 !important;
  border-radius: 10px !important;
  width: 0% !important;
  transition: width .4s linear !important;
}
#miniNowPlayingExpanded .dream-mnpe-progress:hover {
  background: rgba(255,255,255,.18) !important;
}
#miniNowPlayingExpanded .dream-mnpe-progress:active {
  background: rgba(255,255,255,.22) !important;
}
#miniNowPlayingExpanded .dream-mnpe-time {
  display: flex !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: 280px !important;
  font-size: 11px !important;
  color: rgba(255,255,255,.4) !important;
  font-variant-numeric: tabular-nums !important;
}
#miniNowPlayingExpanded .dream-mnpe-controls {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  margin-top: 4px !important;
}
#miniNowPlayingExpanded .dream-mnpe-prev,
#miniNowPlayingExpanded .dream-mnpe-next {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  border: none !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.8) !important;
  font-size: 18px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#miniNowPlayingExpanded .dream-mnpe-play {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  border: none !important;
  background: #ff71c4 !important;
  color: #fff !important;
  font-size: 22px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 20px rgba(255,113,196,.4) !important;
}
#miniNowPlayingExpanded .dream-mnpe-actions {
  display: flex !important;
  gap: 12px !important;
  margin-top: 2px !important;
}
#miniNowPlayingExpanded .dream-mnpe-like,
#miniNowPlayingExpanded .dream-mnpe-queue {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.6) !important;
  font-size: 16px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Mobile overrides for Now Playing card */
@media (max-width: 520px) {
  #miniNowPlayingExpanded {
    z-index: 2000 !important;
  }
  #miniNowPlayingExpanded .dream-mnpe-cover-wrap {
    width: min(80vw, 220px) !important;
  }
  #miniNowPlayingExpanded .dream-mnpe-controls {
    gap: 12px !important;
  }
  #miniNowPlayingExpanded .dream-mnpe-play {
    width: 52px !important;
    height: 52px !important;
  }
}

/* ── Queue Panel extras ─────────────────────────────────────────────── */

/* Panel sits above mini-player, below bottom nav */
#dreamQueuePanel {
  z-index: 1001 !important;
  background: rgba(8, 8, 12, 0.97) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Ensure badge number is readable */
.mini-np-queue-badge {
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
  text-align: center !important;
}

/* Queue open state — suppress mini-player on browse routes only */
body.queue-open[data-dream-route="discover"] #miniNowPlaying,
body.queue-open[data-dream-route="search"] #miniNowPlaying,
body.queue-open[data-dream-route="library"] #miniNowPlaying {
  display: none !important;
}

/* Bottom sheet on narrow screens */
@media (max-width: 520px) {
  #dreamQueuePanel {
    max-height: 72vh !important;
  }
  .dream-qp-list {
    max-height: calc(72vh - 160px) !important;
  }
}





/* Mobile bottom nav fit + hit-area hardening: six tabs must fit cleanly on 320px phones. */
@media (max-width: 520px) {
  body.dream-app-open .dream-bottom-tabs {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    gap: 0 !important;
    padding: 6px 6px max(6px, env(safe-area-inset-bottom)) !important;
    overflow: visible !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }
  body.dream-app-open .dream-bottom-tabs .dream-tab-btn,
  body.dream-app-open .dream-bottom-tabs .mobile-tab-btn {
    min-width: 0 !important;
    width: 100% !important;
    padding: 6px 2px !important;
    font-size: 9px !important;
    letter-spacing: .01em !important;
    border-radius: 9px !important;
    overflow: hidden !important;
  }
  body.dream-app-open .dream-bottom-tabs .dream-tab-label {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  body.dream-app-open .dream-bottom-tabs .dream-rail-chip,
  body.dream-app-open .dream-bottom-tabs .dream-rail-queue-mode,
  body.dream-app-open #dreamShortcutsBtn,
  body.dream-app-open #minimalAppBtn,
  body.dream-app-open #minimalModeToggle,
  body.dream-app-open #minimalQueueBtn {
    display: none !important;
    pointer-events: none !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-secondary {
    display: none !important;
  }
}

/* Mobile chrome cleanup: keep the mini-player as one clear bar, not random floating controls. */
@media (max-width: 520px) {
  /* Hide now-playing badge on mobile, but NOT notification badges ([data-unread]). */
  body.dream-app-open .dream-tab-btn.is-playing .dream-nav-badge:not([data-unread]) {
    display: none !important;
  }
  body.dream-app-open .dream-tab-btn.is-playing {
    opacity: 1 !important;
  }
  body.dream-app-open .mini-now-playing {
    left: 8px !important;
    right: 8px !important;
    bottom: calc(56px + env(safe-area-inset-bottom)) !important;
    overflow: hidden !important;
    min-height: 54px !important;
    padding: 8px 10px !important;
    border-radius: 18px !important;
    background: rgba(7, 8, 12, .96) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.08) !important;
    gap: 9px !important;
  }
  body.dream-app-open .mini-np-info {
    flex: 1 1 auto !important;
    min-width: 120px !important;
  }
  body.dream-app-open .mini-np-play {
    display: flex !important;
  }
  body.dream-app-open .mini-np-queue {
    display: flex !important;
  }
  body.dream-app-open .mini-np-volume {
    display: flex !important;
  }
  /* Hide UpNext, progress, volume slider, gear, queue, and volume on narrow phone */
  body.dream-app-open .mini-np-up-next,
  body.dream-app-open .mini-np-progress,
  body.dream-app-open .mini-np-volume-slider,
  body.dream-app-open .mini-np-gear,
  body.dream-app-open .mini-np-queue,
  body.dream-app-open .mini-np-volume {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="player"] .mini-now-playing {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-track-detail-surface--player {
    padding-top: 0 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-track-detail-surface--player .dream-track-detail-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
    margin: -2px -2px 12px !important;
    padding: 10px !important;
    border-radius: 18px !important;
    background: rgba(8, 9, 14, .96) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.32) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-close-detail-action--player {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    right: auto !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.12) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-track-detail-surface--player .dream-track-detail-copy {
    padding-top: 48px !important;
  }
}


/* v259: mobile player/library content-first polish */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-transport-card {
    gap: 8px !important;
    padding: 10px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-art-wrap {
    width: min(60vw, 150px) !important;
    margin-top: 2px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-controls {
    order: -3 !important;
    gap: 12px !important;
    margin: 0 auto 2px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-progress {
    order: -2 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-volume {
    order: -1 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-toggle-row {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-quick-actions {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    align-items: stretch !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-actions .dream-player-action {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 7px 9px !important;
    font-size: 9.7px !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-up-next-card {
    width: min(100%, 342px) !important;
    margin-top: 64px !important;
    padding: 10px 12px !important;
    background: linear-gradient(160deg, rgba(9, 13, 20, .84), rgba(13, 16, 24, .68)) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.28) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-up-next-inner {
    gap: 12px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-up-next-art {
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-up-next-btn {
    min-height: 44px !important;
    padding: 6px 11px !important;
    font-size: 9.5px !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  body.dream-app-open .dream-library-route > .dream-library-overview-grid:first-child {
    margin-top: 0 !important;
  }
  body.dream-app-open .dream-hero--library {
    padding: 12px !important;
    gap: 8px !important;
  }
  body.dream-app-open .dream-hero--library h2 {
    font-size: clamp(19px, 5vw, 23px) !important;
    line-height: 1.04 !important;
  }
  body.dream-app-open .dream-library-summary-copy,
  body.dream-app-open .dream-hero--library .dream-hero-badges,
  body.dream-app-open .dream-hero--library .dream-hero-inline-links {
    display: none !important;
  }
  body.dream-app-open .dream-hero--library .dream-library-status-row {
    /* v15: show status row on phone */
  }
  body.dream-app-open .dream-library-toolbar {
    padding: 10px !important;
    gap: 8px !important;
  }
  body.dream-app-open .dream-library-toolbar-head {
    display: none !important;
  }
  body.dream-app-open .dream-library-search-field input {
    min-height: 38px !important;
    font-size: 12px !important;
  }
  body.dream-app-open .dream-library-toolbar-utility-row {
    display: flex !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
    gap: 8px !important;
    align-items: center !important;
  }
  body.dream-app-open .dream-library-filter-row {
    display: flex !important;
    flex-wrap: wrap !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    gap: 5px !important;
    padding-inline: 0 !important;
    scroll-padding-inline: 0 !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  body.dream-app-open .dream-library-filter {
    flex: 0 0 auto !important;
    min-height: 30px !important;
    padding: 6px 6px !important;
    font-size: 9.5px !important;
    white-space: nowrap !important;
  }
  body.dream-app-open .dream-library-toolbar-mode-cluster {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
}


/* v260: tiny-phone player fit — keep primary controls and actions in the first fold. */
@media (max-width: 360px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-volume {
    order: -1 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-art-wrap {
    width: min(56vw, 144px) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-action--compact {
    padding: 6px 8px !important;
    font-size: 10px !important;
  }
}

/* ── Swarm QA polish: mobile nav, banners, chips, desktop queue ── */
@media (max-width: 520px) {
  #dreamStatsTab {
    display: none !important;
  }
  body.dream-app-open .dream-bottom-tabs {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
  body.dream-app-open:has(#dreamwave-install-banner.visible) #dreamAppContent,
  body.dream-app-open:has(#dreamwave-install-banner[style*="display: flex"]) #dreamAppContent {
    padding-top: max(82px, env(safe-area-inset-top)) !important;
  }
  .dream-search-pill-row--start,
  .dream-library-filter-row,
  .dream-mood-filter-row,
  .dream-search-scopes {
    padding-inline: 10px 40px !important;
    scroll-padding-inline: 10px 40px !important;
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 34px), rgba(0,0,0,0.18) 100%) !important;
    mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 34px), rgba(0,0,0,0.18) 100%) !important;
  }
  /* DW-VIS-DISCOVER-PARTY-PILL-CLIP: fix structural overflow — row is a flex item inside a
     flex container (column or block) with overflow-x:hidden, and flex-shrink:1 is letting
     the browser shrink the row from its natural 406px content-width down to 356px parent width.
     This pushes the 6th chip off-screen. Fix: prevent shrinking and use full width. */
  .dream-mood-filter-row {
    -webkit-mask-image: none !important;
    mask-image: none !important;
    flex-shrink: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (min-width: 900px) {
  #dreamQueuePanel {
    left: auto !important;
    right: 24px !important;
    bottom: 24px !important;
    width: min(420px, calc(100vw - var(--dream-rail-width, 280px) - 56px)) !important;
    max-height: min(70vh, 620px) !important;
    border-radius: 22px !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    transform: translateY(calc(100% + 32px)) !important;
  }
  #dreamQueuePanel.open {
    transform: translateY(0) !important;
  }
}

.dream-audio-settings-sheet {
  background: rgba(8, 10, 18, .96) !important;
  backdrop-filter: blur(18px) saturate(1.15) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.15) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.52) !important;
}

/* ── Share QR Code Section ────────────────────────────────────────── */
.dream-share-qr-section {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 6px 4px;
  /* QR library injects an <img> and <canvas>; style the wrapper */
}

.dream-share-qr-section img,
.dream-share-qr-section canvas {
  border-radius: 10px;
  border: 1px solid rgba(160, 164, 200, .28);
  /* Ensure at least 180×180 on all surfaces */
  width: 180px !important;
  height: 180px !important;
  display: block;
}

@media (max-width: 640px) {
  .dream-share-qr-section {
    padding: 12px 8px 6px;
  }
  .dream-share-qr-section img,
  .dream-share-qr-section canvas {
    width: min(200px, calc(100vw - 80px)) !important;
    height: min(200px, calc(100vw - 80px)) !important;
  }
}

/* ── Playlist Share Popup ───────────────────────────────────────────── */
.dream-playlist-share-url-bar {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 12px 4px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 4px;
}
.dream-playlist-share-url-label {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: rgba(255,255,255,.4);
}
.dream-playlist-share-url-value {
  font-size: 11px;
  color: rgba(160,164,200,.9);
  word-break: break-all;
  line-height: 1.3;
}
.dream-playlist-share-qr-toggle {
  min-height: 44px !important;
}
@media (max-width: 640px) {
  .dream-playlist-share-url-bar {
    padding: 10px 14px 6px;
  }
  .dream-playlist-share-qr-toggle {
    min-height: 44px !important;
    min-width: 44px !important;
  }
}



/* DW-031 fix: show .dream-player-secondary on player route so preview rows + More button are visible */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-secondary {
    display: grid !important;
  }
}

/* ── DW-FEAT-015: Discover Trending Enrichment ─────────────────────────────────── */
/* Distinct badge for "Fresh in the stack" shelf — avoids duplicate 'fresh' look */
.dream-status-chip--stack {
  background: rgba(148,123,255,.10) !important;
  color: rgba(210,200,255,.90) !important;
  border-color: rgba(148,123,255,.20) !important;
}

/* Ensure all shelf play buttons meet 44px minimum touch target on mobile */
@media (max-width: 640px) {
  .dream-row-play {
    min-width: 44px !important;
    min-height: 44px !important;
  }
  /* Also enforce 44px on inline play actions inside collection rows */
  .dream-collection-row .dream-row-play,
  .dream-track-row .dream-row-play {
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

/* ── DW-FEAT-058: Settings Route Mobile Polish ─────── */
/* ≥44px touch targets for loop/cycle buttons on phone */
@media (max-width: 640px) {
  .dream-settings-switch-block .dream-action-grid button {
    min-height: 44px !important;
  }
}

/* Login CTA block */
.dream-settings-login-cta {
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: rgba(30, 215, 96, 0.08) !important;
  border: 1px solid rgba(30, 215, 96, 0.25) !important;
  display: grid !important;
  gap: 10px !important;
}
.dream-settings-login-cta p {
  font-size: 12.5px !important;
  color: rgba(255,255,255,.72) !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}
.dream-settings-login-cta .dream-primary {
  background: var(--dw-green) !important;
  color: #050506 !important;
  border-color: var(--dw-green) !important;
  width: 100% !important;
}

/* ── Settings: Video selector grid ───────────────────────── */
.dream-settings-video-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important;
  gap: 10px !important;
  margin: 12px 0 !important;
}
.dream-video-select-card {
  background: rgba(255,255,255,.06) !important;
  border: 1.5px solid rgba(255,255,255,.12) !important;
  border-radius: 12px !important;
  padding: 10px 8px !important;
  cursor: pointer !important;
  text-align: center !important;
  min-height: 80px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  transition: border-color .15s, background .15s !important;
}
.dream-video-select-card:active {
  background: rgba(255,255,255,.10) !important;
}
.dream-video-select-card.active {
  border-color: var(--dw-purple, #a855f7) !important;
  background: rgba(168,85,247,.15) !important;
}
.dream-video-select-card .video-thumb {
  width: 60px !important;
  height: 36px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
  opacity: .75 !important;
}
.dream-video-select-card.active .video-thumb {
  opacity: 1 !important;
}
.dream-video-select-label {
  font-size: 11px !important;
  color: rgba(255,255,255,.70) !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}
.dream-video-select-card.active .dream-video-select-label {
  color: rgba(255,255,255,.95) !important;
}
.dream-video-select-mood {
  font-size: 10px !important;
  color: rgba(255,255,255,.45) !important;
  line-height: 1.3 !important;
}
.dream-video-select-card.active .dream-video-select-mood {
  color: rgba(255,255,255,.65) !important;
}
.dream-video-select-check {
  color: var(--dw-purple, #a855f7) !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

/* ── Settings: Loop/Cycle toggle rows ──────────────────── */
.dream-settings-loop-cycle {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  margin: 14px 0 !important;
}
.dream-settings-control-group {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}
.dream-settings-control-group .control-label {
  font-size: 13px !important;
  color: rgba(255,255,255,.70) !important;
  font-weight: 500 !important;
  flex: 0 0 auto !important;
}
.dream-settings-toggle-row {
  display: flex !important;
  gap: 6px !important;
  flex: 0 0 auto !important;
}
.dream-loop-btn,
.dream-cycle-btn {
  padding: 8px 14px !important;
  border-radius: 8px !important;
  border: 1.5px solid rgba(255,255,255,.20) !important;
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.70) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  min-height: 44px !important;
  min-width: 60px !important;
  transition: all .15s !important;
}
.dream-loop-btn:active,
.dream-cycle-btn:active {
  background: rgba(255,255,255,.12) !important;
}
.dream-loop-btn.active,
.dream-cycle-btn.active {
  border-color: var(--dw-purple, #a855f7) !important;
  background: rgba(168,85,247,.20) !important;
  color: #fff !important;
}

/* ── Settings: Audio shortcut row ───────────────────────── */
.dream-settings-audio-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 10px 12px !important;
  background: rgba(255,255,255,.04) !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  margin-top: 4px !important;
}
.dream-settings-audio-row .audio-label {
  font-size: 13px !important;
  color: rgba(255,255,255,.70) !important;
}

/* ≤420px: tighter Settings shell layout */
@media (max-width: 420px) {
  .dream-settings-shell {
    gap: 10px !important;
  }
  .dream-settings-utility-grid {
    gap: 10px !important;
  }
  /* Hero actions stack on very narrow phones */
  .dream-settings-shell .dream-hero-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .dream-settings-shell .dream-hero-actions button {
    width: 100% !important;
  }
  /* Video-state rows breathe on phone */
  .dream-settings-video-state {
    margin-top: 10px !important;
  }
  /* Compact hero padding on Settings */
  .dream-settings-shell .dream-hero {
    padding: 12px 12px 14px !important;
  }
  .dream-settings-shell .dream-hero h2 {
    font-size: clamp(18px, 7vw, 24px) !important;
  }
  /* Settings cards tighter on phone */
  .dream-settings-playback-card {
    padding: 12px !important;
  }
  .dream-settings-install-card {
    padding: 12px !important;
  }
  /* About section */
  .dream-settings-about {
    padding: 12px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.04) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    margin-top: 4px !important;
  }
  .dream-settings-about p {
    font-size: 11px !important;
    color: rgba(255,255,255,.38) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }
}

/* ── Discover mood filter empty state ─────────────────── */
.dream-discover-mood-empty {
  text-align: center;
  padding: 32px 20px;
  color: rgba(255, 255, 255, 0.65);
}
.dream-discover-mood-empty p {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.5;
}
.dream-discover-mood-empty .dream-mood-chip {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.8);
  flex-shrink: 0;
}

/* ── Discover richness shelves — new drops / resume / trending mobile ── */
.dream-section--new-drops,
.dream-section--resume-listening,
.dream-section--trending-mobile,
.dream-section--recently-played {
  padding: 14px 16px !important;
  margin-bottom: 0 !important;
}
.dream-section--resume-listening {
  padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
}

.dream-new-drops-scroll,
.dream-resume-scroll {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 0 2px 80px !important;
  scrollbar-width: none !important;
  padding-bottom: max(80px, calc(80px + env(safe-area-inset-bottom))) !important;
}
.dream-new-drops-scroll::-webkit-scrollbar,
.dream-resume-scroll::-webkit-scrollbar {
  display: none !important;
}
.dream-new-drops-scroll .dream-collection-row,
.dream-resume-scroll .dream-collection-row {
  flex: 0 0 220px !important;
  display: flex !important;
  align-items: center !important;
}
.dream-new-drops-scroll .dream-collection-track-main,
.dream-resume-scroll .dream-collection-track-main {
  flex: 1 !important;
  min-width: 0 !important;
}
.dream-new-drops-scroll .dream-row-play,
.dream-resume-scroll .dream-row-play {
  flex-shrink: 0 !important;
  font-size: 14px !important;
  width: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.dream-new-drops-scroll .dream-row-art,
.dream-resume-scroll .dream-row-art {
  width: 36px !important;
  height: 36px !important;
  flex-shrink: 0 !important;
  border-radius: 8px !important;
  object-fit: cover !important;
}
.dream-new-drops-scroll .dream-collection-track-copy,
.dream-resume-scroll .dream-collection-track-copy {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  overflow: hidden !important;
  min-width: 0 !important;
}
.dream-new-drops-scroll .dream-collection-track-copy strong,
.dream-resume-scroll .dream-collection-track-copy strong {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #fff !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.dream-new-drops-scroll .dream-collection-track-copy em,
.dream-resume-scroll .dream-collection-track-copy em {
  font-size: 11px !important;
  color: rgba(255, 255, 255, 0.50) !important;
  font-style: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.dream-new-drops-scroll .dream-row-stat,
.dream-resume-scroll .dream-row-stat {
  font-size: 10px !important;
  color: rgba(255, 255, 255, 0.45) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.dream-new-drops-scroll .dream-collection-track-actions,
.dream-resume-scroll .dream-collection-track-actions {
  flex-shrink: 0 !important;
}
.dream-new-drops-scroll .dream-row-actions,
.dream-resume-scroll .dream-row-actions {
  display: none !important;
}

/* ─── Latest Drop Shelf — DW-FEAT-NIGHT_PROTOCOL ─────────────────────────── */
.dream-section--latest-drop {
  background: linear-gradient(135deg, rgba(30, 10, 60, 0.85) 0%, rgba(10, 20, 50, 0.90) 100%) !important;
  border: 1px solid rgba(138, 80, 255, 0.30) !important;
  border-radius: 14px !important;
  padding: 18px 16px 10px !important;
}
@media (max-width: 520px) {
  .dream-section--latest-drop {
    padding: 14px 12px 10px !important;
    max-width: 100% !important;
    margin-top: 30px !important;
    margin-bottom: 10px !important;
    display: block !important;
  }
  .dw-drop-tiles-scroll {
    margin-bottom: 8px !important;
    padding-bottom: 2px !important;
  }
  .dw-drop-tile {
    flex: 0 0 88px !important;
    padding: 6px !important;
  }
  .dw-drop-tile-cover {
    aspect-ratio: 1 !important;
    height: 44px !important;
    max-height: 44px !important;
  }
  .dw-drop-tile-meta {
    gap: 3px !important;
  }
  .dw-drop-tile-title {
    font-size: 11px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }
  .dw-drop-tile-artist {
    font-size: 10px !important;
    line-height: 1.2 !important;
  }
  .dw-drop-actions {
    margin-top: 6px !important;
  }
  .dw-drop-play-all {
    padding: 6px 14px !important;
    font-size: 11px !important;
  }
}
.dw-drop-head-text {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 2px;
}
.dw-drop-head-text h3 {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 8px rgba(0,0,0,0.85), 0 0 4px rgba(0,0,0,0.6) !important;
}
.dw-drop-chip {
  background: linear-gradient(90deg, #a259ff, #5b8dee) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}
.dw-drop-head-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 12px;
}
.dw-drop-pack-name {
  font-size: 18px;
  font-weight: 800;
  color: #e0cfff;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-shadow: 0 1px 10px rgba(0,0,0,0.85), 0 0 5px rgba(0,0,0,0.6) !important;
}
.dw-drop-released {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.90) !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-shadow: 0 1px 8px rgba(0,0,0,0.85), 0 0 4px rgba(0,0,0,0.6) !important;
}
.dw-drop-tiles-scroll {
  display: flex;
  flex-direction: row;
  gap: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 4px;
  margin-bottom: 12px;
}
.dw-drop-tiles-scroll::-webkit-scrollbar { display: none; }
.dw-drop-tile {
  flex: 0 0 100px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(138,80,255,0.15);
  border-radius: 10px;
  padding: 8px;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s ease, border-color 0.15s ease;
  min-width: 0;
  overflow: hidden;
}
.dw-drop-tile:hover,
.dw-drop-tile:focus {
  background: rgba(138, 80, 255, 0.18);
  border-color: rgba(138, 80, 255, 0.45);
}
.dw-drop-tile-cover {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 7px;
  object-fit: cover;
  display: block;
  background: rgba(255,255,255,0.08);
}
.dw-drop-tile-cover--placeholder {
  background: linear-gradient(135deg, rgba(80,30,120,0.8), rgba(20,20,60,0.9));
}
.dw-drop-tile-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  width: 100%;
}
.dw-drop-tile-title {
  font-size: 11px;
  font-weight: 600;
  color: #e8e0ff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  text-shadow: 0 1px 5px rgba(0,0,0,0.75) !important;
  min-width: 0;
  flex: 1 1 auto;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
}
.dw-drop-tile-artist {
  font-size: 10px;
  color: rgba(200,180,255,0.55);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  min-width: 0;
}
.dw-drop-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.dw-drop-play-all {
  background: linear-gradient(90deg, #7c3fff, #4a80d4) !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 8px 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #fff !important;
  cursor: pointer !important;
  transition: opacity 0.15s ease !important;
  letter-spacing: 0.02em !important;
}
.dw-drop-play-all:hover { opacity: 0.85 !important; }

/* ─── DW-TABLET-FIX-1: Latest Drop card head — stack vertically ─────────── */
/* Overrides the global .dream-section-head flex-row so heading+chip sit on   */
/* their own line, pack name + date on the next line — no horizontal cramming  */
.dream-section--latest-drop .dream-section-head {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  margin-bottom: 10px !important;
}

/* ─── DW-TABLET-FIX-2: Mood filter chips — remove edge-fade mask on wide tablet ── */
/* At ≥900px the mask-image fades out the rightmost chip; on a 1200px tablet   */
/* there's enough room to show all chips without the fade.                      */
@media (min-width: 1024px) {
  .dream-mood-filter-row {
    -webkit-mask-image: none !important;
    mask-image: none !important;
    padding-inline: 0 16px !important;
    scroll-padding-inline: 0 16px !important;
  }
}


/* Tablet (1200x1920 @ 2x = 600px CSS) and wider: remove right-side mask-fade  */
/* on pill rows so the last chip is never obscured by the gradient overlay.     */
@media (min-width: 560px) {
  .dream-search-pill-row--start,
  .dream-search-pill-row--scroll,
  .dream-search-pill-row--moods,
  .dream-library-filter-row,
  .dream-mood-filter-row {
    -webkit-mask-image: none !important;
    mask-image: none !important;
    padding-inline-end: 16px !important;
    scroll-padding-inline-end: 16px !important;
  }
}

/* ─── DW-FEAT-089: Creator Profile Play All / Shuffle All buttons ─── */
/* Creator hero actions: Play All and Shuffle All CTAs */
.dream-creator-play-all,
.dream-creator-shuffle {
  min-height: 44px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
  border-radius: 22px !important;
  flex: 1 1 auto !important;
  white-space: nowrap !important;
}

@media (max-width: 420px) {
  .dream-hero-actions .dream-creator-play-all,
  .dream-hero-actions .dream-creator-shuffle {
    min-height: 44px !important;
    font-size: 12px !important;
    padding: 0 12px !important;
  }
}

/* ─── DW-FEAT-091: Playlist Detail Play All / Shuffle All / Play Latest ─── */
/* Playlist hero actions: Play All, Shuffle, and Play Latest CTAs */
.dream-playlist-detail-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}
.dream-playlist-detail-actions .dream-playlist-latest,
.dream-playlist-detail-actions .dream-playlist-play-all,
.dream-playlist-detail-actions .dream-playlist-shuffle {
  min-height: 44px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
  flex: 0 0 auto !important;
}
.dream-playlist-detail-actions .dream-secondary[disabled],
.dream-playlist-detail-actions .dream-primary[disabled] {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}
.dream-playlist-detail-actions .dream-playlist-share-action {
  min-height: 44px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
  flex: 0 0 auto !important;
}

@media (max-width: 420px) {
  .dream-playlist-detail-actions {
    gap: 6px !important;
  }
  .dream-playlist-detail-actions .dream-playlist-latest,
  .dream-playlist-detail-actions .dream-playlist-play-all,
  .dream-playlist-detail-actions .dream-playlist-shuffle {
    min-height: 44px !important;
    font-size: 12px !important;
    padding: 0 10px !important;
  }
  .dream-playlist-detail-actions .dream-playlist-share-action {
    min-height: 44px !important;
    font-size: 12px !important;
    padding: 0 10px !important;
  }
}

/* Search result type pills — categorize results by type (Tracks / Playlists / Creators) */
.dream-search-result-type-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 12px !important;
}
.dream-search-result-type-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.05) !important;
  color: rgba(255,255,255,.78) !important;
  text-align: left !important;
  font: 700 11px/1 'DM Sans', system-ui, sans-serif !important;
  cursor: pointer !important;
}
.dream-search-result-type-pill:hover {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.2) !important;
}
.dream-search-result-type-pill.active {
  border-color: rgba(255,113,206,.30) !important;
  background: rgba(255,113,206,.10) !important;
  color: rgba(255,255,255,.96) !important;
}

/* Search zero-state — styled empty state with mood suggestion chips */
.dream-search-zero-state {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 36px 20px !important;
  text-align: center !important;
}
.dream-search-zero-icon {
  font-size: 32px !important;
  line-height: 1 !important;
  opacity: 0.5 !important;
}
.dream-search-zero-title {
  font: 800 16px/1.3 'DM Sans', system-ui, sans-serif !important;
  color: rgba(255,255,255,.95) !important;
  margin: 0 !important;
}
.dream-search-zero-subtitle {
  font: 400 13px/1.4 'DM Sans', system-ui, sans-serif !important;
  color: rgba(255,255,255,.50) !important;
  margin: 0 !important;
  max-width: 280px !important;
}
.dream-search-zero-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 4px !important;
}
.dream-zero-mood-chip {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,113,206,.25) !important;
  background: rgba(255,113,206,.08) !important;
  color: rgba(255,255,255,.82) !important;
  text-align: center !important;
  font: 700 12px/1 'DM Sans', system-ui, sans-serif !important;
  cursor: pointer !important;
}
.dream-zero-mood-chip:hover {
  background: rgba(255,113,206,.16) !important;
  border-color: rgba(255,113,206,.45) !important;
}

@media (max-width: 520px) {
  .dream-search-result-type-pill {
    min-height: 40px !important;
    padding: 6px 10px !important;
    font-size: 10px !important;
  }
  .dream-zero-mood-chip {
    min-height: 40px !important;
    padding: 6px 12px !important;
    font-size: 11px !important;
  }
}

/* ── DW-FEAT-115: Share route (#share/{token}) — public playlist view ── */
.dream-share-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  padding: 40px 16px;
}
.dream-share-loading-inner {
  text-align: center;
}
.dream-share-loading-text {
  color: rgba(255,255,255,0.5);
  font-size: 14px;
  margin-top: 8px;
}
.dream-share-page {
  padding: 16px;
  min-height: 100%;
}
.dream-share-header {
  margin-bottom: 20px;
}
.dream-share-header-inner {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 14px;
}
.dream-share-mosaic-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 3px;
  width: 120px;
  height: 120px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  background: rgba(255,255,255,0.05);
}
.dream-share-mosaic-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.dream-share-title-area {
  flex: 1;
  min-width: 0;
}
.dream-share-kicker {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  display: block;
  margin-bottom: 4px;
}
.dream-share-title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 6px;
  word-break: break-word;
}
.dream-share-playlist-description {
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  margin: 0 0 6px;
}
.dream-share-count {
  font-size: 12px;
  color: rgba(255,255,255,0.35);
  margin: 0;
}
.dream-share-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.dream-share-track-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.dream-share-track-row {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  gap: 10px;
  align-items: center;
  padding: 8px 4px;
  border-radius: 8px;
  transition: background 0.15s;
}
.dream-share-track-row:hover {
  background: rgba(255,255,255,0.04);
}
.dream-share-track-cover {
  width: 44px;
  height: 44px;
  border-radius: 6px;
  object-fit: cover;
  display: block;
}
.dream-share-track-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.dream-share-track-name {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dream-share-track-artist {
  font-size: 11px;
  color: rgba(255,255,255,0.4);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dream-share-track-play {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dream-share-track-play:hover {
  background: var(--dw-green, #1ed760);
  color: #000;
}
.dream-share-track-play[disabled] {
  opacity: 0.3;
  cursor: default;
}

/* Mobile share route */
@media (max-width: 640px) {
  .dream-share-header-inner {
    flex-direction: column;
    gap: 12px;
  }
  .dream-share-mosaic-grid {
    width: 100%;
    height: 160px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr;
  }
  .dream-share-title {
    font-size: 18px;
  }
  .dream-share-actions {
    gap: 6px;
  }
  .dream-share-actions .dream-primary,
  .dream-share-actions .dream-secondary {
    flex: 1;
    min-width: 0;
    text-align: center;
  }
}

/* ─── DW-VIS-175 FIX: Library sidebar chrome bleed + contrast ─────────────────────── */
/* Fix 1: LOCAL ONLY badge — increase background opacity for contrast over bright cinematic video */
body.dream-app-open[data-dream-route="library"] .dream-library-source {
  background: rgba(4,6,10,.72) !important;
}
body.dream-app-open[data-dream-route="library"] .dream-library-source strong {
  color: #fff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.55) !important;
}
body.dream-app-open[data-dream-route="library"] .dream-library-source span {
  color: rgba(255,255,255,.88) !important;
}

/* Fix 2: Library filter tabs — ensure no right-edge clip at any viewport width */
body.dream-app-open[data-dream-route="library"] .dream-app-tabs {
  overflow-x: auto !important;
  flex-wrap: nowrap !important;
  scrollbar-width: none !important;
}
body.dream-app-open[data-dream-route="library"] .dream-app-tabs::-webkit-scrollbar {
  display: none !important;
}
body.dream-app-open[data-dream-route="library"] .dream-app-tabs button {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* Fix 3: Library route sections — prevent horizontal overlap by ensuring min-width:0 on grid children */
body.dream-app-open[data-dream-route="library"] .dream-library-overview-grid > *,
body.dream-app-open[data-dream-route="library"] .dream-section {
  min-width: 0 !important;
  overflow: hidden !important;
}

/* Fix 4: Quick view panel — ensure it doesn't push section grid off-screen */
body.dream-app-open[data-dream-route="library"] .dream-library-workspace {
  overflow: hidden !important;
}
body.dream-app-open[data-dream-route="library"] .dream-library-workspace > * {
  min-width: 0 !important;
  overflow: hidden !important;
}

/* Fix 5: Library hero actions row — prevent button clip on right edge */
body.dream-app-open[data-dream-route="library"] .dream-hero-actions {
  flex-wrap: wrap !important;
  max-width: 100% !important;
}
body.dream-app-open[data-dream-route="library"] .dream-hero-actions button {
  flex: 0 0 auto !important;
}

/* Fix 6: Library content area — ensure scrollable when content exceeds viewport */
body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content {
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}

/* Fix 7: Section cards — ensure no overflow of content, allow vertical scroll within each section */
body.dream-app-open[data-dream-route="library"] .dream-section {
  overflow: hidden !important;
}

/* Fix 8: Explore playlists button — ensure fully visible, not clipped */
body.dream-app-open[data-dream-route="library"] .dream-section--library-followed .dream-section-head,
body.dream-app-open[data-dream-route="library"] .dream-section--library-offline .dream-section-head {
  flex-wrap: wrap !important;
}

/* ─── DW-VIS-LIBRARY-CARD-OVERLAP ─────────────────────────────────────────────── */
/* Root cause: zero vertical margin between sections + overflow:hidden clipping
   Liked songs bottom half. "Followed" and "My Playlists" have no gap; "Liked songs"
   cards overflow and get clipped by bottom chrome. The existing overflow:hidden on
   .dream-section was counterproductive — it clips content that should be reachable.
   Fix: add explicit inter-section margin-bottom, convert overview grid to flex
   column so gap works, remove overflow:hidden from sections, and increase bottom
   breathing room. */
@media (max-width: 520px) {
  /* 1. Remove overflow:hidden that was clipping Liked songs cards */
  body.dream-app-open[data-dream-route="library"] .dream-section {
    overflow: visible !important;
  }

  /* 2. Ensure overview grid is a proper vertical flex column with gap between sections */
  body.dream-app-open[data-dream-route="library"] .dream-library-overview-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  /* 3. Each section card gets explicit bottom margin — this is the primary fix for
     zero-gap between "Followed"/"My Playlists" and "Liked songs". Using gap alone
     was insufficient; margin-bottom ensures every card bottom clears the next card top. */
  body.dream-app-open[data-dream-route="library"] .dream-library-overview-grid > .dream-section {
    margin-bottom: 14px !important;
    flex-shrink: 0 !important;
  }

  /* 4. Bottom breathing room so last section clears mini-player + tabs + nav bar.
     Target #dreamAppContent which is the actual scroll container, not a non-existent
     descendant selector. Galaxy S20+ observed: 52px mini-player, 64px tabs,
     ~138px safe-area-inset-bottom contribution; total observed scrollable bottom = 138px. */
  body.dream-app-open[data-dream-route="library"] #dreamAppContent {
    padding-bottom: max(192px, calc(52px + 72px + env(safe-area-inset-bottom) + 32px)) !important;
  }
}

/* ─── END DW-VIS-LIBRARY-CARD-OVERLAP FIX ──────────────────────────────────────── */

/* ─── END DW-VIS-175 FIX ─────────────────────────────────────────────────────────── */

/* ─── DW-FULL-UI-AUDIT-20260521 ──────────────────────────────────────────────────
   Real-phone Samsung Internet audit: fixed chrome was still allowing browse
   content to slide under the mini-player/tab rail. Keep the persistent chrome
   in the viewport, but shrink the scroll viewport and add route-level bottom
   breathing room so lower cards/headers can scroll fully clear. */
@media (max-width: 520px) {
  body.dream-app-open.dream-has-mini-player:not([data-dream-route="player"]) .dream-app-main,
  body.dream-app-open.dream-has-mini-player:not([data-dream-route="player"]) #dreamAppMain {
    height: calc(100dvh - max(18px, env(safe-area-inset-top)) - 146px) !important;
    max-height: calc(100dvh - max(18px, env(safe-area-inset-top)) - 146px) !important;
  }

  body.dream-app-open.dream-has-mini-player:not([data-dream-route="player"]) #minimal-ui .dream-app-content {
    padding-bottom: max(184px, calc(52px + 58px + env(safe-area-inset-bottom) + 12px)) !important;
  }

  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="discover"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="studio"] #minimal-ui .dream-app-content {
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: max(184px, calc(52px + 58px + env(safe-area-inset-bottom) + 12px)) !important;
  }

  body.dream-app-open .mini-now-playing,
  body.dream-app-open #miniNowPlaying {
    bottom: calc(58px + env(safe-area-inset-bottom)) !important;
    min-height: 52px !important;
    box-shadow: 0 -10px 24px rgba(0,0,0,.34) !important;
  }

  body.dream-app-open .dream-bottom-tabs {
    min-height: 58px !important;
    padding-top: 7px !important;
    padding-bottom: max(8px, env(safe-area-inset-bottom)) !important;
  }

  body.dream-app-open[data-dream-route="studio"] .dream-creator-gate-support {
    gap: 8px !important;
    padding-bottom: 10px !important;
  }
  body.dream-app-open[data-dream-route="studio"] .dream-studio-upgrade {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    padding: 10px 12px !important;
    margin: 0 !important;
  }
}
/* DW-VIS-DISCOVER-MINI-PLAYER-OVERLAP fix (fix worker):
   Root cause: appMain height = 100dvh - 18px - 146px = ~559px on Galaxy S20+.
   But 146px does not account for the full stacked chrome (mini-player 52px +
   tabs 63px + safe-area ~24px = 139px). The latest-drop section is 287px tall
   and bottom=714, but appContent's visible area ends at 670, clipping 44px
   behind the mini-player (top=587, bottom=639).
   Fix: reduce the height deduction so appMain gains ~52px more content height.
   New deduction = 18 + 52(mini) + 63(tabs) + 24(safe-area) + 16(buffer) = 173px.
   On Galaxy S20+: 723 - 18 - 173 = 532px → appContent visible area = 632px.
   latest-drop bottom=714, mini-player top=587, overlap = 714 - 632 = 82px STILL clipped.
   Alternative fix: since the latest-drop section needs 287px, we need the content
   visible area to reach at least 714. So appMain must be at least 714 + safe-bottom.
   Set deduction to 0 — let appMain fill 100dvh - top-safe area.
   This means discover content scrolls under the mini-player/tabs which are fixed chrome. */
@media (max-width: 520px) {
  body.dream-app-open.dream-has-mini-player[data-dream-route="discover"] #dreamAppMain {
    height: calc(100dvh - max(18px, env(safe-area-inset-top)) - 100px) !important;
    max-height: calc(100dvh - max(18px, env(safe-area-inset-top)) - 100px) !important;
  }
}

/* ─── END DW-FULL-UI-AUDIT-20260521 ────────────────────────────────────────────── */

/* ─── DW-FIX-ARTWORK-TAP + DW-FIX-ARTIST-TAP ─────────────────────────────────── */
/* Bug 1: marquee art shell is now a button — reset browser defaults */
button.dream-discover-marquee-art-shell {
  padding: 0 !important;
  border: none !important;
  background: none !important;
  cursor: pointer !important;
  display: block !important;
}
/* Bug 2: artist link in now-playing strip */
.dream-discover-np-artist {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  cursor: pointer !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-decoration-color: rgba(255,255,255,0.35) !important;
}
.dream-discover-np-artist:hover,
.dream-discover-np-artist:focus {
  text-decoration-color: rgba(255,255,255,0.75) !important;
  color: #fff !important;
}
/* ─── END DW-FIX-ARTWORK-TAP + DW-FIX-ARTIST-TAP ─────────────────────────────── */

/* ─── DW-POLISH-2026-05-21 ───────────────────────────────────────────────────── */
/* FIX 1: Flip-card info button clipped by overflow:hidden on card containers    */
/* .minimal-player-card and .minimal-player-card-stage both have overflow:hidden  */
/* causing the 48px circle button at top-right (right:10px) to be half-cut.      */
.minimal-player-card,
.minimal-player-card-stage {
  overflow: visible !important;
}
/* Keep clipping only on the face divs themselves (preserves album art corners) */
.minimal-player-face {
  overflow: hidden !important;
  border-radius: 20px !important;
}

/* FIX 2: Search hero left padding too tight (4px 9px) — title flush to edge     */
@media (max-width: 768px) {
  body.dream-app-open .dream-hero--search {
    padding: 6px 14px 4px !important;
  }
}

/* FIX 3: Inactive nav tabs too dim (opacity .62) on dark tab bar                */
/* Raised to .78 so LIBRARY/SEARCH/STUDIO/ACCOUNT are legible without being      */
/* confused with the active (opacity 1 + green) state.                           */
.dream-tab-btn {
  opacity: .78 !important;
}
.dream-tab-btn.active {
  opacity: 1 !important;
}
/* ─── END DW-POLISH-2026-05-21 ───────────────────────────────────────────────── */

/* DW-CINEMATIC-VISIBILITY-20260521: make the cinematic video/fallback visible again on mobile browse routes.
   The video element was technically playing, but opaque route cards made the app read as a dashboard.
   Keep text contrast while exposing the moving neon backdrop through the shell. */
body.dream-app-open::after {
  content: '' !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background-image: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.18) 46%, rgba(0,0,0,.28)) !important;
}
body.dream-app-open #minimal-ui {
  background: transparent !important;
}
body.dream-app-open #minimal-ui .dream-section,
body.dream-app-open #minimal-ui .dream-card,
body.dream-app-open #minimal-ui .dream-panel,
body.dream-app-open #minimal-ui .dream-app-sheet,
body.dream-app-open #minimal-ui .dream-app-panel,
body.dream-app-open #minimal-ui .dream-collection-row,
body.dream-app-open #minimal-ui .dream-collection-row--track,
body.dream-app-open #minimal-ui button.dream-collection-row--playlist,
body.dream-app-open #minimal-ui .dream-mobile-now-playing,
body.dream-app-open #minimal-ui .dream-now-playing-bar,
body.dream-app-open #minimal-ui .dream-mini-player {
  background-color: rgba(7,8,12,.54) !important;
  background-image: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)) !important;
  border-color: rgba(255,255,255,.13) !important;
  backdrop-filter: blur(10px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(10px) saturate(1.18) !important;
}
@media (max-width: 640px) {
  body.dream-app-open #minimal-ui .dream-section {
    background-color: rgba(7,8,12,.42) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.18) !important;
  }
  body.dream-app-open #minimal-ui .dream-collection-row,
  body.dream-app-open #minimal-ui .dream-collection-row--track,
  body.dream-app-open #minimal-ui button.dream-collection-row--playlist {
    background-color: rgba(7,8,12,.48) !important;
  }
  body.dream-app-open #minimal-ui .dream-section--trending,
  body.dream-app-open #minimal-ui .dream-section--trending-mobile {
    background-color: rgba(7,8,12,.34) !important;
  }
  body.dream-app-open #minimal-ui .dream-app-content {
    padding-top: 8px !important;
  }
}

/* DW-PHONE-20260521 real-device polish: no clipped rails, cleaner first-fold player. */
@media (max-width: 520px) {
  html,
  body,
  #minimal-ui,
  .dream-app-main,
  .dream-app-content {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .dream-section,
  .dream-hero,
  .dream-library-hero,
  .dream-studio-shell,
  .dream-account-shell,
  .dream-search-shell {
    box-sizing: border-box !important;
    max-width: calc(100vw - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .dream-section--trending,
  .dream-section--listen-again,
  .dream-section--latest,
  .dream-search-module {
    overflow: visible !important;
  }

  .dream-section--trending-mobile,
  .dream-section--trending {
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }

  .dream-trending-scroll,
  .dream-listen-again-scroll,
  .dream-search-pill-row--scroll,
  .dream-search-pill-row--moods,
  .dream-search-pill-row--start {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    max-width: 100% !important;
    width: auto !important;
    flex-shrink: 0 !important;
    padding-right: max(28px, env(safe-area-inset-right)) !important;
    padding-left: 2px !important;
    box-sizing: border-box !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }
  .dream-trending-scroll::-webkit-scrollbar,
  .dream-listen-again-scroll::-webkit-scrollbar,
  .dream-search-pill-row--scroll::-webkit-scrollbar,
  .dream-search-pill-row--moods::-webkit-scrollbar,
  .dream-search-pill-row--start::-webkit-scrollbar { display: none !important; }

  .dream-trending-scroll .dream-collection-row,
  .dream-trending-scroll .dream-collection-row--track,
  .dream-listen-again-scroll .dream-collection-row,
  .dream-listen-again-scroll .dream-collection-row--track {
    flex: 0 0 120px !important;
    width: 120px !important;
    max-width: 120px !important;
    min-width: 120px !important;
    scroll-snap-align: start !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .dream-collection-track-main,
  .dream-collection-track-copy,
  .dream-collection-row strong,
  .dream-collection-row em,
  .dream-row-stat {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .dream-search-chip {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamAppContent,
  body.dream-app-open[data-dream-route="player"] .dream-app-content {
    overflow-y: auto !important;
    padding-bottom: max(92px, calc(76px + env(safe-area-inset-bottom))) !important;
  }

  /* DW-VIS-PLAYER-BACK-OVERLAP: override any overflow-y:hidden from generic or library
     blocks that may apply to #dreamAppContent on player route. Force scroll + safe
     bottom padding so Up Next list and bottom recovery are reachable within viewport. */
  body.dream-app-open[data-dream-route="player"] #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="player"] #dreamAppContent,
  body.mode-minimal.dream-app-open[data-dream-route="player"] .dream-app-content {
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scroll-padding-bottom: max(96px, calc(76px + env(safe-area-inset-bottom))) !important;
    padding-bottom: max(96px, calc(76px + env(safe-area-inset-bottom))) !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-surface {
    min-height: auto !important;
    padding: 10px 12px max(96px, calc(76px + env(safe-area-inset-bottom))) !important;
    gap: 6px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-art-wrap {
    width: min(54vw, 150px) !important;
    margin-top: 0 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-info h2 {
    font-size: clamp(17px, 5vw, 21px) !important;
    max-width: 20ch !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-support {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-context-strip {
    min-height: 34px !important;
    padding: 8px 10px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-transport-card {
    padding: 10px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-controls {
    gap: 14px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-ctrl--play {
    width: 58px !important;
    height: 58px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-progress-bar {
    height: 12px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.26) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-progress-fill {
    min-width: 4px !important;
    background: linear-gradient(90deg, var(--dw-green), var(--dw-pink)) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-volume,
  body.dream-app-open[data-dream-route="player"] .dream-player-toggle-row,
  body.dream-app-open[data-dream-route="player"] .dream-player-actions {
    display: none !important;
  }
  /* Restore volume on mobile — hide only toggle-row and actions */
  body.dream-app-open[data-dream-route="player"] .dream-player-toggle-row,
  body.dream-app-open[data-dream-route="player"] .dream-player-actions {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-volume {
    display: flex !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-up-next-card {
    display: block !important;
    margin-top: 8px !important;
    padding: 10px !important;
    background: rgba(10,12,20,.62) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-up-next-inner {
    display: grid !important;
    grid-template-columns: 42px minmax(0,1fr) auto !important;
    gap: 10px !important;
    align-items: center !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-up-next-art {
    width: 42px !important;
    height: 42px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-secondary {
    margin-top: 8px !important;
  }
}

/* DW-PHONE-20260521-B v2: search browse/mood chips wrap on phone — match base specificity */
@media (max-width: 520px) {
  /* DW-WAVE84-FIX: include --scroll modifier so the wrap override actually targets
     the rows that JS gives the .dream-search-pill-row--scroll class. Without
     --scroll in the selector, the base .dream-search-pill-row--scroll { flex-wrap: nowrap }
     wins and chips clip off-screen on a 384px phone. */
  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--scroll.dream-search-pill-row--start,
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods .dream-search-pill-row--scroll.dream-search-pill-row--moods {
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    gap: 8px !important;
    justify-content: flex-start !important;
    padding-right: 0 !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }
  /* DW-WAVE84-FIX: strengthen the right-edge fade on any remaining nowrap pill row.
     The previous rgba(8,10,18,.78) was nearly invisible against the dark parent
     background (rgba(7,9,14,.64)). Bump to a brighter hazy fade with a search
     accent tint at the edge so users see "more content this way". */
  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--scroll::after {
    display: block !important;
    width: 32px !important;
    background: linear-gradient(to right, rgba(120,170,255,0) 0%, rgba(120,170,255,.18) 45%, rgba(160,140,255,.42) 100%) !important;
  }
  /* DW-FEAT-140: the DW-WAVE84 bottom-edge fade on .dream-hero--search::after
     was a workaround for the inner scroller. With the hero now flowing
     naturally (max-height: none; overflow: visible) and .dream-app-content
     as the sole scroll owner, the inner fade is no longer needed and would
     render as a 22px gradient bar at the bottom of an unconstrained hero
     (visually incorrect). The outer .dream-app-content still gets its
     own bottom-nav clearance via padding-bottom rules elsewhere. */
  body.dream-app-open[data-dream-route="search"] .dream-hero--search::after {
    display: none !important;
    content: none !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-chip--trend,
  body.dream-app-open[data-dream-route="search"] .dream-search-chip--mood {
    flex: 0 0 auto !important;
    max-width: calc(50vw - 22px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    background: rgba(255,255,255,.12) !important;
    color: #fff !important;
    font-weight: 600 !important;
    letter-spacing: .025em !important;
  }
}

/* DW-PHONE-20260521-C / Wave 18: keep one top player close; use sticky bottom recovery only. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper {
    display: flex !important;
    pointer-events: auto !important;
    position: sticky !important;
    bottom: env(safe-area-inset-bottom) !important;
    z-index: 10 !important;
  }
  body.dream-app-open[data-dream-route="player"] #dreamPlayerClose.dream-player-close {
    display: inline-flex !important;
    position: fixed !important;
    top: max(60px, env(safe-area-inset-top)) !important;
    left: 10px !important;
    right: auto !important;
    width: auto !important;
    min-width: 108px !important;
    max-width: min(42vw, 156px) !important;
    height: 44px !important;
    border-radius: 999px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 0 13px !important;
    z-index: 2140 !important;
    background: rgba(8,10,18,.78) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    color: #fff !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.38) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }
  body.dream-app-open[data-dream-route="player"] #dreamPlayerClose .dream-player-close-label {
    display: inline-block !important;
    max-width: 94px !important;
  }
}

/* ─── DW-WAVE54-SEARCH-MOODMAP-CLIP-FIX: overflow-y hidden on .dream-app-content
   clips the hero's internal scroll. Allow the content to scroll so the hero's
   internal overflow-y:auto can do its job and mood chips are fully reachable. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-app-main #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-app-main #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent.dream-app-content {
    overflow-y: auto !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-hero--search {
    max-height: 560px !important;
    overflow-y: auto !important;
  }
}

/* Emergency override — ensure search content scrolls regardless of other rules */
@media (max-width: 520px) {
  #dreamAppContent.dream-app-content.dream-app-content {
    overflow-y: auto !important;
  }
  body[data-dream-route="search"] #dreamAppContent {
    overflow-y: auto !important;
  }
}

/* ─── DW-WAVE72-SEARCH-ROUTE-SCROLL-REACHABILITY ────────────────────────────
   Verifier directive: "address parent container overflow/height for #search
   route, not just padding-bottom". On phone, #dreamAppMain had
   height:calc(100dvh - 18px) = 603.2px with overflow:hidden, and
   .dream-app-content could only scroll within 603px even though
   .dream-search-idle was 1321px+ tall. Trending (760-1186) and Featured
   (1196-1520) sections were unreachable at max scroll.

   Fix: lift the parent #dreamAppMain height/overflow constraint on the
   search route so the outer #minimal-ui (position:fixed, height:100dvh,
   overflow-y:auto) becomes the actual scroll context. Drop flex:1 /
   min-height:0 on .dream-app-content so it sizes to its natural content
   height and the content overflows into the outer scroll context.

   The .dream-search-idle base rule (c61b742b) still provides padding-bottom
   to clear the stacked chrome when the user reaches the bottom. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppMain {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-app-content {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
}

/* ─── DW-MOBILE-CLIP-STABILIZATION-20260521 ────────────────────────────────
   Real-phone follow-up: Search featured/lower modules and Account app-install
   actions need extra browser/app chrome clearance beyond the general route
   padding. Keep this block after the full UI audit block and sync to all
   minimal-only stylesheet variants so production and regression fixtures agree. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #dreamAppContent.dream-app-content,
  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="account"] #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent.dream-app-content,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent.dream-app-content {
    padding-bottom: max(224px, calc(56px + 72px + env(safe-area-inset-bottom) + 96px)) !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-idle {
    padding-bottom: max(224px, calc(56px + 72px + env(safe-area-inset-bottom) + 96px)) !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-module--featured,
  body.dream-app-open[data-dream-route="account"] .dream-account-install-section,
  body.dream-app-open[data-dream-route="account"] .dream-account-install-shell,
  body.dream-app-open[data-dream-route="account"] .dream-install-surface {
    scroll-margin-bottom: max(224px, calc(56px + 72px + env(safe-area-inset-bottom) + 96px)) !important;
  }
}
/* ─── END DW-MOBILE-CLIP-STABILIZATION-20260521 ──────────────────────────── */

/* ─── DW-FULL-QA-DESKTOP-OVERLAP-20260521 ───────────────────────────────────
   Full-route audit found the desktop mini-player physically layering over
   route content at 1440px and the Discover desk-side pick crowding the main
   stack. Keep this late in the file so older app-content/max-height rules do
   not re-expand the scroll container underneath fixed chrome. */
@media (min-width: 521px) {
  body.mode-minimal.dream-app-open:not([data-dream-route="player"]) #minimal-ui #dreamAppContent.dream-app-content,
  body.dream-app-open:not([data-dream-route="player"]) #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open.dream-has-mini-player #minimal-ui #dreamAppContent.dream-app-content,
  body.dream-app-open.dream-has-mini-player #minimal-ui #dreamAppContent.dream-app-content {
    flex: 0 1 auto !important;
    height: calc(100dvh - 142px) !important;
    max-height: calc(100dvh - 142px) !important;
    padding-bottom: 180px !important;
  }
}
@media (max-width: 1600px) and (min-width: 521px) {
  body.dream-app-open .dream-discover-desktop-shell,
  body.dream-app-open .dream-discover-marquee {
    grid-template-columns: 1fr !important;
  }
  body.dream-app-open .dream-discover-sidecar {
    position: static !important;
    top: auto !important;
    max-width: 100% !important;
  }
}
/* ─── END DW-FULL-QA-DESKTOP-OVERLAP-20260521 ─────────────────────────────── */

/* ─── DW-PHONE-QA-PLAYLIST-DETAIL-20260521 ──────────────────────────────────
   Real Samsung Internet QA found the playlist detail recovery button floating
   over the first track rows, and the mobile header title area could appear
   visually clipped/narrow in screenshots. Keep the surface simple on phone:
   full-width metadata, destructive action separated, and non-sticky recovery
   footer after the list. */
@media (max-width: 640px) {
  .dream-playlist-detail-header-inner {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }
  .dream-playlist-detail-title-area {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    overflow: visible !important;
  }
  .dream-playlist-detail-title,
  .dream-playlist-detail-description,
  .dream-playlist-detail-count {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    padding-left: 2px !important;
    box-sizing: border-box !important;
  }
  .dream-playlist-detail-actions .dream-danger {
    order: 99 !important;
    margin-left: auto !important;
    opacity: .72 !important;
    background: rgba(255, 70, 70, .075) !important;
    border-color: rgba(255, 90, 90, .16) !important;
  }
  .dream-playlist-detail-recovery {
    position: static !important;
    z-index: 1 !important;
    margin-top: 12px !important;
    padding: 12px 0 calc(160px + env(safe-area-inset-bottom)) !important;
    background: transparent !important;
  }
  .dream-playlist-detail-list {
    position: relative !important;
    z-index: 2 !important;
  }
}

/* ─── DW-PHONE-QA-LIBRARY-TOUCH-TARGETS-20260522 ───────────────── */
.dream-library-filter,
.dream-playlist-sort-pills .dream-sort-pill,
.dream-playlist-visibility-pills .dream-visibility-filter-pill {
  min-height: 44px !important;
}


/* ─── DW-WAVE10-MOBILE-INTERACTION-FIXES-20260522 ───────────────── */
@media (max-width: 640px) {
  body.dream-app-open .dream-search-row-action {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
  }
  body.dream-app-open .dream-search-row-controls {
    gap: 4px !important;
  }
  body.dream-app-open .dream-search-clear {
    right: 0 !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }
  body.dream-app-open #dreamSearchInput {
    padding-right: 50px !important;
  }
  body.dream-app-open[data-dream-route="playlist"] .dream-playlist-detail,
  body.dream-app-open[data-dream-route="likedsongs"] .dream-playlist-detail {
    padding-bottom: max(132px, calc(72px + env(safe-area-inset-bottom) + 44px)) !important;
  }
  body.dream-app-open[data-dream-route="playlist"] .dream-playlist-detail-recovery,
  body.dream-app-open[data-dream-route="likedsongs"] .dream-playlist-detail-recovery {
    position: sticky !important;
    bottom: calc(72px + env(safe-area-inset-bottom)) !important;
    z-index: 1001 !important;
    padding: 10px 0 12px !important;
    background: linear-gradient(180deg, rgba(5,6,10,0), rgba(5,6,10,.94) 36%, rgba(5,6,10,.98)) !important;
  }
  body.dream-app-open.dream-has-mini-player[data-dream-route="playlist"] .dream-playlist-detail-recovery,
  body.dream-app-open.dream-has-mini-player[data-dream-route="likedsongs"] .dream-playlist-detail-recovery {
    bottom: calc(124px + env(safe-area-inset-bottom)) !important;
  }
}
@media (max-width: 400px) {
  body.dream-app-open[data-dream-route="playlist"] .dream-playlist-detail-row,
  body.dream-app-open[data-dream-route="likedsongs"] .dream-playlist-detail-row {
    grid-template-columns: 40px minmax(0,1fr) 40px 40px !important;
  }
  body.dream-app-open[data-dream-route="playlist"] .dream-playlist-detail-duration,
  body.dream-app-open[data-dream-route="likedsongs"] .dream-playlist-detail-duration {
    display: none !important;
  }
}
.dream-audio-settings-sheet {
  z-index: 1200 !important;
  padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
}
.dream-crossfade-slider {
  min-height: 44px !important;
  height: 44px !important;
  background: transparent !important;
}
.dream-crossfade-slider::-webkit-slider-runnable-track {
  height: 4px !important;
  border-radius: 2px !important;
  background: rgba(255,255,255,0.18) !important;
}
.dream-crossfade-slider::-moz-range-track {
  height: 4px !important;
  border-radius: 2px !important;
  background: rgba(255,255,255,0.18) !important;
}

@media (max-width: 420px) {
  body.dream-app-open[data-dream-route="playlist"] .dream-playlist-detail,
  body.dream-app-open[data-dream-route="likedsongs"] .dream-playlist-detail {
    overflow-x: hidden !important;
  }
  body.dream-app-open[data-dream-route="playlist"] .dream-playlist-detail-header-inner,
  body.dream-app-open[data-dream-route="likedsongs"] .dream-playlist-detail-header-inner,
  body.dream-app-open[data-dream-route="playlist"] .dream-playlist-detail-title-area,
  body.dream-app-open[data-dream-route="likedsongs"] .dream-playlist-detail-title-area {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    box-sizing: border-box !important;
  }
  body.dream-app-open[data-dream-route="playlist"] .dream-playlist-detail-description,
  body.dream-app-open[data-dream-route="likedsongs"] .dream-playlist-detail-description {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }
  body.dream-app-open[data-dream-route="playlist"] .dream-playlist-detail-actions,
  body.dream-app-open[data-dream-route="likedsongs"] .dream-playlist-detail-actions,
  body.dream-app-open[data-dream-route="playlist"] #dreamPlaylistDetailSortPills,
  body.dream-app-open[data-dream-route="likedsongs"] #dreamPlaylistDetailSortPills {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }
  body.dream-app-open[data-dream-route="playlist"] .dream-playlist-detail-actions .dream-danger,
  body.dream-app-open[data-dream-route="likedsongs"] .dream-playlist-detail-actions .dream-danger,
  body.dream-app-open[data-dream-route="playlist"] .dream-sort-pill,
  body.dream-app-open[data-dream-route="likedsongs"] .dream-sort-pill {
    flex: 0 1 auto !important;
    max-width: 100% !important;
    white-space: nowrap !important;
  }
}

/* DW-WAVE11-MOBILE-ROUTE-AFFORDANCES-20260522 */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="settings/audio"] .dream-audio-settings-route-back {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    margin: 112px 12px 10px !important;
    position: relative !important;
    z-index: 1001 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-context-strip {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-context-detail {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    background: rgba(255,255,255,.08) !important;
    color: rgba(255,255,255,.9) !important;
    font: 800 10px/1 'DM Sans', system-ui, sans-serif !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    touch-action: manipulation !important;
  }
}
/* END DW-WAVE10-MOBILE-INTERACTION-FIXES-20260522 */

/* Wave 12 interaction-state refactor: make clickable vs passive UI explicit. */
:root {
  --dream-progress-pct: 0%;
  --dream-touch-ring: 0 0 0 3px rgba(96, 239, 255, .24), 0 0 0 1px rgba(255,255,255,.32) inset;
}
.dream-app-panel button,
.dream-app-panel [role="button"],
.dream-app-panel [role="tab"],
.dream-track-action,
.dream-track-row-play,
.dream-track-id-play-action,
.dream-discover-playlist-card,
.dream-search-playlist-action,
.dream-library-sub-tab,
.dream-search-row-action,
.dream-queue-track-action,
.dream-player-ctrl,
.dream-player-progress-bar {
  -webkit-tap-highlight-color: rgba(96,239,255,.22) !important;
}
.dream-app-panel button:not(:disabled):not([aria-disabled="true"]),
.dream-app-panel [role="button"]:not([aria-disabled="true"]),
.dream-app-panel [role="tab"]:not([aria-disabled="true"]),
.dream-track-action[data-track-index],
.dream-track-row-play[data-track-index],
.dream-track-id-play-action[data-track-id],
.dream-discover-playlist-card[data-discover-playlist-id],
.dream-search-playlist-action[data-playlist-id],
.dream-queue-track-action[data-track-index],
.dream-player-progress-bar {
  cursor: pointer !important;
}
.dream-app-panel button:disabled,
.dream-app-panel button[aria-disabled="true"],
.dream-app-panel [role="button"][aria-disabled="true"],
.dream-app-panel [role="tab"][aria-disabled="true"] {
  cursor: not-allowed !important;
  opacity: .46 !important;
  filter: grayscale(.35) !important;
}
.dream-app-panel button:focus-visible,
.dream-app-panel [role="button"]:focus-visible,
.dream-app-panel [role="tab"]:focus-visible,
.dream-player-progress-bar:focus-visible,
.dream-track-action:focus-visible,
.dream-track-row-play:focus-visible,
.dream-track-id-play-action:focus-visible,
.dream-discover-playlist-card:focus-visible,
.dream-search-playlist-action:focus-visible {
  outline: none !important;
  box-shadow: var(--dream-touch-ring) !important;
}
.dream-app-panel button:not(:disabled):active,
.dream-app-panel [role="button"]:not([aria-disabled="true"]):active,
.dream-track-action[data-track-index]:active,
.dream-track-row-play[data-track-index]:active,
.dream-track-id-play-action[data-track-id]:active,
.dream-discover-playlist-card[data-discover-playlist-id]:active,
.dream-search-playlist-action[data-playlist-id]:active,
.dream-queue-track-action[data-track-index]:active {
  transform: translateY(1px) scale(.985) !important;
}
.dream-search-row-action.is-queued,
.dream-queue-track-action.is-queued {
  background: rgba(96, 239, 255, .22) !important;
  border-color: rgba(96, 239, 255, .58) !important;
  color: #eaffff !important;
  box-shadow: 0 0 18px rgba(96,239,255,.18) !important;
}
.dream-search-row-action.is-queued::after,
.dream-queue-track-action.is-queued::after {
  content: '✓' !important;
}
.dream-player-progress-bar {
  position: relative !important;
  overflow: hidden !important;
  touch-action: none !important;
  background: rgba(255,255,255,.14) !important;
}
.dream-player-progress-bar::after {
  content: '' !important;
  position: absolute !important;
  inset: 50% 0 auto 0 !important;
  height: 2px !important;
  transform: translateY(-50%) !important;
  background: linear-gradient(90deg, rgba(96,239,255,.35), rgba(255,42,222,.25)) !important;
  pointer-events: none !important;
}
.dream-player-progress-fill,
#progressFill,
#minimalProgressFill,
#miniNpProgressFill {
  transform-origin: left center !important;
  will-change: width, transform !important;
}
.dream-player-ctrl {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  min-width: 64px !important;
  min-height: 56px !important;
}
.dream-player-ctrl em {
  display: block !important;
  font-style: normal !important;
  font: 800 9px/1 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.68) !important;
}
.dream-player-ctrl--play em,
.dream-player-ctrl.playing em {
  color: rgba(96,239,255,.92) !important;
}
@media (max-width: 520px) {
  .dream-player-controls {
    display: grid !important;
    grid-template-columns: minmax(58px, .8fr) minmax(76px, 1fr) minmax(58px, .8fr) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  .dream-player-ctrl {
    width: 100% !important;
    min-width: 0 !important;
  }
  .dream-player-progress-bar {
    min-height: 44px !important;
    border-radius: 999px !important;
  }
}

/* Wave 13: playlist-detail sorted reorder affordance. */
.dream-playlist-detail-reorder-note {
  align-self: center;
  justify-self: end;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  color: rgba(255,255,255,.58);
  background: rgba(255,255,255,.055);
  font-size: 10px;
  line-height: 1.1;
  text-align: center;
  pointer-events: none;
}
.dream-playlist-detail-row[data-playable="false"] {
  opacity: .72;
}
.dream-playlist-detail-row[data-playable="false"] .dream-playlist-detail-play {
  cursor: not-allowed;
}

/* Wave 13: keep playlist hero actions inside the phone viewport. */
@media (max-width: 520px) {
  .dream-playlist-detail-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  .dream-playlist-detail-actions > button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }
  .dream-playlist-detail-actions #dreamPlaylistDelete {
    grid-column: span 2 !important;
  }
}

/* Wave 14: mobile playlist surfaces use the app content scroller, not a nested route scroller. */
@media (max-width: 640px) {
  body.dream-app-open[data-dream-route="playlist"] .dream-playlist-detail,
  body.dream-app-open[data-dream-route="likedsongs"] .dream-playlist-detail {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: auto !important;
  }
  body.dream-app-open[data-dream-route="playlist"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="likedsongs"] #minimal-ui .dream-app-content {
    padding-bottom: max(172px, calc(72px + 56px + env(safe-area-inset-bottom) + 36px)) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
  }
  body.dream-app-open[data-dream-route="playlist"] .dream-playlist-detail-row,
  body.dream-app-open[data-dream-route="likedsongs"] .dream-playlist-detail-row {
    scroll-margin-top: 72px !important;
    scroll-margin-bottom: max(150px, calc(72px + 56px + env(safe-area-inset-bottom) + 24px)) !important;
  }
  body.dream-app-open[data-dream-route="playlist"] .dream-playlist-detail-recovery,
  body.dream-app-open[data-dream-route="likedsongs"] .dream-playlist-detail-recovery {
    position: static !important;
  }
  .dream-player-section--lyrics.dream-lyrics-visible {
    display: grid !important;
  }
}

/* Wave 14: visible lyrics preserve player-section grid layout on all viewports. */
.dream-player-section--lyrics.dream-lyrics-visible {
  display: grid;
}

/* Wave 17: keep relocated player escape scoped to player route and strengthen mobile transport contrast. */
@media (max-width: 520px) {
  body.dream-app-open:not([data-dream-route="player"]) .dream-app-main > #dreamPlayerClose.dream-player-close {
    display: none !important;
    pointer-events: none !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamPlayerPrev,
  body.dream-app-open[data-dream-route="player"] #dreamPlayerNext {
    color: rgba(255,255,255,.9) !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.22) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-ctrl em {
    color: rgba(255,255,255,.82) !important;
    text-shadow: 0 1px 6px rgba(0,0,0,.45) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-progress-bar {
    background: rgba(255,255,255,.22) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 10px 24px rgba(0,0,0,.24) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-progress-bar::after {
    background: rgba(255,255,255,.36) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-time {
    color: rgba(255,255,255,.82) !important;
    text-shadow: 0 1px 6px rgba(0,0,0,.45) !important;
  }
}



/* Wave 18: prevent player close duplication and keep mobile route CTAs clear of bottom chrome. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] #dreamPlayerClose.dream-player-close {
    top: max(8px, env(safe-area-inset-top)) !important;
    z-index: 2140 !important;
  }
  /* DW-VIS-PLAYER-BRAND-OVERLAP-BY-BACK-BTN-v0607 fix: the fixed top-left
     #dreamPlayerClose (← Discover) sits at z:2140 with rect 10,60,108,44 and
     was visually overlapping the .dream-app-main-header-name H2 (DREAMWAVE)
     at rect 0,44,153,31. Reserve a left safe-zone inside the brand header so
     the brand text starts AFTER the back-button footprint (124px = 10px left
     margin + 108px button width + 6px breathing room). */
  body.dream-app-open[data-dream-route="player"] .dream-app-main-header {
    padding-left: 124px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-app-main-header-title {
    min-width: 0 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-app-main-header-name {
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    max-width: 100% !important;
  }
  /* Do not keep a second sticky/fixed route-escape on the live player viewport.
     Phone QA showed sticky recovery floating across the first Up Next card. The
     durable escape is the single fixed top-left button; this footer recovery is
     a normal end-of-surface affordance only. */
  /* DW-WAVE19 + DW-VIS-249 fix: static wrapper so button flows at end of surface content;
     sticky bottom with safe-area clearance so button is reachable above Android nav bar */
  body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper {
    display: flex !important;
    position: sticky !important;
    bottom: max(env(safe-area-inset-bottom), 32px) !important;
    z-index: 10 !important;
    margin: 18px auto 0 !important;
    padding: 0 14px calc(14px + env(safe-area-inset-bottom)) !important;
    pointer-events: auto !important;
    background: linear-gradient(to top, rgba(6,8,14,0.85) 0%, rgba(6,8,14,0.0) 100%) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery {
    position: relative !important;
    pointer-events: auto !important;
    width: auto !important;
    min-width: 120px !important;
    max-width: 260px !important;
    height: 44px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    appearance: none !important;
    border: 1.5px solid rgba(255,255,255,.3) !important;
    background: rgba(0,0,0,.55) !important;
    color: rgba(255,255,255,1) !important;
  body.dream-app-open[data-dream-route="player"] .dream-player-up-next-card {
    margin-top: 18px !important;
  }
  body.dream-app-open[data-dream-route="discover"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content {
    padding-bottom: max(190px, calc(52px + 72px + env(safe-area-inset-bottom) + 66px)) !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-discover-route,
  body.dream-app-open[data-dream-route="search"] .dream-search-route,
  body.dream-app-open[data-dream-route="library"] .dream-library-route {
    padding-bottom: 42px !important;
  }
}


/* DW-WAVE21-VISUAL-GUARDS: late cascade safety for tap targets, desktop gutters, and player utility controls. */
@media (min-width: 1100px) {
  body.dream-app-open #minimal-ui .dream-app-main {
    box-sizing: border-box !important;
  }
}
@media (max-width: 520px) {
  body.dream-app-open .dream-app-close,
  body.dream-app-open .dream-row-play,
  body.dream-app-open .mini-np-queue,
  body.dream-app-open .dream-player-quick-action {
    min-width: 44px !important;
    min-height: 44px !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-quick-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-quick-action {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* DW-VIS-PLAYER-CONTRAST (Wave 33): phone player contrast improvements for low-opacity text.
   Target selectors: kicker (.46→.7), up-next label (.4→.65), PREV/NEXT em (rgba .82→1),
   context queue (.58→.82), time (.82 with text-shadow), progress fill (keep gradient at full opacity).
   All values verified against dark cinematic background. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-kicker {
    color: rgba(255,255,255,.7) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-up-next-label {
    color: rgba(255,255,255,.65) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-ctrl em {
    color: rgba(255,255,255,1) !important;
    font-weight: 700 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-context-strip .dream-player-context-queue {
    color: rgba(255,255,255,.82) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-time {
    color: rgba(255,255,255,.9) !important;
    text-shadow: 0 1px 8px rgba(0,0,0,.55) !important;
  }
  /* Progress bar: bump min-height for touch target + visibility on dark bg */
  body.dream-app-open[data-dream-route="player"] .dream-player-progress-bar {
    min-height: 14px !important;
    height: 14px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-progress-fill {
    background: linear-gradient(90deg, rgba(96,239,255,.95), rgba(255,42,222,.95)) !important;
  }
  /* Up-next card primary CTA button: stronger contrast */
  body.dream-app-open[data-dream-route="player"] .dream-player-up-next-btn {
    background: rgba(255,255,255,.18) !important;
    border-color: rgba(255,255,255,.35) !important;
    color: rgba(255,255,255,.95) !important;
    font-weight: 700 !important;
  }
}

/* DW-WAVE22-TAP-ACTION-GUARDS: verified desktop/mobile controls below 44px. */
body.dream-app-open #miniNowPlaying button,
body.dream-app-open #miniNowPlaying [role="button"],
body.dream-app-open #dreamShortcutsBtn,
body.dream-app-open #miniNpVolume,
body.dream-app-open .dream-search-chip,
body.dream-app-open .dream-mood-chip,
body.dream-app-open .dream-collection-row--track .dream-row-play,
body.dream-app-open .dream-row-more-action,
body.dream-app-open .dream-row-pill,
body.dream-app-open .dream-library-view-mode,
body.dream-app-open .dream-library-workspace-mode,
body.dream-app-open .dream-library-sync-action,
body.dream-app-open .dream-library-route .dream-secondary,
body.dream-app-open .dream-sidecar-inline-close,
body.dream-app-open[data-dream-route="player"] .dream-player-tier-action,
body.dream-app-open[data-dream-route="player"] .dream-player-mini-action,
body.dream-app-open[data-dream-route="player"] .dream-player-context-detail {
  min-width: 44px !important;
  min-height: 44px !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
  box-sizing: border-box !important;
}
body.dream-app-open #miniNpVolume,
body.dream-app-open[data-dream-route="player"] .dream-player-tier-action,
body.dream-app-open[data-dream-route="player"] .dream-player-mini-action,
body.dream-app-open[data-dream-route="player"] .dream-player-context-detail {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.dream-app-open .dream-search-chip,
body.dream-app-open .dream-mood-chip {
  padding-block: 10px !important;
}
body.dream-app-open .dream-sidecar-inline-close {
  width: 44px !important;
  height: 44px !important;
}


/* DW-WAVE22-ROW-MORE-FINAL-GUARD: override compact row pill height after dense route CSS. */
body.dream-app-open button.dream-row-more-action,
body.dream-app-open .dream-collection-row button.dream-row-more-action,
body.dream-app-open .dream-collection-row--track button.dream-row-more-action {
  min-height: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* DW-WAVE23-CINEMATIC-VISIBILITY-AND-CONTROLS: keep video perceptible while preserving readable cards. */
@media (max-width: 520px) {
  body.dream-app-open .dream-hero--search,
  body.dream-app-open .dream-account-auth-card,
  body.dream-app-open .dream-empty,
  body.dream-app-open .dream-empty--library-playlists {
    background: rgba(7, 8, 12, 0.72) !important;
    backdrop-filter: blur(10px) saturate(1.22) !important;
  }
  body.dream-app-open .dream-search-chip {
    background: rgba(7, 8, 12, 0.68) !important;
    backdrop-filter: blur(8px) saturate(1.2) !important;
  }
  body.dream-app-open #miniNowPlaying {
    bottom: calc(68px + env(safe-area-inset-bottom)) !important;
    background: rgba(10, 12, 20, 0.78) !important;
    backdrop-filter: blur(10px) saturate(1.25) !important;
  }
  body.dream-app-open .dream-bottom-tabs {
    background: rgba(5, 6, 10, 0.86) !important;
    backdrop-filter: blur(14px) saturate(1.2) !important;
  }
  body.dream-app-open #dreamAppContent,
  body.dream-app-open .dream-app-content {
    padding-bottom: calc(220px + env(safe-area-inset-bottom)) !important;
  }
}

/* DW-WAVE23-DESKTOP-HIT-TARGET-GUARDS: finish remaining desktop controls below 44px. */
body.dream-app-open #miniNpVolumeSlider,
body.dream-app-open .dream-account-github-auth,
body.dream-app-open .dream-account-email-toggle,
body.dream-app-open .dream-account-auth-footer > button.dream-secondary,
body.dream-app-open .dw-drop-play-all,
body.dream-app-open .dream-share-link-empty-cta,
body.dream-app-open[data-dream-route="player"] #dreamPlayerVolumeBtn,
body.dream-app-open[data-dream-route="player"] .dream-player-action {
  min-width: 44px !important;
  min-height: 44px !important;
  touch-action: manipulation !important;
  box-sizing: border-box !important;
}
body.dream-app-open #miniNpVolumeSlider,
body.dream-app-open[data-dream-route="player"] #dreamPlayerVolumeSlider,
body.dream-app-open[data-dream-route="player"] #dreamPlayerProgressBar {
  min-height: 12px !important;
  height: 12px !important;
  cursor: pointer !important;
}
body.dream-app-open[data-dream-route="player"] #dreamPlayerVolumeBtn,
body.dream-app-open[data-dream-route="player"] .dream-player-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* DW-WAVE24-SETTINGS-SEARCH-POLISH: verified mobile settings overlap + desktop search truncation guards. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="settings"] #minimal-ui .dream-app-content {
    padding-bottom: max(284px, calc(56px + 116px + env(safe-area-inset-bottom) + 104px)) !important;
  }
  body.dream-app-open[data-dream-route="settings"] .dream-settings-shell {
    padding-bottom: 220px !important;
    scroll-padding-bottom: 220px !important;
  }
  body.dream-app-open[data-dream-route="settings"] .dream-settings-install-card .dream-install-surface {
    height: auto !important;
    min-height: 104px !important;
    padding: 9px 10px !important;
    gap: 7px !important;
  }
  body.dream-app-open[data-dream-route="settings"] .dream-settings-install-card .dream-install-action .dream-install-button {
    min-height: 44px !important;
    height: 44px !important;
    padding: 8px 12px !important;
    font-size: 10.5px !important;
  }
  body.dream-app-open[data-dream-route="settings"] .dream-video-select-card {
    min-height: 88px !important;
    margin-bottom: 10px !important;
  }
  body.dream-app-open[data-dream-route="settings"] .dream-settings-playback-card {
    padding-bottom: 150px !important;
  }
}
@media (min-width: 900px) and (max-width: 1450px) {
  body.dream-app-open .dream-search-feature-grid {
    grid-template-columns: repeat(2, minmax(180px, 1fr)) !important;
    gap: 10px !important;
  }
  body.dream-app-open .dream-search-feature-card {
    grid-template-columns: 48px minmax(112px, 1fr) !important;
    min-height: 72px !important;
  }
  body.dream-app-open .dream-search-feature-art {
    width: 48px !important;
    height: 48px !important;
  }
  body.dream-app-open .dream-search-feature-copy strong,
  body.dream-app-open .dream-search-feature-copy em {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* DW-WAVE25-DESKTOP-REACHABILITY: desktop discover rows and player sidecar must remain reachable. */
@media (min-width: 900px) {
  body.dream-app-open[data-dream-route="discover"] #minimal-ui .dream-collection-row--track,
  body.dream-app-open[data-dream-route="discover"] #minimal-ui .dream-collection-row {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  body.dream-app-open[data-dream-route="discover"] #minimal-ui .dream-collection-stack,
  body.dream-app-open[data-dream-route="discover"] #minimal-ui .dream-section,
  body.dream-app-open[data-dream-route="discover"] #minimal-ui .dream-app-content {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }
  body.dream-app-open[data-dream-route="discover"] #minimal-ui .dream-collection-row strong,
  body.dream-app-open[data-dream-route="discover"] #minimal-ui .dream-collection-row em {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  body.dream-app-open[data-dream-route="player"] #dreamAppContent.dream-app-content {
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scroll-padding-bottom: 96px !important;
    padding-bottom: 96px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-surface,
  body.dream-app-open[data-dream-route="player"] .dream-player-layout--desktop,
  body.dream-app-open[data-dream-route="player"] .dream-player-secondary,
  body.dream-app-open[data-dream-route="player"] .dream-player-secondary-grid {
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-quick-actions {
    margin-bottom: 48px !important;
  }
}

/* DW-WAVE25-DESKTOP-DISCOVER-WRAP: desktop browse shelves should not hide clipped cards off-canvas. */
@media (min-width: 900px) {
  body.dream-app-open[data-dream-route="discover"] .dream-discover-browse-grid > .dream-section .dream-collection-stack {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    overflow-x: clip !important;
    gap: 8px !important;
    padding-right: 0 !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-discover-browse-grid > .dream-section .dream-collection-stack .dream-collection-row {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: 100% !important;
  }
}

/* DW-WAVE25-DESKTOP-DISCOVER-SCROLL-WRAP: route-level horizontal shelves wrap on desktop. */
@media (min-width: 900px) {
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll,
  body.dream-app-open[data-dream-route="discover"] .dream-listen-again-scroll {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
    padding-right: 0 !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-row,
  body.dream-app-open[data-dream-route="discover"] .dream-listen-again-scroll .dream-collection-row {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: 100% !important;
  }
}

/* DW-WAVE26-PLAYER-ESCAPE-CONTRACT v2: fixed bottom recovery so it's always reachable
   regardless of scroll position. Position:sticky inside the 2092px scrollable surface
   puts the button below the 723px viewport at scrollTop=0. Fixed pins to viewport bottom. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] #dreamPlayerClose.dream-player-close {
    position: fixed !important;
    top: max(10px, env(safe-area-inset-top)) !important;
    left: max(10px, env(safe-area-inset-left)) !important;
    z-index: 2140 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 108px !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    background: rgba(5, 8, 14, .82) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    color: rgba(255,255,255,.96) !important;
    backdrop-filter: blur(14px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.2) !important;
  }
  body.dream-app-open[data-dream-route="player"] #dreamPlayerClose .dream-player-close-label {
    display: inline-block !important;
    max-width: 96px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  /* Fixed so button is always in viewport even at scrollTop=0 */
  body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper {
    display: flex !important;
    position: fixed !important;
    bottom: max(61px, calc(61px + env(safe-area-inset-bottom))) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 14px !important;
    pointer-events: auto !important;
    background: transparent !important;
    z-index: 10 !important;
  }
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-up-next-card {
    margin-top: 88px !important;
  }
}

/* DW-WAVE27: mobile player uses top fixed button only; bottom sticky was hidden to avoid duplication
   DW-VIS-PLAYER-BOTTOM-RECOVERY-NEW: re-enable bottom sticky recovery — top button not reachable from bottom scroll state
   NOTE: button is position:sticky with gradient background; always visible in scroll flow */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper,
  body.dream-app-open[data-dream-route="player"] #dreamPlayerBottomRecovery {
    display: flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}


/* Wave 29 verified UI/functionality fixes */
.dream-account-auth-card .dream-account-helper--plain {
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 10px 2px 0 !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 12px !important;
  line-height: 1.38 !important;
}
.dream-library-sub-tabs {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
.dream-player-context-queue {
  color: rgba(255,255,255,.78) !important;
}
@media (max-width: 520px) {
  body.dream-app-open .dream-settings-install-card .dream-install-surface {
    height: auto !important;
    min-height: 118px !important;
    overflow: visible !important;
    padding: 10px 11px !important;
  }
  body.dream-app-open .dream-settings-install-card .dream-install-copy,
  body.dream-app-open .dream-settings-install-card .dream-install-copy p {
    overflow: visible !important;
  }
  body.dream-app-open .dream-settings-install-card .dream-install-copy p {
    font-size: 11px !important;
    line-height: 1.28 !important;
  }
}



/* DW-WAVE31-SETTINGS-VIDEO-CARD-CONTRAST: keep background-scene choices readable over cinematic video on phones. */
@media (max-width: 520px) {
  .dream-settings-playback-card {
    background: rgba(8, 10, 16, .82) !important;
    border-color: rgba(255, 255, 255, .14) !important;
    backdrop-filter: blur(18px) saturate(1.1) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.1) !important;
  }
  .dream-settings-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }
  .dream-video-select-card {
    background: rgba(9, 11, 18, .72) !important;
    border-color: rgba(255, 255, 255, .18) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 24px rgba(0,0,0,.18) !important;
  }
  .dream-video-select-card.active {
    background: rgba(90, 42, 140, .54) !important;
    border-color: rgba(205, 164, 255, .78) !important;
  }
  .dream-video-select-label {
    color: rgba(255,255,255,.94) !important;
    font-weight: 850 !important;
    text-shadow: 0 1px 7px rgba(0,0,0,.62) !important;
  }
  .dream-video-select-mood {
    color: rgba(255,255,255,.76) !important;
    font-weight: 750 !important;
    text-shadow: 0 1px 6px rgba(0,0,0,.55) !important;
  }
}

/* DW-WAVE30-MOBILE-MENU-FILL: reclaim dead bottom bands and prevent short-route cutoffs.
   Root cause: all routes inherited long-scroll bottom padding (184-284px), so short
   Account/Settings/Search menus ended high with a huge empty band above bottom chrome. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="settings"] #minimal-ui .dream-app-content {
    padding-top: 10px !important;
    padding-bottom: max(668px, calc(72px + env(safe-area-inset-bottom) + 28px)) !important;
    overflow: hidden !important;
  }

  body.dream-app-open.dream-has-mini-player[data-dream-route="discover"] #minimal-ui .dream-app-content {
    padding-bottom: calc(140px + env(safe-area-inset-bottom)) !important;
  }
  body.dream-app-open.dream-has-mini-player[data-dream-route="library"] #minimal-ui .dream-app-content {
    padding-bottom: max(320px, calc(52px + 63px + env(safe-area-inset-bottom) + 20px)) !important;
  }

  body.dream-app-open[data-dream-route="settings"] .dream-settings-shell,
  body.dream-app-open[data-dream-route="account"] .dream-account-shell {
    min-height: calc(100dvh - 188px - env(safe-area-inset-bottom)) !important;
    align-content: center !important;
  }

  body.dream-app-open[data-dream-route="settings"] .dream-settings-shell {
    padding-bottom: 0 !important;
    scroll-padding-bottom: 118px !important;
  }

  body.dream-app-open[data-dream-route="settings"] .dream-hero--settings,
  body.dream-app-open[data-dream-route="account"] .dream-account-login-section,
  body.dream-app-open[data-dream-route="account"] .dream-account-hero-card,
  body.dream-app-open[data-dream-route="account"] .dream-account-install-section {
    min-height: 0 !important;
  }

  body.dream-app-open[data-dream-route="settings"] .dream-hero--settings {
    padding: 16px 14px 14px !important;
  }

  body.dream-app-open[data-dream-route="settings"] .dream-settings-login-cta,
  body.dream-app-open[data-dream-route="settings"] .dream-settings-utility-grid,
  body.dream-app-open[data-dream-route="settings"] .dream-settings-about,
  body.dream-app-open[data-dream-route="settings"] .dream-settings-bottom-back-btn {
    margin-top: 8px !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-idle {
    gap: 8px !important;
    margin-top: 6px !important;
    padding-bottom: 96px !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-idle--no-recent .dream-search-module--featured {
    order: 2 !important;
    margin-top: 0 !important;
  }
  /* DW-VIS-SEARCH-RESUME-TRUNCATE: Resume listening will be re-positioned to the
     top of the layout by renderSearchRoute() in js/components/app-shell.js
     (just after the scope bar, before Browse / Mood map / Trending). The JS
     approach keeps the order in the DOM consistent with the visual order. */

  body.dream-app-open[data-dream-route="search"] .dream-search-module {
    padding: 10px !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-module--featured,
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods {
    overflow: visible !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods {
    align-self: start !important;
    min-height: 360px !important;
    padding-bottom: 148px !important;
    margin-bottom: 28px !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-art-wrap {
    width: min(78vw, 220px) !important;
    margin-top: 8px !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface {
    padding-bottom: max(86px, calc(72px + env(safe-area-inset-bottom) + 10px)) !important;
    min-height: calc(100dvh - 76px) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-transport-card {
    max-height: none !important;
    overflow: visible !important;
  }
}

/* DW-WAVE30-FINAL-SPECIFICITY: override legacy high-specificity app-content padding on short routes. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open.dream-has-mini-player[data-dream-route="account"] .dream-app-main #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open.dream-has-mini-player[data-dream-route="account"] #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open.dream-has-mini-player[data-dream-route="search"] .dream-app-main #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open.dream-has-mini-player[data-dream-route="search"] #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="settings"] .dream-app-main #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="settings"] #minimal-ui #dreamAppContent.dream-app-content {
    padding-bottom: max(668px, calc(72px + env(safe-area-inset-bottom) + 28px)) !important;
    overflow-y: auto !important;
  }
}

/* DW-WAVE30-NONMINI-SHORT-ROUTES: Account/Search may render without dream-has-mini-player on fresh loads. */
@media (max-width: 520px) {
  /* Account: use 140px clearance (tabs + safe-area + buffer) — must scroll to see all content */
  body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-app-main #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #dreamAppContent.dream-app-content {
    padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
  }
  /* Search keeps the tall padding for its mood-map content */
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-app-main #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent.dream-app-content {
    padding-bottom: calc(140px + env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
  }
  /* Settings keeps its padding */
  body.mode-minimal.dream-app-open[data-dream-route="settings"] #dreamAppContent.dream-app-content {
    padding-bottom: calc(140px + env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
  }
}



/* DW-WAVE31-SETTINGS-CARD-FINAL-SPECIFICITY: beat generic .dream-section mobile glass rules. */
@media (max-width: 520px) {
  body.dream-app-open section.dream-section.dream-settings-playback-card,
  body.dream-app-open .dream-settings-utility-grid section.dream-settings-playback-card {
    background: rgba(8, 10, 16, .84) !important;
    border-color: rgba(255, 255, 255, .16) !important;
    backdrop-filter: blur(18px) saturate(1.1) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.1) !important;
  }
}


/* DW-WAVE31-SETTINGS-CARD-MINIMAL-UI-WINNER: override the high-specificity #minimal-ui glass card rule. */
@media (max-width: 520px) {
  body.dream-app-open #minimal-ui section.dream-section.dream-settings-playback-card,
  body.dream-app-open #minimal-ui .dream-settings-utility-grid section.dream-settings-playback-card {
    background: rgba(8, 10, 16, .84) !important;
    background-color: rgba(8, 10, 16, .84) !important;
    background-image: linear-gradient(rgba(255,255,255,.055), rgba(255,255,255,.016)) !important;
    border-color: rgba(255, 255, 255, .16) !important;
    backdrop-filter: blur(18px) saturate(1.1) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.1) !important;
  }
}

/* DW-WAVE34-PLAYER-SINGLE-RECOVERY: v631 re-enabled the bottom recovery button for long phone player surfaces.
   Hide the fixed top close button on phone so it no longer duplicates recovery or overlaps album art. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] #dreamPlayerClose.dream-player-close {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* DW-WAVE35-PLAYER-SCROLL-AREA: phone Player uses one coherent scroll surface.
   Real-phone swipes showed nested auto-scrollers (.layout/.primary/.secondary) stealing gestures,
   while the bottom recovery scrolled out of view. Keep the surface as the only Player scroller,
   reserve footer clearance, and pin the recovery above browser/Android chrome. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] #dreamAppContent.dream-app-content {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-bottom: max(96px, calc(76px + env(safe-area-inset-bottom))) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-surface {
    height: calc(100dvh - 76px) !important;
    min-height: calc(100dvh - 76px) !important;
    max-height: calc(100dvh - 76px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    scroll-padding-bottom: max(132px, calc(112px + env(safe-area-inset-bottom))) !important;
    padding-bottom: max(150px, calc(124px + env(safe-area-inset-bottom))) !important;
    box-sizing: border-box !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-primary {
    gap: 4px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-layout,
  body.dream-app-open[data-dream-route="player"] .dream-player-primary,
  body.dream-app-open[data-dream-route="player"] .dream-player-secondary,
  body.dream-app-open[data-dream-route="player"] .dream-player-transport-card {
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    touch-action: pan-y !important;
  }
  /* DW-WAVE35: raise bottom recovery to clear bottom tabs (56px) with 8px gap.
   was: bottom: max(58px, ...) → overlapped tabs by ~6px.
   now: bottom: max(64px, ...) → 8px clearance above 56px bottom-tabs. */
  body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: max(64px, calc(56px + env(safe-area-inset-bottom) + 8px)) !important;
    z-index: 2140 !important;
    display: flex !important;
    justify-content: center !important;
    pointer-events: auto !important;
    padding: 10px 14px !important;
    background: linear-gradient(to top, rgba(6,8,14,.9), rgba(6,8,14,0)) !important;
  }
  body.dream-app-open[data-dream-route="player"] #dreamPlayerBottomRecovery {
    pointer-events: auto !important;
  }
}


/* DW-WAVE36-PLAYER-SCRUB-SCENE: mobile-safe scrub thumb + in-player scene picker. */
body.dream-app-open[data-dream-route="player"] .dream-player-progress-bar {
  position: relative !important;
  cursor: pointer !important;
  touch-action: none !important;
  -webkit-tap-highlight-color: transparent !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-progress-thumb {
  position: absolute !important;
  left: var(--dream-progress-pct, 0%) !important;
  top: 50% !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 999px !important;
  transform: translate(-50%, -50%) !important;
  background: #fff !important;
  box-shadow: 0 0 0 5px rgba(255,255,255,.14), 0 0 22px rgba(255,113,206,.55) !important;
  pointer-events: none !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-scrub-preview {
  color: rgba(255,255,255,.72) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  min-width: 76px !important;
  text-align: center !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-scrub-preview.scrubbing {
  color: #fff !important;
  text-shadow: 0 0 14px rgba(0,245,212,.55) !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-scene-picker {
  display: grid !important;
  gap: 8px !important;
  margin-top: 4px !important;
  padding: 10px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(7,9,14,.42) !important;
  backdrop-filter: blur(16px) saturate(1.25) !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-scene-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  color: rgba(255,255,255,.72) !important;
  font: 800 11px/1.1 'DM Sans', system-ui, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-scene-head strong {
  color: #fff !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 12px !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-scene-row {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  overscroll-behavior-x: contain !important;
  scrollbar-width: none !important;
  padding-bottom: 2px !important;
  max-width: 100% !important;
  width: 100% !important;
  flex-shrink: 0 !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-scene-row::-webkit-scrollbar { display: none !important; }
body.dream-app-open[data-dream-route="player"] .dream-player-scene-chip {
  /* DW-WAVE42-PLAYER-TOUCH-SCENE-CLARITY: readable vertical scene chips, not cramped inline labels. */
  flex: 0 0 auto !important;
  min-width: 0px !important;
  width: auto !important;
  min-height: 48px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  background: rgba(255,255,255,.075) !important;
  color: rgba(255,255,255,.82) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  overflow: visible !important;
  gap: 3px !important;
  padding: 8px 12px !important;
  touch-action: manipulation !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-scene-chip span {
  font: 850 12px/1.1 'DM Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
  line-height: 1.2 !important;
  width: auto !important;
  min-width: 0 !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-scene-chip em {
  color: rgba(255,255,255,.54) !important;
  font: 750 9px/1 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
  white-space: nowrap !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
  line-height: 1.2 !important;
  width: auto !important;
  min-width: 0 !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-scene-chip.active {
  border-color: rgba(0,245,212,.62) !important;
  background: linear-gradient(135deg, rgba(0,245,212,.22), rgba(255,113,206,.20)) !important;
  color: #fff !important;
  box-shadow: 0 0 24px rgba(0,245,212,.16) !important;
}


/* DW-WAVE37-MINIMAL-PLAYER-RESTORE: restored cinematic minimal route must hide all app chrome. */
html body.dream-player-minimal-mode .dream-bottom-tabs,
html body.dream-player-minimal-mode #miniNowPlaying,
html body.dream-player-minimal-mode .dream-player-bottom-recovery-wrapper,
html body.dream-player-minimal-mode #dreamPlayerClose {
  display: none !important;
  pointer-events: none !important;
}
html body.dream-player-minimal-mode #dreamAppContent {
  overflow: hidden !important;
  padding: 0 !important;
}
html body.dream-player-minimal-mode .dream-minimal-cinematic {
  z-index: 80 !important;
}
html body.dream-player-minimal-mode .dream-minimal-now-playing {
  max-height: calc(100svh - max(40px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom))) !important;
  overflow: auto !important;
}


/* DW-WAVE37-MINIMAL-PHONE-POLISH: keep restored minimalist player clear of phone chrome. */
@media (max-width: 760px) {
  html body.dream-player-minimal-mode .dream-minimal-cinematic {
    align-items: center !important;
    padding: max(18px, env(safe-area-inset-top)) 20px max(34px, calc(env(safe-area-inset-bottom) + 26px)) !important;
    box-sizing: border-box !important;
  }
  html body.dream-player-minimal-mode .dream-minimal-now-playing {
    max-height: calc(100svh - max(52px, env(safe-area-inset-top)) - max(54px, calc(env(safe-area-inset-bottom) + 42px))) !important;
    gap: 14px !important;
    transform: none !important;
  }
  html body.dream-player-minimal-mode .dream-minimal-info {
    gap: 4px !important;
  }
  html body.dream-player-minimal-mode .dream-minimal-footer {
    margin-top: 14px !important;
    padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
  }
}


/* DW-WAVE37-MINIMAL-VISIBLE-VH: mobile Chrome svh includes browser chrome here; use visible vh clearance. */
@media (max-width: 760px) {
  html body.dream-player-minimal-mode .dream-minimal-now-playing {
    max-height: calc(100vh - 126px) !important;
    overflow-y: auto !important;
  }
}


/* DW-WAVE38-MOBILE-READABILITY: Library/Account cards must beat neon video glare. */
@media (max-width: 760px) {
  body.dream-app-open[data-dream-route="library"] .dream-library-overview-grid {
    align-items: stretch !important;
    gap: 14px !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-section {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    background: rgba(7, 8, 12, 0.86) !important;
    border-color: rgba(255,255,255,.16) !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.36) !important;
    backdrop-filter: blur(16px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-section--library-playlists {
    flex: 0 0 auto !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-collection-row,
  body.dream-app-open[data-dream-route="library"] .dream-empty {
    background: rgba(8, 10, 15, 0.82) !important;
    color: rgba(255,255,255,.95) !important;
    border-color: rgba(255,255,255,.13) !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-empty p,
  body.dream-app-open[data-dream-route="library"] .dream-collection-row em {
    color: rgba(255,255,255,.78) !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-library-sub-tabs {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 8px !important;
    padding-right: 34px !important;
    position: relative !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-library-sub-tabs::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 52px !important;
    pointer-events: none !important;
    z-index: 10 !important;
    background: linear-gradient(90deg, rgba(5,6,10,0), rgba(5,6,10,.92)) !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-library-sub-tab {
    flex: 0 0 auto !important;
    min-width: 68px !important;
    background: rgba(8, 10, 15, 0.84) !important;
    color: rgba(255,255,255,.95) !important;
    border-color: rgba(255,255,255,.16) !important;
    scroll-snap-align: start !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-library-sub-tab span {
    color: rgba(255,255,255,.72) !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-account-login-section {
    padding: 16px !important;
    background: rgba(7, 8, 12, 0.88) !important;
    border-color: rgba(255,255,255,.16) !important;
    box-shadow: 0 20px 44px rgba(0,0,0,.42) !important;
    backdrop-filter: blur(18px) saturate(1.1) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.1) !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-account-auth-card {
    padding: 18px 16px 20px !important;
    background: rgba(8, 10, 15, 0.92) !important;
    color: rgba(255,255,255,.92) !important;
    border-color: rgba(255,255,255,.18) !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-account-auth-card p,
  body.dream-app-open[data-dream-route="account"] .dream-account-auth-footer {
    color: rgba(255,255,255,.84) !important;
  }
}


/* DW-WAVE38-MOBILE-READABILITY-SPECIFICITY: beat #minimal-ui late route glass overrides. */
@media (max-width: 760px) {
  html body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-section,
  html body.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-section {
    background: rgba(7, 8, 12, 0.86) !important;
    background-color: rgba(7, 8, 12, 0.86) !important;
  }
  html body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-account-login-section,
  html body.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-account-login-section {
    background: rgba(7, 8, 12, 0.88) !important;
    background-color: rgba(7, 8, 12, 0.88) !important;
  }
}


/* DW-WAVE38-LIBRARY-CHIP-FIT: keep first four Library filters fully visible on 384px phones. */
@media (max-width: 760px) {
  html body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-library-sub-tabs,
  html body.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-sub-tabs {
    gap: 6px !important;
    padding-left: 12px !important;
    padding-right: 22px !important;
  }
  html body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-library-sub-tab,
  html body.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-sub-tab {
    min-width: 68px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
  }
}

/* DW-WAVE39-PLAYER-RECOVERY-FLOW: bottom recovery is an end-of-surface affordance, never a first-fold overlay. */
/* DW-VIS-PLAYER-BOTTOM-OVERLAP: v2 — fix was hidden (visibility:hidden) and z-index:10 was below nav z:1000. Force fixed above nav. */
@media (max-width: 520px) {
  html body.dream-app-open[data-dream-route="player"] #minimal-ui .dream-player-bottom-recovery-wrapper,
  html body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-bottom-recovery-wrapper {
    display: flex !important;
    position: fixed !important;
    bottom: max(64px, calc(56px + env(safe-area-inset-bottom) + 8px)) !important;
    left: 0 !important;
    right: 0 !important;
    inset: auto !important;
    width: 100% !important;
    justify-content: center !important;
    padding: 0 14px !important;
    pointer-events: auto !important;
    background: transparent !important;
    z-index: 2140 !important;
    transform: none !important;
    visibility: visible !important;
  }
  html body.dream-app-open[data-dream-route="player"] .dream-app-main > .dream-player-bottom-recovery-wrapper {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  html body.dream-app-open[data-dream-route="player"] #dreamPlayerBottomRecovery.dream-player-bottom-recovery {
    position: fixed !important;
    bottom: calc(61px + env(safe-area-inset-bottom)) !important;
    inset: auto !important;
    min-width: 160px !important;
    max-width: min(260px, calc(100vw - 32px)) !important;
    height: 44px !important;
    z-index: 1001 !important;
    /* No transform/transition — fixed is viewport-relative, not scroll-flow-relative */
  }
}


/* DW-WAVE40-MINIMALIST-CONTRAST: minimalist mode must stay cinematic but controls cannot disappear into bright video frames. */
@media (max-width: 760px) {
  body.dream-player-minimal-mode .dream-minimal-cinematic::before {
    content: '' !important;
    position: fixed !important;
    inset: 0 !important;
    pointer-events: none !important;
    z-index: 10 !important;
    background: radial-gradient(circle at 50% 42%, rgba(0,0,0,.42), rgba(0,0,0,.18) 38%, rgba(0,0,0,.50) 100%) !important;
    backdrop-filter: blur(1.5px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(1.5px) saturate(1.08) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-now-playing {
    z-index: 12 !important;
    filter: drop-shadow(0 18px 36px rgba(0,0,0,.46)) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-cinematic-close {
    width: 44px !important;
    height: 44px !important;
    right: max(16px, env(safe-area-inset-right)) !important;
    top: max(18px, env(safe-area-inset-top)) !important;
    background: rgba(5, 8, 14, .72) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    color: rgba(255,255,255,.94) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.42) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-track-artist {
    color: rgba(255,255,255,.82) !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.62) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-track-album,
  body.dream-player-minimal-mode .dream-minimal-time {
    color: rgba(255,255,255,.72) !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.62) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-progress {
    height: 6px !important;
    background: rgba(255,255,255,.28) !important;
    box-shadow: 0 0 0 1px rgba(0,0,0,.22), 0 4px 16px rgba(0,0,0,.36) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-ctrl:not(.dream-minimal-ctrl--play),
  body.dream-player-minimal-mode .dream-minimal-action,
  body.dream-player-minimal-mode .dream-minimal-back-link {
    color: rgba(255,255,255,.94) !important;
    background: rgba(5, 8, 14, .58) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.36) !important;
    backdrop-filter: blur(12px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(12px) saturate(1.12) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-ctrl:not(.dream-minimal-ctrl--play),
  body.dream-player-minimal-mode .dream-minimal-action {
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 999px !important;
  }
  body.dream-player-minimal-mode .dream-minimal-ctrl--play {
    color: #00140c !important;
    background: #01f5a6 !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.18), 0 12px 34px rgba(1,245,166,.34) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-back-link {
    padding: 10px 16px !important;
    border-radius: 999px !important;
    font-weight: 650 !important;
  }
}


/* DW-WAVE41-MINIMALIST-AMBIENT: cleaner leave-on player, juicier depth, live scene control. */
@media (max-width: 760px) {
  body.dream-player-minimal-mode .dream-minimal-cinematic {
    align-items: center !important;
    justify-content: center !important;
    padding: max(10px, env(safe-area-inset-top)) 0 max(18px, env(safe-area-inset-bottom)) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-cinematic::before {
    background:
      radial-gradient(circle at 50% 31%, rgba(255,113,206,.20), transparent 25%),
      radial-gradient(circle at 50% 60%, rgba(1,245,166,.13), transparent 34%),
      linear-gradient(180deg, rgba(0,0,0,.20), rgba(0,0,0,.42) 54%, rgba(0,0,0,.66)) !important;
    backdrop-filter: blur(1px) saturate(1.22) contrast(1.04) !important;
    -webkit-backdrop-filter: blur(1px) saturate(1.22) contrast(1.04) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-now-playing {
    width: min(356px, calc(100vw - 28px)) !important;
    min-height: min(606px, calc(100dvh - 54px)) !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 20px 18px 24px !important;
    border-radius: 34px !important;
    background: linear-gradient(180deg, rgba(5,7,12,.18), rgba(5,7,12,.08)) !important;
    box-shadow: 0 30px 80px rgba(0,0,0,.36), inset 0 0 0 1px rgba(255,255,255,.055) !important;
    filter: drop-shadow(0 24px 54px rgba(0,0,0,.55)) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-scene-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    max-width: 100% !important;
    min-height: 34px !important;
    padding: 7px 12px !important;
    border-radius: 999px !important;
    color: rgba(255,255,255,.92) !important;
    background: rgba(5, 8, 14, .44) !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.30) !important;
    backdrop-filter: blur(14px) saturate(1.16) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.16) !important;
    font-size: 11px !important;
    letter-spacing: .02em !important;
    white-space: nowrap !important;
  }
  body.dream-player-minimal-mode .dream-minimal-scene-pill span {
    color: rgba(255,255,255,.52) !important;
    text-transform: uppercase !important;
    font-size: 9px !important;
    letter-spacing: .16em !important;
  }
  body.dream-player-minimal-mode .dream-minimal-scene-pill strong {
    color: rgba(255,255,255,.98) !important;
    font-weight: 750 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 150px !important;
  }
  body.dream-player-minimal-mode .dream-minimal-scene-pill em {
    color: rgba(1,245,166,.88) !important;
    font-style: normal !important;
    font-size: 10px !important;
  }
  body.dream-player-minimal-mode .dream-minimal-cover-wrap {
    width: min(248px, 64vw) !important;
    height: min(248px, 64vw) !important;
    border-radius: 28px !important;
    box-shadow:
      0 0 0 1px rgba(255,255,255,.14),
      0 22px 60px rgba(0,0,0,.56),
      0 0 52px rgba(255,113,206,.18),
      0 0 80px rgba(1,245,166,.10) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-cover {
    transform: scale(1.012) !important;
    filter: saturate(1.16) contrast(1.04) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-track-name {
    font-size: clamp(22px, 6vw, 28px) !important;
    letter-spacing: -.035em !important;
    line-height: 1.02 !important;
    text-shadow: 0 3px 18px rgba(0,0,0,.62) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-track-artist {
    font-size: 14px !important;
    color: rgba(255,255,255,.78) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-track-album {
    display: none !important;
  }
  body.dream-player-minimal-mode .dream-minimal-mood-pill {
    background: rgba(255,113,206,.18) !important;
    color: rgba(255,210,244,.94) !important;
    border: 1px solid rgba(255,113,206,.22) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-progress {
    width: min(294px, 82vw) !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.20) !important;
    overflow: hidden !important;
  }
  body.dream-player-minimal-mode .dream-minimal-progress-fill {
    background: linear-gradient(90deg, #01f5a6, #7fffd4) !important;
    box-shadow: 0 0 22px rgba(1,245,166,.48) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-time {
    width: min(294px, 82vw) !important;
    font-size: 11px !important;
    color: rgba(255,255,255,.76) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-controls {
    gap: 24px !important;
    padding: 4px 0 !important;
  }
  body.dream-player-minimal-mode .dream-minimal-ctrl:not(.dream-minimal-ctrl--play) {
    width: 48px !important;
    height: 48px !important;
    background: rgba(6, 9, 16, .50) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-ctrl--play {
    width: 66px !important;
    height: 66px !important;
    font-size: 24px !important;
    background: linear-gradient(135deg, #01f5a6, #a7ffd9) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.18), 0 16px 42px rgba(1,245,166,.36), 0 0 48px rgba(1,245,166,.20) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-actions--ambient {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: min(294px, 82vw) !important;
    gap: 8px !important;
  }
  body.dream-player-minimal-mode .dream-minimal-actions--ambient .dream-minimal-action {
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: rgba(255,255,255,.95) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-action--scene {
    color: rgba(1,245,166,.96) !important;
  }

  body.dream-player-minimal-mode .dream-minimal-actions--ambient .dream-minimal-action {
    background: rgba(5, 8, 14, .54) !important;
    border-color: rgba(255,255,255,.15) !important;
    text-shadow: 0 1px 10px rgba(0,0,0,.45) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-footer {
    margin-top: 0 !important;
  }
  body.dream-player-minimal-mode .dream-minimal-back-link {
    min-height: 38px !important;
    padding: 8px 14px !important;
    color: rgba(255,255,255,.72) !important;
    background: rgba(5, 8, 14, .34) !important;
  }
}


/* DW-WAVE41-MINIMALIST-TOP-SAFE: keep ambient controls away from mobile browser chrome. */
@media (max-width: 760px) {
  html body.dream-player-minimal-mode .dream-minimal-scene-pill {
    margin-top: 10px !important;
  }
  html body.dream-player-minimal-mode .dream-minimal-cinematic-close {
    top: max(18px, env(safe-area-inset-top)) !important;
    right: 16px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
}


/* DW-WAVE42-MINIMALIST-AMBIENT-OBJECT: calmer leave-on player, less chrome, cover bloom. */
@media (max-width: 760px) {
  body.dream-player-minimal-mode .dream-minimal-cinematic {
    padding: max(16px, env(safe-area-inset-top)) 0 max(20px, env(safe-area-inset-bottom)) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-cinematic::before {
    background:
      radial-gradient(circle at 50% 27%, rgba(255,113,206,.18), transparent 26%),
      radial-gradient(circle at 50% 57%, rgba(1,245,166,.16), transparent 32%),
      linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.34) 50%, rgba(0,0,0,.60)) !important;
    backdrop-filter: blur(.6px) saturate(1.28) contrast(1.05) !important;
    -webkit-backdrop-filter: blur(.6px) saturate(1.28) contrast(1.05) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-now-playing {
    width: min(350px, calc(100vw - 34px)) !important;
    min-height: 0 !important;
    gap: 9px !important;
    padding: 18px 17px 18px !important;
    border-radius: 36px !important;
    background: linear-gradient(180deg, rgba(4,7,13,.16), rgba(4,7,13,.055)) !important;
    box-shadow: 0 28px 90px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.06) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-scene-pill {
    border: 0 !important;
    min-height: 36px !important;
    padding: 8px 13px !important;
    touch-action: manipulation !important;
    cursor: pointer !important;
    background: rgba(5,8,14,.38) !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.12) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-scene-pill span::before {
    content: '' !important;
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    margin-right: 7px !important;
    border-radius: 999px !important;
    background: #01f5a6 !important;
    box-shadow: 0 0 14px rgba(1,245,166,.78) !important;
    vertical-align: 1px !important;
  }
  body.dream-player-minimal-mode .dream-minimal-scene-pill strong {
    max-width: 176px !important;
  }
  body.dream-player-minimal-mode .dream-minimal-cover-wrap {
    position: relative !important;
    width: min(242px, 63vw) !important;
    height: min(242px, 63vw) !important;
    isolation: isolate !important;
    box-shadow:
      0 0 0 1px rgba(255,255,255,.16),
      0 22px 62px rgba(0,0,0,.52),
      0 0 78px rgba(255,113,206,.22),
      0 0 102px rgba(1,245,166,.14) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-cover-wrap::before {
    content: '' !important;
    position: absolute !important;
    inset: -24px !important;
    border-radius: 38px !important;
    background: radial-gradient(circle at 50% 45%, rgba(255,113,206,.28), rgba(1,245,166,.12) 45%, transparent 72%) !important;
    filter: blur(18px) saturate(1.3) !important;
    opacity: .86 !important;
    z-index: -1 !important;
    pointer-events: none !important;
  }
  body.dream-player-minimal-mode .dream-minimal-controls {
    gap: 22px !important;
    padding: 2px 0 0 !important;
  }
  body.dream-player-minimal-mode .dream-minimal-progress {
    height: 7px !important;
    width: min(286px, 78vw) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-time {
    width: min(286px, 78vw) !important;
    margin-top: -2px !important;
  }
  body.dream-player-minimal-mode .dream-minimal-actions--ambient {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(230px, 68vw) !important;
    gap: 10px !important;
    opacity: .86 !important;
  }
  body.dream-player-minimal-mode .dream-minimal-actions--ambient .dream-minimal-action {
    min-height: 42px !important;
    border-radius: 999px !important;
    background: rgba(5, 8, 14, .40) !important;
  }
  body.dream-player-minimal-mode .dream-minimal-footer,
  body.dream-player-minimal-mode .dream-minimal-back-link,
  body.dream-player-minimal-mode .dream-minimal-action--scene {
    display: none !important;
  }
}


/* DW-WAVE42-BOTTOM-TABS-SAFE-FINAL: final mobile bottom declaration must preserve safe area. */
@media (max-width: 520px) {
  body.dream-app-open .dream-bottom-tabs {
    bottom: max(0px, env(safe-area-inset-bottom)) !important;
  }
}


/* DW-WAVE42-MINIMALIST-CONTRAST-POLISH: strict phone QA contrast/breathing room. */
@media (max-width: 760px) {
  body.dream-player-minimal-mode .dream-minimal-now-playing {
    padding-top: 22px !important;
    padding-bottom: 24px !important;
    gap: 10px !important;
  }
  body.dream-player-minimal-mode .dream-minimal-scene-pill {
    margin-top: 12px !important;
  }
  body.dream-player-minimal-mode .dream-minimal-time {
    color: rgba(255,255,255,.90) !important;
    text-shadow: 0 1px 10px rgba(0,0,0,.70) !important;
    font-weight: 650 !important;
  }
  body.dream-player-minimal-mode .dream-minimal-actions--ambient {
    margin-top: 2px !important;
    opacity: 1 !important;
  }
  body.dream-player-minimal-mode .dream-minimal-actions--ambient .dream-minimal-action {
    color: rgba(255,255,255,.98) !important;
    background: rgba(5, 8, 14, .56) !important;
    border-color: rgba(255,255,255,.20) !important;
    box-shadow: 0 12px 24px rgba(0,0,0,.30), inset 0 0 0 1px rgba(255,255,255,.08) !important;
  }
}

/* DW-WAVE43-PLAYER-BACK-OVERLAP: bottom recovery must not be a fixed first-fold overlay.
   The top close/Discover pill is the primary escape; the bottom recovery is only an end-of-surface affordance. */
@media (max-width: 520px) {
  html body.dream-app-open[data-dream-route="player"] #minimal-ui .dream-player-bottom-recovery-wrapper,
  html body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-bottom-recovery-wrapper {
    display: flex !important;
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    justify-content: center !important;
    margin: 18px 0 max(30px, calc(env(safe-area-inset-bottom) + 22px)) !important;
    padding: 0 14px !important;
    pointer-events: auto !important;
    background: transparent !important;
    z-index: 1 !important;
    transform: none !important;
  }
  html body.dream-app-open[data-dream-route="player"] #dreamPlayerBottomRecovery.dream-player-bottom-recovery {
    position: static !important;
    bottom: auto !important;
    inset: auto !important;
    min-width: 160px !important;
    max-width: min(260px, calc(100vw - 32px)) !important;
    height: 44px !important;
    z-index: 1 !important;
  }
}

/* DW-WAVE43-PLAYER-FIRST-FOLD-ESCAPE: keep one visible route escape after bottom recovery stops overlaying Up Next. */
@media (max-width: 520px) {
  html body.dream-app-open[data-dream-route="player"] #dreamPlayerClose.dream-player-close {
    display: inline-flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    position: fixed !important;
    top: max(60px, env(safe-area-inset-top)) !important;
    left: 10px !important;
    right: auto !important;
    width: auto !important;
    min-width: 108px !important;
    max-width: min(42vw, 156px) !important;
    height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 0 13px !important;
    z-index: 2140 !important;
    border-radius: 999px !important;
    background: rgba(8, 10, 18, .82) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    color: #fff !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.38) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }
  html body.dream-app-open[data-dream-route="player"] #dreamPlayerClose .dream-player-close-label {
    display: inline-block !important;
    max-width: 94px !important;
  }
}

/* DW-WAVE44-SEARCH-RIGHT-OVERLAY: route content should not sit under the old video edge mask.
   Search/Library chip rows are already overflow-safe; disable the hard right gutter on content-heavy routes. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="search"] #minimal-ui::after,
  body.dream-app-open[data-dream-route="search"] #app::after,
  body.dream-app-open[data-dream-route="library"] #minimal-ui::after,
  body.dream-app-open[data-dream-route="library"] #app::after {
    display: none !important;
    content: none !important;
    background: none !important;
  }
}

/* FIX: Force .dream-library-toolbar::after gradient when inside #minimal-ui on library route.
   Using double ID + class + pseudo for maximum specificity to beat #minimal-ui::after suppress. */
body.dream-app-open[data-dream-route="library"] #minimal-ui #minimal-ui .dream-library-toolbar::after {
  content: '' !important;
  display: block !important;
  visibility: visible !important;
  background: linear-gradient(90deg, rgba(10,12,18,0), rgba(10,12,18,.72)) !important;
  opacity: 1 !important;
}

/* DW-WAVE45-PLAYER-BOTTOM-RECOVERY-NEW: long player surface needs a real bottom return-to-player affordance.
   Keep it static near the footer so it does not overlay Up Next or transport controls. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-return-recovery {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 18px 0 8px !important;
    padding: 0 14px !important;
    position: static !important;
    inset: auto !important;
    z-index: 1 !important;
    pointer-events: auto !important;
    background: transparent !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-return-recovery-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 168px !important;
    max-width: min(280px, calc(100vw - 32px)) !important;
    min-height: 44px !important;
    padding: 10px 18px !important;
    border-radius: 999px !important;
    color: rgba(255,255,255,.96) !important;
    background: rgba(7, 9, 16, .72) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.34) !important;
    backdrop-filter: blur(12px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(12px) saturate(1.15) !important;
  }
}

/* DW-WAVE46-SEARCH-CHIP-ISOLATION: center wrapped chip rows so short final rows do not look stranded. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--scroll,
  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--start,
  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--moods {
    justify-content: center !important;
    align-content: flex-start !important;
    gap: 8px 10px !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods {
    padding-bottom: 14px !important;
    min-height: 280px !important;
  }
}

/* DW-WAVE47-LIBRARY-LIKED-REACHABILITY: focused Liked filter should expose all
   saved tracks and leave a real end-of-list landing zone above mini-player/tabs. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="library"] #minimal-ui .dream-section--library-liked {
    overflow: visible !important;
    padding-bottom: 16px !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] #minimal-ui .dream-library-route {
    padding-bottom: max(72px, calc(env(safe-area-inset-bottom) + 72px)) !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] #minimal-ui .dream-library-route .dream-collection-row--track:last-child {
    margin-bottom: 10px !important;
  }
}

/* DW-WAVE54-PLAYER-UPNEXT-FIRST-FOLD-FINAL: last-in-cascade phone override.
   Later legacy player-density blocks re-expanded art to 220px; keep album art compact
   enough for the Up Next CTA to clear the 647px player surface on Galaxy S20+. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] #dreamAppContent,
  body.dream-app-open[data-dream-route="player"] .dream-app-content {
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-art-wrap {
    width: min(58vw, 192px) !important;
    margin-top: 0 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-primary {
    gap: 4px !important;
  }
  /* DW-WAVE74-PLAYER-CLOSE-ART-OVERLAP (last in cascade): push album artwork below the fixed close pill on phone.
     Close pill is at top:max(60px, env(safe-area-inset-top)) + height 44px = vertical band 60-104.
     Bump art-wrap margin-top to keep artwork below 112px so the close pill stops overlapping the art corner. */
  body.dream-app-open[data-dream-route="player"] .dream-player-art-wrap {
    margin-top: max(120px, calc(env(safe-area-inset-top) + 116px)) !important;
  }
}

/* DW-WAVE54-SEARCH-MOODMAP-CLIP: increase search bottom clearance so mood/browse
   content clears the tab bar.
   DW-VIS-SEARCH-MOODMAP-CLIP-REGRESSION (May 27): mood chips clipped at
   section bottom. Root cause: .dream-app-content computed max-height 78dvh
   = 564.54px, but section content (mood chips up to 630px) overflows.
   Fix: cap the search hero section height so chips scroll within. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-app-main #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-app-main #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent.dream-app-content {
    padding-bottom: calc(140px + env(safe-area-inset-bottom)) !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-hero--search {
    max-height: 560px !important;
    overflow-y: auto !important;
  }
}

/* Wave 62-65 visual queue clear: account nav artifact, discover truncation/legibility,
   library sync/CTA/progress polish, and search phone safe-area/mood map. */
@media (max-width: 520px) {
  /* DW-VIS-NEW-32: remove every nav-layer line/indicator that can slice through icons/labels. */
  body.dream-app-open .dream-bottom-tabs {
    border-top: 0 !important;
    outline: 0 !important;
    box-shadow: 0 -14px 34px rgba(0,0,0,.48) !important;
    background: rgba(5,6,10,.90) !important;
    overflow: hidden !important;
  }
  body.dream-app-open .dream-bottom-tabs::before,
  body.dream-app-open .dream-bottom-tabs::after,
  body.dream-app-open .dream-bottom-tabs .dream-tab-btn::before,
  body.dream-app-open .dream-bottom-tabs .dream-tab-btn::after,
  body.dream-app-open .dream-bottom-tabs .mobile-tab-btn::before,
  body.dream-app-open .dream-bottom-tabs .mobile-tab-btn::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.dream-app-open .dream-bottom-tabs .dream-tab-btn,
  body.dream-app-open .dream-bottom-tabs .mobile-tab-btn {
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    isolation: isolate !important;
  }
  body.dream-app-open .dream-bottom-tabs .dream-tab-icon,
  body.dream-app-open .dream-bottom-tabs .dream-tab-label {
    position: relative !important;
    z-index: 2 !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.75) !important;
  }

  /* DW-VIS-NEW-33: give the account auth headline enough line box and visible overflow. */
  body.dream-app-open[data-dream-route="account"] .dream-account-auth-card,
  body.dream-app-open[data-dream-route="account"] .dream-account-topline,
  body.dream-app-open[data-dream-route="account"] .dream-account-topline > div {
    overflow: visible !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-account-topline h3 {
    line-height: 1.16 !important;
    padding-bottom: 3px !important;
    margin-bottom: 1px !important;
    text-wrap: balance !important;
  }

  /* DW-VIS-DISCOVER-TRUNCATE / NEW-31: wider readable cards and backed CTAs. */
  body.dream-app-open[data-dream-route="discover"] .dream-discover-np-card,
  body.dream-app-open[data-dream-route="discover"] .dream-section,
  body.dream-app-open[data-dream-route="discover"] .dream-collection-row {
    background: rgba(7,8,12,.62) !important;
    backdrop-filter: blur(14px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.2) !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll {
    gap: 12px !important;
    padding-left: 10px !important;
    padding-right: 16px !important;
    scroll-padding-left: 10px !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-row {
    overflow: visible !important;
    flex-basis: 148px !important;
    flex: 0 0 148px !important;
    flex-shrink: 0 !important;
    padding: 8px 10px !important;
    gap: 6px !important;
    width: 148px !important;
    min-width: 148px !important;
    max-width: 148px !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-track-main {
    flex-shrink: 0 !important;
    min-width: 0 !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-track-copy strong,
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-track-copy em,
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-row-stat {
    max-width: 100% !important;
    min-width: 0 !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-track-copy {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-track-copy strong {
    font-size: 12.5px !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    -webkit-line-clamp: 2 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-track-copy em {
    color: rgba(255,255,255,.78) !important;
    line-height: 1.18 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-row-stat {
    color: rgba(255,255,255,.64) !important;
    white-space: normal !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-inline-link,
  body.dream-app-open[data-dream-route="discover"] .dream-track-detail-action.dream-secondary,
  body.dream-app-open[data-dream-route="discover"] .dream-secondary {
    background: rgba(5,6,10,.72) !important;
    color: rgba(255,255,255,.94) !important;
    -webkit-text-fill-color: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.8) !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-discover-np-artist,
  body.dream-app-open[data-dream-route="discover"] .dream-discover-np-meta,
  body.dream-app-open[data-dream-route="discover"] .dream-collection-track-copy em {
    color: rgba(255,255,255,.80) !important;
  }

  /* DW-VIS-LIBRARY-LOCALCLIP / EXPLORE-OVERSIZED: compact sync/status and de-emphasize empty CTAs. */
  body.dream-app-open[data-dream-route="library"] .dream-hero--library {
    padding: 12px 12px 10px !important;
    margin: 8px 10px 10px !important;
    background: rgba(7,8,12,.58) !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-library-status-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: stretch !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-library-source {
    width: auto !important;
    min-width: 0 !important;
    padding: 7px 9px !important;
    gap: 6px !important;
    border-radius: 16px !important;
    background: rgba(5,6,10,.70) !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-library-source strong {
    flex: 0 0 auto !important;
    font-size: 9px !important;
    letter-spacing: .06em !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-library-source span {
    min-width: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-library-sync-action {
    min-width: 96px !important;
    max-width: 118px !important;
    padding: 0 10px !important;
    white-space: normal !important;
    line-height: 1.05 !important;
    background: rgba(5,6,10,.76) !important;
    border-color: rgba(255,255,255,.18) !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-empty--library-playlists .dream-secondary[data-jump-route="discover"] {
    min-height: 36px !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    font-size: 11px !important;
    background: rgba(5,6,10,.64) !important;
  }
  body.dream-app-open[data-dream-route="library"] .mini-np-progress,
  body.dream-app-open[data-dream-route="library"] .minimal-progress {
    min-height: 6px !important;
    height: 6px !important;
    background: rgba(255,255,255,.18) !important;
  }
  body.dream-app-open[data-dream-route="library"] .mini-np-progress-fill,
  body.dream-app-open[data-dream-route="library"] .minimal-progress-fill {
    min-height: 6px !important;
    background: linear-gradient(90deg, rgba(30,215,96,.95), rgba(155,231,255,.95)) !important;
  }

  /* DW-VIS-SEARCH-ADDR-OVERLAP / NEW-37: safe top, centered browse chips, readable mood map. */
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content {
    padding-top: max(20px, calc(env(safe-area-inset-top) + 16px)) !important;
    padding-bottom: calc(140px + env(safe-area-inset-bottom)) !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-idle {
    gap: 14px !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module,
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods {
    background: rgba(7,8,12,.64) !important;
    border-color: rgba(255,255,255,.12) !important;
    backdrop-filter: blur(14px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.15) !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods {
    padding-bottom: 148px !important;
    min-height: 360px !important;
    margin-bottom: 28px !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row,
  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--moods {
    justify-content: center !important;
    align-items: center !important;
    row-gap: 10px !important;
    column-gap: 8px !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--moods .dream-search-chip,
  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--moods [data-search-suggest],
  body.dream-app-open[data-dream-route="search"] .dream-search-chip {
    color: rgba(255,255,255,.94) !important;
    -webkit-text-fill-color: rgba(255,255,255,.94) !important;
    background: rgba(255,255,255,.13) !important;
    border-color: rgba(255,255,255,.18) !important;
    font-weight: 700 !important;
  }
}

/* Wave 66 verification polish: compact Search first fold and make live phone screenshots deterministic. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="search"] .dream-hero--search {
    padding: 12px 14px !important;
    margin: 6px 10px 10px !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-hero--search h2 {
    font-size: clamp(25px, 8vw, 34px) !important;
    line-height: .98 !important;
    margin-bottom: 6px !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-hero-copy {
    margin-bottom: 8px !important;
    line-height: 1.28 !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-idle {
    gap: 10px !important;
    padding-bottom: 120px !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module {
    padding: 12px !important;
    gap: 9px !important;
    overflow: visible !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module--start {
    min-height: 0 !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module h3 {
    font-size: 13px !important;
    line-height: 1.05 !important;
    margin: 0 !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row,
  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--moods {
    gap: 7px !important;
    justify-content: center !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-chip,
  body.dream-app-open[data-dream-route="search"] .dream-search-chip--trend,
  body.dream-app-open[data-dream-route="search"] .dream-search-chip--mood {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 11px !important;
    font-size: 11px !important;
    line-height: 1 !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods .dream-browse-grid--compact {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods .dream-browse-tile {
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 10px !important;
    border-radius: 13px !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods .dream-browse-tile span {
    font-size: 11px !important;
    line-height: 1 !important;
  }
  /* DW-VIS-SEARCH-MOODMAP-REGRESSION: pad mood chip row bottom so chips clear tab bar */
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods .dream-search-pill-row--moods {
    padding-bottom: 14px !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-library-toolbar {
    position: relative !important;
    z-index: 0 !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-hero--library {
    position: relative !important;
    z-index: 1 !important;
  }
}

/* Wave 66 final phone polish: mini-player progress contrast and nav unread badge anchoring. */
@media (max-width: 520px) {
  body.dream-app-open .mini-np-progress {
    height: 7px !important;
    min-height: 7px !important;
    background: rgba(255,255,255,.30) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 1px 4px rgba(0,0,0,.42) !important;
  }
  body.dream-app-open .mini-np-progress::before {
    background: rgba(255,255,255,.22) !important;
  }
  body.dream-app-open .mini-np-progress-fill {
    height: 7px !important;
    min-height: 7px !important;
    background: linear-gradient(90deg, rgba(30,215,96,1), rgba(155,231,255,.98)) !important;
    box-shadow: 0 0 9px rgba(30,215,96,.42) !important;
  }
  body.dream-app-open .dream-bottom-tabs .dream-tab-btn {
    position: relative !important;
    overflow: hidden !important;
  }
  body.dream-app-open .dream-bottom-tabs .dream-nav-badge[data-unread] {
    top: 3px !important;
    left: auto !important;
    right: 12px !important;
    transform: none !important;
    min-width: 8px !important;
    width: 8px !important;
    height: 8px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    z-index: 3 !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-library-source {
    padding-right: 10px !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-library-sync-action {
    margin-right: 2px !important;
  }
}

/* Wave 66 search mood-map no-clip: phone mood map uses compact mood chips only. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods .dream-browse-grid--compact {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods {
    min-height: 280px !important;
    padding-bottom: 140px !important;
  }
}

/* Wave 67 background video visibility: reduce mobile overlay opacity so
   cinematic background videos are clearly perceptible behind content. */
@media (max-width: 520px) {
  body.dream-app-open #minimal-ui .dream-app-panel,
  body.dream-app-open #minimal-ui .dream-card,
  body.dream-app-open #minimal-ui .dream-panel,
  body.dream-app-open #minimal-ui .dream-app-sheet {
    background-color: rgba(7,8,12,.22) !important;
    backdrop-filter: blur(18px) saturate(1.22) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.22) !important;
  }
  body.dream-app-open #minimal-ui .dream-section {
    background-color: rgba(7,8,12,.18) !important;
    backdrop-filter: blur(14px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.18) !important;
  }
  body.dream-app-open #minimal-ui .dream-hero {
    background-color: rgba(7,8,12,.26) !important;
    backdrop-filter: blur(16px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.2) !important;
  }
}

/* Wave 68 search cinematic visibility: Search was still reading too dark on
   real-phone screenshots. Keep chips readable but let the neon video show
   through the search modules and mood-map surface. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-search-module,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-search-section,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-search-shell {
    background-color: rgba(7,8,12,.14) !important;
    background-image: linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.012)) !important;
    backdrop-filter: blur(12px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(12px) saturate(1.2) !important;
  }
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-search-chip,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-mood-chip,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-search-input-wrap {
    background-color: rgba(7,8,12,.46) !important;
    backdrop-filter: blur(10px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(10px) saturate(1.18) !important;
  }
}

/* Wave 69 search first-fold no-overlap: keep the mood map concise on phone so
   the bottom nav never masks mood chips in the default Search viewport. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods .dream-search-chip:nth-of-type(n+5),
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods .dream-mood-chip:nth-of-type(n+5) {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods {
    margin-bottom: 0px !important;
  }
}

/* Wave 70 swarm visual polish: player controls, account/nav artifacts,
   discover legibility, and library Explore sizing. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-scene-picker {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: auto !important;
    position: relative !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-scene-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding-right: max(30px, env(safe-area-inset-right)) !important;
    scroll-padding-right: max(30px, env(safe-area-inset-right)) !important;
    box-sizing: border-box !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-scene-chip {
    flex: 0 0 auto !important;
    max-width: 110px !important;
    min-width: 0px !important;
    width: auto !important;
    min-height: 64px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    scroll-snap-align: start !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-scene-chip span,
  body.dream-app-open[data-dream-route="player"] .dream-player-scene-chip em {
    white-space: nowrap !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-scene-picker::after {
    content: "" !important;
    display: none !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-transport-card .dream-player-progress-bar,
  body.dream-app-open[data-dream-route="player"] #dreamPlayerProgressBar.dream-player-progress-bar {
    height: 18px !important;
    min-height: 18px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.30) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 0 18px rgba(0,245,212,.10) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-progress-fill {
    height: 100% !important;
    min-height: 18px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, var(--dw-green, #01f5a6), var(--dw-pink, #ff71ce)) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-progress-thumb {
    width: 20px !important;
    height: 20px !important;
  }

  body.dream-app-open[data-dream-route="account"] .dream-bottom-tabs {
    border-top: 0 !important;
    outline: 0 !important;
    box-shadow: 0 -14px 34px rgba(0,0,0,.48) !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-bottom-tabs::before,
  body.dream-app-open[data-dream-route="account"] .dream-bottom-tabs::after,
  body.dream-app-open[data-dream-route="account"] .dream-bottom-tabs .dream-tab-btn::before,
  body.dream-app-open[data-dream-route="account"] .dream-bottom-tabs .dream-tab-btn::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-bottom-tabs .dream-tab-icon svg {
    display: block !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-profile-card--account,
  body.dream-app-open[data-dream-route="account"] .dream-account-identity {
    overflow: visible !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-profile-card--account h2 {
    line-height: 1.16 !important;
    padding-bottom: 3px !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
  }

  body.dream-app-open[data-dream-route="discover"] .dream-discover-now-playing-strip {
    background: rgba(5,6,10,.72) !important;
    border-color: rgba(255,255,255,.16) !important;
    box-shadow: 0 14px 38px rgba(0,0,0,.30) !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-discover-now-playing-copy em,
  body.dream-app-open[data-dream-route="discover"] .dream-discover-np-mood,
  body.dream-app-open[data-dream-route="discover"] .dream-discover-now-playing-context-label {
    color: rgba(255,255,255,.86) !important;
    -webkit-text-fill-color: rgba(255,255,255,.86) !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-discover-now-playing-actions .dream-inline-link {
    background: rgba(5,6,10,.82) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    border: 1px solid rgba(255,255,255,.22) !important;
  }

  body.dream-app-open[data-dream-route="library"] .dream-hero-actions--library {
    gap: 8px !important;
    flex-wrap: wrap !important;
  }
  body.dream-app-open[data-dream-route="library"] .dream-hero-actions--library .dream-secondary[data-show-discover-playlists] {
    min-height: 36px !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 0 12px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    background: rgba(5,6,10,.72) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    border-color: rgba(255,255,255,.20) !important;
  }
}

/* Wave 71 final mobile chrome polish: add a little more breathing room around
   the player tail, signed-out account close target, and browse mini-player dock. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-up-next-card {
    margin-bottom: max(22px, env(safe-area-inset-bottom)) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-app-content,
  body.dream-app-open[data-dream-route="player"] #dreamAppContent {
    padding-bottom: max(124px, calc(96px + env(safe-area-inset-bottom))) !important;
  }

  body.dream-app-open[data-dream-route="account"] .dream-account-topline--with-close button,
  body.dream-app-open[data-dream-route="account"] .dream-account-topline--with-close [type="button"] {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border-radius: 16px !important;
    font-size: 17px !important;
    background: rgba(5,6,10,.72) !important;
    border-color: rgba(255,255,255,.20) !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-account-topline--with-close {
    gap: 10px !important;
    align-items: start !important;
  }

  body.dream-app-open:not([data-dream-route="player"]) #miniNowPlaying {
    bottom: calc(74px + env(safe-area-inset-bottom)) !important;
    box-shadow: 0 14px 28px rgba(0,0,0,.36), 0 0 0 1px rgba(255,255,255,.08) !important;
  }
  body.dream-app-open:not([data-dream-route="player"]) .dream-bottom-tabs {
    padding-top: 7px !important;
    background: rgba(5,6,10,.82) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
  }
}

/* Wave 72 player tail clearance specificity: Wave 71 player padding lost to
   the ID-scoped scroll-surface rule; match it so Up Next has durable bottom room. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] #minimal-ui #dreamAppContent.dream-app-content,
  body.dream-app-open[data-dream-route="player"] #dreamAppContent.dream-app-content {
    padding-bottom: max(124px, calc(96px + env(safe-area-inset-bottom))) !important;
    scroll-padding-bottom: max(142px, calc(118px + env(safe-area-inset-bottom))) !important;
  }
}

/* Wave 73 final bottom-dock separation: strict vision still read the browse
   mini-player/tab stack as crowded, so increase the visible air gap and make
   the account modal close target unmistakably tappable. */
@media (max-width: 520px) {
  body.dream-app-open:not([data-dream-route="player"]) #miniNowPlaying {
    bottom: calc(84px + env(safe-area-inset-bottom)) !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-account-topline--with-close button,
  body.dream-app-open[data-dream-route="account"] .dream-account-topline--with-close [type="button"] {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
    font-size: 18px !important;
    background: rgba(5,6,10,.9) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    padding: 0 !important;
    margin: 2px 0 2px 6px !important;
    flex-shrink: 0 !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-account-topline--with-close {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding-top: 4px !important;
  }
}



/* Sprint A full-app foundation: legal pages + origin/rights badges */
.dream-policy-page {
  display: grid;
  gap: 14px;
  padding-bottom: max(132px, calc(104px + env(safe-area-inset-bottom)));
}
.dream-policy-hero,
.dream-policy-card {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  background: rgba(7,8,12,.54);
  backdrop-filter: blur(18px) saturate(1.15);
  box-shadow: 0 20px 60px rgba(0,0,0,.22);
  padding: 18px;
}
.dream-policy-hero h2 { margin: 4px 0 8px; }
.dream-policy-card p { color: rgba(255,255,255,.82); line-height: 1.55; }
.dream-policy-nav { display: flex; gap: 8px; overflow-x: auto; padding: 2px 0 4px; scrollbar-width: none; }
.dream-policy-nav::-webkit-scrollbar { display: none; }
.dream-policy-nav-btn,
.dream-policy-doc-link {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.88);
  min-height: 38px;
  padding: 9px 12px;
  text-decoration: none;
  white-space: nowrap;
}
.dream-policy-nav-btn.active,
.dream-policy-doc-link { background: rgba(255,255,255,.92); color: #07080c; }
.dream-origin-badge,
.minimal-origin-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(120,220,255,.25);
  background: rgba(90,190,255,.16);
  color: rgba(235,250,255,.94);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .02em;
}
.dream-upload-origin-radio label { min-height: 58px; }
.dream-upload-field--checkbox {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  color: rgba(255,255,255,.82);
}
@media (max-width: 520px) {
  .dream-policy-hero,
  .dream-policy-card { padding: 14px; background: rgba(7,8,12,.46); }
  .dream-policy-nav-btn { min-height: 36px; font-size: 11px; }
}


/* Sprint B report + moderation foundation */
.dream-report-modal { position: fixed; inset: 0; z-index: 2147483600; display: grid; place-items: center; padding: 18px; }
.dream-report-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.72); backdrop-filter: blur(12px); }
.dream-report-form { position: relative; z-index: 1; width: min(520px, calc(100vw - 28px)); max-height: min(760px, calc(100dvh - 36px)); overflow: auto; display: grid; gap: 14px; padding: 20px; border-radius: 24px; background: rgba(8,9,14,.92); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 30px 90px rgba(0,0,0,.55); color: #fff; }
.dream-report-form label { display: grid; gap: 7px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.72); }
.dream-report-form select, .dream-report-form textarea, .dream-report-form input { width: 100%; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(0,0,0,.36); color: #fff; padding: 11px 12px; font: inherit; text-transform: none; letter-spacing: normal; }
.dream-report-form textarea { min-height: 112px; resize: vertical; }
.dream-report-close { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border-radius: 999px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.08); color: #fff; font-size: 24px; }
.dream-report-target, .dream-report-helper { color: rgba(255,255,255,.68); line-height: 1.45; }
.dream-report-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.dream-report-status-chip { display: inline-flex; align-items: center; width: fit-content; border-radius: 999px; padding: 6px 10px; background: rgba(255,190,80,.16); color: #ffdca3; border: 1px solid rgba(255,190,80,.22); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.dream-report-route, .dream-moderation-route { display: grid; gap: 14px; }
.dream-moderation-card { display: grid; gap: 10px; padding: 16px; border-radius: 22px; background: rgba(8,9,14,.74); border: 1px solid rgba(255,255,255,.11); color: #fff; }
.dream-moderation-card > div:first-child { display: flex; gap: 10px; align-items: center; justify-content: space-between; }
.dream-moderation-controls { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.dream-moderation-controls .dream-text-input { flex: 1 1 220px; }
@media (max-width: 520px) { .dream-report-form { padding: 18px; border-radius: 22px; } .dream-report-actions .dream-primary, .dream-report-actions .dream-secondary { min-height: 42px; } }


/* Sprint C Stripe/billing readiness */
.dream-billing-readiness-card { display: grid; gap: 12px; }
.dream-billing-readiness-list { display: grid; gap: 10px; }
.dream-billing-readiness-row { align-items: start; grid-template-columns: minmax(120px, 1fr) auto; gap: 6px 12px; }
.dream-billing-readiness-row em { grid-column: 1 / -1; color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.42; font-style: normal; }
.dream-billing-readiness-row strong.is-ready { color: #84f7b5; }
.dream-billing-readiness-row strong.is-pending { color: #ffdca3; }
.dream-billing-legal-links { gap: 8px; }
@media (max-width: 520px) {
  .dream-billing-readiness-row { grid-template-columns: 1fr; }
  .dream-billing-legal-links .dream-secondary { min-height: 40px; }
}

/* Sprint D: support + data-rights */
.dream-support-form,.dream-data-rights-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(8,10,18,.34);backdrop-filter:blur(18px)}
.dream-support-form label,.dream-data-rights-form label{display:flex;flex-direction:column;gap:.35rem;color:rgba(245,247,255,.76);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.dream-support-form input,.dream-support-form select,.dream-support-form textarea,.dream-data-rights-form input,.dream-data-rights-form select,.dream-data-rights-form textarea{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(0,0,0,.28);color:#f7f7ff;padding:.75rem .85rem;font:inherit;text-transform:none;letter-spacing:normal}
.dream-support-form textarea,.dream-data-rights-form textarea{min-height:112px;resize:vertical}.dream-form-span-2{grid-column:1/-1}.dream-data-rights-card{border:1px solid rgba(125,249,255,.18);background:rgba(7,8,12,.28);backdrop-filter:blur(18px)}.dream-support-admin-list{display:grid;gap:.8rem;margin-top:1rem}
@media(max-width:720px){.dream-support-form,.dream-data-rights-form{grid-template-columns:1fr;padding:.85rem}.dream-form-span-2{grid-column:auto}}

/* Sprint E: creator rights dashboard */
.dream-creator-rights-dashboard,.dream-rights-guardrails{border:1px solid rgba(125,249,255,.18);background:rgba(7,8,12,.30);backdrop-filter:blur(18px)}
.dream-rights-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:.75rem;margin:.9rem 0}
.dream-rights-status-card{border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:.85rem;background:rgba(0,0,0,.22);display:flex;flex-direction:column;gap:.35rem}.dream-rights-status-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(245,247,255,.68)}.dream-rights-status-card strong{font-size:1.35rem;color:#fff}.dream-rights-status-card--needs_review,.dream-rights-status-card--disputed,.dream-rights-status-card--takedown_pending,.dream-rights-status-card--removed{border-color:rgba(255,113,206,.34);background:rgba(255,113,206,.10)}.dream-rights-guardrails ul{margin:.5rem 0 0;padding-left:1.15rem;color:rgba(245,247,255,.78);line-height:1.55}.dream-upload-rights-guardrail-copy{border:1px solid rgba(125,249,255,.16);border-radius:14px;padding:.65rem .75rem;background:rgba(125,249,255,.07)}

/* Sprint F: rights evidence loop */
.dream-rights-evidence-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.dream-rights-evidence-form label{display:flex;flex-direction:column;gap:.35rem;color:rgba(245,247,255,.72);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.dream-rights-evidence-form input,.dream-rights-evidence-form select,.dream-rights-evidence-form textarea{border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(0,0,0,.28);color:#fff;padding:.75rem}.dream-rights-evidence-form textarea{min-height:110px}.dream-rights-evidence-card{border:1px solid rgba(125,249,255,.18);border-radius:22px;background:rgba(7,8,12,.30);backdrop-filter:blur(18px);padding:1rem;margin:.75rem 0}.dream-rights-evidence-queue{border:1px solid rgba(255,113,206,.18);background:rgba(7,8,12,.28)}@media(max-width:700px){.dream-rights-evidence-form{grid-template-columns:1fr}.dream-rights-evidence-form .dream-form-span-2{grid-column:auto}}

/* Sprint G: public trust/provenance polish */
.dream-public-provenance-card,.dream-public-provenance-drawer,.dream-creator-trust-summary{border:1px solid rgba(125,249,255,.18);border-radius:22px;background:rgba(7,8,12,.30);backdrop-filter:blur(18px);box-shadow:0 18px 50px rgba(0,0,0,.24)}.dream-public-provenance-drawer{margin-top:.9rem;padding:1rem}.dream-public-provenance-drawer[hidden]{display:none!important}.dream-public-badge-explanations h4,.dream-public-status-history h4{margin:.9rem 0 .45rem;color:#fff}.dream-public-badge-explanations p{margin:.4rem 0;color:rgba(245,247,255,.78);line-height:1.45}.dream-creator-trust-summary .dream-metrics{margin:.6rem 0}.dream-metrics--compact{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.dream-metrics--compact{grid-template-columns:1fr}.dream-public-provenance-drawer{padding:.85rem}}


/* Sprint H upload success + creator onboarding */
.dream-upload-success-panel,.dream-creator-onboarding-card{border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:18px;background:rgba(7,8,12,.22);backdrop-filter:blur(18px);box-shadow:0 18px 48px rgba(0,0,0,.28);}
.dream-rights-checklist{list-style:none;display:grid;gap:10px;margin:12px 0;padding:0;}
.dream-rights-checklist li{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:start;padding:12px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);}
.dream-rights-checklist li span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:rgba(255,255,255,.12);font-weight:800;}
.dream-rights-checklist li.complete span{background:rgba(52,211,153,.24);color:#86efac;}
.dream-rights-checklist li.blocked span{background:rgba(251,191,36,.2);color:#fde68a;}
.dream-rights-checklist li strong{display:block;color:#fff;}
.dream-rights-checklist li em{display:block;color:rgba(255,255,255,.68);font-style:normal;font-size:.86rem;margin-top:3px;}
.dream-next-actions,.dream-upload-next-steps{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0;}
.dream-upload-next-steps{display:grid;padding-left:20px;color:rgba(255,255,255,.78);}
.dream-upload-publish-warning{margin:10px 0 14px;padding:12px 14px;border-radius:16px;background:rgba(251,191,36,.13);border:1px solid rgba(251,191,36,.24);color:#fde68a;font-size:.9rem;}
.dream-upload-success .dream-upload-success-panel{margin-top:10px;}


/* Sprint I Studio release management */
.dream-studio-release-checklist{margin-top:12px;padding:12px;border-radius:18px;background:rgba(7,8,12,.22);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px);display:grid;gap:10px;}
.dream-studio-release-head{display:grid;gap:3px;color:#fff;}
.dream-studio-release-head span,.dream-studio-release-blockers{color:rgba(255,255,255,.68);font-size:.84rem;margin:0;}
.dream-studio-readiness-chips{display:flex;flex-wrap:wrap;gap:7px;}
.dream-studio-readiness-chip{border-radius:999px;padding:6px 9px;font-size:.72rem;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(255,255,255,.78);}
.dream-studio-readiness-chip.is-complete{border-color:rgba(52,211,153,.3);background:rgba(52,211,153,.13);color:#bbf7d0;}
.dream-studio-readiness-chip.is-blocked{border-color:rgba(251,191,36,.3);background:rgba(251,191,36,.12);color:#fde68a;}
.dream-studio-release-links{display:flex;flex-wrap:wrap;gap:8px;}
.dream-studio-upload-row-focused{outline:2px solid rgba(52,211,153,.55);box-shadow:0 0 0 6px rgba(52,211,153,.12),0 18px 48px rgba(0,0,0,.28);}
@media(max-width:640px){.dream-studio-release-links{display:grid;grid-template-columns:1fr;}.dream-studio-release-links .dream-secondary{width:100%;}}


/* Sprint J rights remediation */
.dream-rights-remediation-drawer{margin-top:12px;padding:14px;border-radius:20px;background:rgba(7,8,12,.22);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px);display:grid;gap:12px;}
.dream-remediation-steps{display:grid;gap:8px;}
.dream-remediation-step{width:100%;text-align:left;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;border-radius:16px;padding:10px;display:grid;gap:4px;}
.dream-remediation-step span{color:rgba(255,255,255,.68);font-size:.82rem;}.dream-remediation-step em{color:#8df7c5;font-style:normal;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;}
.dream-remediation-step.is-active{border-color:rgba(52,211,153,.6);box-shadow:0 0 0 3px rgba(52,211,153,.12);background:rgba(52,211,153,.12);}
.dream-remediation-mini{margin-left:6px;border:0;border-radius:999px;background:rgba(251,191,36,.18);color:#fde68a;padding:4px 7px;font-size:.68rem;}
.dream-rights-evidence-edit-form{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.dream-rights-evidence-edit-form[hidden]{display:none!important;}
.dream-rights-evidence-edit-form label{display:grid;gap:5px;color:rgba(255,255,255,.74);font-size:.78rem;}.dream-rights-evidence-edit-form input,.dream-rights-evidence-edit-form textarea,.dream-rights-evidence-edit-form select{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.3);color:#fff;padding:10px;}.dream-rights-evidence-edit-form textarea{min-height:86px;}
@media(max-width:640px){.dream-rights-evidence-edit-form{grid-template-columns:1fr}.dream-remediation-mini{display:inline-block;margin-top:5px;margin-left:0}.dream-rights-remediation-drawer{padding:12px;}}


/* Sprint K mobile keyboard polish */
:root{--dream-keyboard-inset:0px;}
@media(max-width:640px){
  .dream-rights-remediation-drawer{max-height:min(78dvh,calc(100dvh - 128px - var(--dream-keyboard-inset)))!important;overflow:hidden!important;grid-template-rows:auto minmax(0,1fr) auto!important;}
  .dream-rights-remediation-drawer [data-remediation-scroll-body]{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding-right:2px!important;padding-bottom:12px!important;}
  .dream-rights-remediation-drawer [data-remediation-savebar]{position:sticky!important;bottom:calc(env(safe-area-inset-bottom) + var(--dream-keyboard-inset))!important;z-index:5!important;display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important;margin:0 -4px -4px!important;padding:10px!important;border-radius:16px!important;background:rgba(7,8,12,.76)!important;border:1px solid rgba(255,255,255,.14)!important;backdrop-filter:blur(18px)!important;}
  .dream-rights-remediation-drawer [data-remediation-savebar] .dream-primary,.dream-rights-remediation-drawer [data-remediation-savebar] .dream-secondary{min-height:44px!important;flex:1 1 140px!important;}
  [data-remediation-draft-status],[data-upload-draft-status]{font-size:.75rem;color:#8df7c5;letter-spacing:.02em;}.is-dirty[data-remediation-draft-status],.is-dirty[data-upload-draft-status]{color:#fde68a;}
  body.dream-keyboard-open .dream-rights-remediation-drawer{max-height:calc(100dvh - 92px - var(--dream-keyboard-inset))!important;}
  [data-upload-keyboard-surface]{scroll-margin-bottom:calc(160px + var(--dream-keyboard-inset))!important;}
  [data-upload-keyboard-surface] input,[data-upload-keyboard-surface] textarea,[data-upload-keyboard-surface] select,[data-remediation-input]{font-size:16px!important;touch-action:manipulation!important;}
}

@media(max-width:640px){.dream-remediation-savebar--primary{position:sticky!important;top:0!important;bottom:auto!important;margin:0!important;box-shadow:0 12px 28px rgba(0,0,0,.28)!important;}.dream-rights-remediation-drawer:has(.dream-remediation-savebar--primary){padding-top:10px!important;}}


/* Sprint L launch readiness */
.dream-launch-readiness-card{background:rgba(7,8,12,.34)!important;border:1px solid rgba(255,255,255,.13)!important;backdrop-filter:blur(18px) saturate(1.08)!important;}
.dream-launch-readiness-meter{height:8px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;margin:10px 0;}.dream-launch-readiness-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#8df7c5,#ff71ce);}
.dream-why-blocked-drawer{margin-top:12px;padding:12px;border-radius:18px;background:rgba(5,6,10,.72);border:1px solid rgba(255,255,255,.14);}.dream-launch-checklist{list-style:none;margin:0;padding:0;display:grid;gap:8px}.dream-launch-checklist li{padding:9px 10px;border-radius:14px;background:rgba(255,255,255,.07);display:grid;gap:3px}.dream-launch-checklist li.is-blocked{border:1px solid rgba(253,224,71,.32)}.dream-launch-checklist li.is-complete{border:1px solid rgba(34,197,94,.28)}.dream-launch-checklist span{font-size:.82rem;color:rgba(255,255,255,.72)}
@media(max-width:640px){.dream-launch-readiness-card{margin-inline:0!important}.dream-why-blocked-drawer{background:rgba(5,6,10,.66)!important}.dream-launch-readiness-card .dream-hero-actions{gap:8px!important}.dream-launch-readiness-card .dream-secondary{min-height:42px!important;}}


/* Library tab row scroll affordance: layered gradient fade on right edge */
body.dream-app-open[data-dream-route="library"] .dream-library-toolbar {
  background: rgba(10,12,18,.66) padding-box, linear-gradient(90deg, rgba(10,12,18,0), rgba(10,12,18,.72)) border-box !important;
  background-size: auto, 32px 100% !important;
  background-position: 0 0, right center !important;
  background-repeat: no-repeat, no-repeat !important;
}


/* Library tablist scroll affordance: ::after gradient fade */
body.dream-app-open[data-dream-route="library"] .dream-library-toolbar [role="tablist"]::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 36px !important;
  background: linear-gradient(90deg, rgba(10,12,18,0), rgba(10,12,18,.80)) !important;
  pointer-events: none !important;
  z-index: 5 !important;
  border-radius: 0 18px 18px 0 !important;
}
body.dream-app-open[data-dream-route="library"] .dream-library-toolbar [role="tablist"] {
  position: relative !important;
}

/* Sprint M: first upload -> preview -> publish guided path */
.dream-first-upload-guide {
  margin: 14px 0;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 22px;
  background: rgba(7,8,14,.32);
  backdrop-filter: blur(18px) saturate(1.12);
}
.dream-first-upload-guide .dream-upload-next-steps li {
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  padding: 10px 12px;
}
.dream-public-preview-drawer, [data-public-preview-drawer] {
  position: sticky;
  bottom: calc(76px + env(safe-area-inset-bottom));
  z-index: 42;
  margin: 14px 0;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 24px;
  background: rgba(6,7,12,.72);
  box-shadow: 0 22px 52px rgba(0,0,0,.45);
  backdrop-filter: blur(22px) saturate(1.16);
  max-height: min(78dvh, 620px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.dream-public-preview-card {
  display: grid;
  gap: 8px;
  margin: 10px 0 14px;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.10);
}
.dream-public-preview-card strong { font-size: 1rem; color: #fff; }
.dream-public-preview-card span { color: rgba(255,255,255,.82); font-size: .82rem; }
@media (max-width: 520px) {
  .dream-first-upload-guide { padding: 12px; border-radius: 20px; background: rgba(7,8,14,.28); }
  .dream-public-preview-drawer, [data-public-preview-drawer] {
    position: fixed;
    left: 10px; right: 10px; bottom: calc(82px + env(safe-area-inset-bottom));
    max-height: min(78dvh, 560px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

/* Sprint N: premium public provenance / listener trust page */
.dream-public-provenance-hero {
  display:flex; align-items:flex-start; justify-content:space-between; gap:14px;
  padding:16px; border-radius:24px; margin:0 0 14px;
  background:linear-gradient(135deg, rgba(255,113,206,.18), rgba(1,205,254,.12)), rgba(7,8,14,.34);
  border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(20px) saturate(1.12);
}
.dream-public-provenance-hero h3 { margin:.1rem 0 .25rem; color:#fff; }
.dream-listener-rights-badges { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; margin:12px 0; }
.dream-listener-rights-badge, [data-listener-rights-badge] {
  display:grid; gap:6px; min-height:92px; padding:12px; border-radius:18px;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.11);
}
.dream-listener-rights-badge strong { color:#fff; text-transform:capitalize; }
.dream-listener-rights-badge span { color:rgba(255,255,255,.76); font-size:.78rem; line-height:1.35; }
.dream-public-share-card {
  display:grid; grid-template-columns:minmax(0, 1fr) auto auto; gap:10px; align-items:center;
  padding:14px; margin:12px 0; border-radius:22px; background:rgba(6,8,14,.58);
  border:1px solid rgba(1,205,254,.18); box-shadow:0 18px 42px rgba(0,0,0,.32);
}
.dream-public-share-card div { display:grid; gap:4px; min-width:0; }
.dream-public-share-card strong { color:#fff; }
.dream-public-share-card span, .dream-public-share-card code { color:rgba(255,255,255,.72); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dream-public-transparency-timeline { display:grid; gap:10px; margin-top:12px; }
.dream-public-transparency-timeline article { padding:12px; border-radius:16px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.09); }
@media (max-width:520px) {
  .dream-public-provenance-hero { padding:13px; border-radius:20px; background:linear-gradient(135deg, rgba(255,113,206,.14), rgba(1,205,254,.10)), rgba(7,8,14,.30); }
  .dream-listener-rights-badges { grid-template-columns: repeat(2, minmax(0, 1fr)); gap:8px; }
  .dream-listener-rights-badge, [data-listener-rights-badge] { min-height:86px; padding:10px; }
  .dream-public-share-card { grid-template-columns:1fr; padding:12px; }
}

/* Sprint P — public creator trust polish */
.dream-creator-trust-polish{
  display:grid;
  gap:14px;
  padding:16px;
  background:linear-gradient(135deg, rgba(255,113,206,.12), rgba(1,205,254,.09)), rgba(7,8,12,.26);
}
.dream-creator-trust-score-card{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  padding:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(255,255,255,.055);
}
.dream-creator-trust-score-card strong{font-size:clamp(2rem,7vw,3.2rem);color:#fff;line-height:.9;text-shadow:0 0 24px rgba(125,249,255,.26)}
.dream-creator-trust-score-card span{color:rgba(255,255,255,.74);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}
.dream-creator-verified-rights-summary,.dream-creator-provenance-consistency,.dream-creator-profile-share-card{
  border:1px solid rgba(125,249,255,.16);
  border-radius:18px;
  background:rgba(0,0,0,.16);
  padding:13px;
}
.dream-creator-verified-rights-summary strong,.dream-creator-provenance-consistency strong,.dream-creator-profile-share-card strong{color:#fff}
.dream-creator-verified-rights-summary p,.dream-creator-provenance-consistency p{margin:.35rem 0 0;color:rgba(255,255,255,.76)}
.dream-creator-profile-share-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
.dream-creator-profile-share-card div{display:grid;gap:4px;min-width:0}
.dream-creator-profile-share-card span,.dream-creator-profile-share-card code{color:rgba(255,255,255,.70);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width: 720px){
  .dream-creator-trust-polish{padding:13px;border-radius:20px;gap:12px;background:linear-gradient(135deg, rgba(255,113,206,.12), rgba(1,205,254,.09)), rgba(7,8,12,.22)}
  .dream-creator-trust-score-card{align-items:flex-start;flex-direction:column}
  .dream-creator-profile-share-card{grid-template-columns:1fr}
  .dream-creator-profile-share-card .dream-secondary{width:100%}
}


/* DW-VIS-ACCOUNT-BOTTOM-CLIP (fix worker): #minimal-ui padding-bottom=0px on #account
   route causes install/add-install content to be hidden behind bottom tabs.
   Root cause: account route never sets --dream-mobile-tabs-clearance JS variable,
   so content clears 72px tabs but bottom-chrome stack (tabs ~63px + mini ~52px + safe area)
   requires ~160px clearance. Fix: add route-specific padding-bottom on #minimal-ui. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="account"] #minimal-ui {
    padding-bottom: max(160px, calc(63px + 52px + env(safe-area-inset-bottom) + 12px)) !important;
    overflow-y: auto !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #dreamAppContent.dream-app-content,
  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="account"] #dreamAppContent.dream-app-content {
    overflow-y: auto !important;
    padding-bottom: max(224px, calc(56px + 72px + env(safe-area-inset-bottom) + 96px)) !important;
  }
}

/* DW-VIS-DISCOVER-CARD-TRUNCATE fix (fix worker): address discover card truncation on phone
   Root causes confirmed via live phone CDP:
   1. Trending track titles constrained — .dream-collection-row has flex-basis:min(244px,calc(100vw-58px))
      in minimal-only.v2.v460.css at line 22506 (more specific than v461's generic .dream-trending-scroll rule).
      My fix: use equally-specific selector with larger min-width so text gets more room.
   2. Latest Drop tile thumbnails bleed at edges — dw-drop-tiles-scroll has no side padding.
   3. Section containers touch viewport edges — 12px section padding insufficient.
*/
@media (max-width: 520px) {
  /* 1: Trending track copy — set min-width=240px (was 180px which was too small; was overridden by line 3703 rule).
     Match the specificity of the earlier .dream-trending-scroll .dream-collection-row rule. */
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-row,
  .dream-trending-scroll .dream-collection-row {
    flex-basis: 180px !important;
    flex: 0 0 180px !important;
  }
  /* 2: Latest Drop tiles — add side padding so first/last tiles don't clip at edges */
  body.dream-app-open[data-dream-route="discover"] .dream-section--latest-drop .dw-drop-tiles-scroll {
    padding-left: 4px !important;
    padding-right: 14px !important;
  }
  /* 3: Section containers — add side inset so glass containers don't kiss viewport edge */
  body.dream-app-open[data-dream-route="discover"] .dream-discover-browse-grid > .dream-section {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
/* 4: Trending row — increase to 180px so title text fits */
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-row,
  .dream-trending-scroll .dream-collection-row {
    flex-basis: 180px !important;
    flex: 0 0 180px !important;
    max-width: 180px !important;
  }
  /* 5: Latest Drop tiles — set explicit width so tile doesn't shrink below 88px.
     flex: 0 0 88px in the base rule at line 19295 should enforce this,
     but a competing rule sets flex: 1 1 auto on .dw-drop-tile, shrinking tiles to ~64px.
     Use width + min-width to force the intended 88px tile width on phone. */
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tile,
  .dw-drop-tile {
    width: 88px !important;
    min-width: 88px !important;
    flex: 0 0 88px !important;
    background: rgba(10, 12, 28, 0.85) !important;
    border: 1px solid rgba(138, 80, 255, 0.20) !important;
  }
  /* 6: Latest Drop tile titles — remove any inherited max-width; let text wrap within tile */
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tile-title,
  .dw-drop-tile-title {
    max-width: none !important;
    width: 100% !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    flex: 1 1 auto !important;
  }
  /* Override the phone-media-query (line 19314) nowrap that is still active */
  @media (max-width: 520px) {
    body.dream-app-open[data-dream-route="discover"] .dw-drop-tile-title {
      white-space: normal !important;
    }
  }
  /* 7: Latest Drop tile meta — wider so title has room */
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tile-meta,
  .dw-drop-tile-meta {
    width: auto !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
  }
}

/* DW-AUDIT-TOUCH-TARGETS: ensure 44px minimum touch targets on phone */
@media (max-width: 520px) {
  .dream-tab-btn {
    min-height: 44px !important;
    padding: 8px 12px !important;
  }
  .dream-bottom-tabs .mobile-tab-btn {
    min-height: 44px !important;
    padding: 10px 8px !important;
  }
  .dream-collection-row .track-row-play,
  .dream-browse-tile .track-row-play,
  .dream-drop-tile .track-row-play {
    min-width: 44px !important;
    min-height: 44px !important;
  }
  /* DW-VIS-PLAYER-TOUCH-SIZE: enforce 44px min touch height on player action row buttons */
  body.dream-app-open[data-dream-route="player"] .dream-player-action {
    min-height: 44px !important;
    padding: 8px 14px !important;
    touch-action: manipulation !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-action--compact {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 8px 12px !important;
    touch-action: manipulation !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-track-detail-action {
    min-height: 44px !important;
    padding: 8px 16px !important;
    touch-action: manipulation !important;
  }
}


/* DW-LEGAL-COOKIE-BANNER: cookie consent banner styles */
#cookieConsentBanner {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
#cookieConsentBanner button:hover {
  opacity: 0.85;
}
#cookieConsentBanner button#cookieAcceptBtn:hover {
  opacity: 0.9;
}

/* DW-LEGAL-UPGRADE-TERMS: terms acceptance on upgrade page */
.dream-upgrade-terms {
  max-width: 720px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.dream-upgrade-terms input[type="checkbox"] {
  accent-color: #ff71ce;
}

/* DW-LEGAL-AGE-GATE: auth age gate styles */
#authAgeGate input[type="date"] {
  color-scheme: dark;
}
#authAgeGate input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
  opacity: 0.6;
  cursor: pointer;
}
#authAgeGate input[type="checkbox"] {
  accent-color: #ff71ce;
}

/* DW-LEGAL-COOKIE-BANNER-MOBILE: compact cookie banner on phone */
@media (max-width: 520px) {
  #cookieConsentBanner {
    padding: 10px 12px !important;
  }
  #cookieConsentBanner > div {
    gap: 8px !important;
  }
  #cookieConsentBanner p {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }
  #cookieConsentBanner button {
    padding: 6px 10px !important;
    font-size: 11px !important;
    border-radius: 6px !important;
  }
}

/* DW-CSS-BALANCE: previously required EOF closure removed after Wave74 repaired the malformed shelf block. */

/* DW-VIS-BOTTOM-NAV-CONTENT-OVERLAP: final phone clearance for route content above mini-player + bottom tabs. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content {
    padding-bottom: max(220px, calc(56px + 72px + env(safe-area-inset-bottom) + 24px)) !important;
  }
}

/* DW-WAVE37-BOTTOM-CHROME-NORMALIZATION: route-aware phone clearance without giant blank gutters.
   Final cascade override after Wave 30/35 high-specificity padding rules. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="discover"] .dream-app-main #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="discover"] #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="discover"] #dreamAppContent.dream-app-content {
    padding-bottom: calc(140px + env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-app-main #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-app-main #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent.dream-app-content {
    padding-bottom: max(156px, calc(72px + env(safe-area-inset-bottom) + 44px)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-app-main #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="studio"] .dream-app-main #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="studio"] #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="studio"] #dreamAppContent.dream-app-content {
    padding-bottom: max(136px, calc(72px + env(safe-area-inset-bottom) + 36px)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="player"] #dreamAppContent.dream-app-content {
    padding-bottom: max(108px, calc(72px + env(safe-area-inset-bottom) + 24px)) !important;
    overflow-y: auto !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-discover-route,
  body.dream-app-open[data-dream-route="library"] .dream-library-route,
  body.dream-app-open[data-dream-route="search"] .dream-search-route {
    padding-bottom: 18px !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-idle {
    padding-bottom: 24px !important;
    gap: 8px !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods {
    min-height: 0 !important;
    padding-bottom: 24px !important;
    margin-bottom: 12px !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-account-shell,
  body.dream-app-open[data-dream-route="studio"] .dream-creator-gate-shell {
    min-height: auto !important;
    align-content: start !important;
  }
  html body.dream-app-open[data-dream-route="player"] #dreamPlayerClose.dream-player-close,
  html body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper,
  html body.dream-app-open[data-dream-route="player"] #dreamPlayerBottomRecovery,
  body.dream-app-open[data-dream-route="player"] #dreamPlayerClose.dream-player-close,
  body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper,
  body.dream-app-open[data-dream-route="player"] #dreamPlayerBottomRecovery {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.dream-app-open[data-dream-route="studio"] .dream-studio-signedout-preview {
    padding: 12px !important;
  }
  body.dream-app-open[data-dream-route="studio"] .dream-studio-preview-grid {
    display: grid !important;
    gap: 8px !important;
  }
  body.dream-app-open[data-dream-route="studio"] .dream-studio-preview-grid article {
    display: grid !important;
    gap: 4px !important;
    padding: 10px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(7, 9, 15, .52) !important;
    backdrop-filter: blur(10px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(10px) saturate(1.12) !important;
  }
  body.dream-app-open[data-dream-route="studio"] .dream-studio-preview-grid strong {
    color: rgba(255,255,255,.95) !important;
    font-size: 12px !important;
  }
  body.dream-app-open[data-dream-route="studio"] .dream-studio-preview-grid em {
    color: rgba(255,255,255,.68) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-style: normal !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-surface {
    padding-bottom: max(108px, calc(72px + env(safe-area-inset-bottom) + 24px)) !important;
    scroll-padding-bottom: max(108px, calc(72px + env(safe-area-inset-bottom) + 24px)) !important;
  }
}

/* DW-WAVE38-ACCOUNT-SEARCH-POLISH: fill signed-out account gutter and enforce tappable search chips. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-app-main #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #dreamAppContent.dream-app-content {
    padding-bottom: max(112px, calc(72px + env(safe-area-inset-bottom) + 20px)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-account-login-section {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    padding: 12px 14px 12px !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-account-auth-card.dream-account-auth-card--compact {
    padding: 16px 14px 14px !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-account-auth-benefits {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-account-auth-benefits span {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    min-height: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    color: rgba(255,255,255,.82) !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    font: 700 10px/1.1 'DM Sans', system-ui, sans-serif !important;
    letter-spacing: .02em !important;
  }
  body.dream-app-open[data-dream-route="account"] .dream-account-auth-actions .dream-secondary,
  body.dream-app-open[data-dream-route="account"] .dream-account-auth-footer .dream-secondary {
    background: rgba(255,255,255,.15) !important;
    color: rgba(255,255,255,.94) !important;
    border-color: rgba(255,255,255,.18) !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods {
    padding-top: 7px !important;
    gap: 4px !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods .dream-section-head {
    min-height: 20px !important;
    margin-bottom: 0 !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods .dream-section-head h4 {
    font-size: 13px !important;
    line-height: 1.05 !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods .dream-search-pill-row--moods,
  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--moods {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow: auto hidden !important;
    overflow-x: auto !important;
    padding-bottom: 8px !important;
    padding-right: max(28px, env(safe-area-inset-right)) !important;
    scroll-padding-inline: 8px !important;
    mask-image: none !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-chip,
  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row [data-search-suggest],
  body.dream-app-open[data-dream-route="search"] button.dream-search-chip {
    min-height: 44px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }
}

/* DW-WAVE39-DISCOVER-LATEST-DROP-FIRST-FOLD: keep the newest-release shelf usable above fixed mini-player/nav on phone. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="discover"] .dream-section--latest-drop {
    margin-top: 12px !important;
    margin-bottom: 27px !important;
    padding: 12px 10px 8px !important;
    overflow: visible !important;
  }
  /* Extra bottom clearance so Latest Drop clears mini-player (top=581) and tabs (top=646) on 384px phone */
  body.dream-app-open[data-dream-route="discover"] #minimal-ui .dream-app-content {
    padding-bottom: calc(140px + env(safe-area-inset-bottom)) !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-section--latest-drop .dream-section-head {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    margin-bottom: 2px !important;
    min-height: 22px !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-section--latest-drop .dream-section-head h3 {
    font-size: 13px !important;
    line-height: 1 !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-chip {
    font-size: 8px !important;
    padding: 3px 6px !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-head-meta {
    margin-bottom: 5px !important;
    gap: 1px !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-pack-name {
    font-size: 13px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-released {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tiles-scroll {
    gap: 8px !important;
    margin-bottom: 0 !important;
    padding: 0 24px 4px 2px !important;
    overflow: auto hidden !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tile {
    flex: 0 0 78px !important;
    gap: 4px !important;
    padding: 5px !important;
    min-height: 72px !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tile-cover {
    height: 34px !important;
    max-height: 34px !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tile-title {
    font-size: 10px !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-height: 21px !important;
    max-height: 22px !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tile-artist {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-actions {
    display: none !important;
  }
}

/* DW-WAVE40-MOBILE-BOTTOM-BAR-FLUSH: bottom tabs must dock to the actual phone viewport bottom, not float above Android/browser chrome. */
@media (max-width: 520px) {
  body.dream-app-open .dream-bottom-tabs {
    bottom: -2px !important;
    padding-bottom: calc(max(6px, env(safe-area-inset-bottom)) + 2px) !important;
  }
  body.dream-app-open.dream-has-mini-player:not([data-dream-route="player"]) #miniNowPlaying {
    bottom: 66px !important;
  }
}



/* DW-WAVE41-LATEST-DROP-TITLE-AFFORDANCE: let mobile carousel titles wrap cleanly and show a subtle right-edge scroll cue. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="discover"] .dream-section--latest-drop {
    position: relative !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-section--latest-drop::after {
    content: '' !important;
    position: absolute !important;
    top: 42px !important;
    right: 0 !important;
    bottom: 8px !important;
    width: 52px !important;
    pointer-events: none !important;
    z-index: 2 !important;
    background: linear-gradient(90deg, rgba(9, 10, 18, 0), rgba(9, 10, 18, .66) 50%, rgba(9, 10, 18, .92)) !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tiles-scroll {
    padding-right: 34px !important;
    scroll-padding-right: 42px !important;
    -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 48px), rgba(0,0,0,.12) calc(100% - 12px), transparent 100%) !important;
    mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 48px), rgba(0,0,0,.12) calc(100% - 12px), transparent 100%) !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tiles-scroll::-webkit-scrollbar {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tile {
    flex-basis: 88px !important;
    min-height: 78px !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tile-title {
    white-space: normal !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-height: 21px !important;
    max-height: 22px !important;
  }
}

/* DW-WAVE43-MINI-PLAYER-CHROME-ALIGNMENT: center the mini-player stack, keep thumb controls readable, and anchor account badges to the tab icon. */
@media (max-width: 520px) {
  body.dream-app-open .mini-now-playing,
  body.dream-app-open #miniNowPlaying {
    align-items: center !important;
    bottom: calc(64px + env(safe-area-inset-bottom)) !important;
    gap: 10px !important;
    padding: 4px 14px 4px 12px !important;
    background: rgba(7,8,12,.94) !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 0 -10px 28px rgba(0,0,0,.36), 0 -1px 0 rgba(255,255,255,.04) !important;
  }

  body.dream-app-open .mini-np-info {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    height: 44px !important;
    min-width: 0 !important;
    max-width: min(44vw, 168px) !important;
    gap: 1px !important;
  }

  body.dream-app-open .mini-np-title {
    line-height: 1.08 !important;
  }

  body.dream-app-open .mini-np-artist {
    line-height: 1.15 !important;
    margin-top: 0 !important;
  }

  body.dream-app-open .mini-np-meta {
    min-height: 12px !important;
    line-height: 1.1 !important;
    opacity: .86 !important;
  }

  body.dream-app-open .mini-np-play,
  body.dream-app-open .mini-np-volume,
  body.dream-app-open .mini-np-queue {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    flex: 0 0 44px !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  body.dream-app-open .mini-np-volume {
    margin-right: 0 !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.08) !important;
  }



  body.dream-app-open .mini-np-queue-badge[style*="display: none"] {
    display: none !important;
  }
  body.dream-app-open .dream-tab-btn[data-app-route="account"] .dream-nav-badge[data-unread] {
    top: 7px !important;
    left: calc(50% + 8px) !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}

/* DW-WAVE44-SEARCH-SPACING-DENSITY: one-scroll-owner mobile search rhythm. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent.dream-app-content,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content {
    padding: 18px 14px 132px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-hero--search,
  body.dream-app-open[data-dream-route="search"] .dream-hero--search {
    max-height: none !important;
    overflow: visible !important;
    padding: 12px 14px 24px !important;
    margin: 6px 10px 10px !important;
    border-radius: 22px !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-hero--search h2,
  body.dream-app-open[data-dream-route="search"] .dream-hero--search h2 {
    font-size: clamp(22px, 7.2vw, 28px) !important;
    line-height: 1.02 !important;
    margin: 0 0 6px !important;
    max-width: 22ch !important;
    overflow-wrap: anywhere !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-hero-copy {
    margin: 0 !important;
    font-size: 11.4px !important;
    line-height: 1.28 !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-field {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
  }

  body.dream-app-open[data-dream-route="search"] #dreamSearchInput {
    min-height: 44px !important;
    padding: 11px 42px 11px 34px !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-results {
    margin-top: 12px !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-idle {
    gap: 10px !important;
    margin-top: 8px !important;
    padding-bottom: 0 !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-idle-scope-bar {
    gap: 6px !important;
    margin-bottom: 2px !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-scope {
    min-height: 36px !important;
    padding: 7px 9px !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-module {
    padding: 10px !important;
    border-radius: 16px !important;
    gap: 8px !important;
    background: rgba(8,10,18,.42) !important;
    backdrop-filter: blur(16px) saturate(1.15) !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-module--featured {
    gap: 9px !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-section-head h4,
  body.dream-app-open[data-dream-route="search"] .dream-search-section .dream-section-head h4 {
    margin: 0 !important;
    font-size: 10.6px !important;
    line-height: 1.1 !important;
    letter-spacing: .12em !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--start,
  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--moods {
    justify-content: flex-start !important;
    gap: 8px !important;
    padding-bottom: 4px !important;
    overflow-x: visible !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-search-chip--trend,
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-search-chip--mood,
  body.dream-app-open[data-dream-route="search"] .dream-search-chip--trend,
  body.dream-app-open[data-dream-route="search"] .dream-search-chip--mood {
    min-height: 40px !important;
    padding: 8px 11px !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    touch-action: manipulation !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-feature-grid {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-feature-card,
  body.dream-app-open[data-dream-route="search"] .dream-search-featured-playlist {
    min-height: 56px !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-browse-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-browse-grid--compact .dream-browse-tile {
    min-height: 64px !important;
    aspect-ratio: auto !important;
    padding: 12px !important;
    border-radius: 16px !important;
    align-items: flex-end !important;
    box-shadow: inset 0 -44px 46px rgba(0,0,0,.38) !important;
    touch-action: manipulation !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-browse-grid--compact .dream-browse-tile span {
    white-space: normal !important;
    line-height: 1.05 !important;
  }
}

/* DW-WAVE45-LIBRARY-CONTENT-FIRST: signed-out Library shows collection content before sync/admin copy. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-route--signed-out-content-first .dream-hero--library {
    padding: 10px 12px 10px !important;
    margin: 12px 10px 14px !important;
    min-height: 0 !important;
    max-height: none !important;
    background: rgba(7, 8, 12, .30) !important;
    border-color: rgba(255,255,255,.10) !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-route--signed-out-content-first .dream-hero--library h2 {
    font-size: clamp(20px, 5.2vw, 24px) !important;
    line-height: 1.02 !important;
    margin: 0 0 4px !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-route--signed-out-content-first .dream-library-summary-copy {
    font-size: 10.8px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    color: rgba(255,255,255,.72) !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-route--signed-out-content-first .dream-library-status-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 8px !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-route--signed-out-content-first .dream-library-source {
    min-height: 32px !important;
    padding: 6px 9px !important;
    border-radius: 999px !important;
    width: auto !important;
    flex: 0 1 auto !important;
    background: rgba(5, 6, 10, .54) !important;
    border-color: rgba(255,255,255,.12) !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-route--signed-out-content-first .dream-library-source strong {
    font-size: 9.5px !important;
    letter-spacing: .14em !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-route--signed-out-content-first .dream-library-source span {
    display: none !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-route--signed-out-content-first .dream-hero--library .dream-library-sync-action {
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    font-size: 9.2px !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-route--signed-out-content-first .dream-hero-actions--library {
    margin-top: 8px !important;
    gap: 8px !important;
  }
}



/* DW-WAVE46-LIBRARY-MOBILE-DENSITY: make Library controls compact and playlists play-first on phones. */
@media (max-width: 760px) {
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-sub-tabs {
    gap: 4px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    scrollbar-width: none !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-sub-tabs::-webkit-scrollbar {
    display: none !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-sub-tabs::after {
    display: none !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-sub-tab {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 5px 3px !important;
    font-size: 10.5px !important;
    letter-spacing: .02em !important;
    border-radius: 14px !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-sub-tab span {
    font-size: 10px !important;
    line-height: 1 !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-section--playlist-controls-demoted .dream-playlists-head-top {
    display: none !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-section--library-playlists {
    margin-top: 12px !important;
    padding: 10px !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-playlists-head-row {
    gap: 8px !important;
    align-items: center !important;
    margin-bottom: 8px !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-playlists-head-row h3 {
    font-size: 15px !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-playlists-head-row .dream-create-playlist-action {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
    margin-left: auto !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-playlist-card--play-first {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    align-items: center !important;
    min-height: 74px !important;
    padding: 8px 8px !important;
    gap: 8px !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-playlist-card--play-first .dream-collection-icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    font-size: 18px !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-playlist-card--play-first .dream-collection-playlist-copy strong {
    font-size: 14px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-playlist-card--play-first .dream-collection-playlist-copy em {
    font-size: 11px !important;
    line-height: 1.2 !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-playlist-card--play-first .dream-collection-playlist-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    align-items: stretch !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-playlist-card--play-first .dream-playlist-play-all {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, rgba(59,255,155,.95), rgba(21,180,112,.9)) !important;
    color: #03120b !important;
    font-weight: 900 !important;
    box-shadow: 0 10px 24px rgba(21,180,112,.28) !important;
  }
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-playlist-card--play-first .dream-playlist-select[data-playlist-open] {
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 10.5px !important;
    opacity: .82 !important;
  }
}

/* DW-WAVE47-MOBILE-SAFE-GUTTERS-SEEK: real-phone audit pass for system-nav breathing room, readable search cards, and touchable player scrub. */
/* DW-WAVE48-MINI-PLAYER-NAV-AIR-GAP: lift the browsing mini-player clear of the bottom tab bar after phone geometry found a 5px overlap. */
@media (max-width: 520px) {
  body.dream-app-open .dream-bottom-tabs {
    bottom: 8px !important;
    padding-bottom: 14px !important;
    box-shadow: 0 -18px 38px rgba(0,0,0,.52), 0 -1px 0 rgba(255,255,255,.07) !important;
  }

  body.dream-app-open.dream-has-mini-player:not([data-dream-route="player"]) #miniNowPlaying,
  body.dream-app-open.dream-has-mini-player:not([data-dream-route="player"]) .mini-now-playing {
    bottom: 90px !important;
    margin-bottom: 0 !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="discover"] #minimal-ui .dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="discover"] #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #dreamAppContent.dream-app-content {
    padding-left: 14px !important;
    padding-right: 14px !important;
    padding-bottom: 182px !important;
    scroll-padding-bottom: 182px !important;
  }

  body.dream-app-open[data-dream-route="discover"] .dream-section {
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-results {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="search"] #minimal-ui .dream-search-idle .dream-search-module,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #minimal-ui .dream-search-results .dream-search-module,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-search-idle .dream-search-module,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-search-results .dream-search-module,
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-search-idle .dream-search-module,
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-search-results .dream-search-module,
  body.dream-app-open[data-dream-route="search"] .dream-search-idle .dream-search-module,
  body.dream-app-open[data-dream-route="search"] .dream-search-results .dream-search-module,
  body.dream-app-open[data-dream-route="search"] .dream-search-module {
    padding: 12px 14px !important;
    background: rgba(7, 9, 14, .64) !important;
    background-color: rgba(7, 9, 14, .64) !important;
    border-color: rgba(255,255,255,.16) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.28) !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-section-head {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-list-row,
  body.dream-app-open[data-dream-route="search"] .dream-search-track-row,
  body.dream-app-open[data-dream-route="search"] .dream-search-feature-card,
  body.dream-app-open[data-dream-route="search"] .dream-search-featured-playlist {
    background: rgba(255,255,255,.075) !important;
    border-color: rgba(255,255,255,.12) !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamPlayerProgressBar.dream-player-progress-bar,
  body.dream-app-open[data-dream-route="player"] .dream-player-transport-card .dream-player-progress-bar {
    height: 24px !important;
    min-height: 24px !important;
    background: rgba(255,255,255,.34) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-progress-fill {
    min-height: 24px !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-progress-thumb {
    width: 24px !important;
    height: 24px !important;
    box-shadow: 0 0 0 6px rgba(255,255,255,.18), 0 0 26px rgba(255,113,206,.62), 0 0 34px rgba(30,215,96,.24) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-progress {
    margin-bottom: 10px !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-scene-picker {
    margin-top: 4px !important;
  }

}

/* DW-WAVE49-DISCOVER-CAROUSEL-POLISH: make Discover shelves read as intentional horizontal carousels on phones, not clipped cards. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="discover"] .dream-section--trending-mobile {
    position: relative !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-section--trending-mobile::after {
    content: '' !important;
    position: absolute !important;
    top: 42px !important;
    right: 0 !important;
    bottom: 8px !important;
    width: 16px !important;
    pointer-events: none !important;
    z-index: 3 !important;
    background: linear-gradient(90deg, rgba(7,8,12,0), rgba(7,8,12,.18) 58%, rgba(7,8,12,.36)) !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll {
    gap: 12px !important;
    padding-left: 10px !important;
    padding-right: 44px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    scroll-padding-left: 10px !important;
    scroll-padding-right: 44px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll::-webkit-scrollbar {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-row {
    flex: 0 0 min(190px, calc((100vw - 52px) / 2)) !important;
    flex-basis: min(190px, calc((100vw - 52px) / 2)) !important;
    width: min(190px, calc((100vw - 52px) / 2)) !important;
    min-width: min(190px, calc((100vw - 52px) / 2)) !important;
    max-width: min(190px, calc((100vw - 52px) / 2)) !important;
    scroll-snap-align: start !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-track-copy strong {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.15 !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-section--latest-drop::after {
    width: 16px !important;
    background: linear-gradient(90deg, rgba(7,8,12,0), rgba(7,8,12,.18) 58%, rgba(7,8,12,.36)) !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-section--latest-drop .dw-drop-tiles-scroll {
    gap: 10px !important;
    padding-left: 2px !important;
    padding-right: 52px !important;
    scroll-padding-left: 2px !important;
    scroll-padding-right: 52px !important;
    scroll-snap-type: x proximity !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tile {
    flex: 0 0 104px !important;
    flex-basis: 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    scroll-snap-align: start !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tile-cover {
    height: 38px !important;
    max-height: 38px !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dw-drop-tile-title {
    font-size: 11px !important;
    line-height: 1.12 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-height: 24px !important;
    max-height: 24px !important;
  }
}

/* DW-WAVE50-LIBRARY-MOBILE-TOUCH-TARGETS: keep first-viewport Library actions thumb-sized without adding bottom chrome clutter. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-section--library-playlists .dream-create-playlist-action,
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-section--library-playlists .dream-playlist-play-all,
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-section--library-playlists .dream-row-actions .dream-row-pill,
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-section--library-playlists .dream-playlist-select,
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-section--library-followed .dream-secondary {
    min-height: 44px !important;
    height: auto !important;
    padding: 10px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-section--library-playlists .dream-row-actions {
    gap: 8px !important;
    align-items: stretch !important;
  }
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-section--library-followed .dream-secondary {
    padding: 10px 14px !important;
    min-height: 44px !important;
  }
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-section--library-playlists .dream-playlists-head-row .dream-status-chip {
    min-height: 32px !important;
    padding: 7px 10px !important;
  }
  /* DW-WAVE80-NEW-18 LIBRARY-FOLLOWED-EMPTY-CTA-CHROME-OVERLAP: on phone, the Followed
     section's empty-state "Explore playlists" button lands at viewport y=548-592 on
     cold load, with the bottom 11-15px hidden behind the fixed mini-player (y=581-633)
     and/or clipped by .dream-app-content's overflow:hidden at y=577. Lift the empty
     state up so the full button clears the mini-player and stays inside the scroll
     container's content area. Negative top margin on the empty-state div is the
     smallest possible change that does not affect followed-playlist rows. */
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-section--library-followed .dream-empty--library-playlists {
    margin-top: -24px !important;
  }
  /* And give the section itself a small negative top margin so the section header
     "Followed" doesn't sit awkwardly low after the empty-state lift. */
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-section--library-followed {
    margin-top: -6px !important;
  }
}

/* DW-WAVE51-PLAYER-FULLSCREEN-NAV-CLEARANCE: keep the mobile Player as a full-screen transport surface. Late global bottom-nav fit rules can re-display the tabs; this route-specific EOF guard hides app chrome and reserves only Android-nav breathing room so Up Next is not clipped. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="player"] #minimal-ui .dream-bottom-tabs,
  body.mode-minimal.dream-app-open[data-dream-route="player"] #minimal-ui #miniNowPlaying,
  body.mode-minimal.dream-app-open[data-dream-route="player"] #minimal-ui .mini-now-playing {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="player"] #minimal-ui #dreamAppContent,
  body.mode-minimal.dream-app-open[data-dream-route="player"] #minimal-ui .dream-app-content {
    padding-bottom: calc(84px + env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom: calc(84px + env(safe-area-inset-bottom)) !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="player"] .dream-player-up-next-card {
    margin-bottom: 18px !important;
  }
}

/* DW-WAVE52-PLAYER-MOBILE-TIER-DEMOTION: the compact mobile Player should finish on usable Up Next, not a monetization strip peeking into the Android/browser nav danger zone. Keep plan CTAs on Account/Studio; hide the Player tier strip only on the phone Player route and give Up Next a final visual air gap. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="player"] #minimal-ui .dream-player-tier-strip {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="player"] #minimal-ui .dream-player-up-next-card {
    margin-bottom: 24px !important;
  }
}

/* DW-WAVE53-ACCOUNT-AUTH-MOBILE-POLISH: the Account auth sheet is now structurally clear of bottom chrome, but the secondary email path still read visually disabled and the revealed submit/benefit chips were undersized on phone. Keep the email path obviously tappable, make the revealed submit full-width for thumb reach, and lift benefit-chip readability without adding opaque chrome over the cinematic background. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="account"] .dream-account-email-toggle,
  body.dream-app-open[data-dream-route="account"] .dream-account-auth-actions .dream-secondary {
    min-height: 46px !important;
    background: rgba(255,255,255,.22) !important;
    border-color: rgba(255,255,255,.32) !important;
    color: rgba(255,255,255,.98) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.10), 0 12px 28px rgba(0,0,0,.22) !important;
  }

  body.dream-app-open[data-dream-route="account"] .dream-account-auth-submit,
  body.dream-app-open[data-dream-route="account"] .dream-account-auth-footer > button.dream-secondary {
    width: 100% !important;
    min-height: 46px !important;
    justify-content: center !important;
    background: rgba(5,6,10,.94) !important;
    border-color: rgba(255,255,255,.30) !important;
    color: rgba(255,255,255,.99) !important;
    font-weight: 900 !important;
  }

  body.dream-app-open[data-dream-route="account"] .dream-account-auth-benefits {
    gap: 7px !important;
    margin-top: 12px !important;
  }

  body.dream-app-open[data-dream-route="account"] .dream-account-auth-benefits span {
    min-height: 32px !important;
    padding: 7px 9px !important;
    background: rgba(255,255,255,.14) !important;
    border-color: rgba(255,255,255,.22) !important;
    color: rgba(255,255,255,.92) !important;
    font: 800 11px/1.15 'DM Sans', system-ui, sans-serif !important;
  }
}



/* DW-WAVE54-SEARCH-MOBILE-AFFORDANCE: make Search feel like a real thumb-first search surface on phones. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="search"] #dreamSearchInput {
    min-height: 48px !important;
    padding: 13px 46px 13px 42px !important;
    background: rgba(3, 4, 10, 0.92) !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.08) !important;
    color: #fff !important;
    font-size: 15px !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  body.dream-app-open[data-dream-route="search"] #dreamSearchInput::placeholder {
    color: rgba(255,255,255,.78) !important;
    opacity: 1 !important;
  }
  body.dream-app-open[data-dream-route="search"] #dreamSearchInput:focus {
    background: rgba(4, 5, 12, 0.96) !important;
    border-color: rgba(255,113,206,.72) !important;
    box-shadow: 0 0 0 2px rgba(255,113,206,.16), 0 16px 38px rgba(0,0,0,.36) !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-icon {
    color: rgba(255,255,255,.9) !important;
    left: 14px !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-chip,
  body.dream-app-open[data-dream-route="search"] .dream-search-chip--history,
  body.dream-app-open[data-dream-route="search"] .dream-search-chip--trend,
  body.dream-app-open[data-dream-route="search"] .dream-search-chip--mood {
    min-height: 44px !important;
    padding: 9px 13px !important;
    font-size: 11.4px !important;
    line-height: 1.12 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(7, 8, 12, 0.62) !important;
    border-color: rgba(255,255,255,.22) !important;
    color: rgba(255,255,255,.96) !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-idle-scope-bar .dream-search-scope {
    min-height: 44px !important;
    padding: 8px 12px !important;
    border-color: rgba(255,255,255,.24) !important;
    background: rgba(5, 6, 12, 0.72) !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }
}


/* DW-WAVE54B-SEARCH-CHIP-SPECIFICITY: beat late mode-minimal density shrink on the loaded phone CSSOM. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-search-chip,
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-search-chip--history,
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-search-chip--trend,
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-search-chip--mood,
  body.mode-minimal.dream-app-open[data-dream-route="search"] .dream-search-pill-row [data-search-suggest] {
    min-height: 44px !important;
    padding: 9px 13px !important;
    font-size: 11.4px !important;
    line-height: 1.12 !important;
    background: rgba(7, 8, 12, 0.62) !important;
    border-color: rgba(255,255,255,.22) !important;
    color: rgba(255,255,255,.96) !important;
    touch-action: manipulation !important;
  }
}

/* DW-WAVE55-DESKTOP-SEARCH-CARDS-AND-TOUCH: uncramp desktop Search featured cards while restoring remaining phone touch targets. */
@media (min-width: 761px) {
  body.dream-app-open[data-dream-route="search"] .dream-search-module--featured {
    width: 100% !important;
    max-width: none !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-feature-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-feature-card,
  body.dream-app-open[data-dream-route="search"] .dream-search-featured-playlist {
    min-height: 82px !important;
    padding: 12px !important;
    gap: 12px !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-feature-card img,
  body.dream-app-open[data-dream-route="search"] .dream-search-featured-playlist img {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-feature-copy {
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-feature-copy strong,
  body.dream-app-open[data-dream-route="search"] .dream-search-feature-copy em {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  body.dream-app-open[data-dream-route="search"] .dream-search-feature-copy strong {
    line-height: 1.18 !important;
    -webkit-line-clamp: 2 !important;
  }
}

@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="library"] .dream-library-sub-tab,
  body.dream-app-open[data-dream-route="library"] .dream-library-sub-tab {
    min-height: 44px !important;
    height: 44px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    touch-action: manipulation !important;
  }
  body.dream-app-open[data-dream-route="player"] #dreamPlayerProgressBar.dream-player-progress-bar,
  body.dream-app-open[data-dream-route="player"] .dream-player-transport-card .dream-player-progress-bar {
    height: 44px !important;
    min-height: 44px !important;
    padding: 10px 0 !important;
    box-sizing: border-box !important;
    touch-action: none !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-progress-fill {
    min-height: 8px !important;
    height: 8px !important;
    border-radius: 999px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-progress-thumb {
    width: 28px !important;
    height: 28px !important;
  }
}

/* DW-WAVE56-PLAYER-DESKTOP-INTERNAL-SCROLL: keep the desktop Player viewport-fit with quick actions visible. */
@media (min-width: 1280px) {
  body.dream-app-open[data-dream-route="player"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="player"] #dreamAppContent.dream-app-content {
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    align-items: stretch !important;
    min-height: 0 !important;
    overflow: hidden !important;
    overscroll-behavior: contain !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-layout--desktop {
    width: min(100%, 88rem) !important;
    min-height: 0 !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: clip !important;
    grid-template-columns: minmax(20rem, 28.5rem) minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    align-items: start !important;
    align-content: start !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-primary,
  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-secondary {
    min-height: 0 !important;
    align-self: start !important;
    overflow: visible !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-primary {
    position: sticky !important;
    top: .625rem !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-secondary-grid {
    min-width: 0 !important;
    min-height: 0 !important;
    align-items: start !important;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-up-next-card {
    width: 100% !important;
    max-width: none !important;
    margin-top: .875rem !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop #dreamPlayerQuickActions,
  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-quick-actions {
    align-self: center !important;
    margin-top: .875rem !important;
    margin-bottom: 0 !important;
    max-width: min(100%, 44rem) !important;
  }
}

/* DW-WAVE57-DESKTOP-RAIL-SHORT-VIEWPORT-FIT: keep the desktop nav rail scrollable/reachable on short screens. */
@media (min-width: 1100px) {
  body.dream-app-open .dream-bottom-tabs {
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: auto !important;
    width: var(--dream-rail-width) !important;
    min-height: 0 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 24px 16px 24px !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 8px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    box-sizing: border-box !important;
  }

  body.dream-app-open .dream-bottom-tabs .dream-tab-btn,
  body.dream-app-open #dreamStatsTab.dream-tab-btn {
    flex: 0 0 auto !important;
    min-height: 44px !important;
    min-width: 0 !important;
  }

  body.dream-app-open .dream-rail-now-playing,
  body.dream-app-open .dream-rail-queue-mode {
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  body.dream-app-open .dream-bottom-tabs--offline-indicator-ready {
    position: fixed !important;
  }
}

@media (min-width: 1100px) and (max-height: 660px) {
  body.dream-app-open .dream-bottom-tabs {
    padding-top: 10px !important;
    padding-bottom: 14px !important;
    gap: 6px !important;
  }

  body.dream-app-open .dream-rail-brand {
    padding-bottom: 8px !important;
    margin-bottom: 2px !important;
  }

  body.dream-app-open .dream-tab-btn,
  body.dream-app-open #dreamStatsTab.dream-tab-btn {
    min-height: 44px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
  }

  body.dream-app-open .dream-rail-now-playing {
    margin-top: 4px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  body.dream-app-open .dream-rail-queue-mode {
    margin-top: 4px !important;
    padding: 8px 10px !important;
    gap: 6px !important;
  }
}

@media (min-width: 1100px) and (max-height: 540px) {
  body.dream-app-open .dream-rail-now-playing {
    display: none !important;
  }
}

/* DW-WAVE57B-COMPACT-RAIL-CASCADE-GUARD: preserve desktop icon rail after Wave57 late rail containment. */
@media (min-width: 1100px) {
  body.dream-app-open.dream-desktop-minimal .dream-bottom-tabs {
    width: var(--dream-rail-compact-width) !important;
    padding: 22px 10px 24px !important;
    align-items: center !important;
    gap: 6px !important;
  }

  body.dream-app-open.dream-desktop-minimal .dream-bottom-tabs .dream-tab-btn,
  body.dream-app-open.dream-desktop-minimal #dreamStatsTab.dream-tab-btn {
    justify-content: center !important;
    width: 48px !important;
    min-width: 48px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.dream-app-open.dream-desktop-minimal .dream-app-main {
    margin-left: var(--dream-rail-compact-width) !important;
    width: calc(100vw - var(--dream-rail-compact-width)) !important;
  }

  body.dream-app-open.dream-desktop-minimal .mini-now-playing {
    width: calc(100vw - var(--dream-rail-compact-width)) !important;
    margin-left: var(--dream-rail-compact-width) !important;
  }
}

/* DW-WAVE58-DESKTOP-COOKIE-CONSENT-NONOVERLAP: keep fresh-session cookie banner off playback controls. */
@media (min-width: 1100px) {
  body.dream-app-open #cookieConsentBanner {
    left: auto !important;
    right: 24px !important;
    bottom: max(118px, env(safe-area-inset-bottom)) !important;
    width: min(420px, calc(100vw - var(--dream-rail-width, 264px) - 56px)) !important;
    max-width: 420px !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 42px rgba(0,0,0,0.38) !important;
    box-sizing: border-box !important;
  }

  body.dream-app-open #cookieConsentBanner > div {
    max-width: none !important;
    align-items: flex-start !important;
  }
}

/* DW-WAVE59-ACCOUNT-AUTH-CONTRAST: keep signed-out Account auth choices visibly enabled and readable across desktop + phone. */
body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-account-github-auth,
body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-account-auth-actions .dream-primary {
  min-height: 48px !important;
  background: var(--dw-green) !important;
  border-color: var(--dw-green) !important;
  color: #050506 !important;
  font-weight: 800 !important;
  text-shadow: none !important;
}

body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-account-email-toggle,
body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-account-auth-actions .dream-secondary {
  min-height: 44px !important;
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 12px !important;
  color: rgba(255,255,255,.94) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-account-email-toggle:hover,
body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-account-email-toggle:focus-visible,
body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-account-auth-actions .dream-secondary:hover,
body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-account-auth-actions .dream-secondary:focus-visible {
  background: rgba(255,255,255,.20) !important;
  border-color: rgba(255,255,255,.34) !important;
  color: #fff !important;
}

body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-account-auth-submit {
  width: 100% !important;
  min-height: 46px !important;
  background: rgba(255,255,255,.18) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  color: rgba(255,255,255,.99) !important;
  font-weight: 800 !important;
}

@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-account-email-toggle,
  body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-account-auth-actions .dream-secondary {
    min-height: 48px !important;
    background: rgba(255,255,255,.22) !important;
    border-color: rgba(255,255,255,.32) !important;
    color: rgba(255,255,255,.98) !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-account-github-auth,
  body.mode-minimal.dream-app-open[data-dream-route="account"] .dream-account-auth-actions .dream-primary {
    color: #050506 !important;
    min-height: 48px !important;
  }
}

/* DW-WAVE60-PLAYER-SCROLL-BUTTON-STABILITY: Player escape/scene controls must remain tappable after aggressive scroll. */
@media (max-width: 520px) {
  html body.mode-minimal.dream-app-open[data-dream-route="player"] #dreamPlayerClose.dream-player-close,
  html body.dream-app-open[data-dream-route="player"] #dreamPlayerClose.dream-player-close,
  body.mode-minimal.dream-app-open[data-dream-route="player"] #dreamPlayerClose.dream-player-close,
  body.dream-app-open[data-dream-route="player"] #dreamPlayerClose.dream-player-close {
    display: inline-flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    position: fixed !important;
    top: max(60px, env(safe-area-inset-top)) !important;
    left: 10px !important;
    right: auto !important;
    width: auto !important;
    min-width: 108px !important;
    max-width: min(42vw, 156px) !important;
    height: 44px !important;
    z-index: 2140 !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="player"] #cookieConsentBanner,
  body.dream-app-open[data-dream-route="player"] #cookieConsentBanner {
    top: auto !important;
    bottom: calc(52px + env(safe-area-inset-bottom)) !important;
    max-height: min(180px, calc(100dvh - 360px)) !important;
    overflow-y: auto !important;
    z-index: 998 !important;
  }
}

@media (min-width: 1100px) {
  body.dream-app-open[data-dream-route="player"] #dreamPlayerClose.dream-player-close {
    left: calc(var(--dream-rail-width, 264px) + 16px) !important;
    top: 54px !important;
    z-index: 2140 !important;
  }

  body.dream-app-open[data-dream-route="player"] #cookieConsentBanner {
    top: 24px !important;
    bottom: auto !important;
    z-index: 500 !important;
  }

  body.dream-app-open.dream-desktop-minimal[data-dream-route="player"] #dreamPlayerClose.dream-player-close {
    left: calc(var(--dream-rail-compact-width, 80px) + 16px) !important;
  }
}

/* DW-WAVE63-DISCOVER-TRENDING-CAROUSEL-FIT → DW-WAVE73-FIX: 148px pushed 3rd card to x=505>384 (viewport).
   100px cards fit 3 per row: 3×100 + 2×14 = 328px < 384px. Matches VHS tile sizing (104px). */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-row {
    flex: 0 0 100px !important;
    flex-basis: 100px !important;
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    padding: 6px 8px !important;
    gap: 14px !important;
    box-sizing: border-box !important;
    scroll-snap-align: start !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-track-copy {
    padding: 0 2px !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-collection-track-copy strong {
    font-size: 11.5px !important;
    line-height: 1.2 !important;
  }
  body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll .dream-row-stat {
    font-size: 9.5px !important;
  }
}

/* DW-WAVE64-SEARCH-MOBILE-RESULT-ROW-COPY-COLLAPSE: keep Search result titles readable beside controls. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="search"] .dream-search-row--track {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    gap: 10px !important;
    overflow: hidden !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-track-main {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    grid-template-columns: 44px minmax(120px, 1fr) !important;
    gap: 10px !important;
    overflow: hidden !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-row-copy {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-row-copy strong,
  body.dream-app-open[data-dream-route="search"] .dream-search-row-copy em,
  body.dream-app-open[data-dream-route="search"] .dream-search-row-title,
  body.dream-app-open[data-dream-route="search"] .dream-search-row-sub {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-row-controls {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    justify-content: flex-end !important;
    align-self: center !important;
    width: auto !important;
    max-width: 124px !important;
    min-width: 0 !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    z-index: 1 !important;
  }
}

/* DW-WAVE65-PLAYER-BOTTOM-RECOVERY: fixed bottom escape for long phone Player scroll states. */
@media (max-width: 640px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper {
    position: fixed !important;
    left: 16px !important;
    right: 16px !important;
    bottom: calc(max(18px, env(safe-area-inset-bottom)) + 6px) !important;
    z-index: 1300 !important;
    display: flex !important;
    width: auto !important;
    max-width: calc(100vw - 32px) !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    pointer-events: none !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper .dream-player-bottom-recovery,
  body.dream-app-open[data-dream-route="player"] #dreamPlayerBottomRecovery {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    z-index: 1301 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 156px !important;
    max-width: calc(100vw - 32px) !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    background: rgba(7, 10, 16, .82) !important;
    color: rgba(255,255,255,.96) !important;
    box-shadow: 0 16px 44px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.12) !important;
    backdrop-filter: blur(14px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.2) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
    pointer-events: auto !important;
  }
}

/* DW-WAVE65-PLAYER-BOTTOM-RECOVERY-FINAL: beat older high-specificity hide rules. */
@media (max-width: 640px) {
  html body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper,
  body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper {
    display: flex !important;
    visibility: visible !important;
    pointer-events: none !important;
    position: fixed !important;
    left: 16px !important;
    right: 16px !important;
    bottom: calc(max(18px, env(safe-area-inset-bottom)) + 6px) !important;
    z-index: 1300 !important;
    width: auto !important;
    min-height: 44px !important;
    max-width: calc(100vw - 32px) !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
  }

  html body.dream-app-open[data-dream-route="player"] #dreamPlayerBottomRecovery,
  body.dream-app-open[data-dream-route="player"] #dreamPlayerBottomRecovery,
  html body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper .dream-player-bottom-recovery,
  body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery-wrapper .dream-player-bottom-recovery {
    display: inline-flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    z-index: 1301 !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 156px !important;
    max-width: calc(100vw - 32px) !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    background: rgba(7, 10, 16, .82) !important;
    color: rgba(255,255,255,.96) !important;
    box-shadow: 0 16px 44px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.12) !important;
    backdrop-filter: blur(14px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.2) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
  }
}

/* DW-COOKIE-BANNER-PHONE-SUPPRESS: on phone, cookie banner still overlaps content 
   even at 155px+safe-area bottom because it extends 103px up from its bottom edge,
   reaching to top=464 on a 723px viewport — squarely in the content zone.
   Suppress the banner on phone entirely when no consent is stored; 
   the inline display:block from initConsent() is overridden by !important here.
   Users on phone can manage cookies via #privacy route if needed. */
@media (max-width: 520px) {
  #cookieConsentBanner {
    display: none !important;
  }
}

/* DW-WAVE67-SEARCH-BROWSE-MOODMAP-CLEARANCE: keep the phone Search Browse
   suggestions as a single horizontal rail so the Mood Map does not land behind
   the fixed bottom tabs on first paint. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="search"] .dream-search-module--start {
    padding-bottom: 8px !important;
    margin-bottom: 8px !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--start {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    max-width: 100% !important;
    padding-right: 32px !important;
    scroll-padding-right: 32px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-pill-row--start .dream-search-chip {
    flex: 0 0 auto !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-module--moods {
    margin-top: 8px !important;
    margin-bottom: 48px !important;
    scroll-margin-bottom: calc(48px + env(safe-area-inset-bottom)) !important;
  }

  body.dream-app-open[data-dream-route="search"] .dream-search-results {
    padding-bottom: max(320px, calc(190px + env(safe-area-inset-bottom))) !important;
  }
}

/* DW-WAVE68-PLAYER-SEEK-THUMB-VISIBILITY: desktop/tablet Player used the
   correct scrub DOM, but the thumb styling was trapped inside a phone media
   block on some active CSS paths. Keep the bar as the hit target, make the
   thumb visible outside mobile, and allow it to glow beyond the thin rail. */
body.dream-app-open[data-dream-route="player"] .dream-player-transport-card .dream-player-progress-bar,
body.dream-app-open[data-dream-route="player"] #dreamPlayerProgressBar.dream-player-progress-bar {
  position: relative !important;
  overflow: visible !important;
  touch-action: none !important;
}
body.dream-app-open[data-dream-route="player"] .dream-player-progress-thumb {
  position: absolute !important;
  left: var(--dream-progress-pct, 0%) !important;
  top: 50% !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 999px !important;
  transform: translate(-50%, -50%) !important;
  background: #fff !important;
  box-shadow: 0 0 0 5px rgba(255,255,255,.14), 0 0 22px rgba(255,113,206,.55) !important;
  pointer-events: none !important;
  z-index: 3 !important;
}

@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-progress-thumb {
    width: 28px !important;
    height: 28px !important;
    box-shadow: 0 0 0 6px rgba(255,255,255,.18), 0 0 26px rgba(255,113,206,.62), 0 0 34px rgba(30,215,96,.24) !important;
  }
}

/* DW-WAVE69-DISCOVER-SCROLL-AFFORDANCE: Discover horizontal shelves hide native
   scrollbars, so add a non-blocking right-edge fade cue while preserving native
   pan-x momentum scrolling and the Wave63 phone card-fit sizing. */
body.dream-app-open[data-dream-route="discover"] .dream-trending-scroll,
body.dream-app-open[data-dream-route="discover"] .dream-section--latest-drop .dw-drop-tiles-scroll {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-x !important;
  padding-right: 32px !important;
  scroll-padding-right: 32px !important;
  mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 34px), rgba(0,0,0,.25) calc(100% - 12px), transparent 100%) !important;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 34px), rgba(0,0,0,.25) calc(100% - 12px), transparent 100%) !important;
}
/* DW-AUDIT-2026-06-08: mobile header contrast fix — dark scrim behind header text for readability */
@media (max-width: 520px) {
  body.dream-app-open .dream-app-header {
    background: rgba(5,6,10,0.88) !important;
    backdrop-filter: blur(10px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
    padding: 10px 14px !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }
  body.dream-app-open .dream-app-header h1,
  body.dream-app-open .dream-app-header p {
    color: #fff !important;
    text-shadow: 0 1px 5px rgba(0,0,0,0.5) !important;
  }
  body.dream-app-open .dream-app-header-actions button {
    min-width: 44px !important;
    min-height: 44px !important;
    color: #fff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.5) !important;
  }
}
/* DW-AUDIT-2026-06-08: mobile bottom-tab touch-target compliance — 44px minimum */
@media (max-width: 520px) {
  .dream-bottom-tabs .dream-tab-btn {
    min-height: 44px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .dream-bottom-tabs .dream-tab-icon svg {
    width: 28px !important;
    height: 28px !important;
  }
  .dream-bottom-tabs .dream-tab-label {
    font-size: 10px !important;
    margin-top: 2px !important;
  }
}

/* DW-AUDIT-2026-06-12: desktop right-panel containment + auth/search/library readability */
@media (min-width: 900px) {
  body.dream-app-open #minimal-ui,
  body.dream-app-open .dream-app-main {
    min-width: 0 !important;
  }

  body.dream-app-open #minimal-ui .dream-app-content {
    width: clamp(560px, 44vw, 860px) !important;
    max-width: calc(100vw - var(--dream-rail-width, 280px) - 36px) !important;
    min-width: min(560px, calc(100vw - var(--dream-rail-width, 280px) - 36px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding-left: clamp(18px, 2vw, 34px) !important;
    padding-right: clamp(18px, 2vw, 34px) !important;
    box-sizing: border-box !important;
  }

  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content {
    width: clamp(640px, 48vw, 920px) !important;
    max-width: calc(100vw - var(--dream-rail-width, 280px) - 28px) !important;
  }

  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content *,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content *,
  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content * {
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content button,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content button,
  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content button,
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content input,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content input,
  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content input {
    max-width: 100% !important;
    white-space: normal !important;
  }

  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content h1,
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content h2,
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content h3,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content h1,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content h2,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content h3,
  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content h1,
  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content h2,
  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content h3,
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content p,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content p,
  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content p {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  body.dream-app-open[data-dream-route="account"] .dream-auth-card,
  body.dream-app-open[data-dream-route="account"] .dream-account-card,
  body.dream-app-open[data-dream-route="account"] .dream-account-panel,
  body.dream-app-open[data-dream-route="account"] .dream-settings-panel {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }
}

/* DW-AUDIT-2026-06-12: Player deep-scroll recovery safe-area clearance */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] #dreamPlayerBottomRecovery,
  body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery {
    bottom: max(34px, calc(env(safe-area-inset-bottom) + 26px)) !important;
    margin-bottom: 0 !important;
  }

  body.dream-app-open[data-dream-route="player"] #minimal-ui .dream-app-content {
    padding-bottom: max(190px, calc(150px + env(safe-area-inset-bottom))) !important;
    scroll-padding-bottom: max(190px, calc(150px + env(safe-area-inset-bottom))) !important;
  }
}

/* DW-AUDIT-2026-06-12: clean-session cookie banner clearance above app chrome */
@media (max-width: 520px) {
  body.dream-app-open #cookieConsentBanner {
    bottom: max(156px, calc(env(safe-area-inset-bottom) + 148px)) !important;
    max-height: min(34vh, 240px) !important;
    overflow-y: auto !important;
    z-index: 2147483000 !important;
  }
}

/* DW-AUDIT-2026-06-12b: desktop route panel no-shrink + readable chips/actions */
@media (min-width: 900px) {
  body.dream-app-open #minimal-ui .dream-app-content {
    flex: 0 0 clamp(640px, 48vw, 920px) !important;
    flex-shrink: 0 !important;
  }

  body.dream-app-open[data-dream-route="library"] .dream-library-filter-row,
  body.dream-app-open[data-dream-route="search"] .dream-search-chip-row,
  body.dream-app-open[data-dream-route="search"] .dream-search-filters,
  body.dream-app-open[data-dream-route="library"] .dream-library-filter-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  body.dream-app-open[data-dream-route="library"] .dream-library-filter,
  body.dream-app-open[data-dream-route="library"] .dream-row-pill,
  body.dream-app-open[data-dream-route="library"] .dream-secondary,
  body.dream-app-open[data-dream-route="library"] .dream-primary,
  body.dream-app-open[data-dream-route="search"] .dream-search-chip,
  body.dream-app-open[data-dream-route="search"] .dream-search-filter,
  body.dream-app-open[data-dream-route="search"] .dream-secondary,
  body.dream-app-open[data-dream-route="search"] .dream-primary,
  body.dream-app-open[data-dream-route="account"] .dream-secondary,
  body.dream-app-open[data-dream-route="account"] .dream-primary {
    width: auto !important;
    min-width: max-content !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  body.dream-app-open[data-dream-route="account"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="library"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="search"] #minimal-ui .dream-app-content {
    padding-bottom: 96px !important;
  }
}

/* DW-AUDIT-2026-06-12c: beat older #dreamAppContent desktop flex/chip rules */
@media (min-width: 900px) {
  body.mode-minimal.dream-app-open #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open #dreamAppContent.dream-app-content,
  body.dream-app-open #minimal-ui #dreamAppContent.dream-app-content,
  body.dream-app-open #dreamAppContent.dream-app-content {
    flex: 0 0 clamp(640px, 48vw, 920px) !important;
    flex-shrink: 0 !important;
    width: clamp(640px, 48vw, 920px) !important;
    min-width: min(640px, calc(100vw - var(--dream-rail-width, 280px) - 36px)) !important;
    max-width: calc(100vw - var(--dream-rail-width, 280px) - 28px) !important;
    padding-bottom: 96px !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-filter,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-row-pill,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-secondary,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-primary,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-chip,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-filter,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-secondary,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-primary,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-secondary,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-primary {
    width: auto !important;
    min-width: max-content !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}

/* DW-AUDIT-2026-06-12d: desktop Search featured playlist card readable width */
@media (min-width: 900px) {
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-featured-playlist {
    width: auto !important;
    min-width: min(240px, 100%) !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}

/* DW-AUDIT-2026-06-12e: force desktop Search featured playlist off shrink-to-fit */
@media (min-width: 900px) {
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent button.dream-search-featured-playlist {
    width: 240px !important;
    min-width: 240px !important;
    flex: 0 0 240px !important;
    justify-self: start !important;
  }
}

/* DW-WAVE71-DESKTOP-SCROLL-AND-AIR-GAP: unblock desktop Player scroll, stop route internals from collapsing, and add phone nav air. */
@media (min-width: 900px) {
  body.mode-minimal.dream-app-open[data-dream-route="player"] #dreamAppContent.dream-app-content,
  body.dream-app-open[data-dream-route="player"] #dreamAppContent.dream-app-content {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: calc(100dvh - 24px) !important;
    scroll-padding-bottom: 96px !important;
    padding-bottom: 96px !important;
    overscroll-behavior: contain !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-surface--desktop,
  body.mode-minimal.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-layout--desktop,
  body.mode-minimal.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-discover-route,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-route,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-route {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-track-detail-surface--sidecar,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-desktop-shell,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-overview-grid,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-account-shell--logged-out {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-main-stack,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-chips,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent #dreamSearchResults,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-filter-row,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-workspace,
  body.mode-minimal.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-collection-track-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-filter-row,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-chips {
    overflow-x: auto !important;
    overflow-y: visible !important;
  }
}

@media (max-width: 520px) {
  body.dream-app-open {
    --dream-mobile-tabs-clearance: calc(84px + env(safe-area-inset-bottom)) !important;
  }

  body.dream-app-open .dream-bottom-tabs {
    bottom: max(12px, calc(env(safe-area-inset-bottom) + 12px)) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-bottom-tabs {
    display: none !important;
    pointer-events: none !important;
  }

  body.dream-app-open:not([data-dream-route="player"]) #minimal-ui #dreamAppContent.dream-app-content,
  body.dream-app-open:not([data-dream-route="player"]) .dream-app-content {
    padding-bottom: calc(var(--dream-mobile-tabs-clearance) + var(--dream-mobile-mini-clearance) + 18px) !important;
    scroll-padding-bottom: calc(var(--dream-mobile-tabs-clearance) + var(--dream-mobile-mini-clearance) + 18px) !important;
  }
}

/* DW-WAVE71B-DESKTOP-INTERNAL-SHELL-UNSLIVER: force nested desktop shells to spend width on content, not sidecars. */
@media (min-width: 900px) {
  body.mode-minimal.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-discover-desktop-shell,
  body.mode-minimal.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-discover-main-stack,
  body.mode-minimal.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-discover-lead-grid,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-desktop-shell,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-main-stack,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-toolbar,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-toolbar-controls,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-toolbar-utility-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-section--discover-lead,
  body.mode-minimal.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-collection-stack,
  body.mode-minimal.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-collection-row--track,
  body.mode-minimal.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-collection-track-main,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-filter-row,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-overview-grid,
  body.mode-minimal.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-section {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-collection-row--track {
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-collection-track-main {
    grid-template-columns: 52px minmax(0, 1fr) !important;
  }
}

/* DW-WAVE71C-PHONE-NAV-AIR-GAP-FINAL: beat route-scoped bottom:0 mobile tab rules across both loaded CSS mirrors. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open:not([data-dream-route="player"]) #minimal-ui ~ .dream-bottom-tabs,
  body.mode-minimal.dream-app-open:not([data-dream-route="player"]) .dream-bottom-tabs,
  body.dream-app-open:not([data-dream-route="player"]) #minimal-ui ~ .dream-bottom-tabs,
  body.dream-app-open:not([data-dream-route="player"]) .dream-bottom-tabs,
  body[data-dream-route="search"].dream-app-open .dream-bottom-tabs,
  body[data-dream-route="account"].dream-app-open .dream-bottom-tabs,
  body[data-dream-route="library"].dream-app-open .dream-bottom-tabs,
  body[data-dream-route="discover"].dream-app-open .dream-bottom-tabs {
    bottom: max(12px, calc(env(safe-area-inset-bottom) + 12px)) !important;
  }
}

/* DW-WAVE72-VISUAL-AUDIT-FIXES: full-audit polish for Player clipping, mobile chrome spacing, nav distribution, and header targets. */
@media (min-width: 900px) {
  body.mode-minimal.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-layout--desktop,
  body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-layout--desktop {
    transform: none !important;
    translate: none !important;
    margin-inline: auto !important;
    left: auto !important;
    right: auto !important;
    max-width: min(100%, 920px) !important;
  }

  body.mode-minimal.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-primary,
  body.mode-minimal.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-secondary {
    min-width: 0 !important;
  }

  body.dream-app-open .dream-app-main-header-actions {
    gap: 8px !important;
    align-items: center !important;
  }

  body.dream-app-open .dream-app-main-header-account,
  body.dream-app-open .dream-app-main-header-close {
    min-width: 48px !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
  }

  body.dream-app-open .dream-app-main-header-close {
    width: 48px !important;
    padding: 0 !important;
  }
}

@media (max-width: 520px) {
  body.dream-app-open .dream-app-main-header-actions {
    gap: 8px !important;
    align-items: center !important;
  }

  body.dream-app-open .dream-app-main-header-account,
  body.dream-app-open .dream-app-main-header-close {
    min-width: 48px !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.dream-app-open .dream-app-main-header-close {
    width: 48px !important;
    padding: 0 !important;
  }

  body.dream-app-open:not([data-dream-route="player"]) .dream-bottom-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    justify-items: stretch !important;
    align-items: stretch !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  body.dream-app-open:not([data-dream-route="player"]) .dream-bottom-tabs .dream-tab-btn,
  body.dream-app-open:not([data-dream-route="player"]) .dream-bottom-tabs .mobile-tab-btn {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    justify-self: stretch !important;
  }

  body.dream-app-open:not([data-dream-route="player"]) #miniNowPlaying,
  body.dream-app-open:not([data-dream-route="player"]) .mini-now-playing {
    bottom: calc(var(--dream-mobile-tabs-clearance) + 18px) !important;
  }

  body.dream-app-open:not([data-dream-route="player"]).dream-has-mini-player #minimal-ui #dreamAppContent.dream-app-content,
  body.dream-app-open:not([data-dream-route="player"]).dream-has-mini-player .dream-app-content {
    padding-bottom: calc(var(--dream-mobile-tabs-clearance) + var(--dream-mobile-mini-clearance) + 34px) !important;
    scroll-padding-bottom: calc(var(--dream-mobile-tabs-clearance) + var(--dream-mobile-mini-clearance) + 34px) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-scene-picker,
  body.dream-app-open[data-dream-route="player"] .dream-player-scene-grid,
  body.dream-app-open[data-dream-route="player"] .dream-player-scene-rail {
    padding-bottom: 82px !important;
    scroll-padding-bottom: 82px !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamPlayerBottomRecovery,
  body.dream-app-open[data-dream-route="player"] .dream-player-bottom-recovery {
    bottom: max(22px, calc(env(safe-area-inset-bottom) + 22px)) !important;
    z-index: 2147482500 !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-volume-slider {
    min-height: 32px !important;
  }
}

/* DW-WAVE72B-PLAYER-RECOVERY-DEEP-SCROLL: hide Player recovery at top, widen mini/nav air, and force header button separation. */
@media (min-width: 900px) {
  body.dream-app-open .dream-app-main-header-close {
    margin-left: 8px !important;
  }
}

@media (max-width: 520px) {
  body.dream-app-open .dream-app-main-header-close {
    margin-left: 8px !important;
  }

  body.dream-app-open:not([data-dream-route="player"]) #miniNowPlaying,
  body.dream-app-open:not([data-dream-route="player"]) .mini-now-playing {
    bottom: calc(var(--dream-mobile-tabs-clearance) + 26px) !important;
  }

  body.dream-app-open[data-dream-route="player"]:not(.dream-player-scrolled-deep) #dreamPlayerBottomRecovery,
  body.dream-app-open[data-dream-route="player"]:not(.dream-player-scrolled-deep) .dream-player-bottom-recovery {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(18px) !important;
  }

  body.dream-app-open[data-dream-route="player"].dream-player-scrolled-deep #dreamPlayerBottomRecovery,
  body.dream-app-open[data-dream-route="player"].dream-player-scrolled-deep .dream-player-bottom-recovery {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
}

/* DW-WAVE72C-MINI-NAV-AIR-FINAL: real-phone audited mini-player lift; avoid route-local clearance var drift. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open.dream-has-mini-player:not([data-dream-route="player"]) #miniNowPlaying,
  body.mode-minimal.dream-app-open.dream-has-mini-player:not([data-dream-route="player"]) .mini-now-playing,
  body.dream-app-open.dream-has-mini-player:not([data-dream-route="player"]) #miniNowPlaying,
  body.dream-app-open.dream-has-mini-player:not([data-dream-route="player"]) .mini-now-playing {
    bottom: max(104px, calc(env(safe-area-inset-bottom) + 104px)) !important;
  }
}

/* DW-WAVE73-REMAINING-VISUAL-POLISH: finish full-audit backlog: Player header declutter, fixed-chrome content landings, and Search touch affordances. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-app-main-header {
    min-height: 64px !important;
    padding: 10px 12px 6px !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-app-main-header-title {
    position: fixed !important;
    left: 12px !important;
    top: calc(env(safe-area-inset-top) + 18px) !important;
    width: auto !important;
    max-width: 154px !important;
    min-height: 40px !important;
    transform: none !important;
    opacity: 0.88 !important;
    z-index: 2147481200 !important;
    pointer-events: none !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-app-main-header-title h1,
  body.dream-app-open[data-dream-route="player"] .dream-app-main-header-title h2,
  body.dream-app-open[data-dream-route="player"] .dream-app-main-header-title .dream-app-main-logo {
    font-size: 1.05rem !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
    margin: 0 !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-app-main-header-kicker {
    display: none !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-app-main-header-actions {
    position: fixed !important;
    top: calc(env(safe-area-inset-top) + 16px) !important;
    right: 10px !important;
    display: flex !important;
    gap: 8px !important;
    z-index: 2147481300 !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-app-main-header-account,
  body.dream-app-open[data-dream-route="player"] .dream-app-main-header-close {
    min-width: 44px !important;
    min-height: 44px !important;
    height: 44px !important;
    backdrop-filter: blur(14px) saturate(150%) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-route,
  body.dream-app-open[data-dream-route="player"] .dream-player-surface {
    padding-top: 12px !important;
  }

  body.dream-app-open:not([data-dream-route="player"]) #dreamAppContent,
  body.dream-app-open:not([data-dream-route="player"]) .dream-app-content {
    padding-bottom: max(232px, calc(var(--dream-mobile-tabs-clearance) + var(--dream-mobile-mini-clearance) + 72px)) !important;
    scroll-padding-bottom: max(232px, calc(var(--dream-mobile-tabs-clearance) + var(--dream-mobile-mini-clearance) + 72px)) !important;
  }

  body.dream-app-open:not([data-dream-route="player"]) #dreamAppContent .dream-row-card,
  body.dream-app-open:not([data-dream-route="player"]) #dreamAppContent .dream-collection-row,
  body.dream-app-open:not([data-dream-route="player"]) #dreamAppContent .dream-search-result-row,
  body.dream-app-open:not([data-dream-route="player"]) #dreamAppContent .dream-card,
  body.dream-app-open:not([data-dream-route="player"]) #dreamAppContent article {
    scroll-margin-bottom: 168px !important;
  }

  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-chip,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-filter-chip,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-mood-chip,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-browse-chip {
    min-height: 48px !important;
    min-width: 48px !important;
    padding: 0 16px !important;
    touch-action: manipulation !important;
  }

  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-collection-row,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-result-row {
    grid-template-columns: 52px minmax(0, 1fr) auto !important;
    column-gap: 10px !important;
    min-height: 68px !important;
    align-items: center !important;
    padding: 10px !important;
  }

  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-row-play,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-row-pill,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-track-action,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-result-action {
    min-width: 48px !important;
    min-height: 48px !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-collection-track-main,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-result-copy {
    min-width: 0 !important;
    overflow: hidden !important;
  }
}

/* DW-WAVE73B-FINAL-TARGETS-AND-VIEWPORT: finish visible target sizes and keep Discover scroll viewport above mini-player chrome. */
@media (min-width: 521px) {
  body.dream-app-open #dreamAppContent .dream-discover-creator-cta,
  body.dream-app-open #dreamAppContent .dream-row-play,
  body.dream-app-open #dreamAppContent .dream-row-pill,
  body.dream-app-open #dreamAppContent .dream-track-action,
  body.dream-app-open #dreamAppContent .dream-player-quick-action,
  body.dream-app-open #dreamAppContent .dream-install-button {
    min-height: 44px !important;
    min-width: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-row-play,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-track-action {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-volume-slider {
    min-height: 32px !important;
    padding-block: 10px !important;
  }
}

@media (max-width: 520px) {
  body.mode-minimal.dream-app-open.dream-has-mini-player:not([data-dream-route="player"]) #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open.dream-has-mini-player:not([data-dream-route="player"]) #dreamAppContent.dream-app-content,
  body.dream-app-open.dream-has-mini-player:not([data-dream-route="player"]) #dreamAppContent.dream-app-content {
    height: calc(100dvh - 250px) !important;
    max-height: calc(100dvh - 250px) !important;
    padding-bottom: 252px !important;
    scroll-padding-bottom: 252px !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-volume-slider {
    min-height: 32px !important;
    padding-block: 10px !important;
  }
}

/* DW-WAVE73C-ROUTE-SPECIFIC-VIEWPORT-FINAL: only Discover uses the mini-player-clipped viewport; Search/Library/Account keep full route height. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open.dream-has-mini-player:not([data-dream-route="discover"]):not([data-dream-route="player"]) #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open.dream-has-mini-player:not([data-dream-route="discover"]):not([data-dream-route="player"]) #dreamAppContent.dream-app-content,
  body.dream-app-open.dream-has-mini-player:not([data-dream-route="discover"]):not([data-dream-route="player"]) #dreamAppContent.dream-app-content {
    height: auto !important;
    max-height: none !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-volume-slider {
    min-height: 44px !important;
    height: 44px !important;
    padding-block: 16px !important;
  }
}

/* DW-WAVE73D-DESKTOP-LAST-TARGETS: final desktop visible small-control cleanup. */
@media (min-width: 521px) {
  body.dream-app-open[data-dream-route="search"] #dreamAppContent button.dream-search-chip,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-chip.active {
    min-width: 48px !important;
    width: auto !important;
    min-height: 44px !important;
    padding-inline: 14px !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamAppContent input.dream-player-volume-slider,
  body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-volume-slider {
    height: 44px !important;
    min-height: 44px !important;
    padding-block: 16px !important;
  }
}

/* DW-WAVE74-NEXT-LAYER-VISUAL-INTEGRITY: fix v950 audit findings after full visual polish. */
@media (max-width: 520px) {
  /* Search content must not sit under bottom tabs at first paint. */
  body.mode-minimal.dream-app-open[data-dream-route="search"] #dreamAppContent.dream-app-content,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent.dream-app-content {
    height: calc(100dvh - 214px) !important;
    max-height: calc(100dvh - 214px) !important;
    padding-bottom: 256px !important;
    scroll-padding-bottom: 256px !important;
  }

  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-module,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-section,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-mood-map,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent .dream-search-trending {
    scroll-margin-bottom: 168px !important;
  }

  /* Library filters/search were still below 44px on real phone at scroll-bottom. */
  body.dream-app-open[data-dream-route="library"] #dreamLibrarySearchInput {
    min-height: 44px !important;
    height: 44px !important;
    line-height: 20px !important;
    padding-block: 12px !important;
  }

  body.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-filter,
  body.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-view-mode,
  body.dream-app-open[data-dream-route="library"] #dreamAppContent .dream-library-layout-toggle {
    min-height: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding-block: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Keep Discover horizontal peeking, but prevent partially clipped play buttons from being the visible edge. */
  body.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-new-drops-scroll,
  body.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-resume-scroll,
  body.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-trending-mobile-rail,
  body.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-section--trending-mobile .dream-horizontal-scroll,
  body.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-section--new-drops .dream-horizontal-scroll,
  body.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-section--resume-listening .dream-horizontal-scroll {
    padding-inline-end: 32px !important;
    scroll-padding-inline-end: 32px !important;
  }

  body.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-collection-row--track,
  body.dream-app-open[data-dream-route="discover"] #dreamAppContent button.dream-collection-row--track {
    max-width: calc(100vw - 32px) !important;
    contain: paint !important;
  }

  body.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-collection-row--track .dream-row-play {
    min-width: 44px !important;
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
  }

  /* Player surface was measurable above viewport after header compaction. */
  body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-surface,
  body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-layout {
    margin-top: 0 !important;
    transform: none !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-surface {
    padding-top: 8px !important;
    top: auto !important;
  }
}

@media (min-width: 521px) {
  /* Account had thousands of pixels of warped dead scroll on desktop. */
  body.dream-app-open[data-dream-route="account"] #dreamAppContent.dream-app-content {
    overflow-y: auto !important;
    scroll-padding-bottom: 120px !important;
  }

  body.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-account-shell {
    align-items: start !important;
    align-content: start !important;
    min-height: 0 !important;
    max-height: none !important;
    grid-auto-rows: min-content !important;
  }

  body.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-account-hero-card,
  body.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-account-login-section,
  body.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-account-install-section {
    min-height: 0 !important;
    max-height: none !important;
    align-self: start !important;
  }

  /* Short desktop: keyboard shortcuts FAB overlapped Library search. */
  @media (max-height: 640px) {
    body.dream-app-open[data-dream-route="library"] #keyboardShortcutsButton,
    body.dream-app-open[data-dream-route="library"] .keyboard-shortcuts-button,
    body.dream-app-open[data-dream-route="library"] .dream-keyboard-shortcuts-button {
      bottom: 96px !important;
      right: 24px !important;
    }

    body.dream-app-open[data-dream-route="library"] #dreamAppContent.dream-app-content {
      padding-bottom: 152px !important;
      scroll-padding-bottom: 152px !important;
    }
  }
}

/* DW-WAVE74B-ACCOUNT-DESKTOP-GRID-UNSLIVER: Account desktop children must not wrap into 9k px dead scroll. */
@media (min-width: 900px) {
  body.dream-app-open[data-dream-route="account"] #dreamAppContent.dream-app-content {
    width: min(640px, calc(100vw - 64px)) !important;
    max-width: 640px !important;
  }

  body.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-account-shell,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-account-shell {
    display: grid !important;
    grid-template-columns: minmax(280px, 1.12fr) minmax(240px, .85fr) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: min-content !important;
    align-items: start !important;
    align-content: start !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
  }

  body.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-account-login-section,
  body.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-account-install-section,
  body.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-account-hero-card,
  body.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-account-hero-card--secondary {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-account-shell > *:nth-child(odd) {
    grid-column: 1 !important;
  }

  body.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-account-shell > *:nth-child(even) {
    grid-column: 2 !important;
  }
}

/* DW-WAVE74C-SEARCH-PLAYER-FINAL: beat legacy mini-player route exception and preserve Player top reset. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open.dream-has-mini-player[data-dream-route="search"] #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open.dream-has-mini-player[data-dream-route="search"] #dreamAppContent.dream-app-content,
  body.dream-app-open.dream-has-mini-player[data-dream-route="search"] #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open[data-dream-route="search"] #minimal-ui #dreamAppContent.dream-app-content,
  body.dream-app-open[data-dream-route="search"] #minimal-ui #dreamAppContent.dream-app-content {
    height: calc(100dvh - 214px) !important;
    max-height: calc(100dvh - 214px) !important;
    padding-bottom: 256px !important;
    scroll-padding-bottom: 256px !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamAppContent.dream-app-content {
    scroll-padding-top: 0 !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-surface,
  body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-layout {
    transform: none !important;
    margin-top: 0 !important;
  }
}

/* DW-WAVE74D-ROUTE-TOP-SEARCH-VIEWPORT-FINAL: reset primary route landings and stop Search content behind bottom tabs. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open[data-dream-route="search"] #minimal-ui #dreamAppContent.dream-app-content,
  body.mode-minimal.dream-app-open.dream-has-mini-player[data-dream-route="search"] #minimal-ui #dreamAppContent.dream-app-content,
  body.dream-app-open[data-dream-route="search"] #minimal-ui #dreamAppContent.dream-app-content,
  body.dream-app-open[data-dream-route="search"] #dreamAppContent.dream-app-content {
    flex: 0 0 calc(100dvh - 250px) !important;
    height: calc(100dvh - 250px) !important;
    max-height: calc(100dvh - 250px) !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding-bottom: 256px !important;
    scroll-padding-bottom: 256px !important;
  }
}

/* DW-WAVE75-DESKTOP-PLAYER-ACCOUNT-INTEGRITY: collapse desktop layouts before narrow rails/text columns become unusable. */
@media (min-width: 900px) and (max-width: 1500px) {
  body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-layout--desktop,
  body.mode-minimal.dream-app-open[data-dream-route="player"] #minimal-ui #dreamAppContent .dream-player-layout--desktop {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    align-items: start !important;
    max-width: min(720px, 100%) !important;
    width: 100% !important;
    gap: 18px !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-primary,
  body.mode-minimal.dream-app-open[data-dream-route="player"] #minimal-ui #dreamAppContent .dream-player-primary {
    min-width: 0 !important;
    width: min(456px, 100%) !important;
    max-width: 456px !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-secondary,
  body.mode-minimal.dream-app-open[data-dream-route="player"] #minimal-ui #dreamAppContent .dream-player-secondary {
    min-width: 0 !important;
    width: min(456px, 100%) !important;
    max-width: 456px !important;
    justify-self: center !important;
    overflow: visible !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamAppContent .dream-player-secondary-grid,
  body.mode-minimal.dream-app-open[data-dream-route="player"] #minimal-ui #dreamAppContent .dream-player-secondary-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-install-surface,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #minimal-ui #dreamAppContent .dream-install-surface {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: stretch !important;
  }

  body.dream-app-open[data-dream-route="account"] #dreamAppContent .dream-install-copy,
  body.mode-minimal.dream-app-open[data-dream-route="account"] #minimal-ui #dreamAppContent .dream-install-copy {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-collection-row--track,
  body.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-collection-track-main,
  body.dream-app-open[data-dream-route="discover"] #dreamAppContent .dream-row-play {
    max-width: 100% !important;
  }
}

/* DW-WAVE77-MOBILE-SEARCH-CHIP-FIT: phone Search category scopes fit without clipped fourth chip. */
@media (max-width: 520px) {
  body.mode-minimal.dream-app-open .dream-search-idle-scope-bar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    overflow: visible !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
  }
  body.mode-minimal.dream-app-open .dream-search-idle-scope-bar .dream-search-scope {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    margin: 0 !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.1 !important;
  }
}

/* DW-WAVE79-TABLET-PLAYER-CLEARANCE: portrait tablets should keep Player lower controls usable.
   The 768px portrait layout inherits desktop-ish mini controls but behaves like a touch device;
   reserve more bottom runway, keep scene chips inside the scrollport, and avoid 30px action pills. */
@media (min-width: 700px) and (max-width: 900px) and (orientation: portrait) {
  body.dream-app-open[data-dream-route="player"] #dreamAppContent {
    padding-bottom: calc(176px + env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom: calc(176px + env(safe-area-inset-bottom)) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface {
    padding-bottom: calc(196px + env(safe-area-inset-bottom)) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-scene-rail {
    max-width: min(100%, calc(100vw - 56px)) !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding: 8px 4px 18px !important;
    scroll-padding-inline: 18px !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-scene-chip {
    min-height: 48px !important;
    flex: 0 0 auto !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-actions {
    gap: 8px !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-action {
    min-height: 44px !important;
    padding-block: 10px !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-volume-btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

/* DW-WAVE79B-TABLET-PLAYER-FULLSCREEN: portrait tablets need the same Player-only chrome clearance as phones. */
@media (min-width: 700px) and (max-width: 900px) and (orientation: portrait) {
  body.dream-app-open[data-dream-route="player"] .dream-desktop-sidebar,
  body.dream-app-open[data-dream-route="player"] .mini-now-playing,
  body.dream-app-open[data-dream-route="player"] #miniNowPlaying,
  body.dream-app-open[data-dream-route="player"] #miniNowPlayingExpanded,
  body.dream-app-open[data-dream-route="player"] .dream-bottom-tabs {
    display: none !important;
    pointer-events: none !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-app-main {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.dream-app-open[data-dream-route="player"] #dreamAppContent,
  body.dream-app-open[data-dream-route="player"] .dream-player-surface {
    min-height: 100dvh !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-scene-rail,
  body.dream-app-open[data-dream-route="player"] .dream-player-dossier,
  body.dream-app-open[data-dream-route="player"] .dream-player-up-next {
    margin-bottom: 28px !important;
  }
}

/* DW-WAVE80-FULL-VISION-HEADER-CONTRAST: keep the global app header readable over bright cinematic frames. */
body.dream-app-open .dream-app-main-header {
  background: linear-gradient(135deg, rgba(5, 7, 15, .82), rgba(12, 16, 34, .58)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 0 0 22px 22px !important;
  box-shadow: 0 14px 38px rgba(0,0,0,.30) !important;
  backdrop-filter: blur(18px) saturate(1.12) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
}

body.dream-app-open .dream-app-main-header-kicker,
body.dream-app-open .dream-app-main-header-name {
  color: rgba(255,255,255,.96) !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.72), 0 0 22px rgba(0,0,0,.55) !important;
}

body.dream-app-open .dream-app-main-header-title {
  min-width: 0 !important;
  overflow: hidden !important;
}

body.dream-app-open .dream-app-main-header-name {
  max-width: min(48vw, 360px) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.dream-app-open .dream-app-main-header-account,
body.dream-app-open .dream-app-main-header-close {
  color: rgba(255,255,255,.96) !important;
  background: rgba(5,7,15,.76) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.32) !important;
  text-shadow: 0 1px 6px rgba(0,0,0,.65) !important;
}

body.dream-app-open .dream-app-main-header-account:hover,
body.dream-app-open .dream-app-main-header-close:hover,
body.dream-app-open .dream-app-main-header-account:focus-visible,
body.dream-app-open .dream-app-main-header-close:focus-visible {
  background: rgba(10,14,28,.92) !important;
  border-color: rgba(255,255,255,.36) !important;
}

@media (max-width: 520px) {
  body.dream-app-open .dream-app-main-header {
    margin: 0 8px !important;
    padding: 9px 10px !important;
    gap: 8px !important;
  }
  body.dream-app-open .dream-app-main-header-name {
    max-width: calc(100vw - 184px) !important;
  }
}

/* DW-WAVE80-FULL-VISION-DESKTOP-PLAYER-CONTROLS: constrained desktop Player keeps transport/volume usable. */
@media (min-width: 900px) and (max-height: 820px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop {
    padding-bottom: 18px !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-primary {
    max-height: calc(100dvh - 116px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 6px !important;
    scrollbar-width: thin !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-art-wrap {
    width: min(100%, 184px) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-info h2 {
    font-size: clamp(23px, 2vw, 30px) !important;
    line-height: 1 !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-transport-card {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 36 !important;
    background: rgba(5, 7, 15, .94) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 -14px 34px rgba(0,0,0,.34), 0 10px 28px rgba(0,0,0,.26) !important;
    backdrop-filter: blur(16px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-volume-btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-volume-slider::-webkit-slider-runnable-track {
    height: 6px !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-volume-slider::-webkit-slider-thumb {
    width: 18px !important;
    height: 18px !important;
    margin-top: -6px !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-surface--desktop .dream-player-tier-action {
    min-height: 32px !important;
    padding: 7px 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* DW-WAVE80B-PHONE-PLAYER-BOTTOM-RUNWAY: phone Player scrolled-bottom needs real air above Android/browser chrome. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-layout,
  body.dream-app-open[data-dream-route="player"] .dream-player-surface {
    padding-bottom: max(72px, calc(env(safe-area-inset-bottom, 0px) + 56px)) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-transport-card {
    margin-bottom: max(24px, calc(env(safe-area-inset-bottom, 0px) + 16px)) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-volume {
    scroll-margin-bottom: 72px !important;
  }
}

/* DW-WAVE80C-PHONE-PLAYER-SCROLL-CONTAINER-RUNWAY: reserve air in the actual phone Player scroll container. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] #dreamAppContent {
    padding-bottom: max(96px, calc(env(safe-area-inset-bottom, 0px) + 80px)) !important;
    scroll-padding-bottom: max(96px, calc(env(safe-area-inset-bottom, 0px) + 80px)) !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-volume {
    scroll-margin-bottom: 96px !important;
    margin-bottom: 14px !important;
  }
}

/* DW-WAVE80D-PHONE-PLAYER-VOLUME-LIFT: real-phone viewport pins the volume row at the lower edge; lift it above browser chrome. */
@media (max-width: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-volume {
    transform: translateY(-32px) !important;
  }
}

/* DW-WAVE81-EDGE-VIEWPORT-POLISH: fresh/edge viewport readability and controls. */
/* Short desktop Player: keep quick actions, especially Timer, inside the glass panel. */
@media (min-width: 900px) and (max-height: 560px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-transport-card {
    overflow: visible !important;
    padding-bottom: 18px !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-quick-actions,
  body.dream-app-open[data-dream-route="player"] .dream-player-actions {
    margin-bottom: 0 !important;
    padding-bottom: 8px !important;
    transform: none !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-quick-timer {
    position: static !important;
    transform: none !important;
    margin-top: 4px !important;
    margin-bottom: 0 !important;
    align-self: center !important;
  }

  body.dream-app-open[data-dream-route="player"] .dream-player-volume,
  body.dream-app-open[data-dream-route="player"] .dream-player-seek-hint {
    background: rgba(5, 7, 15, 0.42) !important;
    border-radius: 999px !important;
  }
}

/* Landscape phones/touch tablets: make fixed chrome legible and tappable over bright videos. */
@media (orientation: landscape) and (max-height: 520px) {
  body.dream-app-open .dream-app-main-header {
    min-height: 54px !important;
    padding: 6px 10px !important;
    background: linear-gradient(135deg, rgba(5, 7, 15, 0.9), rgba(10, 12, 24, 0.78)) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    box-shadow: 0 16px 36px rgba(0,0,0,0.32) !important;
  }

  body.dream-app-open .dream-app-main-header-kicker {
    max-width: 40vw !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: rgba(255,255,255,0.86) !important;
  }

  body.dream-app-open .dream-app-main-header-name {
    font-size: clamp(22px, 5.6vw, 34px) !important;
    line-height: 0.92 !important;
    letter-spacing: -0.04em !important;
    color: #fff !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.58) !important;
  }

  body.dream-app-open .dream-app-main-header-account,
  body.dream-app-open .dream-app-main-header-close {
    min-width: 44px !important;
    min-height: 44px !important;
    color: #fff !important;
    background: rgba(5,7,15,0.82) !important;
    border-color: rgba(255,255,255,0.24) !important;
  }

  body.dream-app-open .mini-now-playing {
    background: rgba(5, 7, 15, 0.94) !important;
    border: 1px solid rgba(255,255,255,0.16) !important;
    box-shadow: 0 -12px 32px rgba(0,0,0,0.38) !important;
  }

  body.dream-app-open .mini-np-play,
  body.dream-app-open .mini-now-playing button,
  body.dream-app-open .mini-now-playing [role="button"] {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  body.dream-app-open .mini-np-progress,
  body.dream-app-open .mini-np-volume,
  body.dream-app-open .mini-now-playing input[type="range"] {
    min-height: 12px !important;
    accent-color: #fff !important;
  }

  body.dream-app-open .dream-bottom-tabs {
    background: rgba(5,6,10,0.96) !important;
    border-top: 1px solid rgba(255,255,255,0.16) !important;
    box-shadow: 0 -14px 34px rgba(0,0,0,0.36) !important;
  }

  body.dream-app-open .dream-bottom-tabs .mobile-tab-btn {
    min-height: 44px !important;
    color: rgba(255,255,255,0.88) !important;
  }
}

/* Ultra-narrow phones: avoid brand/input truncation and cramped Search chips. */
@media (max-width: 360px) {
  body.dream-app-open .dream-app-main-header {
    gap: 8px !important;
    padding-inline: 10px !important;
  }

  body.dream-app-open .dream-app-main-header-title {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  body.dream-app-open .dream-app-main-header-name {
    font-size: clamp(22px, 8vw, 30px) !important;
    letter-spacing: -0.055em !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  body.dream-app-open .dream-app-main-header-kicker {
    font-size: 10px !important;
    white-space: nowrap !important;
  }

  body.dream-app-open .dream-search-panel,
  body.dream-app-open .dream-search-hero,
  body.dream-app-open .dream-search-idle {
    background: rgba(5, 7, 15, 0.68) !important;
    border-radius: 22px !important;
  }

  body.dream-app-open .dream-search-field input,
  body.dream-app-open #dreamSearchInput {
    font-size: 14px !important;
    min-width: 0 !important;
  }

  body.dream-app-open #dreamSearchInput::placeholder {
    color: rgba(255,255,255,0.74) !important;
  }

  body.dream-app-open .dream-search-idle-scope-bar {
    gap: 10px !important;
    padding-bottom: 8px !important;
  }

  body.dream-app-open .dream-search-idle-scope-bar .dream-search-scope {
    min-height: 44px !important;
    padding-inline: 10px !important;
  }
}

/* DW-WAVE81B-LANDSCAPE-HEADER-BADGE: remove clipped center wordmark and pull badges inside safe area. */
@media (orientation: landscape) and (max-height: 520px) {
  body.dream-app-open .dream-app-main-header-title {
    display: none !important;
  }

  body.dream-app-open .dream-app-main-header {
    justify-content: flex-end !important;
  }

  body.dream-app-open .dream-nav-badge,
  body.dream-app-open .dream-nav-badge[data-unread] {
    right: 8px !important;
    bottom: 6px !important;
    max-width: 36px !important;
    transform: none !important;
  }

  body.dream-app-open .dream-bottom-tabs .mobile-tab-btn:last-child {
    padding-right: 12px !important;
  }
}



/* DW-WAVE82-LANDSCAPE-PLAYER-FULLSCREEN: phone landscape Player needs the same immersive chrome-free contract as portrait Player. */
@media (orientation: landscape) and (max-width: 920px) and (max-height: 520px) {
  body.dream-app-open[data-dream-route="player"] .mini-now-playing,
  body.dream-app-open[data-dream-route="player"] .dream-bottom-tabs {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
  }
  body.dream-app-open[data-dream-route="player"] #minimal-ui .dream-app-content,
  body.dream-app-open[data-dream-route="player"] .dream-app-main #minimal-ui .dream-app-content {
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding-bottom: max(36px, calc(env(safe-area-inset-bottom, 0px) + 28px)) !important;
    scroll-padding-bottom: max(36px, calc(env(safe-area-inset-bottom, 0px) + 28px)) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-surface,
  body.dream-app-open[data-dream-route="player"] .dream-player-layout {
    min-height: auto !important;
    padding-bottom: max(28px, calc(env(safe-area-inset-bottom, 0px) + 20px)) !important;
  }
}

/* DW-WAVE82-TOUCH-TARGET-POLISH: follow-up interaction audit found touch-adjacent compact controls below target size. */
@media (min-width: 700px) and (max-width: 920px) {
  body.dream-app-open .mini-np-play,
  body.dream-app-open .mini-np-queue,
  body.dream-app-open .mini-np-gear,
  body.dream-app-open #miniNowPlayingGear {
    min-width: 44px !important;
    width: 44px !important;
    min-height: 44px !important;
    height: 44px !important;
  }
  body.dream-app-open .mini-np-volume {
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.dream-app-open .mini-np-volume-slider {
    min-height: 24px !important;
    height: 24px !important;
  }
  body.dream-app-open .dream-app-main-header-account {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 14px !important;
  }
}

@media (min-width: 921px) and (max-height: 560px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-action {
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}


/* DW-WAVE82B-LANDSCAPE-PLAYER-CONTROLS: after hiding mobile chrome, keep transport visible in the same short landscape viewport. */
@media (orientation: landscape) and (max-width: 920px) and (max-height: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-surface {
    display: block !important;
    overflow-y: auto !important;
    padding: 8px 10px max(24px, env(safe-area-inset-bottom, 0px)) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-layout {
    display: grid !important;
    grid-template-columns: minmax(150px, 30vw) minmax(360px, 1fr) !important;
    grid-auto-rows: auto !important;
    align-items: start !important;
    gap: 10px !important;
    width: min(100%, 820px) !important;
    max-width: 820px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-primary {
    display: contents !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-art-wrap {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
    width: min(150px, 28vw) !important;
    height: min(150px, 28vw) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    align-self: start !important;
    justify-self: center !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-info {
    grid-column: 1 !important;
    grid-row: 4 !important;
    width: min(170px, 30vw) !important;
    max-width: min(170px, 30vw) !important;
    gap: 3px !important;
    margin: 0 !important;
    text-align: center !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-title {
    font-size: clamp(16px, 3vw, 22px) !important;
    line-height: 1.05 !important;
    -webkit-line-clamp: 1 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-artist,
  body.dream-app-open[data-dream-route="player"] .dream-player-meta {
    font-size: 11px !important;
    line-height: 1.1 !important;
    -webkit-line-clamp: 1 !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-context-card,
  body.dream-app-open[data-dream-route="player"] .dream-player-up-next-card,
  body.dream-app-open[data-dream-route="player"] .dream-player-secondary {
    display: none !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-transport-card {
    grid-column: 2 !important;
    grid-row: 1 / span 4 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 10px 12px !important;
    gap: 8px !important;
    align-self: start !important;
    overflow: visible !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-controls {
    min-height: 48px !important;
    height: 48px !important;
    gap: 8px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-main-button {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-skip-button,
  body.dream-app-open[data-dream-route="player"] .dream-player-secondary-button {
    min-width: 44px !important;
    min-height: 44px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-volume {
    width: 100% !important;
    max-width: none !important;
    height: 40px !important;
    min-height: 40px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-actions {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-action {
    min-height: 34px !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-scene {
    display: none !important;
  }
}


/* DW-WAVE82C-LANDSCAPE-PLAYER-CORE-ONLY: short landscape has 200px of app viewport after browser/header chrome; prioritize playable controls. */
@media (orientation: landscape) and (max-width: 920px) and (max-height: 520px) {
  body.dream-app-open[data-dream-route="player"] .dream-player-layout {
    grid-template-columns: minmax(112px, 26vw) minmax(340px, 1fr) !important;
    gap: 8px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-art-wrap {
    width: min(112px, 25vw) !important;
    height: min(112px, 25vw) !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-info {
    grid-row: 2 !important;
    width: min(140px, 26vw) !important;
    max-width: min(140px, 26vw) !important;
    max-height: 52px !important;
    overflow: hidden !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-title {
    font-size: 15px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-transport-card {
    max-height: 178px !important;
    min-height: 0 !important;
    padding: 8px 10px !important;
    gap: 6px !important;
    overflow: hidden !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-controls {
    min-height: 44px !important;
    height: 44px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-main-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-progress {
    min-height: 34px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-volume {
    height: 36px !important;
    min-height: 36px !important;
  }
  body.dream-app-open[data-dream-route="player"] .dream-player-actions,
  body.dream-app-open[data-dream-route="player"] .dream-player-tier-strip,
  body.dream-app-open[data-dream-route="player"] .dream-player-scene {
    display: none !important;
  }
}
