@font-face{font-family:Instrument;src:url('assets/instrument-serif.woff2') format('woff2');font-display:swap}@font-face{font-family:Instrument;src:url('assets/instrument-serif-italic.woff2') format('woff2');font-style:italic;font-display:swap}@font-face{font-family:Geist;src:url('assets/geist.woff2') format('woff2');font-display:swap}
:root{--ink:#071421;--cream:#f4eadc;--blue:#98d1fa;--muted:#97afbf;--wood:#654b49;--body:Geist,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--body)}button,a,input{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #a5dfff;outline-offset:5px}[hidden]{display:none!important}.room-glow{position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 46% 25%,#1b3546 0,#0d2030 38%,#071421 80%)}header{max-width:1280px;margin:auto;padding:28px 46px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#bfd0dc}.back-link{border:1px solid #40596a;border-radius:30px;padding:10px 16px;background:#13263766}.spotify-brand{display:flex;align-items:center;gap:9px}.spotify-brand svg{width:22px;height:22px}.spotify-brand:hover{color:#dcf7e2}main{max-width:1130px;margin:auto;padding:0 45px 34px}.room-intro{text-align:center;margin:22px 0 46px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.24em;color:#9db6c8;margin:0 0 15px}h1{font:64px/1 Instrument,Georgia,serif;margin:0;font-weight:400}h1 em{color:#9ecefa;text-shadow:0 0 30px #64a9ef66;font-weight:400}.room-intro>p:last-child{font-size:12px;color:#a9becd;margin:22px 0 0}.listening-grid{display:grid;grid-template-columns:430px minmax(0,1fr);gap:62px;align-items:center;padding:10px 0 25px}.deck-column{padding:10px 2px 0}.turntable{position:relative;filter:drop-shadow(8px 12px 12px #020a1477)}.deck-top{position:relative;height:285px;border-radius:17px 17px 7px 7px;padding:20px;background:linear-gradient(145deg,#5b4745,#7a5850 45%,#493941);border:2px solid #8d6d5e;box-shadow:inset 0 0 0 6px #362c34,inset 0 0 0 8px #9d776455}.deck-top:before{content:'';position:absolute;inset:9px;border-radius:10px;background:repeating-linear-gradient(4deg,transparent 0 8px,#eab28108 9px 10px);pointer-events:none}.deck-brand{position:absolute;top:20px;left:22px;font-size:9px;letter-spacing:.2em;color:#ecceab}.deck-brand span{margin-left:12px;font-size:7px;letter-spacing:.15em;opacity:.65}.power-light{position:absolute;right:26px;top:23px;width:5px;height:5px;border-radius:50%;background:#72b8d6;box-shadow:0 0 7px #89d7ff}.platter{position:absolute;left:25px;top:51px;width:219px;height:219px;border:6px solid #182330;border-radius:50%;background:repeating-radial-gradient(circle,#151d28 0 3px,#222d3a 4px 5px);box-shadow:0 4px 9px #080c1688,inset 0 0 0 3px #54718455;display:grid;place-items:center;transition:box-shadow .2s}.empty-spindle{position:absolute;width:10px;height:10px;border-radius:50%;background:#afbcc2;box-shadow:0 0 0 3px #3e4d60}.drop-invitation{position:absolute;bottom:47px;font-size:9px;letter-spacing:.06em;color:#789aac}.loaded-record{display:none!important;position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle,#111b27 0 2px,#263440 3px 4px,#15222d 5px 6px);box-shadow:inset 0 0 0 3px #0a131d;animation:record-spin 7s linear infinite;animation-play-state:paused}.has-record .loaded-record{display:grid!important;place-items:center}.has-record .empty-spindle,.has-record .drop-invitation{display:none}.loaded-record img{width:71px;height:71px;border-radius:50%;object-fit:cover;border:4px solid #90b4c555}.spindle{position:absolute;width:8px;height:8px;border-radius:50%;background:#b9c6cd;border:2px solid #304153}.is-playing .loaded-record{animation-play-state:running}.tonearm{position:absolute;top:64px;right:49px;transform-origin:41px 22px;width:66px;height:182px;transform:rotate(-15deg);transition:transform .8s cubic-bezier(.25,.8,.25,1)}.has-record .tonearm{transform:rotate(17deg)}.arm-pivot{position:absolute;top:0;left:20px;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,#9db0bc 0 6px,#40566b 7px 13px,#192735 14px 19px,#a4b3b5 20px);box-shadow:2px 3px 5px #172330}.arm-shaft{position:absolute;left:35px;top:25px;width:10px;height:124px;background:linear-gradient(90deg,#34485c,#c0d0cf,#839da8,#34485c);transform:rotate(7deg);transform-origin:top;border-radius:6px}.arm-head{position:absolute;left:14px;top:137px;width:25px;height:39px;transform:rotate(24deg);background:linear-gradient(90deg,#142633,#5d8296);border:2px solid #b1c4c6;border-radius:4px;box-shadow:2px 3px 5px #13202b}.speed-label{position:absolute;bottom:18px;right:20px;font-size:10px;color:#cfb89e}.speed-label span{display:block;text-transform:uppercase;font-size:7px;letter-spacing:.2em;margin-top:6px;color:#b08f7f}#deck-play{position:absolute;bottom:60px;right:32px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#334e62,#172b3b);border:2px solid #96b1b7;color:#c8e9f7;box-shadow:2px 3px 5px #201f29;font-size:13px}#deck-play:disabled{opacity:.5}.deck-front{height:55px;border:2px solid #3c3036;border-top:0;border-radius:0 0 13px 13px;background:linear-gradient(#49353b,#322b36);display:flex;align-items:center;justify-content:space-between;padding:0 23px;box-shadow:inset 0 -5px 0 #242632;color:#bc9e8c;font-size:8px;letter-spacing:.15em}.speaker-grille{width:60px;height:19px;border-radius:4px;background:radial-gradient(#121e2b 1px,transparent 2px) 0 0/5px 5px}.deck-knob{width:23px;height:23px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#a3b8bb,#3b566b);border:2px solid #1c2735}.deck-hint{text-align:center;line-height:1.6;font-size:10px;color:#8cabbd;letter-spacing:.04em;margin:21px 0 0}.listening-panel h2{font:35px/1.1 Instrument,Georgia,serif;margin:0 0 14px;overflow-wrap:anywhere}.now-description{color:#adc1ce;font-size:12px;line-height:1.8;max-width:390px;margin:0 0 22px}.destination{border:0;padding:0;margin:0 0 17px;display:flex;gap:5px}.destination legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.destination label{position:relative;font-size:11px;cursor:pointer}.destination input{position:absolute;opacity:0;width:1px;height:1px}.destination span{display:block;padding:9px 13px;border:1px solid #3b5568;border-radius:30px;color:#a5c0d2;background:#152a3a}.destination input:checked+span{background:#aac9d8;color:#132b3b;border-color:#b6dce9}.destination input:focus-visible+span{outline:3px solid #a5dfff;outline-offset:4px}.selected-links{display:flex;gap:17px;font-size:10px;margin:15px 0}.selected-links a{color:#b5d9e9;border-bottom:1px solid #496278;padding-bottom:3px}.selected-links a:hover{color:#fff}#player-status{color:#8dafc4;font-size:10px;line-height:1.6;min-height:18px;margin:17px 0 10px}.embed-panel{margin-top:15px;border:1px solid #3d566b;border-radius:14px;padding:8px;background:#102637}.embed-panel iframe{display:block;max-width:100%;width:100%;border:0;border-radius:8px}.playback-note{font-size:9px;color:#95afbf;line-height:1.6;padding:2px 6px;margin:9px 0 1px}.embed-loading{height:150px;display:grid;place-items:center;font-size:12px;color:#a4c7dc}.collection{margin-top:26px}.collection-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #2d4559;padding-bottom:14px;margin-bottom:25px}.collection-heading h2{font:28px Instrument,Georgia,serif;margin:0}.collection-heading a{font-size:10px;color:#90b3c9}.record-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:27px;row-gap:30px}.record-card{min-width:0}.record-button{position:relative;width:100%;height:165px;border:0;background:none;padding:0;display:block;isolation:isolate}.sleeve{position:absolute;left:0;top:0;width:calc(100% - 22px);height:auto;aspect-ratio:1;background:#1f3442;border:1px solid #adc8d244;box-shadow:4px 6px 9px #010a1555;transform:rotate(-2deg);transition:transform .25s}.sleeve img{width:100%;height:100%;object-fit:cover;display:block}.sleeve:after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,#fff2,transparent 30%,#0d182511 60%,#020b1833)}.sleeve-disc{position:absolute;right:0;top:9px;width:85%;aspect-ratio:1;border-radius:50%;z-index:-1;background:repeating-radial-gradient(circle,#111d2b 0 2px,#2b3b48 3px 4px,#13212d 5px 6px);border:1px solid #425568}.sleeve-disc:after{content:'';position:absolute;inset:34%;border:5px solid var(--label,#8ea9be);border-radius:50%;background:#b6d3e0;box-shadow:inset 0 0 0 12px #182c3f}.record-button:hover .sleeve,.record-button:focus-visible .sleeve{transform:translateY(-7px) rotate(-5deg)}.record-button:active .sleeve{transform:rotate(0)}.record-card h3{font-size:12px;font-weight:500;margin:12px 0 5px;line-height:1.45;overflow-wrap:anywhere}.record-card .playlist-link{font-size:9px;color:#7d9fb5}.record-card .playlist-link:hover{color:#b9e7dd}.record-card.active h3{color:#addafa}.record-card.active .sleeve{box-shadow:0 0 0 2px #91bfdd,0 0 20px #62b6ee33}.record-ghost{position:fixed;top:0;left:0;width:120px;height:120px;z-index:50;pointer-events:none;will-change:transform;filter:drop-shadow(0 0 16px #77c3ed77)}.record-ghost img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:16px solid #14232f;outline:1px solid #769bb4}.record-returning{transition:transform .3s,opacity .25s}.being-dragged .sleeve{opacity:.35}.being-dragged .sleeve-disc{opacity:.35}.dragging-record .platter{box-shadow:0 0 0 2px #8dd4f3,0 0 25px #74b9ee44}.drop-ready .platter{box-shadow:0 0 0 3px #a9e7f8,0 0 38px #72c1ff88}.record-button .sleeve{touch-action:none}footer{display:flex;justify-content:space-between;gap:22px;font-size:9px;color:#819eb3;border-top:1px solid #2d4559;padding-top:25px;margin-top:42px;line-height:1.6}.load-error{grid-column:1/-1;padding:25px;color:#b7cbd8;font-size:14px}.load-error a{text-decoration:underline}
@keyframes record-spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.listening-grid{grid-template-columns:370px minmax(0,1fr);gap:35px}.deck-top{height:260px}.platter{width:195px;height:195px;top:48px;left:21px}.tonearm{right:31px;top:51px}.deck-brand span{display:none}.record-grid{column-gap:22px}.record-button{height:135px}.record-card h3{margin-top:8px}.deck-front>span:nth-child(2){font-size:7px;letter-spacing:0}}
@media(max-width:760px){header{padding:22px 24px;font-size:10px}.spotify-brand svg{width:18px;height:18px}.back-link{padding:8px 12px}main{padding:0 25px 25px}.room-intro{margin:25px 0 35px}h1{font-size:48px}.room-intro>p:last-child{font-size:11px;margin-top:18px}.listening-grid{grid-template-columns:1fr;gap:28px;max-width:500px;margin:auto}.deck-column{max-width:390px;width:100%;margin:auto}.deck-top{height:266px}.platter{width:200px;height:200px}.tonearm{right:32px}.listening-panel{padding:0 4px}.listening-panel h2{font-size:32px}.listening-panel .eyebrow{margin-bottom:10px}.now-description{margin-bottom:17px}.collection{margin-top:36px}.collection-heading h2{font-size:25px}.collection-heading a{font-size:9px}.record-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px 17px}.record-button{height:auto;aspect-ratio:1}.sleeve{width:calc(100% - 13px)}.record-card h3{font-size:11px;line-height:1.4}.record-card .playlist-link{font-size:9px}.record-button .sleeve-disc{width:85%;top:6px}.record-ghost{width:94px;height:94px}.record-ghost img{border-width:12px}footer{font-size:8px;margin-top:33px}}
@media(max-width:420px){h1{font-size:42px}h1 em{display:block;margin-top:6px}.room-intro{margin-bottom:27px}.eyebrow{font-size:9px}.deck-top{height:239px}.platter{width:176px;height:176px;top:48px;left:17px}.tonearm{right:17px;top:42px;scale:.88}.deck-brand{left:18px;top:19px;font-size:8px}.deck-front{padding:0 17px;height:49px}.speaker-grille{width:38px}#deck-play{width:34px;height:34px;right:26px;bottom:53px}.speed-label{right:17px;font-size:8px;bottom:17px}.loaded-record img{width:61px;height:61px}.drop-invitation{font-size:8px;bottom:39px}.record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 24px}.record-card h3{font-size:12px}.sleeve{width:calc(100% - 19px)}.collection-heading h2{font-size:23px}.collection-heading a{font-size:8px}}
@media(max-width:350px){main{padding-left:18px;padding-right:18px}header{padding:18px;font-size:9px}.spotify-brand{gap:5px}.platter{width:163px;height:163px;left:14px;top:48px}.deck-top{height:224px}.tonearm{right:7px;top:34px;scale:.8}.deck-front>span:nth-child(2){font-size:6px}.record-grid{column-gap:19px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.record-button:hover .sleeve{transform:none}}
#deck-play{right:100px;bottom:23px}@media(max-width:420px){#deck-play{right:76px;bottom:17px}}@media(max-width:350px){#deck-play{right:67px;bottom:14px}}

/* Larger walnut turntable with a separately positioned transport control. */
.listening-grid{grid-template-columns:minmax(0,500px) minmax(0,1fr);gap:42px;align-items:start}.deck-column{padding-top:24px}.deck-top{height:auto;aspect-ratio:1.32;border-radius:12px 12px 3px 3px;background:linear-gradient(145deg,#72564d,#624946 52%,#493c43);border-color:#967568;box-shadow:inset 0 0 0 7px #392f36,inset 0 0 0 8px #c7a08b44}.deck-top:before{border-radius:5px;background:repeating-linear-gradient(2deg,transparent 0 4px,#dbb2990c 5px,transparent 6px 12px)}.platter{width:62%;height:auto;aspect-ratio:1;left:5%;top:15%;border:7px solid #364655;box-shadow:0 6px 12px #080c1699,inset 0 0 0 2px #9db6bf55;background:repeating-radial-gradient(circle,#131e2a 0 1px,#293745 2px,#182532 3px 5px)}.loaded-record{background:repeating-radial-gradient(circle,#101b26 0 1px,#283746 2px,#15222e 3px 5px)}.loaded-record img{width:32%;height:auto;aspect-ratio:1}.tonearm{top:18%;right:8%;width:21%;height:65%;scale:1;transform-origin:78% 10%;transform:rotate(-12deg)}.has-record .tonearm{transform:rotate(23deg)}.arm-pivot{width:42%;height:auto;aspect-ratio:1;top:0;left:57%;background:radial-gradient(circle,#d3dcda 0 13%,#5b7283 14% 37%,#26394a 38% 63%,#9eafb1 64%);box-shadow:0 3px 8px #101a29}.arm-shaft{left:75%;top:9%;height:76%;width:7%;transform:rotate(0);border-radius:3px;background:linear-gradient(90deg,#506678,#d4e0db,#91a9b7,#4b6275)}.arm-head{left:65%;top:81%;width:27%;height:16%;transform:rotate(0);border:1px solid #b1c4c6;border-radius:3px;background:linear-gradient(90deg,#1a2d3d,#426477);box-shadow:2px 4px 8px #14212e}#deck-play{right:5%;bottom:6%;width:42px;height:42px;background:linear-gradient(145deg,#7196a6,#354f62);border:1px solid #c8d5d0;box-shadow:0 3px 8px #192330;font-size:13px}.speed-label{right:18%;bottom:7%;font-size:9px}.speed-label span{display:none}.deck-front{height:45px;border-radius:0 0 9px 9px}.speaker-grille{width:85px;height:14px;opacity:.7}.deck-front>span:nth-child(2){font-size:7px}.deck-knob{width:18px;height:18px}.deck-brand{left:6%;top:6%;font-size:10px}.deck-brand span{display:inline;font-size:7px}.power-light{right:6%;top:7%}.drop-invitation{bottom:25%;font-size:10px}.deck-hint{margin-top:20px}
@media(max-width:1000px){.listening-grid{grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:28px}.deck-brand span{display:none}}
@media(max-width:760px){.listening-grid{grid-template-columns:1fr;gap:32px;max-width:540px}.deck-column{max-width:500px;padding-top:0}.listening-panel{padding:0 4px}}
@media(max-width:420px){.deck-brand{font-size:8px}.deck-top{aspect-ratio:1.2}.platter{width:64%;left:4%;top:16%;border-width:5px}.tonearm{right:6%;top:18%;height:60%}#deck-play{width:32px;height:32px;right:4%;bottom:5%;font-size:11px}.speed-label{right:18%;bottom:7%;font-size:7px}.drop-invitation{font-size:8px}.deck-front{height:37px;padding:0 16px}.speaker-grille{width:45px}.deck-front>span:nth-child(2){font-size:6px}.deck-knob{width:15px;height:15px}.deck-brand span{display:none}}

/* The stylus lands over the record, with playback-driven blue ambience. */
.tonearm{z-index:3;transition:transform 1.5s cubic-bezier(.32,.06,.21,1)}.has-record .tonearm{transform:rotate(42deg)}.arm-head{transition:translate .45s,box-shadow .45s}.arm-head:after{content:'';position:absolute;left:45%;bottom:-5px;width:2px;height:6px;background:#d1e5e9;box-shadow:0 1px 2px #061322}.has-record:not(.is-playing) .arm-head{translate:0 -3px;box-shadow:3px 7px 8px #07142099}.is-playing .arm-head{translate:0 0}.turntable:after{content:'';position:absolute;inset:-9px;border-radius:20px;pointer-events:none;z-index:-1;opacity:0;border:1px solid #82cfff77;box-shadow:0 0 24px #6bbcff66,0 0 65px #459fed44,0 0 110px #237cdb33;transition:opacity .8s}.is-playing:after{opacity:1;animation:music-halo 2.2s ease-in-out infinite}.is-playing .power-light{background:#c1f0ff;box-shadow:0 0 12px #a4eaff,0 0 24px #6abaff}.is-playing .platter{animation:platter-halo 2.2s ease-in-out infinite}.music-playing .room-glow{animation:room-music 4.4s ease-in-out infinite}
@keyframes music-halo{0%,100%{opacity:.35;box-shadow:0 0 20px #6bbcff44,0 0 45px #459fed33,0 0 80px #237cdb22}45%{opacity:1;box-shadow:0 0 35px #8cdaff77,0 0 85px #459fed55,0 0 140px #237cdb44}65%{opacity:.6}}
@keyframes platter-halo{0%,100%{box-shadow:0 6px 12px #080c1699,0 0 10px #67c3ff33}45%{box-shadow:0 6px 12px #080c1699,0 0 22px #83d5ff88}}
@keyframes room-music{0%,100%{opacity:.72}50%{opacity:1}}
