/* BestMom Audio v9 — Mobile-App Style UI */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');

/* ── Root ── */
#bma-app {
  --p:       #4F6EF7;
  --p-d:     #3451D1;
  --p-l:     #EEF1FF;
  --rose:    #F25C8B;
  --gold:    #F5A623;
  --bg:      #F7F8FC;
  --card:    #FFFFFF;
  --text:    #1A1D2E;
  --sub:     #7B82A3;
  --border:  rgba(0,0,0,0.06);
  --r:       20px;
  --font:    'Nunito', system-ui, sans-serif;
  --serif:   'Playfair Display', Georgia, serif;
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  max-width: 480px;
  margin: 0 auto;
  position: relative;
  min-height: 600px;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 20px 80px rgba(79,110,247,.15);
}
#bma-app * { box-sizing: border-box; margin: 0; padding: 0; }

/* ── Screens ── */
.bma-screen {
  display: none;
  flex-direction: column;
  height: 100%;
  min-height: 600px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 90px;
  scrollbar-width: none;
}
.bma-screen::-webkit-scrollbar { display: none; }
.bma-screen--active { display: flex; }

/* ════════════════════════════════
   HOME SCREEN
════════════════════════════════ */

/* Top bar */
.bma-topbar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 20px 12px;
  position: sticky;
  top: 0;
  background: var(--bg);
  z-index: 10;
}
.bma-topbar-search {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--card);
  border: 1.5px solid var(--border);
  border-radius: 14px;
  padding: 10px 14px;
  color: var(--sub);
}
.bma-topbar-search input {
  border: none;
  outline: none;
  font-family: var(--font);
  font-size: 14px;
  color: var(--text);
  background: none;
  width: 100%;
}
.bma-topbar-search input::placeholder { color: var(--sub); }

.bma-topbar-fav-btn {
  position: relative;
  width: 44px; height: 44px;
  border-radius: 14px;
  background: var(--p);
  border: none;
  color: #fff;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: transform .18s;
}
.bma-topbar-fav-btn:hover { transform: scale(1.08); }
.bma-fav-badge {
  position: absolute;
  top: -4px; right: -4px;
  background: var(--rose);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 100px;
  min-width: 16px;
  text-align: center;
  display: none;
  border: 2px solid var(--bg);
}
.bma-fav-badge.show { display: block; }

/* Featured banner */
.bma-featured-banner {
  position: relative;
  margin: 0 20px 20px;
  border-radius: var(--r);
  overflow: hidden;
  height: 200px;
  cursor: pointer;
  flex-shrink: 0;
}
.bma-featured-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg,#4F6EF7,#A78BFA);
  background-size: cover; background-position: center;
  transition: transform .4s ease;
}
.bma-featured-banner:hover .bma-featured-bg { transform: scale(1.04); }
.bma-featured-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(15,15,35,.82) 0%, rgba(15,15,35,.1) 60%, transparent 100%);
}
.bma-featured-body {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 20px;
}
.bma-featured-eyebrow {
  font-size: 10px; font-weight: 800; letter-spacing: .14em;
  text-transform: uppercase; color: var(--gold);
  margin-bottom: 6px;
}
.bma-featured-title {
  font-family: var(--serif); font-style: italic;
  font-size: 22px; color: #fff; line-height: 1.2;
  margin-bottom: 6px;
  text-shadow: 0 2px 8px rgba(0,0,0,.4);
}
.bma-featured-sub { font-size: 12px; color: rgba(255,255,255,.65); margin-bottom: 14px; }
.bma-featured-play-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.95);
  color: var(--p-d);
  border: none; border-radius: 100px;
  padding: 9px 20px; font-family: var(--font); font-size: 13px; font-weight: 800;
  cursor: pointer; transition: all .18s;
  box-shadow: 0 4px 16px rgba(0,0,0,.2);
}
.bma-featured-play-btn:hover { transform: scale(1.04); }

/* Category pills */
.bma-section { padding: 0 20px; margin-bottom: 28px; }
.bma-filter-strip {
  display: flex !important; gap: 12px !important;
  overflow-x: auto !important; scrollbar-width: none !important;
  padding: 4px 2px 14px !important; margin-bottom: 16px !important;
}
.bma-filter-strip::-webkit-scrollbar { display: none; }

.bma-pill {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  padding: 11px 22px !important; border-radius: 100px !important;
  border: 2px solid #E5E7EB !important;
  background: #ffffff !important;
  color: #7B82A3 !important;
  font-family: 'DM Sans', sans-serif !important; font-size: 13px !important; font-weight: 700 !important;
  cursor: pointer !important; white-space: nowrap !important; flex-shrink: 0 !important;
  transition: all .2s !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.05) !important;
  margin: 0 !important; line-height: 1 !important;
}
.bma-pill:hover { border-color: var(--p); color: var(--p); transform: translateY(-2px); }
.bma-pill--active { background: var(--p); border-color: var(--p); color: #fff; transform: translateY(-2px); box-shadow: 0 4px 14px rgba(59,130,246,.3); }

/* Section header */
.bma-section-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 14px; }
.bma-section-title { font-size: 18px; font-weight: 800; color: var(--text); }
.bma-section-count { font-size: 12px; color: var(--sub); }

