.dj-studio{--dj-bg:#090b10;--dj-panel:#12161e;--dj-panel-2:#1a202b;--dj-line:#303744;--dj-text:#f1f5fa;--dj-muted:#a8b3c3;--dj-a:#71e6ff;--dj-b:#ff83b7;--dj-live:#a1e8cf;max-width:2200px;margin:0 auto;color:var(--dj-text);color-scheme:dark}
.dj-studio .dj-visualizer-performance{display:none}.dj-studio:fullscreen .dj-visualizer-performance{display:inline-block}
.dj-queue>header{flex-wrap:wrap}.dj-queue [data-dj-history-toggle]{margin-left:auto;min-height:44px;font-size:.72rem;padding:5px 8px}
[data-dj-history-count]{margin-left:5px}
[data-dj-history]{border-top:1px solid var(--dj-line);padding-top:8px}[data-dj-history][hidden]{display:none}
[data-dj-history] p,[data-dj-history] small{font-size:.72rem;color:var(--dj-muted)}
[data-dj-history-list]{list-style:none;padding:0;margin:0;max-height:230px;overflow:auto;overscroll-behavior:contain}
[data-dj-history-list] li{display:flex;align-items:center;gap:8px;border-top:1px solid var(--dj-line);padding:6px 0}
[data-dj-history-list] li>div{flex:1;min-width:0}[data-dj-history-list] strong,[data-dj-history-list] small{display:block;overflow-wrap:anywhere}
[data-dj-history-list] button{flex:none;min-height:44px;font-size:.72rem}
/* Keep performance gestures from selecting labels; retain editing and link copying. */
.dj-studio[data-dj-studio],.dj-studio[data-dj-studio] *{-webkit-user-select:none;user-select:none}
.dj-studio[data-dj-studio] input:not([type="range"]):not([type="checkbox"]):not([type="button"]):not([type="file"]),
.dj-studio[data-dj-studio] textarea,
.dj-studio[data-dj-studio] [contenteditable="true"],
.dj-studio[data-dj-studio] [contenteditable="true"] *{-webkit-user-select:text;user-select:text}
.dj-studio__title{margin-bottom:16px}
.dj-handoff{margin:0 0 10px;padding:10px 12px;border:1px solid var(--dj-line);border-radius:12px;background:var(--dj-panel);font-size:.8rem}
.dj-handoff__strip,.dj-handoff__buttons,.dj-handoff__options{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dj-handoff__strip>strong{margin-right:auto;font-size:.85rem}
.dj-handoff button{min-height:44px;padding:7px 12px;border:1px solid var(--dj-line);border-radius:7px;background:var(--dj-panel-2);color:var(--dj-text);font:650 .75rem/1.3 system-ui}
.dj-handoff button:disabled{opacity:.5;cursor:not-allowed}.dj-handoff button:focus-visible,.dj-handoff input:focus-visible,.dj-handoff select:focus-visible,.dj-handoff-markers button:focus-visible{outline:2px solid #fff4ac;outline-offset:2px}
.dj-handoff [data-handoff-arm],.dj-handoff [data-handoff-start]{background:#c8ff65;color:#172108}
.dj-handoff [data-handoff-takeover]{background:#fff4ac;color:#171609}
.dj-handoff p{margin:7px 0 0;color:var(--dj-muted);font-size:.75rem;line-height:1.5;overflow-wrap:anywhere}
.dj-handoff [data-handoff-status]{min-height:1.5em}
.dj-handoff[data-handoff-state="armed"]{border-color:#c8ff65}.dj-handoff[data-handoff-state="running"]{border-color:#fff4ac}
.dj-handoff__editor{border-top:1px solid var(--dj-line);margin-top:10px;padding-top:12px}
.dj-handoff__fields{display:grid;grid-template-columns:minmax(135px,1fr) auto minmax(135px,1fr) auto;align-items:end;gap:10px}
.dj-handoff__fields label{display:grid;gap:5px;min-width:0}
.dj-handoff__fields input,.dj-handoff__fields select{width:100%;min-width:0;min-height:44px;border:1px solid var(--dj-line);border-radius:7px;background:var(--dj-bg);color:var(--dj-text);padding:8px;font:inherit;box-sizing:border-box}
.dj-handoff__options{margin:10px 0}.dj-handoff label:has(input[type="checkbox"]){display:inline-flex;align-items:center;gap:6px;min-height:44px}
.dj-handoff input[type="checkbox"]{width:18px;height:18px;accent-color:#c8ff65}
.dj-handoff [hidden],.dj-handoff-markers[hidden],.dj-handoff-markers [hidden]{display:none!important}
.dj-handoff-markers{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.dj-handoff-markers button{pointer-events:auto;touch-action:none;color:#172108;box-sizing:border-box;cursor:ew-resize;border-radius:0}
.dj-handoff-band{position:absolute;top:44px;bottom:44px;min-height:44px!important;min-width:0!important;padding:0!important;background:rgba(200,255,101,.2)!important;border:1px dashed #c8ff65!important}
.dj-handoff-marker{position:absolute;top:0;bottom:0;transform:translateX(-50%);width:44px;min-width:44px!important;padding:0!important;background:transparent!important;border:0!important;pointer-events:none!important}
.dj-handoff-marker:before{content:"";position:absolute;top:0;bottom:0;left:21px;border-left:2px dashed #c8ff65;pointer-events:none}
.dj-handoff-marker span{position:absolute;top:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;height:44px;min-width:44px;max-width:116px;padding:0 5px;background:#c8ff65;color:#172108;font:700 10px/1.2 system-ui;pointer-events:auto}
.dj-handoff-marker--end span{top:auto;bottom:0}.dj-handoff-marker--end:before{border-color:#fff4ac}.dj-handoff-marker--end span{background:#fff4ac}
.dj-handoff-markers[data-state="armed"] .dj-handoff-marker:before,.dj-handoff-markers[data-state="running"] .dj-handoff-marker:before{border-left-style:solid}
.dj-handoff-markers button:disabled{cursor:default;opacity:.8}
@media(max-width:850px){.dj-handoff__fields{grid-template-columns:minmax(0,1fr) auto}.dj-handoff__strip>strong{flex-basis:100%}}
@media(max-width:430px){.dj-handoff{padding:8px}.dj-handoff__fields{grid-template-columns:minmax(0,1fr)}.dj-handoff__fields>button{justify-self:start}.dj-handoff__buttons{gap:6px}.dj-handoff button{padding:7px 9px}.dj-handoff__strip>strong{overflow-wrap:anywhere}}
.dj-studio__title h1{letter-spacing:-.045em}
.dj-studio__notice{display:flex;gap:10px;align-items:center;margin:0 0 16px;padding:10px 14px;border:1px solid rgba(200,255,101,.22);border-radius:12px;background:rgba(200,255,101,.055);font-size:.86rem}
.dj-studio__notice span{color:var(--dj-muted)}
.dj-mixer{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 174px minmax(0,1fr);grid-template-areas:"deck-a master deck-b";gap:12px;padding:12px;border:1px solid var(--dj-line);border-radius:24px;background:radial-gradient(circle at 50% 0,rgba(255,255,255,.07),transparent 34%),var(--dj-bg);box-shadow:0 28px 80px rgba(0,0,0,.38)}
.dj-deck{min-width:0;padding:12px;border:1px solid var(--dj-line);border-radius:18px;background:linear-gradient(155deg,rgba(255,255,255,.035),transparent 32%),var(--dj-panel);outline:none;transition:border-color .18s,box-shadow .18s}
.dj-deck--a{--deck:var(--dj-a);grid-area:deck-a}.dj-deck--b{--deck:var(--dj-b);grid-area:deck-b}
.dj-deck.is-active{border-color:color-mix(in srgb,var(--deck) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--deck) 16%,transparent),inset 0 0 35px color-mix(in srgb,var(--deck) 4%,transparent)}
.dj-deck>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:8px}
.dj-deck__letter{display:grid;place-items:center;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--deck) 50%,transparent);border-radius:50%;color:var(--deck);font:800 1rem/1 system-ui;background:color-mix(in srgb,var(--deck) 8%,transparent)}
.dj-deck header p,.dj-deck header h2{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.dj-deck header p{color:var(--deck);font:700 .68rem/1.2 system-ui;text-transform:uppercase;letter-spacing:.12em}.dj-deck header h2{margin-top:4px;font-size:1.2rem;letter-spacing:-.02em}
.dj-deck__state{padding:5px 7px;border-radius:6px;background:rgba(255,255,255,.06);color:var(--dj-muted);font:750 .62rem/1 system-ui;letter-spacing:.08em}
.dj-deck.is-playing .dj-deck__state{background:color-mix(in srgb,var(--deck) 16%,transparent);color:var(--deck)}
.dj-deck__scope{display:block;width:100%;height:100px;border:1px solid color-mix(in srgb,var(--deck) 18%,transparent);border-radius:12px;background:#050609;cursor:crosshair}
.dj-waveform-link{display:flex;align-items:end;flex-wrap:wrap;gap:10px 14px;margin-bottom:12px;padding:12px;border:1px solid var(--dj-line);border-radius:12px;background:var(--dj-panel)}
.dj-waveform-link label{display:grid;gap:6px;color:var(--dj-muted);font-size:.76rem}.dj-waveform-link select{min-width:180px;max-width:100%;min-height:44px;padding:8px;color:var(--dj-text);background:var(--dj-bg);border:1px solid var(--dj-line);border-radius:7px}.dj-waveform-link button{min-height:44px;padding:8px 12px;font-size:.76rem}.dj-waveform-link p{flex:1 1 320px;margin:0;color:var(--dj-muted);font-size:.75rem;line-height:1.5}
.dj-deck__waveform{position:relative;overflow:hidden;border-radius:12px}.dj-deck__waveform .dj-deck__scope{touch-action:pan-y}.dj-deck__reference-line{position:absolute;top:0;bottom:0;width:2px;transform:translateX(-50%);background:#fff4ac;box-shadow:0 0 0 1px #050609;pointer-events:none}.dj-deck__reference-line[hidden]{display:none}.dj-deck__reference{display:block;min-height:1.4em;margin-top:4px;color:#fff4ac;font:650 .69rem/1.4 ui-monospace,monospace;overflow-wrap:anywhere}
@media(max-width:380px){.dj-waveform-link{align-items:stretch}.dj-waveform-link label{flex:1 1 100%}.dj-waveform-link select{width:100%;min-width:0}}
.dj-deck__seek{position:relative;display:block;margin:4px 0 8px}.dj-deck__seek input{width:100%;margin:0;accent-color:var(--deck)}.dj-deck__seek output{display:block;margin-top:3px;color:var(--dj-muted);font:650 .72rem/1.2 ui-monospace,monospace;text-align:right}
.dj-deck__transport{display:grid;grid-template-columns:58px repeat(5,minmax(0,1fr));gap:7px;align-items:stretch}
.dj-round,.dj-control,.dj-loop button,.dj-hot-cues button,.dj-master button{border:1px solid var(--dj-line);color:var(--dj-text);background:#0c0d12;cursor:pointer}
.dj-round:disabled,.dj-control:disabled,.dj-loop button:disabled,.dj-hot-cues button:disabled{cursor:not-allowed;opacity:.38}
.dj-round{width:54px;height:54px;border-radius:50%;font-size:1.15rem}.dj-round--play{border-color:color-mix(in srgb,var(--deck) 55%,transparent);background:color-mix(in srgb,var(--deck) 12%,#08090d);color:var(--deck)}.dj-deck.is-playing .dj-round--play{color:#08090d;background:var(--deck);box-shadow:0 0 25px color-mix(in srgb,var(--deck) 28%,transparent)}
.dj-control{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:52px;padding:6px;border-radius:9px}.dj-control span{font:760 .76rem/1 system-ui}.dj-control small{margin-top:5px;color:var(--dj-muted);font-size:.58rem}.dj-control.is-set,.dj-control.is-active{border-color:color-mix(in srgb,var(--deck) 60%,transparent);color:var(--deck)}
.dj-control.is-monitoring{border-color:var(--dj-live);background:rgba(200,255,101,.12);color:var(--dj-live)}
.dj-deck__tempo{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:10px;padding:8px;border:1px solid var(--dj-line);border-radius:12px;background:rgba(255,255,255,.025)}
.dj-deck__tempo label,.dj-deck__eq label,.dj-master>label{display:flex;flex-direction:column;gap:6px;color:var(--dj-muted);font:700 .65rem/1 system-ui;text-transform:uppercase;letter-spacing:.08em}
.dj-deck__tempo input[type=number]{width:100%;padding:8px;border-color:var(--dj-line);background:#090a0f;color:var(--dj-text)}
.dj-deck__pitch{min-width:0}.dj-deck__pitch input{width:100%;accent-color:var(--deck)}.dj-deck__pitch output{color:var(--deck);font:700 .7rem/1 ui-monospace,monospace;text-align:right}
.dj-deck__tempo .dj-key-lock{display:flex;align-items:center;justify-content:flex-start;flex-direction:row;align-self:center;gap:8px;min-height:44px;margin:0;padding:0;letter-spacing:0;text-transform:none;font-size:.78rem;line-height:1.3;cursor:pointer;touch-action:manipulation}.dj-key-lock span{white-space:nowrap}.dj-studio .dj-key-lock input[type=checkbox]{appearance:auto;box-sizing:border-box;width:22px;height:22px;min-width:22px;min-height:22px;flex:0 0 22px;margin:0;padding:0;accent-color:var(--deck)}
.dj-deck__grid{display:grid;grid-template-columns:repeat(4,auto) minmax(82px,1fr);gap:5px;align-items:center;margin-top:7px}.dj-deck__grid button{min-height:30px;padding:5px 7px;border:1px solid var(--dj-line);border-radius:7px;background:#0c0d12;color:var(--dj-text);font-size:.64rem;cursor:pointer}.dj-deck__grid button:disabled{cursor:not-allowed;opacity:.38}.dj-deck__grid output{color:var(--dj-muted);font:650 .62rem/1 ui-monospace,monospace;text-align:right}
.dj-deck__performance-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.dj-label{display:block;margin-bottom:6px;color:var(--dj-muted);font:700 .62rem/1 system-ui;text-transform:uppercase;letter-spacing:.1em}
.dj-hot-cues{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.dj-hot-cues>span{display:grid;grid-template-columns:1fr 18px}.dj-hot-cues button{height:34px;border-radius:7px 0 0 7px}.dj-hot-cues [data-dj-hot-clear]{border-left:0;border-radius:0 7px 7px 0;color:var(--dj-muted);font-size:.65rem}.dj-hot-cues [data-dj-hot-cue].is-set{background:color-mix(in srgb,var(--deck) 18%,#090a0f);border-color:color-mix(in srgb,var(--deck) 55%,transparent);color:var(--deck)}
.dj-loop{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:5px}.dj-loop select,.dj-loop button{height:34px;border:1px solid var(--dj-line);border-radius:7px;background:#090a0f;color:var(--dj-text);font-size:.7rem}.dj-loop button.is-active{border-color:var(--deck);background:color-mix(in srgb,var(--deck) 18%,#090a0f);color:var(--deck)}
.dj-deck__eq{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.dj-deck__eq input{width:100%;accent-color:var(--deck)}.dj-deck__eq output{color:var(--dj-text);font:650 .65rem/1 ui-monospace,monospace;text-align:right}
.dj-deck__reset{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--dj-line)}
.dj-deck__reset button{min-height:44px;padding:9px 12px;font:700 .72rem/1.25 system-ui;cursor:pointer}
.dj-deck__reset p{flex:1 1 180px;margin:0;color:var(--dj-muted);font:.68rem/1.5 system-ui}
.dj-master{grid-area:master;align-self:start;display:flex;flex-direction:column;gap:12px;padding:16px 12px;border:1px solid var(--dj-line);border-radius:18px;background:linear-gradient(180deg,#181921,#0d0e13)}
.dj-master__meter{display:grid;grid-template-columns:1fr 1fr;gap:7px;height:105px;padding:5px;border-radius:8px;background:#050609}.dj-master__meter i{position:relative;overflow:hidden;border-radius:4px;background:linear-gradient(to top,#71e6ff 0 62%,#eaff63 62% 84%,#ff647e 84%)}.dj-master__meter i::after{content:"";position:absolute;inset:0;background:#171820;transform:translateY(calc(-1 * var(--meter,100%)));transition:transform .06s linear}
.dj-master input{width:100%;accent-color:#c4d1e5}.dj-master>label output{text-align:right;color:var(--dj-text);font:650 .7rem/1 ui-monospace,monospace}
.dj-master__crossfade{margin-top:auto}.dj-master__crossfade span{display:flex;justify-content:space-between}.dj-master__crossfade span b:first-child{color:var(--dj-a)}.dj-master__crossfade span b:last-child{color:var(--dj-b)}
.dj-master__center{display:flex;flex-direction:column;gap:6px;text-align:center}.dj-master__center button{padding:7px;border-radius:7px;font-size:.66rem}.dj-master__center output{color:var(--dj-muted);font:650 .68rem/1 system-ui}
.dj-master__record{display:flex;flex-direction:column;gap:8px;text-align:center}.dj-master__record .button{width:100%;padding:9px 8px;font-size:.72rem}.dj-master__record .is-recording{background:#ff506e;border-color:#ff506e;color:#08090d}.dj-master__record span{color:var(--dj-muted);font-size:.7rem}.dj-master__record label{display:flex;flex-direction:column;gap:6px;padding-top:7px;border-top:1px solid var(--dj-line);font-size:.65rem}.dj-master__record input{min-width:0;padding:7px;border:1px solid var(--dj-line);border-radius:7px;background:#090a0f;color:var(--dj-text);font-size:.72rem}
.dj-library{margin-top:18px;padding:20px!important}.dj-library>header{display:flex;justify-content:space-between;gap:16px;align-items:center}.dj-library h2,.dj-library p{margin:0}.dj-library p{margin-top:5px;color:var(--dj-muted)}.dj-library__local{position:relative;overflow:hidden;white-space:nowrap}.dj-library__local input{position:absolute;inset:0;opacity:0;cursor:pointer}
.dj-library__toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:16px 0 10px}.dj-library__toolbar>label:first-child{flex:1}.dj-library__toolbar input{width:100%;max-width:480px}.dj-library__toolbar span{color:var(--dj-muted);font-size:.78rem}.dj-load-lock{display:flex;gap:7px;align-items:center;color:var(--dj-muted);font-size:.72rem;white-space:nowrap}.dj-load-lock input{width:auto;accent-color:var(--dj-live)}
.dj-library__tracks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.dj-library__track{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--dj-line);border-radius:10px;background:rgba(255,255,255,.018)}.dj-library__track div{min-width:0}.dj-library__track strong,.dj-library__track small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dj-library__track strong{font-size:.82rem}.dj-library__track small{margin-top:3px;color:var(--dj-muted);font-size:.67rem}.dj-library__track button{padding:7px 9px;border:1px solid var(--dj-line);border-radius:7px;background:#0d0e13;color:var(--dj-text);cursor:pointer;font-size:.69rem}.dj-library__track [data-dj-load=a]{color:var(--dj-a)}.dj-library__track [data-dj-load=b]{color:var(--dj-b)}
.dj-library__empty{padding:35px;text-align:center;color:var(--dj-muted)}.dj-library__empty strong,.dj-library__empty span{display:block}.dj-library [data-dj-library-body]>footer{display:flex;justify-content:space-between;gap:12px;margin-top:14px;color:var(--dj-muted);font-size:.72rem}
.dj-studio__recovery{display:flex;align-items:center;gap:12px;margin-top:14px;padding:13px 15px;border:1px solid rgba(113,230,255,.25);border-radius:13px;background:rgba(113,230,255,.055)}.dj-studio__recovery>div{flex:1}.dj-studio__recovery strong,.dj-studio__recovery span{display:block}.dj-studio__recovery span{margin-top:3px;color:var(--dj-muted);font-size:.78rem}.dj-studio__recovery .button{white-space:nowrap}
.dj-shortcuts{margin-top:14px}.dj-shortcuts summary{display:flex;gap:10px;cursor:pointer}.dj-shortcuts summary span{color:var(--dj-muted)}.dj-shortcuts>div{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:8px 12px;margin-top:14px;align-items:center}.dj-shortcuts kbd{padding:4px 7px;border:1px solid var(--dj-line);border-radius:5px;background:#090a0f;text-align:center}
[data-dj-cue],[data-dj-play]{touch-action:none;user-select:none;-webkit-user-select:none}.dj-cue-help{color:var(--dj-muted);font-size:.78rem;line-height:1.5}
.dj-midi{margin-top:14px}.dj-midi summary{display:flex;gap:10px;cursor:pointer}.dj-midi summary span{color:var(--dj-muted)}.dj-midi__setup{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:end;margin-top:14px}.dj-midi__setup label{display:flex;flex-direction:column;gap:6px;color:var(--dj-muted);font-size:.72rem}.dj-midi__setup select{width:100%}.dj-midi__setup output{grid-column:1/-1;color:var(--dj-muted);font-size:.76rem}
.dj-output__setup{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;margin-top:14px;padding-bottom:14px;border-bottom:1px solid var(--dj-line)}.dj-output__setup label{display:flex;flex-direction:column;gap:6px;color:var(--dj-muted);font-size:.72rem}.dj-output__setup select{width:100%}.dj-output__setup output{grid-column:1/-1;color:var(--dj-muted);font-size:.76rem}
/* Performance controls keep their semantic colors across tenant themes. The
   theme's button gradients, animation and shape must not mask deck states. */
.dj-studio[data-dj-studio] :is(button,.button){
    background:var(--dj-control-bg,#1b222e)!important;
    color:var(--dj-control-fg,var(--dj-text))!important;
    border:1px solid var(--dj-control-border,#394454)!important;
    border-radius:var(--dj-control-radius,8px)!important;
    box-shadow:var(--dj-control-shadow,0 1px 2px #0004)!important;
    animation:none!important;transform:none!important;text-shadow:none;
    text-transform:none;letter-spacing:normal;
    transition:background-color .12s,border-color .12s,box-shadow .12s;
}
.dj-studio[data-dj-studio] :is(button,.button):where(:hover):not(:disabled){--dj-control-border:var(--deck,#b7c9e3);filter:brightness(1.13)}
.dj-studio[data-dj-studio] :is(button,.button):where(:active):not(:disabled){--dj-control-shadow:inset 0 2px 5px #0006}
.dj-studio[data-dj-studio] :is(button,.button,input,select,summary):focus-visible{outline:2px solid var(--deck,#d2e0f5);outline-offset:3px}
.dj-studio[data-dj-studio] :is(button,.button):disabled{opacity:1;--dj-control-bg:#151a22;--dj-control-border:#2b3340;--dj-control-fg:#7e899a;--dj-control-shadow:none;cursor:not-allowed}
.dj-studio[data-dj-studio] :is(button,.button):disabled small{color:inherit}
.dj-studio__title .button{min-height:42px;padding:10px 15px;font-size:.82rem}
.dj-studio__notice{border-color:var(--dj-line);background:#121821}
.dj-studio .dj-round--play{--dj-control-radius:50%;--dj-control-bg:color-mix(in srgb,var(--deck) 12%,#10151d);--dj-control-fg:var(--deck);--dj-control-border:color-mix(in srgb,var(--deck) 50%,#26303c);padding:0;flex-shrink:0}
.dj-studio .dj-deck.is-playing .dj-round--play{--dj-control-bg:var(--deck);--dj-control-fg:#07121a;--dj-control-border:var(--deck);--dj-control-shadow:0 0 0 3px color-mix(in srgb,var(--deck) 12%,transparent)}
.dj-studio [data-dj-cue].is-held small{color:#193440}
.dj-studio .dj-control.is-set,.dj-studio .dj-control.is-active,.dj-studio .dj-hot-cues [data-dj-hot-cue].is-set,.dj-studio .dj-loop button.is-active{--dj-control-border:color-mix(in srgb,var(--deck) 60%,#26303c);--dj-control-bg:color-mix(in srgb,var(--deck) 11%,#131923);--dj-control-fg:var(--deck)}
.dj-studio .dj-control.is-monitoring{--dj-control-border:var(--dj-live);--dj-control-bg:#173a31;--dj-control-fg:var(--dj-live)}
.dj-studio [data-dj-cue].is-held{--dj-control-bg:var(--deck);--dj-control-fg:#07121a;--dj-control-border:var(--deck);--dj-control-shadow:0 0 0 3px color-mix(in srgb,var(--deck) 12%,transparent)}
.dj-studio .dj-master__record .is-recording{--dj-control-bg:#451d2c;--dj-control-fg:#ffb5c9;--dj-control-border:#ff7d9e;--dj-control-shadow:0 0 0 3px #ff7d9e14}
.dj-control{min-width:0;min-height:54px;padding:8px 4px;gap:2px}
.dj-control small{margin-top:4px;font-size:.64rem;line-height:1.15}
.dj-deck__grid{gap:6px;margin-top:10px}.dj-deck__grid button{min-width:0;min-height:34px;padding:7px 6px;font-size:.66rem}
.dj-deck__performance-row>div{min-width:0}
.dj-hot-cues{gap:6px}.dj-hot-cues>span{min-width:0;grid-template-columns:minmax(0,1fr) 22px;gap:1px}
.dj-hot-cues button{height:38px;min-width:0;padding:0;font:750 .83rem/1 system-ui;--dj-control-radius:7px 2px 2px 7px}
.dj-hot-cues [data-dj-hot-clear]{--dj-control-radius:2px 7px 7px 2px;font-size:.75rem}
.dj-loop select,.dj-loop button{min-width:0;height:38px;padding:5px 8px}
.dj-master__center button{min-height:36px}.dj-master__record .button{min-height:38px}
.dj-studio .dj-library__track [data-dj-load=a]{--dj-control-fg:var(--dj-a)}.dj-studio .dj-library__track [data-dj-load=b]{--dj-control-fg:var(--dj-b)}
.dj-studio [hidden]{display:none!important}
.dj-library__sources{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:20px}
.dj-library__sources button{min-height:38px;padding:8px 12px;gap:10px;font-size:.79rem;white-space:nowrap}
.dj-library__sources [aria-pressed=true]{--dj-control-bg:#243245;--dj-control-border:#8ea8c9;--dj-control-fg:#f5f8ff}
.dj-library__sources .dj-library__source-count{display:inline-flex;align-items:center;justify-content:center;min-width:23px;margin-left:4px;padding:2px 6px;border-radius:5px;background:#0003;color:#c4cfdf;font:650 .7rem/1.3 ui-monospace,monospace}
.dj-library__sources .dj-library__refresh{margin-left:auto;--dj-control-bg:transparent;--dj-control-fg:var(--dj-muted)}
.dj-library .dj-library__source-note{margin-top:10px;font-size:.78rem;line-height:1.5}
.dj-library__tracks{gap:5px}.dj-library__track{grid-template-columns:minmax(0,1fr) auto auto;min-height:50px;gap:7px;padding:7px 10px;border-radius:8px}.dj-library__track--local{grid-template-columns:minmax(0,1fr) auto auto auto}
.dj-library__track strong{font-size:.79rem;line-height:1.25}.dj-library__track small{margin-top:2px;font-size:.65rem;line-height:1.25}.dj-library__track button{min-height:30px;padding:6px 8px;font-size:.67rem}
.dj-library__track .dj-library__remove{--dj-control-bg:transparent;--dj-control-fg:var(--dj-muted);padding:7px 9px}
.dj-library .dj-library__status{margin-top:14px;color:#d6e4f7;font-size:.8rem}.dj-library__status:empty{display:none}
.dj-studio :is(.dj-library,.dj-shortcuts,.dj-midi){border-color:var(--dj-line);border-radius:14px;background:var(--dj-panel);box-shadow:none}
.dj-studio:fullscreen{overflow:auto;max-width:none;padding:14px;background:#050509}.dj-studio:fullscreen .dj-studio__title,.dj-studio:fullscreen .dj-studio__notice,.dj-studio:fullscreen .dj-shortcuts{display:none}
@media(max-width:1100px){.dj-mixer{grid-template-columns:1fr 1fr;grid-template-areas:"deck-a deck-b" "master master"}.dj-deck__transport{grid-template-columns:54px repeat(2,minmax(0,1fr))}.dj-deck__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dj-deck__performance-row{grid-template-columns:1fr}.dj-master{display:grid;grid-template-columns:80px minmax(100px,.7fr) minmax(180px,2fr) 120px minmax(150px,1fr);align-items:center}.dj-master__meter{height:65px}.dj-master__crossfade{margin:0}.dj-library__tracks{grid-template-columns:1fr}}
@media(max-width:760px){.dj-studio__notice{align-items:flex-start;flex-direction:column}.dj-mixer{grid-template-columns:1fr;grid-template-areas:"deck-a" "deck-b" "master";padding:8px}.dj-master{display:flex}.dj-deck{padding:12px}.dj-deck__transport{grid-template-columns:54px repeat(2,1fr);grid-auto-flow:row}.dj-deck__tempo{grid-template-columns:92px 1fr}.dj-key-lock{grid-column:1/-1}.dj-deck__grid{grid-template-columns:1fr 1fr}.dj-deck__grid output{grid-column:1/-1;text-align:left}.dj-deck__performance-row{grid-template-columns:1fr}.dj-deck__eq{grid-template-columns:1fr 1fr}.dj-studio__recovery{align-items:stretch;flex-direction:column}.dj-library{padding:15px!important}.dj-library>header,.dj-library [data-dj-library-body]>footer,.dj-library__toolbar{align-items:flex-start;flex-direction:column}.dj-library__track{grid-template-columns:minmax(0,1fr) auto auto}.dj-shortcuts>div{grid-template-columns:auto 1fr}.dj-midi__setup,.dj-output__setup{grid-template-columns:1fr}.dj-midi__setup output,.dj-output__setup output{grid-column:auto}}
.dj-library__local:focus-within{outline:2px solid #d2e0f5;outline-offset:3px}
@media(max-width:760px){.dj-library__track{grid-template-columns:repeat(3,minmax(0,1fr))}.dj-library__track>div{grid-column:1/-1}.dj-library__sources{display:grid;grid-template-columns:1fr 1fr}.dj-library__sources .dj-library__refresh{grid-column:1/-1;justify-self:start;margin-left:0}}
@media(prefers-reduced-motion:reduce){.dj-deck,.dj-master__meter i::after,.dj-studio[data-dj-studio] :is(button,.button){transition:none}}

.dj-deck__tap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px}.dj-deck__tap button{min-width:0;min-height:44px;padding:8px 5px;font-size:.72rem;touch-action:manipulation}.dj-deck__tap [data-dj-tap-status],.dj-deck__tap [data-dj-detected-bpm]{grid-column:1/-1;color:var(--dj-muted);font-size:.73rem;line-height:1.4}.dj-deck__tap [data-dj-tap-status]{color:var(--dj-text)}
@media(max-width:380px){.dj-deck__tap{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Native ranges retain keyboard input; the complete track is a touch target. */
.dj-control-preferences{display:flex;align-items:end;flex-wrap:wrap;gap:12px 20px;margin-bottom:12px;padding:12px 14px;border:1px solid var(--dj-line);border-radius:12px;background:var(--dj-panel)}
.dj-control-preferences__orientation{display:grid;gap:6px;min-width:0;color:var(--dj-muted);font:650 .8rem/1.4 system-ui}
.dj-control-preferences__orientation select{width:100%;min-width:160px;min-height:44px;margin:0;padding:8px 12px;border:1px solid var(--dj-line);border-radius:8px;background:var(--dj-bg);color:var(--dj-text);font:inherit}
.dj-control-preferences__fine{display:flex;align-items:center;gap:10px;min-height:48px;margin:0;padding:8px 12px;border:1px solid var(--dj-line);border-radius:8px;color:var(--dj-text);font:650 .84rem/1.4 system-ui;cursor:pointer;box-sizing:border-box;touch-action:manipulation}
.dj-control-preferences__fine input{appearance:auto;width:22px;height:22px;min-width:22px;min-height:22px;flex:0 0 22px;margin:0;accent-color:var(--dj-live)}
.dj-control-preferences p{flex:1 1 300px;margin:0;color:var(--dj-muted);font:.78rem/1.5 system-ui}
.dj-studio[data-dj-studio] input[type="range"]{appearance:auto;display:block;box-sizing:border-box;width:100%;height:48px;min-width:44px;min-height:44px;margin:0;padding:0;border:1px solid var(--dj-line);border-radius:8px;background:#0a0f17;box-shadow:none;accent-color:var(--deck,#c4d1e5);writing-mode:horizontal-tb;direction:ltr}
.dj-studio[data-dj-studio] input[data-dj-fader]{appearance:none;background-image:linear-gradient(var(--dj-line),var(--dj-line));background-position:center;background-size:calc(100% - 28px) 6px;background-repeat:no-repeat;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
.dj-studio[data-dj-studio] input[data-dj-fader][data-dj-detent]{background-image:linear-gradient(#a0afc1,#a0afc1),linear-gradient(var(--dj-line),var(--dj-line));background-position:var(--performance-detent-x,50%) center,center;background-size:2px 22px,calc(100% - 28px) 6px;background-origin:border-box}
.dj-studio input[data-dj-fader]::-webkit-slider-runnable-track{height:28px;border:0;background:transparent}
.dj-studio input[data-dj-fader]::-webkit-slider-thumb{appearance:none;width:28px;height:28px;margin:0;border:2px solid #080d14;border-radius:7px;background:var(--deck,#c4d1e5);box-shadow:0 1px 4px #0008}
.dj-studio input[data-dj-fader]::-moz-range-track{height:28px;border:0;background:transparent}
.dj-studio input[data-dj-fader]::-moz-range-progress{height:28px;border:0;background:transparent}
.dj-studio input[data-dj-fader]::-moz-range-thumb{box-sizing:border-box;width:28px;height:28px;margin:0;border:2px solid #080d14;border-radius:7px;background:var(--deck,#c4d1e5);box-shadow:0 1px 4px #0008}
.dj-studio[data-dj-studio] input[data-dj-fader]:active{cursor:grabbing;border-color:var(--deck,#c4d1e5)}
.dj-studio[data-dj-studio] input[data-performance-dragging]{border-color:var(--deck,#c4d1e5);box-shadow:0 0 0 2px color-mix(in srgb,var(--deck,#c4d1e5) 35%,transparent);cursor:grabbing}
.dj-studio[data-dj-studio] input[data-dj-fader]:disabled{cursor:not-allowed;opacity:.55}
.dj-deck__eq{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dj-deck__eq label,.dj-master__level{min-width:0}
.dj-deck__eq output,.dj-deck__pitch output,.dj-master__level output{display:block;min-height:1.4em;font-size:.78rem;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.dj-deck__tempo input[type=number]{min-height:44px;box-sizing:border-box}
.dj-studio[data-dj-control-orientation="vertical"] input[data-dj-orient="true"]{width:48px;height:156px;min-height:156px;max-width:100%;margin:0 auto;writing-mode:vertical-lr;direction:rtl;background-size:6px calc(100% - 28px)}
.dj-studio[data-dj-control-orientation="vertical"] input[data-dj-fader][data-dj-orient="true"][data-dj-detent]{background-position:center var(--performance-detent-y,50%),center;background-size:22px 2px,6px calc(100% - 28px)}
.dj-studio[data-dj-control-orientation="vertical"] input[data-dj-orient="true"]::-webkit-slider-runnable-track{width:28px;height:100%}
.dj-studio[data-dj-control-orientation="vertical"] input[data-dj-orient="true"]::-moz-range-track{width:28px;height:100%}
.dj-studio[data-dj-control-orientation="vertical"] input[data-dj-orient="true"]::-moz-range-progress{width:28px;height:100%}
.dj-studio[data-dj-control-orientation="vertical"] .dj-deck__eq{grid-template-columns:repeat(6,minmax(48px,1fr));gap:8px}
.dj-studio[data-dj-control-orientation="vertical"] .dj-deck__eq label{align-items:stretch;text-align:center;letter-spacing:0;text-transform:none;font-size:.72rem;line-height:1.3}
.dj-studio[data-dj-control-orientation="vertical"] .dj-deck__eq output{min-height:3.6em;text-align:center;font-size:.72rem;line-height:1.2}
.dj-studio[data-dj-control-orientation="vertical"] .dj-master__level{text-align:center}
.dj-studio[data-dj-control-orientation="vertical"] .dj-master__level output{text-align:center}
.dj-master__meter{grid-area:meter}.dj-master__level{grid-area:level}.dj-master__crossfade{grid-area:fade}.dj-master__center{grid-area:center}.dj-master__record{grid-area:record}
@media(max-width:1100px){
    .dj-master{grid-template-columns:64px minmax(100px,.7fr) minmax(0,2fr);grid-template-areas:"meter level fade" "record record center";gap:14px}
}
@media(min-width:761px) and (max-width:960px){
    .dj-studio[data-dj-control-orientation="vertical"] .dj-deck__eq{grid-template-columns:repeat(3,minmax(48px,1fr))}
}
@media(max-width:760px){
    .dj-control-preferences{align-items:stretch;gap:12px}
    .dj-control-preferences__orientation{flex:1 1 140px}.dj-control-preferences__orientation select{min-width:0}
    .dj-control-preferences__fine{align-self:end;flex:0 1 auto}
    .dj-deck__eq{grid-template-columns:repeat(2,minmax(0,1fr))}
    .dj-studio[data-dj-control-orientation="vertical"] .dj-deck__eq{grid-template-columns:repeat(3,minmax(48px,1fr));gap:12px}
    .dj-master{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-areas:"meter level" "fade fade" "center center" "record record"}
    .dj-master__meter{height:105px}
}

/* Pending queues stay separate from the loaded track and performance controls. */
.dj-queue{margin-top:16px;padding-top:14px;border-top:1px solid var(--dj-line);min-width:0;border-radius:6px}
.dj-queue h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:.95rem}
.dj-queue h3 span{min-width:1.7em;padding:2px 6px;border-radius:20px;background:var(--dj-line);text-align:center;font-variant-numeric:tabular-nums}
.dj-queue__transport,.dj-queue__actions{display:flex;gap:6px;flex-wrap:wrap}
.dj-queue button,.dj-library__track [data-dj-enqueue]{min-height:44px;min-width:44px;padding:8px 10px;font-size:.75rem}
.dj-queue__transport button{flex:1 1 140px}
.dj-queue__transport [aria-pressed=true]{--dj-control-border:var(--deck);--dj-control-fg:var(--deck)}
.dj-queue__help,.dj-queue__status,.dj-queue [data-dj-queue-empty]{font-size:.74rem;line-height:1.45;color:var(--dj-muted);margin:8px 0}
.dj-queue__status{min-height:1.45em;color:var(--dj-text)}
.dj-queue__list{display:grid;gap:8px;list-style:none;padding:0;margin:10px 0;max-height:360px;overflow:auto;overscroll-behavior:contain}
.dj-queue__entry{display:grid;grid-template-columns:44px minmax(0,1fr);gap:6px;padding:8px;border:1px solid var(--dj-line);border-radius:8px;background:#11141c}
.dj-queue__handle{grid-column:1;align-self:start;touch-action:none;cursor:grab}
.dj-queue__copy{grid-column:2;min-width:0;align-self:center}
.dj-queue__copy strong,.dj-queue__copy small{display:block;overflow-wrap:anywhere;line-height:1.4}
.dj-queue__copy strong{font-size:.8rem}.dj-queue__copy small{font-size:.7rem;color:var(--dj-muted)}
.dj-queue__actions{grid-column:1/-1}.dj-queue__actions button{flex:1 1 78px}
.dj-queue__entry.is-unavailable{border-style:dashed}
.dj-queue.is-queue-drop{outline:2px solid var(--deck);outline-offset:4px}
.dj-library__track,.dj-library__track--local{grid-template-columns:minmax(0,1fr) repeat(4,auto)}
.dj-library__track--local .dj-library__remove{grid-column:2/-1;justify-self:end}
@media(max-width:1100px){.dj-library__track,.dj-library__track--local{grid-template-columns:repeat(4,minmax(0,1fr))}.dj-library__track>div{grid-column:1/-1}.dj-library__track--local .dj-library__remove{grid-column:1/-1}.dj-library__track button{min-height:44px}}
@media(max-width:400px){.dj-queue__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dj-queue__actions button:last-child{grid-column:1/-1}.dj-library__track,.dj-library__track--local{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Secondary preferences sit below the decks; primary performance controls stay in reach. */
.dj-settings{margin-top:12px;border:1px solid var(--dj-line);border-radius:10px;background:var(--dj-panel)}
.dj-settings>summary{box-sizing:border-box;min-height:44px;padding:12px;cursor:pointer;font:650 .8rem/1.4 system-ui;color:var(--dj-text)}
.dj-settings>summary span{margin-left:10px;color:var(--dj-muted);font-weight:400}
.dj-settings>summary:focus-visible,.dj-key-lock:focus-within{outline:2px solid var(--dj-a);outline-offset:2px}
.dj-settings__body{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 12px 12px}
.dj-settings .dj-control-preferences,.dj-settings .dj-waveform-link{margin:0;padding:10px;gap:8px 12px}
.dj-settings .dj-control-preferences p,.dj-settings .dj-waveform-link p{flex-basis:100%}
.dj-studio .dj-settings-shortcut{flex:0 0 auto;min-height:44px;padding:6px 12px;font-size:.76rem}
@media(min-width:1101px){.dj-deck__tap [data-dj-tap-status]{grid-column:1/span 2}.dj-deck__tap [data-dj-detected-bpm]{grid-column:3/span 2;text-align:right}}
@media(max-width:760px){.dj-settings__body{grid-template-columns:1fr}.dj-settings>summary span{display:block;margin-left:0}}

/* BPM and tempo stay horizontal even when the sound faders are vertical. */
.dj-studio .dj-deck__tempo{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.dj-studio .dj-deck__tempo>label{grid-column:auto;grid-row:auto}.dj-studio .dj-deck__tempo>label:first-child{flex:0 0 80px}
.dj-studio .dj-deck__tempo .dj-deck__pitch{flex:3 1 180px;align-items:stretch;text-align:left}
.dj-bpm-readouts{flex:0 0 136px;display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}
.dj-bpm-readouts>span{display:grid;gap:6px;color:var(--dj-muted);font:700 .65rem/1.3 system-ui;letter-spacing:.03em}
.dj-bpm-readouts output{color:var(--deck);font:700 .92rem/1.3 ui-monospace,monospace;font-variant-numeric:tabular-nums;min-height:1.3em}

.dj-waveform-zoom{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px}
.dj-studio .dj-waveform-zoom label{display:flex;align-items:center;gap:8px;font-size:.7rem;color:var(--dj-muted)}
.dj-studio .dj-waveform-zoom select{width:auto;max-width:100%;min-width:0;min-height:44px;padding:5px 8px;font:inherit;color:var(--dj-text);background:var(--dj-bg);border:1px solid var(--dj-line);border-radius:7px}
.dj-waveform-zoom output{margin-left:auto;color:var(--dj-muted);font:.68rem/1.4 ui-monospace,monospace;font-variant-numeric:tabular-nums}
.dj-clip-selection{position:absolute;top:0;bottom:0;left:var(--clip-start);width:var(--clip-width);min-width:2px;background:#d5bdff33;border-inline:2px solid #d5bdff;pointer-events:none;box-sizing:border-box}
.dj-clip-status{font-size:.72rem;color:var(--dj-muted);margin:4px 0}
.dj-clip-editor{margin:8px 0;padding:10px;border:1px solid var(--dj-line);border-radius:8px;background:var(--dj-bg)}
.dj-clip-editor[hidden]{display:none}
.dj-clip-editor [hidden]{display:none}
.dj-clip-editor [data-dj-clip-whole]{font-size:.75rem;color:var(--dj-muted);margin:8px 0}
.dj-clip-editor [data-dj-clip-more]{margin-top:8px}
.dj-clip-editor [data-dj-clip-more]>summary{min-height:44px;align-content:center;font-size:.75rem;cursor:pointer}
.dj-clip-editor [data-dj-clip-action="device"]{border-color:var(--deck)}
.dj-clip-editor label{display:grid;gap:4px;font-size:.75rem;color:var(--dj-muted)}
.dj-clip-editor input{width:100%;min-width:0;min-height:44px;box-sizing:border-box}
.dj-clip-editor__range{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.dj-clip-editor__actions{display:flex;flex-wrap:wrap;gap:6px}
.dj-clip-editor__actions button{min-height:44px;padding:5px 9px;font-size:.75rem}
.dj-clip-editor small{display:block;color:var(--dj-muted);font-size:.7rem;margin-top:8px}
.dj-studio .dj-clip-button{min-height:44px;padding:4px 10px}
.dj-studio .dj-clip-button[aria-pressed="true"]{border-color:#d5bdff;color:#d5bdff}

.dj-mixer+.dj-studio__notice{margin-top:12px;margin-bottom:8px}
.dj-live-input{margin:0 0 12px;border:1px solid var(--dj-line,#343843);border-radius:10px;padding:10px;background:rgba(0,0,0,.12)}
.dj-live-input summary{cursor:pointer;min-height:44px;align-content:center;font-weight:650}
.dj-live-input summary span{display:block;font-size:.75rem;font-weight:400;color:var(--dj-muted,#aeb5c4)}
.dj-live-input__controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end;margin:8px 0}
.dj-live-input__controls label{display:grid;gap:5px;min-width:0;font-size:.8rem}
.dj-live-input__controls label span{font-size:.72rem;color:var(--dj-muted,#aeb5c4)}
.dj-live-input__controls select,.dj-live-input__controls input{width:100%;min-width:0;min-height:44px}
.dj-live-input__controls button{min-height:44px}
.dj-live-input__controls [data-dj-live-device-panel],.dj-live-input__actions{grid-column:1/-1}
.dj-live-input__controls [data-dj-live-device-panel]:not([hidden]){display:grid;gap:8px}
.dj-live-input__controls [data-dj-live-device-panel].has-inputs:not([hidden]){grid-template-columns:minmax(0,1fr) 44px;align-items:end}
.dj-live-input__controls .has-inputs [data-dj-live-device-list]{grid-column:1;grid-row:1}
.dj-live-input__controls .has-inputs [data-dj-live-devices]{grid-column:2;grid-row:1;width:44px;height:44px;padding:0;font-size:1.4rem}
.dj-live-input__actions{display:flex;flex-wrap:wrap;gap:8px}
.dj-live-input p{font-size:.78rem;line-height:1.5;margin:8px 0;overflow-wrap:anywhere}
.dj-live-input__help{color:var(--dj-muted,#aeb5c4)}
.dj-live-setup{margin:16px 0}
.dj-live-setup>header p{color:var(--dj-muted);font-size:.85rem}
.dj-live-setup__decks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.dj-live-setup [data-dj-input-deck="a"]{--deck:var(--dj-a)}
.dj-live-setup [data-dj-input-deck="b"]{--deck:var(--dj-b)}
.dj-live-setup .dj-live-input>summary{color:var(--deck)}
.dj-live-setup [data-dj-live-connection-state="connected"]{color:var(--dj-live,#c8ff65)}
.dj-live-setup [data-dj-live-connection-state="connected"]::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:currentColor;box-shadow:0 0 5px currentColor}
.dj-live-setup [data-dj-live-signal-state="signal"]::after{content:"";display:inline-block;vertical-align:middle;width:42px;height:5px;margin-left:8px;border-radius:3px;background:linear-gradient(to right,currentColor var(--dj-input-level,0%),#ffffff18 var(--dj-input-level,0%))}
.dj-live-setup :is([data-dj-live-signal-state="silent"],[data-dj-live-signal-state="muted"],[data-dj-live-signal-state="stalled"],[data-dj-live-signal-state="suspended"]){color:#f7dc67}
.dj-live-setup :is([data-dj-live-connection-state="buffered"],[data-dj-live-connection-state="ended"]){color:#f7dc67}
.dj-master__transition{display:grid;gap:6px;font-size:.8rem}
.dj-master__transition select{width:100%;min-width:0;min-height:44px}
.dj-master__transition-help{font-size:.72rem;line-height:1.4;color:var(--dj-muted);margin:0 0 10px}
.dj-live-buffer:not([hidden]){display:block;margin:3px 0 0;font-size:.72rem}
.dj-live-buffer output{font-variant-numeric:tabular-nums;color:var(--deck)}
.dj-live-buffer [role="status"]{color:#f7dc67}
.dj-live-setup summary:focus-visible{outline:2px solid var(--dj-a);outline-offset:3px}
@media(max-width:760px){.dj-live-setup__decks{grid-template-columns:1fr}}
.dj-live-input :focus-visible{outline:2px solid var(--deck,#71e6ff);outline-offset:3px}
@media(max-width:480px){.dj-live-input__controls{grid-template-columns:1fr}.dj-live-input__actions button{flex:1}}

/* Compact library and help disclosures retain full keyboard/touch access. */
.dj-library__header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.dj-library__view{display:inline-flex;align-items:center;gap:2px;color:var(--dj-muted)}
.dj-library__view button{display:inline-grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}
.dj-library__view button[aria-pressed="true"]{--dj-control-bg:#243245;--dj-control-border:var(--dj-a);--dj-control-fg:var(--dj-a)}
.dj-library__view svg{display:block;pointer-events:none}
.dj-library__local{min-height:44px;display:inline-flex;align-items:center}
.dj-library [data-dj-library-body][hidden]{display:none}
.dj-library[data-dj-library-view="condensed"]{padding:12px 16px!important}
.dj-library[data-dj-library-view="condensed"] .dj-library__sources{margin-top:10px}
.dj-library[data-dj-library-view="condensed"] .dj-library__toolbar{margin:8px 0}
.dj-library[data-dj-library-view="condensed"] .dj-library__source-note{display:none}
.dj-library[data-dj-library-view="condensed"] .dj-library__tracks{grid-template-columns:1fr;max-height:176px;overflow:auto;overscroll-behavior:contain;padding:3px}
.dj-library[data-dj-library-view="condensed"] .dj-library__track{padding:3px 8px;min-height:50px}
.dj-library[data-dj-library-view="condensed"] .dj-library__track button{min-height:44px}
.dj-library[data-dj-library-view="condensed"] .dj-library__track--local{grid-template-columns:minmax(0,1fr) repeat(5,auto)}
@media(min-width:761px){.dj-library[data-dj-library-view="condensed"] .dj-library__track--clip{grid-template-columns:minmax(0,1fr) repeat(6,auto)}}
.dj-library[data-dj-library-view="condensed"] .dj-library__track--local .dj-library__remove{grid-column:auto}
.dj-library[data-dj-library-view="condensed"] .dj-library__empty{padding:12px}
.dj-library[data-dj-library-view="condensed"] footer{margin-top:8px}
.dj-library[data-dj-library-view="collapsed"]{padding:10px 16px!important}
.dj-library :focus-visible,.dj-help__trigger:focus-visible{outline:2px solid var(--dj-a);outline-offset:2px}
.dj-queue>header,.dj-live-setup>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dj-queue>header{margin-bottom:6px}
.dj-queue>header h3,.dj-live-setup>header h2{margin:0}
.dj-live-setup>header{margin-bottom:10px}
.dj-help{position:relative;display:inline-flex;flex:none}
.dj-studio .dj-help__trigger{display:inline-grid;place-items:center;min-width:44px;width:44px;min-height:44px;height:44px;padding:0;border-radius:50%;color:var(--dj-muted);font-weight:700}
.dj-help__bubble{position:absolute;z-index:20;right:0;bottom:100%;width:min(290px,calc(100vw - 80px));padding:12px;border:1px solid var(--dj-line);border-radius:10px;background:#151c28;box-shadow:0 8px 24px #0008;color:var(--dj-text);font-size:.78rem;line-height:1.5;font-weight:400}
.dj-help__bubble[hidden]{display:none}
.dj-live-faq{margin-bottom:14px;padding:12px 16px;border:1px solid var(--dj-line);border-radius:10px;background:var(--dj-panel)}
.dj-live-faq h3{margin:0 0 6px;font-size:1rem}
.dj-live-faq details+details{border-top:1px solid var(--dj-line)}
.dj-live-faq summary{min-height:44px;align-content:center;cursor:pointer;font-size:.85rem}
.dj-live-faq p{font-size:.83rem;line-height:1.6;color:var(--dj-muted);max-width:85ch}
@media(min-width:1200px){
 .dj-library[data-dj-library-view="condensed"] [data-dj-library-body]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 16px;margin-top:8px}
 .dj-library[data-dj-library-view="condensed"] [data-dj-library-body][hidden]{display:none}
 .dj-library[data-dj-library-view="condensed"] .dj-library__sources,
 .dj-library[data-dj-library-view="condensed"] .dj-library__toolbar{margin:0}
 .dj-library[data-dj-library-view="condensed"] .dj-library__toolbar>label:first-child{min-width:0}
 .dj-library[data-dj-library-view="condensed"] :is(.dj-library__tracks,.dj-library__empty,.dj-library__status,footer){grid-column:1/-1}
 .dj-library[data-dj-library-view="condensed"] footer{margin-top:0}
}
@media(max-width:1100px){
 .dj-library[data-dj-library-view="condensed"] .dj-library__track{grid-template-columns:minmax(0,1fr) repeat(4,auto)}
 .dj-library[data-dj-library-view="condensed"] .dj-library__track>div{grid-column:auto}
}
@media(max-width:760px){
 .dj-library>header{gap:8px}
 .dj-library__header-actions{width:100%;justify-content:space-between;gap:8px}
 .dj-library[data-dj-library-view="condensed"] .dj-library__toolbar{gap:8px}
 .dj-library[data-dj-library-view="condensed"] .dj-library__toolbar>label:first-child{width:100%}
 .dj-library[data-dj-library-view="condensed"] .dj-library__track,
 .dj-library[data-dj-library-view="condensed"] .dj-library__track--local{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
 .dj-library[data-dj-library-view="condensed"] .dj-library__track>div{grid-column:1/-1}
 .dj-library[data-dj-library-view="condensed"] .dj-library__track--local .dj-library__remove{grid-column:1/-1}
 .dj-library[data-dj-library-view="condensed"] .dj-library__track button{padding:6px 3px}
 .dj-library[data-dj-library-view="condensed"] footer span{display:none}
}

/* Master strip: level over stereo meters, blend, then independent effects. */
.dj-mixer{grid-template-columns:minmax(0,1fr) 200px minmax(0,1fr)}
.dj-master{min-width:0}
.dj-master__volume{position:relative;min-height:104px;isolation:isolate}
.dj-master__volume .dj-master__meter{position:absolute;inset:0;height:auto;margin:0;opacity:.65;z-index:-1;pointer-events:none}
.dj-master__level{display:grid;gap:8px;padding:10px 8px;margin:0;font-size:.7rem;font-weight:700;text-shadow:0 1px 3px #000}
.dj-master__level input[type="range"]{background-color:#080b1066}
.dj-master__level output{text-align:right;font:650 .72rem/1 ui-monospace,monospace}
.dj-master__crossfade{margin:0;display:grid;gap:4px}
.dj-master__deck-labels{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:.68rem}
.dj-master__deck-labels b:first-child{color:var(--dj-a)}
.dj-master__deck-labels b:last-child{color:var(--dj-b)}
.dj-studio .dj-icon-button{display:inline-grid;place-items:center;min-width:44px;min-height:44px;width:44px;height:44px;padding:0}
.dj-icon-button svg{display:block;pointer-events:none}
.dj-master__crossfade output,.dj-effect-fader output{display:block;text-align:center;color:var(--dj-muted);font:.68rem/1.3 ui-monospace,monospace}
.dj-master__transition{margin:0;gap:0}
.dj-master__transition select{font-size:.73rem}
.dj-effect-faders{border-top:1px solid var(--dj-line);padding-top:8px;min-width:0}
.dj-effect-faders>header{display:flex;align-items:center;justify-content:space-between;gap:4px}
.dj-effect-faders h3{margin:0;font-size:.78rem}
.dj-effect-faders [aria-pressed="true"]{--dj-control-border:var(--dj-a);--dj-control-fg:var(--dj-a);--dj-control-bg:#243245}
.dj-effect-fader{display:grid;gap:4px;margin:8px 0 12px;min-width:0}
.dj-effect-fader__head{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:4px}
.dj-effect-fader__head select{width:100%;min-width:0;min-height:44px;padding:4px;font-size:.72rem}
.dj-effect-fader input:disabled{opacity:.65;cursor:default}
.dj-effect-faders__add{min-height:44px;width:100%;font-size:1.3rem}
.dj-effect-faders>p{margin:8px 0 0;color:var(--dj-muted);font-size:.7rem;line-height:1.4}
.dj-recording{margin:16px 0;padding:16px!important;border:1px solid var(--dj-line);border-radius:14px;background:var(--dj-panel)}
.dj-recording h2{margin:0 0 10px;font-size:1rem}
.dj-recording .dj-master__record{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;text-align:left}
.dj-recording .dj-master__record .button{width:auto;min-height:44px}
.dj-recording .dj-master__record label{flex:1 1 100%;flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px}
.dj-recording .dj-master__record input{flex:1 1 180px;min-height:44px}
@media(min-width:761px) and (max-width:1100px){
 .dj-mixer{grid-template-columns:1fr 1fr}
 .dj-master{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr);align-items:start}
 .dj-master__volume{grid-column:1;grid-row:1/3}
 .dj-master__crossfade,.dj-master__transition{grid-column:2}
 .dj-effect-faders{grid-column:1/-1}
 .dj-effect-faders [data-dj-effect-faders]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
}
@media(max-width:760px){
 .dj-mixer{grid-template-columns:1fr}
 .dj-master{display:flex;align-items:stretch}
}
.dj-deck__seek[data-live]{--buffer-color:var(--deck)}
.dj-deck__seek[data-buffer-level="warning"]{--buffer-color:#f4c95d}
.dj-deck__seek[data-buffer-level="critical"]{--buffer-color:#ff697c}
.dj-live-buffer output{color:var(--buffer-color);transition:color .25s ease}
.dj-studio .dj-deck__seek[data-live] input[type="range"]{appearance:none;-webkit-appearance:none;display:block;height:48px;min-height:44px;padding:0;border:0;background:transparent;cursor:ew-resize;touch-action:pan-y}
.dj-deck__seek[data-live] input::-webkit-slider-runnable-track{height:10px;border-radius:6px;background:linear-gradient(to right,var(--dj-line) var(--live-position,0%),var(--buffer-color) var(--live-position,0%))}
.dj-deck__seek[data-live] input::-moz-range-track{height:10px;border-radius:6px;background:linear-gradient(to right,var(--dj-line) var(--live-position,0%),var(--buffer-color) var(--live-position,0%))}
.dj-deck__seek[data-live] input::-moz-range-progress{height:10px;background:transparent}
.dj-deck__seek[data-live] input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:24px;margin-top:-7px;border:2px solid var(--buffer-color);border-radius:5px;background:var(--dj-text);box-shadow:0 0 0 2px var(--dj-bg)}
.dj-deck__seek[data-live] input::-moz-range-thumb{box-sizing:border-box;width:16px;height:24px;border:2px solid var(--buffer-color);border-radius:5px;background:var(--dj-text);box-shadow:0 0 0 2px var(--dj-bg)}
.dj-deck__seek[data-live] input:focus-visible{outline:2px solid var(--dj-text);outline-offset:2px;border-radius:6px}
.dj-deck__seek[data-live] input:disabled{cursor:wait;opacity:.6}
.dj-deck__seek[data-live]>[data-dj-time]{display:none}
.dj-deck__seek[data-live] .dj-live-buffer output{margin:0;text-align:right;line-height:1.2;white-space:nowrap}
.dj-studio[data-dj-studio] .dj-live-buffer__summary{--dj-control-bg:transparent;--dj-control-shadow:none;--dj-control-radius:2px;display:block;width:100%;min-height:0;height:auto;margin:0;padding:0;border:0!important;text-align:right;cursor:help;font:inherit;line-height:1.2}
.dj-live-buffer__summary:focus-visible{outline:2px solid var(--buffer-color);outline-offset:2px}
.dj-live-buffer [data-dj-buffer-notice]:not(:empty){display:block;margin-top:6px;color:#f7dc67}
.dj-effect-fader{grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"label remove" "slider remove" "value remove";gap:0 4px;margin:6px 0 9px}
.dj-effect-fader__head{display:contents}
.dj-effect-fader__head span{grid-area:label;font-size:.72rem;line-height:1.4}
.dj-effect-fader__head button{grid-area:remove;align-self:center}
.dj-effect-fader input{grid-area:slider;min-width:0}
.dj-effect-fader output{grid-area:value;font-size:.62rem}
.dj-effect-choices:not([hidden]){display:grid;gap:4px;margin-top:5px}
.dj-effect-choices button{min-height:44px;font-size:.75rem}
@media(prefers-reduced-motion:reduce){.dj-live-buffer output{transition:none}}
.dj-assistance{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 12px;padding:12px;border:1px solid var(--dj-line);border-radius:12px;background:var(--dj-panel);font-size:.8rem}
.dj-assistance>label{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;font-weight:700}
.dj-assistance input[type="checkbox"]{width:22px;height:22px;accent-color:var(--dj-a)}
.dj-assistance [data-dj-assistance-sharing]:not([hidden]){display:flex;flex:1 1 100%;gap:8px;flex-wrap:wrap}
.dj-assistance [data-dj-assistance-link]{flex:1 1 180px;min-width:0;min-height:44px;font-size:.8rem;color:var(--dj-text);background:var(--dj-bg);border:1px solid var(--dj-line);border-radius:6px}
.dj-assistance small{flex:1 1 100%;color:var(--dj-muted)}
.dj-assistance button{min-height:44px;padding:8px 12px}
.dj-assistance__offer:not([hidden]){display:flex;flex:1 1 100%;align-items:center;flex-wrap:wrap;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--dj-line)}
.dj-assistance__offer span{flex:1 1 100%}
.dj-assistant-page{margin:0;padding:12px;background:#090b10;font-family:Arial,Helvetica,sans-serif}
.dj-assistant-page *{box-sizing:border-box}
.dj-assistant-header{position:sticky;top:0;z-index:30;padding:10px 12px;margin-bottom:12px;background:#12161ef5;border:1px solid var(--dj-line);border-radius:10px}
.dj-assistant-header h1{font-size:1.1rem;margin:0 0 6px}
.dj-assistant-header p{margin:0 0 4px;font-size:.85rem}
.dj-assistant-header small{color:var(--dj-muted)}
.dj-assistant-page [data-dj-assistant-panel][inert]{opacity:.55}

/* Compact sound shaping fits the existing mixer strip. */
.dj-deck__reset{justify-content:flex-end;margin-top:4px;padding-top:0;border:0;gap:0}
.dj-studio .dj-deck__reset button{min-height:28px;padding:3px 8px;font-size:.66rem;color:var(--dj-muted)}
.dj-master__eq{min-width:0;margin:0;padding:4px 0;border-top:1px solid var(--dj-line)}
.dj-master__eq>header{display:flex;align-items:center;justify-content:space-between;font-size:.7rem}
.dj-studio .dj-master__eq button{min-height:26px;min-width:28px;padding:2px 5px}
.dj-master__eq label{display:grid;grid-template-columns:25px minmax(0,1fr) 34px;align-items:center;gap:4px;margin:0;font-size:.65rem;letter-spacing:0;text-transform:none}
.dj-studio .dj-master__eq input[type="range"]{width:100%;min-width:0;height:28px;min-height:28px;margin:0;padding:0}
.dj-master__eq output{text-align:right;font:.62rem/1.3 ui-monospace,monospace}
@media(pointer:coarse),(max-width:760px){.dj-studio .dj-deck__reset button,.dj-studio .dj-master__eq button{min-height:44px}.dj-studio .dj-master__eq input[type="range"]{height:44px}}
@media(min-width:761px) and (max-width:1100px){.dj-master__eq{grid-column:1;grid-row:3}}
.dj-assistance [data-dj-listeners-sharing]:not([hidden]){display:flex;flex:1 1 100%;gap:8px;flex-wrap:wrap}
.dj-assistance [data-dj-listeners-link]{flex:1 1 180px;min-width:0;min-height:44px;font-size:.8rem;color:var(--dj-text);background:var(--dj-bg);border:1px solid var(--dj-line);border-radius:6px}
.dj-assistance .dj-sharing-visualizer:not([hidden]){display:flex;align-items:center;gap:8px}
.dj-sharing-visualizer select{min-height:44px}
.dj-listening{margin:0 0 14px;padding:12px;border:1px solid var(--dj-line);border-radius:12px;background:var(--dj-panel)}
.dj-listening>div{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.dj-listening label{display:flex;align-items:center;gap:8px;font-size:.8rem;margin:0}
.dj-listening button{min-height:44px;padding:8px 14px}
.dj-listening input[type="range"]{width:110px;min-height:44px}
.dj-listening input[type="checkbox"]{width:20px;height:20px}
.dj-listening p{font-size:.75rem;color:var(--dj-muted);margin:8px 0}
.dj-listening canvas{display:block;width:100%;height:180px;border-radius:8px}
.dj-listening canvas[hidden]{display:none}
.dj-sharing-disclosure{margin:0 0 12px;border:1px solid var(--dj-line);border-radius:12px;background:var(--dj-panel)}
.dj-sharing-disclosure>summary{min-height:44px;padding:10px 12px;cursor:pointer;font-size:.8rem}
.dj-sharing-disclosure>summary strong{margin-right:12px}
.dj-sharing-disclosure>summary span{color:var(--dj-muted);font-size:.75rem}
.dj-sharing-disclosure>summary:focus-visible{outline:2px solid var(--dj-a);outline-offset:2px}
.dj-sharing-disclosure .dj-assistance{margin:0;border:0;border-top:1px solid var(--dj-line);border-radius:0 0 12px 12px}

/* Assistant activity stays on the primary control, without moving it or replacing focus rings. */
.dj-assistant-pop{
    position:fixed;pointer-events:none;z-index:1000;
    outline:2px solid var(--pop-color,#d5bdff);
    animation:dj-assistant-pop .5s ease-out forwards;
}
@keyframes dj-assistant-pop{
    from{outline-offset:0;opacity:1}
    to{outline-offset:14px;opacity:0}
}
.dj-studio[data-dj-studio] input[data-dj-effect-range]:disabled{
    height:16px;min-height:16px;
    background-size:2px 10px,calc(100% - 16px) 3px;
}
.dj-studio[data-dj-studio] input[data-dj-effect-range]:disabled::-webkit-slider-thumb{width:12px;height:12px}
.dj-studio[data-dj-studio] input[data-dj-effect-range]:disabled::-webkit-slider-runnable-track{height:12px}
.dj-studio[data-dj-studio] input[data-dj-effect-range]:disabled::-moz-range-track{height:12px}
.dj-studio[data-dj-studio] input[data-dj-effect-range]:disabled::-moz-range-progress{height:12px}
.dj-studio[data-dj-studio] input[data-dj-effect-range]:disabled::-moz-range-thumb{width:12px;height:12px}
.dj-studio[data-dj-studio] [data-assistant-touch="active"]{
    box-shadow:0 0 0 2px #d5bdff,0 0 10px 2px #b48aff99!important;
}
.dj-studio[data-dj-studio] [data-local-touch="active"]{
    box-shadow:0 0 0 2px #71e6ff,0 0 10px 2px #71e6ff66!important;
}
.dj-studio[data-dj-studio] [data-local-touch="fading"],
.dj-studio[data-dj-studio] [data-assistant-touch="fading"]{
    box-shadow:0 0 0 2px transparent,0 0 10px 2px transparent!important;
    transition:box-shadow .5s ease-out!important;
}
@media(prefers-reduced-motion:reduce){
    .dj-assistant-pop{display:none}
    .dj-studio[data-dj-studio] [data-local-touch],
    .dj-studio[data-dj-studio] [data-assistant-touch]{
        transition:none!important;
    }
}

/* Independent microphone strip remains available in Performance view. */
.dj-microphone{margin:12px 0;padding:12px!important;border:1px solid var(--dj-line);border-radius:12px;background:var(--dj-panel)}
.dj-microphone [hidden]{display:none!important}
.dj-microphone__bar,.dj-microphone__result{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.dj-microphone button,.dj-microphone summary{min-height:44px;padding:8px 12px;font-size:.78rem;cursor:pointer}
.dj-master__mic{min-height:40px;border-radius:8px;font-size:.8rem;font-weight:700}.dj-master__mic[aria-pressed="true"]{--dj-control-bg:#173c2a;--dj-control-border:#80d5a4;--dj-control-fg:#c4ffdc}.dj-master__mic:disabled{opacity:.5;cursor:default}
.dj-microphone__volume{display:flex;align-items:center;gap:8px;flex:1 1 240px;min-width:0;font-size:.8rem}
.dj-microphone__volume input{min-width:90px;flex:1;width:120px}.dj-microphone__volume output{min-width:40px}
.dj-microphone meter{width:50px;height:12px}.dj-microphone[data-mic-live="true"]{border-color:#80d5a4}
.dj-microphone__setup{position:relative;padding:0!important}.dj-microphone__setup>summary{display:flex;align-items:center;gap:12px;list-style:none}.dj-microphone__setup>summary::-webkit-details-marker{display:none}.dj-microphone__setup>summary:before{content:"▸"}.dj-microphone__setup[open]>summary:before{content:"▾"}.dj-microphone__setup>summary span{color:var(--dj-muted);font-size:.75rem}.dj-microphone__body{padding:0 12px 12px}.dj-microphone__body>small{margin-top:8px}
.dj-microphone__setup label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.8rem}
.dj-microphone__setup select{max-width:100%;min-height:44px}.dj-microphone small{display:block;color:var(--dj-muted);font-size:.75rem}
.dj-microphone [data-dj-mic-status]{font-size:.75rem;color:var(--dj-muted);margin:4px 0 0}.dj-microphone__result{margin-top:8px}
.dj-microphone__result strong{font-size:.8rem;overflow-wrap:anywhere;min-width:0}
@media(max-width:480px){.dj-microphone__volume{flex-basis:100%}.dj-microphone__result strong{flex-basis:100%}}

.dj-live-input__controls .dj-live-powerful{grid-column:1/-1;display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.dj-live-input__controls input[data-dj-live-powerful]{width:20px;min-height:20px;height:20px;flex:0 0 20px}
.dj-live-input__controls [data-dj-live-memory]{grid-column:1/-1;margin:0;font-size:.8rem;color:var(--dj-muted,#aeb5c4)}

/* Let the standard DJ view use the available screen, capped for large monitors. */
.studio-app #studio-main:has([data-dj-studio]),.admin-body main.admin-main:has([data-dj-studio]){box-sizing:border-box;width:100%;max-width:2216px;margin-inline:auto;padding:12px 8px 40px}

.dj-deck__waveform:has(.dj-handoff-markers:not([hidden])) .dj-deck__scope{height:132px}
.dj-handoff input[aria-invalid="true"]{border-color:#ffb3b3}
.dj-studio [data-handoff-arm]:not(:disabled),.dj-studio [data-handoff-start]:not(:disabled){--dj-control-bg:#c8ff65;--dj-control-fg:#172108;--dj-control-border:#a7d554}
.dj-studio [data-handoff-takeover]:not(:disabled){--dj-control-bg:#fff4ac;--dj-control-fg:#171609}
/* Use the mixer's theme variables and avoid its transform reset. Only the
   narrow line/label should cover a waveform, never a full opaque button. */
.dj-studio[data-dj-studio] .dj-handoff-markers .dj-handoff-marker{
    --dj-control-bg:transparent;--dj-control-border:transparent;--dj-control-shadow:none;--dj-control-radius:0;
    margin-left:-22px;border:0!important;transform:none!important;box-shadow:none!important
}
.dj-studio[data-dj-studio] .dj-handoff-markers .dj-handoff-band{
    --dj-control-bg:rgba(200,255,101,.18);--dj-control-border:#c8ff65;--dj-control-shadow:none;--dj-control-radius:0;
    border-style:dashed!important;box-shadow:none!important
}
.dj-handoff-marker span{width:max-content;max-width:128px;white-space:nowrap}

.dj-deck__eq .dj-key-panel { margin:0; padding:0; border:0; min-width:0; }
.dj-deck__eq { grid-template-columns:repeat(4,minmax(0,1fr)); }
.dj-deck__eq .dj-key-panel output { white-space:nowrap; text-transform:none; letter-spacing:0; font-size:.72rem; }
.dj-studio[data-dj-control-orientation="vertical"] .dj-deck__eq { grid-template-columns:repeat(7,minmax(44px,1fr)); }
.dj-studio[data-dj-control-orientation="vertical"] .dj-key-panel output { white-space:normal; }
@media(max-width:1100px){.dj-studio[data-dj-control-orientation="vertical"] .dj-deck__eq { grid-template-columns:repeat(4,minmax(44px,1fr)); }}
@media(max-width:760px){.dj-studio[data-dj-control-orientation="horizontal"] .dj-deck__eq { grid-template-columns:repeat(3,minmax(0,1fr)); }}
@media(max-width:359px){.dj-studio[data-dj-control-orientation="horizontal"] .dj-deck__eq { grid-template-columns:repeat(2,minmax(0,1fr)); }}

.dj-deck__eq .dj-key-panel output{white-space:normal;overflow-wrap:anywhere}


.dj-deck__reset .dj-pitch-fine{display:flex;align-items:center;gap:8px;min-height:44px;margin:0 12px 0 0;font-size:.78rem;cursor:pointer}.dj-studio .dj-pitch-fine input[type=checkbox]{width:22px;height:22px;min-width:22px;min-height:22px;flex-basis:22px}

.dj-bpm-readouts{flex:1 1 200px;grid-template-columns:65px minmax(0,1fr)}.dj-bpm-readouts [data-dj-local-bpm]{white-space:nowrap;font-size:.8rem}

/* Clip work stays independent of the performance deck layout. */
.dj-clip-editor{position:fixed;z-index:900;top:100px;left:calc(50% - 230px);width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;box-sizing:border-box;margin:0;background:#111820;box-shadow:0 12px 48px #000b;color:var(--dj-text)}
.dj-clip-window-head{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.dj-clip-window-head button{min-height:44px;color:inherit;background:#202b37;border:1px solid var(--dj-line);border-radius:6px;padding:6px 10px}
.dj-clip-window-head [data-dj-clip-drag]{flex:1;text-align:left;cursor:move;touch-action:none}
.dj-clip-editor [data-dj-clip-wave]{display:block;width:100%;height:100px;background:#050609;border-radius:6px;margin-bottom:8px}
.dj-clip-editor [data-dj-clip-info]{font-size:.75rem;align-self:center}
.dj-clip-editor.is-minimized{top:auto!important;left:12px!important;bottom:12px;width:210px;max-height:70px;padding:6px}
[data-dj-deck="b"] .dj-clip-editor.is-minimized{left:230px!important}
.dj-clip-editor.is-minimized .dj-clip-window-body{display:none}
.dj-clip-editor.is-minimized .dj-clip-window-head{margin:0}
@media(max-width:500px){[data-dj-deck="b"] .dj-clip-editor.is-minimized{left:auto!important;right:12px;bottom:76px}}

.dj-clip-wave-wrap{position:relative}.dj-clip-wave-wrap [data-dj-clip-seek]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:crosshair;margin:0;z-index:1}.dj-clip-wave-wrap:focus-within{outline:2px solid #d7efaf;outline-offset:2px}.dj-clip-editor [data-dj-clip-range]{display:none}.dj-clip-editor [data-dj-clip-window-status]:empty{display:none}

.dj-clip-window-head [data-dj-clip-minimize],.dj-clip-window-head [data-dj-clip-close]{flex:0 0 44px;width:44px;font-size:1.3rem;line-height:1;padding:6px}

.dj-clip-sound{margin:8px 0}.dj-clip-sound summary{min-height:44px;align-content:center;cursor:pointer}.dj-clip-sound-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dj-clip-sound-grid output{font-size:.75rem}

.dj-clip-editor.is-minimized.is-playing{border-color:#d7efaf;box-shadow:0 0 0 2px #d7efaf55}
[data-dj-clip-playing]{font-size:.75rem;color:#d7efaf;white-space:nowrap}
.dj-clip-editor.is-minimized.is-playing{width:260px}
[data-dj-deck="b"] .dj-clip-editor.is-minimized{left:280px!important}
@media(max-width:500px){[data-dj-deck="b"] .dj-clip-editor.is-minimized{left:auto!important}}

/* Prepared files are setup work, below the performance mixer. */
.dj-prepared-instrumentals>summary{cursor:pointer;min-height:44px;align-content:center}
