/* Reference-locked PS1/PSone VJ. One live DOM screen, one shared Cthugha clock. */
.playlist-vjOverlay__srOnly{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.playlist-turntableControls__meter--cthugha{overflow:visible}.playlist-turntableControls__meter--cthugha::after,.playlist-turntableControls__visualizerCanvas{border-radius:inherit}
.playlist-vjKnob{position:absolute;z-index:8;right:-36px;left:auto;top:50%;width:32px;height:32px;padding:0;transform:translateY(-50%);border:1px solid #34363b;border-radius:50%;background:radial-gradient(circle at 34% 28%,#f7f5ee 0 11%,#b9b8b3 43%,#66686e 70%,#1d1f24 72% 100%);box-shadow:0 4px 11px rgba(0,0,0,.32),inset 0 0 0 3px rgba(255,255,255,.2);color:#111;font:800 8px/1 inherit;letter-spacing:.08em;cursor:pointer;transition:width .18s ease,height .18s ease,right .18s ease,filter .18s ease,transform .18s ease}.playlist-vjKnob::after{content:"";position:absolute;inset:5px;border:1px dashed rgba(0,0,0,.5);border-radius:50%;pointer-events:none}.playlist-turntableControls__meter .playlist-vjKnob span{position:relative;z-index:1;display:grid;place-items:center;flex:none;width:100%;height:100%;min-height:0;border-radius:0;background:transparent!important;opacity:1!important;transform:none;transition:none}.playlist-vjKnob:hover,.playlist-vjKnob:focus-visible{right:-50px;width:46px;height:46px;filter:brightness(1.1);outline:3px solid #7ee4ff;outline-offset:2px}
body.is-vjOpen{overflow:hidden;padding-right:var(--vj-scrollbar-compensation,0)}body.is-vjOpen .playlist-playerShell,body.is-vjOpen .playlist-modeBar,body.is-vjOpen .playlist-trainJazzLink,body.is-vjOpen .playlist-goHomeLink,body.is-vjOpen .playlist-paintDock{visibility:hidden!important}body.is-vjOpen #playlistTurntableVisualizerCanvas{visibility:hidden!important;opacity:0!important}body.is-vjOpen .playlist-turntableRecord,body.is-vjOpen .playlist-turntableRecord__disc,body.is-vjOpen .playlist-albumCover{animation-play-state:paused!important;transition:none!important}
.playlist-vjOverlay{position:fixed;inset:0;width:100vw;width:100dvw;height:100vh;height:100dvh;z-index:10050;color:#17171a;font-family:inherit;isolation:isolate}.playlist-vjOverlay[hidden],.playlist-vjOverlay [hidden]{display:none!important}.playlist-vjOverlay__backdrop{position:absolute;inset:0;background:rgba(3,4,7,.78);backdrop-filter:blur(4px) saturate(.55);-webkit-backdrop-filter:blur(4px) saturate(.55);cursor:zoom-out;touch-action:none}.playlist-vjOverlay__dialog{position:relative;z-index:1;width:100%;height:100%;overflow:auto;overscroll-behavior:contain;box-sizing:border-box;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(154px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:grid;place-items:start center;pointer-events:none;will-change:transform,opacity}.playlist-vjOverlay__dialog>*{pointer-events:auto}.playlist-vjOverlay[data-vj-view-state="collapsing"] .playlist-vjOverlay__dialog>*,.playlist-vjOverlay[data-vj-view-state="expanding"] .playlist-vjOverlay__dialog>*{pointer-events:none!important}.playlist-vjOverlay__dialog:focus{outline:none}.playlist-vjOverlay button,.playlist-vjOverlay input{font-family:inherit}
/* Cohesive three-dimensional product rig. */
.playlist-vjScene{position:relative;width:min(86vw,680px);aspect-ratio:680/700;perspective:1200px;perspective-origin:50% 43%;margin:0 auto;flex:none}.playlist-vjRig{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(1.5deg) rotateY(-2.5deg);transform-origin:50% 50%;filter:drop-shadow(0 22px 24px rgba(0,0,0,.58));transition:transform .26s ease}.playlist-vjMonitor3d,.playlist-vjMonitor3d__front,.playlist-vjBase3d,.playlist-vjBase3d__top{position:absolute;transform-style:preserve-3d}
.playlist-vjMonitor3d{z-index:4;left:15.5%;top:0;width:69%;aspect-ratio:930/850;transform:translateZ(54px)}.playlist-vjMonitor3d__front{inset:0;z-index:4;transform:translateZ(24px);background:#d5d0c4;border-radius:48% 48% 21% 21%/46% 46% 17% 17%}.playlist-vjMonitor3d__back{position:absolute;inset:3% 2% 1%;transform:translateZ(-34px);border-radius:48% 48% 22% 22%;background:linear-gradient(145deg,#d8d3c8,#8d897f);box-shadow:0 4px 10px rgba(0,0,0,.35)}.playlist-vjMonitor3d__side{position:absolute;z-index:2;top:14%;bottom:17%;width:26px;border-radius:12px;background:#77756f;opacity:.16;transform-origin:center}.playlist-vjMonitor3d__side--left{left:-7px;transform:rotateY(86deg) translateZ(4px)}.playlist-vjMonitor3d__side--right{right:-7px;transform:rotateY(94deg) translateZ(4px)}
.playlist-vjMonitor3d__bezelTexture{position:absolute;z-index:6;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.playlist-vjMonitor3d__speaker{position:absolute;z-index:7;bottom:0;width:27.9%;height:24.2%;object-fit:fill;pointer-events:none;filter:drop-shadow(0 2px 1px rgba(0,0,0,.25))}.playlist-vjMonitor3d__speaker--left{left:-1.5%}.playlist-vjMonitor3d__speaker--right{right:-1.3%}.playlist-vjMonitor3d__hingeTexture{position:absolute;z-index:8;left:22%;bottom:-.6%;width:56%;height:14%;object-fit:fill;pointer-events:none}
.playlist-vjScreen{position:absolute;z-index:5;left:17.85%;top:24.7%;width:61.4%;height:49.9%;overflow:hidden;border:clamp(3px,.65vmin,6px) solid #15161a;border-radius:2.5%;background:#000;box-shadow:inset 0 0 22px #000,0 0 0 1px rgba(255,255,255,.25);transform:translateZ(2px)}
.playlist-vjCompositor{--vj-video-scale:1.028;--vj-video-x:0%;--vj-video-y:0%;--vj-video-rotate:0deg;--vj-video-saturate:1;--vj-video-contrast:1;--vj-video-brightness:1;--vj-video-hue:0deg;--vj-video-blur:0px;--vj-body-opacity:.25;--vj-highlight-opacity:.16;--vj-lens-a-x:30%;--vj-lens-a-y:30%;--vj-lens-b-x:65%;--vj-lens-b-y:55%;--vj-lens-size:22%;position:absolute;inset:0;overflow:hidden;background:#000;isolation:isolate}.playlist-vjCompositor__videoReactiveShell,.playlist-vjCompositor__videoMount,.playlist-vjScreen__still,.playlist-vjScreen__startup,.playlist-vjScreen__youtube,.playlist-vjCompositor__cthughaPass,.playlist-vjScreen__glass,.playlist-vjCompositor__lensPass{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box}.playlist-vjCompositor__videoReactiveShell{z-index:1;transform-origin:center;will-change:transform,filter;transition:transform .08s linear,filter .08s linear}[data-vj-phase="previewing"] .playlist-vjCompositor__videoReactiveShell,[data-vj-phase="starting"] .playlist-vjCompositor__videoReactiveShell,[data-vj-phase="running"] .playlist-vjCompositor__videoReactiveShell,[data-vj-phase="paused"] .playlist-vjCompositor__videoReactiveShell,[data-vj-phase="restoring"] .playlist-vjCompositor__videoReactiveShell{transform:translate3d(var(--vj-video-x),var(--vj-video-y),0) rotate(var(--vj-video-rotate)) scale(var(--vj-video-scale));filter:saturate(var(--vj-video-saturate)) contrast(var(--vj-video-contrast)) brightness(var(--vj-video-brightness)) hue-rotate(var(--vj-video-hue)) blur(var(--vj-video-blur))}
.playlist-vjScreen__still,.playlist-vjScreen__startup{display:block;object-fit:contain;background:#000}.playlist-vjScreen__startup,.playlist-vjScreen__youtube{opacity:0;visibility:hidden;transition:opacity .15s linear}.playlist-vjScreen__youtube{overflow:hidden;background:#000;pointer-events:none}.playlist-vjScreen__youtube>div,.playlist-vjScreen__youtube iframe{display:block;width:100%!important;height:100%!important;border:0!important;pointer-events:none!important}[data-vj-phase="bootVideo"] .playlist-vjScreen__startup{opacity:1;visibility:visible}[data-vj-phase="bootVideo"] .playlist-vjScreen__still{opacity:0}[data-vj-phase="previewing"] .playlist-vjScreen__youtube,[data-vj-phase="starting"] .playlist-vjScreen__youtube,[data-vj-phase="running"] .playlist-vjScreen__youtube,[data-vj-phase="paused"] .playlist-vjScreen__youtube,[data-vj-phase="restoring"] .playlist-vjScreen__youtube{opacity:1;visibility:visible}[data-vj-phase="previewing"] .playlist-vjScreen__still,[data-vj-phase="starting"] .playlist-vjScreen__still,[data-vj-phase="running"] .playlist-vjScreen__still,[data-vj-phase="paused"] .playlist-vjScreen__still,[data-vj-phase="restoring"] .playlist-vjScreen__still{opacity:0}
.playlist-vjCompositor__lensPass{z-index:2;opacity:0;pointer-events:none}.playlist-vjCompositor__lens{position:absolute;width:var(--vj-lens-size);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.12),rgba(95,145,255,.05) 46%,transparent 72%);backdrop-filter:saturate(1.32) contrast(1.12) blur(1.2px);-webkit-backdrop-filter:saturate(1.32) contrast(1.12) blur(1.2px);box-shadow:inset 0 0 18px rgba(255,255,255,.12);transform:translate(-50%,-50%)}.playlist-vjCompositor__lens--a{left:var(--vj-lens-a-x);top:var(--vj-lens-a-y)}.playlist-vjCompositor__lens--b{left:var(--vj-lens-b-x);top:var(--vj-lens-b-y);transform:translate(-50%,-50%) scale(.72)}.playlist-vjCompositor__lens--c{left:calc(100% - var(--vj-lens-a-x));top:calc(100% - var(--vj-lens-b-y));transform:translate(-50%,-50%) scale(.46)}
.playlist-vjCompositor__cthughaPass{z-index:3;opacity:0;visibility:hidden;pointer-events:none;image-rendering:auto}.playlist-vjCompositor__cthughaPass--body{mix-blend-mode:soft-light}.playlist-vjCompositor__cthughaPass--highlight{z-index:4;mix-blend-mode:screen;filter:contrast(1.4)}[data-vj-phase="previewing"] .playlist-vjCompositor__lensPass,[data-vj-phase="starting"] .playlist-vjCompositor__lensPass,[data-vj-phase="running"] .playlist-vjCompositor__lensPass,[data-vj-phase="paused"] .playlist-vjCompositor__lensPass{opacity:1}[data-vj-phase="previewing"] .playlist-vjCompositor__cthughaPass,[data-vj-phase="starting"] .playlist-vjCompositor__cthughaPass,[data-vj-phase="running"] .playlist-vjCompositor__cthughaPass,[data-vj-phase="paused"] .playlist-vjCompositor__cthughaPass{visibility:visible}[data-vj-phase="previewing"] .playlist-vjCompositor__cthughaPass--body,[data-vj-phase="starting"] .playlist-vjCompositor__cthughaPass--body,[data-vj-phase="running"] .playlist-vjCompositor__cthughaPass--body,[data-vj-phase="paused"] .playlist-vjCompositor__cthughaPass--body{opacity:var(--vj-body-opacity)}[data-vj-phase="previewing"] .playlist-vjCompositor__cthughaPass--highlight,[data-vj-phase="starting"] .playlist-vjCompositor__cthughaPass--highlight,[data-vj-phase="running"] .playlist-vjCompositor__cthughaPass--highlight,[data-vj-phase="paused"] .playlist-vjCompositor__cthughaPass--highlight{opacity:var(--vj-highlight-opacity)}.playlist-vjCompositor[data-vj-display="1"] .playlist-vjCompositor__cthughaPass--body{mix-blend-mode:overlay}.playlist-vjCompositor[data-vj-display="2"] .playlist-vjCompositor__cthughaPass--highlight{mix-blend-mode:difference}.playlist-vjCompositor[data-vj-display="3"] .playlist-vjCompositor__cthughaPass--body{mix-blend-mode:color-dodge}.playlist-vjCompositor[data-vj-display="4"] .playlist-vjCompositor__cthughaPass--body{mix-blend-mode:hard-light}.playlist-vjCompositor[data-vj-display="5"] .playlist-vjCompositor__cthughaPass--highlight{mix-blend-mode:lighten}
.playlist-vjScreen__glass{z-index:5;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.13),transparent 22%,transparent 70%,rgba(118,170,255,.06)),repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px);box-shadow:inset 0 0 24px rgba(0,0,0,.5)}.playlist-vjScreen__theater{position:absolute;z-index:9;right:5px;top:5px;width:36px;height:36px;border:1px solid rgba(255,255,255,.55);border-radius:8px;background:rgba(0,0,0,.62);color:#fff;font:700 18px/1 inherit;cursor:pointer}.playlist-vjScreen__status{position:absolute;z-index:8;left:5px;bottom:4px;max-width:calc(100% - 10px);padding:4px 7px;border-radius:5px;background:rgba(0,0,0,.68);color:#fff;font-size:clamp(8px,1.15vmin,11px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.playlist-vjBase3d{z-index:3;left:2%;top:53%;width:96%;height:43%;transform:translateZ(5px)}.playlist-vjBase3d__top{z-index:5;inset:0;transform-origin:50% 0;transform:rotateX(49deg) translateZ(24px);border-radius:9% 9% 12% 12%;background:#aaa9ad;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 4px 6px rgba(0,0,0,.3)}.playlist-vjBase3d__front{position:absolute;z-index:2;left:3%;right:3%;bottom:1%;height:22%;transform:translateZ(-12px);border-radius:0 0 22px 22px;background:linear-gradient(#a7a7ac,#77787f 72%,#5f6067);box-shadow:0 12px 16px rgba(0,0,0,.43)}.playlist-vjBase3d__front::before,.playlist-vjBase3d__front::after{content:"";position:absolute;bottom:20%;width:35%;height:32%;border:1px solid rgba(45,45,50,.55);border-radius:4px;background:linear-gradient(#9b9ca2,#73747a);box-shadow:inset 0 -4px 8px rgba(0,0,0,.22)}.playlist-vjBase3d__front::before{left:9%}.playlist-vjBase3d__front::after{right:9%}.playlist-vjBase3d__side{position:absolute;z-index:1;top:7%;bottom:4%;width:8%;background:linear-gradient(90deg,#77787f,#a8a8ad);transform-origin:center}.playlist-vjBase3d__side--left{left:0;transform:rotateY(78deg) translateZ(-5px)}.playlist-vjBase3d__side--right{right:0;transform:rotateY(102deg) translateZ(-5px)}
.playlist-vjBase3d__texture{position:absolute;z-index:6;top:0;height:100%;object-fit:fill;pointer-events:none}.playlist-vjBase3d__texture--left{left:0;width:33.34%}.playlist-vjBase3d__texture--right{right:0;width:33.34%}.playlist-vjBase3d__texture--rear{z-index:5;left:27.9%;top:0;width:44.2%;height:21.1%}.playlist-vjTray3d{position:absolute;z-index:4;left:20.4%;top:4%;width:59.5%;aspect-ratio:1;border-radius:50%;transform:translateZ(9px);background:radial-gradient(circle at 46% 42%,#4b4c52 0 7%,#212228 8% 13%,#85868c 14% 66%,#595a60 67% 74%,#999a9f 75% 100%);box-shadow:inset 0 10px 22px rgba(0,0,0,.56),0 0 0 2px rgba(34,34,39,.52)}.playlist-vjDisc3d{position:absolute;z-index:2;inset:7%;width:86%;height:86%;object-fit:contain;border-radius:50%;transform:translateZ(12px);box-shadow:0 6px 9px rgba(0,0,0,.42);animation:vjDiscTurn 12s linear infinite;pointer-events:none}@keyframes vjDiscTurn{to{transform:translateZ(12px) rotate(360deg)}}
.playlist-vjLink{position:absolute;z-index:7;left:14%;right:14%;top:17%;display:flex;align-items:center;gap:5px;color:#15161a;cursor:text;transform:translateZ(34px)}.playlist-vjLink>span[aria-hidden="true"]{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:rgba(247,247,243,.93);box-shadow:0 2px 5px rgba(0,0,0,.25);font:800 13px/1 inherit}.playlist-vjLink input{display:block;width:100%;box-sizing:border-box;min-height:38px;padding:8px 11px;border:1px solid #34363d;border-radius:8px;background:rgba(250,250,246,.95);color:#111;font:600 16px/1.1 inherit;box-shadow:0 3px 8px rgba(0,0,0,.3);outline:none}.playlist-vjLink input:focus{border-color:#3655ca;box-shadow:0 0 0 3px rgba(80,114,255,.34),0 3px 8px rgba(0,0,0,.3)}
.playlist-vjLid3d{position:absolute;z-index:9;left:17.9%;top:1.5%;width:64.2%;aspect-ratio:1;transform:translate3d(55%,0,38px) rotateZ(1.5deg);transition:transform .74s cubic-bezier(.26,.02,.15,1),filter .74s ease;filter:drop-shadow(-8px 9px 7px rgba(0,0,0,.38));pointer-events:none}.playlist-vjLid3d img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}[data-vj-lid="closing"] .playlist-vjLid3d,[data-vj-lid="closed"] .playlist-vjLid3d{transform:translate3d(0,0,40px) rotateZ(0);filter:drop-shadow(0 7px 5px rgba(0,0,0,.34))}[data-vj-lid="openingRight"] .playlist-vjLid3d,[data-vj-lid="openRight"] .playlist-vjLid3d{transform:translate3d(55%,0,38px) rotateZ(1.5deg)}[data-vj-lid="closing"] .playlist-vjLink,[data-vj-lid="closed"] .playlist-vjLink{opacity:0;visibility:hidden;pointer-events:none}
.playlist-vjHardwareControls{position:absolute;z-index:12;inset:0;pointer-events:none;transform-style:preserve-3d}.playlist-vjHardwareButton{position:absolute;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;pointer-events:auto;transform:translateZ(45px);transition:transform .12s ease,filter .12s ease}.playlist-vjHardwareButton img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.playlist-vjHardwareButton--start{left:8%;top:54%;width:9.2%;aspect-ratio:1}.playlist-vjHardwareButton--power{left:5.8%;top:69%;width:16.5%;aspect-ratio:1}.playlist-vjHardwareButton--open{right:5.2%;top:69%;width:16.5%;aspect-ratio:1}.playlist-vjHardwareButton:active{transform:translateZ(41px)}.playlist-vjHardwareButton:disabled{cursor:not-allowed;filter:grayscale(.45) brightness(.76)}.playlist-vjHardwareButton:focus-visible,.playlist-vjHardwareButton:not(:disabled):hover{outline:3px solid #7ee4ff;outline-offset:2px;filter:brightness(1.08)}.playlist-vjHardwareTooltip{position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);padding:4px 7px;border-radius:5px;background:#101116;color:#fff;font:800 9px/1 inherit;letter-spacing:.1em;opacity:0;visibility:hidden;pointer-events:none}.playlist-vjHardwareButton--start:hover .playlist-vjHardwareTooltip,.playlist-vjHardwareButton--start:focus-visible .playlist-vjHardwareTooltip{opacity:1;visibility:visible}.playlist-vjReuse{position:absolute;z-index:15;left:50%;bottom:-9%;transform:translateX(-50%) translateZ(25px);width:max-content;min-height:28px;padding:4px 10px;border:1px solid rgba(55,56,62,.72);border-radius:6px;background:rgba(229,227,219,.97);color:#202126;font:750 9px/1 inherit;letter-spacing:.04em;cursor:pointer}.playlist-vjReuse:disabled{opacity:.38;cursor:not-allowed}
/* Local-only overlay and yaw prove texture alignment and depth. */
.playlist-vjReferenceDebug{display:none;position:absolute;z-index:100;inset:0;pointer-events:none}html.is-vj3dReferenceDebug .playlist-vjReferenceDebug{display:block}.playlist-vjReferenceDebug img{position:absolute;opacity:.38;object-fit:contain;mix-blend-mode:difference}.playlist-vjReferenceDebug [data-vj-reference-monitor]{left:15.5%;top:0;width:69%;height:62%}.playlist-vjReferenceDebug [data-vj-reference-base]{left:2%;top:53%;width:96%;height:43%}html[data-vj-debug-yaw="positive"] .playlist-vjRig{transform:rotateX(2deg) rotateY(9deg)}html[data-vj-debug-yaw="negative"] .playlist-vjRig{transform:rotateX(2deg) rotateY(-9deg)}
.playlist-vjVinylDock,.playlist-vjWheelDock{position:fixed;z-index:12;bottom:max(14px,calc(env(safe-area-inset-bottom) + 2px));box-sizing:border-box;border:1px solid rgba(116,116,111,.88);box-shadow:0 8px 24px rgba(0,0,0,.46),inset 0 1px rgba(255,255,255,.7)}.playlist-vjVinylDock{--vj-mini-deck-color:#d8c9b2;left:max(14px,calc(env(safe-area-inset-left) + 2px));width:clamp(218px,31vw,360px);min-height:126px;border-radius:62px 18px 18px 62px;padding:14px 13px 11px 126px;background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(0,0,0,.1)),var(--vj-mini-deck-color);display:grid;align-content:center;gap:7px;transition:transform .26s ease,opacity .26s ease,background .2s ease}.playlist-vjVinylDock.is-attention{animation:vjAttention .55s ease 2}@keyframes vjAttention{50%{box-shadow:0 0 0 4px #7ee4ff,0 8px 24px rgba(0,0,0,.46)}}.playlist-vjVinylDock__record{position:absolute;left:10px;top:9px;width:108px;aspect-ratio:1;border-radius:50%;background-color:#15161a;background-position:center;background-size:cover;background-repeat:no-repeat;transform:rotate(var(--vj-mini-record-angle,0deg));box-shadow:0 4px 10px rgba(0,0,0,.55);cursor:grab;touch-action:none;overflow:hidden}.playlist-vjVinylDock__record::before{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 4px,rgba(0,0,0,.16) 5px 6px),linear-gradient(115deg,rgba(255,255,255,.22),transparent 28%,transparent 70%,rgba(255,255,255,.1));mix-blend-mode:multiply;pointer-events:none}.playlist-vjVinylDock__record::after{content:"";position:absolute;left:50%;top:50%;width:8%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:#d7d4cb;box-shadow:0 0 0 2px rgba(22,22,24,.8);pointer-events:none}.playlist-vjVinylDock__record span{position:absolute;inset:0;border-radius:50%;pointer-events:none}.playlist-vjVinylDock__record.is-scratching{cursor:grabbing;filter:saturate(1.15) brightness(1.05)}
.playlist-vjVinylDock__meta{min-width:0;display:grid;gap:1px}.playlist-vjVinylDock__meta>span{font-size:8px;font-weight:800;letter-spacing:.14em}.playlist-vjVinylDock__meta strong,.playlist-vjVinylDock__meta small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-vjVinylDock__meta strong{font-size:13px}.playlist-vjVinylDock__meta small{font-size:10px;color:#383940}.playlist-vjVinylDock__controls{display:flex;align-items:center;gap:5px}.playlist-vjVinylDock__controls button{width:30px;height:30px;padding:0;border:1px solid rgba(40,40,43,.6);border-radius:50%;background:rgba(255,255,255,.76);color:#111;font:800 13px/1 inherit;cursor:pointer}.playlist-vjVinylDock__controls input[type="range"]{min-width:0;width:72px}.playlist-vjVinylDock__controls input[type="color"]{width:30px;height:28px;padding:1px;border:1px solid rgba(40,40,43,.6);border-radius:7px;background:rgba(255,255,255,.72)}.playlist-vjVinylDock__hide{display:none;position:absolute;right:10px;top:8px;width:54px;height:25px;padding:0;border:1px solid rgba(55,56,61,.58);border-radius:6px;background:rgba(238,236,228,.9);box-shadow:0 2px 5px rgba(0,0,0,.17);color:#24252a;font:700 9px/1 inherit;letter-spacing:.1em;cursor:pointer}.playlist-vjVinylPill{display:none;position:fixed;z-index:13;left:max(14px,calc(env(safe-area-inset-left) + 2px));bottom:max(14px,calc(env(safe-area-inset-bottom) + 2px));min-width:104px;height:30px;padding:0 12px;border:1px solid rgba(220,220,215,.68);border-radius:7px;background:rgba(28,29,34,.88);box-shadow:0 4px 12px rgba(0,0,0,.36);color:#f5f3ec;font:700 9px/1 inherit;letter-spacing:.1em;cursor:pointer;transition:opacity .35s ease,filter .2s ease}.playlist-vjVinylPill span{font-size:11px;margin-right:4px}.playlist-vjVinylPill.is-sleeping{opacity:.32}.playlist-vjVinylPill:hover,.playlist-vjVinylPill:focus-visible{opacity:1;filter:brightness(1.2)}
.playlist-vjWheelDock{right:max(14px,calc(env(safe-area-inset-right) + 2px));width:clamp(122px,22vw,210px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#24272e 0 29%,#b7b6b0 30% 33%,#dcdad2 34% 66%,#888 67% 70%,#22242b 71%);overflow:visible}.playlist-vjWheelDock__hub{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border:2px solid #ddd;border-radius:50%;background:#15171c;color:#fff;font:800 11px/1 inherit;cursor:pointer;transition:opacity .35s ease}.playlist-vjWheelDock__hub.is-sleeping{opacity:.32}.playlist-vjWheelDock__actions{position:absolute;inset:0}.playlist-vjWheelDock__actions button{--vj-angle:0deg;position:absolute;left:50%;top:50%;width:32px;height:32px;margin:-16px;border:1px solid #45464c;border-radius:50%;background:#f7f6f0;color:#18191d;font:800 10px/1 inherit;transform:rotate(var(--vj-angle)) translateX(clamp(40px,7.3vw,78px)) rotate(calc(-1 * var(--vj-angle)));cursor:pointer}.playlist-vjWheelDock[data-collapsed="true"] .playlist-vjWheelDock__actions{display:none}.playlist-vjTooltip{position:fixed;z-index:10056;max-width:180px;padding:6px 9px;border-radius:8px;background:#111;color:#fff;font:700 11px/1.25 inherit;pointer-events:none;box-shadow:0 3px 10px rgba(0,0,0,.4)}.playlist-vjOverlay__exitTheater{position:fixed;z-index:20;right:max(14px,calc(env(safe-area-inset-right) + 8px));top:max(14px,calc(env(safe-area-inset-top) + 8px));width:46px;height:46px;border:1px solid rgba(255,255,255,.72);border-radius:9px;background:rgba(0,0,0,.72);color:#fff;font:300 31px/1 inherit;cursor:pointer}.playlist-vjOverlay__resume{position:fixed;z-index:21;left:50%;top:50%;transform:translate(-50%,-50%);padding:14px 22px;border:2px solid #fff;border-radius:999px;background:#111;color:#fff;font:800 14px/1 inherit;cursor:pointer}.playlist-vjScreen__theater:focus-visible,.playlist-vjVinylDock button:focus-visible,.playlist-vjVinylDock__record:focus-visible,.playlist-vjWheelDock button:focus-visible,.playlist-vjOverlay__exitTheater:focus-visible{outline:3px solid #7ee4ff;outline-offset:3px}
[data-vj-view="theater"] .playlist-vjOverlay__dialog{overflow:hidden;padding:0}[data-vj-view="theater"] .playlist-vjScene{position:fixed;z-index:4;inset:max(8px,2vmin);width:auto;aspect-ratio:auto;margin:0;perspective:none}[data-vj-view="theater"] .playlist-vjRig{inset:0;transform:none;filter:none}[data-vj-view="theater"] .playlist-vjMonitor3d{position:absolute;inset:0;width:auto;aspect-ratio:auto;transform:none}[data-vj-view="theater"] .playlist-vjMonitor3d__front{inset:0;transform:none;border-radius:14px;background:#111;box-shadow:0 0 0 1px rgba(255,255,255,.22),0 10px 50px rgba(0,0,0,.75)}[data-vj-view="theater"] .playlist-vjScreen{inset:0;width:auto;height:auto;border-width:clamp(3px,.6vmin,8px);border-radius:13px;transform:none}[data-vj-view="theater"] .playlist-vjMonitor3d__back,[data-vj-view="theater"] .playlist-vjMonitor3d__side,[data-vj-view="theater"] .playlist-vjMonitor3d__bezelTexture,[data-vj-view="theater"] .playlist-vjMonitor3d__speaker,[data-vj-view="theater"] .playlist-vjMonitor3d__hingeTexture,[data-vj-view="theater"] .playlist-vjBase3d{display:none}[data-vj-view="theater"] .playlist-vjScreen__theater{display:none!important;visibility:hidden!important;pointer-events:none!important}[data-vj-view="theater"] .playlist-vjVinylDock__hide{display:block}[data-vj-view="theater"][data-vj-vinyl-hidden="true"] .playlist-vjVinylDock{display:none}[data-vj-view="theater"][data-vj-vinyl-hidden="true"] .playlist-vjVinylPill{display:block}
@media (max-width:900px){.playlist-vjScene{width:min(94vw,620px)}.playlist-vjReuse{bottom:-12%}}
@media (max-width:900px){.playlist-vjScene{width:min(80vw,620px);transform:translateX(-4vw)}[data-vj-view="theater"] .playlist-vjScene{transform:none}}
@media (max-width:700px){.playlist-vjOverlay__dialog{padding-bottom:max(132px,env(safe-area-inset-bottom))}.playlist-vjScene{width:min(96vw,540px)}.playlist-vjVinylDock{width:min(58vw,250px);min-height:110px;padding:11px 9px 9px 96px;border-radius:54px 14px 14px 54px}.playlist-vjVinylDock__record{width:88px;left:8px;top:10px}.playlist-vjVinylDock__meta strong{font-size:11px}.playlist-vjVinylDock__meta small{font-size:9px}.playlist-vjVinylDock__controls{gap:3px}.playlist-vjVinylDock__controls button{width:27px;height:27px}.playlist-vjVinylDock__controls input[type="range"]{width:45px}.playlist-vjVinylDock__controls input[type="color"]{width:26px;height:26px}.playlist-vjWheelDock{width:min(34vw,140px)}.playlist-vjWheelDock__actions button{width:28px;height:28px;margin:-14px;transform:rotate(var(--vj-angle)) translateX(clamp(39px,11vw,54px)) rotate(calc(-1 * var(--vj-angle)))}.playlist-vjWheelDock__hub{width:42px;height:42px}}
@media (max-width:700px){.playlist-vjScene{width:min(80vw,540px);transform:translateX(-5vw)}[data-vj-view="theater"] .playlist-vjScene{transform:none}}
@media (max-width:430px){.playlist-vjKnob:hover,.playlist-vjKnob:focus-visible{right:-44px;width:40px;height:40px}.playlist-vjScene{width:min(78vw,340px)}.playlist-vjMonitor3d{left:13%;width:74%}.playlist-vjBase3d{left:0;width:100%;top:54%}.playlist-vjVinylDock{left:max(12px,env(safe-area-inset-left));width:58vw;min-height:101px;padding-left:79px}.playlist-vjVinylDock__record{width:70px;top:15px}.playlist-vjVinylDock__controls input[type="range"]{display:none}.playlist-vjWheelDock{right:max(12px,env(safe-area-inset-right));width:35vw;max-width:130px}.playlist-vjReuse{bottom:-15%;max-width:92px}.playlist-vjLink{left:10%;right:10%;top:13%}}
@media (max-width:430px){.playlist-vjScene{transform:translateX(-5vw)}[data-vj-view="theater"] .playlist-vjScene{transform:none}}
@media (max-height:650px) and (min-width:650px){.playlist-vjOverlay__dialog{place-items:start center;padding-bottom:118px}.playlist-vjScene{width:min(88vh,560px)}.playlist-vjVinylDock{transform:scale(.86);transform-origin:left bottom}.playlist-vjWheelDock{transform:scale(.82);transform-origin:right bottom}}
@media (prefers-reduced-motion:reduce){.playlist-vjKnob,.playlist-vjLid3d,.playlist-vjVinylPill,.playlist-vjWheelDock__hub,.playlist-vjCompositor__videoReactiveShell,.playlist-vjRig{transition-duration:.1s}.playlist-vjDisc3d{animation:none}}

/* Keep the launcher rings and label on one shared center at every responsive size. */
.playlist-vjKnob{
  -webkit-appearance:none;
  appearance:none;
  box-sizing:border-box;
  display:grid;
  place-items:center;
  font-family:inherit;
  font-size:12px;
  font-style:normal;
  font-weight:800;
  line-height:1;
  text-align:center;
}
.playlist-turntableControls__meter .playlist-vjKnob span{
  position:absolute;
  inset:auto;
  left:50%;
  top:50%;
  display:grid;
  place-items:center;
  width:100%;
  height:1em;
  min-height:0;
  font:inherit;
  letter-spacing:.08em;
  text-indent:.08em;
  line-height:1;
  transform:translate(-50%,calc(-50% - .25px));
  transform-origin:center;
}

/* Revision 5 corrective geometry: compact monitor, closed chassis, real front bays, and safe lid dock. */
.playlist-vjScene{
  width:min(88vw,680px);
  aspect-ratio:680/700;
  perspective:1250px;
  perspective-origin:50% 42%;
}
.playlist-vjRig{
  transform:rotateX(2deg) rotateY(0deg);
  filter:none;
}
.playlist-vjMonitor3d,
.playlist-vjMonitor3d__front,
.playlist-vjBase3d,
.playlist-vjBase3d__volume,
.playlist-vjBase3d__top{
  transform-style:preserve-3d;
}

/* The production monitor crop uses one normalized 730 × 650 coordinate system. */
.playlist-vjMonitor3d{
  left:19%;
  top:0;
  width:62%;
  aspect-ratio:730/650;
  transform:translateZ(64px);
}
.playlist-vjMonitor3d__front{
  inset:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.playlist-vjMonitor3d__back{
  inset:1.5% 1% 5%;
  border-radius:12% 12% 18% 18%;
  clip-path:polygon(8% 0,92% 0,100% 9%,95% 79%,84% 92%,16% 92%,5% 79%,0 9%);
  background:linear-gradient(145deg,#d9d5ca,#8f8b82);
}
.playlist-vjMonitor3d__side{
  top:10%;
  bottom:19%;
  width:18px;
  opacity:.42;
}
.playlist-vjMonitor3d__side--left{left:1%;transform:rotateY(88deg) translateZ(3px)}
.playlist-vjMonitor3d__side--right{right:1%;transform:rotateY(92deg) translateZ(3px)}
.playlist-vjMonitor3d__bezelTexture{inset:0;width:100%;height:100%;object-fit:fill}
.playlist-vjScreen{
  left:9.05%;
  top:9.25%;
  width:78.2%;
  height:65.2%;
  border-width:clamp(3px,.48vmin,5px);
  border-radius:2%;
}
.playlist-vjMonitor3d__speaker{
  bottom:0;
  width:35.6%;
  height:31.5%;
}
.playlist-vjMonitor3d__speaker--left{left:-16.4%}
.playlist-vjMonitor3d__speaker--right{right:-15%}
.playlist-vjMonitor3d__hingeTexture{
  left:14.4%;
  bottom:-10%;
  width:71.2%;
  height:14%;
}

/* The base volume itself fills the body; the dark tray remains circular and bounded. */
.playlist-vjBase3d{
  z-index:12;
  left:2%;
  top:52%;
  width:96%;
  height:43%;
  transform:translateZ(4px);
}
.playlist-vjBase3d__volume{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,transparent 0 33%,#aaa9ad 33% 61%,#939399 61% 83%,#74757b 83% 98%,transparent 98%);
}
.playlist-vjBase3d__volume::before{
  content:"";
  position:absolute;
  z-index:0;
  left:2.5%;
  right:2.5%;
  top:34%;
  bottom:2%;
  border-radius:8% 8% 5% 5% / 12% 12% 8% 8%;
  background:linear-gradient(110deg,#8c8d92,#b4b4b7 22%,#a4a4a9 76%,#7b7c82);
  box-shadow:inset 0 1px rgba(255,255,255,.5),inset 0 -8px 14px rgba(31,32,37,.18);
  pointer-events:none;
}
.playlist-vjBase3d__top{
  z-index:5;
  inset:0;
  height:auto;
  transform-origin:50% 0;
  transform:rotateX(65deg) translateZ(24px);
  border-radius:9% 9% 8% 8%;
  background:#a9a9ad;
}
.playlist-vjBase3d__front{
  left:2.5%;
  right:2.5%;
  top:56%;
  bottom:auto;
  height:30%;
  z-index:3;
  overflow:visible;
  transform:translateZ(120px);
  border-radius:3% 3% 7% 7% / 8% 8% 18% 18%;
  background:linear-gradient(#aaa9ad 0 10%,#99999e 11% 62%,#74757a 63% 88%,#5e5f64 89% 100%);
  box-shadow:inset 0 1px rgba(244,244,240,.62),inset 0 -5px 9px rgba(38,39,44,.24),0 8px 10px rgba(0,0,0,.24);
}
.playlist-vjBase3d__front::before,
.playlist-vjBase3d__front::after{content:none}
.playlist-vjBase3d__frontSeam{
  position:absolute;
  z-index:4;
  left:1%;
  right:1%;
  top:8%;
  height:1px;
  background:rgba(44,45,50,.52);
  box-shadow:0 1px rgba(236,236,232,.34);
}
.playlist-vjBase3d__frontWing{
  position:absolute;
  top:9%;
  bottom:15%;
  width:25.5%;
  border:1px solid rgba(75,76,81,.38);
  background:linear-gradient(105deg,rgba(244,244,240,.2),rgba(76,77,82,.08));
}
.playlist-vjBase3d__frontWing--left{left:1%;border-radius:9px 2px 3px 12px}
.playlist-vjBase3d__frontWing--right{
  right:1%;
  border-radius:2px 9px 12px 3px;
  background:
    repeating-linear-gradient(90deg,transparent 0 7px,rgba(61,62,68,.33) 7px 8px) right 10% bottom 18%/31% 17% no-repeat,
    linear-gradient(255deg,rgba(244,244,240,.2),rgba(76,77,82,.08));
}
.playlist-vjFrontFascia{
  position:absolute;
  z-index:6;
  left:27%;
  top:7%;
  width:46%;
  height:79%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);
  align-items:stretch;
  gap:3.5%;
  padding:2% 2.2% 3%;
  box-sizing:border-box;
  border:1px solid rgba(66,67,72,.62);
  border-radius:4px 4px 9px 9px;
  background:linear-gradient(#aeb0b3,#8a8b90 68%,#74757a);
  box-shadow:inset 0 3px 5px rgba(255,255,255,.28),inset 0 -4px 6px rgba(28,29,33,.18);
}
.playlist-vjFrontFascia__separator{
  flex:0 0 1px;
  margin:10% 0 2%;
  background:linear-gradient(transparent,rgba(56,57,62,.45),transparent);
}
.playlist-vjFrontBay{
  position:relative;
  height:100%;
  box-sizing:border-box;
  min-width:0;
  border:1px solid rgba(54,55,60,.58);
  border-radius:3px 3px 6px 6px;
  background:linear-gradient(#9fa0a5,#84858a);
  box-shadow:inset 0 2px 4px rgba(30,31,35,.2),0 1px rgba(240,240,236,.3);
}
.playlist-vjFrontBay__number{
  position:absolute;
  left:0;
  right:0;
  top:-20%;
  color:#25262a;
  font:800 clamp(6px,1.1vmin,10px)/1 Arial,sans-serif;
  text-align:center;
}
.playlist-vjFrontBay__memory{
  position:absolute;
  left:7%;
  right:7%;
  top:10%;
  height:30%;
  display:grid;
  place-items:center;
  border:1px solid #55565b;
  border-radius:2px;
  background:linear-gradient(#b8b9bc,#898a90);
  box-shadow:inset 0 2px 3px rgba(255,255,255,.25),inset 0 -2px 3px rgba(29,30,35,.2);
  color:#38393e;
  font:700 clamp(4px,.72vmin,7px)/1 Arial,sans-serif;
  letter-spacing:.02em;
  white-space:nowrap;
}
.playlist-vjFrontBay__controller{
  position:absolute;
  left:5%;
  right:5%;
  bottom:3%;
  height:43%;
  overflow:visible;
  box-sizing:border-box;
  border:1.5px solid #55565b;
  border-radius:4px 4px 7px 7px;
  background:linear-gradient(#a4a5a9 0 18%,#7c7d82 42%,#5f6065 100%);
  box-shadow:inset 0 1px rgba(247,246,240,.55),inset 0 -2px 3px rgba(25,26,30,.26),0 1px 2px rgba(0,0,0,.35);
}
.playlist-vjFrontBay__portLegend{
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  top:5%;
  color:#292a2e;
  font:900 clamp(3px,.45vmin,5px)/1 Arial,sans-serif;
  letter-spacing:.08em;
  text-align:center;
  text-shadow:0 1px rgba(238,237,230,.45);
  white-space:nowrap;
}
.playlist-vjFrontBay__socket{
  position:absolute;
  z-index:1;
  left:6%;
  right:6%;
  top:28%;
  bottom:7%;
  overflow:hidden;
  box-sizing:border-box;
  border:1.5px solid #303137;
  border-radius:3px 3px 6px 6px;
  background:linear-gradient(#08090c,#202126 56%,#0b0c0f);
  box-shadow:inset 0 4px 6px #030406,inset 0 -1px rgba(150,150,145,.18),0 0 0 1px rgba(221,220,213,.35);
}
.playlist-vjFrontBay__socket::before,
.playlist-vjFrontBay__socket::after{
  content:"";
  position:absolute;
  top:22%;
  bottom:22%;
  width:16%;
  border:1px solid #25262b;
  border-radius:48%;
  background:linear-gradient(#8e8f93,#5f6065);
  box-shadow:inset 0 2px 3px rgba(17,18,21,.82),0 1px rgba(218,217,210,.18);
}
.playlist-vjFrontBay__socket::before{left:3%}
.playlist-vjFrontBay__socket::after{right:3%}
.playlist-vjFrontBay__pins{
  position:absolute;
  z-index:2;
  left:21%;
  right:21%;
  top:18%;
  bottom:18%;
  border:1px solid #111216;
  border-radius:2px 2px 4px 4px;
  background-color:#a3a39f;
  background-image:radial-gradient(circle,#111216 0 1.4px,transparent 1.8px);
  background-size:20% 100%;
  box-shadow:inset 0 2px 4px rgba(16,17,20,.82),0 1px rgba(235,233,225,.16);
}
.playlist-vjBase3d__lowerLip{
  position:absolute;
  z-index:5;
  left:39%;
  right:39%;
  bottom:-2%;
  height:10%;
  border-radius:0 0 10px 10px;
  background:#5c5d62;
  box-shadow:inset 0 2px rgba(255,255,255,.15);
}
.playlist-vjBase3d__foot{
  position:absolute;
  z-index:3;
  bottom:-7%;
  width:8%;
  height:9%;
  border-radius:0 0 5px 5px;
  background:#4d4e53;
}
.playlist-vjBase3d__foot--left{left:13%}
.playlist-vjBase3d__foot--right{right:13%}
.playlist-vjBase3d__side{
  z-index:2;
  top:34%;
  bottom:2%;
  width:7%;
  background:linear-gradient(90deg,#696a70,#a6a7ab 55%,#7c7d82);
}
.playlist-vjBase3d__side--left{left:-1%;transform:rotateY(82deg) translateZ(12px)}
.playlist-vjBase3d__side--right{right:-1%;transform:rotateY(98deg) translateZ(12px)}
.playlist-vjBase3d__bottom{
  position:absolute;
  z-index:1;
  left:4%;
  right:4%;
  bottom:0;
  height:13%;
  transform:rotateX(82deg) translateZ(-13px);
  transform-origin:50% 100%;
  background:#4d4e53;
  backface-visibility:hidden;
}

.playlist-vjTray3d{left:23%;top:3%;width:54%;background:radial-gradient(circle at 48% 44%,#3c3d42 0 6%,#17181d 7% 12%,#77787e 13% 66%,#505157 67% 73%,#a0a1a5 74% 100%)}
.playlist-vjLink{
  left:10%;
  right:18%;
  top:20%;
  display:grid;
  gap:3px;
  color:#111217;
  transform:translateZ(35px);
  transition:opacity .14s linear,transform .2s ease,visibility 0s linear;
}
.playlist-vjLink__label{
  justify-self:start;
  padding:3px 7px;
  border:1px solid rgba(30,31,35,.55);
  border-radius:999px;
  background:rgba(248,247,242,.94);
  box-shadow:0 2px 5px rgba(0,0,0,.25);
  font:900 clamp(7px,1.05vmin,10px)/1 Arial,sans-serif;
  letter-spacing:.08em;
  white-space:nowrap;
}
.playlist-vjLink__field{position:relative;display:block}
.playlist-vjLink__icon{
  position:absolute;
  z-index:2;
  left:8px;
  top:50%;
  width:17px;
  height:17px;
  transform:translateY(-50%);
  fill:none;
  stroke:#25262b;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.playlist-vjLink input{min-height:40px;padding:8px 10px 8px 32px;font-size:16px}
[data-vj-lid="closing"] .playlist-vjLink,
[data-vj-lid="closed"] .playlist-vjLink,
[data-vj-lid="openingRight"] .playlist-vjLink{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(-5px,5px,35px);
}

/* A raised, rear-right dock keeps the photographed lid visible without becoming a control layer. */
.playlist-vjLid3d{
  left:27%;
  top:1.5%;
  width:46%;
  transform-origin:50% 50%;
  transform:translate3d(150%,-18%,70px) scale(.8) rotateX(10deg) rotateZ(3deg);
  transition:none;
  filter:drop-shadow(-7px 8px 7px rgba(0,0,0,.38));
  backface-visibility:hidden;
}
[data-vj-lid="openRight"] .playlist-vjLid3d{
  transform:translate3d(150%,-18%,70px) scale(.8) rotateX(10deg) rotateZ(3deg);
}
[data-vj-lid="closed"] .playlist-vjLid3d{
  transform:translate3d(0,34%,42px) scale(1.08) rotateX(0) rotateZ(0);
}
[data-vj-lid="closing"] .playlist-vjLid3d{animation:vjLidDockClose .74s cubic-bezier(.26,.02,.15,1) both}
[data-vj-lid="openingRight"] .playlist-vjLid3d{animation:vjLidDockOpen .74s cubic-bezier(.26,.02,.15,1) both}
@keyframes vjLidDockClose{
  0%{transform:translate3d(150%,-18%,70px) scale(.8) rotateX(10deg) rotateZ(3deg)}
  25%{transform:translate3d(105%,-14%,76px) scale(.84) rotateX(10deg) rotateZ(2.4deg)}
  50%{transform:translate3d(32%,-10%,80px) scale(.9) rotateX(8deg) rotateZ(1.6deg)}
  75%{transform:translate3d(0,0,60px) scale(1) rotateX(0) rotateZ(0)}
  100%{transform:translate3d(0,0,42px) scale(1) rotateX(0) rotateZ(0)}
}
@keyframes vjLidDockOpen{
  0%{transform:translate3d(0,0,42px) scale(1) rotateX(0) rotateZ(0)}
  25%{transform:translate3d(0,0,60px) scale(1) rotateX(0) rotateZ(0)}
  50%{transform:translate3d(32%,-10%,80px) scale(.9) rotateX(8deg) rotateZ(1.6deg)}
  75%{transform:translate3d(105%,-14%,76px) scale(.84) rotateX(10deg) rotateZ(2.4deg)}
  100%{transform:translate3d(150%,-18%,70px) scale(.8) rotateX(10deg) rotateZ(3deg)}
}
.playlist-vjHardwareControls{z-index:14}
.playlist-vjHardwareButton{z-index:1}
.playlist-vjHardwareButton--start{left:7.5%;top:52%}
.playlist-vjHardwareButton--power{left:5.5%;top:68%}
.playlist-vjHardwareButton--open{right:5%;top:68%;z-index:4}
.playlist-vjReuse{bottom:-6%}

/* Local-only crop proof. No debug geometry is rendered in production. */
html.is-vj3dReferenceDebug .playlist-vjCropDebug{display:block}
.playlist-vjCropDebug{display:none;position:absolute;left:19%;top:0;width:62%;aspect-ratio:730/650;color:#fff;font:700 8px/1 Arial,sans-serif}
.playlist-vjCropDebug span{position:absolute;display:grid;place-items:center;border:1px dashed currentColor;background:rgba(0,0,0,.24)}
.playlist-vjCropDebug__asset{inset:0;color:#ffdf45}
.playlist-vjCropDebug__aperture{left:9.05%;top:9.25%;width:78.2%;height:65.2%;color:#55f0ff}
.playlist-vjCropDebug__speaker{bottom:0;width:35.6%;height:31.5%;color:#ff75df}
.playlist-vjCropDebug__speaker--left{left:-16.4%}
.playlist-vjCropDebug__speaker--right{right:-15%}
.playlist-vjCropDebug__hinge{left:14.4%;bottom:-1.8%;width:71.2%;height:18.5%;color:#8cff68}

@media (max-width:900px){
  .playlist-vjScene{width:min(84vw,620px);transform:none}
  .playlist-vjReuse{bottom:-8%}
}
@media (max-width:1200px) and (min-width:701px){
  .playlist-vjLid3d,
  [data-vj-lid="openRight"] .playlist-vjLid3d{transform:translate3d(115%,-18%,68px) scale(.6) rotateX(10deg) rotateZ(3deg)}
  [data-vj-lid="closing"] .playlist-vjLid3d{animation-name:vjLidDockCloseMedium}
  [data-vj-lid="openingRight"] .playlist-vjLid3d{animation-name:vjLidDockOpenMedium}
}
@media (max-width:900px) and (min-width:701px){
  .playlist-vjLid3d,
  [data-vj-lid="openRight"] .playlist-vjLid3d{transform:translate3d(108%,-18%,68px) scale(.42) rotateX(10deg) rotateZ(3deg)}
}
@media (max-width:700px){
  .playlist-vjScene{width:min(88vw,540px);transform:none}
  .playlist-vjMonitor3d{left:18%;width:64%}
  .playlist-vjBase3d{left:0;top:59%;width:100%}
  .playlist-vjLid3d,
  [data-vj-lid="openRight"] .playlist-vjLid3d{transform:translate3d(70%,105%,50px) scale(.5) rotateX(0) rotateZ(3deg)}
  [data-vj-lid="closing"] .playlist-vjLid3d{animation-name:vjLidDockCloseNarrow}
  [data-vj-lid="openingRight"] .playlist-vjLid3d{animation-name:vjLidDockOpenNarrow}
}
@media (max-width:430px){
  .playlist-vjScene{width:min(88vw,350px);transform:none}
  .playlist-vjMonitor3d{left:17%;width:66%}
  .playlist-vjBase3d{top:63%}
  .playlist-vjLink{left:5%;right:14%;top:18%}
  .playlist-vjLink__label{font-size:7px}
  .playlist-vjLink input{min-height:38px;font-size:16px;padding-left:30px}
  .playlist-vjFrontBay__memory{font-size:4px}
  .playlist-vjReuse{bottom:-11%}
  .playlist-vjLid3d,
  [data-vj-lid="openRight"] .playlist-vjLid3d{transform:translate3d(70%,105%,50px) scale(.5) rotateX(0) rotateZ(3deg)}
  [data-vj-lid="closing"] .playlist-vjLid3d{animation-name:vjLidDockCloseSmall}
  [data-vj-lid="openingRight"] .playlist-vjLid3d{animation-name:vjLidDockOpenSmall}
}
@media (max-height:650px) and (min-width:650px){
  .playlist-vjScene{width:min(94vh,560px)}
}
@media (prefers-reduced-motion:reduce){
  [data-vj-lid="closing"] .playlist-vjLid3d,
  [data-vj-lid="openingRight"] .playlist-vjLid3d{animation-duration:.12s}
}
@keyframes vjLidDockCloseNarrow{
  0%{transform:translate3d(70%,105%,50px) scale(.5) rotateX(0) rotateZ(3deg)}
  25%{transform:translate3d(40%,70%,62px) scale(.65) rotateX(3deg) rotateZ(2deg)}
  50%{transform:translate3d(20%,40%,70px) scale(.9) rotateX(3deg) rotateZ(1deg)}
  75%{transform:translate3d(0,36%,58px) scale(1.04) rotateX(0) rotateZ(0)}
  100%{transform:translate3d(0,34%,42px) scale(1.08) rotateX(0) rotateZ(0)}
}
@keyframes vjLidDockOpenNarrow{
  0%{transform:translate3d(0,34%,42px) scale(1.08) rotateX(0) rotateZ(0)}
  25%{transform:translate3d(0,36%,58px) scale(1.04) rotateX(0) rotateZ(0)}
  50%{transform:translate3d(20%,40%,70px) scale(.9) rotateX(3deg) rotateZ(1deg)}
  75%{transform:translate3d(40%,70%,62px) scale(.65) rotateX(3deg) rotateZ(2deg)}
  100%{transform:translate3d(70%,105%,50px) scale(.5) rotateX(0) rotateZ(3deg)}
}
@keyframes vjLidDockCloseMedium{
  0%{transform:translate3d(115%,-18%,68px) scale(.6) rotateX(10deg) rotateZ(3deg)}
  25%{transform:translate3d(80%,-14%,74px) scale(.7) rotateX(9deg) rotateZ(2deg)}
  50%{transform:translate3d(32%,-10%,80px) scale(.9) rotateX(8deg) rotateZ(1deg)}
  75%{transform:translate3d(0,36%,58px) scale(1.04) rotateX(0) rotateZ(0)}
  100%{transform:translate3d(0,34%,42px) scale(1.08) rotateX(0) rotateZ(0)}
}
@keyframes vjLidDockOpenMedium{
  0%{transform:translate3d(0,34%,42px) scale(1.08) rotateX(0) rotateZ(0)}
  25%{transform:translate3d(0,36%,58px) scale(1.04) rotateX(0) rotateZ(0)}
  50%{transform:translate3d(32%,-10%,80px) scale(.9) rotateX(8deg) rotateZ(1deg)}
  75%{transform:translate3d(80%,-14%,74px) scale(.7) rotateX(9deg) rotateZ(2deg)}
  100%{transform:translate3d(115%,-18%,68px) scale(.6) rotateX(10deg) rotateZ(3deg)}
}
@keyframes vjLidDockCloseSmall{
  0%{transform:translate3d(70%,105%,50px) scale(.5) rotateX(0) rotateZ(3deg)}
  25%{transform:translate3d(40%,60%,62px) scale(.65) rotateX(3deg) rotateZ(2deg)}
  50%{transform:translate3d(20%,35%,70px) scale(.9) rotateX(3deg) rotateZ(1deg)}
  75%{transform:translate3d(0,36%,58px) scale(1.04) rotateX(0) rotateZ(0)}
  100%{transform:translate3d(0,34%,42px) scale(1.08) rotateX(0) rotateZ(0)}
}
@keyframes vjLidDockOpenSmall{
  0%{transform:translate3d(0,34%,42px) scale(1.08) rotateX(0) rotateZ(0)}
  25%{transform:translate3d(0,36%,58px) scale(1.04) rotateX(0) rotateZ(0)}
  50%{transform:translate3d(20%,35%,70px) scale(.9) rotateX(3deg) rotateZ(1deg)}
  75%{transform:translate3d(40%,60%,62px) scale(.65) rotateX(3deg) rotateZ(2deg)}
  100%{transform:translate3d(70%,105%,50px) scale(.5) rotateX(0) rotateZ(3deg)}
}

/* Revision 6: sealed one-piece prism, fuller PSone monitor, and direct inspection controls. */
.playlist-vjScene{
  --vj-inspect-scale:1;
  --vj-inspect-x:0px;
  --vj-inspect-y:0px;
  transform:translate3d(var(--vj-inspect-x),var(--vj-inspect-y),0) scale(var(--vj-inspect-scale));
  transform-origin:50% 48%;
  transition:transform .13s cubic-bezier(.2,.72,.22,1);
  will-change:transform;
  touch-action:none;
}
.playlist-vjScene[data-vj-inspect-dragging="true"]{transition:none;cursor:grabbing}
[data-vj-view="theater"] .playlist-vjScene{transform:none;will-change:auto;touch-action:auto}

.playlist-vjInspectControls{
  position:fixed;
  z-index:14;
  left:max(14px,calc(env(safe-area-inset-left) + 2px));
  top:max(14px,calc(env(safe-area-inset-top) + 2px));
  display:flex;
  align-items:center;
  gap:5px;
  padding:6px;
  border:1px solid rgba(216,214,206,.65);
  border-radius:9px;
  background:rgba(27,28,33,.88);
  box-shadow:0 5px 16px rgba(0,0,0,.32);
  color:#f5f3eb;
  font:800 10px/1 Arial,sans-serif;
  letter-spacing:.08em;
}
.playlist-vjInspectControls__label{padding:0 3px;color:#aeb0b8}
.playlist-vjInspectControls button{
  min-width:29px;
  height:29px;
  padding:0 7px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:6px;
  background:#eceae2;
  color:#202126;
  font:900 16px/1 Arial,sans-serif;
  cursor:pointer;
}
.playlist-vjInspectControls button:focus-visible{outline:3px solid #7ee4ff;outline-offset:2px}
.playlist-vjInspectControls button:disabled{opacity:.4;cursor:not-allowed}
.playlist-vjInspectControls output{min-width:39px;text-align:center;font-variant-numeric:tabular-nums}
.playlist-vjInspectControls .playlist-vjInspectControls__reset{font-size:8px;letter-spacing:.08em}
[data-vj-view="theater"] .playlist-vjInspectControls{display:none}

/* The five explicit faces overlap by a molding seam, closing the complete chassis volume. */
.playlist-vjBase3d__volume{
  inset:0;
  isolation:isolate;
  background:none;
  transform-style:preserve-3d;
}
.playlist-vjBase3d__volume::before{content:none}
.playlist-vjBase3d__top{
  left:2.25%;
  right:2.25%;
  top:0;
  bottom:0;
  height:auto;
  border:1px solid rgba(63,64,69,.5);
  border-radius:8% 8% 4% 4% / 10% 10% 5% 5%;
  background:linear-gradient(105deg,#85868c 0,#b8b8bb 17%,#aaa9ad 50%,#b5b5b8 83%,#7d7e84 100%);
  box-shadow:inset 0 2px rgba(250,250,247,.45),inset 0 -5px 8px rgba(50,51,56,.18);
  transform-origin:50% 0;
  transform:rotateX(65deg) translateZ(22px);
}
.playlist-vjBase3d__front{
  left:2.25%;
  right:2.25%;
  top:35%;
  height:40%;
  transform:translateZ(42px) scaleX(1.012);
  transform-origin:50% 0;
  border:1px solid rgba(64,65,70,.54);
  border-radius:2% 2% 6% 6% / 5% 5% 14% 14%;
  background:linear-gradient(#aaa9ad 0 9%,#9b9ba0 10% 67%,#77787d 68% 89%,#5f6065 90% 100%);
  box-shadow:inset 0 1px rgba(248,248,244,.64),inset 0 -6px 10px rgba(38,39,44,.22),0 8px 10px rgba(0,0,0,.22);
}
.playlist-vjBase3d__side{
  z-index:2;
  top:25%;
  bottom:20%;
  width:5.5%;
  border:1px solid rgba(57,58,63,.48);
  background:linear-gradient(90deg,#62636a 0,#9fa0a5 42%,#7d7e84 100%);
  box-shadow:inset 0 1px rgba(244,244,240,.36),inset 0 -4px 7px rgba(29,30,34,.2);
  transform-origin:50% 50%;
}
.playlist-vjBase3d__side--left{left:-3.5%;transform:rotateY(76deg) translateZ(28px)}
.playlist-vjBase3d__side--right{right:3.2%;transform:rotateY(104deg) translateZ(28px)}
.playlist-vjBase3d__bottom{
  left:2.25%;
  right:2.25%;
  bottom:25%;
  height:9%;
  transform:rotateX(78deg) translateZ(-6px);
  transform-origin:50% 100%;
  border-radius:0 0 8px 8px;
  background:#55565c;
  box-shadow:inset 0 -2px 3px rgba(18,19,22,.35);
}
.playlist-vjBase3d__frontWing{top:7%;bottom:12%;width:27%}
.playlist-vjBase3d__frontWing--left{left:0}
.playlist-vjBase3d__frontWing--right{right:0}
.playlist-vjFrontFascia{left:27%;top:6%;width:46%;height:82%}
.playlist-vjBase3d__lowerLip{bottom:-1%}
.playlist-vjBase3d__foot{bottom:-6%}
.playlist-vjLink{top:58%;transform:translateZ(125px)}

/* A wider clean mask restores the rounded PSone attachment without environmental pixels. */
.playlist-vjMonitor3d{
  left:17%;
  top:2%;
  width:66%;
  aspect-ratio:820/700;
}
.playlist-vjMonitor3d__back{
  inset:1% 1.5% 4%;
  border-radius:18% 18% 24% 24% / 20% 20% 28% 28%;
  clip-path:polygon(9% 0,91% 0,98% 8%,100% 49%,95% 79%,83% 94%,17% 94%,5% 79%,0 49%,2% 8%);
}
.playlist-vjScreen{left:13.54%;top:12.86%;width:69.63%;height:60.57%;border-radius:3%}
.playlist-vjMonitor3d__speaker{bottom:-1%;width:32%;height:29%}
.playlist-vjMonitor3d__speaker--left{left:-11.5%}
.playlist-vjMonitor3d__speaker--right{right:-10.5%}
.playlist-vjMonitor3d__hingeTexture{left:18%;bottom:-8%;width:64%;height:13%}
.playlist-vjCropDebug{left:17%;width:66%;aspect-ratio:820/700}
.playlist-vjCropDebug__aperture{left:13.54%;top:12.86%;width:69.63%;height:60.57%}
.playlist-vjCropDebug__speaker{bottom:-1%;width:32%;height:29%}
.playlist-vjCropDebug__speaker--left{left:-11.5%}
.playlist-vjCropDebug__speaker--right{right:-10.5%}
.playlist-vjCropDebug__hinge{left:18%;bottom:-8%;width:64%;height:13%}

/* The 920 ms lateral travel keeps the sliding cover readable for both actions. */
[data-vj-lid="closing"] .playlist-vjLid3d{animation-duration:.92s}
[data-vj-lid="openingRight"] .playlist-vjLid3d{animation-duration:.92s}
@keyframes vjLidDockClose{
  0%{transform:translate3d(150%,-18%,70px) scale(.8) rotateX(10deg) rotateZ(3deg)}
  25%{transform:translate3d(132%,-17%,76px) scale(.78) rotateX(10deg) rotateZ(2.6deg)}
  50%{transform:translate3d(110%,-14%,82px) scale(.74) rotateX(9deg) rotateZ(2deg)}
  75%{transform:translate3d(8%,36%,64px) scale(1.04) rotateX(2deg) rotateZ(.4deg)}
  100%{transform:translate3d(0,34%,42px) scale(1.08) rotateX(0) rotateZ(0)}
}
@keyframes vjLidDockOpen{
  0%{transform:translate3d(0,34%,42px) scale(1.08) rotateX(0) rotateZ(0)}
  25%{transform:translate3d(8%,36%,64px) scale(1.04) rotateX(2deg) rotateZ(.4deg)}
  50%{transform:translate3d(110%,-14%,82px) scale(.74) rotateX(9deg) rotateZ(2deg)}
  75%{transform:translate3d(132%,-17%,76px) scale(.78) rotateX(10deg) rotateZ(2.6deg)}
  100%{transform:translate3d(150%,-18%,70px) scale(.8) rotateX(10deg) rotateZ(3deg)}
}
@media (max-width:700px){
  .playlist-vjInspectControls{top:8px;left:8px;transform:scale(.88);transform-origin:left top}
  .playlist-vjBase3d__side--left{left:-6%}
  .playlist-vjBase3d__side--right{right:4.2%}
}
@media (max-width:430px){
  .playlist-vjInspectControls__label,.playlist-vjInspectControls__reset{display:none}
  .playlist-vjBase3d__side--left{left:-8%}
  .playlist-vjBase3d__side--right{right:6.2%}
}
@media (prefers-reduced-motion:reduce){
  .playlist-vjScene{transition-duration:.1s}
  [data-vj-lid="closing"] .playlist-vjLid3d,
  [data-vj-lid="openingRight"] .playlist-vjLid3d{animation-duration:.14s}
}

/* Revision 9: separated screen mount, safe utility/docks, and dual-target video compositor. */
.playlist-vjScene{
  --vj-rig-offset-y:34px;
  width:min(78vw,680px);
  aspect-ratio:680/760;
  perspective-origin:50% 45%;
}
.playlist-vjRig{
  transform:translate3d(0,var(--vj-rig-offset-y),0) rotateX(1.5deg) rotateY(-2.5deg);
  transform-origin:50% 47%;
}
html[data-vj-debug-yaw="positive"] .playlist-vjRig{transform:translate3d(0,var(--vj-rig-offset-y),0) rotateX(2deg) rotateY(9deg)}
html[data-vj-debug-yaw="negative"] .playlist-vjRig{transform:translate3d(0,var(--vj-rig-offset-y),0) rotateX(2deg) rotateY(-9deg)}
.playlist-vjMonitor3d{left:17%;top:-2.5%;width:66%}
.playlist-vjBase3d{left:2%;top:56%;width:96%;height:43%}
.playlist-vjBase3d__front{height:36%}
.playlist-vjBase3d__bottom{bottom:27%}
.playlist-vjMonitor3d__hingeTexture{display:none!important}
.playlist-vjHingeMount{
  position:absolute;
  z-index:13;
  left:35%;
  top:48%;
  width:30%;
  height:3.8%;
  transform:translateZ(58px);
  transform-style:preserve-3d;
  pointer-events:none;
  filter:drop-shadow(0 4px 4px rgba(0,0,0,.34));
}
.playlist-vjHingeMount img{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:fill}
.playlist-vjHingeMount__rail{
  position:absolute;
  z-index:1;
  left:-6%;
  right:-6%;
  bottom:-8px;
  height:15px;
  border:1px solid rgba(74,74,78,.58);
  border-radius:9px 9px 4px 4px;
  background:linear-gradient(#d4d0c5,#98958e 55%,#77756f);
  box-shadow:inset 0 2px rgba(255,255,255,.4);
}
.playlist-vjLink{top:22%;left:10%;right:16%;transform:translateZ(58px)}

.playlist-vjUtility{
  position:fixed;
  z-index:17;
  left:max(16px,env(safe-area-inset-left));
  top:max(16px,env(safe-area-inset-top));
  min-width:44px;
  min-height:44px;
  pointer-events:none;
}
.playlist-vjReuse{
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  min-width:44px;
  min-height:44px;
  padding:0 14px;
  border:1px solid rgba(216,214,206,.7);
  border-radius:9px;
  background:rgba(229,227,219,.96);
  box-shadow:0 5px 16px rgba(0,0,0,.34);
  color:#202126;
  font:800 10px/1 Arial,sans-serif;
  letter-spacing:.055em;
  pointer-events:auto;
  transition:width .2s ease,opacity .2s ease,filter .2s ease,padding .2s ease;
}
.playlist-vjReuse.is-sleeping{width:44px;max-width:44px;padding:0;overflow:hidden;opacity:.34;font-size:0}
.playlist-vjReuse.is-sleeping::before{content:"↻";font:900 20px/1 Arial,sans-serif}
.playlist-vjReuse:hover,.playlist-vjReuse:focus-visible{opacity:1;filter:brightness(1.08);outline:3px solid #7ee4ff;outline-offset:3px}
.playlist-vjReuse:disabled{opacity:.38;cursor:not-allowed}
[data-vj-view="theater"] .playlist-vjUtility,[data-vj-phase="starting"] .playlist-vjUtility,[data-vj-phase="running"] .playlist-vjUtility,[data-vj-phase="paused"] .playlist-vjUtility{display:none}
html:not(.is-vjDebugZoom) .playlist-vjInspectControls{display:none!important;pointer-events:none!important}
html.is-vjDebugZoom .playlist-vjInspectControls{display:flex}

.playlist-vjCompositor__filterDefs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.playlist-vjCompositor__videoFxSurface{position:absolute;z-index:1;inset:-8%;width:116%;height:116%;overflow:visible;transform:translateZ(0)}
.playlist-vjCompositor__videoReactiveShell{inset:0;width:100%;height:100%;--vj-fx-scale:1.08;--vj-fx-flip-x:1;--vj-fx-x:0%;--vj-fx-y:0%;--vj-fx-rotate:0deg;--vj-fx-skew-x:0deg;--vj-fx-skew-y:0deg;--vj-fx-saturate:1;--vj-fx-contrast:1;--vj-fx-brightness:1;--vj-fx-hue:0deg;--vj-fx-blur:0px;--vj-parity-x:0%;--vj-parity-y:0%;--vj-parity-rotate:0deg;--vj-parity-skew-x:0deg;--vj-parity-skew-y:0deg;--vj-parity-scale:1;--vj-parity-saturate:1;--vj-parity-contrast:1;--vj-parity-brightness:1;--vj-parity-hue:0deg;--vj-parity-blur:0px;will-change:auto}
[data-vj-phase="previewing"] .playlist-vjCompositor__videoFxSurface .playlist-vjCompositor__videoReactiveShell,
[data-vj-phase="starting"] .playlist-vjCompositor__videoFxSurface .playlist-vjCompositor__videoReactiveShell,
[data-vj-phase="running"] .playlist-vjCompositor__videoFxSurface .playlist-vjCompositor__videoReactiveShell,
[data-vj-phase="paused"] .playlist-vjCompositor__videoFxSurface .playlist-vjCompositor__videoReactiveShell,
[data-vj-phase="restoring"] .playlist-vjCompositor__videoFxSurface .playlist-vjCompositor__videoReactiveShell{
  transform:translate3d(var(--vj-fx-x),var(--vj-fx-y),0) rotate(var(--vj-fx-rotate)) skew(var(--vj-fx-skew-x),var(--vj-fx-skew-y)) scaleX(var(--vj-fx-flip-x)) scale(var(--vj-fx-scale)) translate3d(var(--vj-parity-x),var(--vj-parity-y),0) rotate(var(--vj-parity-rotate)) skew(var(--vj-parity-skew-x),var(--vj-parity-skew-y)) scale(var(--vj-parity-scale));
  filter:saturate(var(--vj-fx-saturate)) contrast(var(--vj-fx-contrast)) brightness(var(--vj-fx-brightness)) hue-rotate(var(--vj-fx-hue)) blur(var(--vj-fx-blur)) saturate(var(--vj-parity-saturate)) contrast(var(--vj-parity-contrast)) brightness(var(--vj-parity-brightness)) hue-rotate(var(--vj-parity-hue)) blur(var(--vj-parity-blur));
}
.playlist-vjCompositor__videoReactiveShell[data-vj-fx-backend="youtube-svg"][data-vj-video-fx-active="true"]{filter:url(#playlistVjVideoFxFilter) saturate(var(--vj-fx-saturate)) contrast(var(--vj-fx-contrast)) brightness(var(--vj-fx-brightness)) hue-rotate(var(--vj-fx-hue)) saturate(var(--vj-parity-saturate)) contrast(var(--vj-parity-contrast)) brightness(var(--vj-parity-brightness)) hue-rotate(var(--vj-parity-hue)) blur(var(--vj-parity-blur));will-change:transform,filter}
.playlist-vjCompositor__videoReactiveShell[data-vj-fx-backend="youtube-css-fallback"][data-vj-video-fx-active="true"]{will-change:transform,filter}
.playlist-vjCompositor__videoReactiveShell[data-vj-fx-backend="youtube-svg"][data-vj-fx-quality="low"][data-vj-video-fx-active="true"]{filter:saturate(var(--vj-fx-saturate)) contrast(var(--vj-fx-contrast)) brightness(var(--vj-fx-brightness)) hue-rotate(var(--vj-fx-hue)) saturate(var(--vj-parity-saturate)) contrast(var(--vj-parity-contrast)) brightness(var(--vj-parity-brightness)) hue-rotate(var(--vj-parity-hue)) blur(var(--vj-parity-blur))!important;will-change:transform,filter}
.playlist-vjCompositor__lensPass{opacity:var(--vj-fx-lens-opacity,0)!important}

.playlist-vjVinylDock,.playlist-vjWheelDock{bottom:max(14px,calc(env(safe-area-inset-bottom) + 12px))}
.playlist-vjVinylDock{
  left:max(14px,calc(env(safe-area-inset-left) + 12px));
  width:clamp(210px,28vw,324px);
  min-height:114px;
  padding:12px 12px 10px 112px;
}
.playlist-vjVinylDock__record{left:9px;top:8px;width:98px}
.playlist-vjWheelDock{
  right:max(14px,calc(env(safe-area-inset-right) + 12px));
  width:clamp(116px,18vw,190px);
}
.playlist-vjWheelTarget{
  position:absolute;
  z-index:6;
  left:0;
  right:0;
  bottom:calc(100% + 8px);
  min-height:50px;
  display:grid;
  grid-template-columns:1fr 1fr;
  padding:3px;
  box-sizing:border-box;
  border:1px solid rgba(216,214,206,.68);
  border-radius:9px;
  background:rgba(27,28,33,.9);
  box-shadow:0 5px 15px rgba(0,0,0,.32);
}
.playlist-vjWheelTarget button{
  min-width:0;
  min-height:44px;
  padding:0 4px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#c7c7c2;
  font:900 clamp(6px,.72vw,9px)/1 Arial,sans-serif;
  letter-spacing:.035em;
  cursor:pointer;
}
.playlist-vjWheelTarget button[aria-pressed="true"]{background:#f5f3eb;color:#17181c;box-shadow:inset 0 0 0 1px #fff}
.playlist-vjWheelTarget button:focus-visible{outline:3px solid #7ee4ff;outline-offset:2px}
.playlist-vjWheelPages{
  position:absolute;
  z-index:6;
  right:0;
  bottom:calc(100% + 64px);
  display:grid;
  grid-template-columns:1fr 1fr;
  width:min(206px,74vw);
  min-height:38px;
  padding:3px;
  box-sizing:border-box;
  border:1px solid rgba(104,220,255,.68);
  border-radius:8px;
  background:rgba(18,20,25,.94);
  box-shadow:0 4px 12px rgba(0,0,0,.32);
}
.playlist-vjWheelPages[hidden]{display:none}
.playlist-vjWheelPages button{min-width:0;min-height:32px;padding:3px 5px;border:0;border-radius:5px;background:transparent;color:#c9d8dd;font:900 7px/1.1 Arial,sans-serif;letter-spacing:.045em;cursor:pointer}
.playlist-vjWheelPages button[aria-pressed="true"]{background:#dff8ff;color:#111820;box-shadow:inset 0 0 0 1px #fff}
.playlist-vjWheelPages button span{display:block;margin-top:2px;font-size:6px;letter-spacing:.02em}
.playlist-vjWheelPages button:focus-visible{outline:3px solid #7ee4ff;outline-offset:2px}
.playlist-vjWheelStatus{
  position:absolute;
  z-index:7;
  right:0;
  bottom:calc(100% + 108px);
  width:max-content;
  max-width:min(240px,72vw);
  padding:7px 9px;
  border-radius:7px;
  background:rgba(12,13,17,.92);
  color:#fff;
  font:800 9px/1.2 Arial,sans-serif;
  letter-spacing:.06em;
  box-shadow:0 4px 12px rgba(0,0,0,.35);
}
.playlist-vjWheelDock__actions button{
  width:44px;
  height:44px;
  margin:-22px;
  border:0;
  background:radial-gradient(circle,#f7f6f0 0 15px,#45464c 15px 16px,transparent 17px);
  transform:rotate(var(--vj-angle)) translateX(clamp(39px,6.5vw,70px)) rotate(calc(-1 * var(--vj-angle)));
}
.playlist-vjWheelDock__actions button[data-level]{isolation:isolate}
.playlist-vjWheelDock__actions button[data-level]::after{content:"";position:absolute;left:50%;bottom:3px;transform:translateX(-50%);min-width:22px;color:#15161a;font:900 9px/1 Arial,sans-serif;letter-spacing:1px;text-align:center}
.playlist-vjWheelDock__actions button[data-level="1"]::after{content:"•"}
.playlist-vjWheelDock__actions button[data-level="2"]::after{content:"••"}
.playlist-vjWheelDock__actions button[data-level="3"]::after{content:"•••"}
.playlist-vjWheelDock__actions button.is-vjVideoActive{filter:drop-shadow(0 0 3px #67dcff);text-decoration:underline;text-underline-offset:3px}
.playlist-vjWheelDock__actions button.is-vjAccent{filter:drop-shadow(0 0 7px #fff) drop-shadow(0 0 8px #35cfff)}
[data-vj-compositor][data-vj-video-fx-bypass="true"] .playlist-vjCompositor__videoReactiveShell[data-vj-fx-backend][data-vj-fx-quality]{filter:none!important;transform:scale(1.08)!important;will-change:auto}
[data-vj-compositor][data-vj-video-fx-bypass="true"] .playlist-vjCompositor__lensPass{opacity:0!important}
[data-vj-compositor][data-vj-video-core-bypass="true"] .playlist-vjCompositor__videoReactiveShell{--vj-fx-scale:1.08!important;--vj-fx-flip-x:1!important;--vj-fx-x:0%!important;--vj-fx-y:0%!important;--vj-fx-rotate:0deg!important;--vj-fx-skew-x:0deg!important;--vj-fx-skew-y:0deg!important;--vj-fx-saturate:1!important;--vj-fx-contrast:1!important;--vj-fx-brightness:1!important;--vj-fx-hue:0deg!important;--vj-fx-blur:0px!important}
[data-vj-compositor][data-vj-video-core-bypass="true"] .playlist-vjCompositor__videoReactiveShell[data-vj-fx-backend="youtube-svg"]{filter:saturate(var(--vj-parity-saturate)) contrast(var(--vj-parity-contrast)) brightness(var(--vj-parity-brightness)) hue-rotate(var(--vj-parity-hue)) blur(var(--vj-parity-blur))!important}
[data-vj-compositor][data-vj-video-core-bypass="true"] .playlist-vjCompositor__lensPass{opacity:0!important}
[data-vj-compositor][data-vj-video-parity-bypass="true"] .playlist-vjCompositor__videoReactiveShell{--vj-parity-x:0%!important;--vj-parity-y:0%!important;--vj-parity-rotate:0deg!important;--vj-parity-skew-x:0deg!important;--vj-parity-skew-y:0deg!important;--vj-parity-scale:1!important;--vj-parity-saturate:1!important;--vj-parity-contrast:1!important;--vj-parity-brightness:1!important;--vj-parity-hue:0deg!important;--vj-parity-blur:0px!important}
[data-vj-compositor][data-vj-debug-cthugha-hidden="true"] .playlist-vjCompositor__cthughaPass{opacity:0!important;visibility:hidden!important}
[data-vj-compositor][data-vj-debug-chrome-hidden="true"] .playlist-vjScreen__glass,
[data-vj-compositor][data-vj-debug-chrome-hidden="true"] .playlist-vjScreen__theater,
[data-vj-compositor][data-vj-debug-chrome-hidden="true"] .playlist-vjScreen__status{opacity:0!important;visibility:hidden!important}
html.is-vjVideoFxNativeProbe .playlist-vjScreen__youtube,html.is-vjVideoFxNativeProbe .playlist-vjScreen__youtube iframe{pointer-events:auto!important}
[data-vj-active-target="video"] .playlist-vjWheelDock{box-shadow:0 0 0 2px rgba(77,214,255,.62),0 8px 24px rgba(0,0,0,.46),inset 0 1px rgba(255,255,255,.7)}
[data-vj-video-page="cthugha-parity"] .playlist-vjWheelDock{box-shadow:0 0 0 2px rgba(255,124,74,.7),0 8px 24px rgba(0,0,0,.46),inset 0 1px rgba(255,255,255,.7)}
[data-vj-view="theater"] .playlist-vjHingeMount{display:none}

.playlist-vjVinylDock__scrubHud{position:absolute;z-index:4;left:10px;bottom:calc(100% + 7px);width:max-content;max-width:min(240px,76vw);padding:7px 9px;border-radius:7px;background:rgba(10,11,15,.94);color:#fff;font:800 9px/1.25 Arial,sans-serif;letter-spacing:.04em;box-shadow:0 4px 12px rgba(0,0,0,.36);pointer-events:none}
.playlist-vjVinylDock__scrubHud[hidden]{display:none}

@media (max-width:900px){
  .playlist-vjScene{--vj-rig-offset-y:28px;width:min(76vw,620px);aspect-ratio:680/760;transform:translate3d(var(--vj-inspect-x),var(--vj-inspect-y),0) scale(var(--vj-inspect-scale))}
  .playlist-vjMonitor3d{left:17%;top:-2.5%;width:66%}
  .playlist-vjBase3d{left:2%;top:56%;width:96%;height:43%}
  .playlist-vjHingeMount{left:35%;top:48%;width:30%;height:3.8%}
}
@media (max-width:700px){
  .playlist-vjScene{--vj-rig-offset-y:20px;width:min(78vw,540px)}
  .playlist-vjVinylDock{left:max(12px,env(safe-area-inset-left));width:min(54vw,230px);min-height:104px;padding:10px 8px 8px 88px}
  .playlist-vjVinylDock__record{width:80px;left:7px;top:11px}
  .playlist-vjVinylDock__controls button{width:28px;height:28px}
  .playlist-vjWheelDock{right:max(12px,env(safe-area-inset-right));width:min(30vw,122px)}
  .playlist-vjWheelDock__actions button{transform:rotate(var(--vj-angle)) translateX(36px) rotate(calc(-1 * var(--vj-angle)))}
  .playlist-vjWheelTarget button{font-size:6px;letter-spacing:0}
  .playlist-vjWheelPages{width:min(190px,72vw);right:0}
  .playlist-vjBase3d__top{transform:rotateX(61deg) translateZ(22px)}
  .playlist-vjBase3d__side--right{right:5.2%}
}
@media (max-width:430px){
  .playlist-vjScene{--vj-rig-offset-y:18px;width:min(78vw,340px)}
  .playlist-vjMonitor3d{left:17%;top:-3.5%;width:66%}
  .playlist-vjBase3d{left:2%;top:57%;width:96%;height:42%}
  .playlist-vjHingeMount{top:49%}
  .playlist-vjLink{left:6%;right:12%;top:20%}
  .playlist-vjVinylDock{width:54vw;min-height:101px;padding-left:79px}
  .playlist-vjVinylDock__record{width:70px;top:15px}
  .playlist-vjWheelDock{width:30vw;max-width:117px}
  .playlist-vjWheelPages{width:178px;right:0}
  .playlist-vjBase3d__side--right{right:7.2%}
  .playlist-vjBase3d__bottom{bottom:28%}
}
@media (max-height:650px) and (min-width:650px){
  .playlist-vjScene{--vj-rig-offset-y:14px;width:min(78vh,540px)}
  .playlist-vjVinylDock,.playlist-vjWheelDock{transform:none}
  .playlist-vjBase3d__side--right{right:5%}
}
@media (prefers-reduced-motion:reduce){
  .playlist-vjCompositor__videoFxSurface,.playlist-vjCompositor__videoReactiveShell{transition-duration:.1s!important}
  .playlist-vjReuse{transition-duration:.1s}
}

/* Local, pixel-readable Full FX source retained while the clean CD presentation is restored. */
.playlist-vjScreen__local,.playlist-vjScreen__localFx{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box;opacity:0;visibility:hidden;pointer-events:none;background:#000}
.playlist-vjScreen__local{object-fit:contain}
.playlist-vjScreen__localFx{display:block;object-fit:contain}
[data-vj-source="local"][data-vj-phase="previewing"] .playlist-vjScreen__localFx,
[data-vj-source="local"][data-vj-phase="starting"] .playlist-vjScreen__localFx,
[data-vj-source="local"][data-vj-phase="running"] .playlist-vjScreen__localFx,
[data-vj-source="local"][data-vj-phase="paused"] .playlist-vjScreen__localFx{opacity:1;visibility:visible}
[data-vj-source="local"] .playlist-vjScreen__youtube{opacity:0!important;visibility:hidden!important}
[data-vj-source="youtube"] .playlist-vjScreen__localFx{opacity:0!important;visibility:hidden!important}

.playlist-vjMemoryCardUpload{
  position:absolute;
  z-index:8;
  left:27%;
  top:32%;
  width:23%;
  height:44%;
  padding:0;
  border:0;
  border-radius:6px;
  background:transparent;
  color:transparent;
  cursor:pointer;
  transform:translateZ(49px);
}
.playlist-vjMemoryCardUpload::after{content:"";position:absolute;left:7%;right:7%;top:20%;bottom:13%;border-radius:4px;opacity:0;box-shadow:0 0 0 3px #7ee4ff,0 0 12px rgba(126,228,255,.8);transition:opacity .12s ease}
.playlist-vjMemoryCardUpload:hover::after,.playlist-vjMemoryCardUpload:focus-visible::after{opacity:1}
.playlist-vjMemoryCardUpload:focus-visible{outline:none}
.playlist-vjMemoryCardUpload:active{transform:translateZ(46px) translateY(1px)}
.playlist-vjMemoryCardUpload:disabled{cursor:not-allowed;pointer-events:none}
.playlist-vjMemoryCardUpload>span{position:absolute;left:50%;bottom:calc(100% + 5px);transform:translateX(-50%);padding:5px 8px;border-radius:5px;background:rgba(14,15,19,.94);color:#fff;font:900 9px/1 Arial,sans-serif;letter-spacing:.08em;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none}
.playlist-vjMemoryCardUpload:hover>span,.playlist-vjMemoryCardUpload:focus-visible>span{opacity:1;visibility:visible}

.playlist-vjSourceHowTo{
  position:fixed;
  z-index:18;
  top:max(16px,env(safe-area-inset-top));
  right:max(16px,env(safe-area-inset-right));
  width:clamp(220px,21vw,300px);
  box-sizing:border-box;
  padding:12px 13px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:9px;
  background:rgba(18,19,23,.9);
  box-shadow:0 5px 16px rgba(0,0,0,.24);
  color:#f7f7f4;
  font:650 11px/1.35 Arial,sans-serif;
  text-align:left;
}
.playlist-vjSourceHowTo h3{margin:0 0 8px;font:900 11px/1 Arial,sans-serif;letter-spacing:.14em}
.playlist-vjSourceHowTo p{margin:0}.playlist-vjSourceHowTo p+p{margin-top:7px}
.playlist-vjSourceHowTo a{color:#8ce9ff;font-weight:950;text-decoration:underline;text-underline-offset:2px}
.playlist-vjSourceHowTo a:hover{color:#fff}.playlist-vjSourceHowTo a:focus-visible{outline:3px solid #7ee4ff;outline-offset:2px;border-radius:2px}
.playlist-vjSourceHowTo small{display:block;margin-top:9px;color:#d5d5d2;font-size:9px;line-height:1.25}

@media (max-width:700px){
  .playlist-vjSourceHowTo{right:max(10px,env(safe-area-inset-right));width:min(205px,calc(100vw - 20px));padding:10px 11px;font-size:10px;line-height:1.3}
  .playlist-vjSourceHowTo h3{margin-bottom:6px;font-size:10px}.playlist-vjSourceHowTo p+p{margin-top:5px}.playlist-vjSourceHowTo small{margin-top:7px;font-size:8px}
}
@media (max-height:650px) and (min-width:650px){
  .playlist-vjSourceHowTo{width:300px;padding:9px 11px;font-size:10px;line-height:1.25}
  .playlist-vjSourceHowTo h3{margin-bottom:5px;font-size:10px}.playlist-vjSourceHowTo p+p{margin-top:4px}.playlist-vjSourceHowTo small{margin-top:6px;font-size:8px}
}

/* Transport/UI repair: contained theme controls, real fullscreen privacy, and one closed base volume. */
.playlist-vjVinylDock{
  --mini-player-theme:var(--vj-mini-deck-color,#d8c9b2);
  --mini-player-theme-soft:rgba(216,201,178,.62);
  --mini-player-theme-border:rgba(32,33,38,.72);
  --mini-player-theme-ink:#17181c;
  color:var(--mini-player-theme-ink);
  border-color:var(--mini-player-theme-border);
  background:linear-gradient(145deg,rgba(255,255,255,.38),rgba(0,0,0,.12)),var(--mini-player-theme);
}
.playlist-vjVinylDock__meta small{color:inherit;opacity:.78}
.playlist-vjVinylDock__controls{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:repeat(3,30px) minmax(34px,1fr) 28px;
  align-items:center;
  gap:4px;
  padding:0 2px 2px 0;
  box-sizing:border-box;
}
.playlist-vjVinylDock__controls input[type="range"]{width:100%;min-width:0}
.playlist-vjVinylDock__controls input[type="color"]{
  justify-self:end;
  align-self:start;
  width:28px;
  height:27px;
  margin:-2px 0 0;
  box-sizing:border-box;
  border-color:var(--mini-player-theme-border);
  background:var(--mini-player-theme-soft);
}
.playlist-vjVinylDock__hide{right:12px;top:8px;font:900 9px/1 Arial,sans-serif;letter-spacing:.065em}
[data-vj-ps-one-fullscreen="true"] .playlist-vjVinylDock,
[data-vj-ps-one-fullscreen="true"] .playlist-vjVinylPill{display:none!important;visibility:hidden!important;pointer-events:none!important}
[data-vj-compositor][data-vj-video-fx-bypass="true"] .playlist-vjCompositor__videoReactiveShell{filter:none!important;transform:scale(1.08)!important;will-change:auto}

.playlist-vjBase3d{
  --console-body-top:25%;
  --console-seam-y:36%;
  --console-body-bottom:70%;
  --console-front-overlap:1%;
  --console-shell-color:#77787d;
}
.playlist-vjBase3d__volume::after{
  content:"";
  position:absolute;
  z-index:0;
  left:2%;
  right:2%;
  top:var(--console-seam-y);
  bottom:calc(100% - var(--console-body-bottom));
  border-radius:4% 4% 6% 6%;
  background:linear-gradient(#aaa9ad,#85868d 70%,var(--console-shell-color));
  pointer-events:none;
}
.playlist-vjBase3d__front{
  top:calc(var(--console-seam-y) - var(--console-front-overlap));
  height:calc(var(--console-body-bottom) - var(--console-seam-y) + var(--console-front-overlap));
}
.playlist-vjBase3d__side{top:var(--console-body-top);bottom:calc(100% - var(--console-body-bottom))}
.playlist-vjBase3d__bottom{bottom:calc(100% - var(--console-body-bottom));height:11%;background:var(--console-shell-color)}

@media (max-width:700px){
  .playlist-vjVinylDock__controls{grid-template-columns:repeat(3,28px) minmax(26px,1fr) 26px;gap:3px}
  .playlist-vjVinylDock__controls input[type="color"]{width:26px;height:25px}
}
@media (max-width:560px){
  .playlist-vjVinylDock__controls{grid-template-columns:repeat(3,28px) 26px}
  .playlist-vjVinylDock__controls input[type="range"]{display:none}
}

/* Mini-player presentation: one rotating art layer, independent color panel, explicit volume paint. */
.playlist-vjVinylDock{
  --mini-volume-color:#0075ff;
  --mini-volume-percent:68%;
}
.playlist-vjVinylDock__record{
  background-color:#15161a;
  background-image:none;
  transform:none;
  isolation:isolate;
}
.playlist-vjVinylDock__record span[data-vj-vinyl-art]{
  z-index:1;
  background-color:#15161a;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  transform:rotate(var(--mini-vinyl-angle,0deg));
  transform-origin:50% 50%;
  transition:none;
  backface-visibility:hidden;
  will-change:transform;
}
.playlist-vjVinylDock__record::before{z-index:2}
.playlist-vjVinylDock__record::after{z-index:3}
.playlist-vjVinylDock__controls input[type="range"]{
  height:18px;
  margin:0;
  padding:0;
  border:0;
  border-radius:999px;
  appearance:none;
  -webkit-appearance:none;
  background:linear-gradient(to right,var(--mini-volume-color) 0 var(--mini-volume-percent),rgba(37,39,45,.28) var(--mini-volume-percent) 100%);
  cursor:pointer;
  accent-color:var(--mini-volume-color);
}
.playlist-vjVinylDock__controls input[type="range"]::-webkit-slider-runnable-track{height:5px;border-radius:999px;background:transparent}
.playlist-vjVinylDock__controls input[type="range"]::-webkit-slider-thumb{width:14px;height:14px;margin-top:-4.5px;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:var(--mini-volume-color);box-shadow:0 1px 4px rgba(0,0,0,.42);appearance:none;-webkit-appearance:none}
.playlist-vjVinylDock__controls input[type="range"]::-moz-range-track{height:5px;border:0;border-radius:999px;background:rgba(37,39,45,.28)}
.playlist-vjVinylDock__controls input[type="range"]::-moz-range-progress{height:5px;border:0;border-radius:999px;background:var(--mini-volume-color)}
.playlist-vjVinylDock__controls input[type="range"]::-moz-range-thumb{width:12px;height:12px;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:var(--mini-volume-color);box-shadow:0 1px 4px rgba(0,0,0,.42)}
.playlist-vjVinylDock__controls input[type="range"]:focus-visible{outline:3px solid #7ee4ff;outline-offset:3px}
.playlist-vjVinylDock__controls .playlist-vjVinylDock__colorsToggle{
  position:relative;
  justify-self:end;
  width:28px;
  height:27px;
  margin:-2px 0 0;
  border-radius:7px;
  border-color:var(--mini-player-theme-border);
  background:var(--mini-player-theme-soft);
}
.playlist-vjVinylDock__colorsToggle span{position:absolute;inset:5px;border:1px solid rgba(255,255,255,.72);border-radius:4px;background:linear-gradient(135deg,var(--mini-player-theme) 0 49%,var(--mini-volume-color) 51% 100%);box-shadow:0 1px 3px rgba(0,0,0,.34)}
.playlist-vjVinylDock__colorsToggle[aria-expanded="true"]::after{content:"";position:absolute;right:-3px;top:-3px;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:#2ac56f;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.playlist-vjVinylDock__colorsPanel{
  position:absolute;
  z-index:8;
  right:9px;
  bottom:calc(100% + 8px);
  width:154px;
  box-sizing:border-box;
  padding:10px;
  border:1px solid var(--mini-player-theme-border);
  border-radius:10px;
  background:linear-gradient(145deg,rgba(255,255,255,.32),rgba(0,0,0,.1)),var(--mini-player-theme);
  box-shadow:0 8px 22px rgba(0,0,0,.46);
  color:var(--mini-player-theme-ink);
}
.playlist-vjVinylDock__colorsPanel[hidden]{display:none}
.playlist-vjVinylDock__colorsPanel>strong{display:block;margin:0 0 8px;font:900 9px/1 Arial,sans-serif;letter-spacing:.09em;white-space:nowrap}
.playlist-vjVinylDock__colorsPanel label{display:grid;grid-template-columns:1fr 32px;align-items:center;gap:8px;min-height:32px;font:900 9px/1 Arial,sans-serif;letter-spacing:.08em;cursor:pointer}
.playlist-vjVinylDock__colorsPanel input[type="color"]{width:32px;height:27px;padding:1px;box-sizing:border-box;border:1px solid var(--mini-player-theme-border);border-radius:6px;background:rgba(255,255,255,.72);cursor:pointer}
.playlist-vjVinylDock__colorsPanel input[type="color"]:focus-visible{outline:3px solid #7ee4ff;outline-offset:2px}

/* The source field is centered on the physical CD; its instruction remains a separate element above. */
.playlist-vjTray3d>.playlist-vjLink{
  inset:0;
  width:auto;
  height:auto;
  display:block;
  color:#111217;
  transform:translateZ(58px);
  pointer-events:none;
}
.playlist-vjTray3d>.playlist-vjLink .playlist-vjLink__field{
  position:absolute;
  left:50%;
  top:50%;
  width:74%;
  transform:translate(-50%,-50%);
  pointer-events:auto;
}
.playlist-vjTray3d>.playlist-vjLink .playlist-vjLink__label{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-34px);
  pointer-events:none;
}
.playlist-vjTray3d>.playlist-vjLink input{width:100%;transform:none}
@media (max-width:700px){
  .playlist-vjVinylDock__controls .playlist-vjVinylDock__colorsToggle{width:26px;height:25px}
  .playlist-vjVinylDock__colorsPanel{right:7px;width:146px}
  .playlist-vjTray3d>.playlist-vjLink .playlist-vjLink__label{transform:translate(-50%,-32px)}
}

/* Linked controller system: PS one-inspired housings with measured, non-interactive cables. */
.playlist-vjControllerLinks{
  position:fixed;
  z-index:11;
  inset:0;
  width:100vw;
  width:100dvw;
  height:100vh;
  height:100dvh;
  overflow:visible;
  pointer-events:none!important;
  user-select:none;
}
.playlist-vjControllerLinks *{pointer-events:none!important}
.playlist-vjControllerCable{opacity:.98;transition:opacity .16s ease}
.playlist-vjControllerCable[hidden]{display:none}
.playlist-vjControllerCable path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.playlist-vjControllerCable__shadow{stroke:rgba(0,0,0,.48);stroke-width:10px;filter:blur(1.2px)}
.playlist-vjControllerCable__body{stroke:#202126;stroke-width:7px}
.playlist-vjControllerCable__highlight{stroke:rgba(255,255,255,.17);stroke-width:1.25px;transform:translateY(-1.25px)}
.playlist-vjControllerCable__plug rect{fill:#292a2f;stroke:#0f1013;stroke-width:1.2px;vector-effect:non-scaling-stroke}
.playlist-vjControllerCable__plug path{stroke:#77787d;stroke-width:1px;vector-effect:non-scaling-stroke}

.playlist-vjFrontBay__controller[data-vj-controller-port-1],
.playlist-vjFrontBay__controller[data-vj-controller-port-2]{
  overflow:visible;
  border-color:#55565b;
  background:linear-gradient(#aaa9a4 0 18%,#7e7f83 42%,#5d5e63 100%);
  box-shadow:inset 0 1px rgba(249,247,240,.62),inset 0 -2px 3px rgba(25,26,30,.28),0 0 0 1px rgba(227,226,220,.3),0 2px 3px rgba(0,0,0,.32);
}
.playlist-vjFrontBay__controller[data-vj-controller-port-1] .playlist-vjFrontBay__socket,
.playlist-vjFrontBay__controller[data-vj-controller-port-2] .playlist-vjFrontBay__socket{
  background:linear-gradient(#060709,#1d1e23 58%,#090a0d);
  box-shadow:inset 0 5px 7px #020305,inset 0 -1px rgba(164,164,158,.18),0 0 0 1px rgba(239,237,228,.42),0 2px 3px rgba(0,0,0,.28);
}
.playlist-vjFrontBay__controller[data-vj-controller-port-1] .playlist-vjFrontBay__pins,
.playlist-vjFrontBay__controller[data-vj-controller-port-2] .playlist-vjFrontBay__pins{
  background-color:#a3a39f;
  box-shadow:inset 0 2px 4px rgba(16,17,20,.8),0 0 0 1px rgba(15,16,19,.68);
}
.playlist-vjFrontBay__controller[data-vj-controller-port-1] .playlist-vjFrontBay__socket::before,
.playlist-vjFrontBay__controller[data-vj-controller-port-2] .playlist-vjFrontBay__socket::before,
.playlist-vjFrontBay__controller[data-vj-controller-port-1] .playlist-vjFrontBay__socket::after,
.playlist-vjFrontBay__controller[data-vj-controller-port-2] .playlist-vjFrontBay__socket::after{background:linear-gradient(#929398,#606166)}

.playlist-vjVinylDock,.playlist-vjWheelDock{isolation:isolate;overflow:visible}
.playlist-vjVinylDock::before,.playlist-vjWheelDock::before{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(145deg,rgba(255,255,255,.78),transparent 30%),
    linear-gradient(160deg,#d6d3ca 0,#b7b4ac 56%,#8d8b86 100%);
  border:1px solid rgba(61,62,66,.72);
  box-shadow:inset 0 2px rgba(255,255,255,.64),inset 0 -4px 7px rgba(49,50,54,.19),0 10px 22px rgba(0,0,0,.34);
}
.playlist-vjVinylDock::before{
  inset:-9px -12px -10px -10px;
  border-radius:74px 31px 35px 76px / 66px 37px 42px 69px;
  clip-path:polygon(7% 7%,83% 3%,96% 18%,100% 71%,92% 94%,66% 97%,59% 87%,35% 89%,28% 98%,8% 91%,0 66%,1% 29%);
}
.playlist-vjWheelDock::before{
  inset:-14% -12% -14%;
  border-radius:42% 42% 48% 48% / 38% 38% 58% 58%;
  clip-path:polygon(18% 5%,40% 0,50% 8%,60% 0,82% 5%,100% 35%,94% 92%,72% 100%,61% 76%,39% 76%,28% 100%,6% 92%,0 35%);
}
.playlist-vjVinylDock__record{
  box-shadow:0 0 0 5px #aaa8a1,0 0 0 6px rgba(53,54,58,.72),0 5px 11px rgba(0,0,0,.52);
}
.playlist-vjWheelDock{
  bottom:max(30px,calc(env(safe-area-inset-bottom) + 22px));
  border-color:rgba(59,60,65,.88);
  box-shadow:0 0 0 5px #aaa8a1,0 0 0 6px rgba(53,54,58,.72),0 9px 25px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.7);
}
[data-vj-active-target="cthugha"] .playlist-vjWheelDock{box-shadow:0 0 0 5px #aaa8a1,0 0 0 7px rgba(77,214,255,.68),0 9px 25px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.7)}
[data-vj-active-target="video"] .playlist-vjWheelDock{box-shadow:0 0 0 5px #aaa8a1,0 0 0 7px rgba(255,124,74,.72),0 9px 25px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.7)}

.playlist-vjControllerHousing__jack{
  position:absolute;
  z-index:5;
  width:25px;
  height:9px;
  box-sizing:border-box;
  border:1px solid #2d2e33;
  border-radius:3px 3px 6px 6px;
  background:linear-gradient(#15161a,#4c4d52);
  box-shadow:inset 0 2px 3px #07080a,0 1px rgba(255,255,255,.48);
  pointer-events:none;
}
.playlist-vjControllerHousing__jack::after{
  content:"";
  position:absolute;
  left:6px;
  right:6px;
  top:2px;
  height:2px;
  border-radius:2px;
  background:#8c8d91;
}
.playlist-vjControllerHousing__jack--one{left:61%;top:-9px;transform:translateX(-50%)}
.playlist-vjControllerHousing__jack--two{left:50%;top:-12%;transform:translateX(-50%)}
.playlist-vjControllerHousing__legend{
  position:absolute;
  z-index:5;
  bottom:-9px;
  color:#414247;
  font:800 6px/1 Arial,sans-serif;
  letter-spacing:.12em;
  white-space:nowrap;
  pointer-events:none;
}
.playlist-vjControllerHousing__legend b{
  display:inline-grid;
  place-items:center;
  min-width:15px;
  height:9px;
  margin-right:3px;
  border:1px solid rgba(63,64,68,.62);
  border-radius:5px;
  color:#292a2e;
  font-size:6px;
  letter-spacing:0;
}
.playlist-vjControllerHousing__legend--one{left:48%}
.playlist-vjControllerHousing__legend--two{left:50%;bottom:-12%;transform:translateX(-50%)}

[data-vj-ps-one-fullscreen="true"] .playlist-vjControllerCable--one,
[data-vj-vinyl-hidden="true"] .playlist-vjControllerCable--one{display:none}
@media (max-width:700px){
  .playlist-vjControllerCable__shadow{stroke-width:8px}
  .playlist-vjControllerCable__body{stroke-width:5.5px}
  .playlist-vjVinylDock::before{inset:-7px -9px -8px -8px}
  .playlist-vjWheelDock::before{inset:-14% -8% -13%}
  .playlist-vjControllerHousing__legend{display:none}
  .playlist-vjControllerHousing__jack--one{top:-7px}
  .playlist-vjControllerHousing__jack--two{top:-10%}
}
@media (prefers-reduced-motion:reduce){.playlist-vjControllerCable{transition:none}}

/* Controller refinement: tactile plastic, classic face colors, drag affordance, and seated plugs. */
.playlist-vjVinylDock,.playlist-vjWheelDock{
  --vj-controller-drag-x:0px;
  --vj-controller-drag-y:0px;
  translate:var(--vj-controller-drag-x) var(--vj-controller-drag-y);
  user-select:none;
  touch-action:none;
  cursor:grab;
  contain:layout style;
}
.playlist-vjVinylDock.is-controller-dragging,.playlist-vjWheelDock.is-controller-dragging{
  z-index:16;
  cursor:grabbing;
  filter:drop-shadow(0 17px 16px rgba(0,0,0,.48)) brightness(1.035);
}
.playlist-vjVinylDock.is-controller-repositioning,.playlist-vjWheelDock.is-controller-repositioning{transition:translate .18s cubic-bezier(.2,.8,.2,1)}
.playlist-vjVinylDock.is-controller-collision,.playlist-vjWheelDock.is-controller-collision{filter:drop-shadow(0 0 5px rgba(94,220,255,.72))}
.playlist-vjVinylDock button,.playlist-vjVinylDock input,.playlist-vjVinylDock label,.playlist-vjVinylDock [role="button"],
.playlist-vjWheelDock button,.playlist-vjWheelDock input,.playlist-vjWheelDock label{cursor:pointer}

.playlist-vjVinylDock::before,.playlist-vjWheelDock::before{
  background:
    linear-gradient(145deg,rgba(255,255,255,.82),transparent 27%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,rgba(52,53,57,.018) 1px 3px),
    linear-gradient(160deg,#d9d6cd 0,#b6b3aa 48%,#888782 100%);
  border-color:rgba(50,51,55,.8);
  box-shadow:inset 0 2px rgba(255,255,255,.68),inset 0 -5px 8px rgba(42,43,47,.24),0 10px 22px rgba(0,0,0,.36);
}
.playlist-vjVinylDock{box-shadow:0 0 0 2px rgba(46,47,51,.42),0 9px 25px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.58),inset 0 -8px 13px rgba(35,36,40,.14)}
.playlist-vjVinylDock__controls{
  padding:4px;
  border:1px solid rgba(35,36,40,.28);
  border-radius:16px;
  background:rgba(48,49,54,.2);
  box-shadow:inset 0 2px 5px rgba(18,19,22,.2),0 1px rgba(255,255,255,.3);
}
.playlist-vjVinylDock__controls button:not(.playlist-vjVinylDock__colorsToggle){
  border-color:#24252a;
  background:linear-gradient(#55565c,#303137);
  color:#f7f5ef;
  box-shadow:inset 0 1px rgba(255,255,255,.2),0 2px 3px rgba(0,0,0,.25);
}
.playlist-vjVinylDock__controls button:nth-child(1){border-bottom:3px solid #43a772}
.playlist-vjVinylDock__controls button:nth-child(2){border-bottom:3px solid #4388d1}
.playlist-vjVinylDock__controls button:nth-child(3){border-bottom:3px solid #c85f94}
.playlist-vjVinylDock__controls .playlist-vjVinylDock__colorsToggle{box-shadow:inset 0 0 0 2px #56575d,0 2px 3px rgba(0,0,0,.22)}

.playlist-vjWheelDock{
  background:radial-gradient(circle,#14151a 0 27%,#4b4c52 28% 34%,#aaa8a1 35% 65%,#66676c 66% 71%,#222329 72%);
}
.playlist-vjWheelDock__actions{z-index:2}
.playlist-vjWheelDock__actions::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:19%;
  border:1px solid rgba(32,33,37,.72);
  border-radius:50%;
  background:radial-gradient(circle,#55565b,#393a40 72%,#26272c 73%);
  box-shadow:inset 0 5px 9px rgba(0,0,0,.38),0 1px rgba(255,255,255,.3);
  pointer-events:none;
}
.playlist-vjWheelDock__actions button{
  --vj-face-color:#8d8e92;
  z-index:1;
  border-radius:50%;
  background:radial-gradient(circle,#292a2f 0 14px,var(--vj-face-color) 14px 16px,#77787d 16px 18px,transparent 19px);
  color:#f7f5ef;
  text-shadow:0 1px 1px #000;
}
.playlist-vjWheelDock__actions button::before{
  content:attr(data-vj-face-symbol);
  position:absolute;
  z-index:2;
  right:4px;
  top:2px;
  color:var(--vj-face-color);
  font:900 8px/1 Arial,sans-serif;
  text-shadow:0 1px 1px rgba(0,0,0,.75);
  pointer-events:none;
}
.playlist-vjWheelDock__actions button[data-vj-face-tone="triangle"]{--vj-face-color:#45a66e}
.playlist-vjWheelDock__actions button[data-vj-face-tone="circle"]{--vj-face-color:#d86156}
.playlist-vjWheelDock__actions button[data-vj-face-tone="cross"]{--vj-face-color:#4388d1}
.playlist-vjWheelDock__actions button[data-vj-face-tone="square"]{--vj-face-color:#c55c91}
.playlist-vjWheelDock__actions button[data-level]::after{color:#f3f1eb;text-shadow:0 1px 1px #000}
.playlist-vjWheelDock__hub{border-color:#77787d;background:radial-gradient(circle at 35% 28%,#393a40,#111217 70%);box-shadow:inset 0 2px 4px rgba(255,255,255,.12),0 3px 6px rgba(0,0,0,.36)}
.playlist-vjWheelTarget,.playlist-vjWheelPages{border-color:rgba(154,154,149,.74);background:linear-gradient(#393a40,#1f2025);box-shadow:inset 0 1px rgba(255,255,255,.12),0 5px 15px rgba(0,0,0,.34)}

.playlist-vjControllerHousing__dragGrip{
  position:absolute;
  z-index:9;
  display:block;
  width:43px;
  height:12px;
  box-sizing:border-box;
  border:1px solid rgba(43,44,48,.68);
  border-radius:7px;
  background:repeating-linear-gradient(90deg,#55565b 0 2px,#a5a39c 2px 4px);
  box-shadow:inset 0 1px rgba(255,255,255,.38),0 2px 3px rgba(0,0,0,.28);
  cursor:grab;
  pointer-events:auto;
  touch-action:none;
}
.playlist-vjControllerHousing__dragGrip::after{content:"DRAG";position:absolute;inset:0;display:grid;place-items:center;border-radius:inherit;background:rgba(154,153,147,.74);color:#313237;font:900 5px/1 Arial,sans-serif;letter-spacing:.14em;pointer-events:none}
.playlist-vjControllerHousing__dragGrip--one{right:10px;top:8px}
.playlist-vjControllerHousing__dragGrip--two{left:50%;top:7%;width:34px;height:10px;transform:translateX(-50%)}
.is-controller-dragging .playlist-vjControllerHousing__dragGrip{cursor:grabbing;background:#393a40}

.playlist-vjControllerCable__shadow{stroke:rgba(12,13,16,.68);stroke-width:11px;filter:none}
.playlist-vjControllerCable__body{stroke:#696862;stroke-width:7.4px}
.playlist-vjControllerCable__highlight{stroke:rgba(230,227,218,.42);stroke-width:1.45px;transform:translateY(-1.35px)}
.playlist-vjControllerCable__plug{filter:drop-shadow(0 3px 2px rgba(0,0,0,.5))}
.playlist-vjControllerCable__plugInsert{fill:#5b5c61!important;stroke:#111216!important;stroke-width:1.55px!important;vector-effect:non-scaling-stroke}
.playlist-vjControllerCable__plugCollar{fill:#48494d!important;stroke:#202126!important;stroke-width:1.45px!important;vector-effect:non-scaling-stroke}
.playlist-vjControllerCable__plugHead{fill:url(#playlistVjControllerPlugBody);stroke:#24252a;stroke-width:1.55px;vector-effect:non-scaling-stroke}
.playlist-vjControllerCable__plugSide{fill:#24252a!important;stroke:#18191d!important;stroke-width:1px!important;vector-effect:non-scaling-stroke}
.playlist-vjControllerCable__plugTop{fill:url(#playlistVjControllerPlugTop)!important;stroke:#55565a!important;stroke-width:.85px!important;vector-effect:non-scaling-stroke}
.playlist-vjControllerCable__plugBadge{fill:#a6a59f!important;stroke:#3d3e42!important;stroke-width:.9px!important;vector-effect:non-scaling-stroke}
.playlist-vjControllerCable__plugPins{stroke:#b8b7b1!important;stroke-width:1.45px!important;vector-effect:non-scaling-stroke}
.playlist-vjControllerCable__plugSeam{stroke:#202126!important;stroke-width:1px!important;opacity:.9;vector-effect:non-scaling-stroke}
.playlist-vjControllerCable__plugBevel{stroke:rgba(225,223,215,.5)!important;stroke-width:.9px!important;vector-effect:non-scaling-stroke}
.playlist-vjControllerCable__strain{fill:#3d3e43!important;stroke:#1b1c20!important;stroke-width:1.3px!important;vector-effect:non-scaling-stroke}
.playlist-vjControllerCable__strainRibs{fill:none!important;stroke:#777873!important;stroke-width:1px!important;vector-effect:non-scaling-stroke}
.playlist-vjFrontBay__controller[data-vj-linked="true"]{background:linear-gradient(#b3b2ac 0 18%,#828388 42%,#606166 100%);box-shadow:inset 0 1px rgba(255,253,246,.7),inset 0 -2px 3px rgba(25,26,30,.3),0 0 0 1px rgba(239,237,228,.7),0 3px 4px rgba(0,0,0,.4)}
.playlist-vjFrontBay__controller[data-vj-linked="true"] .playlist-vjFrontBay__socket{box-shadow:inset 0 6px 8px #010204,inset 0 -1px rgba(164,164,158,.2),0 0 0 1px rgba(245,242,233,.48),0 2px 4px rgba(0,0,0,.4)}

@media (max-width:700px){
  .playlist-vjControllerHousing__dragGrip--one{right:7px;top:6px;width:34px;height:10px}
  .playlist-vjControllerHousing__dragGrip--two{top:5%;width:28px;height:8px}
  .playlist-vjControllerHousing__dragGrip::after{font-size:4px}
  .playlist-vjWheelDock__actions button{background:radial-gradient(circle,#292a2f 0 11px,var(--vj-face-color) 11px 13px,#77787d 13px 15px,transparent 16px)}
  .playlist-vjWheelDock__actions button::before{right:2px;top:1px;font-size:7px}
}
@media (prefers-reduced-motion:reduce){
  .playlist-vjVinylDock.is-controller-repositioning,.playlist-vjWheelDock.is-controller-repositioning{transition-duration:.08s}
}
