.listen{display:flex;flex-direction:column;gap:32px}.listen .player{width:100%;max-width:620px;margin:auto}.listen .notes{width:100%;max-width:720px;margin:auto;text-align:center}.notes #description{font-size:15px;line-height:2;white-space:pre-wrap;overflow-wrap:anywhere}.notes #published{font-size:11px}.listen .record{width:68px;height:68px}.listen .record i{width:26px;height:26px;border-width:9px}
/* Readable editorial hierarchy: title > lyrics > player > supporting labels. */
body{font-family:Arial,'Malgun Gothic',sans-serif;color:#29251f;-webkit-text-size-adjust:100%}
header a{font-size:26px}header span,.edition,.eyebrow{font-size:11px;letter-spacing:1.5px;color:#6f583f}
.intro .dek{font-size:17px;line-height:1.85;color:#574e42}
figcaption{font-size:10px;letter-spacing:.7px;color:#685d4f;gap:12px;line-height:1.6}
.listen{gap:38px;padding:38px 0 50px}
.transport{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:540px;gap:9px}
.transport button{font-size:15px;font-weight:600;min-height:48px;padding:12px 8px}
.seekrow{font-size:13px;color:#625748}.seekrow input{min-height:30px}
#status{font-size:14px;color:#6d5033;line-height:1.8}
.notes h2{font-size:clamp(29px,4.5vw,40px);font-weight:600;line-height:1.5;letter-spacing:-.8px;margin:16px 0 24px;color:#29231c}
.notes #description{font-size:clamp(19px,2.3vw,22px);font-weight:400;line-height:2.05;color:#40372d;max-width:38em;margin:0 auto 24px;letter-spacing:.05px;word-break:keep-all;overflow-wrap:anywhere}
.notes #published{font-size:13px;color:#6b5c49;line-height:1.8;margin-top:24px}
blockquote{font-size:24px;color:#5d5143}blockquote em{color:#77654f}
footer{font-size:12px;color:#6b5c49;line-height:1.8}footer strong{font-size:12px}
@media(max-width:650px){header a{font-size:24px}.intro .dek{font-size:16px}.edition,.eyebrow{font-size:10px}figcaption{font-size:9px;letter-spacing:.2px;flex-wrap:wrap}.listen{padding-top:28px}.notes #description{font-size:19px;line-height:2}.notes h2{font-size:29px}blockquote{font-size:21px}.transport button{font-size:14px}}
.notes #description.lyrics-box{height:340px;height:clamp(280px,42dvh,380px);overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#a88b67 #e9e0d1;padding:24px 20px;border:1px solid #cbbca6;border-radius:12px;background:#fffcf5;box-shadow:inset 0 8px 16px #8b714908;touch-action:pan-y}.lyrics-box:focus-visible{outline:2px solid #98724b;outline-offset:3px}#lyricsAuto{padding:9px 14px;background:transparent;border:1px solid #baa98f;border-radius:6px;font-size:13px;color:#685034}#lyricsAuto[aria-pressed=true]{background:#eee3d1}.notes .lyrics-hint{font-size:12px;color:#776650;line-height:1.7;margin:10px 0}
#single{grid-column:1/-1}#single[aria-pressed=true]{background:#9e663c;color:white;border-color:#9e663c}
.lyrics-reader{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:stretch}.lyrics-controls{display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:8px}.lyrics-controls span{flex:1;width:3px;background:#dacbb6;border-radius:3px}.lyrics-controls button{width:44px;min-height:48px;border:1px solid #baa98f;border-radius:8px;background:#eee3d1;color:#685034;font-size:19px;touch-action:manipulation}.lyrics-controls button:active{background:#d6bea0}.notes .lyrics-reader #description{width:100%;box-sizing:border-box;margin:0;-webkit-overflow-scrolling:touch}.notes .lyrics-hint{margin-top:12px}

/* Track cover and independently scrollable lyrics. */
.listen .notes{max-width:100%}
.track-reading{display:grid;grid-template-columns:minmax(0,9fr) minmax(0,16fr);gap:22px;align-items:stretch;max-width:940px;margin:auto}
.track-cover{display:block;width:100%;height:clamp(340px,48dvh,440px);object-fit:contain;background:#e9e0d1;border-radius:12px}
.track-reading:has(.track-cover[hidden]){grid-template-columns:minmax(0,1fr);max-width:720px}
.track-reading .lyrics-reader{position:relative;display:block;min-width:0}
.track-reading .notes{min-width:0}
.notes .track-reading #description.lyrics-box{height:clamp(340px,48dvh,440px);max-width:none;padding:22px 42px 22px 18px;text-align:left}
.track-reading .lyrics-controls{position:absolute;right:5px;top:5px;bottom:5px;width:32px;padding:0;gap:4px;z-index:1;pointer-events:none}
.track-reading .lyrics-controls span{background:transparent}
.track-reading .lyrics-controls button{width:32px;min-height:36px;padding:0;border:0;border-radius:6px;background:#eee3d1;color:#685034;font-size:10px;pointer-events:auto}
@media(max-width:650px){.track-reading{gap:10px;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.track-cover{height:340px}.notes .track-reading #description.lyrics-box{height:340px;padding:16px 31px 16px 10px;font-size:16px;line-height:1.95;word-break:normal}.track-reading .lyrics-controls{right:2px;width:27px}.track-reading .lyrics-controls button{width:27px;font-size:9px}.notes h2{font-size:26px}}

.track-reading .track-cover{height:auto;aspect-ratio:9/16;object-fit:cover}.track-reading .lyrics-reader{height:0;min-height:100%}.notes .track-reading #description.lyrics-box{height:100%}

.listen{gap:14px}.listen .player{gap:12px}#status:empty{display:none}.notes h2{margin:8px 0 14px}.notes #published{margin-top:14px}@media(max-width:650px){.listen{gap:12px}}

/* Audio-timed lyrics: highlight the current sung line only. */
.notes #description .lyric-line{display:block;padding:4px 8px;margin:3px 0;border-radius:6px;white-space:pre-wrap;transition:color .15s,background-color .15s}.notes #description .lyric-line.is-current{background:#40372d;color:#fffcf5} @media(prefers-reduced-motion:reduce){.notes #description .lyric-line{transition:none}}