/* Horizontal cards scroll */
.bma-cards-scroll {
  display: flex; gap: 14px;
  overflow-x: auto; scrollbar-width: none;
  padding-bottom: 4px; margin-bottom: 20px;
}
.bma-cards-scroll::-webkit-scrollbar { display: none; }
.bma-card {
  flex-shrink: 0;
  width: 150px;
  background: var(--card);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 14px rgba(0,0,0,.07);
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
}
.bma-card:hover { transform: translateY(-4px); box-shadow: 0 8px 28px rgba(0,0,0,.12); }
.bma-card-img {
  width: 100%; height: 100px;
  background: linear-gradient(135deg, var(--p), #A78BFA);
  display: flex; align-items: center; justify-content: center;
  font-size: 36px;
  background-size: cover; background-position: center;
  overflow: hidden; position: relative;
}
.bma-card-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bma-card-body { padding: 10px 12px 12px; }
.bma-card-title { font-size: 13px; font-weight: 800; color: var(--text); margin-bottom: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bma-card-sub   { font-size: 11px; color: var(--sub); }

/* Track list rows */
.bma-tracklist { display: flex; flex-direction: column; gap: 10px; }
.bma-trackrow {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 14px; border-radius: 14px;
  cursor: pointer; transition: background .15s;
}
.bma-trackrow:hover { background: var(--card); }
.bma-trackrow.is-active { background: var(--p-l); }
.bma-trackrow.is-hidden { display: none; }

.bma-trackrow-num {
  width: 22px; text-align: center; flex-shrink: 0;
  font-size: 13px; font-weight: 700; color: var(--sub);
}
.bma-trackrow.is-active .bma-trackrow-num { color: var(--p); }

.bma-trackrow-thumb {
  width: 46px; height: 46px; border-radius: 12px; flex-shrink: 0;
  background: var(--p-l); overflow: hidden; position: relative;
  display: flex; align-items: center; justify-content: center; font-size: 20px;
}
.bma-trackrow-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.bma-trackrow-info { flex: 1; min-width: 0; }
.bma-trackrow-title { font-size: 14px; font-weight: 700; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bma-trackrow.is-active .bma-trackrow-title { color: var(--p); }
.bma-trackrow-sub   { font-size: 11px; color: var(--sub); margin-top: 2px; }

.bma-trackrow-right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.bma-trackrow-dur   { font-size: 12px; color: var(--sub); font-weight: 600; }

.bma-trackrow-heart {
  width: 28px; height: 28px; border-radius: 50%;
  border: 1.5px solid var(--border); background: none; color: var(--sub);
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: all .16s; flex-shrink: 0;
}
.bma-trackrow-heart:hover, .bma-trackrow-heart.is-fav { border-color: var(--rose); color: var(--rose); background: #FFF0F4; }

/* ── Bottom Nav ── */
.bma-bottomnav {
  position: fixed;
  bottom: 0; left: 50%; transform: translateX(-50%);
  width: 100%; max-width: 480px;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(16px);
  border-top: 1px solid var(--border);
  display: flex;
  padding: 10px 0 14px;
  z-index: 50;
}
.bma-bottomnav-btn {
  flex: 1 !important; display: flex !important; flex-direction: column !important;
  align-items: center !important; justify-content: center !important; gap: 6px !important;
  background: none !important; border: none !important; cursor: pointer !important;
  font-size: 11px !important; font-weight: 700 !important;
  color: #7B82A3 !important; transition: color .15s !important;
  padding: 6px 10px !important; margin: 0 !important;
  min-width: 0 !important;
}
.bma-bottomnav-btn.is-active { color: var(--p); }
.bma-bottomnav-btn svg { transition: transform .2s; }
.bma-bottomnav-btn.is-active svg { transform: scale(1.15); }

/* ════════════════════════════════
   PLAYER SCREEN
════════════════════════════════ */
/* ═══════════════════════════════════════
   PLAYER SCREEN — Immersive redesign
═══════════════════════════════════════ */
#bma-player-screen {
  background: #0E0E1A;
  padding-bottom: 0;
  position: relative;
  overflow: hidden;
}

/* Dynamic gradient background — updated by JS */
#bma-player-screen::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--player-bg, linear-gradient(160deg,#1a1040 0%,#0E0E1A 60%));
  transition: background 1s ease;
  z-index: 0;
}
#bma-player-screen > * { position: relative; z-index: 1; }

/* Blur orb behind artwork */
#bma-player-screen::after {
  content: '';
  position: absolute;
  top: 60px; left: 50%;
  transform: translateX(-50%);
  width: 280px; height: 280px;
  border-radius: 50%;
  background: var(--player-orb, radial-gradient(circle,rgba(79,110,247,.4),transparent 70%));
  filter: blur(40px);
  z-index: 0;
  transition: background 1s ease;
  pointer-events: none;
}

.bma-player-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 20px 0;
  flex-shrink: 0;
}
.bma-back-btn {
  width: 40px; height: 40px; border-radius: 12px;
  background: rgba(255,255,255,.1); border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.7); transition: all .18s;
  backdrop-filter: blur(8px);
}
.bma-back-btn:hover { background: rgba(255,255,255,.18); color: #fff; }

.bma-player-topbar-center { text-align: center; }
.bma-player-nowplaying { font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.4); margin-bottom: 2px; }
.bma-player-playlist   { font-size: 13px; font-weight: 700; color: rgba(255,255,255,.8); max-width: 160px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.bma-player-heart-btn {
  width: 40px; height: 40px; border-radius: 12px;
  background: rgba(255,255,255,.1); border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.4); transition: all .18s;
  backdrop-filter: blur(8px);
}
.bma-player-heart-btn.is-fav { color: #FF6B9D; background: rgba(255,107,157,.15); }
.bma-share-btn {
  width: 40px; height: 40px; border-radius: 12px;
  background: rgba(255,255,255,.1); border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.5); transition: all .18s;
}
.bma-share-btn:hover { background: rgba(37,211,102,.2); color: #25d366; }

/* ── Artwork — larger, square with rounded corners ── */
.bma-artwork-wrap {
  position: relative;
  width: 260px; height: 260px;
  margin: 32px auto 28px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.bma-artwork-ring {
  position: absolute; border-radius: 30px;
  border: 1px solid rgba(255,255,255,.07);
}
.bma-artwork-ring--outer {
  width: 260px; height: 260px; border-radius: 34px;
  animation: bmaRingPulse 3s ease-in-out infinite;
}
.bma-artwork-ring--inner {
  width: 230px; height: 230px; border-radius: 30px;
  animation: bmaRingPulse 3s ease-in-out infinite .4s;
}
@keyframes bmaRingPulse {
  0%,100% { opacity:.5; transform:scale(1); }
  50%      { opacity:1;  transform:scale(1.02); }
}

.bma-artwork {
  width: 220px; height: 220px;
  border-radius: 28px;
  background: linear-gradient(135deg, #4F6EF7, #A78BFA);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; position: relative;
  box-shadow: 0 24px 64px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.1);
  transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s;
  flex-shrink: 0;
}
.bma-artwork.is-playing {
  transform: scale(1.04);
  box-shadow: 0 32px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.15);
  animation: none;
}
.bma-artwork img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  background: #0E0E1A;
}
.bma-artwork-emoji { font-size: 80px; line-height: 1; filter: drop-shadow(0 4px 12px rgba(0,0,0,.3)); }

