/* One record shelf, five material treatments. All motion is optional. */
.sound-library{--shelf-paper:#f0ede5;--shelf-edge:#ddd8cc;--shelf-ink:#26352f;--shelf-radius:5px;--shelf-shadow:0 15px 24px #30271925;padding-top:145px;padding-bottom:65px;color:var(--shelf-ink)}
.sound-library-heading{padding-bottom:42px;border-bottom:1px solid var(--line,#deded8)}
.sound-eyebrow{font:11px/1.4 var(--mono,monospace);letter-spacing:.16em;margin:0 0 25px}
.sound-library-heading h1{font:clamp(48px,7.4vw,100px)/.98 Georgia,serif;letter-spacing:-.055em;margin:0;font-weight:400}
.sound-library-heading h1 em{font-weight:400;color:#718275}
.sound-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:28px}
.sound-intro p{font-size:17px;line-height:1.6;max-width:430px;margin:0;color:#647069}
.sound-intro>a{font-size:13px;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}
.sound-tools{display:flex;align-items:end;gap:24px;padding:28px 0 16px;margin:0 0 24px;border-bottom:1px solid var(--line,#deded8)}
.sound-tools label{display:flex;flex-direction:column;gap:9px;font:10px/1.4 var(--mono,monospace);text-transform:uppercase;letter-spacing:.08em}
.sound-search{flex:1}.sound-tools input,.sound-tools select{background:transparent;border:0;border-bottom:1px solid #8e978e;padding:10px 1px;font:16px/1.5 inherit;border-radius:0;color:inherit;min-height:44px;max-width:100%}
.sound-tools input{font:16px/1.5 sans-serif;width:100%}.sound-tools select{font:14px/1.5 sans-serif;min-width:140px}
.sound-results{font:12px/1.6 var(--mono,monospace);white-space:nowrap;color:#647069;margin-bottom:12px}
.sound-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:54px 34px;padding:16px 0 35px}
.sound-record{min-width:0;border-bottom:1px solid #dcded7;padding-bottom:15px;position:relative}
.sound-record[hidden]{display:none}.sound-record summary{display:block;list-style:none;cursor:pointer;outline-offset:5px}.sound-record summary::-webkit-details-marker{display:none}
.sound-object{position:relative;display:block;aspect-ratio:1.16;isolation:isolate;margin-bottom:20px;padding:9% 18% 7% 3%;overflow:visible}
.sound-sleeve{position:relative;display:block;aspect-ratio:1;background:var(--shelf-paper);border-radius:var(--shelf-radius);box-shadow:var(--shelf-shadow);transform:rotate(var(--record-tilt));transition:transform .35s ease,box-shadow .35s ease;z-index:2;border:1px solid #00000015;overflow:hidden}
.sound-sleeve img{display:block;width:100%;height:100%;object-fit:contain;aspect-ratio:1}.sound-spine{position:absolute;inset:0 auto 0 0;width:7%;font:7px/1 var(--mono,monospace);letter-spacing:.08em;writing-mode:vertical-rl;text-align:center;background:#efe8d9e6;border-right:1px solid #0002;padding:8px 0;color:#303b35;pointer-events:none}
.sound-disc{position:absolute;z-index:1;top:11%;left:16%;width:72%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,#171c19 0 2px,#303632 3px,#161a17 4px);box-shadow:0 8px 18px #0002;transform:translateX(5%);transition:transform .4s ease}
.sound-disc:before{content:'';position:absolute;inset:33%;border-radius:50%;background:hsl(var(--record-tone) 25% 67%);box-shadow:0 0 0 1px #0002}
.sound-disc:after{content:'';position:absolute;inset:47%;border-radius:50%;background:var(--shelf-paper);box-shadow:0 0 0 2px #0003}
.sound-object-cd .sound-disc{background:conic-gradient(#ddd,#b5c8b8,#ddd,#d7bada,#eee,#afc6c7,#ddd);box-shadow:0 3px 12px #0003}
.sound-object-cd .sound-disc:before{inset:38%;background:#aab0a5;box-shadow:0 0 0 1px #fff9}.sound-object-cd .sound-sleeve{border:5px solid #e0e3df;border-left:10px solid #424c46;border-radius:3px}
.sound-art-missing{display:flex;flex-direction:column;justify-content:center;height:100%;padding:20px;text-align:center;font:24px/1.1 Georgia,serif;background:var(--shelf-paper)}.sound-art-missing small{font:11px/1.4 sans-serif;margin-top:12px}
.sound-record-meta{display:flex;justify-content:space-between;font:10px/1.5 var(--mono,monospace);text-transform:uppercase;letter-spacing:.07em;color:#6c766d}
.sound-record-number{opacity:.65}.sound-record-title{display:block;font:clamp(19px,2.3vw,26px)/1.25 Georgia,serif;letter-spacing:-.025em;margin:10px 0 15px;overflow-wrap:anywhere}
.sound-open-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#647069;min-height:30px}.sound-open-symbol{font-size:25px;font-weight:300;transition:transform .3s}.sound-open-active{display:none}.sound-record[open] .sound-open-default{display:none}.sound-record[open] .sound-open-active{display:inline}.sound-record[open] .sound-open-symbol{transform:rotate(45deg)}
.sound-record[open] .sound-sleeve{transform:translateY(-8px) rotate(0);box-shadow:0 20px 25px #30271930}.sound-record[open] .sound-disc{transform:translateX(15%) rotate(20deg)}
@media(hover:hover){.sound-record summary:hover .sound-sleeve{transform:translateY(-8px) rotate(0)}.sound-record summary:hover .sound-disc{transform:translateX(15%) rotate(20deg)}}
.sound-record-body{padding-top:15px}.sound-platforms{display:grid;gap:8px}.sound-platform{display:flex;align-items:center;gap:15px;min-height:64px;border:1px solid #dde1d8;border-radius:8px;padding:10px 13px;background:#f6f7f1;text-decoration:none;color:#27372d;--platform-mark-cut:#f6f7f1}
.sound-platform svg{width:30px;height:30px;flex:none}.sound-platform>span{font-size:14px;line-height:1.3;font-weight:600}.sound-platform small{display:block;font-size:11px;font-weight:400;margin-top:3px;color:#687367}.sound-platform:hover{background:#e6ebde;border-color:#82957c;--platform-mark-cut:#e6ebde}.sound-platform-unverified{opacity:.55;background:transparent}.sound-platform-unverified:hover{background:transparent;border-color:#dde1d8}
.sound-track-count{font:11px/1.4 var(--mono,monospace);color:#6c766d;margin:12px 0 0}.sound-empty{padding:32px 0;font-size:18px;color:#647069}.sound-empty[hidden]{display:none}
.sound-shelf-notes{border-top:1px solid var(--line,#deded8);padding-top:25px;display:flex;gap:24px;max-width:800px;align-items:start}.sound-note-number{font:32px/1 Georgia,serif}.sound-shelf-notes p{font-size:12px;line-height:1.8;color:#748075;margin:0}
html[data-world="cinematic"] .sound-library{--shelf-paper:#efede7;--shelf-radius:0px;--shelf-shadow:8px 15px 0 #1c262224}.sound-records{perspective:1200px}
html[data-world="pixel"] .sound-library{--shelf-paper:#f3efd6;--shelf-radius:0px;--shelf-shadow:7px 7px 0 #292e2a}
html[data-world="pixel"] .sound-sleeve{transform:rotate(0);image-rendering:pixelated;border:2px solid #293b30}html[data-world="pixel"] .sound-library-heading h1,html[data-world="pixel"] .sound-record-title{font-family:var(--mono,monospace)}html[data-world="pixel"] .sound-platform{border-radius:0;box-shadow:3px 3px 0 #ccd2c4}
html[data-world="clay"] .sound-library{--shelf-paper:#e7cdb2;--shelf-radius:18px;--shelf-shadow:inset 0 0 0 4px #ffffff40,8px 13px 19px #71583a30}html[data-world="clay"] .sound-platform{border-radius:17px;background:#f4ebe2;border-color:#dfcdb7;--platform-mark-cut:#f4ebe2}html[data-world="clay"] .sound-library-heading h1 em{color:#a0755b}
html[data-world="imagination"] .sound-library{--shelf-paper:#e8f0d9;--shelf-radius:12px;--shelf-shadow:8px 12px 0 #d9e5cd,14px 18px 0 #edf2e7}html[data-world="imagination"] .sound-disc:before{background:hsl(var(--record-tone) 40% 72%)}html[data-world="imagination"] .sound-library-heading h1 em{color:#769052}
@media(min-width:1400px){.sound-records{grid-template-columns:repeat(4,minmax(0,1fr));gap:45px 30px}}
@media(max-width:900px){.sound-records{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 27px}.sound-library{padding-top:125px}.sound-intro{align-items:start;flex-direction:column;gap:15px}.sound-record-title{font-size:23px}}
@media(max-width:560px){.sound-library{width:calc(100% - 36px);padding-top:120px}.sound-library-heading{padding-bottom:25px}.sound-library-heading h1{font-size:49px}.sound-eyebrow{font-size:9px;margin-bottom:20px}.sound-intro p{font-size:15px}.sound-intro>a{white-space:normal}.sound-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.65fr);gap:12px;margin-bottom:14px}.sound-results{grid-column:1/-1;margin:0}.sound-tools select{min-width:0;width:100%}.sound-records{grid-template-columns:1fr;gap:30px;max-width:390px;margin:auto}.sound-object{max-width:340px;margin:0 auto 15px}.sound-record-title{font-size:25px}.sound-platforms{grid-template-columns:1fr}.sound-shelf-notes{gap:15px;margin-top:12px}.sound-shelf-notes p{font-size:11px}.sound-search input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.sound-library *{transition:none!important;animation:none!important}.sound-record summary:hover .sound-sleeve,.sound-record[open] .sound-sleeve{transform:rotate(var(--record-tilt))}.sound-record summary:hover .sound-disc,.sound-record[open] .sound-disc{transform:translateX(5%)}}
html[data-motion="off"] .sound-library *{transition:none!important;animation:none!important}

.sound-platforms{grid-template-columns:minmax(0,1fr)}.sound-platform{min-width:0;width:100%;box-sizing:border-box}.sound-platform>span{min-width:0;overflow-wrap:anywhere}

.sound-catalogue-notes{border-top:1px solid var(--line,#ddd);padding:22px 0;color:#59675b}.sound-catalogue-notes summary{cursor:pointer;font-size:16px;padding:12px 0}.sound-catalogue-notes p{max-width:760px;line-height:1.6;margin:18px 0}.sound-catalogue-notes a{text-decoration:underline}

/* Tap/keyboard-open flourish: a sleeve lift and a single disc turn, not playback. */
.sound-record[open] .sound-disc{animation:sound-disc-reveal .75s cubic-bezier(.2,.75,.2,1) both}
.sound-record[open] .sound-sleeve{animation:sound-sleeve-pop .55s ease-out both}
@keyframes sound-disc-reveal{0%{transform:translateX(5%) rotate(0)}65%{transform:translateX(20%) rotate(200deg)}100%{transform:translateX(15%) rotate(180deg)}}
@keyframes sound-sleeve-pop{0%{transform:rotate(var(--record-tilt))}55%{transform:translateY(-13px) rotate(-2deg)}100%{transform:translateY(-8px) rotate(0)}}
.sound-record summary:focus-visible{outline:2px solid currentColor;border-radius:6px}
