.bfdj{--a:#2F8FFF;--b:#B06BFF;--knob:#1B2234;--panel:#0E1220;--panel-2:#141A2C;--groove:rgba(255,255,255,.08);--bfdj-h:auto;position:fixed;left:0;right:0;bottom:var(--bfdj-bottom,64px);z-index:calc(var(--bfj-z-player) + 1);background:linear-gradient(180deg,#121a2e 0,#0a0e19 100%);color:var(--bfj-text);border-top:1px solid rgba(47,143,255,.45);box-shadow:0 -10px 40px rgba(0,0,0,.55),0 -2px 24px rgba(47,143,255,.15);font-family:var(--bfj-font-body);display:flex;flex-direction:column;animation:bfdj-up var(--bfj-duration-slow) var(--bfj-ease)}
.bfdj[hidden]{display:none}
@keyframes bfdj-up{
from{transform:translateY(24px);opacity:0}
to{transform:none;opacity:1}
}
.bfdj[data-size=lite]{height:min(48vh,450px);min-height:400px}
.bfdj[data-size=full]{height:min(60vh,700px);min-height:560px}
.bfdj[data-size=mini]{height:auto}
.bfdj button{font-family:inherit}
.bfdj :focus-visible{outline:2px solid var(--bfj-interactive);outline-offset:2px}
.bfdj-top{display:flex;align-items:center;gap:.75rem;padding:.5rem .9rem;border-bottom:1px solid var(--groove);flex-shrink:0;min-height:52px}
.bfdj-brand{display:flex;align-items:baseline;gap:.6rem;flex-shrink:0}
.bfdj-logo{font-family:var(--bfj-font-display);font-size:1.35rem;letter-spacing:.06em;line-height:1;background:linear-gradient(90deg,var(--a),#7ac8ff 45%,var(--b));-webkit-background-clip:text;background-clip:text;color:transparent}
.bfdj-tagline{font-size:var(--bfj-text-meta);color:var(--bfj-text-2);white-space:nowrap}
.bfdj-tagline b{color:var(--bfj-action);font-weight:700}
.bfdj-bag{display:flex;align-items:center;gap:.7rem;margin-left:auto;min-width:0}
.bfdj-bag-text{font-size:var(--bfj-text-meta);color:var(--bfj-text-2);line-height:1.3;text-align:right;min-width:0}
.bfdj-bag-text strong{color:var(--bfj-text);font-weight:700}
.bfdj-bag-text em{font-style:normal;color:var(--bfj-action);font-weight:700}
.bfdj-meter{display:block;height:4px;width:120px;margin:.3rem 0 0 auto;border-radius:999px;background:var(--groove);overflow:hidden}
.bfdj-meter i{display:block;height:100%;background:var(--bfj-action);width:0;transition:width var(--bfj-duration-slow) var(--bfj-ease)}
.bfdj-buy{background:var(--bfj-action);color:var(--bfj-on-action);border:none;border-radius:999px;padding:.55rem 1rem;font-weight:800;font-size:.85rem;cursor:pointer;white-space:nowrap}
.bfdj-buy:hover{background:var(--bfj-action-hover)}
.bfdj-buy:disabled{background:var(--bfj-disabled-bg);color:var(--bfj-disabled-text);cursor:default}
.bfdj-sizes{display:inline-flex;border:1px solid var(--groove);border-radius:999px;padding:2px;flex-shrink:0;background:rgba(0,0,0,.25)}
.bfdj-sizes button{background:0 0;border:none;color:var(--bfj-text-2);font-size:.75rem;font-weight:700;padding:.32rem .7rem;border-radius:999px;cursor:pointer;letter-spacing:.02em}
.bfdj-sizes button[aria-checked=true]{background:var(--bfj-interactive);color:#fff}
.bfdj-sizes button[hidden]{display:none}
.bfdj-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:34px;min-width:34px;padding:0 .6rem;background:0 0;border:1px solid var(--groove);border-radius:var(--bfj-radius-md);color:var(--bfj-text);cursor:pointer;font-size:.78rem;font-weight:700;flex-shrink:0}
.bfdj-icon-btn:hover{border-color:var(--bfj-line-strong)}
.bfdj-icon-btn svg{width:16px;height:16px}
.bfdj-icon-btn[aria-pressed=true]{border-color:var(--bfj-interactive);color:#bfd9ff;background:rgba(47,143,255,.12)}
.bfdj-body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:1fr minmax(290px,330px) 1fr;grid-template-rows:minmax(0,1fr);position:relative}
.bfdj-body>.bfdj-deck[data-deck="A"]{grid-column:1;grid-row:1}
.bfdj-body>.bfdj-mixer{grid-column:2;grid-row:1}
.bfdj-body>.bfdj-deck[data-deck="B"]{grid-column:3;grid-row:1}
.bfdj[data-size=full] .bfdj-body{grid-template-columns:minmax(240px,280px) 1fr minmax(300px,340px) 1fr;grid-template-rows:auto minmax(0,1fr)}
.bfdj[data-size=full] .bfdj-crate{grid-column:1;grid-row:1/-1}
.bfdj[data-size=full] .bfdj-body>.bfdj-deck[data-deck="A"]{grid-column:2;grid-row:2}
.bfdj[data-size=full] .bfdj-body>.bfdj-mixer{grid-column:3;grid-row:2}
.bfdj[data-size=full] .bfdj-body>.bfdj-deck[data-deck="B"]{grid-column:4;grid-row:2}
.bfdj[data-size=mini] .bfdj-body{display:none}
.bfdj-crate{display:none;flex-direction:column;min-height:0;border-right:1px solid var(--groove);background:rgba(0,0,0,.18)}
.bfdj[data-size=full] .bfdj-crate{display:flex}
.bfdj[data-size=lite].crate-open .bfdj-crate{display:flex;position:absolute;inset:0 auto 0 0;width:min(360px,100%);z-index:3;background:#0b0f1b;box-shadow:12px 0 30px rgba(0,0,0,.5);animation:bfdj-slide var(--bfj-duration-base) var(--bfj-ease)}
@keyframes bfdj-slide{
from{transform:translateX(-16px);opacity:0}
to{transform:none;opacity:1}
}
.bfdj-tabs{display:flex;flex-wrap:wrap;gap:2px;padding:.55rem .6rem 0;flex-shrink:0;border-bottom:1px solid var(--groove)}
.bfdj-tabs button{background:0 0;border:none;border-bottom:2px solid transparent;color:var(--bfj-text-2);font-size:.75rem;font-weight:700;padding:.4rem .5rem;margin-bottom:-1px;cursor:pointer;white-space:nowrap}
.bfdj-tabs button[aria-selected=true]{color:var(--bfj-text);border-bottom-color:var(--bfj-interactive)}
.bfdj-tabs .n{display:inline-block;min-width:16px;padding:0 4px;margin-left:4px;border-radius:999px;background:var(--groove);font-size:.68rem;line-height:16px;text-align:center}
.bfdj-tabs [data-tab=bag] .n{background:var(--bfj-action);color:var(--bfj-on-action)}
.bfdj-search{display:flex;align-items:center;gap:.45rem;margin:.55rem .6rem .45rem;padding:0 .6rem;flex-shrink:0;cursor:text;background:var(--panel-2);border:1px solid var(--bfj-line-strong);border-radius:999px;color:var(--bfj-text-3)}
.bfdj-search svg{width:15px;height:15px;flex-shrink:0}
.bfdj-search input{flex:1 1 auto;min-width:0;background:0 0;border:none;color:var(--bfj-text);padding:.45rem 0;font:inherit;font-size:.82rem;-webkit-appearance:none;appearance:none;color-scheme:dark;outline:0}
.bfdj-search input::placeholder{color:var(--bfj-text-3)}
.bfdj-search:focus-within{border-color:var(--bfj-interactive);box-shadow:0 0 0 1px var(--bfj-interactive)}
.bfdj-list{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:0 .35rem .6rem}
.bfdj-row{display:grid;grid-template-columns:38px 1fr auto;gap:.55rem;align-items:center;padding:.4rem .35rem;border-radius:var(--bfj-radius-md)}
.bfdj-row:hover{background:rgba(255,255,255,.04)}
.bfdj-row img{width:38px;height:38px;border-radius:4px;object-fit:cover;background:var(--panel-2)}
.bfdj-row-t{font-size:.82rem;font-weight:700;line-height:1.25;color:var(--bfj-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bfdj-row-r{font-size:.7rem;color:var(--bfj-text-3);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bfdj-chip{white-space:nowrap;display:inline-block;font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:3px;padding:0 .3rem;margin-right:.3rem;vertical-align:1px}
.bfdj-chip.early{color:var(--bfj-action);border:1px solid rgba(255,176,0,.5)}
.bfdj-chip.bag{color:var(--bfj-on-action);background:var(--bfj-action)}
.bfdj-row-why{font-size:.72rem;color:var(--bfj-text-2);margin-top:.15rem;line-height:1.35}
.bfdj-row--wait{grid-template-columns:38px 1fr;align-items:start}
.bfdj-chip.clip{color:var(--bfj-text-2);border:1px solid var(--groove)}
.bfdj-row-act{display:flex;gap:2px;align-items:center}
.bfdj-load{width:25px;height:26px;border-radius:4px;border:1px solid var(--groove);background:rgba(0,0,0,.3);color:var(--bfj-text);font-weight:800;font-size:.72rem;cursor:pointer}
.bfdj-load[data-deck="A"]:hover{border-color:var(--a);color:var(--a)}
.bfdj-load[data-deck="B"]:hover{border-color:var(--b);color:var(--b)}
.bfdj-star{width:26px;height:26px;border:none;background:0 0;color:var(--bfj-text-3);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}
.bfdj-star svg{width:16px;height:16px}
.bfdj-star[aria-pressed=true]{color:var(--bfj-action)}
.bfdj-empty{padding:1rem .8rem;font-size:.8rem;color:var(--bfj-text-2);line-height:1.5;margin:0}
.bfdj-empty strong{display:inline-block;color:var(--bfj-text);font-size:.9rem;margin-bottom:.2rem}
.bfdj-empty b{color:var(--bfj-text);white-space:nowrap}
.bfdj-retry{display:inline-block;margin-top:.7rem;background:var(--bfj-action);color:var(--bfj-on-action);border:none;border-radius:999px;padding:.55rem 1.1rem;font-weight:800;font-size:.85rem;cursor:pointer}
.bfdj-retry:hover{background:var(--bfj-action-hover)}
.bfdj-retry:disabled{background:var(--bfj-disabled-bg);color:var(--bfj-disabled-text);cursor:default}
.bfdj-empty-note{display:inline-block;margin-top:.5rem;color:var(--bfj-text-3);font-size:.74rem}
.bfdj-empty button{margin-top:.6rem}
.bfdj-crate-foot{padding:.5rem .6rem;border-top:1px solid var(--groove);flex-shrink:0}
.bfdj-lanes{display:none}
.bfdj[data-size=full] .bfdj-lanes{display:flex;flex-direction:column;gap:2px;grid-column:2/-1;grid-row:1;padding:.45rem .6rem .35rem;background:#05070d;border-bottom:1px solid var(--groove)}
.bfdj-lane{--c:var(--a);position:relative;height:clamp(38px,6vh,58px);border-radius:4px;overflow:hidden;background:#090c15;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.bfdj-lane[data-deck="B"]{--c:var(--b)}
.bfdj-lane canvas{position:absolute;inset:0;width:100%;height:100%}
.bfdj-lane-tag{position:absolute;left:6px;top:4px;font-family:var(--bfj-font-display);font-size:.9rem;line-height:1;color:var(--c);text-shadow:0 0 6px rgba(0,0,0,.9)}
.bfdj-deck{--c:var(--a);display:flex;flex-direction:column;gap:.5rem;padding:.6rem .75rem .7rem;min-width:0;min-height:0;overflow:hidden;background:linear-gradient(180deg,#121827,#0c101b)}
.bfdj-deck[data-deck="B"]{--c:var(--b)}
.cdj-screen{display:flex;flex-direction:column;gap:.4rem;padding:.5rem .55rem .55rem;border-radius:8px;flex-shrink:0;background:linear-gradient(180deg,#060912,#0a0e1a);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),inset 0 6px 18px rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.04)}
.bfdj-deck-head{display:grid;grid-template-columns:auto 44px minmax(0,1fr) auto;gap:.55rem;align-items:center;min-width:0}
.bfdj-letter{font-family:var(--bfj-font-display);font-size:1.5rem;color:var(--c);line-height:1;width:1.1rem;text-align:center;text-shadow:0 0 10px color-mix(in srgb,var(--c) 60%,transparent)}
.bfdj-art{width:44px;height:44px;border-radius:4px;object-fit:cover;background:var(--panel-2);box-shadow:0 0 0 1px var(--groove)}
.bfdj-deck.playing .bfdj-art{box-shadow:0 0 0 2px var(--c),0 0 16px color-mix(in srgb,var(--c) 45%,transparent)}
.bfdj-id{min-width:0}
.bfdj-title{font-weight:800;font-size:.95rem;line-height:1.2;color:var(--bfj-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bfdj-rel{font-size:.72rem;color:var(--bfj-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem}
.cdj-ro-row{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:3px}
.cdj-ro{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:.22rem .4rem .26rem;border-radius:3px;background:rgba(255,255,255,.035);line-height:1.1}
.cdj-ro .l{font-size:.56rem;font-weight:800;letter-spacing:.1em;color:var(--bfj-text-3);white-space:nowrap;overflow:hidden}
.cdj-ro .l i{display:none}
.cdj-ro b{font-family:var(--bfj-font-mono);font-weight:700;font-size:.92rem;color:var(--bfj-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cdj-ro--bpm b{font-size:1.25rem;color:var(--c);text-shadow:0 0 10px color-mix(in srgb,var(--c) 45%,transparent)}
.cdj-ro--key b{color:#7cf0b0}
.bfdj-pos{font-family:var(--bfj-font-mono);font-size:.62rem;color:var(--bfj-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bfdj-deck.ending .cdj-ro--time b{color:#ff5a5a;animation:cdj-blink 1s steps(2,start) infinite}
@keyframes cdj-blink{
to{visibility:hidden}
}
.bfdj-wave-wrap{position:relative;height:38px;border-radius:3px;background:#04060c;cursor:pointer;overflow:hidden;flex-shrink:0}
.bfdj[data-size=full] .bfdj-wave-wrap{height:44px}
.bfdj-deck.ending .bfdj-wave-wrap{box-shadow:inset 0 0 0 1px rgba(255,90,90,.7)}
.bfdj-wave-wrap canvas{position:absolute;inset:0;width:100%;height:100%}
.bfdj-wave-wrap .bfdj-wait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.72rem;color:var(--bfj-text-3);pointer-events:none}
.bfdj-wave-wrap .bfdj-wait:empty{display:none}
.cdj-body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);gap:.7rem;align-items:center}
.cdj-left{display:flex;flex-direction:column;justify-content:flex-end;align-self:end;gap:.55rem}
.bfdj-cue,.bfdj-play{--ring:#FFA51F;width:52px;height:52px;border-radius:50%;border:2px solid color-mix(in srgb,var(--ring) 45%,transparent);background:radial-gradient(circle at 38% 30%,#2a3249,#10141f 70%);color:var(--ring);font-weight:900;font-size:.7rem;letter-spacing:.08em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08);flex-shrink:0;transition:box-shadow var(--bfj-duration-fast) var(--bfj-ease),border-color var(--bfj-duration-fast) var(--bfj-ease)}
.bfdj-play{--ring:#38E07B}
.bfdj-play svg{width:24px;height:18px}
.bfdj-deck.cued .bfdj-cue{border-color:var(--ring);box-shadow:0 0 0 2px rgba(0,0,0,.5),0 0 16px color-mix(in srgb,var(--ring) 55%,transparent)}
.bfdj-deck.playing .bfdj-play{border-color:var(--ring);box-shadow:0 0 0 2px rgba(0,0,0,.5),0 0 18px color-mix(in srgb,var(--ring) 60%,transparent)}
.bfdj-cue:active,.bfdj-play:active{transform:translateY(1px)}
.bfdj-cue:disabled,.bfdj-play:disabled{opacity:.4;cursor:default;box-shadow:0 3px 8px rgba(0,0,0,.55)}
.cdj-jog-cell{align-self:stretch;justify-self:stretch;min-width:0;min-height:0;height:100%;container-type:size;display:grid;place-items:center}
.cdj-jog{position:relative;justify-self:center;height:100%;max-height:168px;width:auto;max-width:100%;aspect-ratio:1;border-radius:50%;cursor:grab;touch-action:none;width:min(100cqw,100cqh,168px);height:min(100cqw,100cqh,168px);max-width:none;max-height:none;background:radial-gradient(circle,#1a2133 0 56%,#0a0d16 57% 60%,#2c354b 61%,#151b2a 72%,#0b0e17 100%);box-shadow:0 8px 22px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(255,255,255,.05)}
.bfdj[data-size=full] .cdj-jog{max-height:210px;width:min(100cqw,100cqh,210px);height:min(100cqw,100cqh,210px);max-height:none}
.bfdj[data-size=full] .cdj-ro b{font-size:.82rem}
.bfdj[data-size=full] .cdj-ro--bpm b{font-size:1.05rem}
.bfdj[data-size=full] .cdj-ro{padding-left:.3rem;padding-right:.3rem}
.cdj-jog:active{cursor:grabbing}
.cdj-jog-ring{position:absolute;inset:5%;border-radius:50%;pointer-events:none;background:repeating-conic-gradient(rgba(255,255,255,.14) 0 1deg,transparent 1deg 10deg);-webkit-mask:radial-gradient(circle,transparent 62%,#000 63% 70%,transparent 71%);mask:radial-gradient(circle,transparent 62%,#000 63% 70%,transparent 71%)}
.bfdj-deck.playing .cdj-jog{box-shadow:0 8px 22px rgba(0,0,0,.65),0 0 0 2px color-mix(in srgb,var(--c) 70%,transparent),0 0 24px color-mix(in srgb,var(--c) 35%,transparent)}
.cdj-platter{position:absolute;inset:21%;border-radius:50%;overflow:hidden;background:#0b0e17;box-shadow:0 0 0 2px rgba(0,0,0,.6),0 0 0 3px rgba(255,255,255,.08);pointer-events:none}
.cdj-jog-art{width:100%;height:100%;object-fit:cover;display:block;opacity:.92}
.cdj-jog-mark{position:absolute;left:50%;top:3%;width:4px;height:24%;margin-left:-2px;border-radius:2px;background:#fff;box-shadow:0 0 6px rgba(255,255,255,.8)}
.cdj-right{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto 1fr auto;gap:.35rem .4rem;align-self:stretch;justify-items:center;min-height:0}
.cdj-btn{height:24px;min-width:52px;padding:0 .45rem;border-radius:3px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#1f2638,#121725);color:var(--bfj-text-2);font-weight:800;font-size:.6rem;letter-spacing:.1em;cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.45)}
.cdj-btn:hover{color:var(--bfj-text);border-color:rgba(255,255,255,.22)}
.bfdj-master{grid-column:1/-1}
.bfdj-sync{grid-column:1/-1}
.bfdj-master.on{color:#ffa51f;border-color:rgba(255,165,31,.7);box-shadow:0 0 10px rgba(255,165,31,.35)}
.bfdj-sync.on{color:#0b0b14;background:var(--c);border-color:var(--c);box-shadow:0 0 12px color-mix(in srgb,var(--c) 55%,transparent)}
.bfdj-sync:disabled{opacity:.45;cursor:default}
.cdj-tempo{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:0;height:100%;overflow:hidden;padding:.2rem 0;border-radius:4px;background:rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px var(--groove);width:40px}
.cdj-tempo-mark{font-family:var(--bfj-font-mono);font-size:.7rem;line-height:1;color:var(--bfj-text-3)}
.bfdj .cdj-tempo-fader{writing-mode:vertical-lr;flex:1 1 auto;min-height:28px;width:26px;cursor:ns-resize;background:linear-gradient(90deg,transparent 0 9px,rgba(255,255,255,.18) 9px 17px,transparent 17px) center/100% 1px no-repeat}
.bfdj .cdj-tempo-fader::-webkit-slider-runnable-track{width:4px;height:100%}
.bfdj .cdj-tempo-fader::-webkit-slider-thumb{width:24px;height:12px;margin-left:-10px;margin-top:0;background:linear-gradient(180deg,#e8ecf8,#8892ac);border-top:2px solid var(--c)}
.bfdj .cdj-tempo-fader::-moz-range-track{width:4px;height:100%}
.bfdj .cdj-tempo-fader::-moz-range-thumb{width:24px;height:12px}
.cdj-nudges{grid-column:1/-1;display:flex;gap:3px;align-items:center}
.bfdj-nudge{width:24px;height:24px;border-radius:3px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#1f2638,#121725);color:var(--bfj-text-2);cursor:pointer;font-weight:800;font-size:.9rem;line-height:1;padding:0}
.bfdj-nudge:active{color:var(--c);border-color:var(--c)}
.cdj-range{min-width:34px;padding:0 .2rem;font-family:var(--bfj-font-mono);letter-spacing:0;font-size:.62rem}
.bfdj-bagit{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;min-width:0;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--bfj-action);color:var(--bfj-on-action);border:none;border-radius:var(--bfj-radius-md);padding:.55rem .7rem;font-weight:800;font-size:.84rem;cursor:pointer}
.bfdj-bagit:hover{background:var(--bfj-action-hover)}
.bfdj-bagit svg{width:16px;height:16px}
.bfdj-bagit.in{background:var(--bfj-success-bg);color:var(--bfj-success);box-shadow:inset 0 0 0 1.5px var(--bfj-success-border)}
.bfdj-bagit:disabled{background:var(--bfj-disabled-bg);color:var(--bfj-disabled-text);box-shadow:none;cursor:default}
.bfdj-bagit[hidden]{display:none}
.bfdj-bagit.soon:disabled{background:0 0;color:var(--bfj-text-2);box-shadow:inset 0 0 0 1px var(--bfj-line-strong);font-weight:700}
.bfdj-deck-foot{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.4rem;flex-shrink:0}
.bfdj-tagbtn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:0 .7rem;min-height:36px;border-radius:var(--bfj-radius-md);background:rgba(255,255,255,.04);border:1px solid var(--bfj-line-strong);color:var(--bfj-text);font-weight:700;font-size:.8rem;cursor:pointer}
.bfdj-tagbtn svg{width:16px;height:16px;color:var(--bfj-text-3)}
.bfdj-tagbtn:hover{border-color:var(--bfj-text-3)}
.bfdj-tagbtn[aria-pressed=true]{border-color:rgba(255,176,0,.6)}
.bfdj-tagbtn[aria-pressed=true] svg{color:var(--bfj-action)}
.bfdj-tagbtn:disabled{opacity:.45;cursor:default}
.bfdj-bagchip{width:26px;height:26px;border-radius:50%;border:none;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:var(--bfj-action);color:var(--bfj-on-action)}
.bfdj-bagchip svg{width:14px;height:14px}
.bfdj-bagchip:hover{background:var(--bfj-action-hover)}
.bfdj-bagchip.in{background:var(--bfj-success-bg);color:var(--bfj-success);box-shadow:inset 0 0 0 1.5px var(--bfj-success-border)}
.bfdj-bagchip[aria-disabled=true]{background:0 0;color:var(--bfj-text-3);box-shadow:inset 0 0 0 1px var(--bfj-line-strong);cursor:help}
.bfdj-gridbtn{height:24px;min-width:44px;flex-shrink:0}
.bfdj-gridbtn[aria-expanded=true]{color:#0b0b14;background:var(--c);border-color:var(--c)}
.bfdj-gridbtn.set:not([aria-expanded=true]){color:var(--bfj-success);border-color:var(--bfj-success-border)}
.bfdj-gridbtn.changed:not([aria-expanded=true]){color:var(--bfj-warning,#ffc14d);border-color:rgba(255,193,77,.6)}
.bfdj-gridbtn:disabled{opacity:.4;cursor:default}
.bfdj-deck.gridding .bfdj-deck-foot,.bfdj-deck.gridding .cdj-body{display:none}
.bfdj-deck.gridding{overflow-y:auto;overscroll-behavior:contain}
.bfdj-deck.gridding .bfdj-wave-wrap{height:72px;cursor:ew-resize}
.bfdj-wave-wrap{touch-action:none}
.bfdj-wave-wrap:focus-visible{outline:2px solid var(--bfj-interactive);outline-offset:1px}
.bfdj-grided{display:flex;flex-direction:column;gap:.45rem;padding:.55rem .6rem .6rem;border-radius:8px;background:rgba(0,0,0,.3);box-shadow:inset 0 0 0 1px var(--groove);flex-shrink:0;min-width:0}
.bfdj-grided[hidden]{display:none}
.bfdj-grided-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.bfdj-grided-title{font-family:var(--bfj-font-display);font-size:1.05rem;letter-spacing:.04em;color:var(--bfj-text);line-height:1}
.bfdj-grided-state{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;color:var(--bfj-text-2);line-height:1.25}
.bfdj-grided-state .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--bfj-text-3)}
.bfdj-grided-state.auto .dot{background:var(--bfj-interactive)}
.bfdj-grided-state.busy .dot,.bfdj-grided-state.changed .dot{background:#ffc14d}
.bfdj-grided-state.changed{color:#ffd889}
.bfdj-grided-state.ok .dot{background:var(--bfj-success)}
.bfdj-grided-state.ok{color:var(--bfj-success)}
.bfdj-grided-state.bad .dot{background:var(--bfj-error)}
.bfdj-grided-state.bad{color:#ff9a9a}
.bfdj-grided-help{margin:0;font-size:.72rem;line-height:1.4;color:var(--bfj-text-3)}
.bfdj-grided-help b{color:var(--bfj-text-2)}
.bfdj-grided-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.bfdj-grided-bpm button,.bfdj-grided-done,.bfdj-grided-reset,.bfdj-grided-row button{min-height:32px;padding:0 .3rem;border-radius:4px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#1f2638,#121725);color:var(--bfj-text);font-weight:700;font-size:.72rem;cursor:pointer;white-space:nowrap}
.bfdj-grided-bpm button:hover,.bfdj-grided-row button:hover{border-color:var(--c)}
.bfdj-grided button:disabled{opacity:.4;cursor:default}
.bfdj-grided-row2{grid-template-columns:minmax(0,1fr) auto}
.bfdj-grided-here{border-color:color-mix(in srgb,var(--c) 60%,transparent)!important;color:var(--bfj-text)}
.bfdj-grided-bpm{display:inline-flex;align-items:center;gap:4px}
.bfdj-grided-bpm button{width:32px;padding:0;font-size:.95rem}
.bfdj-grided-bpm .l{font-size:.56rem;font-weight:800;letter-spacing:.1em;color:var(--bfj-text-3)}
.bfdj-grided-bpm .v{font-family:var(--bfj-font-mono);font-size:.85rem;color:var(--c);min-width:3.6em;text-align:center}
.bfdj-grided-foot{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px}
.bfdj-grided-save{min-height:34px;border:none;border-radius:var(--bfj-radius-md);background:var(--bfj-action);color:var(--bfj-on-action);font-weight:800;font-size:.8rem;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bfdj-grided-save:hover{background:var(--bfj-action-hover)}
.bfdj-grided-save:disabled{background:var(--bfj-disabled-bg);color:var(--bfj-disabled-text);cursor:default}
.bfdj-grided-done,.bfdj-grided-reset{padding:0 .7rem}
.bfdj-basket-btn{position:relative}
.bfdj-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--bfj-action);color:var(--bfj-on-action);font-size:.68rem;font-weight:800;line-height:1}
.bfdj-count[hidden]{display:none}
.bfdj-count.bump{animation:bfdj-bump .45s var(--bfj-ease)}
@keyframes bfdj-bump{
40%{transform:scale(1.35)}
}
.bfdj-basket{position:absolute;top:0;right:0;bottom:0;width:min(380px,100%);z-index:4;display:flex;flex-direction:column;min-height:0;overflow-y:auto;background:#0b0f1b;border-left:1px solid var(--groove);box-shadow:-12px 0 30px rgba(0,0,0,.5);animation:bfdj-slide-r var(--bfj-duration-base) var(--bfj-ease)}
.bfdj-basket[hidden]{display:none}
@keyframes bfdj-slide-r{
from{transform:translateX(16px);opacity:0}
to{transform:none;opacity:1}
}
.bfdj-bk-head{display:flex;align-items:center;justify-content:space-between;padding:.55rem .6rem .55rem .9rem;border-bottom:1px solid var(--groove);flex-shrink:0}
.bfdj-bk-title{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--bfj-font-display);font-size:1.15rem;letter-spacing:.03em}
.bfdj-bk-title svg{width:18px;height:18px}
.bfdj-bk-list{list-style:none;margin:0;padding:.4rem .5rem}
.bfdj-bk-list li{display:grid;grid-template-columns:40px minmax(0,1fr) auto 28px;gap:.55rem;align-items:center;padding:.4rem .3rem;border-bottom:1px solid var(--groove)}
.bfdj-bk-art,.bfdj-bk-list img{width:40px;height:40px;border-radius:4px;object-fit:cover;background:var(--panel-2)}
.bfdj-bk-id{min-width:0}
.bfdj-bk-price{font-weight:800;font-size:.85rem;white-space:nowrap;text-align:right}
.bfdj-bk-price s{display:block;font-weight:600;font-size:.7rem;color:var(--bfj-text-3)}
.bfdj-bk-x{width:28px;height:28px;border:none;background:0 0;color:var(--bfj-text-3);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
.bfdj-bk-x:hover{color:var(--bfj-text);background:rgba(255,255,255,.06)}
.bfdj-bk-x svg{width:14px;height:14px}
.bfdj-bk-nudge{margin:.4rem .9rem 0;font-size:.76rem;color:var(--bfj-text-2)}
.bfdj-bk-nudge em{font-style:normal;color:var(--bfj-action);font-weight:700}
.bfdj-bk-total{display:flex;justify-content:space-between;align-items:baseline;margin:.5rem .9rem;font-size:.85rem;color:var(--bfj-text-2)}
.bfdj-bk-total i{font-style:normal;color:var(--bfj-success);font-size:.75rem;margin-left:.3rem}
.bfdj-bk-total b{font-size:1.15rem;color:var(--bfj-text)}
.bfdj-bk-checkout{margin:0 .9rem;padding:.7rem 1rem;border:none;border-radius:999px;background:var(--bfj-action);color:var(--bfj-on-action);font-weight:800;font-size:.92rem;cursor:pointer}
.bfdj-bk-checkout:hover{background:var(--bfj-action-hover)}
.bfdj-bk-fine{margin:.5rem .9rem .8rem;font-size:.7rem;color:var(--bfj-text-3);text-align:center}
.bfdj-mixer{display:flex;flex-direction:column;gap:.45rem;padding:.55rem .7rem .7rem;min-height:0;background:linear-gradient(180deg,#1a2134 0,#121827 60%,#0e1320 100%);border-left:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.djm-plate{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.3rem .5rem;border-radius:4px;flex-shrink:0;background:linear-gradient(180deg,#0a0d16,#111624);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.djm-plate img{width:20px;height:20px;border-radius:50%;object-fit:cover}
.djm-name{font-family:var(--bfj-font-display);font-size:1.05rem;letter-spacing:.08em;line-height:1;background:linear-gradient(90deg,var(--a),#7ac8ff 45%,var(--b));-webkit-background-clip:text;background-clip:text;color:transparent}
.djm-sub{font-size:.55rem;font-weight:800;letter-spacing:.16em;color:var(--bfj-text-3)}
.djm-chs{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:minmax(0,1fr) auto;gap:.3rem .5rem}
.bfdj-ch{--c:var(--a);grid-row:1;display:flex;gap:.45rem;align-items:stretch;min-height:0}
.bfdj-ch[data-deck="A"]{grid-column:1}
.bfdj-ch[data-deck="B"]{--c:var(--b);grid-column:3;flex-direction:row-reverse}
.bfdj-knobs{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:2px;min-height:0;flex:1 1 auto}
.bfdj-fadercol{display:flex;gap:.3rem;align-items:stretch;min-height:0}
.bfdj-ch[data-deck="B"] .bfdj-fadercol{flex-direction:row-reverse}
.djm-centre{display:contents}
.djm-master{grid-column:2;grid-row:1;display:flex;gap:3px;justify-content:center;padding:0 2px}
.djm-master-l{grid-column:2;grid-row:2;font-size:.5rem;font-weight:800;letter-spacing:.12em;color:var(--bfj-text-3);text-align:center}
.djm-meter{display:flex;flex-direction:column-reverse;gap:2px;width:7px;padding:2px 1px;border-radius:2px;background:#05070c;min-height:0}
.djm-meter i{flex:1 1 0;min-height:2px;border-radius:1px;background:rgba(56,224,123,.14)}
.djm-meter i:nth-child(n+8){background:rgba(255,193,77,.14)}
.djm-meter i:nth-child(n+11){background:rgba(255,77,77,.16)}
.djm-meter i.on{background:#38e07b;box-shadow:0 0 4px rgba(56,224,123,.7)}
.djm-meter i.on:nth-child(n+8){background:#ffc14d;box-shadow:0 0 4px rgba(255,193,77,.7)}
.djm-meter i.on:nth-child(n+11){background:#ff4d4d;box-shadow:0 0 4px rgba(255,77,77,.7)}
.bfdj-knob{--v:0;position:relative;width:30px;height:30px;border-radius:50%;cursor:ns-resize;touch-action:none;flex-shrink:0;background:radial-gradient(circle at 35% 30%,#4a5675,#1e2538 62%,#121726);box-shadow:0 2px 6px rgba(0,0,0,.65),inset 0 0 0 1px rgba(255,255,255,.1)}
.bfdj-knob::before{content:"";position:absolute;inset:-4px;border-radius:50%;background:conic-gradient(from 225deg,var(--c) 0deg,var(--c) calc((var(--v) + 1) * 135deg),rgba(255,255,255,.08) calc((var(--v) + 1) * 135deg),rgba(255,255,255,.08) 270deg,transparent 270deg);-webkit-mask:radial-gradient(circle,transparent 16px,#000 17px);mask:radial-gradient(circle,transparent 16px,#000 17px)}
.bfdj-knob::after{content:"";position:absolute;left:50%;top:3px;width:2px;height:10px;margin-left:-1px;background:#fff;border-radius:2px;transform-origin:50% 12px;transform:rotate(calc(var(--v) * 135deg))}
.bfdj-knob-wrap[data-k=filter] .bfdj-knob::before{background:conic-gradient(from 225deg,#3fd0ff 0deg 135deg,#ff7a3f 135deg 270deg,transparent 270deg);opacity:.35}
.bfdj-knob-l{font-size:.52rem;font-weight:800;letter-spacing:.1em;color:var(--bfj-text-3);text-align:center;line-height:1}
.bfdj-knob-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;width:44px}
.bfdj-knob.kill::before{background:conic-gradient(from 225deg,var(--bfj-error) 0deg,var(--bfj-error) 270deg,transparent 270deg)}
.bfdj-fader{writing-mode:vertical-lr;direction:rtl;width:26px;min-height:80px;height:100%;accent-color:var(--c);cursor:ns-resize}
.bfdj-xf{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:4px;background:rgba(0,0,0,.25);box-shadow:inset 0 0 0 1px var(--groove);flex-shrink:0}
.bfdj-xf b{font-family:var(--bfj-font-display);font-weight:400;font-size:.95rem;line-height:1}
.bfdj-xf-a{color:var(--a)}
.bfdj-xf-b{color:var(--b)}
.bfdj-xf input{flex:1 1 auto;min-width:0;accent-color:#DDE6FF}
.bfdj input[type=range]{-webkit-appearance:none;appearance:none;background:0 0;color-scheme:dark}
.bfdj input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:rgba(0,0,0,.5);box-shadow:inset 0 0 0 1px var(--groove)}
.bfdj input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:rgba(0,0,0,.5)}
.bfdj input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:14px;margin-top:-4px;border-radius:3px;background:linear-gradient(180deg,#f2f5ff,#9aa6c2);box-shadow:0 2px 4px rgba(0,0,0,.6)}
.bfdj input[type=range]::-moz-range-thumb{width:22px;height:14px;border:none;border-radius:3px;background:linear-gradient(180deg,#f2f5ff,#9aa6c2)}
.bfdj .bfdj-fader::-webkit-slider-runnable-track{width:6px;height:100%}
.bfdj .bfdj-fader::-webkit-slider-thumb{width:14px;height:22px;margin-top:0;margin-left:-4px}
.bfdj .bfdj-fader::-moz-range-track{width:6px;height:100%}
.bfdj .bfdj-fader::-moz-range-thumb{width:14px;height:22px}
.bfdj .bfdj-xf input::-webkit-slider-thumb{width:30px;height:20px;margin-top:-7px}
.bfdj-status{margin:0;display:inline-flex;align-items:center;min-height:28px;padding:.2rem .8rem;border-radius:999px;font-size:var(--bfj-text-meta);color:var(--bfj-text);background:rgba(255,255,255,.06);border:1px solid var(--bfj-line-strong);text-align:right;line-height:1.3}
.bfdj-status[hidden]{display:none}
.bfdj-status.ok{border-color:var(--bfj-success-border);color:var(--bfj-success);background:var(--bfj-success-bg)}
.bfdj-bag.saying .bfdj-bag-text{display:none}
.bfdj-mini{display:none;align-items:center;gap:.7rem;padding:.45rem .9rem .55rem}
.bfdj[data-size=mini] .bfdj-mini{display:flex}
.bfdj-mchip{--c:var(--a);display:flex;align-items:center;gap:.5rem;min-width:0;flex:1 1 0}
.bfdj-mchip[data-deck="B"]{--c:var(--b);flex-direction:row-reverse;text-align:right}
.bfdj-mchip img{width:36px;height:36px;border-radius:4px;object-fit:cover;background:var(--panel-2)}
.bfdj-mchip .t{font-size:.8rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bfdj-mplay{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--c);background:0 0;color:var(--c);cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.bfdj-mplay svg{width:15px;height:15px}
.bfdj-mini .bfdj-xf{border-top:none;padding:0 .2rem;background:0 0;box-shadow:none;flex:0 1 220px;min-width:110px}
.bfdj[data-size=mini] .bfdj-top{border-bottom:none;padding-bottom:0;min-height:44px}
@media (max-width:760px),(max-height:500px){
.bfdj-tagline{display:none}
#bfdj-basket-btn span,#bfdj-crate-btn span{display:none}
.bfdj-buy{display:none}
.bfdj-brand .bfdj-tt{display:none}
.bfdj-grided{padding:.45rem .4rem .5rem}
.bfdj-grided-help{display:none}
.bfdj-grided-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.bfdj-grided-row2{grid-template-columns:1fr}
.bfdj-grided-bpm{justify-content:space-between}
.bfdj-grided-foot{grid-template-columns:1fr 1fr}
.bfdj-grided-save{grid-column:1/-1}
.bfdj-deck.gridding .bfdj-wave-wrap{height:56px}
.bfdj-tagbtn{padding:0 .45rem}
.bfdj-tagbtn span{display:none}
.bfdj-deck-foot{gap:.3rem}
.bfdj[data-size=lite].basket-open .bfdj-basket{width:100%}
.bfdj-buy{padding:.5rem .8rem}
.bfdj-top{flex-wrap:wrap;gap:.45rem;padding:.45rem .6rem}
.bfdj-bag{display:contents}
.bfdj-bag-text{order:9;flex:1 1 100%;text-align:left;font-size:.72rem}
.bfdj-status{order:9;flex:1 1 100%;justify-content:flex-start;text-align:left;font-size:.72rem;min-height:0;padding:.15rem .6rem}
.bfdj-meter{display:none}
.bfdj[data-size=lite].crate-open .bfdj-crate{width:100%}
.bfdj-tabs{scrollbar-width:none}
.bfdj[data-size=lite]{height:auto;max-height:74vh;min-height:0}
.bfdj[data-size=lite] .bfdj-body{grid-template-columns:1fr 1fr;grid-template-rows:max-content max-content;overflow-y:auto}
.bfdj[data-size=lite] .bfdj-body>.bfdj-deck[data-deck="A"]{grid-column:1;grid-row:1;border-right:1px solid var(--groove)}
.bfdj[data-size=lite] .bfdj-body>.bfdj-deck[data-deck="B"]{grid-column:2;grid-row:1}
.bfdj[data-size=lite] .bfdj-body>.bfdj-mixer{grid-column:1/-1;grid-row:2;border:none;border-top:1px solid var(--groove)}
.bfdj-deck{padding:.5rem .45rem .55rem;gap:.4rem}
.cdj-screen{padding:.4rem .4rem .45rem;gap:.3rem}
.bfdj-deck-head{grid-template-columns:auto 34px minmax(0,1fr) auto;gap:.35rem}
.bfdj-gridbtn{min-width:0;padding:0 .35rem}
.bfdj-letter{font-size:1.2rem;width:.9rem}
.bfdj-art{width:34px;height:34px}
.bfdj-title{font-size:.8rem}
.bfdj-rel{font-size:.64rem}
.cdj-ro-row{grid-template-columns:1fr 1fr}
.cdj-ro--time,.cdj-ro:nth-child(2){display:none}
.cdj-ro--bpm b{font-size:1.05rem}
.bfdj-wave-wrap{height:26px}
.cdj-body{grid-template-columns:auto auto;justify-content:center;gap:.5rem}
.cdj-left{flex-direction:row;align-self:center}
.bfdj-master,.cdj-jog,.cdj-jog-cell,.cdj-nudges,.cdj-tempo{display:none}
.cdj-right{display:flex;align-self:center}
.bfdj-sync{height:44px;min-width:48px}
.bfdj-cue,.bfdj-play{width:44px;height:44px}
.bfdj-bagit{font-size:.76rem;padding:.5rem .35rem}
.bfdj-mixer{padding:.45rem .6rem .6rem}
.djm-plate{display:none}
.djm-chs{grid-template-rows:auto auto auto}
.bfdj-fadercol{height:100px}
.bfdj-knobs{display:grid;grid-template-columns:repeat(2,44px);gap:.35rem .2rem;align-content:center;justify-content:center}
.bfdj-knob-wrap[data-k=trim]{display:none}
.bfdj-mini{gap:.45rem;padding:.4rem .6rem .5rem;flex-wrap:wrap}
.bfdj-mini .bfdj-xf{flex:1 1 100%;order:3}
.bfdj-mchip img{display:none}
}
@media (max-width:760px){
.bfdj.grid-A .bfdj-body>.bfdj-deck[data-deck="B"],.bfdj.grid-B .bfdj-body>.bfdj-deck[data-deck="A"]{display:none}
.bfdj.grid-A .bfdj-body>.bfdj-deck[data-deck="A"],.bfdj.grid-B .bfdj-body>.bfdj-deck[data-deck="B"]{grid-column:1/-1;border-right:none}
.bfdj.grid-A .bfdj-grided-row,.bfdj.grid-B .bfdj-grided-row{grid-template-columns:repeat(4,minmax(0,1fr))}
.bfdj.grid-A .bfdj-grided-row2,.bfdj.grid-B .bfdj-grided-row2{grid-template-columns:minmax(0,1fr) auto}
.bfdj.grid-A .bfdj-grided-foot,.bfdj.grid-B .bfdj-grided-foot{grid-template-columns:minmax(0,1fr) auto auto}
.bfdj.grid-A .bfdj-grided-save,.bfdj.grid-B .bfdj-grided-save{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){
.bfdj,.bfdj-basket,.bfdj-crate{animation:none!important}
}
:root{--tt-a:var(--bfj-interactive);--tt-b:#B06BFF;--tt-hole:var(--bfj-bg)}
.bfdj-tt{display:block;height:1em;width:auto;aspect-ratio:30/18;flex-shrink:0;overflow:visible}
.bfdj-brand{align-items:center}
.bfdj-brand .bfdj-tt{height:20px;color:var(--bfj-text-2)}
.mp-bfdj .bfdj-tt{height:16px}
.mp-bfdj[aria-pressed=true] .bfdj-tt{--tt-a:#0B0B14;--tt-b:#0B0B14;--tt-hole:#B06BFF}
.mp-bfdj{display:inline-flex;align-items:center;gap:.35rem;background:rgba(176,107,255,.14);color:#e3ccff;border:1px solid rgba(176,107,255,.55);border-radius:999px;padding:.3rem .7rem;font-family:var(--bfj-font-display);letter-spacing:.06em;font-size:.8rem;cursor:pointer;flex-shrink:0}
.mp-bfdj:hover{background:rgba(176,107,255,.25)}
.mp-bfdj[aria-pressed=true]{background:#b06bff;color:#0b0b14}
.booth-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center;padding:1rem 0 2rem}
.booth-kicker{display:inline-block;font-size:var(--bfj-text-label);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--bfj-action);margin-bottom:.8rem}
.booth-h1{font-family:var(--bfj-font-display);font-weight:400;font-size:clamp(3rem, 8vw, 6rem);line-height:.9;margin:0;letter-spacing:.02em;background:linear-gradient(90deg,#2f8fff,#7ac8ff 45%,#b06bff);-webkit-background-clip:text;background-clip:text;color:transparent}
.booth-line{font-family:var(--bfj-font-display);font-size:clamp(1.4rem, 3vw, 2.1rem);color:var(--bfj-text);margin:.6rem 0 1rem;letter-spacing:.02em;line-height:1.1}
.booth-sub{color:var(--bfj-text-2);font-size:1rem;line-height:1.6;max-width:34rem;margin:0 0 1.4rem}
.booth-ctas{display:flex;gap:.7rem;flex-wrap:wrap}
.booth-open{display:inline-flex;align-items:center;gap:.5rem;background:var(--bfj-action);color:var(--bfj-on-action);border:none;border-radius:999px;padding:.85rem 1.5rem;font-weight:800;font-size:1rem;cursor:pointer}
.booth-open:hover{background:var(--bfj-action-hover)}
.booth-visual{position:relative;aspect-ratio:4/3;border-radius:var(--bfj-radius-lg);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px var(--bfj-line)}
.booth-visual img{width:100%;height:100%;object-fit:cover;display:block}
.booth-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(11,11,20,.85))}
.booth-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0 2rem;padding:0;list-style:none}
.booth-step{background:var(--bfj-surface);border:1px solid var(--bfj-line);border-radius:var(--bfj-radius-lg);padding:1.1rem 1.1rem 1.2rem}
.booth-step b{display:block;font-family:var(--bfj-font-display);font-weight:400;font-size:1.6rem;letter-spacing:.03em;color:var(--bfj-text);margin:.2rem 0 .35rem}
.booth-step span{font-size:var(--bfj-text-label);font-weight:800;letter-spacing:.1em;color:var(--bfj-text-3)}
.booth-step p{margin:0;color:var(--bfj-text-2);font-size:var(--bfj-text-small);line-height:1.5}
.booth-step.money b{color:var(--bfj-action)}
.booth-fine{color:var(--bfj-text-3);font-size:var(--bfj-text-meta);line-height:1.6;max-width:46rem}
.hddj-card{display:flex;gap:1.1rem;align-items:flex-start;background:var(--bfj-surface);border:1px solid var(--bfj-line);border-radius:var(--bfj-radius-lg);padding:1.3rem 1.4rem;margin:0 0 2rem;max-width:46rem}
.hddj-card>img{width:56px;height:56px;border-radius:12px;flex-shrink:0}
.hddj-tag{font-size:var(--bfj-text-label);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--bfj-text-3)}
.hddj-title{font-family:var(--bfj-font-display);font-weight:400;font-size:2rem;letter-spacing:.02em;line-height:1.05;color:var(--bfj-text);margin:.25rem 0 .3rem}
.hddj-meta{margin:0 0 .7rem;color:var(--bfj-text-3);font-size:var(--bfj-text-meta)}
.hddj-line{margin:0 0 .5rem;color:var(--bfj-text);font-size:1rem;line-height:1.55}
.hddj-small{margin:0 0 1rem;color:var(--bfj-text-2);font-size:var(--bfj-text-small);line-height:1.55}
.hddj-small a{color:var(--bfj-text);text-decoration:underline}
.hddj-open{display:inline-flex;align-items:center;background:var(--bfj-action);color:var(--bfj-on-action);border-radius:999px;padding:.8rem 1.4rem;font-weight:800;font-size:1rem;text-decoration:none}
.hddj-open:hover{background:var(--bfj-action-hover)}
.hddj-phone{display:none;margin:0;color:var(--bfj-text-2);font-size:var(--bfj-text-small)}
@media (max-width:700px),(hover:none) and (pointer:coarse){
.hddj-open{display:none}
.hddj-phone{display:block}
}
@media (max-width:600px){
.hddj-card{flex-direction:column;gap:.8rem}
.hddj-card>img{width:44px;height:44px}
}
@media (max-width:760px){
.booth-hero{grid-template-columns:1fr;gap:1.4rem}
.booth-visual{order:-1;aspect-ratio:16/9}
.booth-steps{grid-template-columns:1fr 1fr}
}
.booth-open-icon{width:auto;height:22px;aspect-ratio:30/18;flex-shrink:0;--tt-a:#0B0B14;--tt-b:#0B0B14;--tt-hole:var(--bfj-action)}
@media (max-height:500px) and (min-width:761px){
.bfdj[data-size=lite]{max-height:calc(100dvh - var(--bfdj-bottom,64px) - 8px)}
.bfdj[data-size=lite] .bfdj-body{grid-template-columns:minmax(0,1fr) minmax(340px,370px) minmax(0,1fr);grid-template-rows:auto}
.bfdj[data-size=lite] .bfdj-mixer{padding-left:.4rem;padding-right:.4rem}
.bfdj[data-size=lite] .bfdj-body>.bfdj-deck[data-deck="A"]{grid-column:1;grid-row:1}
.bfdj[data-size=lite] .bfdj-body>.bfdj-mixer{grid-column:2;grid-row:1;border:none;border-left:1px solid var(--groove);border-right:1px solid var(--groove)}
.bfdj[data-size=lite] .bfdj-body>.bfdj-deck[data-deck="B"]{grid-column:3;grid-row:1}
.bfdj-bag-text,.bfdj-status{flex:1 1 auto;order:0}
.bfdj-top{flex-wrap:nowrap}
.bfdj-wave-wrap{height:34px}
}
@media (max-height:500px) and (min-width:761px){
.bfdj.grid-A .bfdj-body>.bfdj-deck[data-deck="B"],.bfdj.grid-A .bfdj-body>.bfdj-mixer,.bfdj.grid-B .bfdj-body>.bfdj-deck[data-deck="A"],.bfdj.grid-B .bfdj-body>.bfdj-mixer{display:none}
.bfdj.grid-A .bfdj-body>.bfdj-deck[data-deck="A"],.bfdj.grid-B .bfdj-body>.bfdj-deck[data-deck="B"]{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:.6rem}
.bfdj.grid-A .bfdj-grided-row,.bfdj.grid-B .bfdj-grided-row{grid-template-columns:repeat(4,minmax(0,1fr))}
.bfdj.grid-A .bfdj-grided-row2,.bfdj.grid-B .bfdj-grided-row2{grid-template-columns:minmax(0,1fr) auto}
.bfdj.grid-A .bfdj-grided-foot,.bfdj.grid-B .bfdj-grided-foot{grid-template-columns:minmax(0,1fr) auto auto}
.bfdj.grid-A .bfdj-grided-save,.bfdj.grid-B .bfdj-grided-save{grid-column:auto}
.bfdj-deck.gridding .bfdj-wave-wrap{height:84px}
}
.bfdj-row-r:has(.bfdj-chip){white-space:normal}
.bfdj-chip.preview{text-transform:none}
@font-face{font-family:'BFDJ Mono';src:url(fonts/space-mono-latin-700.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'BFDJ Mono';src:url(fonts/space-mono-latin-400.woff2) format('woff2');font-weight:400;font-display:swap}
.bfdj{--hd-bg:#0E0F0D;--hd-panel:#141612;--hd-panel-2:#1B1D19;--hd-edge:rgba(255,255,255,.075);--hd-label:#8B8F86;--hd-tile:#E7E9E2;--hd-tile-ink:#0E0F0D;--hd-mono:'BFDJ Mono',ui-monospace,Menlo,monospace;--groove:rgba(255,255,255,.07);--panel-2:#1B1D19;background:repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 1px,transparent 1px 3px),linear-gradient(180deg,#151714 0,#0b0c0a 100%);border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -10px 40px rgba(0,0,0,.6)}
.bfdj-top{background:rgba(0,0,0,.25)}
.bfdj-basket,.bfdj-crate,.bfdj[data-size=lite].crate-open .bfdj-crate{background:#0f100e}
.bfdj-sizes button,.bfdj-tabs button{font-family:var(--hd-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
.bfdj-search{background:var(--hd-panel);border-color:rgba(255,255,255,.14)}
.bfdj[data-size=full] .bfdj-lanes{background:#080907}
.bfdj-lane{background:#0c0d0b;box-shadow:inset 0 0 0 1px var(--hd-edge)}
.bfdj-lane-tag{left:6px;top:6px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:var(--hd-tile);color:var(--hd-tile-ink);font-size:.75rem;text-shadow:none;box-shadow:inset 0 -2px 0 var(--c)}
.bfdj-deck{background:linear-gradient(180deg,#131511,#0d0e0c)}
.cdj-screen{background:#0a0b09;border-radius:10px;box-shadow:inset 0 0 0 1px var(--hd-edge),inset 0 8px 20px rgba(0,0,0,.55)}
.bfdj-letter{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:7px;font-size:1.45rem;background:var(--hd-tile);color:var(--hd-tile-ink);text-shadow:none;box-shadow:inset 0 -3px 0 var(--c),0 2px 6px rgba(0,0,0,.5)}
.bfdj-deck-head{grid-template-columns:38px 40px minmax(0,1fr) auto}
.bfdj-art{width:40px;height:40px}
.bfdj-deck.playing .bfdj-art{box-shadow:0 0 0 1px var(--hd-edge)}
.bfdj-deck.playing .bfdj-letter{box-shadow:inset 0 -3px 0 var(--c),0 0 14px color-mix(in srgb,var(--c) 55%,transparent)}
.bfdj-rel{font-family:var(--hd-mono);font-size:.62rem;letter-spacing:.04em}
.cdj-ro-row{gap:0;border-top:1px solid var(--hd-edge);padding-top:.3rem}
.cdj-ro{background:0 0;border-radius:0;padding:.1rem .5rem;border-left:1px solid var(--hd-edge);align-items:flex-end;text-align:right}
.cdj-ro:first-child{border-left:none;align-items:flex-start;text-align:left;padding-left:.1rem}
.bfdj-knob-l,.cdj-ro .l,.djm-master-l,.djm-sub{font-family:var(--hd-mono);font-weight:700;letter-spacing:.14em;color:var(--hd-label)}
.cdj-ro .l{font-size:.55rem}
.cdj-ro b{font-family:var(--hd-mono);font-size:1.05rem;letter-spacing:-.01em}
.cdj-ro--bpm b{font-size:1.5rem;text-shadow:none}
.bfdj[data-size=full] .cdj-ro b{font-size:1rem}
.bfdj[data-size=full] .cdj-ro--bpm b{font-size:1.35rem}
.cdj-ro--key b{color:#9be89f}
.bfdj-pos{font-family:var(--hd-mono)}
.bfdj-wave-wrap{background:#060705;box-shadow:inset 0 0 0 1px var(--hd-edge)}
.bfdj-nudge,.cdj-btn{border-radius:6px;border:1px solid var(--hd-edge);background:linear-gradient(180deg,#23251f,#181a16);color:#c9ccc3;font-family:var(--hd-mono);font-weight:700;letter-spacing:.12em;box-shadow:0 2px 0 rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.05)}
.bfdj-nudge:hover,.cdj-btn:hover{border-color:rgba(255,255,255,.2);color:#fff}
.bfdj-master.on{color:#0e0f0d;background:var(--hd-tile);border-color:var(--hd-tile);box-shadow:0 0 12px rgba(231,233,226,.25)}
.bfdj-sync.on{color:#0b0b14;background:var(--c);border-color:var(--c)}
.bfdj-tagbtn{border-radius:6px;background:linear-gradient(180deg,#23251f,#181a16);border-color:var(--hd-edge);font-family:var(--hd-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.bfdj-bagit{border-radius:6px}
.cdj-jog{background:conic-gradient(from 20deg,#daddd5,#8e928a 18%,#eef0ea 34%,#7e827a 52%,#d4d7cf 70%,#8a8e86 86%,#daddd5);box-shadow:0 10px 26px rgba(0,0,0,.7),0 0 0 1px rgba(0,0,0,.6)}
.cdj-jog-ring{inset:6.5%;background:radial-gradient(circle,transparent 0 34%,rgba(255,255,255,.05) 34.5% 35.5%,transparent 36%),repeating-radial-gradient(circle,#141513 0 1.2px,#0c0d0b 1.2px 2.6px);-webkit-mask:none;mask:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.8),inset 0 6px 16px rgba(0,0,0,.6)}
.cdj-platter{inset:35%;z-index:1;box-shadow:0 0 0 2px #0a0b09,0 0 0 3px rgba(255,255,255,.07)}
.cdj-jog-mark{z-index:2;top:8%;height:14%;width:3px;margin-left:-1.5px;background:#f4f5f0;box-shadow:none}
.bfdj-deck.playing .cdj-jog{box-shadow:0 10px 26px rgba(0,0,0,.7),0 0 0 2px color-mix(in srgb,var(--c) 75%,transparent),0 0 22px color-mix(in srgb,var(--c) 30%,transparent)}
.bfdj-cue,.bfdj-play{border-radius:7px;background:linear-gradient(180deg,#21231e,#171915);flex-direction:column;gap:3px;border:1px solid color-mix(in srgb,var(--ring) 40%,transparent);box-shadow:0 2px 0 rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05)}
.bfdj-cue .cdj-k,.bfdj-play .cdj-k{font-family:var(--hd-mono);font-weight:700;font-size:.55rem;letter-spacing:.14em;line-height:1;white-space:nowrap}
.bfdj-cue .cdj-k{font-size:.8rem;letter-spacing:.12em}
.bfdj-play .cdj-k{color:#b9bdb3}
.bfdj-play svg{width:22px;height:16px}
.bfdj-mixer{background:linear-gradient(180deg,#171915 0,#121410 100%);border-left:1px solid var(--hd-edge);border-right:1px solid var(--hd-edge)}
.djm-plate{background:#0a0b09;box-shadow:inset 0 0 0 1px var(--hd-edge)}
.bfdj-ch{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);gap:.3rem .45rem}
.bfdj-ch[data-deck="B"]{grid-template-columns:auto minmax(0,1fr)}
.bfdj-ch-head{grid-column:1/-1;display:flex;align-items:center;gap:.35rem;font-family:var(--hd-mono);font-weight:700;font-size:.56rem;letter-spacing:.14em;color:var(--hd-label)}
.bfdj-ch[data-deck="B"] .bfdj-ch-head{justify-content:flex-end;flex-direction:row-reverse}
.bfdj-ch-head b{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;background:var(--hd-tile);color:var(--hd-tile-ink);font-family:var(--bfj-font-display);font-weight:400;font-size:.7rem;letter-spacing:0;box-shadow:inset 0 -2px 0 var(--c)}
.bfdj-ch[data-deck="B"]>.bfdj-knobs{grid-column:2;grid-row:2}
.bfdj-ch[data-deck="B"]>.bfdj-fadercol{grid-column:1;grid-row:2}
.bfdj-knob{background:radial-gradient(circle at 40% 32%,#3a3d36,#1c1e1a 60%,#121310);box-shadow:0 2px 5px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.09)}
.bfdj-knob::after{background:#f4f5f0}
.djm-meter{background:#070806}
.bfdj-xf{background:#0a0b09;box-shadow:inset 0 0 0 1px var(--hd-edge);border-radius:6px}
.bfdj input[type=range]::-webkit-slider-thumb{background:linear-gradient(180deg,#f4f5f0,#a7aaa2)}
.bfdj input[type=range]::-moz-range-thumb{background:linear-gradient(180deg,#f4f5f0,#a7aaa2)}
.bfdj .cdj-tempo-fader::-webkit-slider-thumb{background:linear-gradient(180deg,#f4f5f0,#a7aaa2)}
@media (min-width:761px) and (min-height:501px){
.cdj-body{grid-template-columns:46px minmax(0,1fr) minmax(0,1fr) 82px;grid-template-rows:auto auto minmax(0,1fr) auto;gap:.45rem .55rem;align-items:stretch;grid-template-areas:"tempo jog jog master" "tempo jog jog sync" "tempo jog jog ." "nudge play cue ."}
.bfdj-deck[data-deck="B"] .cdj-body{grid-template-columns:82px minmax(0,1fr) minmax(0,1fr) 46px;grid-template-areas:"master jog jog tempo" "sync jog jog tempo" ". jog jog tempo" ". play cue nudge"}
.cdj-left,.cdj-right{display:contents}
.cdj-jog-cell{grid-area:jog}
.bfdj-deck .bfdj-master{grid-area:master}
.bfdj-deck .bfdj-sync{grid-area:sync}
.bfdj-master,.bfdj-sync{height:40px;width:100%;min-width:0;font-size:.58rem}
.bfdj-deck .cdj-tempo{grid-area:tempo;width:100%;height:auto;align-self:stretch;background:#0a0b09;box-shadow:inset 0 0 0 1px var(--hd-edge);border-radius:6px}
.cdj-tempo-mark{font-family:var(--hd-mono)}
.bfdj-deck .cdj-nudges{grid-area:nudge;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"r r" "m p";gap:3px;align-self:end}
.cdj-nudges [data-act=nudge-]{grid-area:m;width:auto;height:20px}
.cdj-nudges [data-act="nudge+"]{grid-area:p;width:auto;height:20px}
.cdj-nudges .cdj-range{grid-area:r;min-width:0;height:22px}
.bfdj-cue,.bfdj-play{grid-area:cue;width:100%;height:46px;border-radius:7px}
.bfdj-play{grid-area:play}
.cdj-jog{max-height:none}
.bfdj[data-size=lite] .cdj-jog{width:min(100cqw,100cqh,190px);height:min(100cqw,100cqh,190px)}
.bfdj[data-size=full] .cdj-jog{width:min(100cqw,100cqh,250px);height:min(100cqw,100cqh,250px)}
}
.bfdj[data-size=full]{height:min(66vh,740px);min-height:590px}
@media (min-width:761px) and (min-height:501px){
.bfdj[data-size=lite] .bfdj-master,.bfdj[data-size=lite] .bfdj-sync{height:32px}
.bfdj[data-size=lite] .bfdj-cue,.bfdj[data-size=lite] .bfdj-play{height:38px}
.bfdj[data-size=lite] .cdj-ro--bpm b{font-size:1.25rem}
.bfdj[data-size=lite] .cdj-screen{gap:.3rem;padding:.4rem .5rem .45rem}
.bfdj[data-size=lite] .bfdj-wave-wrap{height:30px}
.bfdj[data-size=lite] .bfdj-deck{gap:.4rem;padding-bottom:.55rem}
.bfdj[data-size=lite] .bfdj-knob-wrap{gap:2px}
}
@media (max-width:760px),(max-height:500px){
.bfdj-letter{width:28px;height:28px;font-size:1.05rem;border-radius:5px}
.bfdj-deck-head{grid-template-columns:28px 30px minmax(0,1fr) auto}
.bfdj-art{width:30px;height:30px}
.bfdj-play .cdj-k{display:none}
.bfdj-cue .cdj-k{font-size:.66rem}
.bfdj-ch-head{display:none}
.bfdj-ch{display:flex}
.bfdj-ch[data-deck="B"]{flex-direction:row-reverse}
.cdj-ro--bpm b{font-size:1.1rem}
.cdj-ro b{font-size:.9rem}
}
.bfdj[data-size=lite] .bfdj-ch-head{display:none}
.bfdj-play .cdj-k{letter-spacing:.08em;font-size:.5rem}
@media (min-width:761px) and (min-height:501px){
.bfdj[data-size=full] .bfdj-deck{gap:.4rem;padding-top:.45rem}
.bfdj[data-size=full] .cdj-screen{gap:.3rem;padding:.4rem .5rem .45rem}
.bfdj[data-size=full] .bfdj-wave-wrap{height:34px}
.bfdj[data-size=full] .bfdj-lane{height:clamp(34px,5vh,50px)}
.bfdj[data-size=full] .cdj-body{grid-template-columns:42px minmax(0,1fr) minmax(0,1fr) 76px;gap:.35rem .45rem}
.bfdj[data-size=full] .bfdj-deck[data-deck="B"] .cdj-body{grid-template-columns:76px minmax(0,1fr) minmax(0,1fr) 42px}
.bfdj[data-size=full] .bfdj-cue,.bfdj[data-size=full] .bfdj-play{height:40px}
}
@media (max-width:760px),(max-height:500px){
.bfdj-play{order:-1}
}