/* Physical CD artwork and jewel cases; all rules are scoped to CD presentation. */
.cd-jewel-case{box-sizing:border-box;border:3px solid #b7c8cb80!important;border-left:12px solid #182124!important;border-radius:3px!important;box-shadow:inset 0 0 0 2px #ffffff28,3px 3px 0 #536169,5px 5px 7px #0005!important;position:relative;overflow:hidden;background:#253035}
.cd-jewel-case:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,#ffffff20 0%,#ffffff00 28%,#ffffff00 66%,#ffffff12 70%,#ffffff00 77%);box-shadow:inset 0 0 0 1px #e9ffff44}
.cd-disc-art{position:relative;border-radius:50%;background:conic-gradient(from 25deg,#dae4e5,#8c9daa 9%,#e9eeee 16%,#b5d8cf 21%,#a9b2ed 25%,#e7c593 28%,#afc6d1 33%,#77898f 48%,#dbe4e4 57%,#f1eeee 65%,#c3b9dc 73%,#a7d3c8 78%,#e0c897 83%,#b1c5d0 91%,#dae4e5);box-shadow:inset 0 0 0 1px #e2e9e7,0 8px 18px #0005;mask-image:radial-gradient(circle,#0000 0 6.25%,#000 6.6%);-webkit-mask-image:radial-gradient(circle,#0000 0 6.25%,#000 6.6%)}
.cd-disc-art:before{content:"";position:absolute;inset:32%;border:2px solid #eef8fb90;border-radius:50%;background:#b0bbc329}
.cd-printed-face{position:absolute;inset:0;border-radius:50%;overflow:hidden;mask-image:radial-gradient(circle,#0000 0 17%,#000 17.5%);-webkit-mask-image:radial-gradient(circle,#0000 0 17%,#000 17.5%)}
.cd-printed-face img{width:100%;height:100%;object-fit:cover}.cd-face-artist,.cd-face-title{position:absolute;left:15%;width:70%;text-align:center;color:#172129;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.cd-face-artist{top:21%;font-size:clamp(5px,.7vw,14px)}.cd-face-title{top:28%;font-size:clamp(5px,.8vw,16px)}.cd-face-tracks{position:absolute;top:65%;left:23%;width:54%;height:22%;display:grid;grid-auto-flow:column;grid-template-rows:repeat(10,minmax(0,1fr));column-gap:5%;overflow:hidden;color:#172129}.cd-face-tracks span{font-size:clamp(3px,.4vw,8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15}
/* The extra lid area is paint only: no layout space, camera zoom or hit target. */
.deck-stage[data-player=cd].has-physical-deck>[data-tonearm]{top:-100%;bottom:auto;height:200%;pointer-events:none}

/* One shared static asset keeps the moulded tray detailed without another renderer.
   Preserve its landscape case proportions in both the sleeve and enlarged view. */
.cd-tray{width:100%;height:auto;aspect-ratio:1000/877;background:url('./assets/jewel-case-tray.webp?v=1') center/contain no-repeat}
[data-player=cd]:not(.has-physical-deck)>.deck-plinth,[data-player=cd]:not(.has-physical-deck)>.deck-platter,[data-player=cd]:not(.has-physical-deck)>.mat,[data-player=cd]:not(.has-physical-deck)>.disc-position,[data-player=cd]:not(.has-physical-deck)>.deck-finish-body{visibility:hidden!important}
.cd-fallback{display:none;position:absolute;left:12%;right:12%;top:25%;height:50%;background:#805137;border-radius:8px;border-bottom:20px solid #493526;box-shadow:0 14px 0 #0e1519,0 24px 20px #0005;padding:12px;gap:12px;box-sizing:border-box}
[data-player=cd]:not(.has-physical-deck)>.cd-fallback{display:flex}.cd-fallback-well{position:relative;width:68%;background:radial-gradient(ellipse,#090f12 65%,#3b474c 66% 68%,#171f24 69%);border-radius:5px}.cd-fallback-disc{position:absolute;inset:5% 12%;}.cd-fallback-disc>.cd-disc-art{height:100%;width:100%}.cd-fallback-panel{flex:1;background:#121d20;padding:12px;display:flex;flex-direction:column;gap:12px;color:#c5e9aa;min-width:0}.cd-fallback-panel small{font-size:8px}.cd-fallback-panel strong{font-size:clamp(8px,1vw,15px)}.cd-fallback-panel time{margin-top:auto;font:18px monospace}
.player-choice{display:flex;gap:8px;margin:0 0 22px}.player-choice button{flex:1;min-height:52px;background:#122018;border:1px solid #71875c44;border-radius:8px;color:#cad3c4;font-family:inherit;font-size:15px;font-weight:600;padding:12px}.player-choice button[aria-pressed=true]{background:#c4d99c;color:#152017;border-color:#c4d99c}.player-choice button:disabled{opacity:.5}
.cd-console{margin-bottom:24px}.cd-console details{border-top:1px solid #a4c88630;padding:18px 0}.cd-console summary{cursor:pointer;font-size:17px;display:flex;justify-content:space-between}.cd-console summary small{color:#a2b094;font-size:13px}.cd-finish-group h3{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#a7c58a;margin:18px 0 10px}.cd-finish-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cd-finish-choice{background:#112016;border:1px solid #69855444;border-radius:6px;padding:8px;color:#cbd6c4;font-size:11px;min-width:0}.cd-finish-choice i{display:block;height:35px;background:var(--finish);border-radius:3px;margin-bottom:8px}.cd-finish-choice[data-family=wood] i{background:repeating-linear-gradient(3deg,#fff0 0 3px,#0002 4px,#fff1 5px),var(--finish)}.cd-finish-choice[data-family=metal] i{background:linear-gradient(120deg,#0005,#fff5 35%,#fff0 50%,#0004 70%,#fff3),var(--finish)}.cd-finish-choice[aria-pressed=true]{border-color:#c4d99c;box-shadow:inset 0 0 0 1px #c4d99c}.cd-console p{font-size:13px;color:#a2b094;line-height:1.6}.cd-preset-card{border:1px solid #738d5144;background:#14241b;border-radius:10px;padding:22px;text-align:left;color:#dde6d4;width:100%;margin:10px 0}.cd-preset-card strong{display:block;font:24px Georgia,serif;margin:12px 0 5px}.cd-preset-card small{color:#a4b39b}.cd-preset-card i{display:block;height:90px;background:radial-gradient(circle at 34% 46%,#c1cdd2 0 7%,#111a1e 7.3% 8%,#c5d4d7 8.5% 21%,#142023 21.5% 27%,#0000 27.5%),linear-gradient(90deg,var(--body) 0 68%,var(--panel) 68%);border-radius:6px;border-bottom:8px solid #0004;transform:perspective(400px) rotateX(20deg)}
body[data-equipment=cd] [data-vinyl-only],body[data-equipment=cd] [data-deck-range-picker],body[data-equipment=cd] .console-sections,body[data-equipment=cd] [data-vinyl-open],body[data-equipment=cd] [data-deck-presets]{display:none!important}.cd-handoff{position:fixed;inset:0;z-index:10000;pointer-events:none}.cd-handoff-case,.cd-handoff-disc{position:absolute;box-sizing:border-box}.cd-handoff-case{transform-origin:left center}.cd-handoff-disc>.room-vinyl{width:100%;height:100%}.cd-handoff-disc{transform-origin:center}
@media(max-width:600px){.cd-finish-options{grid-template-columns:repeat(3,minmax(0,1fr))}.cd-fallback-panel{padding:5px;gap:5px}.player-choice button{font-size:13px}}
