/* The cover is printed on the disc; all motion is optional and playback-driven. */
body.streaming-page .album-hero,body.streaming-page .new-album-hero{grid-template-columns:minmax(190px,290px) minmax(0,1fr);gap:36px}
body.streaming-page .album-art.vinyl-sleeve{width:100%;max-width:290px;margin:0;min-width:0;padding:16px;border:1px solid #505057;border-radius:4px;background:linear-gradient(130deg,#292a2d,#151619);box-shadow:0 12px 30px #0005;box-sizing:border-box}
.vinyl-platter{padding:7px;border:1px solid #33343a;background:#090a0c;border-radius:50%;box-shadow:inset 0 2px 9px #000}
.vinyl-disc{position:relative;isolation:isolate;aspect-ratio:1;border-radius:50%;background:#08090b;box-shadow:0 0 0 1px #686871,0 3px 8px #000;animation:cam-vinyl-turn 24s linear infinite;animation-play-state:paused;overflow:hidden}
body.streaming-page .vinyl-disc>img{display:block;width:100%;height:100%;max-width:none;border:0;border-radius:50%;object-fit:cover;filter:brightness(.8) saturate(.8);box-shadow:none!important;transform:none!important;opacity:.95}
.vinyl-disc::before{content:"";position:absolute;inset:0;z-index:1;border-radius:50%;pointer-events:none;background:repeating-radial-gradient(circle at center,transparent 0 2px,#0008 2.3px 3px,#ffffff17 3.4px 4px);box-shadow:inset 0 0 0 7px #08090c,inset 0 0 0 8px #ffffff4a}
.vinyl-disc::after{content:"";position:absolute;inset:0;z-index:2;border-radius:50%;pointer-events:none;background:conic-gradient(from 20deg,transparent 0deg,#ffffff24 42deg,transparent 78deg,transparent 180deg,#ffffff1a 235deg,transparent 280deg)}
.vinyl-label{position:absolute;inset:33%;z-index:3;border:1px solid #bab7ac;border-radius:50%;background:#e8e5dc;color:#171719;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px;padding:6px;box-shadow:0 0 0 3px #08090bbf;font-family:Arial,sans-serif;overflow:hidden}
.vinyl-label b{font-size:clamp(9px,1.2vw,14px);letter-spacing:.2em;padding-bottom:9px}.vinyl-label>span{font-size:8px;line-height:1.15;max-width:10ch;font-weight:700}.vinyl-label small{font-size:5px;letter-spacing:.06em}
.vinyl-spindle{position:absolute;top:50%;left:50%;width:9px;height:9px;transform:translate(-50%,-50%);background:#08090b;border:2px solid #b0afa8;border-radius:50%;z-index:4;box-shadow:inset 0 1px 3px #000}
body.streaming-page .vinyl-sleeve figcaption{display:flex;flex-direction:column;gap:7px;text-align:center;margin-top:16px;font:10px/1.4 Arial,sans-serif;letter-spacing:.12em;color:#c4c4cd}.vinyl-state{font-size:12px;letter-spacing:0;color:#f1f1f4}.vinyl-state::before{content:"";display:inline-block;width:5px;height:5px;border:1px solid currentColor;border-radius:50%;margin-inline-end:7px}.vinyl-sleeve.is-playing .vinyl-state::before{background:currentColor}
body.streaming-page .vinyl-motion{display:block;width:100%;margin-top:10px;border:1px solid #61616a;border-radius:8px;background:#202127;color:#eee;min-height:44px;font:12px/1.3 Arial,sans-serif;padding:8px}.vinyl-motion[hidden]{display:none!important}
.vinyl-sleeve.is-spinning .vinyl-disc{animation-play-state:running}
body.streaming-page.sound-active .vinyl-disc>img{transform:none!important;box-shadow:none!important}
body.streaming-page .library-album img.vinyl-thumb{border-radius:50%;border:3px solid #111;box-shadow:0 0 0 1px #656570;aspect-ratio:1;object-fit:cover;flex-shrink:0}
@keyframes cam-vinyl-turn{to{transform:rotate(360deg)}}
body.streaming-page .vip-section{border:1px solid #55545f;border-radius:20px;background:linear-gradient(135deg,#24242a,#141517);padding:28px!important;margin-block:32px}
.vip-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.vip-heading .eyebrow{margin:0}.vip-badge{border:1px solid #797383;color:#eee;border-radius:100px;padding:6px 11px;font:12px/1.4 Arial,sans-serif}.vip-section h2{font:550 clamp(28px,4vw,42px)/1.15 Arial,sans-serif;letter-spacing:-.035em;margin:20px 0 10px;color:#fff}.vip-section p{max-width:68ch;line-height:1.65;color:#d5d5dd}.vip-section .vip-lede{font-size:20px;color:#fff;margin:0 0 10px}.vip-details{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-block:20px;border-block:1px solid #45454f}.vip-details dt{font:600 14px/1.5 Arial,sans-serif;color:#fafafa}.vip-details dd{margin:8px 0 0;font:14px/1.65 Arial,sans-serif;color:#c8c8d2}.vip-section .vip-disclaimer,.vip-section .vip-privacy{font-size:13px}.vip-section .vip-availability{font:600 16px/1.6 Arial,sans-serif;color:#f7f7fa}.vip-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vip-actions form{flex-basis:100%}.vip-consent{display:flex;gap:12px;align-items:flex-start;padding:10px 0 18px;max-width:65ch;font:14px/1.6 Arial,sans-serif;color:#e4e4ec}.vip-consent input{flex:none;width:20px;height:20px;margin:2px 0;accent-color:#ddd0f1}.vip-actions a{display:inline-flex;align-items:center;min-height:44px;color:#f0e4ff;text-underline-offset:4px}.vip-status{min-height:1.6em}.vip-privacy a{color:#e7dbff;text-underline-offset:4px}.vip-section [hidden]{display:none!important}.vip-actions button:disabled{opacity:.6;cursor:wait}
@media(max-width:760px){body.streaming-page .album-hero,body.streaming-page .new-album-hero{grid-template-columns:minmax(150px,210px) minmax(0,1fr);gap:24px}.vip-details{grid-template-columns:1fr;gap:18px}body.streaming-page .vip-section{padding:20px!important}.vip-actions{align-items:stretch}.vip-actions>button,.vip-actions form button{width:100%}}
@media(max-width:540px){body.streaming-page .album-hero,body.streaming-page .new-album-hero{display:grid;grid-template-columns:1fr;gap:24px}body.streaming-page .album-art.vinyl-sleeve{max-width:260px;justify-self:center}body.streaming-page .album-intro{width:100%}.vinyl-label b{font-size:12px}}
@media(prefers-reduced-motion:reduce){.vinyl-disc,.vinyl-sleeve.is-spinning .vinyl-disc{animation:none!important}}
@media(forced-colors:active){body.streaming-page .album-art.vinyl-sleeve,body.streaming-page .vip-section{background:Canvas;border-color:CanvasText;box-shadow:none}.vinyl-label{background:Canvas;color:CanvasText;border-color:CanvasText}.vinyl-spindle{background:CanvasText}.vinyl-disc::before,.vinyl-disc::after{display:none}.vip-section p,.vip-details dt,.vip-details dd,.vip-section h2,.vip-state{color:CanvasText}}
/* Leave the center clear so the spindle never covers label lettering. */
.vinyl-label{display:block;padding:0}.vinyl-label b{position:absolute;inset-inline:0;top:12%;padding:0}.vinyl-label>span{position:absolute;inset-inline:10%;top:60%;max-width:none;font-size:7px}.vinyl-label small{position:absolute;inset-inline:0;bottom:8%;font-size:4px}
