.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#music-library,#speaker-controls{position:fixed;z-index:40;background:linear-gradient(135deg,#f7f1e4f2,#e9deceeb);backdrop-filter:blur(22px) saturate(1.1);-webkit-backdrop-filter:blur(22px) saturate(1.1);border:1px solid #fff9;box-shadow:0 28px 100px #100b0780,inset 0 1px #fff8;color:#352d25;border-radius:24px}#music-library[hidden],#speaker-controls[hidden]{display:none}#music-library{inset:5vh max(24px,calc((100vw - 1120px)/2));max-height:90svh;display:flex;flex-direction:column;padding:26px;gap:18px;overflow:auto}.music-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.music-kicker{font-size:9px;letter-spacing:2px;color:#766651}.music-heading h2{font:34px/1.05 'Libre Caslon Display',Georgia,serif;margin:7px 0 0}.music-window-buttons{display:flex;gap:7px}.music-window-buttons button{width:36px;height:36px;border:1px solid #67513d22;border-radius:50%;background:#fff4;font-size:22px}.music-browser{min-height:0;display:flex;flex-direction:column;flex:1}.artist-tabs{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:18px}.artist-tabs button{border:1px solid #65534230;border-radius:30px;padding:9px 15px;font-size:12px;background:#fff3}.artist-tabs button[aria-pressed=true]{background:#4b3a2c;color:#f8efe0}.library-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;min-height:0;flex:1}.album-column,.song-column{min-height:0;display:flex;flex-direction:column}.music-search-label{font-size:10px;color:#71634f}#music-search{display:block;width:100%;margin:7px 0 14px;border:1px solid #8d79612a;background:#fffbf280;border-radius:12px;padding:10px 12px;font-size:12px;color:#352d25}#album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;overflow:auto;max-height:32vh;padding:3px 6px 8px 3px}.album-card{text-align:left;padding:0;border-radius:6px;align-self:start}.album-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:5px;box-shadow:0 4px 9px #30201533;transition:transform .25s}.album-card:hover img{transform:translateY(-3px)}.album-card.selected img{outline:2px solid #957442;outline-offset:3px}.album-card span{font-size:11px;display:block;margin-top:8px;line-height:1.4}.album-card small{font-size:9px;color:#85735f}#artist-channel{font-size:10px;color:#76614a;margin-top:10px}#album-heading{display:flex;align-items:center;gap:16px;padding:0 0 15px;border-bottom:1px solid #715c4126}#album-heading img{width:84px;height:84px;object-fit:cover;border-radius:5px;box-shadow:0 4px 8px #36251622}#album-heading h3{font:22px/1.15 'Libre Caslon Display',Georgia,serif;margin:8px 0}.track-count{font-size:10px;color:#85735f}#song-list{list-style:none;padding:0;margin:9px 0 0;overflow:auto;max-height:32vh}#song-list button{display:grid;grid-template-columns:23px 1fr 18px;gap:8px;align-items:center;width:100%;text-align:left;font-size:12px;line-height:1.5;padding:11px 10px;border-bottom:1px solid #796b5415;border-radius:7px}#song-list button:hover,#song-list button[aria-current=true]{background:#9877511c;color:#684923}.track-number{font-size:9px;color:#97836a}.track-arrow{font-size:9px}.listening-console{border-top:1px solid #715c4126;padding-top:18px;display:grid;grid-template-columns:minmax(280px,40%) 1fr;gap:24px;flex-shrink:0}.youtube-wrap{position:relative;background:#201b16;border-radius:12px;overflow:hidden;min-height:200px;aspect-ratio:16/9;width:100%}#youtube-player{width:100%;height:100%;min-height:200px;display:block}#player-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:#d4bfa0;font:italic 25px Georgia;background:radial-gradient(ellipse at top left,#554330,#1d1915)}#player-placeholder[hidden]{display:none}#player-placeholder span{font:10px sans-serif;letter-spacing:1px;color:#aa9982}.console-copy{align-self:center}.console-copy h3{font:22px/1.2 'Libre Caslon Display',Georgia;margin:8px 0}.console-copy p{font-size:10px;color:#80715e;margin:5px 0}#music-status{min-height:14px;line-height:1.5}.transport{display:flex;gap:8px;align-items:center;margin-top:12px}.transport button{width:32px;height:32px;border-radius:50%;background:#7b63431c;font-size:12px}.transport button:disabled{opacity:.3;cursor:default}.transport a{font-size:10px;color:#745b3c;margin-left:6px}.volume-line{display:flex;gap:10px;align-items:center;margin-top:12px;font-size:10px;max-width:320px}.speaker-volume{flex:1;min-width:50px;accent-color:#705332;cursor:pointer;height:24px}.volume-value{width:34px;text-align:right}.volume-line button{font-size:14px}#music-expand{margin-top:9px;font-size:11px;text-decoration:underline}#music-library.minimized{inset:auto 22px 88px auto;width:355px;max-height:calc(100svh - 140px);padding:14px;border-radius:19px;gap:10px}#music-library.minimized .music-browser{display:none}#music-library.minimized .music-heading h2{display:none}#music-library.minimized .listening-console{display:block;padding:0;border:0}#music-library.minimized .console-copy{padding-top:10px}#music-library.minimized .console-copy h3{font-size:17px}#music-library.minimized .youtube-wrap{min-height:200px}#music-library.minimized .music-window-buttons button{width:27px;height:27px}#music-library.minimized .console-copy>.music-kicker,#music-library.minimized #now-artist{display:none}#speaker-controls{left:25px;bottom:92px;width:290px;padding:25px;border-radius:20px;z-index:45}#speaker-close{position:absolute;right:12px;top:10px;font-size:22px}#speaker-controls h3{font:28px Georgia;margin:10px 0}#speaker-controls>button:not(#speaker-close){font-size:11px;margin:14px 7px 0 0;border:1px solid #8d796133;border-radius:20px;padding:8px 10px}#volume-note{display:block;font-size:9px;color:#86715d;margin-top:12px}.shelf-speaker{position:absolute;z-index:9;padding:7%;padding:0;border-radius:2px;background:repeating-linear-gradient(88deg,#51321e33 0 1px,#a16d3622 2px 3px),linear-gradient(100deg,#8a562e,#4b2b19 18%,#6c4124 95%,#29180e);box-shadow:5px 4px 7px #160b06a6,inset 2px 0 2px #d59c5366,inset -3px 0 3px #130b07;transition:filter .2s}.shelf-speaker:hover{filter:brightness(1.15)}.speaker-face{position:absolute;inset:5% 9% 5% 7%;background:repeating-linear-gradient(0deg,#29231e 0 1px,#211c17 1px 3px);box-shadow:inset 0 0 7px #000c;border-radius:2px}.speaker-tweeter{position:absolute;width:27%;aspect-ratio:1;top:12%;left:37%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#646058,#161513 55%,#3e3a32 58%,#111 70%);box-shadow:0 1px 3px #000}.speaker-woofer{position:absolute;width:78%;aspect-ratio:1;left:11%;top:34%;border-radius:50%;background:radial-gradient(circle at 45% 44%,#50493d 0%,#1b1915 24%,#4b453b 26%,#25231e 48%,#11100e 57%,#373127 62%,#171410 69%,#514334 71%,#17130e 74%);box-shadow:1px 2px 4px #0009}.speaker-dial{position:absolute;width:19%;aspect-ratio:1;border-radius:50%;left:40%;bottom:7%;background:conic-gradient(#b8a379,#6c5739,#d0b88a,#6c5739,#b8a379);transform:rotate(var(--dial));box-shadow:1px 1px 2px #000}.speaker-dial:after{content:'';position:absolute;left:47%;top:6%;width:8%;height:28%;background:#32291b}.speaker-light{position:absolute;width:3%;height:2%;border-radius:50%;bottom:12%;right:15%;background:#594831}.music-playing .speaker-light{background:#b7a568;box-shadow:0 0 4px #d9bd67}.vinyl-sleeve{position:absolute;z-index:8;padding:0;box-shadow:3px 2px 5px #14090588;transform-origin:50% 100%;transition:transform .45s cubic-bezier(.2,.7,.2,1);border:2px solid #503922;background:#33261a;overflow:hidden}.vinyl-sleeve img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.77) saturate(.7);transition:filter .35s}.vinyl-sleeve:after{content:'';position:absolute;inset:0;box-shadow:inset 3px 0 5px #d2b18b22,inset -2px 0 5px #0d060c66;background:linear-gradient(115deg,#e8c18708,transparent 50%,#10070420);pointer-events:none}.vinyl-sleeve span{position:absolute;left:0;right:0;bottom:0;background:#291b12cf;color:#dfc7a1;font-size:clamp(6px,.7vw,10px);padding:5% 3%;letter-spacing:1px}.vinyl-sleeve:hover{transform:translateY(-4%) rotate(-1deg)}.vinyl-sleeve:hover img{filter:brightness(.95) saturate(.85)}
@media(max-width:700px){#music-library{inset:12px;padding:18px;border-radius:20px;max-height:calc(100svh - 24px);gap:14px}.music-heading h2{font-size:27px}.artist-tabs{gap:5px}.artist-tabs button{font-size:10px;padding:8px 10px}.library-layout{grid-template-columns:1fr;gap:16px;flex:none}.music-browser{flex:none}.album-column{display:block}#album-grid{display:flex;max-height:none;overflow:auto;gap:13px;padding:5px 4px 13px}.album-card{min-width:105px;width:105px;flex-shrink:0}.album-card img{width:105px;height:105px}.album-card small{display:none}#album-heading img{width:60px;height:60px}#album-heading h3{font-size:21px}#song-list{max-height:230px}#song-list button{min-height:44px}.listening-console{grid-template-columns:1fr;gap:14px}.console-copy h3{font-size:22px}.youtube-wrap{min-height:200px}#music-library.minimized{right:10px;bottom:85px;width:min(340px,calc(100vw - 20px))}.music-search-label{font-size:10px}.speaker-volume{height:32px}}
@media(prefers-reduced-motion:reduce){.vinyl-sleeve,.album-card img{transition:none}}
/* Frosted surfaces; the room and record sleeves retain their natural materials. */
#music-library,#speaker-controls{background:linear-gradient(135deg,#f7f1e4e6,#e9deced9)}
.controls,#explore{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#f6f0e5d9;border-color:#fff6}#explore{border-radius:20px}dialog{border-radius:22px}#hint{border-radius:12px;backdrop-filter:blur(12px)}
.album-column,.song-column,.library-layout{min-width:0}@media(max-width:700px){.library-layout{grid-template-columns:minmax(0,1fr)}}
