:root{
  --bg:#0f1216; --card:#171c22; --soft:#222a34;
  --text:#e9eef6; --muted:#a9b4c2; --accent:#ffffff;
  --radius:18px;
}
*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;
  background: radial-gradient(1200px 800px at 50% -200px, #2a3340 0%, var(--bg) 55%);
  color:var(--text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}
.app{max-width:420px;margin:0 auto;padding:18px 14px 26px;}
.topbar{text-align:center;margin:6px 0 14px;}
.topbar .subtitle{
  font-size:12px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;
}
.topbar .title{margin-top:6px;font-size:22px;font-weight:700;}

.card{
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  border:1px solid rgba(255,255,255,0.10);
  border-radius:var(--radius);
  padding:14px;
  box-shadow:0 18px 60px rgba(0,0,0,0.35);
}
.cover{width:100%;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:var(--soft);}
.cover img{width:100%;height:100%;object-fit:cover;display:block;}

.meta{padding:12px 4px 6px;}
.meta h1{margin:6px 0 2px;font-size:20px;}
.meta p{margin:0;color:var(--muted);font-size:14px;}

.player{
  margin-top:8px;padding:12px;border-radius:16px;
  background:rgba(0,0,0,0.18);
  border:1px solid rgba(255,255,255,0.08);
}
.now .label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;}
.nowPlaying{margin-top:4px;font-size:16px;font-weight:650;}

.timeline{
  display:grid;grid-template-columns:46px 1fr 46px;
  gap:10px;align-items:center;margin-top:12px;
}
.time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px;text-align:center;}
input[type="range"]{width:100%;accent-color:var(--accent);}

.controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px;}
.btn{
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.06);
  color:var(--text);
  border-radius:14px;
  padding:10px 14px;
  font-size:16px;
  cursor:pointer;
}
.btn:active{transform:scale(.98);}
.btn.play{
  padding:12px 18px;
  font-size:18px;
  background:rgba(255,255,255,0.14);
}

.list{margin-top:14px;}
.listHeader{display:flex;justify-content:space-between;align-items:baseline;padding:0 4px;}
.listHeader h2{
  margin:0;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);
}
.hint{font-size:12px;color:var(--muted);}

.tracks{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:8px;}
.track{
  display:grid;grid-template-columns:32px 1fr 28px;
  align-items:center;gap:10px;
  padding:10px;border-radius:14px;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.08);
  cursor:pointer;
}
.track:hover{background:rgba(255,255,255,0.08);}
.track.active{
  background:rgba(255,255,255,0.14);
  border-color:rgba(255,255,255,0.18);
}
.track .num{color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;}
.track .name{font-size:14px;}
.track .icon{text-align:center;color:var(--muted);}

.footer{text-align:center;margin-top:12px;}
.footnote{font-size:12px;color:var(--muted);}
