.audio-player{
    width: 100%;
    max-width: 520px;
    padding: 14px 14px 12px;
    border-radius: 0px 0px 4px 4px;
    background: #111827; /* dark */
    color: #fff;
    box-shadow: 0 10px 25px rgba(0,0,0,.25);
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial;
    position: relative;
  }
  .audio-top{
    display:flex;
    align-items:center;
    gap:10px;
    position: relative;
  }
  .btn{
    border: 0;
    outline: 0;
    cursor: pointer;
    user-select:none;
  }
  .icon-btn{
    width: 40px;
    height: 42px;
    border-radius: 12px;
    background: rgba(255,255,255,.10);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    transition: .25s;
    padding:20px 35px;
  }
  .icon-btn:hover{ background: rgba(255,255,255,.16); transform: translateY(-1px); }

  .play-btn{
    flex: 1;
    height: 42px;
    border-radius: 12px;
    background: #924b28; /* purple */
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    transition:.25s;
    width:40px;
    padding: 20px 35px;
  }
  .play-btn:hover{ filter: brightness(1.05); transform: translateY(-1px); }

  .vol-pop{
    position:absolute;
    left: 52px;
    top: 52px;
    background: rgba(17,24,39,.95);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    padding: 10px 12px;
    display:none;
    box-shadow: 0 10px 25px rgba(0,0,0,.35);
  }
  .vol-pop.show{ display:block; }

  .vol-range{ width: 140px; }

  .audio-bottom{
    margin-top: 12px;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .time{
    font-size: 12px;
    opacity: .85;
    width: 40px;
    text-align:center;
  }
  .progress{
    flex:1;
    height: 6px;
    border-radius: 999px;
    cursor: pointer;
  }
  .dl-btn{
      width:40px;
      padding:20px 35px;
  }
  .dl-btn:hover,.play-btn:hover,.vol-btn:hover{
      color:#adc;
      border:none;
      outline:none;
  }
  .dl-btn:focus,.play-btn:focus,.vol-btn:focus{
      color:#ff798b;
      border:none;
      outline:none;
  }