/* album & lyrics pages (generated by build-music.js) */
.music-hero { padding: calc(var(--header-h) + 56px) 0 48px; background: linear-gradient(180deg, var(--bg-alt) 0%, var(--bg) 100%); border-bottom: 1px solid var(--line); }
.music-inner { max-width: 860px; margin: 0 auto; padding: 0 24px; }
.music-back { display: inline-block; font-family: var(--font-en); font-size: 12px; letter-spacing: 0.15em; color: var(--text-dim); margin-bottom: 28px; transition: color .2s; }
.music-back:hover { color: var(--pink-soft); }
.music-title { font-size: clamp(30px, 5vw, 48px); color: var(--pink-pale); margin: 0 0 8px; line-height: 1.2; }
.music-meta { font-family: var(--font-en); font-size: 12px; letter-spacing: 0.18em; color: var(--text-dim); margin: 0; }
.music-page .listen { text-align: left; margin-top: 28px; }
.music-page .listen-links { justify-content: flex-start; }

/* album page */
.album-head { display: grid; grid-template-columns: 300px 1fr; gap: 44px; align-items: end; }
.album-head .music-back { grid-column: 1 / -1; margin-bottom: 0; }
.album-page-cover { width: 100%; height: auto; border-radius: 6px; border: 1px solid var(--line); box-shadow: 0 18px 40px rgba(0,0,0,0.45); }

.music-body { padding: 56px 0 100px; }
.tracklist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.track { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); }
.track-no { font-family: var(--font-en); font-size: 12px; color: var(--pink-soft); letter-spacing: 0.1em; }
.track-title { padding: 16px 0; font-size: 18px; color: var(--text); transition: color .2s; }
.track-title:hover { color: var(--pink-soft); }
.track-time { font-family: var(--font-en); font-size: 12px; color: var(--text-dim); }

/* lyrics page */
.song-head .eyebrow { margin-bottom: 10px; }
.lyrics-text {
  margin: 0; white-space: pre-wrap; word-break: break-word;
  font-family: var(--font-body); font-size: 18px; line-height: 2; color: var(--text);
}
.track-pager { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: center; margin-top: 64px; padding-top: 28px; border-top: 1px solid var(--line); }
.track-pager a { color: var(--pink-pale); font-size: 15px; transition: color .2s; }
.track-pager a:hover { color: var(--pink-soft); }
.track-pager span { display: block; font-family: var(--font-en); font-size: 11px; letter-spacing: 0.15em; color: var(--text-dim); }
.pager-next { text-align: right; }
.pager-album { font-family: var(--font-en); font-size: 12px !important; letter-spacing: 0.15em; border: 1px solid var(--line); border-radius: 999px; padding: 8px 16px; }

@media (max-width: 700px) {
  .album-head { grid-template-columns: 1fr; gap: 24px; }
  .album-page-cover { max-width: 280px; }
  .track-title { font-size: 16px; }
  .lyrics-text { font-size: 17px; }
  .track-pager { grid-template-columns: 1fr 1fr; }
  .pager-album { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
}
