/* Shahi Radio v3.17 — elder-friendly mobile interface based on the approved mockup. */
.mobile-radio-app{display:none}
.mobile-track-search-icon,.track-search-clear{display:none}

@media (max-width:767px){
  :root{
    --mobile-gold:#f2bd46;
    --mobile-gold-deep:#c88b23;
    --mobile-panel:#0b0c11;
    --mobile-card:#151720;
    --mobile-card-2:#1a1c26;
    --mobile-text:#fffaf1;
    --mobile-muted:#c8c4cf;
    --mobile-border:rgba(255,255,255,.12);
    --mobile-green:#25d366;
    --mobile-header-height:72px;
    --mobile-nav-height:72px;
  }

  html{scroll-padding-top:calc(var(--mobile-header-height) + 14px)}
  body{
    padding:0 0 calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));
    background:#08090d;
    min-height:100svh;
    overflow-x:hidden;
    color:var(--mobile-text);
  }
  .topbar,.player-bar{display:none!important}
  .setup-notice{position:relative;top:0}
  main>.hero,main>.stats-strip,#artists,#request,#connect,footer{display:none!important}
  #schedule,#library{display:none!important}
  body[data-mobile-view="schedule"] #schedule{display:block!important}
  body[data-mobile-view="library"] #library{display:block!important}

  .mobile-radio-app{
    display:block;
    width:100%;
    max-width:none;
    margin:0 auto;
    min-height:100svh;
    background:#08090d;
    color:var(--mobile-text);
  }
  body[data-mobile-view="schedule"] .mobile-radio-app,
  body[data-mobile-view="library"] .mobile-radio-app{min-height:0;height:0;overflow:visible}

  /* Persistent app header — matches the approved mockup. */
  .mobile-app-header{
    position:fixed;
    z-index:275;
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:100%;
    max-width:none;
    min-height:calc(var(--mobile-header-height) + env(safe-area-inset-top));
    padding:max(8px,env(safe-area-inset-top)) 14px 8px;
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 48px;
    align-items:center;
    gap:10px;
    background:linear-gradient(180deg,rgba(7,8,13,.99),rgba(8,9,14,.96));
    border-bottom:1px solid rgba(242,189,70,.18);
    box-shadow:0 10px 32px rgba(0,0,0,.32);
    backdrop-filter:blur(18px);
  }
  .mobile-header-btn{
    width:46px;
    height:46px;
    border-radius:13px;
    display:grid;
    place-items:center;
    border:1px solid rgba(242,189,70,.22);
    background:#11131a;
    color:var(--mobile-gold);
    cursor:pointer;
  }
  .mobile-header-btn:active{transform:scale(.97)}
  .mobile-menu-btn{gap:5px;padding:11px}
  .mobile-menu-btn span{display:block;width:23px;height:3px;border-radius:999px;background:currentColor}
  .mobile-header-brand{min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;text-align:left}
  .mobile-header-crown{font-size:27px;line-height:1;color:var(--mobile-gold);filter:drop-shadow(0 0 8px rgba(242,189,70,.2))}
  .mobile-header-brand>div{min-width:0;display:grid;gap:2px}
  .mobile-header-brand strong{font-size:20px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.25px}
  .mobile-header-brand small{font-size:11px;color:#e6e2ea;font-weight:750;letter-spacing:.1px}
  .mobile-whatsapp-btn{border-color:rgba(37,211,102,.52);background:rgba(37,211,102,.10);color:#77eca2}
  .mobile-whatsapp-btn svg{width:25px;height:25px;fill:currentColor}

  .mobile-quick-menu{
    position:fixed;
    z-index:274;
    top:calc(var(--mobile-header-height) + env(safe-area-inset-top) + 8px);
    left:14px;
    width:min(260px,calc(100vw - 28px));
    padding:8px;
    display:grid;
    gap:6px;
    border:1px solid rgba(242,189,70,.28);
    border-radius:16px;
    background:rgba(17,18,25,.98);
    box-shadow:0 18px 46px rgba(0,0,0,.5);
    backdrop-filter:blur(20px);
  }
  .mobile-quick-menu.hidden{display:none}
  .mobile-quick-menu button{
    min-height:48px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:0 14px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:#fff;
    font-size:16px;
    font-weight:800;
    text-align:left;
  }
  .mobile-quick-menu button:hover,.mobile-quick-menu button:focus-visible{background:rgba(242,189,70,.12);color:var(--mobile-gold)}
  .mobile-quick-menu button span{width:24px;text-align:center;color:var(--mobile-gold);font-size:20px}

  /* Home screen */
  .mobile-radio-home{min-height:100svh;background:radial-gradient(circle at 50% 18%,rgba(242,189,70,.055),transparent 34%),#08090d;padding:calc(var(--mobile-header-height) + env(safe-area-inset-top) + 18px) 14px calc(var(--mobile-nav-height) + 18px)}
  body[data-mobile-view="schedule"] .mobile-radio-home,
  body[data-mobile-view="library"] .mobile-radio-home{display:none}
  .mobile-home-content{width:100%;max-width:520px;margin:0 auto;display:grid;justify-items:stretch;gap:12px}

  .mobile-hero-cover-wrap{display:grid;place-items:center;padding:2px 0 0}
  .mobile-hero-cover{
    width:min(70vw,286px);
    max-height:34svh;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:22px;
    border:1px solid rgba(242,189,70,.72);
    background:#111;
    box-shadow:0 16px 42px rgba(0,0,0,.44),0 0 0 1px rgba(242,189,70,.08),0 0 26px rgba(242,189,70,.08);
  }
  .mobile-now-copy{display:grid;justify-items:center;gap:4px;text-align:center;min-width:0;padding:0 8px}
  .mobile-now-copy>span{font-size:13px;color:var(--mobile-gold);font-weight:900;letter-spacing:.45px}
  .mobile-now-copy>strong{width:100%;font-size:clamp(22px,6.6vw,32px);line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.55px}
  .mobile-now-copy>small{width:100%;font-size:15px;line-height:1.25;color:#e1dde6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  .mobile-progress-wrap{display:grid;gap:6px;padding:0 6px}
  .mobile-seek-bar{width:100%;height:6px;accent-color:var(--mobile-gold);cursor:pointer}
  .mobile-time-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#f1eef5;font-weight:800;font-variant-numeric:tabular-nums}

  .mobile-main-controls{display:grid;grid-template-columns:72px 92px 72px;align-items:center;justify-content:center;gap:22px;padding:1px 0 2px}
  .mobile-round-btn,.mobile-play-btn{cursor:pointer;display:grid;place-items:center;transition:transform .15s ease,background .15s ease;touch-action:manipulation}
  .mobile-round-btn{width:64px;height:64px;border-radius:50%;background:#171923;color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
  .mobile-round-btn svg{width:30px;height:30px;fill:#fff;stroke:none}
  .mobile-round-btn:active,.mobile-play-btn:active{transform:scale(.95)}
  .mobile-play-btn{width:82px;height:82px;border-radius:50%;border:2px solid rgba(255,213,111,.86);background:radial-gradient(circle at 50% 40%,#8b661f,#3b2d16 62%,#15151a 63%);color:#ffd66e;font-size:35px;padding-left:4px;box-shadow:0 0 0 5px rgba(242,189,70,.08),0 8px 30px rgba(0,0,0,.34),0 0 26px rgba(242,189,70,.18)}
  body.is-playing .mobile-play-btn{padding-left:0;font-size:32px}

  .mobile-search-songs-btn{
    min-height:58px;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:0 18px;
    border:2px solid #efbb45;
    border-radius:15px;
    background:linear-gradient(180deg,rgba(164,111,25,.50),rgba(92,59,17,.62));
    color:#fff;
    font-size:20px;
    font-weight:950;
    letter-spacing:-.2px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 7px 24px rgba(0,0,0,.25),0 0 18px rgba(242,189,70,.08);
    cursor:pointer;
  }
  .mobile-search-songs-btn svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round}
  .mobile-search-songs-btn:active{transform:translateY(1px)}

  .mobile-utility-row{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(150px,.82fr);align-items:stretch;gap:9px;margin-top:1px}
  .mobile-volume-control,.mobile-utility-btn{min-height:60px;border:1px solid rgba(255,255,255,.105);border-radius:14px;background:#12141c;color:#fff}
  .mobile-volume-control{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:3px;padding:7px 12px 7px 8px;transition:border-color .2s ease, box-shadow .2s ease}
  .mobile-volume-control>button{width:42px;height:42px;border:0;background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;padding:0}
  .mobile-mute-icon{position:relative;display:inline-grid;place-items:center;width:26px;height:26px}
  .mobile-mute-icon svg{width:24px;height:24px;display:block;fill:none;stroke:#f4f5f8;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-mute-icon .mute-slash{display:none;position:absolute;width:24px;height:2.6px;border-radius:999px;background:#ff495d;transform:rotate(-45deg);box-shadow:0 0 8px rgba(255,73,93,.28)}
  .mobile-volume-control.is-muted{border-color:rgba(255,73,93,.45);box-shadow:inset 0 0 0 1px rgba(255,73,93,.08)}
  .mobile-volume-control.is-muted .mobile-mute-icon .mute-slash{display:block}
  .mobile-volume-control.is-muted .mobile-volume-copy small{color:#f0c8cf}
  .mobile-volume-copy{display:grid;gap:3px;min-width:0}
  .mobile-volume-copy small{font-size:13px;color:#ded9e4;font-weight:800}
  .mobile-volume-copy input{width:100%;height:5px;accent-color:var(--mobile-gold);transition:filter .2s ease, opacity .2s ease, accent-color .2s ease}
  .mobile-volume-control.is-muted .mobile-volume-copy input{accent-color:#6f7380;filter:saturate(.15) brightness(.82);opacity:.92}
  .mobile-utility-btn{display:grid;grid-template-columns:37px minmax(0,1fr) 20px;align-items:center;gap:5px;padding:7px 10px;cursor:pointer;text-align:left}
  .mobile-sleep-icon{font-size:30px;line-height:1;color:#ffd061}
  .mobile-sleep-copy{display:grid;gap:1px;min-width:0}
  .mobile-sleep-copy small{font-size:12px;color:#ded9e4;font-weight:800}
  .mobile-sleep-copy strong{font-size:14px;color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.1px}
  .mobile-utility-chevron{font-size:28px;color:#c9c4d0;text-align:right}
  .mobile-utility-btn.is-active{border-color:rgba(242,189,70,.5);box-shadow:inset 0 0 0 1px rgba(242,189,70,.08)}
  .mobile-utility-btn.is-active .mobile-sleep-copy strong{color:var(--mobile-gold)}

  /* Bottom navigation with larger labels and touch areas. */
  .mobile-bottom-nav{
    position:fixed;
    z-index:270;
    left:50%;
    bottom:0;
    transform:translateX(-50%);
    width:100%;
    max-width:none;
    min-height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));
    padding:5px 18px env(safe-area-inset-bottom);
    display:grid;
    grid-template-columns:repeat(3,1fr);
    align-items:center;
    border-top:1px solid rgba(255,255,255,.09);
    background:rgba(9,10,15,.98);
    backdrop-filter:blur(20px);
    box-shadow:0 -12px 30px rgba(0,0,0,.3);
  }
  .mobile-bottom-nav a{position:relative;display:grid;justify-items:center;align-content:center;gap:3px;min-height:60px;color:#a8a4b3;text-decoration:none;touch-action:manipulation}
  .mobile-bottom-nav a>span{font-size:27px;line-height:1}
  .mobile-bottom-nav a small{font-size:12px;line-height:1.05;font-weight:850}
  .mobile-bottom-nav a.active{color:var(--mobile-gold)}
  .mobile-bottom-nav a.active:after{content:"";position:absolute;bottom:1px;width:42px;height:3px;border-radius:99px;background:var(--mobile-gold);box-shadow:0 0 10px rgba(242,189,70,.35)}

  /* Sleep timer sheet */
  .mobile-sleep-modal{position:fixed;inset:0;z-index:420;display:block}
  .mobile-sleep-modal.hidden{display:none}
  .mobile-sleep-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.67);backdrop-filter:blur(5px)}
  .mobile-sleep-sheet{position:absolute;left:14px;right:14px;bottom:calc(var(--mobile-nav-height) + 10px + env(safe-area-inset-bottom));border:1px solid rgba(242,189,70,.3);border-radius:20px;background:linear-gradient(180deg,#171922,#0e0f15);box-shadow:0 18px 48px rgba(0,0,0,.55);padding:17px 16px 18px}
  .mobile-sleep-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}
  .mobile-sleep-sheet-header strong{font-size:21px;letter-spacing:-.2px}
  .mobile-sleep-close{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#1b1d26;color:#fff;font-size:20px;cursor:pointer}
  .mobile-sleep-sheet p{margin:0 0 15px;font-size:14px;line-height:1.45;color:#cbc6d1}
  .mobile-sleep-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
  .mobile-sleep-options button{min-height:50px;border-radius:13px;border:1px solid rgba(242,189,70,.22);background:#181a22;color:#fff;font-weight:850;font-size:14px;cursor:pointer}
  .mobile-sleep-options button.is-active{border-color:rgba(242,189,70,.7);background:rgba(242,189,70,.16);color:var(--mobile-gold)}
  body.mobile-sleep-open{overflow:hidden}

  /* Schedule and Library screens */
  body[data-mobile-view="schedule"] main,
  body[data-mobile-view="library"] main{
    padding:calc(var(--mobile-header-height) + env(safe-area-inset-top) + 20px) 14px calc(var(--mobile-nav-height) + 22px);
    min-height:100svh;
    background:radial-gradient(circle at 50% 0,rgba(242,189,70,.045),transparent 28%),#090a0f;
  }
  body[data-mobile-view="schedule"] #schedule,
  body[data-mobile-view="library"] #library{width:100%;max-width:560px;margin:0 auto;padding:0}
  #schedule .section-heading,#library .section-heading{align-items:flex-start;margin-bottom:16px;gap:10px}
  #schedule .section-heading h2,#library .section-heading h2{font-size:clamp(30px,9vw,39px);line-height:1.02;letter-spacing:-1.2px;margin:0;color:#fff}
  #schedule .eyebrow,#library .eyebrow{display:none!important}
  .station-time-panel{font-size:11px!important;padding:9px 11px!important;border-radius:11px!important}
  .station-time-panel strong{font-size:13px!important}
  .schedule-grid{grid-template-columns:1fr!important;gap:10px}
  .schedule-card{border-radius:15px;padding:15px;background:#151720;border-color:rgba(255,255,255,.11)}
  .schedule-card h3{font-size:18px;line-height:1.25}
  .schedule-card p{font-size:13px;line-height:1.4}
  .schedule-time{font-size:12px!important}
  .schedule-play-btn{min-height:46px!important;font-size:13px!important}

  .library-heading{display:grid!important;align-items:stretch!important}
  .library-title-block{display:grid;gap:8px}
  .mega-storage-status{justify-self:start!important;min-height:29px;padding:5px 9px!important;font-size:11px!important;border-radius:999px!important}
  .library-filters{width:100%;max-width:none!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;justify-self:stretch!important}
  .library-filters .filter-field{width:100%!important;min-width:0}
  .filter-field{gap:7px!important;font-size:14px!important;letter-spacing:0!important;text-transform:none!important;color:#eeeaf2!important;font-weight:850!important}
  .filter-field>span:first-child,.filter-field>label{font-size:15px!important;color:#eeeaf2!important;font-weight:850!important}
  .library-filters select,.library-filters input{width:100%!important;max-width:none!important;height:56px!important;border-radius:13px!important;border:1px solid rgba(255,255,255,.18)!important;background:#1a1c25!important;color:#fff!important;font-size:16px!important;font-weight:750!important;padding:0 15px!important;outline:none!important}
  .library-filters select:focus,.library-filters input:focus{border-color:var(--mobile-gold)!important;box-shadow:0 0 0 3px rgba(242,189,70,.09)!important}

  .search-field{position:relative!important}
  .search-field .search-input{padding-left:49px!important;padding-right:50px!important}
  .mobile-track-search-icon{display:block;position:absolute;left:16px;bottom:12px;z-index:2;color:#fff;font-size:31px;line-height:1;pointer-events:none;transform:rotate(-18deg)}
  .track-search-clear{display:grid;place-items:center;position:absolute;right:8px;bottom:7px;z-index:2;width:42px;height:42px;border:0;border-radius:10px;background:transparent;color:#ded9e5;font-size:30px;line-height:1;cursor:pointer}
  .track-search-clear:active{background:rgba(255,255,255,.06)}

  .track-list-scroll{max-height:none!important;overflow:visible!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;display:grid!important;gap:10px!important;overscroll-behavior:auto!important;scrollbar-gutter:auto!important}
  .track-library-card{width:100%;min-width:0}
  .track-list-item,.track-list-item.station-status-track{
    display:grid!important;
    grid-template-columns:70px minmax(0,1fr)!important;
    gap:10px 12px!important;
    min-height:0!important;
    padding:11px!important;
    border-radius:15px!important;
    background:#151720!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 6px 20px rgba(0,0,0,.16);
  }
  .track-list-item.shared-track{border-color:rgba(37,211,102,.72)!important;box-shadow:inset 0 0 0 1px rgba(37,211,102,.18),0 6px 20px rgba(0,0,0,.18)!important}
  .track-list-item.library-parent-current{border-color:rgba(242,189,70,.68)!important;box-shadow:inset 3px 0 0 var(--mobile-gold),0 7px 24px rgba(0,0,0,.2)!important;background:linear-gradient(90deg,rgba(242,189,70,.10),#151720 36%)!important}
  .track-list-cover{width:70px!important;height:70px!important;border-radius:12px!important;object-fit:cover!important;background:#0f1016;border:1px solid rgba(242,189,70,.28)}
  .track-list-details{min-width:0!important;align-self:center}
  .track-list-details h3,.track-list-item h3{font-size:16px!important;line-height:1.2!important;margin:0 0 5px!important;white-space:normal!important;overflow:visible!important;color:#fff}
  .track-title-heading{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important}
  .track-title-text{min-width:0}
  .track-artist-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
  .track-artist{font-size:13px!important;line-height:1.3!important;margin:0 0 4px!important;color:#d4cfdb!important;font-weight:750!important;white-space:normal!important}
  .track-detail-tags{display:flex!important;flex-wrap:wrap!important;gap:3px 9px!important;font-size:11px!important;line-height:1.35!important;color:#bdb8c7!important}
  .track-detail-tags span{white-space:normal!important}
  .track-detail-tags span:nth-child(1){display:none!important}
  .track-detail-tags b{color:#ded9e3!important}
  .track-newly-listed-picture{max-width:82px!important}
  .track-newly-listed-badge{max-width:82px!important;height:auto!important}

  .track-station-status-slot{grid-column:1/-1!important}
  .station-status-track .track-station-status{margin-top:2px!important;padding:9px 2px 0!important;border-top:1px solid rgba(255,255,255,.08)!important}

  .track-list-actions{
    grid-column:1/-1!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(86px,1fr))!important;
    gap:7px!important;
    align-items:center!important;
  }
  .track-buy-btn,.track-play-btn,.track-share-btn{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    height:46px!important;
    padding:0 8px!important;
    border-radius:11px!important;
    font-size:12px!important;
    font-weight:900!important;
    gap:6px!important;
  }
  .track-buy-btn{order:1!important;color:#ffd66b!important;border-color:rgba(242,189,70,.72)!important;background:rgba(183,122,28,.18)!important}
  .track-play-btn{order:2!important;color:#ffd66b!important;border-color:rgba(242,189,70,.62)!important;background:rgba(183,122,28,.18)!important}
  .track-share-btn{order:3!important;color:#8af0ad!important;border-color:rgba(37,211,102,.54)!important;background:rgba(37,211,102,.10)!important}
  .track-buy-btn span,.track-play-btn span,.track-share-btn span{display:inline!important}
  .track-buy-btn svg,.track-share-btn svg{width:18px!important;height:18px!important}
  .track-list-actions .track-expand-btn{grid-column:1/-1!important;order:4!important;width:100%!important;min-width:0!important;height:42px!important;border-radius:10px!important}

  /* MEGA child rows: increase readability but keep the existing compact structure. */
  .mega-library-panel{margin-top:-1px!important;border-radius:0 0 14px 14px!important;padding:10px!important}
  .mega-library-toolbar{gap:8px!important;flex-wrap:wrap!important}
  .mega-library-search{min-height:44px!important;font-size:14px!important}
  .mega-track-row{min-height:58px!important;padding:7px 4px!important}
  .mega-track-title-cell strong{font-size:13px!important;line-height:1.25!important}
  .mega-track-title-cell small{font-size:10px!important;line-height:1.25!important}
  .mega-track-duration,.mega-track-size,.mega-track-type{font-size:10px!important}
  .mega-track-actions button{min-height:40px!important}
  .mega-buy-btn{min-width:58px!important;width:auto!important;padding:0 8px!important}
  .mega-buy-btn span{display:inline!important}

  @media(max-width:430px){
    .mobile-app-header{grid-template-columns:44px minmax(0,1fr) 44px;padding-left:10px;padding-right:10px}
    .mobile-header-btn{width:42px;height:42px}
    .mobile-header-crown{font-size:24px}
    .mobile-header-brand strong{font-size:18px}
    .mobile-header-brand small{font-size:10px}
    .mobile-radio-home{padding-left:11px;padding-right:11px}
    .mobile-main-controls{grid-template-columns:66px 84px 66px;gap:16px}
    .mobile-round-btn{width:60px;height:60px}
    .mobile-play-btn{width:78px;height:78px}
    .mobile-utility-row{grid-template-columns:1fr 1fr}
    .mobile-volume-control{padding-right:9px}
    .mobile-sleep-icon{font-size:26px}
    .mobile-sleep-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  }

  @media(max-width:360px){
    .mobile-header-brand strong{font-size:16px}
    .mobile-header-brand small{font-size:9px}
    .mobile-hero-cover{width:min(67vw,230px)}
    .mobile-now-copy>strong{font-size:22px}
    .mobile-now-copy>small{font-size:13px}
    .mobile-main-controls{grid-template-columns:60px 78px 60px;gap:12px}
    .mobile-round-btn{width:56px;height:56px}
    .mobile-play-btn{width:72px;height:72px;font-size:31px}
    .mobile-search-songs-btn{font-size:18px;min-height:54px}
    .mobile-utility-row{grid-template-columns:1fr}
    .mobile-volume-control,.mobile-utility-btn{min-height:56px}
    .track-list-item,.track-list-item.station-status-track{grid-template-columns:62px minmax(0,1fr)!important}
    .track-list-cover{width:62px!important;height:62px!important}
    .track-list-details h3,.track-list-item h3{font-size:15px!important}
    .track-list-actions{gap:5px!important}
    .track-buy-btn,.track-play-btn,.track-share-btn{font-size:11px!important;padding-inline:5px!important}
  }

  @media(max-height:700px){
    .mobile-radio-home{padding-top:calc(var(--mobile-header-height) + env(safe-area-inset-top) + 10px)}
    .mobile-home-content{gap:8px}
    .mobile-hero-cover{width:min(58vw,220px);max-height:30svh}
    .mobile-now-copy>strong{font-size:23px}
    .mobile-main-controls{padding:0}
    .mobile-round-btn{width:56px;height:56px}
    .mobile-play-btn{width:72px;height:72px}
    .mobile-search-songs-btn{min-height:52px}
    .mobile-volume-control,.mobile-utility-btn{min-height:54px}
  }

  @media(prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
  }
}

/* v3.25.8 mockup-exact mobile Library — intentionally after original mobile rules */
.shahi-mobile-chips,.shahi-library-mini{display:none}
@media(max-width:767px){
 body[data-mobile-view="library"] main{padding-bottom:calc(180px + env(safe-area-inset-bottom))!important}
 .shahi-mobile-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:5px 0 19px}
 .shahi-mobile-chips button{min-width:0;min-height:49px;border-radius:14px;border:1px solid rgba(255,255,255,.19);background:#171820;color:#f5f2f5;font-size:clamp(12px,3.3vw,16px);font-weight:850;padding:7px 3px;white-space:nowrap}
 .shahi-mobile-chips button[aria-pressed="true"]{background:#f2bd46;border-color:#f2bd46;color:#16110a}
 #library .track-list-scroll{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;align-items:start!important}
 #library .track-library-card>.track-list-item,#library .track-list-item.station-status-track{display:block!important;position:relative!important;min-height:0!important;aspect-ratio:4/5!important;padding:0!important;overflow:hidden!important;border-radius:21px!important;border:1px solid rgba(242,189,70,.35)!important;background:#0b0c11!important;box-shadow:0 9px 24px #0008!important}
 #library .track-list-item>.shahi-tile-open{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;padding:0!important;overflow:hidden!important;text-align:left!important}
 #library .track-list-item .shahi-tile-open .track-list-cover{display:block!important;width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;border:0!important;border-radius:0!important;background:#0b0c11!important;padding:8px!important;box-sizing:border-box!important}
 #library .track-list-item .shahi-tile-open::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.9) 100%)}
 #library .track-list-item .shahi-tile-title{display:block!important;position:absolute!important;bottom:0!important;left:0!important;right:0!important;z-index:2!important;padding:22px 51px 13px 12px!important;background:transparent!important;color:white!important;font-size:clamp(15px,4vw,19px)!important;line-height:1.2!important;font-weight:900!important;text-shadow:0 2px 6px #000!important}
 #library .track-list-item>.track-list-details,#library .track-list-item>.track-station-status-slot{display:none!important}
 #library .track-list-item>.track-list-actions{position:absolute!important;bottom:9px!important;right:8px!important;left:auto!important;top:auto!important;display:block!important;z-index:4!important;width:auto!important;padding:0!important;margin:0!important;background:none!important;border:0!important}
 #library .track-list-item>.track-list-actions>*:not(.track-play-btn){display:none!important}
 #library .track-list-item>.track-list-actions .track-play-btn{display:grid!important;place-items:center!important;width:43px!important;height:43px!important;min-width:43px!important;padding:0!important;border:2px solid #f5cb67!important;border-radius:50%!important;background:#101016ed!important;color:#f5cb67!important;font-size:15px!important;line-height:1!important}
 #library .track-list-item>.track-list-actions .track-play-btn::before{content:none!important}
 #library .track-list-item>.track-list-actions .track-play-btn span{display:none!important}
 #library .track-library-card>.mega-library-panel{display:none!important}
 .shahi-library-mini{position:fixed;bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 9px);left:50%;transform:translateX(-50%);z-index:280;width:calc(100% - 24px);max-width:560px;min-height:76px;padding:8px;display:none;grid-template-columns:56px minmax(0,1fr) 24px 51px;align-items:center;gap:9px;border-radius:19px;border:1px solid #f1be48;background:#111115f5;box-shadow:0 12px 30px #000b;backdrop-filter:blur(16px)}
 body[data-mobile-view="library"] .shahi-library-mini{display:grid}
 .shahi-library-mini img{width:56px;height:56px;object-fit:cover;border-radius:12px}
 .shahi-mini-copy{display:grid;min-width:0;gap:5px}
 .shahi-mini-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;color:#fff;line-height:1.15}
 .shahi-mini-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#d9d0cf}
 .shahi-mini-bars{color:#f5c24b;font-size:17px;font-weight:900;letter-spacing:-3px}
 .shahi-library-mini>button{width:51px;height:51px;border:0;border-radius:50%;background:#f2bd46;color:#17100b;font-size:24px;font-weight:900}
 .shahi-detail-dialog{font-size:17px!important;line-height:1.5!important}
 .shahi-info-row{min-height:62px;align-items:center!important;gap:14px!important}
 .shahi-info-row span{font-size:14px!important}
 .shahi-info-row strong{font-size:17px!important}
 .shahi-detail-tabs button{min-height:52px!important;font-size:17px!important}
 .shahi-detail-action-row button{min-height:62px!important;font-size:17px!important}
}

/* Mobile mini-player: playback progress under title and artist. */
@media(max-width:767px){
 .shahi-mini-progress-wrap{position:relative;width:100%;height:5px;overflow:hidden;border-radius:999px;background:#4b3d31;opacity:0;transition:opacity .2s ease}
 .shahi-mini-progress-wrap.is-visible{opacity:1}
 .shahi-mini-progress-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,#e8a52b,#ffda73);border-radius:999px;transition:width .13s linear}
 .shahi-mini-progress-wrap.is-live .shahi-mini-progress-fill{width:35%!important;animation:shahi-live-progress 1.7s ease-in-out infinite alternate}
 @keyframes shahi-live-progress{from{transform:translateX(-80%)}to{transform:translateX(260%)}}
 .shahi-mini-copy{gap:5px!important}
 .shahi-library-mini{min-height:82px!important}
}
@media(prefers-reduced-motion:reduce){.shahi-mini-progress-wrap.is-live .shahi-mini-progress-fill{animation:none;width:100%!important}}

/* Shahi mini-player: animated gold equalizer bound to real playback state. */
@media(max-width:767px){
 .shahi-library-mini .shahi-mini-bars{display:flex!important;align-items:center;justify-content:center;gap:3px;width:27px;height:29px;overflow:hidden;letter-spacing:normal}
 .shahi-library-mini .shahi-mini-bars i{display:block;width:3px;height:6px;min-height:4px;flex:none;border-radius:3px;background:linear-gradient(180deg,#ffe39a,#e8a32a);transform-origin:center;animation:shahi-equalizer .8s ease-in-out infinite alternate;animation-play-state:paused}
 .shahi-library-mini.playing .shahi-mini-bars i{animation-play-state:running}
 .shahi-library-mini .shahi-mini-bars i:nth-child(2){animation-duration:.57s;animation-delay:-.19s;height:12px}
 .shahi-library-mini .shahi-mini-bars i:nth-child(3){animation-duration:.91s;animation-delay:-.45s;height:18px}
 .shahi-library-mini .shahi-mini-bars i:nth-child(4){animation-duration:.65s;animation-delay:-.31s;height:9px}
 .shahi-library-mini .shahi-mini-bars i:nth-child(5){animation-duration:1.04s;animation-delay:-.62s;height:13px}
 @keyframes shahi-equalizer{from{height:4px}to{height:25px}}
}
@media(prefers-reduced-motion:reduce){.shahi-library-mini .shahi-mini-bars i{animation:none!important}}

/* v3.25.8 – premium mobile transport controls; retain original JS actions. */
@media (max-width:767px){
  .mobile-main-controls{
    display:grid!important;
    grid-template-columns:72px 94px 72px!important;
    justify-content:center!important;
    align-items:center!important;
    gap:17px!important;
    padding:10px 0 16px!important;
  }
  .mobile-main-controls .mobile-round-btn{
    width:66px!important;height:66px!important;
    justify-self:center;
    border:1.5px solid rgba(247,197,85,.74)!important;
    background:linear-gradient(150deg,#35302c 0%,#19181b 44%,#0c0d12 100%)!important;
    color:#ffd371!important;
    box-shadow:inset 0 1px 1px #ffffff30,inset 0 -3px 9px #0008,0 0 0 4px #c48a1920,0 10px 23px #0009!important;
  }
  .mobile-main-controls .mobile-round-btn svg{width:29px!important;height:29px!important;fill:#ffd371!important;filter:drop-shadow(0 0 5px #e1ac6f55)}
  .mobile-main-controls .mobile-play-btn{
    justify-self:center;
    width:90px!important;height:90px!important;
    border:2px solid #ffda78!important;
    background:radial-gradient(circle at 36% 22%,#ffdf8b 0%,#f4be4e 36%,#bc7b21 72%,#6e4518 100%)!important;
    color:#211507!important;font-weight:900!important;font-size:35px!important;
    box-shadow:inset 0 2px 5px #fff9,inset 0 -7px 13px #5f391b85,0 0 0 5px #bd86222b,0 0 0 7px #efbf5b55,0 12px 29px #0009,0 0 25px #d89a2b45!important;
  }
  .mobile-main-controls button:focus-visible{outline:3px solid #fff5c4!important;outline-offset:5px}
  .mobile-main-controls button:active{transform:scale(.94)!important}
  .mobile-main-controls button:disabled{opacity:.43;cursor:not-allowed;box-shadow:none!important}
}
@media (max-width:375px){
  .mobile-main-controls{grid-template-columns:58px 78px 58px!important;gap:14px!important}
  .mobile-main-controls .mobile-round-btn{width:57px!important;height:57px!important}
  .mobile-main-controls .mobile-play-btn{width:76px!important;height:76px!important}
}

/* Mobile favorite artwork markers and simplified filtering. */
.shahi-favorite-heart{display:none}
@media(max-width:767px){
  #library .library-filters>.filter-field:has(#trackArtistFilter){display:none!important}
  #library .library-filters{grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  #library .shahi-mobile-chips button{font-size:clamp(11px,3.05vw,15px)!important}
  #library .track-library-card>.track-list-item .shahi-favorite-heart{
    position:absolute!important;display:grid!important;place-items:center!important;
    top:8px!important;left:8px!important;z-index:8!important;
    width:35px!important;height:35px!important;min-width:35px!important;
    padding:0!important;border-radius:50%!important;
    border:1px solid rgba(255,255,255,.5)!important;background:rgba(8,9,13,.75)!important;
    color:#fff!important;font-size:27px!important;font-weight:700!important;line-height:1!important;
    text-shadow:0 2px 6px #0009;box-shadow:0 3px 10px #0008;
    cursor:pointer!important;
  }
  #library .track-library-card>.track-list-item .shahi-favorite-heart.is-favorite{
    color:#ff526b!important;border-color:rgba(255,82,107,.8)!important;
    background:rgba(40,12,21,.91)!important;
  }
}

/* Responsive phone layout: occupy actual viewport, including modern wide phones. */
@media (max-width:767px){
 html,body{width:100%;max-width:100%;overflow-x:clip}
 .mobile-radio-app,.mobile-app-header,.mobile-bottom-nav{width:100%!important;max-width:none!important}
 #library.section-shell,#schedule.section-shell{width:100%!important;max-width:none!important;margin:0!important;padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important}
 #library .track-list-scroll{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(8px,2.6vw,16px)!important;width:100%!important;min-width:0}
 #library .track-library-card{min-width:0;width:100%}
 #library .track-library-card>.track-list-item{width:100%!important;aspect-ratio:4/5!important}
 #library .track-library-card>.track-list-item .shahi-favorite-heart{
  display:grid!important;visibility:visible!important;opacity:1!important;
  position:absolute!important;left:clamp(6px,1.8vw,12px)!important;top:clamp(6px,1.8vw,12px)!important;
  z-index:20!important;width:clamp(36px,10vw,46px)!important;height:clamp(36px,10vw,46px)!important;
  min-width:36px!important;min-height:36px!important;touch-action:manipulation!important;
 }
 #library .track-list-item .shahi-tile-open{z-index:1!important}
 #library .track-list-item>.track-list-actions{z-index:10!important}
 .shahi-library-mini{max-width:none!important;width:calc(100% - 24px)!important}
 .shahi-mobile-chips{gap:clamp(4px,1.5vw,10px)!important}
 .shahi-mobile-chips button{min-width:0!important;font-size:clamp(11px,2.7vw,16px)!important}
}
@media (max-width:350px){
 #library .track-list-item .shahi-tile-title{font-size:13px!important;padding-right:40px!important}
 #library .track-list-item>.track-list-actions .track-play-btn{width:36px!important;height:36px!important;min-width:36px!important}
}
