
:root{color-scheme:dark;font-family:Inter,system-ui,Segoe UI,sans-serif;background:#090a0d;color:#eee}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#1b1d25 0,#090a0d 38rem)}
header{text-align:center;padding:3rem 1rem 2rem;border-bottom:1px solid #2a2d36}
.eyebrow{letter-spacing:.28em;font-size:.75rem;color:#aaa}h1{font-family:Georgia,serif;font-size:clamp(2.2rem,6vw,4.8rem);margin:.35rem 0}
header p,#resultCount{color:#aaa}.controls{position:sticky;top:0;z-index:3;display:flex;gap:.65rem;flex-wrap:wrap;padding:1rem;background:#0c0e12e8;backdrop-filter:blur(10px);border-bottom:1px solid #252832}
input,select,button{background:#151820;color:#eee;border:1px solid #353946;border-radius:.55rem;padding:.8rem}
input{flex:1;min-width:240px}button{cursor:pointer}main{max-width:1500px;margin:auto}#resultCount{padding:1rem 1rem 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;padding:1rem}
.card{background:#11141a;border:1px solid #262a34;border-radius:.7rem;overflow:hidden;cursor:pointer;transition:.15s transform,.15s border-color}
.card:hover{transform:translateY(-3px);border-color:#777}
.cover{aspect-ratio:3/4;background:linear-gradient(145deg,#262a34,#111318);display:grid;place-items:center;padding:1rem;text-align:center;color:#777;font-family:Georgia,serif}
.cover img{width:100%;height:100%;object-fit:cover}.meta{padding:.8rem}.meta h2{font-size:.92rem;margin:0 0 .55rem;line-height:1.3}.badges{display:flex;gap:.35rem;flex-wrap:wrap}
.badge{font-size:.68rem;padding:.2rem .4rem;border:1px solid #3a3f4c;border-radius:999px;color:#bbb}
dialog{width:min(850px,94vw);max-height:90vh;background:#101319;color:#eee;border:1px solid #454a58;border-radius:.8rem;padding:0}
dialog::backdrop{background:#000b}.close{float:right;margin:.7rem;font-size:1.3rem}.detail{padding:2rem}.detail h2{font-family:Georgia,serif;font-size:2rem;margin:.2rem 0}.detail ol{columns:1;padding-left:1.7rem}.detail li{break-inside:avoid;margin:.35rem 0}
@media(max-width:650px){.detail ol{columns:1}}

/* Keep long tracklists inside a dedicated vertical scroll region. */
dialog{overflow:hidden}#detailBody{clear:both;max-height:calc(90vh - 4rem);overflow-y:auto;overflow-x:hidden}.detail li{overflow-wrap:anywhere}

/* Fit wide band logos fully within portrait catalog cards. */
.cover.band-artwork{min-width:0;overflow:hidden}.cover.band-artwork img{object-fit:contain;min-width:0;max-width:100%}

.archive-nav{display:flex;justify-content:space-between;gap:1rem;padding:1rem 2rem;border-bottom:1px solid #353946}.archive-nav a{color:#f2bd78;text-decoration:none}.archive-nav a:hover{text-decoration:underline}.archive-nav a:focus-visible{outline:2px solid #f2bd78;outline-offset:5px}
