:root{color-scheme:dark;--blue:#00e5ff;--pink:#ff338e;--purple:#9147ff}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#040711;color:#edf7ff;font-family:Inter,Segoe UI,system-ui,sans-serif}body{overflow-x:hidden}#show,.stage-glow{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}#show{opacity:.85}.stage-glow{background:radial-gradient(ellipse at 50% 32%,#294c9e30,transparent 63%),linear-gradient(130deg,#05071488,#05071499)}.mast,main,footer{position:relative;z-index:2}.mast{padding:24px clamp(20px,4vw,70px);display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #90aaff22;background:#080b1999;backdrop-filter:blur(16px)}.eyebrow{font-size:10px;letter-spacing:.25em;font-weight:800;color:#5ce8f4}.mast h1{margin:6px 0 0;font-weight:1000;font-size:clamp(22px,3vw,36px);letter-spacing:.04em}.mast h1 span{color:var(--blue)}.live{font-size:11px;letter-spacing:.11em;color:#bfd8f0}.live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#00ffa8;box-shadow:0 0 13px #00ffa8;margin-right:6px}main{max-width:1500px;margin:auto;padding:25px clamp(14px,3vw,48px)}.hero{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;padding:22px 22px;border:1px solid #2c4770aa;background:#080e23d9;border-radius:18px}.hero-txt{display:flex;flex-direction:column;gap:10px}.hero-txt strong{font-size:13px;letter-spacing:.19em}.hero-txt span{font-size:12px;color:#a6c0d9}.transport{display:flex;gap:9px;flex-wrap:wrap}button{border:1px solid #52739b;border-radius:11px;background:#18253d;color:white;padding:12px 18px;font-weight:800;font-size:13px;cursor:pointer}button:hover{border-color:var(--blue)}button:focus-visible{outline:3px solid #67f5ff}.play,#unlockPlay{background:linear-gradient(120deg,#00b5df,#2a65f3);border:0;box-shadow:0 5px 28px #00cfff44}.decks{display:grid;grid-template-columns:minmax(0,1fr) minmax(135px,200px) minmax(0,1fr);gap:16px;margin-top:20px;align-items:stretch}.deck{position:relative;overflow:hidden;text-align:center;border:1px solid #5a6fa55c;border-radius:24px;padding:22px 24px;background:linear-gradient(165deg,#1b2844e6,#080d21f0 62%,#17132de8);box-shadow:0 24px 50px #0009}.deck:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 24%,#2c9fff26,transparent 55%);pointer-events:none}.deck-top{display:flex;justify-content:space-between;align-items:center;position:relative}.deck-code{font-weight:1000;letter-spacing:.22em;color:#72deff}.deck-state{font-size:10px;letter-spacing:.14em;color:#899db5}.deck.playing .deck-state{color:#00ffb7}.turntable{position:relative;width:min(100%,290px);aspect-ratio:1;margin:20px auto 24px;display:grid;place-items:center}.turntable:before{content:"";position:absolute;inset:4%;border-radius:50%;border:1px solid #5ac9f233;box-shadow:0 0 35px #168ac631,inset 0 0 25px #000}.record{position:relative;width:88%;height:88%;border-radius:50%;border:3px solid #3c5f89;background:repeating-radial-gradient(circle,#07111f 0 4px,#10172d 5px 6px,#05070e 7px 9px);box-shadow:0 12px 40px #000b,0 0 35px #31b3ff3b;display:grid;place-items:center}.record.spinning{animation:spin 2.1s linear infinite}.record .ring{position:absolute;inset:24%;border:2px solid #d6329f;border-radius:50%;box-shadow:0 0 24px #ca30ee99}.center{display:grid;place-items:center;width:28%;height:28%;border-radius:50%;background:#111b38;border:2px solid #00e5ff;color:#bffcff;font-weight:1000;font-size:25px;box-shadow:0 0 23px #00ccff77}.arm{position:absolute;right:5%;top:2%;height:52%;width:9px;transform:rotate(22deg);transform-origin:top;border-radius:6px;background:linear-gradient(#7086a2,#d3eafa,#778aa9);box-shadow:0 0 10px #000}.track-name{position:relative;font-size:clamp(15px,2vw,21px);font-weight:800;min-height:2.6em;overflow-wrap:anywhere}.meta{font-size:12px;color:#9aaac0;min-height:20px;margin-top:8px}.progress{height:6px;margin-top:18px;border-radius:6px;background:#34415f;overflow:hidden}.progress div{height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--pink))}.time{font-size:11px;color:#b8d4eb;text-align:right;margin-top:8px;font-variant-numeric:tabular-nums}.center-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;border:1px solid #24446788;border-radius:18px;background:#080f27bd;padding:25px 12px}.meters{height:110px;width:100%;display:flex;align-items:flex-end;gap:4px;justify-content:center}.meters b{flex:1;max-width:9px;height:7%;border-radius:3px 3px 0 0;background:linear-gradient(#ff278a,#b457ff,#00c8ff)}.mix-label,.mix-tip,.level{font-size:10px;text-align:center;letter-spacing:.14em;color:#a9bcd9}.mix-tip{line-height:1.7;letter-spacing:0}.cross{height:8px;width:95%;border-radius:9px;background:#2b3754;position:relative}.cross div{width:18px;height:18px;position:absolute;top:-5px;left:0;border:3px solid #eee;border-radius:50%;background:var(--pink);box-shadow:0 0 15px var(--pink)}.level strong{display:block;font-size:18px;color:white;margin-top:5px}.setlist{border:1px solid #304f7f80;background:#080c1dd9;border-radius:18px;margin-top:20px;padding:25px}.set-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.set-head h2{font-size:14px;letter-spacing:.18em}.set-head span{font-size:11px;color:#7ecdeb}.setlist ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.setlist li{display:flex;gap:14px;padding:12px 14px;border:1px solid #263953;border-radius:10px;background:#10182b;color:#c6d6ea;font-size:13px;overflow-wrap:anywhere}.setlist li strong{color:#43e8ff}.setlist li.active{border-color:#00e5ff;background:#0b3650}footer{padding:24px 30px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.12em;color:#7996b5}#unblock:not([hidden]){position:fixed;inset:0;display:grid;place-items:center;z-index:20;background:#020611ba;backdrop-filter:blur(7px)}.unlock{max-width:380px;background:#111b31;border:1px solid #00cfff88;box-shadow:0 15px 75px #000;padding:30px;border-radius:20px;text-align:center}.unlock p{line-height:1.5;color:#b8c8df}.unlock button{margin-top:12px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.decks{grid-template-columns:1fr 1fr}.center-panel{grid-column:1/-1;grid-row:2;flex-direction:row;gap:15px}.meters{height:50px;max-width:140px}.center-panel>*{flex:1}.cross{max-width:90px}}@media(max-width:590px){.mast{align-items:start;flex-direction:column}.decks{grid-template-columns:1fr}.center-panel{grid-column:1;grid-row:auto;flex-wrap:wrap}.setlist ol{grid-template-columns:1fr}.deck{padding:14px}.turntable{width:205px;margin:12px auto}.hero{padding:17px}}


/* Boothby On Air live stage visual upgrade */
:root{--blue:#26f7ff;--pink:#ff4ac5;--purple:#a46aff;--amber:#ffc66d}
html,body{background:#030416}
#show{opacity:1;filter:saturate(1.28)}.stage-glow{background:radial-gradient(ellipse at 50% 21%,#2b58dd4f,transparent 52%),radial-gradient(ellipse at 15% 68%,#c138ac2f,transparent 47%),radial-gradient(ellipse at 88% 65%,#0dd9ff2d,transparent 47%);mix-blend-mode:screen}
.mast{border-bottom-color:#42daff5b;background:#07102cce}.back-link{font-size:12px;font-weight:800;color:#dcfcff;text-decoration:none;padding:12px 17px;border-radius:12px;border:1px solid #4cbddf85;background:#142248;white-space:nowrap}.back-link:hover{background:#234977;color:#fff}.hero{border-color:#2c9feb9c;box-shadow:inset 0 0 30px #0e66c022,0 10px 38px #0007}
.deck{border-color:#5a9be68c;background:linear-gradient(155deg,#18274add,#0a0c28e8 52%,#25123ee6);box-shadow:0 20px 50px #000a,0 0 28px #225fff1b}
.deck.playing{border-color:#2defffaa;box-shadow:0 20px 60px #000b,0 0 40px #17cfff39}
.deck:before{background:radial-gradient(circle at 50% 35%,#27c8ff37,transparent 60%)}
.turntable{width:min(100%,320px);margin:20px auto 25px;filter:drop-shadow(0 0 22px #1be6ff24)}
.turntable:before{inset:0;border:2px solid #4fdffb4a;box-shadow:0 0 32px #04d9ff46,inset 0 0 24px #000}
.turntable:after{content:"";position:absolute;inset:1%;border-radius:50%;border:1px dashed #83cafa47;pointer-events:none;animation:spin 24s linear infinite}
.record{width:85%;height:85%;border:5px solid #607eaf;background:repeating-radial-gradient(circle,#0a1428 0 3px,#101c32 4px 5px,#050811 6px 8px);box-shadow:0 18px 48px #000d,0 0 30px #1497ff60,inset 0 0 20px #000}
.record:before{content:"";position:absolute;inset:3%;border-radius:50%;border:2px solid #9db5dc45;box-shadow:inset 0 0 13px #080b15}
.record .ring{inset:29%;border:2px solid #e3a6ffb8;box-shadow:0 0 24px #ef4fffbb,0 0 10px #4be5ff}
.record-grooves{position:absolute;inset:12%;border-radius:50%;border:1px solid #a5dafa55;box-shadow:0 0 0 6px #98c6ff0a,0 0 0 15px #98c6ff0b,0 0 0 24px #98c6ff0b}
.center{width:46%;height:46%;background:#091126;border:3px solid #66ecff;box-shadow:0 0 25px #00dfff8a,0 0 0 5px #030e2f;overflow:hidden;z-index:2}
.center img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;background:#0c1224}
.spindle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:9px;height:9px;border-radius:50%;background:#f6feff;box-shadow:0 0 10px #fff,0 0 0 4px #001a2cb9}
.arm{right:1%;top:-1%;height:52%;width:8px;transform:rotate(26deg);z-index:4;background:linear-gradient(90deg,#5b748c,#c5e8fa,#60728c);box-shadow:2px 3px 8px #000}
.arm:after{content:"";position:absolute;bottom:-2px;left:-5px;height:24px;width:18px;background:linear-gradient(#b9cee9,#385577);border-radius:3px 3px 8px 8px;box-shadow:0 0 12px #00caff45}
.deck.playing .turntable:before{animation:deck-pulse 1.1s ease-in-out infinite alternate}
@keyframes deck-pulse{to{box-shadow:0 0 55px #03dcff95,inset 0 0 30px #0562ba65}}
.center-panel{background:linear-gradient(180deg,#0b1632e8,#100b31e6);border-color:#4a81bd94;gap:16px;padding:18px 12px}
.meters{height:100px}.meters b{box-shadow:0 0 6px #20e1ff85}.cross{box-shadow:0 0 12px #18bcff30}
.sound-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.sound-chip{min-width:0;padding:10px 5px;border-radius:10px;border:1px solid #3f77b17d;background:linear-gradient(140deg,#112b51ce,#16143ed9);text-align:center}.sound-chip small{display:block;font-size:8px;letter-spacing:.07em;color:#80e9ff;font-weight:800}.sound-chip strong{display:block;font-size:clamp(10px,1vw,13px);margin-top:6px;color:#fafcff;white-space:nowrap}
@media(max-width:900px){.center-panel{flex-direction:column;grid-column:1/-1}.center-panel>*{flex:initial}.sound-chips{grid-template-columns:repeat(4,1fr)}.meters{max-width:420px;width:100%}.cross{width:min(95%,360px);max-width:none}}
@media(max-width:590px){.turntable{width:min(100%,275px)}.mast{flex-direction:row;align-items:center}.back-link{font-size:10px;padding:9px}.mast h1{font-size:18px}.eyebrow{font-size:8px}.sound-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.turntable:after,.deck.playing .turntable:before{animation:none}}

@media(min-width:901px){.sound-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.sound-chip:last-child{grid-column:1/-1}}
@media(min-width:1200px){.center-panel{min-width:185px}}

/* V5 stage restoration: visual depth behind readable controls. */
#show{opacity:1;filter:saturate(1.55) contrast(1.1)}
.stage-glow{opacity:.76;pointer-events:none}
.deck,.center-panel,.setlist{backdrop-filter:blur(6px)}
@media(prefers-reduced-motion:reduce){#show{opacity:.62;filter:none}}

/* Boothby On Air 8.1: two-player console, clean full-width mixer, refined stage. */
:root{--blue:#60e6fa;--pink:#ef71dc;--purple:#9385f3;--amber:#f0bf7b}
html,body{background:#050917;color:#eff6fc}
#show{opacity:.82;filter:saturate(.96) contrast(1.07)}
.stage-glow{opacity:.68;background:linear-gradient(180deg,#05112688 0%,#05091644 40%,#060b1cbb 100%)}
.mast{padding:17px clamp(16px,3.5vw,54px);border-bottom:1px solid #8ccaf42b;background:#071224e8}
.mast h1{font-size:clamp(21px,2.7vw,33px)}
main{max-width:1360px;padding:20px clamp(12px,2.4vw,34px) 55px}
.hero{padding:18px 22px;border:1px solid #6297cc54;background:#08152bdc;border-radius:17px}
.hero-txt strong{font-size:12px;letter-spacing:.16em;color:#dfeffc}
.hero-txt span{font-size:12px;color:#b4c7dc}
.decks{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:16px;align-items:stretch}
.deck{min-width:0;display:grid;grid-template-rows:auto 1fr auto auto auto auto;border-radius:19px;padding:17px clamp(15px,2vw,28px) 16px;background:linear-gradient(152deg,#17253acc,#0a1222f3 63%,#13182ff2);border:1px solid #6487b65e;box-shadow:0 16px 40px #0007}
.deck:before{background:radial-gradient(circle at 50% 27%,#379ec31b,transparent 60%)}
.deck.playing{border-color:#85e4ef9e;box-shadow:0 19px 50px #000a,0 0 24px #5bd4eb28}
.deck-code{font-size:12px;letter-spacing:.15em;color:#90cfe4}.deck-code em{font-style:normal;color:#f1f8fd;margin-left:12px}
.deck-state{background:#192c3e;border:1px solid #4f729b52;border-radius:30px;padding:7px 11px;font-size:9px}
.deck.playing .deck-state{background:#123c3d;color:#93fff0}
.turntable{width:min(100%,276px);margin:12px auto 10px;filter:drop-shadow(0 8px 16px #0008)}
.turntable:before{inset:1%;border:1px solid #9fc9d04d;box-shadow:0 0 18px #73d8e122,inset 0 0 25px #000}
.turntable:after{border:1px solid #75c3d63a;animation:spin 42s linear infinite}
.record{border:4px solid #687d96;background:repeating-radial-gradient(circle,#090e18 0 2px,#172031 3px 5px,#070c15 6px 8px);box-shadow:0 14px 34px #000b,0 0 17px #77b9df20}
.record .ring{border-color:#cfb8e7a6;box-shadow:0 0 17px #a46ddb48}
.deck.playing .turntable:before{animation:none;box-shadow:0 0 23px #68ecf454,inset 0 0 21px #000}
.arm{right:3%;height:47%;box-shadow:2px 3px 7px #000a}
.track-name{font-size:clamp(17px,2.25vw,24px);min-height:1.7em;margin-top:7px;line-height:1.18}
.meta{color:#b5c9da;font-size:13px}
.progress{height:5px;margin-top:14px;background:#2a435e}.time{font-size:12px;color:#d3e3f2}
.center-panel{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:minmax(120px,210px) 1fr;align-items:center;justify-items:stretch;gap:10px 20px;border-radius:16px;padding:19px 23px;background:linear-gradient(105deg,#101b2de5,#0b1328ec);border:1px solid #5483a459}
.meters{grid-column:1;grid-row:1/4;height:76px;max-width:210px}.mix-label{grid-column:2;grid-row:1;text-align:left;font-size:10px;color:#b8d9ee}
.cross{grid-column:2;grid-row:2;max-width:none;width:100%;height:7px}.mix-tip{grid-column:2;grid-row:3;text-align:left;font-size:11px}
.sound-chips{grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.sound-chip{min-width:0;border:1px solid #4b789a68;border-radius:10px;background:#111f34d9;padding:10px 8px;text-align:left}
.sound-chip small{font-size:9px;color:#a7c8de}.sound-chip strong{font-size:clamp(11px,1vw,14px);margin-top:5px;color:#f5fbff}
.sound-chip:last-child{grid-column:auto}
.setlist{margin-top:17px;background:#0a1425e8;border:1px solid #52779a5d;padding:20px 24px;border-radius:16px}
.set-head h2{font-size:14px;letter-spacing:.13em}.setlist ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:0}
.setlist li{display:grid;grid-template-columns:35px 36px minmax(0,1fr);align-items:center;gap:9px;padding:9px 12px;border:1px solid #45617a50;border-radius:10px;background:#111e31e3;color:#d9e8f4;font-size:13px;min-height:57px;text-align:left}
.setlist li strong{color:#86cfe6;font-variant-numeric:tabular-nums;font-size:11px}
.setlist li .track-art{width:36px;height:36px;object-fit:cover;border-radius:7px;background:#13213a}
.setlist li .track-caption{display:flex;flex-direction:column;min-width:0;gap:3px}
.setlist li .track-caption b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:12px;font-weight:700;color:#ecf5fc}
.setlist li .track-caption small{color:#9eb8cc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.setlist li.active{border-color:#5be2f2a8;background:#123447}
@media(max-width:800px){.decks{gap:12px}.deck{padding:14px}.turntable{width:min(100%,228px)}.center-panel{grid-template-columns:1fr 1fr}.meters{max-width:180px}.center-panel>*{flex:unset}.sound-chips{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:590px){.mast{padding:14px}.decks{grid-template-columns:1fr;gap:12px}.deck{grid-template-columns:42% 1fr;grid-template-rows:auto 1fr auto auto;column-gap:14px;align-items:center;text-align:left}.deck-top{grid-column:1/-1}.turntable{width:min(100%,175px);grid-column:1;grid-row:2/5;margin:6px auto}.track-name{grid-column:2;grid-row:2;min-height:0;font-size:clamp(16px,4.4vw,22px);margin:0}.meta{grid-column:2;grid-row:3;min-height:0}.progress{grid-column:1/-1;grid-row:5;margin-top:12px}.time{grid-column:1/-1;grid-row:6}.center-panel{padding:15px;grid-template-columns:1fr;gap:10px}.meters{grid-column:1;grid-row:1;width:100%;height:36px;max-width:none}.mix-label{grid-column:1;grid-row:2;text-align:center}.cross{grid-column:1;grid-row:3}.mix-tip{grid-column:1;grid-row:4;text-align:center}.sound-chips{grid-column:1;grid-row:5;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.sound-chip{padding:8px}.setlist{padding:15px}.setlist ol{grid-template-columns:1fr}.hero{gap:14px}.transport{width:100%}.transport button{flex:1;padding:12px 10px}}
@media(prefers-reduced-motion:reduce){.record.spinning,.turntable:after{animation:none!important}}

/* Boothby On Air Underground Club edition: photographic depth and GPU-friendly kinetic lighting. */
:root{--beat:0;--bass:0;--mid:0;--treble:0;--scene-quality:1;--scene-motion:1}
html,body{background:#02040d;color:#f7faff}
body{isolation:isolate}
#show{z-index:1;opacity:.63;mix-blend-mode:screen;filter:none}
.stage-glow{z-index:0;opacity:.5}
.mast{z-index:5;position:relative;padding:13px clamp(16px,3vw,50px);border-bottom:1px solid #6fe0fe38;background:#030811f5}
.mast h1{font-weight:950;letter-spacing:-.025em}
.mast h1 span{color:#a9eaff}
.club-scene{height:clamp(270px,38vw,470px);max-height:52vh;position:relative;isolation:isolate;overflow:hidden;background:#060817;border-bottom:1px solid #6ea6ff50}
.club-backdrop,.club-crowd{position:absolute;inset:0;pointer-events:none;background-position:center;background-size:cover;will-change:transform}
.club-backdrop{background-image:linear-gradient(180deg,#0307103d,#0c0d2270 72%,#03050de0),url('club-stage.webp');transform:scale(calc(1.02 + var(--bass)*.012))}
.club-crowd{top:51%;background-image:linear-gradient(0deg,#02040ca3,transparent 58%),url('club-crowd.webp');background-position:center 35%;background-size:cover;opacity:.96;transform:translate3d(0,calc(var(--beat)*-2px),0) scale(1.03);mask-image:linear-gradient(transparent,#000 18%,#000 100%)}
.club-scene:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,#2f00af35,transparent 50%),linear-gradient(90deg,#0008,transparent 30%,transparent 70%,#0007);z-index:2;pointer-events:none}
.club-scene:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 18%,#6cddff40,transparent 52%);mix-blend-mode:screen;opacity:calc(.12 + var(--beat)*.36);z-index:2;pointer-events:none}
.club-light{position:absolute;z-index:2;top:-24%;width:52%;height:115%;pointer-events:none;mix-blend-mode:screen;opacity:calc(.12 + var(--mid)*.35);filter:blur(20px);will-change:transform}
.club-light-a{left:3%;background:conic-gradient(from 40deg at 50% 0%,transparent 0deg,#3adaff80 18deg,transparent 36deg);transform:rotate(calc(-9deg + var(--mid)*8deg))}
.club-light-b{right:3%;background:conic-gradient(from -40deg at 50% 0%,transparent 0deg,#e956ff80 18deg,transparent 36deg);transform:rotate(calc(9deg - var(--mid)*8deg))}
.club-sign{position:absolute;z-index:3;top:15%;left:50%;width:min(92%,850px);transform:translateX(-50%);text-align:center;pointer-events:none;text-shadow:0 3px 26px #000,0 0 32px #06103d}
.club-kicker{font-size:clamp(9px,1vw,12px);letter-spacing:.42em;color:#b8f5ff;font-weight:800}
.club-sign h2{font-size:clamp(30px,5.8vw,92px);line-height:.94;letter-spacing:-.06em;font-style:italic;font-weight:1000;margin:13px 0 7px;text-transform:uppercase;filter:drop-shadow(0 3px 9px #020208)}
.club-sign em{color:#c7a7ff;font-style:inherit}
.club-sign p{font-size:clamp(10px,1.5vw,20px);font-weight:800;letter-spacing:.36em;margin:0;color:#f3faff}
.club-bottom{position:absolute;z-index:4;bottom:12px;left:clamp(18px,3vw,50px);right:clamp(18px,3vw,50px);display:flex;justify-content:space-between;align-items:center;gap:12px}
.live-pulse{font-size:10px;font-weight:850;letter-spacing:.18em;color:#d7f3ff;text-shadow:0 2px 8px #000}
.live-pulse i{display:inline-block;width:8px;height:8px;background:#5afac9;box-shadow:0 0 14px #24f8be;border-radius:100%;margin-right:8px}
.visual-mode{background:#050f20c9;border:1px solid #b9e5ff66;border-radius:30px;padding:9px 13px;font-size:10px;letter-spacing:.12em;backdrop-filter:blur(7px)}
main{margin-top:0;max-width:1520px}
.hero{background:linear-gradient(115deg,#0a1128f0,#10132cf0);border:1px solid #50769e8c;border-radius:13px;margin-top:10px}
.decks{gap:12px}
.deck{border-radius:15px;background:linear-gradient(145deg,#101b31f5,#060916f9 55%,#0d1528f5);box-shadow:inset 0 1px #b0e3ff20,0 20px 35px #0009}
.deck:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 36%,#d0eeff08 48%,transparent 58%)}
.deck.playing{border-color:#67e2ffde;box-shadow:inset 0 1px #c0faff33,0 0 28px #04bafa45,0 20px 36px #0009}
.turntable{width:min(100%,320px)}.record{box-shadow:inset 0 0 9px #fff2,0 12px 28px #000,0 0 14px #38bbf842;border-color:#7994ac}
.deck.playing .turntable{filter:drop-shadow(0 0 17px #3ddaff45)}
.deck-code{color:#ddf9ff}.center-panel{background:linear-gradient(145deg,#09172cf5,#080d1cf7)}
.setlist{background:#071121f6}.setlist li{transition:background .2s,border-color .2s}.setlist li.active{border-color:#2ce4f3;background:linear-gradient(100deg,#0d3c53,#19244e)}
.track-name,.track-caption b{letter-spacing:-.014em}
@media(max-width:640px){.club-scene{height:250px;max-height:none}.club-sign{top:21%}.club-sign h2{font-size:clamp(30px,8.3vw,58px)}.club-sign p{font-size:10px;letter-spacing:.18em}.club-crowd{top:44%}.club-backdrop{background-position:center}.club-kicker{letter-spacing:.17em}.live-pulse{font-size:8px;letter-spacing:.08em}.visual-mode{font-size:9px;padding:8px 9px}.club-bottom{bottom:9px}.decks{gap:9px}.deck{border-radius:12px}}
@media(prefers-reduced-motion:reduce){.club-backdrop,.club-crowd,.club-light{transform:none!important;animation:none!important}.club-light{opacity:.06}.club-scene:after{opacity:.06}}

/* SoundLab club redesign. Real artwork in the deck spindle, no crown, no laser geometry. */
body{font-family:Inter,'Segoe UI',system-ui,sans-serif;background:#030614}
.mast{background:#050a19f0;border-color:#44b8f25a;gap:15px}
.mast h1{font-weight:900;letter-spacing:-.025em}
.mast:before{content:'BoothbysWorkShop · SoundLab';font-weight:750;letter-spacing:.04em;color:#7ae8fb;font-size:12px;align-self:center}
.club-scene{border:1px solid #4ea9cc70;border-radius:22px;box-shadow:0 24px 65px #0009;margin:14px auto 0;overflow:hidden}
.club-backdrop{background-position:center 44%;filter:saturate(.92) contrast(1.08)}
.club-crowd{filter:saturate(.78) contrast(1.09);opacity:.96;transform-origin:bottom center}
.club-scene .club-light{filter:blur(34px);opacity:calc(.26 + var(--beat, 0)*.18)}
.club-scene .club-sign h2{letter-spacing:-.025em;text-shadow:0 8px 38px #000}
.deck{background:linear-gradient(150deg,#0c1832f2,#090d1dec 65%,#1b1234ef);border-color:#3e92c67b}
.deck .turntable{width:min(100%,270px)}
.deck .center{width:58%;height:58%;border:2px solid #68dbf9;box-shadow:0 0 19px #33deff75}
.deck .center img{width:100%;height:100%;object-fit:cover;object-position:center}
.deck .spindle{width:6px;height:6px}
.deck .ring{opacity:.54}
.deck .arm{opacity:.7}
.setlist{background:#09142bf0}
.setlist li:hover{background:#14324b}
@media(max-width:600px){.mast:before{display:none}.club-scene{border-radius:12px;margin:8px 10px 0}.club-sign h2{font-size:clamp(25px,7vw,40px)}.decks{gap:8px}.deck .turntable{width:min(100%,167px)}}
@media(prefers-reduced-motion:reduce){.club-crowd,.club-light{animation:none!important;transform:none!important}}


/* v8.3 On Air hotfix: deeper underground club player, cleaner layout, smoother mobile view. */
:root{--sl-panel:#081122ee;--sl-panel-2:#0d1830f0;--sl-line:#67d8ff54;--sl-text:#f3fbff;--sl-sub:#95b4c7;--sl-accent:#59e1ff;--sl-accent-2:#b570ff}
body:before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:
 linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),
 radial-gradient(circle at 50% 15%,rgba(47,116,255,.15),transparent 32%),
 radial-gradient(circle at 82% 22%,rgba(184,70,255,.12),transparent 24%);
 background-size:28px 28px,28px 28px,100% 100%,100% 100%;opacity:.35}
.mast{box-shadow:0 14px 40px #0008, inset 0 -1px 0 rgba(130,210,255,.08)}
.hero{position:sticky;top:0;z-index:4;backdrop-filter:blur(18px);box-shadow:0 14px 34px #0008;padding:16px 18px}
.hero-txt strong{font-size:12px;color:#dff7ff}.hero-txt span{font-size:13px;color:#c0dcf2}
.transport button{border-radius:14px;padding:13px 18px;box-shadow:0 8px 18px #0006;background:linear-gradient(180deg,#152646,#101a31)}
.transport .play{background:linear-gradient(135deg,#00b7ff,#285bff 55%,#7939ff);box-shadow:0 10px 28px #0ca9ff4f}
.decks{margin-top:16px;gap:14px;grid-template-columns:minmax(0,1fr) minmax(280px,340px) minmax(0,1fr)}
.deck,.center-panel,.setlist{backdrop-filter:blur(14px)}
.deck{border:1px solid rgba(101,194,255,.26);border-radius:20px;box-shadow:0 22px 55px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.05)}
.deck:before{background:radial-gradient(circle at 50% 18%,rgba(122,227,255,.12),transparent 46%),linear-gradient(180deg,rgba(255,255,255,.02),transparent 35%)}
.deck-top{padding-bottom:8px;border-bottom:1px solid rgba(115,174,210,.12)}
.deck-code{font-size:12px}.deck-state{font-size:11px;font-weight:800}
.turntable{width:min(100%,280px);margin:16px auto 18px}
.turntable:before{inset:3%;border-color:rgba(115,210,255,.22);box-shadow:0 0 38px rgba(17,114,175,.28), inset 0 0 25px rgba(0,0,0,.8)}
.record{width:90%;height:90%;border:2px solid rgba(130,168,196,.8);background:
 radial-gradient(circle at 50% 50%,rgba(0,0,0,.14) 0 15%,transparent 16%),
 repeating-radial-gradient(circle,#0c1020 0 3px,#11192f 4px 6px,#05070f 7px 9px);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 18px 34px rgba(0,0,0,.8),0 0 20px rgba(76,183,255,.22)}
.record .center{width:56%;height:56%;background:#0a1020;border-color:#6fe1ff;overflow:hidden}
.record .center img{display:block}
.record .ring{inset:18%;border-width:1px;border-color:rgba(255,255,255,.25);box-shadow:0 0 0 8px rgba(18,26,44,.22),0 0 18px rgba(84,132,255,.2)}
.track-name{font-size:clamp(18px,1.8vw,24px);line-height:1.12;color:#f3fbff;letter-spacing:-.02em;text-shadow:0 2px 14px rgba(0,0,0,.3)}
.meta{font-size:12px;color:#a7c2d8}
.progress{height:7px;background:#263858;border:1px solid rgba(255,255,255,.04)}
.progress div{background:linear-gradient(90deg,#3ce6ff,#5b9fff 55%,#d357ff)}
.time{font-size:12px;color:#d8efff}
.center-panel{border-radius:20px;border:1px solid rgba(101,194,255,.26);padding:16px 14px;gap:18px;background:linear-gradient(180deg,rgba(7,14,28,.95),rgba(11,20,39,.92));box-shadow:0 22px 55px rgba(0,0,0,.62)}
.meters{height:132px}.meters b{max-width:10px;border-radius:6px 6px 0 0;box-shadow:0 0 12px rgba(86,170,255,.25)}
.mix-label{font-size:11px;color:#dff7ff;font-weight:800}.mix-tip{font-size:10px;color:#8fb1c4}
.cross{height:8px;border-radius:999px;background:linear-gradient(90deg,#152841,#32506f)}
#cross-position{width:22px;height:18px;top:-5px;border-radius:10px;background:linear-gradient(180deg,#f8fbff,#8fd9ff);box-shadow:0 5px 12px rgba(0,0,0,.4)}
.sound-chip{background:linear-gradient(180deg,rgba(15,29,50,.95),rgba(9,18,32,.95));border-color:rgba(103,216,255,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.sound-chip small{font-size:10px;letter-spacing:.08em}.sound-chip strong{display:block;color:#f4fbff;font-size:clamp(11px,.95vw,15px)}
.setlist{display:block;border-radius:20px;border:1px solid rgba(101,194,255,.26);box-shadow:0 22px 55px rgba(0,0,0,.62)}
.set-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.set-head h2{margin:0;color:#ebf9ff}
.setlist ol{gap:10px}.setlist li{min-height:62px;border-radius:14px;border-color:rgba(103,216,255,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
.setlist li:hover{transform:translateY(-1px);border-color:rgba(103,216,255,.34)}
.setlist li.active{background:linear-gradient(110deg,rgba(19,70,94,.95),rgba(27,38,82,.95));box-shadow:0 0 0 1px rgba(90,229,255,.18)}
.setlist li .track-art{border-radius:9px;box-shadow:0 6px 15px rgba(0,0,0,.35)}
.club-scene{height:clamp(290px,42vw,520px);background:linear-gradient(180deg,#030610,#070c18 65%,#05070f);border-radius:26px;overflow:hidden}
.club-backdrop{filter:saturate(1.02) contrast(1.08) brightness(.92);transform:scale(calc(1.015 + var(--bass)*.01))}
.club-crowd{filter:saturate(.95) contrast(1.1);opacity:.98;transform:translate3d(0,calc(var(--beat)*-1.6px),0) scale(1.02)}
.club-scene:after{background:radial-gradient(circle at 50% 18%,rgba(88,213,255,.33),transparent 52%), radial-gradient(circle at 50% 55%,rgba(54,110,255,.1),transparent 36%)}
.club-light{opacity:calc(.15 + var(--mid)*.25)}
.club-sign{top:17%}.club-sign h2{font-size:clamp(32px,6.0vw,84px);letter-spacing:-.04em}.club-sign p{font-size:clamp(11px,1.2vw,17px);letter-spacing:.3em}
@media (min-width:1100px){main{padding-top:18px}.setlist ol{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:980px){.decks{grid-template-columns:1fr}.center-panel{order:3}.setlist ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:590px){.hero{position:relative;padding:14px}.transport button{min-width:0}.deck{display:block;padding:16px}.track-name{margin-top:6px}.turntable{width:min(100%,210px)}.club-scene{height:250px;border-radius:16px}.club-sign{top:22%}.club-sign h2{font-size:clamp(28px,9vw,46px)}.club-sign p{letter-spacing:.16em}.sound-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.setlist ol{grid-template-columns:1fr}}

/* v8.3 performance fix: render VJ graphics inside the club stage, not the whole viewport. */
#show{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;pointer-events:none;z-index:1;opacity:.7;mix-blend-mode:normal;filter:none!important;contain:strict}
.stage-glow{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.25;mix-blend-mode:normal;filter:none!important}
.club-backdrop,.club-crowd{will-change:auto!important}
.club-light{will-change:auto!important;filter:blur(13px)!important}
.club-scene{contain:layout paint style;isolation:isolate}
.setlist{content-visibility:auto;contain-intrinsic-size:auto 450px}
.setlist li{transition:none!important}
@media(max-width:700px){#show{opacity:.4}.club-light{filter:blur(7px)!important}.stage-glow{display:none}.club-backdrop,.club-crowd{transition:none}}
@media(prefers-reduced-motion:reduce){#show{display:none!important}.club-backdrop,.club-crowd,.club-light{transform:none!important}}

/* v13.0: artist's supplied SoundLab image, not duplicated title artwork */
#clubScene .club-backdrop{background-image:linear-gradient(180deg,#03061214,#0306140a 70%,#03061288),url('artist-dj-hero.webp')!important;background-size:cover;background-position:center 43%;filter:none}
#clubScene .club-crowd{background-image:linear-gradient(0deg,#030414b0,transparent 77%),url('artist-club-poster.webp');top:81%;height:19%;opacity:.35;filter:blur(2px);mask-image:linear-gradient(transparent,#000 80%)}
#clubScene .club-sign{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}
@media(max-width:640px){#clubScene .club-backdrop{background-position:40% center}}

/* Grit Behind the Decks: calm stage lettering, readable on every device. */
.stage-grit-phrase{display:inline-block;margin-top:11px;padding:4px 14px;font-size:clamp(11px,1.1vw,17px);font-weight:850;letter-spacing:.055em;text-transform:none;color:#ddfaff;background:linear-gradient(100deg,#fcffff 5%,#7ceaff 45%,#d8a4ff 70%,#fcffff 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:sl-stage-shimmer 9s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(75,205,255,.18))}
@keyframes sl-stage-shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.stage-grit-phrase{animation:none}}
