.hero { min-height: auto; padding: 1.6rem 1rem 2.2rem; }
.tool { width: min(100%, 860px); min-width: 0; text-align: left; }
h1 { max-width: 20ch; font-size: clamp(2.15rem, 6vw, 4.2rem); line-height: 1.06; }
.subtitle { max-width: 49rem; margin: .9rem 0 1.2rem; }
.subtitle strong { color: var(--text); }
.shortlist { width: 100%; max-width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 1rem; background: var(--panel-strong); }
.shortlist table { min-width: 460px; }
.shortlist caption { padding: .65rem .8rem 0; color: var(--muted); text-align: left; font-size: .85rem; }
.shortlist td { color: var(--text); }
.shortlist td:last-child { color: var(--lime); white-space: nowrap; }
.shortlist small { display: block; color: var(--muted); font-size: .78rem; }
.scope-note { color: var(--muted); font-size: .86rem; }
.song-figure { margin: 1.3rem 0 0; }
.song-figure img { display: block; width: 100%; height: auto; border-radius: .8rem; border: 1px solid var(--line); }
.song-figure figcaption { color: var(--muted); font-size: .85rem; }
.panel h3 { margin-top: 1.25rem; }
@media (max-width: 540px) { .hero { padding-top: 1.1rem; } h1 { font-size: clamp(2rem, 9vw, 3rem); } }
