:root{color-scheme:light;--paper:#f1ebdc;--ink:#242923;--muted:#5a6057;--rust:#a52e1f;--line:#c8c8b6;--olive:#34483b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,sans-serif}html{scroll-behavior:smooth;scroll-padding-top:24px}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--rust);outline-offset:4px}.skip{position:fixed;top:-100px;z-index:10;background:white;padding:10px}.skip:focus{top:10px}header{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px 4vw;border-bottom:1px solid var(--ink);font:11px/1.6 'IBM Plex Mono',monospace}header nav{display:flex;gap:22px;flex-wrap:wrap}header a{text-decoration:none}main{max-width:1320px;margin:auto;padding:0 4vw}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:7%;align-items:center;padding:60px 0 50px}.eyebrow{font:11px/1.6 'IBM Plex Mono',monospace;letter-spacing:.15em}.hero h1{font:clamp(66px,8vw,114px)/.91 'Instrument Serif',Georgia,serif;letter-spacing:-.04em;margin:22px 0 28px}.hero h1 em{color:var(--rust)}.hero .intro{font:22px/1.5 Georgia,serif;max-width:500px}.hero p{max-width:560px}.jump{display:inline-block;font:11px/1.5 'IBM Plex Mono',monospace;margin-top:14px;padding-bottom:8px;border-bottom:1px solid var(--ink);text-decoration:none}.hero-record{aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#121915 0 2px,#29332c 3px 4px);box-shadow:12px 16px 0 #29332c15;display:grid;place-items:center;transform:rotate(-12deg)}.hero-record>div{width:46%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#b43728;color:#fff1d4;box-shadow:0 0 0 6px #151d17}.hero-record small{font:9px monospace;letter-spacing:.12em}.hero-record strong{font:clamp(24px,3vw,45px)/.93 Georgia,serif;margin:12px 0}.hero-record i{width:12px;height:12px;border-radius:50%;background:var(--paper);margin:4px}.hero-record span{font:7px monospace;letter-spacing:.06em}.collection-stats{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--ink);padding:24px 0;gap:20px}.collection-stats strong{display:block;font:36px/1.2 Georgia,serif}.collection-stats span{font:10px/1.6 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em}.crate-section{padding:44px 0}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:28px;margin-bottom:22px}.section-heading h2{font:44px/1.05 'Instrument Serif',Georgia,serif;margin:0}.section-heading p{max-width:440px;font:13px/1.6 Arial,sans-serif;color:var(--muted);margin:0}.crates{display:flex;flex-wrap:wrap;gap:9px}.crates button{border:1px solid #909988;padding:10px 13px;background:transparent;color:var(--ink);border-radius:3px;font:12px/1.5 Arial,sans-serif;min-height:42px}.crates button[aria-pressed=true]{background:var(--olive);border-color:var(--olive);color:white}.crates b{font-weight:400;opacity:.75;margin-left:10px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:14px;align-items:end;padding:20px 0;border-block:1px solid var(--line)}.filters label{display:flex;flex-direction:column;gap:7px;font:9px/1.5 'IBM Plex Mono',monospace;letter-spacing:.08em}.filters input,.filters select{width:100%;min-width:0;padding:12px 9px;border:1px solid #9ca38f;border-radius:3px;background:#faf6eb;color:var(--ink);font:13px/1.4 Arial,sans-serif;min-height:44px}.filters button{border:0;background:transparent;text-decoration:underline;padding:12px 2px;font-size:12px;min-height:44px}.results-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;font:11px/1.6 'IBM Plex Mono',monospace}.results-heading p{margin:0}.results-heading>span{text-align:right;color:var(--rust)}.records{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 22px}.record-card{min-width:0}.record-open{display:block;width:100%;padding:0;border:0;text-align:left;background:transparent;color:inherit}.cover{aspect-ratio:1;display:grid;place-items:center;background:#d8d6c8;border:1px solid #b4b7a4;overflow:hidden;box-shadow:3px 5px 0 #1b2c2015}.cover img{display:block;width:100%;height:100%;object-fit:contain;background:#e0ddcf;transition:transform .2s}.record-open:hover img{transform:scale(1.025)}.cover .missing{max-width:80%;text-align:center;font:14px Georgia,serif;color:#435042}.record-artist{display:block;margin:12px 0 3px;font:10px/1.5 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--muted);overflow-wrap:anywhere}.record-open h3{font:19px/1.25 Georgia,serif;margin:0 0 7px;overflow-wrap:anywhere}.record-meta{font:11px/1.5 Arial,sans-serif;color:var(--muted);margin:0}.record-crate{display:inline-block;font:9px/1.5 'IBM Plex Mono',monospace;border-top:1px solid var(--line);margin-top:8px;padding-top:7px;color:var(--olive)}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;padding:35px 0}.pagination button{border:1px solid #8c9581;border-radius:3px;background:transparent;padding:10px 16px;min-height:44px}.pagination button:disabled{opacity:.35;cursor:default}.pagination span{font:11px 'IBM Plex Mono',monospace}footer{margin:30px 0 0;padding:35px 0 55px;border-top:1px solid var(--ink)}footer h2{font:40px Georgia,serif}footer p{max-width:800px;font:12px/1.7 Arial,sans-serif;color:var(--muted)}footer nav{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px;font-size:12px}dialog{padding:40px;border:1px solid #a2aa92;border-radius:6px;background:var(--paper);color:var(--ink);width:min(960px,94vw);max-height:90dvh;overflow:auto}dialog::backdrop{background:#071109cc;backdrop-filter:blur(5px)}.close{position:absolute;top:8px;right:10px;border:0;background:transparent;font-size:30px;line-height:1;width:44px;height:44px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.detail-grid img{width:100%;height:auto;max-height:65dvh;object-fit:contain;align-self:start}.detail-grid h2{font:34px/1.15 Georgia,serif;margin:8px 0 18px;overflow-wrap:anywhere}.detail-grid dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;font-size:12px}.detail-grid dt{color:var(--muted)}.detail-grid dd{margin:0;overflow-wrap:anywhere}.detail-grid a{display:inline-block;padding:12px 0;color:var(--rust);font-weight:bold}.detail-grid .note{font-size:11px;color:var(--muted)}@media(min-width:1250px){.records{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:850px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.search-label{grid-column:1/-1}.filters button{grid-column:1/-1}.records{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{gap:5%}.hero-record small{font-size:7px}.hero-record span{font-size:6px}}@media(max-width:580px){header{font-size:10px;padding:17px 5vw}header nav{gap:14px}main{padding:0 5vw}.hero{grid-template-columns:1fr;padding:35px 0}.hero-record{display:none}.hero h1{font-size:76px}.hero .intro{font-size:19px}.collection-stats{grid-template-columns:1fr 1fr;gap:22px}.collection-stats strong{font-size:30px}.section-heading{display:block}.section-heading h2{font-size:39px;margin-bottom:12px}.crates{gap:7px}.crates button{padding:9px;font-size:11px}.filters{gap:9px}.filters select{font-size:11px;padding:10px 5px}.records{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.record-open h3{font-size:17px}.results-heading{font-size:10px}.pagination{gap:10px}.pagination button{font-size:12px;padding:10px}.detail-grid{grid-template-columns:1fr;gap:20px}dialog{padding:46px 20px 24px}.detail-grid img{max-height:45dvh}.detail-grid h2{font-size:28px}.detail-grid dl{grid-template-columns:80px 1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cover img{transition:none}}
/* The sleeve opens into a listening desk, with one player beside the track list. */
.record-listening-link{display:block;color:var(--rust);font-size:13px;margin-top:10px;text-decoration:underline;text-underline-offset:4px}
#recordDetail{padding:0;width:min(1120px,96vw);max-height:92dvh;overscroll-behavior:contain;scroll-padding-top:70px}
.detail-closebar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:6px 20px;background:var(--paper);border-bottom:1px solid var(--line);font-size:14px}
.detail-closebar .close{position:static;display:grid;place-items:center;flex-shrink:0;color:var(--ink)}
#detailBody{padding:28px}
.detail-grid{grid-template-columns:160px minmax(0,1fr);gap:26px;align-items:start}
.detail-grid img{max-height:180px}
.detail-artist{margin:0;font-size:16px}
.detail-grid h2{margin:4px 0 16px;font-family:'Instrument Serif',Georgia,serif;font-size:clamp(28px,4vw,42px)}
.detail-grid .note,.record-listen .note{font-size:13px;line-height:1.6;color:var(--muted);max-width:70ch}
.detail-grid>a,.detail-grid div>a{font-size:14px;padding:10px 0}
.record-edition summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:14px}
.record-edition dl{font-size:14px}
.record-listen{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.record-listen h3{font:30px/1.2 'Instrument Serif',Georgia,serif;margin:0 0 8px}
.track-status{color:var(--muted);font-size:14px;margin:0 0 22px}
.record-deck{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start}
.record-deck[hidden],.record-player-links [hidden]{display:none}
.record-player{position:sticky;top:74px;min-width:0}
.record-player h4{font:20px/1.4 Georgia,serif;margin:0 0 14px;overflow-wrap:anywhere}
.record-player-frame{width:100%;min-width:0;aspect-ratio:16/9;min-height:200px;background:#e4ddcd;display:grid;place-items:center}
.record-player-frame[hidden]{display:none}
.record-player-frame iframe{width:100%;height:100%;min-height:200px;border:0;display:block}
.local-recording{display:flex;flex-direction:column;align-items:center;gap:18px;padding:20px;width:100%;min-width:0}
.local-recording img{width:100px;height:100px;object-fit:contain}
.local-recording audio{display:block;width:100%;max-width:100%}
.player-placeholder{padding:24px;max-width:30ch;text-align:center;line-height:1.6;color:#41453b}
.player-status{font-size:14px;min-height:44px;margin:14px 0 8px}
.record-player-links{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.record-player-links a,.record-player-links button,.track-status button{font-size:14px;min-height:44px;padding:10px 0;color:var(--rust)}
.record-player-links button,.track-status button{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px}
.track-list{list-style:none;margin:0;padding:0}
.track-list>li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.track-list>li:first-child{padding-top:0}
.track-description{display:grid;grid-template-columns:36px minmax(0,1fr);gap:4px 10px;min-width:0;flex:1}
.track-description strong{font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.track-position,.track-duration{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);line-height:1.9}
.track-position{grid-column:1;grid-row:1/4;overflow-wrap:anywhere}
.track-duration,.track-artist{grid-column:2}
.track-artist{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.track-list button{border:1px solid var(--olive);background:transparent;color:var(--olive);padding:10px 16px;min-height:44px;border-radius:3px;font-size:14px;flex-shrink:0}
.track-list button:hover,.track-list button[aria-current=true]{background:var(--olive);color:white}
.track-list a{max-width:110px;flex-shrink:0;font-size:13px;color:var(--rust);padding:10px 0;line-height:1.5}
.track-list .track-heading{display:block;border:0;padding:22px 0 8px}
.track-heading h4{font:18px/1.4 Georgia,serif;margin:0}
.release-recordings{margin-top:22px;font-size:14px}
.release-recordings summary{padding:12px 0;cursor:pointer}
.release-recordings button{display:block;text-align:left;min-height:44px;border:0;border-top:1px solid var(--line);padding:12px 0;width:100%;background:transparent;color:var(--rust);font-size:14px;overflow-wrap:anywhere}
#recordDetail ::selection{background:var(--olive);color:white}
#recordDetail{scrollbar-color:var(--olive) var(--paper)}
@media(max-width:700px){
  #detailBody{padding:20px}
  .detail-grid{grid-template-columns:80px minmax(0,1fr);gap:16px}
  .detail-grid img{max-height:100px}
  .detail-grid h2{font-size:28px}
  .detail-grid .note{font-size:12px}
  .detail-grid dl{grid-template-columns:1fr;gap:4px}
  .detail-grid dd{margin-bottom:8px}
  .record-deck{grid-template-columns:1fr;gap:24px}
  .record-player{position:static}
  .record-listen{margin-top:24px;padding-top:24px}
  .track-description{grid-template-columns:28px minmax(0,1fr);gap:4px 8px}
  .track-list a{max-width:80px}
}
