/* Keep the LP at the same physical scale as the horizontal decks. The taller
   cabinet owns a taller stage, independent of its lid, record or playback state. */
.deck-stage[data-deck-range=retro]{aspect-ratio:638/710}
.showcase-hero>.deck-stage[data-deck-range=retro]{width:min(1500px,100%,calc(max(270px,100svh - 365px)*2.0354));margin:0 auto}
.deck-immersive .deck-stage[data-deck-range=retro]{width:min(calc(100vw - 36px),calc((100dvh - 36px)*638/710))}
.deck-stage-placeholder[data-retro=true]{aspect-ratio:638/710}
.showcase-hero>.deck-stage-placeholder[data-retro=true]{width:min(1500px,100%,calc(max(270px,100svh - 365px)*2.0354));margin:0 auto}
/* Transparent, camera-projected hit areas: all radio controls live on the machine. */
.retro-radio{position:absolute;inset:0;z-index:6;overflow:clip;pointer-events:none;color:#e4ebdf;font:13px/1.5 system-ui;text-align:left}
.retro-radio[hidden],.retro-radio [hidden]{display:none!important}
.retro-radio:not([data-controls-ready=true]){visibility:hidden}
.retro-radio .radio-machine-key{position:absolute;display:block;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:3px;background:transparent;box-shadow:none;pointer-events:auto;cursor:pointer;touch-action:manipulation}
.retro-radio .radio-machine-key:hover{background:#c7eaba20;outline:1px solid #dcf5caad;outline-offset:1px}
.retro-radio .radio-machine-key:focus-visible{background:#c7eaba35;outline:2px solid #e0ffbd;outline-offset:2px}
.retro-radio .radio-machine-key:disabled{cursor:wait}
.retro-radio .radio-tuning-knob{border-radius:50%}
.radio-feedback{position:absolute;transform:translate(-50%,-100%);width:max-content;max-width:min(280px,calc(100% - 20px));box-sizing:border-box;padding:10px 13px;border:1px solid #bdd6a74d;border-radius:8px;background:#102017f5;box-shadow:0 6px 20px #0006;pointer-events:auto}
.radio-feedback strong{display:block;font-size:12px;font-weight:600;color:#e7f1df}
.radio-feedback p{font-size:11px;line-height:1.5;color:#bdcbb3;margin:3px 0 0}
.radio-feedback a{display:inline-block;margin-top:7px;color:#ddf7bf}
.radio-feedback button,.radio-editor button{min-height:40px;border:1px solid #b8c8a83d;border-radius:7px;background:#1b2b20;color:#dce8d3;padding:8px 12px;font:inherit;cursor:pointer}
.radio-feedback button{margin-top:9px;font-size:12px}
.radio-feedback button:disabled{opacity:.55;cursor:wait}
.radio-feedback :focus-visible{outline:2px solid #c3dba1;outline-offset:3px}
.radio-editor{width:min(620px,calc(100vw - 36px));box-sizing:border-box;max-height:calc(100dvh - 36px);padding:26px;background:#102017;color:#d8e2cf;border:1px solid #b4c5a850;border-radius:16px;font:14px/1.6 system-ui;box-shadow:0 25px 100px #0009;color-scheme:dark}.radio-editor::backdrop{background:#020a06b8}.radio-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.radio-editor h2{font-size:24px;margin:0;color:inherit}.radio-editor label{display:grid;gap:7px;margin:14px 0}.radio-editor input,.radio-editor select{min-height:44px;width:100%;box-sizing:border-box;background:#1b2b20;color:#e4ebdf;border:1px solid #b8c8a83d;border-radius:7px;padding:10px;font:inherit}.radio-editor [data-radio-results]{display:grid;gap:8px;margin:16px 0}.radio-editor [data-radio-results] button{text-align:left}.radio-editor [data-radio-reset]{background:none;font-size:12px}.retro-radio :focus-visible,.radio-editor :focus-visible{outline:2px solid #c3dba1;outline-offset:3px}
