:root{color-scheme:light;--paper:#faf8f3;--ink:#173b30;--muted:#52635b;--accent:#a3442b;--rule:#d8ddd4}
*{box-sizing:border-box}
html{background:var(--paper);scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-size:1rem;line-height:1.45;-webkit-font-smoothing:antialiased}
main{max-width:74rem;margin:auto;padding:2.6rem 2rem 2rem}
header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}
.eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem}
h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(2.5rem,5.5vw,4rem);letter-spacing:-.04em;line-height:1.12;margin:0}
.edition{font-size:.875rem;color:var(--muted);margin:0 0 .4rem;white-space:nowrap}
.intro{margin:1.25rem 0 0;padding:0 0 1.35rem;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.intro p{margin:0;font-size:1rem}
.intro .definitions{font-size:.875rem;color:var(--muted);max-width:27rem}
.tracks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2.5rem;list-style:none;padding:0;margin:0}
.tracks li{min-width:0;border-bottom:1px solid var(--rule)}
.track{display:grid;grid-template-columns:2.1rem 4.5rem minmax(0,1fr);gap:.85rem;align-items:start;padding:1rem 0;text-decoration:none;color:inherit;min-height:8rem}
.track img{display:block;width:4.5rem;height:4.5rem;object-fit:contain;background:transparent}
.rank{font-size:.875rem;font-weight:650;color:var(--accent);font-variant-numeric:tabular-nums;padding-top:.08rem}
.song{min-width:0}
.song h2{font-size:1rem;font-weight:650;line-height:1.3;overflow-wrap:anywhere;margin:0}
.artist{font-size:.9375rem;color:var(--muted);line-height:1.35;margin:.2rem 0 .45rem;overflow-wrap:anywhere}
dl{display:flex;flex-wrap:wrap;gap:.35rem 1.15rem;margin:0;font-size:.875rem;font-variant-numeric:tabular-nums}
dl div{display:flex;flex-direction:row-reverse;align-items:baseline;gap:.3rem}
dt{color:var(--muted);font-weight:400;text-transform:lowercase}
dd{color:var(--accent);font-weight:700;margin:0}
.track:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.track:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
footer{border-top:1px solid var(--ink);margin-top:2rem;padding-top:1.25rem;display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;color:var(--muted);font-size:.8125rem}
footer p{margin:0;max-width:35rem}
@media(max-width:760px){main{padding:1.75rem 1.1rem 2rem}header{align-items:flex-start;flex-direction:column;gap:.65rem}.edition{margin:0}.intro{display:block;margin-top:1rem;padding-bottom:1rem}.intro .definitions{margin-top:.4rem}.tracks{grid-template-columns:1fr}.track{grid-template-columns:1.9rem 4.5rem minmax(0,1fr);gap:.75rem;min-height:7.8rem}.song h2{font-size:1.0625rem}footer{grid-template-columns:1fr;gap:.75rem}}
@media(max-width:370px){main{padding-left:.85rem;padding-right:.85rem}.track{grid-template-columns:1.65rem 3.75rem minmax(0,1fr);gap:.6rem}.track img{width:3.75rem;height:3.75rem}dl{gap:.3rem .75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{main{max-width:none;padding:0}.tracks{display:block}.track{break-inside:avoid}.track h2{text-decoration:none}footer{break-inside:avoid}}