/* ── Track info ── */
.bma-player-info { text-align: left; padding: 0 28px; margin-bottom: 24px; flex-shrink: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.bma-player-info-text { flex: 1; min-width: 0; }
.bma-player-title  { font-family: var(--serif); font-size: 24px; font-weight: 800; color: #fff; margin-bottom: 4px; line-height: 1.2; }
.bma-player-artist { font-size: 13px; color: rgba(255,255,255,.45); font-weight: 500; text-transform: none; letter-spacing: 0; }

/* ── Progress bar ── */
.bma-waveform-wrap { padding: 0 28px; margin-bottom: 24px; flex-shrink: 0; }
.bma-progress-bar { cursor: pointer; padding: 10px 0; }
.bma-progress-bar-track {
  position: relative; height: 4px;
  background: rgba(255,255,255,.15); border-radius: 100px;
}
.bma-progress-bar-fill {
  position: absolute; top: 0; left: 0; height: 100%;
  background: linear-gradient(90deg, #fff, rgba(255,255,255,.7));
  border-radius: 100px; width: 0%; transition: width .1s linear;
}
.bma-progress-bar-thumb {
  position: absolute; top: 50%;
  transform: translate(50%, -50%);
  width: 14px; height: 14px;
  border-radius: 50%; background: #fff;
  box-shadow: 0 0 0 3px rgba(255,255,255,.2);
  transition: left .1s linear;
}
.bma-time-labels { display: flex; justify-content: space-between; margin-top: 6px; }
.bma-time-labels span { font-size: 11px; font-weight: 700; color: rgba(255,255,255,.4); font-variant-numeric: tabular-nums; }

/* ── Controls ── */
.bma-player-controls {
  display: flex; align-items: center; justify-content: center; gap: 28px;
  padding: 0 28px 28px; flex-shrink: 0;
}
.bma-ctrl-btn { background: none; border: none; cursor: pointer; color: rgba(255,255,255,.6); transition: all .2s; border-radius: 50%; }
.bma-ctrl-btn:hover { color: #fff; transform: scale(1.12); }
.bma-ctrl-prev, .bma-ctrl-next { color: rgba(255,255,255,.5); }
.bma-ctrl-play {
  width: 72px; height: 72px;
  background: #fff;
  color: #0E0E1A; border-radius: 50%;
  box-shadow: 0 8px 28px rgba(79,110,247,.5);
  display: flex; align-items: center; justify-content: center;
  transition: all .22s cubic-bezier(.34,1.56,.64,1);
}
.bma-ctrl-play:hover { transform: scale(1.08); box-shadow: 0 12px 36px rgba(79,110,247,.6); }
.bma-ctrl-play.is-playing { background: var(--p-d); }

/* ════════════════════════════════
   MINI PLAYER
════════════════════════════════ */
.bma-miniplayer {
  position: fixed;
  bottom: 64px; left: 50%; transform: translateX(-50%);
  width: calc(100% - 32px); max-width: 448px;
  background: rgba(26,29,46,.97);
  backdrop-filter: blur(20px);
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 8px 40px rgba(0,0,0,.3);
  overflow: hidden;
  z-index: 49;
  animation: miniSlideUp .28s cubic-bezier(.34,1.56,.64,1);
}
@keyframes miniSlideUp { from{transform:translateX(-50%) translateY(20px);opacity:0} to{transform:translateX(-50%) translateY(0);opacity:1} }

.bma-miniplayer-bar { height: 3px; background: rgba(255,255,255,.08); }
.bma-miniplayer-bar-fill { height: 100%; width: 0%; background: linear-gradient(90deg, var(--p), #A78BFA); transition: width .1s linear; }

.bma-miniplayer > div:not(.bma-miniplayer-bar) {
  display: flex; align-items: center; gap: 12px; padding: 10px 14px 8px;
}

.bma-miniplayer-thumb {
  width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0;
  background: linear-gradient(135deg,var(--p),#A78BFA);
  display: flex; align-items: center; justify-content: center; font-size: 18px;
  overflow: hidden; position: relative;
}
.bma-miniplayer-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.bma-miniplayer-info { flex: 1; min-width: 0; }
.bma-miniplayer-title { display: block; font-size: 13px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bma-miniplayer-sub   { display: block; font-size: 11px; color: rgba(255,255,255,.45); }

.bma-miniplayer-right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.bma-miniplayer-play, .bma-miniplayer-next {
  width: 36px; height: 36px; border-radius: 50%; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center; transition: all .18s;
}
.bma-miniplayer-play { background: var(--p); color: #fff; box-shadow: 0 4px 14px rgba(79,110,247,.4); }
.bma-miniplayer-next { background: rgba(255,255,255,.08); color: rgba(255,255,255,.6); }
.bma-miniplayer-play:hover { transform: scale(1.08); }

/* Heart burst */
@keyframes bma-burst { 0%{opacity:1;transform:scale(1) translateY(0)} 100%{opacity:0;transform:scale(1.8) translateY(-50px)} }
.bma-burst-el { position:fixed; pointer-events:none; z-index:999999; font-size:24px; animation:bma-burst .65s ease forwards; }

/* No results */
.bma-no-results { text-align:center; padding:40px 20px; color:var(--sub); font-size:14px; }
.bma-empty-block { text-align:center; padding:50px 20px; color:var(--sub); }
.bma-empty-block .icon { font-size:52px; margin-bottom:14px; opacity:.4; }
.bma-empty-block h3 { font-size:18px; color:var(--text); margin-bottom:6px; }
.bma-empty-block p  { font-size:13px; line-height:1.6; }

/* Favs view */
#bma-favs-view { display: none; }

/* Responsive */
@media (max-width: 520px) {
  #bma-app { border-radius: 0; box-shadow: none; max-width: 100%; }
  .bma-bottomnav { border-radius: 0; }
  .bma-miniplayer { bottom: 64px; width: calc(100% - 24px); }
}

/* ── Screen visibility (controlled by JS) ── */
#bma-home           { display: flex !important; flex-direction: column; }
#bma-player-screen  { display: none; }
#bma-favs-view      { display: none; }
#bma-main-view      { display: block; }

/* ════════════════════════════════
   FEATURE 1 — SHARE BUTTON
════════════════════════════════ */
.bma-share-btn {
  width: 40px; height: 40px; border-radius: 12px;
  background: #E7F5E9; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: #25D366; transition: all .18s;
}
.bma-share-btn:hover { background: #25D366; color: #fff; transform: scale(1.08); }

/* ════════════════════════════════
   FEATURE 2 — SLEEP TIMER
════════════════════════════════ */
.bma-sleep-timer-bar {
  margin: 0 20px 28px;
  background: #F4F5FA;
  border-radius: 16px;
  padding: 14px 16px;
  flex-shrink: 0;
}
.bma-sleep-timer-label {
  display: flex; align-items: center; gap: 7px;
  font-size: 12px; font-weight: 700; color: #7B82A3;
  margin-bottom: 12px;
  text-transform: uppercase; letter-spacing: .06em;
}
.bma-sleep-timer-btns {
  display: flex; gap: 8px;
}
.bma-timer-btn {
  flex: 1;
  padding: 10px 4px;
  border-radius: 12px;
  border: 2px solid #E5E7EB;
  background: #fff;
  color: #7B82A3;
  font-size: 13px; font-weight: 800;
  cursor: pointer;
  transition: all .2s cubic-bezier(.34,1.56,.64,1);
}
.bma-timer-btn:hover {
  border-color: #4F6EF7; color: #4F6EF7;
  transform: translateY(-2px);
}
.bma-timer-btn.is-active-timer {
  background: #4F6EF7; border-color: #4F6EF7;
  color: #fff;
  box-shadow: 0 4px 14px rgba(79,110,247,.4);
  transform: translateY(-2px);
}

@keyframes bmaPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: .4; transform: scale(1.4); }
}

/* ════════════════════════════════
   FEATURE 3 — MOOD BAR
════════════════════════════════ */
.bma-mood-bar {
  background: #fff;
  border-radius: 18px;
  padding: 14px 16px;
  box-shadow: 0 2px 14px rgba(0,0,0,.06);
  margin-bottom: 0;
}
.bma-mood-bar-title {
  display: flex; align-items: center; gap: 7px;
  font-size: 11px; font-weight: 800;
  color: #9CA3AF;
  text-transform: uppercase; letter-spacing: .08em;
  margin-bottom: 12px;
}
.bma-mood-btns {
  display: flex; gap: 8px;
  overflow-x: auto; scrollbar-width: none;
  padding-bottom: 2px;
}
.bma-mood-btns::-webkit-scrollbar { display: none; }

.bma-mood-btn {
  display: inline-flex; flex-direction: column;
  align-items: center; gap: 5px;
  padding: 10px 14px;
  border-radius: 14px;
  border: none;
  background: var(--mood-bg, #EDE9FF);
  color: var(--mood-clr, #6B4EFF);
  cursor: pointer; flex-shrink: 0;
  transition: all .2s cubic-bezier(.34,1.56,.64,1);
  min-width: 64px;
}
.bma-mood-btn:hover {
  background: var(--mood-clr, #6B4EFF);
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(0,0,0,.15);
}
.bma-mood-emoji { font-size: 22px; line-height: 1; }
.bma-mood-label { font-size: 10px; font-weight: 800; white-space: nowrap; }

/* ════════════════════════════════
   TOAST NOTIFICATION
════════════════════════════════ */
.bma-toast {
  position: fixed;
  bottom: 90px; left: 50%; transform: translateX(-50%) translateY(20px);
  background: rgba(26,29,46,.95);
  color: #fff;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px; font-weight: 600;
  padding: 12px 22px;
  border-radius: 100px;
  box-shadow: 0 8px 32px rgba(0,0,0,.25);
  z-index: 999999;
  opacity: 0;
  transition: all .3s cubic-bezier(.34,1.56,.64,1);
  white-space: nowrap;
  pointer-events: none;
}
.bma-toast--show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ════════════════════════════════
   PROGRESS WIDGET
════════════════════════════════ */
.bma-progress-widget {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 18px 24px;
  background: linear-gradient(135deg, #4F6EF7 0%, #7C3AED 100%);
  border-radius: 20px;
  padding: 16px 18px;
  color: #fff;
  flex-shrink: 0;
}

.bma-progress-widget-left {
  display: flex;
  align-items: center;
  gap: 0;
  flex: 1;
}

.bma-progress-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}

.bma-progress-stat-num {
  font-size: 22px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  margin-bottom: 3px;
}

.bma-progress-stat-label {
  font-size: 10px;
  font-weight: 600;
  color: rgba(255,255,255,.7);
  text-align: center;
  line-height: 1.2;
}

.bma-progress-stat-divider {
  width: 1px;
  height: 32px;
  background: rgba(255,255,255,.2);
  flex-shrink: 0;
}

.bma-progress-widget-ring {
  position: relative;
  width: 52px; height: 52px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 14px;
}

.bma-ring-label {
  position: absolute;
  font-size: 10px;
  font-weight: 900;
  color: #fff;
}

/* ════════════════════════════════
   STAR RATING MODAL
════════════════════════════════ */
.bma-rating-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}

.bma-rating-modal--show {
  opacity: 1;
  pointer-events: all;
}

.bma-rating-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10,8,30,.6);
  backdrop-filter: blur(4px);
}

.bma-rating-card {
  position: relative;
  width: 100%;
  max-width: 480px;
  background: #fff;
  border-radius: 28px 28px 0 0;
  padding: 32px 28px 40px;
  text-align: center;
  transform: translateY(40px);
  transition: transform .3s cubic-bezier(.34,1.56,.64,1);
  box-shadow: 0 -8px 40px rgba(0,0,0,.15);
}

.bma-rating-modal--show .bma-rating-card {
  transform: translateY(0);
}

.bma-rating-emoji {
  font-size: 48px;
  margin-bottom: 12px;
  display: block;
}

.bma-rating-title {
  font-size: 20px;
  font-weight: 800;
  color: #1A1D2E;
  margin-bottom: 6px;
}

.bma-rating-sub {
  font-size: 13px;
  color: #9CA3AF;
  margin-bottom: 24px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bma-stars {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 8px;
}

.bma-star {
  background: none;
  border: none;
  font-size: 38px;
  color: #E5E7EB;
  cursor: pointer;
  transition: all .15s cubic-bezier(.34,1.56,.64,1);
  line-height: 1;
  padding: 2px;
}

.bma-star:hover,
.bma-star.is-active {
  color: #F5A623;
  transform: scale(1.2);
}

.bma-rating-labels {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: #9CA3AF;
  margin-bottom: 24px;
  padding: 0 4px;
}

.bma-rating-skip {
  background: none;
  border: none;
  color: #9CA3AF;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  padding: 8px 20px;
  border-radius: 100px;
  transition: background .15s;
}

.bma-rating-skip:hover {
  background: #F4F5FA;
  color: #7B82A3;
}

/* ════════════════════════════════
   TRACK ROW — ENHANCED v12
════════════════════════════════ */

/* Wrap inner content so quote sits outside the flex row */
.bma-trackrow-main {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.bma-trackrow-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 3px;
  flex-wrap: wrap;
}

/* Stars inside track row */
.bma-track-stars {
  display: inline-flex;
  align-items: center;
  gap: 1px;
}
.bma-star-icon {
  font-size: 12px;
  line-height: 1;
}
.bma-star-icon.full  { color: #F5A623; }
.bma-star-icon.half  { color: #F5A623; opacity: .6; }
.bma-star-icon.empty { color: #E5E7EB; }

.bma-track-ratingcount {
  font-size: 10px;
  color: #9CA3AF;
  font-weight: 600;
  margin-left: 3px;
}

/* Play count badge */
.bma-play-count {
  font-size: 10px;
  color: #9CA3AF;
  font-weight: 600;
}

/* Quote snippet */
.bma-track-quote {
  font-size: 12px;
  color: #7B82A3;
  font-style: italic;
  line-height: 1.5;
  padding: 6px 14px 8px 50px; /* indent past the number */
  border-left: 2px solid #E8E9F5;
  margin: 4px 0 6px 36px;
  border-radius: 0 6px 6px 0;
  background: linear-gradient(90deg, #F7F8FF, transparent);
}

/* Most Played badge */
.bma-trackrow--top {
  background: linear-gradient(135deg, #FFF8E7, #FFF3D0) !important;
  border: 1px solid #FDE68A;
}

.bma-mostplayed-badge {
  font-size: 10px;
  font-weight: 800;
  color: #B45309;
  background: #FEF3C7;
  border: 1px solid #FDE68A;
  border-radius: 100px;
  padding: 3px 10px;
  margin-bottom: 6px;
  display: inline-block;
  letter-spacing: .04em;
}

/* ════════════════════════════════
   LOGIN BANNER
════════════════════════════════ */
.bma-login-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 18px 14px;
  background: linear-gradient(135deg, #EEF2FF, #F5F3FF);
  border: 1px solid #C7D2FE;
  border-radius: 14px;
  padding: 11px 14px;
  flex-shrink: 0;
}
.bma-login-banner-left {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #4338CA;
  line-height: 1.4;
  flex: 1;
}
.bma-login-banner-btn {
  flex-shrink: 0;
  background: #4F6EF7;
  color: #fff !important;
  font-size: 12px;
  font-weight: 800;
  padding: 8px 16px;
  border-radius: 100px;
  text-decoration: none !important;
  transition: all .18s;
  white-space: nowrap;
}
.bma-login-banner-btn:hover {
  background: #3451D1;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(79,110,247,.35);
}

/* ════════════════════════════════
   USER CHIP (logged in state)
════════════════════════════════ */
.bma-user-chip {
  display: flex;
  align-items: center;
  gap: 7px;
  background: #F4F5FA;
  border-radius: 100px;
  padding: 4px 12px 4px 4px;
  margin-left: auto;
  flex-shrink: 0;
}
.bma-user-chip-avatar {
  width: 28px; height: 28px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.12);
}
.bma-user-chip-initial {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4F6EF7, #7C3AED);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bma-user-chip-name {
  font-size: 12px;
  font-weight: 700;
  color: #1A1D2E;
  white-space: nowrap;
}

/* ════════════════════════════════
   PLAYER CONTENT SECTIONS
════════════════════════════════ */
.bma-player-section {
  margin: 0 20px 20px;
  background: #F7F8FC;
  border-radius: 18px;
  overflow: hidden;
  flex-shrink: 0;
}

.bma-player-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: .07em;
  padding: 14px 16px 10px;
  border-bottom: 1px solid rgba(0,0,0,.05);
}

.bma-player-section-body {
  padding: 14px 16px;
}

/* Description */
.bma-player-desc {
  font-size: 14px;
  color: #4B5563;
  line-height: 1.75;
  font-style: italic;
  border-left: 3px solid #4F6EF7;
  background: #EEF2FF;
  border-radius: 0 14px 14px 0;
}

/* AdSense */
.bma-player-adsense {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 18px;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* related items replaced by slider — see below */

/* ════════════════════════════════
   SPACING FIXES — breathe!
════════════════════════════════ */
.bma-featured-banner  { margin-bottom: 24px !important; }
.bma-progress-widget  { margin-bottom: 24px !important; }
.bma-mood-bar         { margin-bottom: 16px !important; }
.bma-section-head     { margin-bottom: 18px !important; }
.bma-cards-scroll     { margin-bottom: 20px !important; }
.bma-trackrow         { margin-bottom: 4px !important; }
#bma-home             { padding-bottom: 100px !important; }

/* ════════════════════════════════
   BMA-APP — contain player screen
════════════════════════════════ */
#bma-app {
  position: relative !important;
  overflow: hidden !important;
}

/* ════════════════════════════════
   HORIZONTAL SLIDER — Products / Groups / Articles
════════════════════════════════ */
.bma-player-slider-wrap {
  margin: 0 0 22px;
  flex-shrink: 0;
}

.bma-player-slider-head {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 800;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: .07em;
  padding: 0 20px 10px;
}

/* Scrollable track */
.bma-slider-track {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 4px 20px 12px;
  scrollbar-width: none;
}
.bma-slider-track::-webkit-scrollbar { display: none; }

/* Card */
.bma-slider-card {
  flex-shrink: 0;
  width: 150px;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 18px rgba(0,0,0,.09);
  scroll-snap-align: start;
  transition: transform .2s;
}
.bma-slider-card:hover { transform: translateY(-3px); }
.bma-slider-card:active { transform: scale(.97); }

/* Card image area */
.bma-slider-card-img {
  height: 110px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.bma-slider-card-icon {
  font-size: 36px;
  z-index: 1;
}

/* Dark overlay for text readability when image present */
.bma-slider-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.55) 0%, transparent 60%);
}

/* Card body */
.bma-slider-card-body {
  padding: 10px 12px 12px;
}

.bma-slider-card-title {
  font-size: 12px;
  font-weight: 700;
  color: #1A1D2E;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── Skeleton loading animation ── */
.bma-slider-card--loading .bma-slider-card-img {
  background: linear-gradient(90deg, #F0F0F5 25%, #E8E8F0 50%, #F0F0F5 75%) !important;
  background-size: 200% 100% !important;
  animation: bmaShimmer 1.4s infinite;
}

.bma-slider-skeleton-bar {
  position: absolute;
  inset: 0;
  background: inherit;
}

.bma-slider-skeleton-text {
  height: 10px;
  background: #EBEBF5;
  border-radius: 6px;
  margin-bottom: 6px;
  animation: bmaShimmer 1.4s infinite;
  background: linear-gradient(90deg,#EBEBF5 25%,#D8D8E8 50%,#EBEBF5 75%);
  background-size: 200% 100%;
}
.bma-slider-skeleton-text.short { width: 60%; }

@keyframes bmaShimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ════════════════════════════════
   ONBOARDING MODAL
════════════════════════════════ */
.bma-onboard {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity .3s ease;
}
.bma-onboard--show {
  opacity: 1;
  pointer-events: all;
}

.bma-onboard-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10,8,30,.75);
  backdrop-filter: blur(6px);
}

.bma-onboard-card {
  position: relative;
  width: 100%;
  max-width: 480px;
  background: #fff;
  border-radius: 32px 32px 0 0;
  padding: 32px 24px 44px;
  transform: translateY(60px);
  transition: transform .4s cubic-bezier(.34,1.3,.64,1);
  box-shadow: 0 -12px 60px rgba(0,0,0,.2);
  max-height: 88vh;
  overflow-y: auto;
}
.bma-onboard--show .bma-onboard-card {
  transform: translateY(0);
}

/* Wave emoji */
.bma-onboard-wave {
  font-size: 52px;
  text-align: center;
  margin-bottom: 16px;
  display: block;
  animation: bmaWave .6s ease;
}
.bma-onboard-wave--spin {
  animation: bmaSpin .7s cubic-bezier(.34,1.56,.64,1);
}
@keyframes bmaWave {
  0%   { transform: rotate(0deg); }
  25%  { transform: rotate(20deg); }
  50%  { transform: rotate(-10deg); }
  75%  { transform: rotate(14deg); }
  100% { transform: rotate(0deg); }
}
@keyframes bmaSpin {
  from { transform: scale(0) rotate(-180deg); opacity:0; }
  to   { transform: scale(1) rotate(0deg);   opacity:1; }
}

.bma-onboard-title {
  font-size: 26px;
  font-weight: 900;
  color: #1A1D2E;
  text-align: center;
  line-height: 1.25;
  margin-bottom: 8px;
}
.bma-onboard-title span {
  background: linear-gradient(135deg, #4F6EF7, #F25C8B);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.bma-onboard-sub {
  text-align: center;
  font-size: 14px;
  color: #9CA3AF;
  font-weight: 600;
  margin-bottom: 28px;
}

/* Choice grid */
.bma-onboard-choices {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 20px;
}
.bma-onboard-choices--wide {
  grid-template-columns: 1fr 1fr;
}

.bma-ob-choice {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 8px;
  border-radius: 18px;
  border: 2px solid #E8E9F5;
  background: #F7F8FC;
  cursor: pointer;
  transition: all .2s cubic-bezier(.34,1.56,.64,1);
  font-size: 13px;
  font-weight: 700;
  color: #4B5563;
}
.bma-ob-choice:first-child { font-size: 26px; }
.bma-ob-choice > *:first-child { font-size: 28px; line-height: 1; }

.bma-ob-choice--wide {
  flex-direction: row;
  padding: 14px 16px;
  gap: 12px;
  text-align: left;
  border-radius: 16px;
}
.bma-ob-choice--wide > *:first-child { font-size: 24px; }

.bma-ob-choice:hover {
  border-color: #4F6EF7;
  background: #EEF2FF;
  transform: translateY(-2px);
}
.bma-ob-choice.is-selected {
  border-color: #4F6EF7;
  background: linear-gradient(135deg, #4F6EF7, #7C3AED);
  color: #fff;
  transform: scale(1.04);
  box-shadow: 0 6px 20px rgba(79,110,247,.4);
}

/* CTA button */
.bma-onboard-cta {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 18px;
  background: linear-gradient(135deg, #4F6EF7, #F25C8B);
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  border: none;
  border-radius: 20px;
  cursor: pointer;
  box-shadow: 0 8px 28px rgba(79,110,247,.4);
  transition: all .2s;
  margin-top: 4px;
}
.bma-onboard-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(79,110,247,.5);
}

/* Skip */
.bma-onboard-skip {
  display: block;
  margin: 0 auto;
  background: none;
  border: none;
  color: #9CA3AF;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  padding: 8px;
}

/* Progress dots */
.bma-onboard-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 24px;
}
.bma-ob-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #E5E7EB;
  transition: all .3s;
}
.bma-ob-dot--active {
  width: 20px;
  border-radius: 3px;
  background: #4F6EF7;
}

/* Track preview in step 3 */
.bma-ob-preview {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 20px;
}
.bma-ob-track {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: #F7F8FC;
  border-radius: 14px;
  animation: bmaFadeUp .3s ease both;
}
.bma-ob-track:nth-child(2) { animation-delay: .08s; }
.bma-ob-track:nth-child(3) { animation-delay: .16s; }

@keyframes bmaFadeUp {
  from { opacity:0; transform:translateY(10px); }
  to   { opacity:1; transform:translateY(0); }
}

.bma-ob-track-thumb {
  width: 40px; height: 40px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; flex-shrink: 0;
}
.bma-ob-track-title {
  flex: 1;
  font-size: 13px;
  font-weight: 700;
  color: #1A1D2E;
}
.bma-ob-track-dur {
  font-size: 11px;
  color: #9CA3AF;
  font-weight: 600;
}

/* ════════════════════════════════
   BADGES MODAL
════════════════════════════════ */
.bma-badges-modal {
  position: fixed;
  inset: 0;
  z-index: 99998;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}
.bma-badges-modal--show {
  opacity: 1;
  pointer-events: all;
}
.bma-badges-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10,8,30,.8);
  backdrop-filter: blur(6px);
}
.bma-badges-sheet {
  position: relative;
  width: 100%;
  max-width: 480px;
  background: #0E0E1A;
  border-radius: 28px 28px 0 0;
  padding: 24px 20px 40px;
  max-height: 82vh;
  overflow-y: auto;
  transform: translateY(50px);
  transition: transform .35s cubic-bezier(.34,1.2,.64,1);
}
.bma-badges-modal--show .bma-badges-sheet {
  transform: translateY(0);
}
.bma-badges-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.bma-badges-header-title {
  font-size: 18px;
  font-weight: 900;
  color: #F0F0FF;
}
.bma-badges-close {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: none;
  background: #1a1a2e;
  color: #888;
  font-size: 13px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.bma-badges-subtitle {
  font-size: 12px;
  color: #555;
  font-weight: 600;
  margin-bottom: 20px;
}

/* Badge grid */
.bma-badges-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.bma-badge-card {
  border-radius: 18px;
  padding: 16px 10px 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  transition: transform .2s;
}
.bma-badge-card--earned {
  background: #13131F;
  border: 1px solid #2a2a3e;
  box-shadow: 0 0 20px rgba(79,110,247,.1);
}
.bma-badge-card--earned:hover {
  transform: translateY(-3px);
}
.bma-badge-card--locked {
  background: #0d0d18;
  border: 1px dashed #1e1e30;
  opacity: .5;
}
.bma-badge-emoji {
  font-size: 32px;
  line-height: 1;
  filter: drop-shadow(0 0 8px rgba(255,255,255,.2));
}
.bma-badge-card--locked .bma-badge-emoji {
  filter: grayscale(1) opacity(.4);
}
.bma-badge-name {
  font-size: 11px;
  font-weight: 800;
  color: #ddd;
  line-height: 1.3;
}
.bma-badge-card--locked .bma-badge-name { color: #444; }
.bma-badge-desc {
  font-size: 10px;
  color: #666;
  line-height: 1.4;
}
.bma-badge-date {
  font-size: 9px;
  color: #4F6EF7;
  font-weight: 700;
  margin-top: 2px;
}

/* ── Badge earned toast ── */
.bma-badge-toast {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%) translateY(-80px);
  display: flex;
  align-items: center;
  gap: 12px;
  background: #13131F;
  border: 1px solid #2a2a3e;
  border-radius: 100px;
  padding: 10px 20px 10px 12px;
  box-shadow: 0 8px 32px rgba(0,0,0,.4), 0 0 0 1px rgba(79,110,247,.3);
  z-index: 99999;
  min-width: 220px;
  opacity: 0;
  transition: transform .4s cubic-bezier(.34,1.56,.64,1), opacity .3s;
  pointer-events: none;
  white-space: nowrap;
}
.bma-badge-toast--show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}
.bma-badge-toast-icon {
  font-size: 28px;
  filter: drop-shadow(0 0 8px rgba(255,255,255,.3));
  flex-shrink: 0;
}
.bma-badge-toast-label {
  font-size: 10px;
  font-weight: 700;
  color: #4F6EF7;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.bma-badge-toast-name {
  font-size: 14px;
  font-weight: 800;
  color: #F0F0FF;
}

/* ── Badges topbar button ── */
.bma-topbar-icon-btn {
  position: relative;
  width: 42px; height: 42px;
  border-radius: 14px;
  border: none;
  background: #F4F5FA;
  color: #6B7280;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: all .2s;
  flex-shrink: 0;
}
.bma-topbar-icon-btn:hover {
  background: #EEF2FF;
  color: #4F6EF7;
  transform: scale(1.07);
}

.bma-badges-count {
  position: absolute;
  top: -4px; right: -4px;
  min-width: 18px; height: 18px;
  background: linear-gradient(135deg, #4F6EF7, #F25C8B);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  border-radius: 100px;
  display: flex; align-items: center; justify-content: center;
  padding: 0 4px;
  border: 2px solid #fff;
  pointer-events: none;
}

/* ═══════════════════════════════════════
   PLAYER SCREEN — Inner sections dark
═══════════════════════════════════════ */

/* player-info wrap fix */
.bma-player-info-text { flex: 1; min-width: 0; }

/* Sleep timer — dark */
.bma-sleep-timer-bar {
  margin: 0 20px 16px !important;
  background: rgba(255,255,255,.05) !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.bma-sleep-timer-label { color: rgba(255,255,255,.4) !important; }
.bma-sleep-timer-btns button {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  color: rgba(255,255,255,.7) !important;
}
.bma-sleep-timer-btns button.is-active {
  background: rgba(255,255,255,.2) !important;
  border-color: rgba(255,255,255,.4) !important;
  color: #fff !important;
}

/* Description section — dark */
.bma-player-section {
  margin: 0 20px 16px !important;
  background: rgba(255,255,255,.05) !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
}
.bma-player-section-title { color: rgba(255,255,255,.3) !important; border-bottom-color: rgba(255,255,255,.06) !important; }
.bma-player-desc {
  color: rgba(255,255,255,.7) !important;
  border-left-color: rgba(255,255,255,.2) !important;
  background: transparent !important;
  border-radius: 0 !important;
}

/* AdSense — dark */
.bma-player-adsense { background: rgba(255,255,255,.03) !important; border-color: rgba(255,255,255,.07) !important; }

/* Sliders — dark */
.bma-player-slider-wrap { margin-bottom: 16px !important; }
.bma-player-slider-head { color: rgba(255,255,255,.3) !important; padding: 0 20px 10px !important; }
.bma-slider-card {
  background: rgba(255,255,255,.07) !important;
  box-shadow: 0 4px 18px rgba(0,0,0,.3) !important;
}
.bma-slider-card-title { color: rgba(255,255,255,.85) !important; }

/* ctrl-play white on dark */
.bma-ctrl-play:hover { background: rgba(255,255,255,.9) !important; transform: scale(1.06); }
.bma-ctrl-play svg   { color: #0E0E1A !important; }

/* Scrollbar invisible in player */
#bma-player-screen::-webkit-scrollbar { display: none; }

/* ════════════════════════════════
   EMAIL CAPTURE MODAL
════════════════════════════════ */
.bma-email-modal {
  position: fixed;
  inset: 0;
  z-index: 99997;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}
.bma-email-modal--show {
  opacity: 1;
  pointer-events: all;
}
.bma-email-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10,8,30,.82);
  backdrop-filter: blur(8px);
}
.bma-email-sheet {
  position: relative;
  width: 100%;
  max-width: 480px;
  background: #0E0E1A;
  border-radius: 32px 32px 0 0;
  padding: 32px 24px 48px;
  transform: translateY(60px);
  transition: transform .4s cubic-bezier(.34,1.2,.64,1);
  border-top: 1px solid rgba(255,255,255,.08);
}
.bma-email-modal--show .bma-email-sheet {
  transform: translateY(0);
}

.bma-email-close {
  position: absolute;
  top: 16px; right: 18px;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  border: none;
  color: rgba(255,255,255,.4);
  font-size: 13px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all .2s;
}
.bma-email-close:hover { background: rgba(255,255,255,.15); color: #fff; }

.bma-email-wave {
  font-size: 48px;
  text-align: center;
  margin-bottom: 16px;
  display: block;
  animation: bmaWave .7s ease;
}

.bma-email-title {
  font-size: 28px;
  font-weight: 900;
  color: #F0F0FF;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 10px;
}
.bma-email-title span {
  background: linear-gradient(135deg, #7B8FFF, #FF7EB3);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.bma-email-sub {
  font-size: 14px;
  color: rgba(255,255,255,.45);
  text-align: center;
  line-height: 1.6;
  margin-bottom: 28px;
  font-weight: 500;
}

/* Input + button */
.bma-email-form { display: flex; flex-direction: column; gap: 12px; }

.bma-email-input {
  width: 100%;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1.5px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  outline: none;
  transition: border-color .2s, background .2s;
  font-family: inherit;
}
.bma-email-input::placeholder { color: rgba(255,255,255,.25); }
.bma-email-input:focus {
  border-color: rgba(79,110,247,.6);
  background: rgba(79,110,247,.08);
}
.bma-email-input--error {
  border-color: #FF6B6B !important;
  background: rgba(255,107,107,.08) !important;
  animation: bmaShake .3s ease;
}
@keyframes bmaShake {
  0%,100% { transform: translateX(0); }
  25%      { transform: translateX(-6px); }
  75%      { transform: translateX(6px); }
}

.bma-email-submit {
  width: 100%;
  padding: 18px;
  background: linear-gradient(135deg, #4F6EF7, #F25C8B);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  border: none;
  border-radius: 18px;
  cursor: pointer;
  transition: all .2s;
  box-shadow: 0 8px 28px rgba(79,110,247,.35);
  font-family: inherit;
}
.bma-email-submit:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(79,110,247,.45); }
.bma-email-submit:disabled { opacity: .6; transform: none; cursor: not-allowed; }

.bma-email-legal {
  font-size: 11px;
  color: rgba(255,255,255,.25);
  text-align: center;
  font-weight: 500;
}

/* Skip */
.bma-email-skip {
  display: block;
  margin: 18px auto 0;
  background: none;
  border: none;
  color: rgba(255,255,255,.25);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  padding: 6px;
  transition: color .2s;
}
.bma-email-skip:hover { color: rgba(255,255,255,.5); }

/* Success state */
.bma-email-success {
  text-align: center;
  padding: 16px 0;
  animation: bmaFadeUp .4s ease;
}
.bma-email-success-icon {
  font-size: 52px;
  margin-bottom: 14px;
  display: block;
}
.bma-email-success-title {
  font-size: 24px;
  font-weight: 900;
  color: #F0F0FF;
  margin-bottom: 8px;
}
.bma-email-success-sub {
  font-size: 14px;
  color: rgba(255,255,255,.4);
  line-height: 1.6;
}

/* ── Topbar email subscribe button ── */
.bma-topbar-email-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 100px;
  border: 1.5px solid rgba(79,110,247,.4);
  background: rgba(79,110,247,.1);
  color: #4F6EF7;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: all .2s cubic-bezier(.34,1.2,.64,1);
  white-space: nowrap;
  letter-spacing: .02em;
}
.bma-topbar-email-btn:hover {
  background: rgba(79,110,247,.2);
  border-color: #4F6EF7;
  transform: scale(1.04);
}
.bma-topbar-email-btn--subscribed {
  border-color: rgba(86,207,178,.4) !important;
  background: rgba(86,207,178,.1) !important;
  color: #56CFB2 !important;
  cursor: default !important;
  transform: none !important;
}
.bma-topbar-email-btn--subscribed:hover {
  transform: none !important;
  background: rgba(86,207,178,.1) !important;
}

/* ════════════════════════════════
   MOBILE FIXES v24
════════════════════════════════ */

/* ── Full-width app on mobile ── */
@media (max-width: 600px) {
  #bma-app {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    margin: 0 !important;
    z-index: 9999 !important;
    overflow: hidden !important;
  }
  /* Screens fill height properly */
  .bma-screen { height: 100vh; height: 100dvh; }
}

/* ── Fix duplicate title — hide artist if same as emotion badge ── */
.bma-player-artist:empty { display: none; }

/* ── Artwork: no black bars on any image ── */
.bma-artwork {
  background-color: #1a1040 !important; /* fallback while loading */
}
.bma-artwork img {
  object-fit: cover !important;
  background: none !important;
}

/* ── Progress bar — show full width, no overflow ── */
.bma-waveform-wrap {
  padding: 0 20px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
.bma-progress-bar-track { overflow: visible !important; }

/* ── Fix floating WhatsApp/other buttons on mobile ── */
@media (max-width: 600px) {
  /* WordPress floating buttons — push them out of the way */
  .wp-block-button, [class*="whatsapp-float"],
  [class*="floating"], [id*="floating"],
  .tidio-chat, #tidio-chat { z-index: 100 !important; }

  /* Sleep timer — smaller buttons on mobile */
  .bma-sleep-timer-btns { gap: 6px !important; }
  .bma-sleep-timer-btns button { padding: 8px 4px !important; font-size: 12px !important; }

  /* Controls row — tighter on small screens */
  .bma-player-controls { gap: 20px !important; padding: 0 16px 20px !important; }
  .bma-ctrl-play { width: 64px !important; height: 64px !important; }

  /* Artwork — slightly smaller so controls are always visible */
  .bma-artwork-wrap { width: 220px !important; height: 220px !important; margin: 20px auto 20px !important; }
  .bma-artwork      { width: 186px !important; height: 186px !important; }
  .bma-artwork-ring--outer { width: 220px !important; height: 220px !important; }
  .bma-artwork-ring--inner { width: 196px !important; height: 196px !important; }

  /* Player info — less padding */
  .bma-player-info  { padding: 0 20px !important; margin-bottom: 14px !important; }
  .bma-player-title { font-size: 20px !important; }

  /* Topbar subscribe button — hide label on very small screens */
  @media (max-width: 380px) {
    #js-topbar-email-label { display: none; }
    .bma-topbar-email-btn  { padding: 8px 10px !important; }
  }
}

/* ── Home screen topbar — handle overflow ── */
@media (max-width: 380px) {
  .bma-topbar { gap: 6px; }
  .bma-topbar-search { min-width: 0; flex: 1; }
}

/* ════════════════════════════════
   MY PLAYLIST VIEW
════════════════════════════════ */
#bma-playlist-view {
  flex: 1;
  overflow-y: auto;
  padding-bottom: 80px;
}

.bma-playlist-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 20px 16px;
  border-bottom: 1px solid var(--border);
}
.bma-playlist-title {
  font-size: 22px;
  font-weight: 900;
  color: var(--text);
  margin: 0 0 2px;
}
.bma-playlist-meta {
  font-size: 12px;
  color: var(--sub);
  font-weight: 600;
  margin: 0;
}
.bma-playlist-play-all {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  background: var(--p);
  color: #fff;
  border: none;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: all .2s;
  box-shadow: 0 4px 14px rgba(79,110,247,.35);
}
.bma-playlist-play-all:hover { transform: scale(1.04); }

/* Empty state */
.bma-playlist-empty {
  text-align: center;
  padding: 60px 24px;
}
.bma-playlist-empty-icon { font-size: 48px; margin-bottom: 16px; }
.bma-playlist-empty-title {
  font-size: 18px; font-weight: 800;
  color: var(--text); margin-bottom: 8px;
}
.bma-playlist-empty-sub {
  font-size: 14px; color: var(--sub);
  line-height: 1.6;
}
.bma-playlist-empty-sub strong { color: var(--p); }

/* Playlist rows */
.bma-pl-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  transition: background .15s;
}
.bma-pl-row:hover { background: var(--bg); }
.bma-pl-row.dragging { opacity: .4; }

.bma-pl-row-drag {
  color: var(--sub);
  font-size: 18px;
  cursor: grab;
  padding: 0 4px;
  flex-shrink: 0;
  opacity: .4;
}
.bma-pl-row-thumb {
  width: 44px; height: 44px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
  overflow: hidden;
}
.bma-pl-row-info { flex: 1; min-width: 0; }
.bma-pl-row-title {
  font-size: 14px; font-weight: 700;
  color: var(--text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.bma-pl-row-meta { font-size: 11px; color: var(--sub); margin-top: 2px; font-weight: 500; }

.bma-pl-row-remove {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: none;
  border: none;
  color: var(--sub);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all .2s;
  flex-shrink: 0;
}
.bma-pl-row-remove:hover { background: #FEE2E2; color: #EF4444; }

/* + Add to playlist button on track row */
.bma-trackrow-addpl {
  width: 26px; height: 26px;
  border-radius: 50%;
  background: var(--bg);
  border: 1.5px solid var(--border);
  color: var(--sub);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all .2s cubic-bezier(.34,1.56,.64,1);
  flex-shrink: 0;
}
.bma-trackrow-addpl:hover {
  background: var(--p-l);
  border-color: var(--p);
  color: var(--p);
  transform: scale(1.15);
}
.bma-trackrow-addpl.in-playlist {
  background: var(--p);
  border-color: var(--p);
  color: #fff;
}

/* ════════════════════════════════
   SHARE PROGRESS MODAL
════════════════════════════════ */
.bma-share-modal {
  position: fixed; inset: 0; z-index: 99996;
  display: flex; align-items: flex-end; justify-content: center;
  opacity: 0; transition: opacity .3s; pointer-events: none;
}
.bma-share-modal--show { opacity: 1; pointer-events: all; }
.bma-share-backdrop {
  position: absolute; inset: 0;
  background: rgba(10,8,30,.85); backdrop-filter: blur(8px);
}
.bma-share-sheet {
  position: relative; width: 100%; max-width: 480px;
  background: #0E0E1A; border-radius: 32px 32px 0 0;
  padding: 24px 20px 40px;
  border-top: 1px solid rgba(255,255,255,.08);
  transform: translateY(50px);
  transition: transform .38s cubic-bezier(.34,1.2,.64,1);
  max-height: 90vh; overflow-y: auto;
}
.bma-share-modal--show .bma-share-sheet { transform: translateY(0); }

.bma-share-sheet-close {
  position: absolute; top: 16px; right: 18px;
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,.08); border: none;
  color: rgba(255,255,255,.4); font-size: 13px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.bma-share-sheet-title {
  font-size: 20px; font-weight: 900; color: #F0F0FF;
  text-align: center; margin-bottom: 4px;
}
.bma-share-sheet-sub {
  font-size: 13px; color: rgba(255,255,255,.35);
  text-align: center; margin-bottom: 20px;
}

/* Canvas preview — scaled down to fit */
.bma-share-canvas-wrap {
  width: 100%; aspect-ratio: 1;
  border-radius: 20px; overflow: hidden;
  margin-bottom: 20px;
  box-shadow: 0 12px 40px rgba(0,0,0,.5);
}
.bma-share-canvas-wrap canvas {
  width: 100% !important; height: 100% !important;
  display: block;
}

/* Action buttons */
.bma-share-actions {
  display: flex; gap: 10px;
}
.bma-share-action-btn {
  flex: 1; display: flex; align-items: center; justify-content: center;
  gap: 8px; padding: 14px 10px;
  border-radius: 16px; border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.07); color: rgba(255,255,255,.7);
  font-size: 13px; font-weight: 700; cursor: pointer;
  transition: all .2s; font-family: inherit;
}
.bma-share-action-btn:hover { background: rgba(255,255,255,.14); color: #fff; }
.bma-share-action-btn--primary {
  background: linear-gradient(135deg,#4F6EF7,#A78BFA) !important;
  border-color: transparent !important; color: #fff !important;
  box-shadow: 0 6px 20px rgba(79,110,247,.4);
}

/* Share track quick button + divider */
.bma-share-track-btn {
  width: 100%;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 16px;
  background: linear-gradient(135deg, rgba(37,211,102,.15), rgba(37,211,102,.08));
  border: 1px solid rgba(37,211,102,.3);
  border-radius: 18px;
  color: #25d366;
  font-size: 14px; font-weight: 800;
  cursor: pointer; transition: all .2s; font-family: inherit;
  margin-bottom: 16px;
}
.bma-share-track-btn:hover { background: rgba(37,211,102,.22); }

.bma-share-divider {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 14px;
}
.bma-share-divider::before,
.bma-share-divider::after {
  content: ''; flex: 1; height: 1px;
  background: rgba(255,255,255,.1);
}
.bma-share-divider span {
  font-size: 11px; color: rgba(255,255,255,.25);
  font-weight: 600; white-space: nowrap;
}

/* ════════════════════════════════
   SHARE MODAL FIXES v28
════════════════════════════════ */

/* Sheet — max height with scrollable canvas only */
.bma-share-sheet {
  max-height: 88vh !important;
  max-height: 88dvh !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 18px 18px 24px !important;
  overflow: hidden !important; /* sheet itself doesn't scroll */
}

/* Top row: title + close btn */
.bma-share-sheet-toprow {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 14px;
  flex-shrink: 0;
}
.bma-share-sheet-title { font-size: 17px !important; margin: 0 0 2px !important; }
.bma-share-sheet-sub   { font-size: 12px !important; margin: 0 !important; }

/* Close button — bigger, easier to tap */
.bma-share-sheet-close {
  width: 38px !important; height: 38px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.12) !important;
  border: none !important;
  color: rgba(255,255,255,.7) !important;
  font-size: 15px !important;
  cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important;
  position: static !important; /* override absolute */
}

/* Canvas — takes available space but never overflows */
.bma-share-canvas-wrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  margin-bottom: 12px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

/* Action buttons — always at bottom, never hidden */
.bma-share-track-btn {
  flex-shrink: 0 !important;
  padding: 13px 16px !important;
  font-size: 13px !important;
  margin-bottom: 10px !important;
  border-radius: 14px !important;
}
.bma-share-actions {
  flex-shrink: 0 !important;
  display: flex !important;
  gap: 8px !important;
}
.bma-share-action-btn {
  padding: 13px 8px !important;
  border-radius: 14px !important;
  font-size: 12px !important;
}

/* ── Hide WordPress floating/sticky buttons inside bma-app ── */
#bma-app [class*="floating"],
#bma-app [class*="sticky-"],
#bma-app .elementor-sticky,
#bma-app [data-elementor-type] { display: none !important; }

/* Global WP floating buttons — push below app on mobile */
@media (max-width: 600px) {
  [class*="whatsapp-float"],
  [class*="wp-float"],
  .wpcf7,
  .wpforms-form { z-index: 100 !important; }
}

/* ════════════════════════════════
   MY JOURNEY VIEW
════════════════════════════════ */
#bma-journey-view {
  flex: 1;
  overflow-y: auto;
  padding-bottom: 90px;
}

/* Hero */
.bma-journey-hero {
  position: relative;
  padding: 28px 20px 22px;
  overflow: hidden;
}
.bma-journey-hero-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1a1040 0%, #0e0e2a 100%);
}
.bma-journey-hero-bg::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 20% 50%, rgba(79,110,247,.35) 0%, transparent 65%),
              radial-gradient(ellipse at 80% 30%, rgba(242,92,139,.25) 0%, transparent 60%);
}
.bma-journey-hero-content { position: relative; z-index: 1; }
.bma-journey-greeting {
  font-size: 22px; font-weight: 900;
  color: #fff;
  margin-bottom: 4px;
}
.bma-journey-tagline {
  font-size: 13px; color: rgba(255,255,255,.45); font-weight: 500;
}

/* Stats row */
.bma-journey-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 16px 14px 0;
}
.bma-jstat-card {
  background: var(--card);
  border-radius: 16px;
  padding: 14px 8px;
  text-align: center;
  border: 1px solid var(--border);
}
.bma-jstat-icon { font-size: 22px; margin-bottom: 6px; }
.bma-jstat-val  {
  font-size: 20px; font-weight: 900; color: var(--text);
  line-height: 1;
}
.bma-jstat-label {
  font-size: 10px; color: var(--sub); font-weight: 600;
  margin-top: 3px; text-transform: uppercase; letter-spacing: .3px;
}

/* Sections */
.bma-journey-section {
  padding: 20px 16px 0;
}
.bma-journey-section-title {
  font-size: 15px; font-weight: 800; color: var(--text);
  margin-bottom: 14px;
}

/* Mood week */
.bma-mood-week {
  display: flex;
  gap: 6px;
  justify-content: space-between;
  padding: 4px 0;
}
.bma-mood-day {
  flex: 1;
  display: flex; flex-direction: column;
  align-items: center; gap: 6px;
}
.bma-mood-dot {
  width: 38px; height: 38px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  transition: transform .2s;
  border: 2px solid rgba(255,255,255,.06);
}
.bma-mood-day--today .bma-mood-dot {
  border-color: rgba(255,255,255,.35);
  transform: scale(1.12);
}
.bma-mood-day-label {
  font-size: 10px; color: var(--sub); font-weight: 600;
  text-align: center;
}
.bma-mood-day--today .bma-mood-day-label { color: var(--p); }

/* Benefits */
.bma-benefits-list { display: flex; flex-direction: column; gap: 8px; }
.bma-benefit-row {
  display: flex; align-items: center; gap: 12px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 14px;
  transition: all .2s;
}
.bma-benefit-row--locked {
  opacity: .45;
  filter: grayscale(.6);
}
.bma-benefit-icon { font-size: 26px; flex-shrink: 0; }
.bma-benefit-body { flex: 1; min-width: 0; }
.bma-benefit-title {
  font-size: 14px; font-weight: 800; color: var(--text);
  margin-bottom: 2px;
}
.bma-benefit-desc { font-size: 12px; color: var(--sub); line-height: 1.4; }
.bma-benefit-check {
  width: 26px; height: 26px; border-radius: 50%;
  background: linear-gradient(135deg, #56CFB2, #4F6EF7);
  color: #fff; font-size: 13px; font-weight: 900;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.bma-benefit-lock {
  font-size: 11px; font-weight: 800; color: var(--sub);
  background: rgba(255,255,255,.06); border-radius: 20px;
  padding: 4px 8px; flex-shrink: 0;
}

/* Journey badges grid */
.bma-journey-badges {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 10px !important;
  background: none !important;
  padding: 0 !important;
}
.bma-badge-date {
  font-size: 9px; color: var(--sub);
  margin-top: 2px; font-weight: 600;
}

/* Top tracks */
.bma-top-tracks-list { display: flex; flex-direction: column; gap: 2px; }
.bma-top-track-row {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 14px;
  border-radius: 14px;
  cursor: pointer; transition: background .15s;
}
.bma-top-track-row:hover { background: var(--card); }
.bma-top-track-rank {
  font-size: 18px; font-weight: 900;
  color: var(--sub); width: 22px; text-align: center; flex-shrink: 0;
}
.bma-top-track-row:first-child .bma-top-track-rank { color: #FFD93D; }
.bma-top-track-row:nth-child(2) .bma-top-track-rank { color: #C0C0C0; }
.bma-top-track-row:nth-child(3) .bma-top-track-rank { color: #CD7F32; }
.bma-top-track-thumb {
  width: 44px; height: 44px; border-radius: 10px;
  flex-shrink: 0; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
}
.bma-top-track-info { flex: 1; min-width: 0; }
.bma-top-track-title {
  font-size: 13px; font-weight: 700; color: var(--text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.bma-top-track-meta { font-size: 11px; color: var(--sub); margin-top: 2px; }
.bma-top-track-plays {
  font-size: 15px; font-weight: 900; color: var(--p);
  display: flex; flex-direction: column; align-items: center;
  flex-shrink: 0;
}
.bma-top-track-plays span {
  font-size: 9px; font-weight: 600; color: var(--sub);
  text-transform: uppercase;
}

.bma-journey-empty-note {
  font-size: 13px; color: var(--sub); text-align: center;
  padding: 16px 0;
}

/* 4-tab bottom nav — smaller text */
@media (max-width: 420px) {
  .bma-bottomnav-btn span { font-size: 9px; }
  .bma-bottomnav { gap: 0; }
  .bma-bottomnav-btn { padding: 10px 4px 8px; }
}
