.music-introduction:empty,.song-story:empty,.album-introduction:empty { display:none; }
.music-introduction { max-width:720px; margin-bottom:32px; }
.music-song-row { padding:28px 0; border-top:1px solid var(--rule); }
.music-song-row.has-cover { display:grid; grid-template-columns:128px minmax(0,1fr); gap:28px; }
.song-summary { min-width:0; }
.song-summary h3,.album-card h3 { font:400 27px/1.3 var(--serif); margin:0 0 12px; overflow-wrap:anywhere; }
.song-cover img,.album-cover img,.song-artwork img { width:100%; aspect-ratio:1; object-fit:cover; }
.music-description { color:var(--secondary); margin:0 0 18px; max-width:650px; white-space:pre-line; overflow-wrap:anywhere; }
.song-player { max-width:610px; margin-bottom:6px; }
.song-player audio,.album-player audio { display:block; width:100%; max-width:100%; min-width:0; height:54px; }
.song-duration { display:block; font-size:12px; color:var(--secondary); margin-bottom:5px; }
.audio-error { font-size:14px; color:var(--secondary); margin:12px 0; }
.music-albums { margin-top:36px; padding-top:28px; border-top:1px solid var(--rule); }
.album-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; margin-top:24px; }
.album-cover { display:block; margin-bottom:20px; }
.album-count { font-size:13px; color:var(--secondary); }
.song-opening { margin-bottom:30px; }
.song-opening.has-cover { display:grid; grid-template-columns:minmax(0,200px) minmax(0,1fr); gap:30px; align-items:start; }
.song-introduction { font-size:17px; line-height:1.8; }
.song-story { margin:25px 0; }
.song-lyrics { border-top:1px solid var(--rule); margin-top:32px; padding-top:24px; }
.song-lyrics h2 { font:400 28px/1.3 var(--serif); margin:0 0 20px; }
.lyrics-text { font:17px/1.85 var(--sans); white-space:pre-wrap; overflow-wrap:anywhere; padding-bottom:22px; }
.album-player { padding:18px 20px; background:#f7f7f5; }
.now-playing { margin:0 0 12px; font:18px/1.4 var(--serif); overflow-wrap:anywhere; }
.album-tracklist { list-style:none; margin:0; padding:0; border-top:1px solid var(--rule); }
.album-track { border-bottom:1px solid var(--rule); padding:10px 0; }
.album-track-play { display:grid; grid-template-columns:24px minmax(0,1fr) auto 20px; gap:12px; align-items:center; width:100%; padding:10px; min-height:48px; border:0; background:transparent; text-align:left; }
.album-track-play:hover,.album-track.is-current .album-track-play { background:#f7f7f5; }
.track-number,.track-duration { font-size:13px; color:var(--secondary); }
.track-title { overflow-wrap:anywhere; }
.track-play-mark { font-size:22px; }
.track-details { display:inline-flex; align-items:center; min-height:44px; margin-left:46px; font-size:12px; color:var(--secondary); text-decoration:underline; text-underline-offset:4px; }
.post-password-form input[type=password] { display:block; max-width:100%; padding:10px; border:1px solid var(--rule); }
.post-password-form input[type=submit] { min-height:44px; padding:10px 18px; background:var(--ink); color:var(--paper); border:1px solid var(--ink); margin-top:12px; }
@media (max-width:720px) {
  .music-song-row.has-cover { grid-template-columns:90px minmax(0,1fr); gap:18px; }
  .song-opening.has-cover { grid-template-columns:minmax(0,150px) minmax(0,1fr); gap:24px; }
}
@media (max-width:600px) {
  .album-grid { grid-template-columns:1fr; gap:32px; }
  .song-opening.has-cover { grid-template-columns:1fr; gap:22px; }
  .song-artwork { max-width:260px; }
  .music-song-row.has-cover { grid-template-columns:1fr; gap:18px; }
  .song-cover { max-width:120px; }
  .album-player { padding:16px 10px; }
  .album-track-play { gap:8px; padding:8px 2px; }
  .track-details { margin-left:34px; }
}
@media print { .song-player,.album-player,.album-track-play,.track-details { display:none; } }
