/* Shared Android download affordance; never covers the player or page content. */
[data-app-promo], .app-download-mobile { display:none; }
body:has([data-app-promo]) { overflow-anchor:none; }
[data-app-promo][hidden], [data-app-download-link][hidden], .app-download-mobile[hidden] { display:none!important; }
.app-download-link { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:8px 12px; border:1px solid var(--accent,#FF5A16); border-radius:10px; color:var(--text,#f4f6f8); background:color-mix(in srgb,var(--accent,#FF5A16) 12%,#10151a); font-size:12px; font-weight:750; white-space:nowrap; text-decoration:none; }
.app-download-link:hover { background:var(--accent,#FF5A16); color:var(--accent-ink,#080b0e); text-decoration:none; }
.app-download-link:focus-visible, .app-promo-download:focus-visible, [data-app-promo-close]:focus-visible, .app-download-mobile a:focus-visible { outline:3px solid var(--accent-soft,#ff9c70); outline-offset:2px; }
.account-app-download { padding:10px 0; }
.app-promo-mascot { width:72px; height:72px; flex:none; object-fit:contain; }
.app-promo-copy { display:grid; gap:4px; min-width:0; flex:1; line-height:1.25; }
.app-promo-copy strong { font-size:15px; color:#f4f6f8; }
.app-promo-copy small { color:#b3bdc7; font-size:12px; }
.app-promo-download { display:inline-flex; align-items:center; justify-content:center; gap:7px; justify-self:start; min-height:44px; padding:8px 14px; border-radius:10px; background:var(--accent,#FF5A16); color:var(--accent-ink,#080b0e); font-size:13px; font-weight:800; text-decoration:none; }
[data-app-promo-close] { display:grid; place-items:center; flex:none; align-self:start; width:44px; height:44px; padding:0; border:1px solid #34404c; border-radius:50%; background:transparent; color:#c8d0d8; font-size:28px; cursor:pointer; }
@media(max-width:720px) {
  /* Header itself remains 60px. The reserved extra area belongs to the promo,
     so neither its expanded nor compact state overlaps the catalogue. */
  body:has([data-app-promo]) { --header:112px; }
  body:has([data-app-promo]:not([hidden])) { --header:190px; }
  body:has([data-app-promo]):has(.app-download-mobile[hidden]) { --header:60px; }
  body:has([data-app-promo]) .music-topbar { height:60px; }
  .top-actions .app-download-link { display:none; }
  [data-app-promo]:not([hidden]) { display:flex; align-items:center; gap:10px; position:fixed; top:64px; left:8px; right:8px; height:118px; z-index:61; padding:10px; box-sizing:border-box; border:1px solid color-mix(in srgb,var(--accent,#FF5A16) 55%,#34404c); border-radius:14px; background:linear-gradient(110deg,color-mix(in srgb,var(--accent,#FF5A16) 13%,#10151a),#10151a 75%); box-shadow:0 8px 24px #0005; }
  .app-download-mobile:not([hidden]) { display:block; position:fixed; top:60px; left:0; right:0; height:48px; z-index:61; padding:0 10px; border-bottom:1px solid #26303a; background:#10151a; }
  .app-download-mobile a { display:flex; align-items:center; gap:8px; min-height:48px; color:#f4f6f8; text-decoration:none; font-size:12px; }
  .app-download-mobile a>.x-icon { color:var(--accent,#FF5A16); }
  .app-download-mobile a>span { margin-left:auto; color:var(--accent,#FF5A16); font-weight:800; }
  [data-app-promo]:not([hidden]) ~ .app-download-mobile { display:none; }
}
@media(max-width:359px) {
  .app-promo-mascot { width:52px; height:62px; }
  .app-promo-copy strong { font-size:13px; }
  [data-app-promo]:not([hidden]) { gap:6px; padding:8px; }
}
