:root{color-scheme:dark;--night:#080f1d;--panel:#111b2b;--gold:#edc77c;--paper:#fff4df;--muted:#c9c1b3;--line:#ad885643}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at 75% 20%,#1a2a43,var(--night) 60%);color:var(--paper);font:1rem/1.65 system-ui,sans-serif;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:inherit}
a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.skip{position:absolute;left:1rem;top:-10rem;padding:.5rem 1rem;background:var(--night);z-index:2}
.skip:focus{top:1rem}
.shell{width:min(1200px,calc(100% - 48px));margin:auto}
.top{border-bottom:1px solid var(--line);background:#080f1de8}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand,h1,h2,.subtitle{font-family:Georgia,'Times New Roman',serif}
.brand{font-size:1.24rem;letter-spacing:.15em;color:var(--gold);text-decoration:none}
nav{display:flex;gap:clamp(.75rem,3vw,2.3rem);flex-wrap:wrap}
nav a{text-decoration:none;color:var(--muted);font-size:.89rem;padding:.3rem 0}
nav a:hover,nav a[aria-current]{color:var(--gold);border-bottom:1px solid var(--gold)}
.album{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:center;padding:clamp(3rem,8vw,7rem) 0}
figure{margin:0;border:1px solid var(--line);padding:8px;box-shadow:0 28px 95px #0009}
img{display:block;width:100%;height:auto}
.eyebrow{color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.19em;margin:0 0 1rem}
h1{font-size:clamp(2.25rem,5.5vw,5rem);font-weight:400;line-height:1.08;margin:0;color:var(--paper)}
.album h1{color:var(--gold);letter-spacing:.035em}
.subtitle{font-size:1.65rem;color:var(--muted);margin:.6rem 0 2rem}
.button{display:inline-block;padding:.65rem 1.35rem;background:var(--gold);color:var(--night);text-decoration:none;font-weight:650}
.section{padding:3.75rem 0 5rem}
.grid{margin:2.5rem 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.15rem}
.track{min-width:0;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column}
.track img,.missing{aspect-ratio:1;object-fit:cover}
.missing{display:grid;place-items:center;color:var(--muted);text-align:center;background:#0d1626}
.details{padding:.85rem;flex:1;display:flex;flex-direction:column}
.number{color:var(--gold);font-size:.76rem;letter-spacing:.12em}
h2{font-weight:400;line-height:1.25}
.track h2{font-size:1rem;margin:.3rem 0}
.version{color:var(--muted);font-size:.83rem;margin:0}
audio{display:block;width:100%;height:40px;margin-top:auto;padding-top:7px;box-sizing:content-box}
.holiday{text-align:center}
.holiday h1{max-width:17ch;margin:auto}
video{display:block;width:min(100%,960px);aspect-ratio:16/9;margin:2.4rem auto;border:1px solid var(--line);background:#000}
.message{max-width:680px;margin:auto;text-align:left;color:var(--muted)}
.message h2{color:var(--gold);font-size:2rem}
footer{border-top:1px solid var(--line);padding:1.2rem 0;color:var(--muted);font-size:.85rem}
footer span{color:var(--gold)}
@media(max-width:960px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:730px){.album{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav{align-items:flex-start;flex-direction:column;justify-content:center;padding:1rem 0;gap:.35rem}}
@media(max-width:480px){.shell{width:calc(100% - 32px)}.grid{grid-template-columns:1fr}.track{max-width:360px;width:100%;margin:auto}.section{padding-top:2.5rem}}
