@font-face{font-family:DejaVu Sans;src:url(/assets/DejaVuSans-BWeqaRAF.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DejaVu Sans;src:url(/assets/DejaVuSans-Bold-Bd2V_7NP.woff2)format("woff2");font-weight:600 900;font-style:normal;font-display:swap}@font-face{font-family:DejaVu Sans Mono;src:url(/assets/DejaVuSansMono-CPFU1SI8.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DejaVu Sans Mono;src:url(/assets/DejaVuSansMono-Bold-CeAqrfUd.woff2)format("woff2");font-weight:600 900;font-style:normal;font-display:swap}@font-face{font-family:Zeronero;src:url(/assets/Zeronero-Black-THWN-uKL.woff2)format("woff2");font-weight:400 900;font-style:normal;font-display:swap}.booth{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#06080b;--panel:#0d1218;--raise:#131b24;--line:#1e2933;--ana-line:#33434f;--text:#e8eef4;--muted:#8296a8;--dim:#566779;--a:#2dd4bf;--b:#f0a03c;--hot:#ff4a4a;--accent:var(--text);--wave-bg:var(--panel);--mono:"DejaVu Sans Mono", ui-monospace, "SF Mono", "JetBrains Mono", "Fira Code", Menlo, monospace;--ui:"DejaVu Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--brand:"Zeronero", "Futura", "Century Gothic", "Avenir Next", var(--ui);background:var(--ink);color:var(--text);font-family:var(--ui);-webkit-user-select:none;user-select:none;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);display:grid;position:fixed;inset:0;overflow:hidden}.booth input,.booth textarea{-webkit-user-select:text;user-select:text}@media (prefers-color-scheme:light){.booth{background:var(--ink);color:var(--text)}}.booth .num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.booth .label{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-size:12px;font-weight:600}.booth-top{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:7px 16px;display:flex}.booth-top .brand-mark{opacity:.92;flex:none;width:auto;height:26px}.booth-top .input{padding:5px 9px;font-size:13.5px}.booth .wordmark{font-family:var(--mono);letter-spacing:.22em;color:var(--text);font-size:17px;font-weight:700}.booth .wordmark.dj-name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;max-width:24ch;margin-left:-6px;font-size:13px;overflow:hidden}.booth .wall-clock-wrap{align-items:baseline;gap:8px;margin-right:6px;display:inline-flex}.booth .wall-clock{font-family:var(--mono);letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--text);font-size:21px;font-weight:700}.booth .battery{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--dim);font-size:12px}.booth .battery.warn{color:#f0a03c}.booth .battery.critical{color:var(--hot);font-weight:700}.booth-top .spacer{flex:1}.booth .chip{border:1px solid var(--line);background:var(--raise);color:var(--muted);border-radius:999px;padding:5px 11px;font-size:13.5px}.booth .chip.warn{border-color:var(--hot);color:var(--hot)}.booth .health-row{align-items:center;gap:5px;display:flex}.booth .health-pill{font-family:var(--mono);letter-spacing:.08em;border:1px solid var(--line);background:var(--raise);color:var(--muted);cursor:pointer;border-radius:999px;padding:3px 8px;font-size:10px}.booth .health-pill.ok{color:var(--dim)}.booth .health-pill.warn{color:#f0a03c;border-color:#f0a03c}.booth .health-pill.bad{border-color:var(--hot);color:var(--hot);font-weight:700;animation:1s steps(2,jump-none) infinite pulse}@media (prefers-reduced-motion:reduce){.booth .health-pill.bad{animation:none}}.booth .health-dot{cursor:pointer;background:#2d6a4f;border:none;border-radius:50%;flex:none;width:8px;height:8px;padding:0}.booth .health-dot.warn{background:#f0a03c}.booth .health-dot.bad{background:var(--hot)}.booth .health-wrap{position:relative}.booth .health-detail{z-index:40;border-radius:var(--r-panel,6px);border:1px solid var(--line);background:var(--panel);flex-direction:column;gap:8px;width:520px;max-width:92vw;max-height:62vh;padding:12px 14px;display:flex;position:absolute;top:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 18px 40px #0000008c}.booth .health-detail-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:8px;display:flex}.booth .health-detail-head .health-head-actions{flex:none;gap:8px;margin-left:auto;display:flex}.booth .health-detail-head .label{white-space:nowrap}.booth .health-detail-head .muted{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:11px;overflow:hidden}.booth .health-detail-row{border-bottom:1px solid color-mix(in srgb, var(--line) 55%, transparent);flex-direction:column;gap:4px;padding:8px 0;display:flex}.booth .health-detail-row:last-child{border-bottom:0}.booth .health-detail-top{align-items:center;gap:8px;display:flex}.booth .health-detail-top .nm{font-family:var(--mono);letter-spacing:.08em;color:var(--text);font-size:12px}.booth .health-detail-top .st{color:var(--muted);font-size:12px}.booth .health-detail-row.warn .st{color:#f0a03c}.booth .health-detail-row.bad .st{color:var(--hot)}.booth .health-detail-top .tr{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-left:auto;font-size:10px}.booth .health-detail-row .impact{color:var(--muted);margin:0;font-size:12px}.booth .health-detail-row .advice{color:var(--text);margin:0;font-size:12px}.booth .health-detail-row .raw{font-family:var(--mono);color:var(--dim);word-break:break-word;font-size:11px}.booth .muted{color:var(--muted)}.booth .badge.local{border-color:var(--dim);color:var(--dim)}.booth-main{background:var(--line);grid-template-columns:1fr 300px 1fr;gap:1px;min-height:0;display:grid}.booth-lower{background:var(--line);grid-template-columns:216px 1fr 500px;gap:1px;min-height:0;display:grid}.booth-lower.rail-folded{grid-template-columns:28px 1fr 500px}.booth .rail{min-width:0;overflow:hidden}.booth .rail.slim{align-items:center;gap:12px;padding-top:8px}.booth .rail.slim .vert{font-family:var(--mono);letter-spacing:.2em;color:var(--dim);writing-mode:vertical-rl;text-overflow:ellipsis;white-space:nowrap;max-height:260px;font-size:9.5px;overflow:hidden}.booth .rail-head{justify-content:space-between;align-items:center;padding:8px 8px 6px 12px;display:flex}.booth .rail-scroll{flex-direction:column;flex:1;min-height:0;padding-bottom:8px;display:flex;overflow-y:auto}.booth .rail-grp{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);padding:12px 12px 4px;font-size:9.5px}.booth .rail-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 10px 6px 12px;font-size:13.5px;display:flex}.booth .rail-item .ic{text-align:center;width:15px;color:var(--muted);flex:none;font-size:12px}.booth .rail-item .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.booth .rail-item .ct{font-family:var(--mono);color:var(--dim);font-size:10.5px}.booth .rail-item .ct .add{color:var(--a,var(--text));font-style:normal}.booth .rail-item:hover{background:var(--raise)}.booth .rail-item.sel{background:var(--raise);box-shadow:inset 2px 0 0 var(--accent,var(--text))}.booth .rail-item.sel .ic{color:var(--accent,var(--text))}.booth .rail-item.drop{outline:1.5px dashed var(--accent,var(--text));outline-offset:-3px;border-radius:4px}.booth .rail-new{color:var(--muted);border:1px dashed var(--line);cursor:pointer;background:0 0;border-radius:5px;margin:8px 10px 0;padding:6px;font-size:12.5px}.booth .rail-new:hover{color:var(--text);border-color:var(--muted)}.booth .rail-new-name{margin:8px 10px 0}.booth .rail-new.wizard{border-style:solid;margin-bottom:4px}.booth .crate-grid.row.checked{background:color-mix(in srgb, var(--accent,var(--text)) 9%, transparent);box-shadow:inset 2px 0 0 var(--accent,var(--text))}.booth .selchip{font-family:var(--mono);white-space:nowrap;color:var(--accent,var(--text));border:1px solid color-mix(in srgb, var(--accent,var(--text)) 40%, transparent);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-size:11px}.booth-drag-badge{background:var(--raise,#131b24);color:var(--text,#e8eef4);border:1px solid var(--line,#1e2933);border-radius:6px;padding:6px 12px;font:12.5px system-ui,sans-serif;position:fixed;top:-100px;left:-100px;box-shadow:0 6px 22px #0009}.booth .list-bar{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding:7px 12px 5px;display:flex}.booth .list-bar .nm{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:650;overflow:hidden}.booth .list-bar .meta{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:11px}.booth .list-bar .btn.danger{border-color:var(--hot);color:var(--hot)}.booth .sampler{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:6px 14px;display:flex}.booth .sampler-pad .drain{background:var(--pad-c,var(--a));transform-origin:0;height:3px;animation:linear forwards pad-drain;position:absolute;bottom:0;left:0;right:0}@keyframes pad-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.booth .sampler-pads{flex:1;gap:8px;min-width:0;display:flex}.booth .sampler-pad{border:1px solid var(--line);background:var(--pad-face,linear-gradient(180deg, #141d27, #0d141c));max-width:84px;height:44px;color:var(--text);cursor:pointer;border-radius:6px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;min-width:0;padding:0 8px;display:flex;position:relative}.booth .sampler-pad .k{font-family:var(--mono);color:var(--dim);font-size:9px;position:absolute;top:2px;left:6px}.booth .sampler-pad .nm{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11.5px;overflow:hidden}.booth .sampler-pad .len{font-family:var(--mono);color:var(--dim);font-size:9px}.booth .sampler-pad{border-color:var(--pad-c,var(--line))}.booth .sampler-pad .k{color:var(--pad-c,var(--dim))}.booth .sampler-pad.play{border-color:var(--pad-c,var(--a,var(--accent)));box-shadow:0 0 0 1px var(--pad-c,var(--a,var(--accent))), inset 0 -3px 0 var(--pad-c,var(--a,var(--accent)))}.booth .sampler-pad.play .nm{color:var(--pad-c,var(--a,var(--accent)))}.booth .pad-colors{align-items:center;gap:7px;padding:2px 0 6px;display:flex}.booth .pad-swatch{border:1px solid var(--line);cursor:pointer;border-radius:5px;width:20px;height:20px;padding:0}.booth .pad-swatch.none{background:linear-gradient(45deg, transparent 44%, var(--dim) 44% 56%, transparent 56%), var(--ink,#06080b)}.booth .pad-swatch.sel{outline:2px solid var(--text);outline-offset:1px}.booth .sampler-pad.empty{border-style:dashed}.booth .sampler-pad.empty .nm{color:var(--dim)}.booth .sampler-vol{flex-direction:column;flex:none;align-items:center;gap:3px;display:flex}.booth .sampler-dialog{max-width:560px}.booth .sample-name{color:var(--text);font:inherit;text-align:left;cursor:text;border:0;border-bottom:1px dashed var(--line);background:0 0;padding:0}.booth .sample-name:hover{border-bottom-color:var(--muted)}.booth .sample-rename{width:100%;min-width:0;padding:2px 6px;font-size:12.5px}.booth .sampler-list{max-height:320px;margin:8px 0;overflow-y:auto}.booth .sample-row{border-bottom:1px solid #10161d;align-items:center;gap:9px;padding:6px 2px;display:flex}.booth .sample-row .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.booth .sample-row .tag{font-family:var(--mono);color:var(--a,var(--accent));border:1px solid color-mix(in srgb, var(--a,var(--accent)) 35%, transparent);white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:9px}.booth .sample-row .sample-gain{flex:none;align-items:center;gap:6px;display:flex}.booth .sample-row .sample-gain input[type=range]{width:84px}.booth .sample-row .gain-reset{text-align:right;min-width:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.booth .sample-row .gain-reset:disabled{cursor:default;color:var(--dim)}.booth .sample-row .gain-reset:not(:disabled):hover,.booth .sample-row .gain-reset:not(:disabled):focus-visible{color:var(--text)}.booth .sample-row .meta{font-family:var(--mono);color:var(--dim);white-space:nowrap;font-size:10px}.booth .sampler-drop{border:1px dashed var(--line);text-align:center;color:var(--dim);cursor:pointer;border-radius:6px;margin-top:8px;padding:11px;font-size:12px;display:block}.booth .sampler-drop:hover{color:var(--muted);border-color:var(--muted)}.booth .crate-more{color:var(--muted);border-top:1px dashed var(--line);align-items:center;gap:10px;padding:7px 12px;font-size:12.5px;display:flex}.booth .panel{background:var(--panel);border-radius:var(--r-panel,0);min-height:0;box-shadow:var(--panel-frame,none);flex-direction:column;display:flex;overflow:hidden}.booth .panel-scroll{flex:1;min-height:0;overflow-y:auto}.booth *{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.booth ::-webkit-scrollbar{width:9px;height:9px}.booth ::-webkit-scrollbar-track{background:0 0}.booth ::-webkit-scrollbar-thumb{background:var(--line);border:2px solid var(--panel);border-radius:5px}.booth ::-webkit-scrollbar-thumb:hover{background:var(--dim)}.booth ::-webkit-scrollbar-corner{background:0 0}.booth .deck{--tempo-w:46px;--wave-gap:10px;--aside-w:calc(var(--tempo-w) + var(--wave-gap));--deck-gap:9px;--deck-tight:8px;gap:var(--deck-gap);flex-direction:column;min-height:0;padding:11px 16px 12px;display:flex}.booth .deck[data-deck=a]{--accent:var(--a)}.booth .deck[data-deck=b]{--accent:var(--b)}.booth .deck .stem-row{margin-bottom:calc(var(--deck-tight) - var(--deck-gap))}.booth .deck-head{align-items:baseline;gap:12px;min-height:30px;display:flex}.booth .deck-id{font-family:var(--mono);letter-spacing:.18em;color:var(--accent);font-size:16px;font-weight:700}.booth .deck-title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:19px;font-weight:600;overflow:hidden}.booth .deck-artist{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.booth .deck-clock{padding-left:var(--s3);flex:none;align-items:baseline;gap:12px;margin-left:auto;display:flex}.booth .time-elapsed{color:#8296a8;font-size:16px}.booth .time-remaining{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text);font-size:42px;font-weight:600;line-height:1}.booth .time-remaining.ending{color:var(--hot);animation:1s steps(2,jump-none) infinite pulse}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.booth .time-remaining.ending{animation:none}}.booth .deck-meta{align-items:baseline;gap:18px;margin-left:auto;display:flex}.booth .meta-value{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text);font-size:15px}.booth .deck-meta>span{align-items:baseline;gap:5px;display:inline-flex}.booth .deck-meta .label{letter-spacing:.14em;font-size:9px}.booth .wave{background:var(--wave-bg);border:1px solid var(--line);border-radius:var(--r-ctl,3px);cursor:pointer;flex:none;width:100%;height:54px;min-height:0;display:block}.booth .mark-one-pair{align-items:center;gap:4px;display:inline-flex}.booth .tbtn.mark-one{color:var(--dim);white-space:nowrap;border-style:dashed;width:auto;padding:0 10px}.booth .tbtn.mark-one:has(svg){width:34px;padding:0}.booth .tbtn.mark-one svg{fill:currentColor;width:15px;height:15px}.booth .tbtn.mark-one:hover{color:var(--text);border-color:var(--accent,var(--a))}.booth .wave-zoom{background:var(--wave-bg);border:1px solid var(--line);border-radius:var(--r-ctl,3px);cursor:default;flex:1;width:100%;min-height:96px;max-height:15vh;display:block}.booth .wave-stack:not(:has(.wave-zoom)) .wave{flex:1 1 0;height:0;min-height:96px}@media (height<=800px){.booth .wave-zoom{min-height:74px}.booth .wave{height:42px}}.booth .wave-row{gap:var(--wave-gap);flex:1;align-items:stretch;min-height:0;display:flex}.booth .wave-stack{gap:var(--deck-tight);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.booth .deck-idle-hint{pointer-events:none;z-index:1;color:var(--dim);text-align:center;justify-content:center;align-items:center;gap:4px;padding:0 14px;font-size:13px;display:flex;position:absolute;inset:0}.booth .deck-idle-hint kbd{font-family:var(--mono);border:1px solid var(--line);background:var(--raise);color:var(--muted);border-radius:3px;margin:0 2px;padding:1px 6px;font-size:11px}.booth .tempo-col{width:var(--tempo-w);flex-direction:column;flex:none;align-items:center;gap:4px;display:flex}.booth .tempo-value{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:center;color:var(--muted);font-size:12px}.booth .tempo-value.moved{color:var(--accent)}.booth .tempo-unit{color:var(--dim);margin-left:1px;font-size:9px}.booth .btn{font-family:var(--ui);border:1px solid var(--line);background:var(--raise);color:var(--text);cursor:pointer;border-radius:3px;padding:8px 15px;font-size:15px}.booth .btn:hover:not(:disabled){border-color:var(--muted)}.booth .btn:disabled{opacity:.4;cursor:default}.booth .btn.accent{border-color:var(--accent);color:var(--accent)}.booth .btn.tiny{padding:4px 10px;font-size:13px}.booth .mixer{flex-direction:column;align-items:center;gap:14px;padding:12px 10px;display:flex}.booth .faders{flex:1;justify-content:center;align-items:stretch;gap:10px;min-height:286px;max-height:420px;display:flex}.booth .channel-strip{border:1px solid var(--line);background:color-mix(in srgb, var(--raise) 55%, transparent);border-radius:6px;flex-direction:column;flex:1;align-items:center;gap:16px;min-height:0;padding:8px 6px 10px;display:flex}.booth .channel{flex-direction:column;flex:1;align-items:center;gap:6px;min-height:0;display:flex}.booth .bpm-bands{flex-wrap:wrap;align-items:center;gap:6px;padding:0 13px 9px;display:flex}.booth .bpm-bands .btn{white-space:nowrap;flex:none;align-items:baseline;gap:6px;width:auto;display:inline-flex}.booth .crate-head .btn,.booth .settings-head .btn{white-space:nowrap;flex:none;width:auto}.booth .bpm-bands .bpm-range{font-family:var(--mono);font-variant-numeric:tabular-nums;opacity:.75;font-size:11px}.booth .reanalyse{align-items:flex-start;gap:var(--s2);margin-top:var(--s2);padding-top:var(--s3);border-top:1px solid var(--line);flex-direction:column;display:flex}.booth .row-edit{opacity:0;border-radius:var(--r-ctl,3px);width:20px;height:20px;color:var(--dim);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;place-items:center;padding:0;font-family:inherit;display:inline-grid}.booth .row-edit:hover{color:var(--text);border-color:var(--line);background:var(--raise)}.booth .row-edit svg{display:block}.booth .row-fix{min-width:0;max-width:200px;color:var(--dim);background:var(--raise);border:1px solid var(--line);border-left:2px solid var(--b);border-radius:var(--r-ctl,3px);cursor:pointer;white-space:nowrap;flex:0 auto;align-items:center;gap:5px;padding:2px 8px;font-family:inherit;font-size:12px;display:none;overflow:hidden}.booth .row-fix b{color:var(--text);text-overflow:ellipsis;font-weight:600;overflow:hidden}.booth .row-fix:hover{color:var(--text);border-color:var(--b)}.booth .crate-grid.row:hover .row-edit,.booth .queue-row:hover .row-edit,.booth .row-edit:focus-visible{opacity:1}.booth .crate-grid.row:hover .row-fix{display:inline-flex}.booth .row-edit.qt-edit{align-self:center}.booth .analysis-icons{vertical-align:middle;align-items:center;gap:3px;margin-left:6px;display:inline-flex}.booth .ana{font-family:var(--mono);border:1px solid var(--ana-line);width:15px;height:15px;color:var(--dim);background:0 0;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:11px;font-style:normal;line-height:1;display:inline-flex}.booth .ana.on{color:var(--text);border-color:var(--accent,var(--a))}.booth button.ana.on{cursor:pointer}.booth button.ana.on:hover{background:var(--raise)}.ana-tip{z-index:120;pointer-events:none;white-space:nowrap;color:#dfe7ee;background:#10161d;border:1px solid #2a3644;border-radius:4px;padding:4px 9px;font-family:system-ui,sans-serif;font-size:12px;position:fixed;transform:translate(-50%,calc(-100% - 7px));box-shadow:0 3px 10px #00000080}.booth .preview-rows{flex-direction:column;max-height:52vh;display:flex;overflow-y:auto}.booth .preview-row{border-bottom:1px solid var(--line);grid-template-columns:52px minmax(0,1fr);align-items:baseline;gap:10px;padding:4px 0;display:grid}.booth .preview-time{color:var(--dim);text-align:right;font-size:12px}.booth .preview-text{min-width:0;font-size:14px}.booth .preview-text.sub{color:var(--muted);grid-column:2;font-size:13px}.booth .wave-zoom.editable{cursor:crosshair}.booth .section-edit-row{grid-template-columns:76px minmax(0,1fr) 52px auto auto;align-items:center;gap:8px}.booth .section-time{text-align:right;width:100%;padding:2px 6px;font-size:12px}.booth .section-label{min-width:0;padding:2px 6px;font-size:13px}.booth .lyric-edit-row{grid-template-columns:52px minmax(0,1fr);align-items:start}.booth .lyric-edit-fields{flex-direction:column;gap:3px;min-width:0;display:flex}.booth .lyric-edit-field{align-items:center;gap:7px;display:flex}.booth .lyric-lang{font-family:var(--mono);letter-spacing:.1em;color:var(--dim);flex:none;width:17px;font-size:9px}.booth .lyric-input{flex:1;width:auto;min-width:0;padding:3px 8px;font-size:13px}.booth .preview-row{grid-template-columns:52px minmax(0,1fr) 52px}.booth .preview-text.sub{grid-column:2/-1}.booth .crate-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 13px;display:flex}.booth .btn.tiny.precache-live{border-color:var(--a);font-variant-numeric:tabular-nums;background:linear-gradient(to right, color-mix(in srgb, var(--a) 70%, transparent) var(--fill,0%), transparent var(--fill,0%)), var(--raise)}.booth .btn.tiny.precache-done{border-color:color-mix(in srgb, var(--a) 55%, transparent);color:var(--a)}.booth .precache-note{font-family:var(--ui);text-align:left;color:var(--muted);border:1px solid color-mix(in srgb, var(--muted) 35%, transparent);cursor:pointer;background:0 0;border-radius:999px;flex:0 auto;padding:3px 11px;font-size:12px;line-height:1.4}.booth .precache-note.bad{color:var(--hot);border-color:color-mix(in srgb, var(--hot) 45%, transparent)}.booth .input{background:var(--ink);border:1px solid var(--line);color:var(--text);font-size:15px;font-family:var(--ui);border-radius:3px;padding:7px 10px}.booth .input:focus{outline:1px solid var(--muted)}.booth .input.tiny{padding:3px 6px;font-size:13px}.booth .screen-mode{align-items:center;gap:var(--s2);display:flex}.booth .crate-grid{grid-template-columns:var(--crate-cols,minmax(0, 3.5fr) minmax(0, 1.6fr) minmax(0, 1.2fr) minmax(0, 1fr) 56px 52px 56px 160px);align-items:center;gap:10px;padding:7px 15px;display:grid}.booth .crate-head-row{border-bottom:1px solid var(--line);background:var(--panel);z-index:2;padding-top:9px;padding-bottom:9px;position:sticky;top:0}.booth .row{cursor:grab;border-bottom:1px solid #0f151c;font-size:15px}.booth .row:active{cursor:grabbing}.booth .row:hover{background:var(--raise)}.booth .panel-scroll>.row:nth-child(2n):not(.selected):not(:hover):not(.checked){background:color-mix(in srgb, var(--raise) 38%, transparent)}.booth .crate-grid.row{content-visibility:auto;contain-intrinsic-size:auto 49px}.booth .crate-grid mark{background:color-mix(in srgb, var(--accent,var(--a)) 24%, transparent);color:inherit;border-radius:2px;margin:0 -1px;padding:0 1px}.booth .crate-grid .n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.booth .row .t{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.booth .row .sub{color:var(--dim);font-size:13px}.booth .row.off-plan .t{color:var(--muted)}.booth .row.on-plan .t{color:var(--text)}.booth .badge{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--dim);border-radius:2px;padding:2px 6px;font-size:11px}.booth .badge.tonight{border-color:var(--hot);color:var(--hot)}.booth .crate-grid .load-cell{justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.booth .crate-grid .load-cell .badge{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.booth .badge.clearable{font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;font-size:11px}.booth .badge.clearable:hover,.booth .badge.clearable:focus-visible{filter:brightness(1.25);border-color:currentColor}.booth .badge.clearable.armed{color:#f0a03c;background:#f0a03c29;border-color:#f0a03c}.booth .crate-grid .load-cell .row-move{opacity:.3;width:20px;padding:0}.booth .crate-grid.row:hover .row-move,.booth .crate-grid.row .row-move:focus-visible{opacity:1}.booth .crate-grid.row .row-move:disabled{opacity:.12}.booth .crate-grid.row.drop-before{box-shadow:inset 0 2px 0 var(--accent,var(--a))}.booth .crate-drop-tail{border-top:2px solid #0000;height:26px}.booth .crate-drop-tail.over{border-top-color:var(--accent,var(--a))}.booth .auto-bar{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:5px 13px;display:flex}.booth .auto-bar .btn.danger{border-color:var(--hot);color:var(--hot)}.booth .fade-quick{align-items:center;gap:6px;min-width:0;display:flex}.booth .fade-quick input[type=range]{width:86px}.booth .fade-quick .meta-value{text-align:right;min-width:42px;font-size:12px}.booth .queue-row{border-bottom:1px solid #0f151c;grid-template-columns:28px minmax(0,1fr) 44px auto 32px;align-items:center;gap:10px;padding:8px 13px;font-size:15px;display:grid}.booth .queue-row .qmeta{flex-direction:column;gap:2px;min-width:0;display:flex}.booth .queue-row .qmeta .analysis-icons{margin-left:0;display:flex}.booth .queue-row .qbpm{text-align:right;font-size:13px}.booth .queue-row .qmove{gap:3px;display:flex}.booth .queue-row .qmove .btn,.booth .queue-row>.btn{place-items:center;width:24px;height:24px;padding:0;font-size:13px;line-height:1;display:grid}.booth .queue-row .qmove .btn{opacity:.35}.booth .queue-row:hover .qmove .btn,.booth .queue-row .qmove .btn:focus-visible{opacity:1}.booth .queue-row[draggable=true]{cursor:grab}.booth .queue-row.drop-before{box-shadow:inset 0 2px 0 var(--accent,var(--a))}.booth .queue-drop.over{outline:1px dashed var(--a);outline-offset:-3px}.booth .next-up{border-bottom:1px solid var(--line);background:var(--raise);flex:none;align-items:baseline;gap:8px;padding:7px 13px;font-size:14px;display:flex}.booth .next-up .next-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.booth .next-up .next-deck{font-family:var(--mono);letter-spacing:.1em;border:1px solid;border-radius:3px;padding:1px 7px;font-weight:700}.booth .next-up .next-deck[data-deck=a]{color:var(--a)}.booth .next-up .next-deck[data-deck=b]{color:var(--b)}.booth .next-up.intended{color:var(--muted)}.booth .next-up.stopping{color:var(--hot);border-bottom-color:var(--hot)}.booth .queue-row:hover{background:var(--raise)}.booth .queue-row.next{box-shadow:inset 2px 0 0 var(--a)}.booth .queue-row .idx{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--dim);text-align:right}.booth .queue-row .qt{align-items:baseline;gap:6px;min-width:0;display:flex}.booth .queue-row .qname{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.booth .queue-row .qt .badge{flex:none}.booth .queue-row .qsub{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.booth .transport{scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:8px;display:flex;overflow-x:auto}.booth .transport::-webkit-scrollbar{display:none}.booth .tsep{background:var(--line);flex:none;align-self:stretch;width:1px;margin:4px 3px}.booth .tbtn{border-radius:var(--r-ctl,3px);border:1px solid var(--line);background:var(--raise);width:48px;height:42px;color:var(--text);cursor:pointer;flex:none;place-items:center;padding:0;display:grid;position:relative}.booth .tbtn[data-tip]:hover:after{content:attr(data-tip);white-space:nowrap;border:1px solid var(--line);background:var(--ink);color:var(--text);font-family:var(--ui);letter-spacing:normal;pointer-events:none;z-index:30;border-radius:4px;padding:3px 9px;font-size:12px;font-weight:400;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}.booth .tbtn:hover:not(:disabled){border-color:var(--muted)}.booth .tbtn:disabled{opacity:.35;cursor:default}.booth .tbtn.primary{border-color:var(--accent);width:70px;color:var(--accent)}.booth .tbtn svg{width:19px;height:19px;display:block}.booth .deck.drop-target{outline:2px dashed var(--accent);outline-offset:-4px}.booth{--bpm0:#5b8def;--bpm1:#2dd4bf;--bpm2:#f0b23c;--bpm3:#f472b6;--bpm4:#45505c}.booth .plan-tape{--tape-plan-h:40px;--tape-axis-h:24px;--tape-seg-tint:12%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel);position:relative}.booth .tape-scroll{overflow:auto hidden}.booth .tape-inner{position:relative}.booth .tape-plan-row{height:var(--tape-plan-h);border-bottom:1px solid var(--line);position:relative}.booth .tape-seg{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-width:0;padding:0 10px;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.booth .tape-seg .nm{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.booth .tape-seg .meta{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:10px}.booth .tape-seg.current{background:color-mix(in srgb, var(--a) var(--tape-seg-tint), transparent)}.booth .tape-seg.past .nm,.booth .tape-seg.past .meta{color:var(--dim)}.booth .tape-grip{cursor:col-resize;touch-action:none;z-index:3;width:14px;position:absolute;top:0;bottom:0}.booth .tape-grip:after{content:"";background:var(--line);border-radius:1px;width:2px;position:absolute;top:7px;bottom:7px;left:6px}.booth .tape-grip:hover:after,.booth .tape-grip.live:after{background:var(--text)}.booth .tape-grip-tip{background:var(--ink);border:1px solid var(--line);font-family:var(--mono);white-space:nowrap;color:var(--text);z-index:4;border-radius:4px;padding:2px 7px;font-size:11px;position:absolute;top:5px;left:14px}.booth .tape-grip-tip.end{left:auto;right:14px}.booth .tape-dry.flip{transform:translate(calc(-100% - 12px))}.booth .tape-plan-end{z-index:5;pointer-events:none;align-items:center;gap:8px;height:40px;display:flex;position:absolute;top:0;right:6px}.booth .tape-plan-end .btn{pointer-events:auto}.booth .tape-lane{position:relative;overflow:hidden}.booth .tape-zone{pointer-events:none;border-right:1px dashed #ffffff12;position:absolute;top:0;bottom:0}.booth .tape-bar{border-radius:2px 2px 0 0;position:absolute;bottom:0;box-shadow:inset 0 1px #ffffff2e}.booth .tape-bar.band-0{background:var(--bpm0)}.booth .tape-bar.band-1{background:var(--bpm1)}.booth .tape-bar.band-2{background:var(--bpm2)}.booth .tape-bar.band-3{background:var(--bpm3)}.booth .tape-bar.band-4{background:var(--bpm4)}.booth .tape-bar.past{filter:saturate(.25)brightness(.55)}.booth .tape-bar.now{outline-offset:1px;outline:1px solid #fff}.booth .tape-bar.future{cursor:grab}.booth .tape-bar.future:active{cursor:grabbing}.booth .tape-bar.future.linked{outline:2px solid var(--text);outline-offset:1px}.booth .queue-panel{position:relative}.booth .undo-toast{z-index:5;background:var(--raise);border:1px solid var(--line);border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex;position:absolute;bottom:10px;left:10px;right:10px;box-shadow:0 8px 22px #00000080}.booth .undo-toast .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.booth .bpm-toast{z-index:40;max-width:min(560px,92vw);color:var(--text);background:var(--raise);border:1px solid var(--line);pointer-events:none;border-radius:6px;padding:9px 14px;font-size:12.5px;animation:5s ease-out forwards bpm-toast;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #00000080}@keyframes bpm-toast{0%{opacity:0;transform:translate(-50%,-6px)}6%{opacity:1;transform:translate(-50%)}80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}@media (prefers-reduced-motion:reduce){.booth .bpm-toast{animation:none}}.booth .queue-row.flash{animation:1.6s ease-out queue-row-flash}@keyframes queue-row-flash{0%,55%{background:color-mix(in srgb, var(--a) 20%, transparent)}to{background:0 0}}.booth .tape-slot{background:var(--text);pointer-events:none;z-index:3;width:2px;position:absolute;top:3px;bottom:3px;box-shadow:0 0 6px #fffc}.booth .tape-tip{background:var(--ink);border:1px solid var(--line);white-space:nowrap;pointer-events:none;z-index:5;border-radius:4px;padding:4px 9px;font-size:12px;position:absolute;top:2px}.booth .tape-tip .sub,.booth .tape-dry{font-family:var(--mono);color:var(--muted);font-size:10.5px}.booth .tape-dry{border:1px solid var(--b);color:var(--b);white-space:nowrap;pointer-events:none;background:var(--panel);border-radius:4px;padding:3px 8px;position:absolute;top:26px}.booth .tape-earlier{z-index:6;font-family:var(--mono);color:var(--dim);background:var(--panel);border:1px solid var(--line);white-space:nowrap;pointer-events:auto;border-radius:3px;padding:0 4px;font-size:9px;position:absolute;top:2px;left:2px}.booth .tape-axis{height:var(--tape-axis-h);border-top:1px solid var(--line);position:relative}.booth .tape-tick{position:absolute;top:0;bottom:0}.booth .tape-tick i{background:var(--line);width:1px;height:5px;display:block;position:absolute;top:0;left:0}.booth .tape-tick.major i{background:var(--dim);height:7px}.booth .tape-tick span{font-family:var(--mono);color:var(--dim);font-size:9.5px;position:absolute;top:6px;left:0;transform:translate(-50%)}.booth .tape-tick.major span{color:var(--muted)}.booth .plan-tape.no-plan{--tape-plan-h:0px}.booth .tape-playhead{top:calc(var(--tape-plan-h) + 1px);bottom:var(--tape-axis-h);pointer-events:none;z-index:4;background:#fff;width:2px;position:absolute;box-shadow:0 0 8px #ffffff8c}.booth .tape-playhead .chip{bottom:calc(-1 * var(--tape-axis-h));color:var(--ink);font-family:var(--mono);white-space:nowrap;background:#fff;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:700;position:absolute;left:4px}.booth .drift{font-family:var(--mono);color:var(--dim);font-size:12.5px}.booth .empty{color:var(--dim);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:22px 15px;font-size:15px;display:flex}.booth .empty .btn{flex:none;width:auto}.booth .resume{z-index:50;background:#06080beb;place-items:center;display:grid;position:fixed;inset:0}.booth .resume-card{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:6px;max-width:525px;padding:28px 32px}.booth .deck.on-air{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 7%, var(--panel)), var(--panel) 60%);box-shadow:inset 0 0 0 1px var(--accent), var(--panel-frame,0 0 #0000)}.booth .deck.on-air.live:after{content:"";pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent);animation:2.4s ease-in-out infinite deck-breathe;position:absolute;inset:0}.booth .deck{position:relative}@keyframes deck-breathe{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.booth .deck.on-air.live:after{opacity:.7;animation:none}}.booth .chip.live{border-color:var(--accent);color:var(--accent);font-weight:600}.booth .playing-bars{align-items:flex-end;gap:2.5px;height:15px;margin-left:8px;display:inline-flex}.booth .playing-bars i{background:var(--accent);width:3px;animation:.9s ease-in-out infinite bars}.booth .playing-bars i:first-child{height:40%;animation-delay:0s}.booth .playing-bars i:nth-child(2){height:90%;animation-delay:.16s}.booth .playing-bars i:nth-child(3){height:60%;animation-delay:.32s}.booth .playing-bars i:nth-child(4){height:100%;animation-delay:90ms}@keyframes bars{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.booth .playing-bars i{animation:none}}.booth .art{object-fit:cover;background:var(--raise);border:1px solid var(--line);border-radius:4px;flex:none;width:80px;height:80px}.booth .art.placeholder{color:var(--dim);place-items:center;font-size:25px;display:grid}.booth .art-row{align-items:center;gap:12px;min-width:0;display:flex}.booth .art-sm{object-fit:cover;background:var(--raise);border-radius:3px;flex:none;width:34px;height:34px}.booth{--s1:5px;--s2:10px;--s3:15px;--s4:20px;--s5:30px;--radius:4px}.booth .mixer{padding:12px var(--s3);justify-content:space-between;gap:12px}.booth .fader,.booth .xf,.booth .fader-cap,.booth .xf-cap,.booth .fader-track,.booth .xf-track{-webkit-user-drag:none}.booth .fader{cursor:ns-resize;touch-action:none;flex:1;justify-content:center;width:58px;min-height:96px;max-height:150px;display:flex;position:relative}.booth .fader:focus-visible,.booth .xf:focus-visible{outline:2px solid var(--accent,var(--muted));outline-offset:3px;border-radius:var(--radius)}.booth .btn:focus-visible,.booth .tbtn:focus-visible,.booth .chip:focus-visible,.booth select:focus-visible,.booth .device-row:focus-visible,.booth .mix-ptt:focus-visible,.booth button.ana:focus-visible,.booth .video-toggle input:focus-visible{outline:2px solid var(--accent,var(--muted));outline-offset:2px}.booth .fader-track{box-shadow:inset 0 0 0 1px var(--line), inset 0 2px 4px #000000b3;background:#05090d;border-radius:2px;gap:1px;display:flex;position:absolute;inset:0;overflow:hidden}.booth .fader-track.stereo{gap:2px;padding:0 1px}.booth .channel[data-deck=a]{--accent:var(--a)}.booth .channel[data-deck=b]{--accent:var(--b)}.booth .fader-cap{pointer-events:none;background:linear-gradient(#313d49,#1c242d 45%,#141b22);border:1px solid #4a5b6d;border-radius:2px;height:17px;position:absolute;left:-2px;right:-2px;box-shadow:0 1px 3px #000000a6,inset 0 1px #ffffff1a,inset 0 -1px #0000008c}.booth .fader-cap:after{content:"";background:var(--accent,var(--text));opacity:.95;border-radius:1px;height:2px;position:absolute;top:calc(50% - 1px);left:3px;right:3px}.booth .tempo-fader{width:34px;min-height:48px;max-height:none}.booth .tempo-fader .fader-track{border-radius:1px;width:4px;left:50%;right:auto;overflow:visible;transform:translate(-50%)}.booth .tempo-detent{background:var(--dim);pointer-events:none;height:1px;position:absolute;top:50%;left:7px;right:7px}.booth .tempo-cap{height:14px;left:2px;right:2px}.booth .xf-wrap{gap:var(--s2);flex-direction:column;width:100%;display:flex}.booth .xf-row{align-items:center;gap:10px;display:flex}.booth .xf-row .xf{flex:1;min-width:0}.booth .xf{cursor:ew-resize;touch-action:none;align-items:center;height:44px;display:flex;position:relative}.booth .xf-track{background:linear-gradient(90deg, var(--a), #05090d 42%, #05090d 58%, var(--b));height:10px;box-shadow:inset 0 0 0 1px var(--line), inset 0 2px 3px #000000b3;border-radius:5px;position:absolute;left:0;right:0}.booth .xf-cap{border:1px solid var(--mix,var(--line));pointer-events:none;background:linear-gradient(#3b4854,#1c242d 48%,#141b22);border-radius:4px;width:30px;height:40px;position:absolute;transform:translate(-50%);box-shadow:0 2px 6px #000000bf,inset 0 1px #ffffff24,inset 0 -1px #0009}.booth .xf-cap:after{content:"";background:var(--mix,var(--text));border-radius:2px;width:4px;position:absolute;top:5px;bottom:5px;left:50%;transform:translate(-50%)}.booth .xf-mix-glow{background:var(--mix,transparent);filter:blur(11px);opacity:.7;pointer-events:none;border-radius:13px;width:96px;height:26px;position:absolute;top:50%;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.booth .xf-mix-glow{opacity:.45}}.booth .xf-readout{justify-content:space-between;align-items:baseline;display:flex}.booth .xf-readout .num{font-size:13.5px}.booth .xf-readout .num[data-deck=a]{color:var(--a)}.booth .xf-readout .num[data-deck=b]{color:var(--b)}.booth .mix-utility{border:1px solid var(--line);border-radius:var(--r-panel,6px);background:color-mix(in srgb, var(--raise) 40%, transparent);justify-content:center;align-items:flex-end;gap:12px;width:100%;padding:8px 10px;display:flex}.booth .util-cell{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;font-size:10px;display:flex}.booth .mix-utility .util-knob .eq-knob,.booth .mix-utility .util-knob .eq-knob svg{width:30px;height:30px}.booth .mix-ptt{border:1px solid var(--line);background:var(--raise);width:40px;height:40px;color:var(--muted);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.booth .mix-ptt svg{width:19px;height:19px;display:block}.booth .mix-ptt:hover:not(:disabled){color:var(--text);border-color:var(--dim)}.booth .mix-ptt:disabled{opacity:.4;cursor:default}.booth .mix-ptt.live{border-color:var(--hot);color:var(--hot);background:color-mix(in srgb, var(--hot) 22%, transparent)}.booth .xf-cue{flex:none}.booth .xf-cue[data-deck=a]{--accent:var(--a)}.booth .xf-cue[data-deck=b]{--accent:var(--b)}.booth .row.selected{background:var(--raise);box-shadow:inset 2px 0 0 var(--muted)}.booth .skeleton-row{background:linear-gradient(90deg,#121a22 25%,#18222c 50%,#121a22 75%) 0 0/200% 100%;border-radius:3px;height:14px;margin:14px 15px;animation:1.2s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.booth .skeleton-row{animation:none}}.booth .float-win{z-index:45;filter:drop-shadow(0 18px 44px #0009);outline:none;width:min(900px,92vw);display:flex;position:fixed}.booth .float-win .settings-card{width:100%;max-height:calc(100vh - var(--win-y,64px) - 16px)}.booth .float-win.sized .settings-card{height:100%;max-height:100%}.booth .float-win.sized .settings-card>.settings-block{flex-direction:column;flex:1;min-height:0;display:flex}.booth .float-win.sized .preview-rows{flex:1;min-height:0;max-height:none}.booth .float-resize{cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg, transparent 46%, var(--line) 46%, var(--line) 54%, transparent 54%), linear-gradient(135deg, transparent 70%, var(--line) 70%, var(--line) 78%, transparent 78%);width:16px;height:16px;position:absolute;bottom:1px;right:1px}.booth .float-resize:hover{background:linear-gradient(135deg, transparent 46%, var(--muted) 46%, var(--muted) 54%, transparent 54%), linear-gradient(135deg, transparent 70%, var(--muted) 70%, var(--muted) 78%, transparent 78%)}.booth .float-win .settings-head{gap:var(--s2)}.booth .float-win .settings-head .label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.booth .float-grip{cursor:move;touch-action:none}.booth .float-grip .label{-webkit-user-select:none;user-select:none}.booth .keys{z-index:60;background:#06080be6;place-items:center;display:grid;position:fixed;inset:0}.booth .keys-card{background:var(--panel);border:1px solid var(--line);padding:var(--s5);border-radius:6px;min-width:475px}.booth .keys-grid{gap:var(--s2) var(--s4);margin-top:var(--s3);grid-template-columns:auto auto 1fr;align-items:center;font-size:15px;display:grid}.booth .keys-grid kbd.same{color:var(--dim);background:0 0;border-color:#0000}.booth .keys-grid .none{color:var(--dim);text-align:center}.booth .keys-grid kbd{font-family:var(--mono);border:1px solid var(--line);background:var(--raise);color:var(--text);white-space:nowrap;border-radius:3px;padding:3px 8px;font-size:13px}.booth .deck-ident{gap:var(--s3);align-items:center;min-width:0;display:flex}.booth .deck-ident-text{flex:1;min-width:0}.booth .deck-ident-text .analysis-icons{margin-top:3px;margin-left:0;display:flex}.booth .deck-art{border-radius:var(--radius);object-fit:cover;background:var(--raise);width:62px;height:62px;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, var(--line)), 0 2px 8px #00000080;flex:none}.booth .deck-art.placeholder{color:var(--dim);place-items:center;font-size:24px;display:grid}.booth .deck.live .deck-art{box-shadow:0 0 0 1px var(--accent), 0 0 18px color-mix(in srgb, var(--accent) 30%, transparent), 0 2px 10px #0000008c}.booth[data-skin=traktor]{--ink:#101214;--panel:#191c1f;--raise:#24282c;--line:#33383e;--ana-line:#4b545e;--text:#e2e6ea;--muted:#99a1a9;--dim:#666d75;--a:#38a3e8;--b:#ff9d33;--hot:#ff4a4a;--play:#b7e13c;--wave-bg:var(--panel);--r-panel:8px;--r-ctl:5px;--plate-gap:12px;--panel-frame:inset 0 1px 0 #ffffff0d, inset 0 0 0 1px var(--line);--pad-face:linear-gradient(180deg, #23262a, #17191c);--wave-draw:smooth}.booth[data-skin=traktor] .booth-main,.booth[data-skin=traktor] .booth-lower{gap:var(--plate-gap);background:var(--ink);padding:var(--plate-gap)}.booth[data-skin=traktor] .booth-lower{padding-top:0}.booth[data-skin=traktor] .plan-tape,.booth[data-skin=traktor] .sampler{margin:0 var(--plate-gap) var(--plate-gap);border-radius:var(--r-panel);box-shadow:var(--panel-frame);background:var(--panel);border:none;overflow:hidden}.booth[data-skin=traktor] .tbtn.primary{border-color:var(--play);color:var(--play)}.booth .master{border:1px solid var(--line);background:color-mix(in srgb, var(--raise) 55%, transparent);border-radius:6px;flex-direction:column;flex:none;align-items:center;gap:7px;width:86px;padding:8px 6px 10px;display:flex}.booth .master-head{flex-direction:column;align-self:stretch;align-items:stretch;gap:5px;display:flex}.booth .master-name{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-align:center;font-size:9.5px;font-weight:600}.booth .master-body{flex:1;justify-content:center;align-self:stretch;align-items:stretch;gap:6px;min-height:64px;display:flex}.booth .master-fader{flex:none;width:52px;min-height:0}.booth .master .fader-cap:after{background:var(--text)}.booth .meter{width:9px;height:100%;box-shadow:inset 0 0 0 1px var(--line);background:#05090d;border-radius:1px;display:block}.booth .fader-meter{width:auto;min-width:0;height:100%;box-shadow:none;background:0 0;border-radius:0;flex:1}.booth .master-value{text-align:center;color:var(--muted);font-size:13px}.booth .clip-cap{border:1px solid var(--line);background:0 0;border-radius:1px;height:5px;transition:none}.booth .clip-cap.lit{background:var(--hot);border-color:var(--hot);box-shadow:0 0 6px color-mix(in srgb, var(--hot) 70%, transparent)}.booth .settings-card{background:var(--panel);border:1px solid var(--line);padding:var(--s5);gap:var(--s4);border-radius:6px;flex-direction:column;width:min(720px,92vw);max-height:88vh;display:flex;overflow-y:auto}.booth .settings-card.settings-panel{width:min(940px,94vw);overflow:hidden}.booth .settings-head{justify-content:space-between;align-items:center;display:flex}.booth .settings-why{padding:var(--s2) var(--s3);border-radius:var(--radius);background:var(--raise);border-left:3px solid var(--accent,var(--muted));color:var(--text);margin:0;font-size:14px}.booth .settings-split{gap:var(--s4);grid-template-columns:240px minmax(0,1fr);min-height:0;display:grid}.booth .settings-rail{border-right:1px solid var(--line);min-height:0;padding-right:var(--s2);flex-direction:column;gap:2px;display:flex;overflow-y:auto}.booth .settings-rail button{width:100%;padding:var(--s2) var(--s3);border-radius:var(--r-ctl,3px);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;flex-direction:column;align-items:flex-start;gap:3px;display:flex}.booth .settings-rail button:hover{background:var(--raise)}.booth .settings-rail button.on{background:var(--raise);border-left-color:var(--text)}.booth .settings-rail button.on .label{color:var(--text)}.booth .settings-rail .rail-top{align-items:center;gap:var(--s2);display:flex}.booth .rail-dot{background:var(--dim);border-radius:50%;flex:none;width:6px;height:6px}.booth .rail-dot.ok{background:var(--a)}.booth .rail-dot.warn{background:var(--hot)}.booth .rail-value{max-width:100%;padding-left:calc(6px + var(--s2));font-family:var(--mono);color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.booth .settings-rail button.on .rail-value{color:var(--muted)}.booth .settings-pane{min-width:0;min-height:0;overflow-y:auto}@media (width<=760px){.booth .settings-split{grid-template-columns:minmax(0,1fr)}.booth .settings-rail{border-right:0;border-bottom:1px solid var(--line);padding:0 0 var(--s2);flex-direction:row;overflow-x:auto}.booth .settings-rail button{border-bottom:2px solid #0000;border-left:0}.booth .settings-rail button.on{border-bottom-color:var(--text)}}.booth .settings-block{gap:var(--s2);flex-direction:column;display:flex}.booth .settings-row{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.booth .settings-note{color:var(--muted);gap:var(--s2);flex-direction:column;align-items:flex-start;font-size:13px;display:flex}.booth .settings-note.warn{color:var(--hot)}.booth p.settings-note{display:block}.booth .settings-note p{margin:0}.booth .settings-note kbd{font-family:var(--mono);border:1px solid var(--line);background:var(--raise);color:var(--text);white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:12px}.booth .settings-foot{justify-content:flex-end;display:flex}.booth .settings-foot .btn,.booth .karaoke-actions .btn,.booth .modal .btn:not(.tiny){width:100%}.booth .device-picker{gap:var(--s1);margin-top:var(--s2);flex-direction:column;display:flex}.booth .device-label{color:var(--muted);font-size:13px}.booth .device-list{flex-direction:column;gap:2px;display:flex}.booth .device-select-row{gap:var(--s2);align-items:center;display:flex}.booth .device-select{flex:1;min-width:0}.booth .device-select-row .btn{white-space:nowrap;flex:none;width:auto}.booth .device-row{align-items:center;gap:var(--s2);padding:var(--s1) var(--s2);border-radius:var(--radius);background:var(--raise);color:var(--text);text-align:left;cursor:pointer;border:1px solid #0000;width:100%;font-size:14px;display:flex}.booth .device-row.selected{border-color:var(--a)}.booth .device-row .btn{white-space:nowrap;flex:none;width:auto}.booth .device-row .device-name{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:var(--s1) 0;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;overflow:hidden}.booth .load-bar{background:var(--line);border-radius:0 0 3px 3px;height:3px;margin-top:-2px;overflow:hidden}.booth .load-fill{background:var(--accent);width:0;height:100%;transition:width .18s linear}.booth .load-bar.indeterminate .load-fill{width:34%;transition:none;animation:1.1s ease-in-out infinite load-sweep}@keyframes load-sweep{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media (prefers-reduced-motion:reduce){.booth .load-bar.indeterminate .load-fill{opacity:.5;width:100%;animation:none}}.booth .cue-round{border:1px solid var(--line);background:var(--raise);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:2px;padding:0;display:inline-flex}.booth .cue-round svg{fill:currentColor;width:15px;height:15px}.booth .cue-round:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.booth .cue-round.on{border-color:var(--accent);background:var(--accent);color:var(--ink)}.booth .cue-round:disabled{opacity:.35;cursor:default}.booth .strip-mute{border:1px solid var(--line);border-radius:var(--r-ctl,3px);background:var(--raise);width:22px;height:18px;font-family:var(--mono);letter-spacing:.08em;color:var(--dim);cursor:pointer;flex:none;margin-top:5px;padding:0;font-size:10px;font-weight:600}.booth .strip-mute:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.booth .strip-mute.on{border-color:var(--hot);background:var(--hot);color:var(--ink);animation:1s steps(2,jump-none) infinite mute-flash}@keyframes mute-flash{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.booth .strip-mute.on{animation:none}}.booth .crate-grid .plays{color:var(--accent,var(--a));font-weight:700}.booth .stem-row{margin-right:var(--aside-w);align-items:center;gap:4px;padding:0;display:flex}.booth .tbtn.stem{letter-spacing:.1em;width:auto;height:22px;color:var(--muted);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;flex:1;padding:0 6px;font-size:9px}.booth .tbtn.stem.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);font-weight:700}.booth .tbtn.stem.on[data-stem=full]{color:#fff}.booth .tbtn.stem:disabled{opacity:.3;cursor:default}.booth .tbtn.loop{width:auto;min-width:34px;padding:0 9px}.booth .tbtn.loop.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);font-weight:700}.booth .deck.ending{outline-offset:-2px;outline:2px solid #0000;animation:1s steps(2,jump-none) infinite deck-ending}@keyframes deck-ending{50%{outline-color:var(--hot)}}.booth .deck.ending .wave{animation:1s steps(2,jump-none) infinite wave-ending}@keyframes wave-ending{50%{border-color:var(--hot)}}.booth .queue-prompt{color:var(--hot);margin-left:8px;font-weight:700}@media (prefers-reduced-motion:reduce){.booth .deck.ending,.booth .deck.ending .wave{animation:none}.booth .deck.ending{outline-color:var(--hot)}}.booth .history{background:var(--ink);z-index:40;grid-template-rows:auto auto auto auto 1fr auto;min-height:0;display:grid;position:absolute;inset:0}.booth .history-head{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--panel);border-bottom:1px solid var(--line);display:flex}.booth .history-head-row{border-bottom:1px solid var(--line);background:var(--panel);padding-top:9px;padding-bottom:9px}.booth .history-head-row,.booth .history-row{grid-template-columns:minmax(0,3fr) minmax(0,1.8fr) minmax(0,1fr) 56px 150px minmax(0,1.3fr)}.booth .history-row{cursor:default;border-bottom:1px solid #0f151c;font-size:15px}.booth .history-row:hover{background:var(--raise)}.booth .played-cell{align-items:center;gap:var(--s2);justify-content:flex-end;display:flex}.booth .played-bar{background:#0f151c;border-radius:999px;flex:1;min-width:40px;height:6px;overflow:hidden}.booth .played-bar i{background:var(--a);height:100%;display:block}.booth .played-bar.cut i{background:var(--hot)}.booth .history-pager{justify-content:center;align-items:center;gap:var(--s3);padding:var(--s2);border-top:1px solid var(--line);background:var(--panel);display:flex}.booth .night-panel{border-bottom:1px solid var(--line);max-height:46vh}.booth .night-chart{padding:var(--s3);gap:var(--s2);flex-direction:column;min-height:0;display:flex}.booth .night-chart svg{width:100%;height:auto;max-height:300px}.booth .night-chart .grid{stroke:var(--line);stroke-width:1px}.booth .night-chart .axis{fill:var(--dim);font-family:var(--mono);font-size:11px}.booth .night-chart .bpm-line{fill:none;stroke:var(--a);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.booth .night-chart .bpm-dot{fill:var(--a);cursor:pointer}.booth .night-chart .bpm-dot.cut{fill:var(--ink);stroke:var(--hot);stroke-width:2px}.booth .night-legend{gap:var(--s3);color:var(--muted);flex-wrap:wrap;font-size:12px;display:flex}.booth .night-key{align-items:center;gap:var(--s1);display:inline-flex}.booth .night-key i{border-radius:2px;width:12px;height:12px;display:inline-block}.booth .night-key i.hollow{border:2px solid var(--hot);background:0 0;border-radius:999px}.booth .night-hover{flex-direction:column;min-height:46px;font-size:13px;display:flex}.booth .night-hover .sub{color:var(--muted);font-size:12px}.booth .routing-now{border:1px solid var(--line);border-radius:var(--radius);background:var(--raise);flex-direction:column;gap:4px;padding:9px 11px;display:flex}.booth .routing-row{align-items:baseline;gap:10px;display:flex}.booth .routing-row .label{min-width:88px}.booth .routing-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.booth .routing-value.none{color:var(--dim)}.booth .karaoke-actions{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.booth .karaoke-preview{aspect-ratio:16/9;border-radius:var(--radius);border:1px solid var(--line);background:#000;width:100%;position:relative;overflow:hidden}.booth .queue-karaoke{border-top:1px solid var(--line);flex-direction:column;flex:0 auto;gap:6px;min-height:0;max-height:45%;padding:8px 13px 10px;display:flex}.booth .queue-karaoke-head{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.booth .queue-karaoke-head .label{margin-right:auto}.booth .video-toggle{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:12px;display:inline-flex}.booth .queue-karaoke .karaoke-preview{flex:1;min-height:0}.booth .karaoke-preview iframe{pointer-events:none;background:#000;border:0;display:block}.booth .channel-strip[data-deck=a]{--accent:var(--a)}.booth .channel-strip[data-deck=b]{--accent:var(--b)}.booth .eq-master{--accent:var(--muted)}.booth .searchbox{flex:1;min-width:200px;display:flex;position:relative}.booth .searchbox .input{flex:1;padding-right:26px}.booth .search-clear{color:var(--dim);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:15px;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.booth .search-clear:hover{color:var(--text)}.booth .crate-head-row .label{position:relative}.booth .crate-head-row .label .ht{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.booth .col-grip{cursor:col-resize;touch-action:none;background:linear-gradient(to right, transparent 4px, var(--line) 4px, var(--line) 5px, transparent 5px);width:9px;position:absolute;top:-9px;bottom:-9px;right:-10px}.booth .col-grip:hover{background:linear-gradient(to right, transparent 4px, var(--muted) 4px, var(--muted) 5px, transparent 5px)}.booth .mic-check{flex-wrap:wrap}.booth .mic-meter{border:1px solid var(--line);background:var(--ink,#06080b);border-radius:5px;flex:1;min-width:140px;height:10px;overflow:hidden}.booth .mic-meter i{background:linear-gradient(90deg,#2dd4bf 0 62%,#f0a03c 62% 88%,#ff4a4a 88%);height:100%;transition:width 60ms linear;display:block}.booth .mic-meter.hot{border-color:var(--hot)}.booth .ctx-away{z-index:55;position:fixed;inset:0}.booth .ctx-menu{z-index:56;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:4px;position:fixed;box-shadow:0 10px 28px #0000008c}.booth .ctx-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:7px 10px;font-size:12.5px;display:block}.booth .ctx-item:hover{background:var(--raise)}.booth .ctx-head{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);opacity:.85;border-bottom:1px solid var(--line);margin-bottom:4px;padding:6px 10px 4px;font-size:11px;display:block}.booth .ctx-item.armed{color:#f0a03c;background:#f0a03c29;border:1px solid #f0a03c;padding:6px 9px}.booth .ctx-item.armed:hover{background:#f0a03c3d}.booth .hdr-more{position:relative}.booth .ctx-menu.hdr-menu{min-width:220px;position:absolute;top:calc(100% + 6px);left:auto;right:0}.booth .crate-head-row .label.col-moving{opacity:.4}.booth .crate-head-row .label.col-drop-before{box-shadow:inset 3px 0 0 var(--accent,var(--a))}.booth .crate-head-row .label.col-drop-after{box-shadow:inset -3px 0 0 var(--accent,var(--a))}.booth .arm-prompt{font-family:var(--mono);letter-spacing:.08em;text-align:center;color:#f0a03c;border:1px solid #f0a03c;border-radius:3px;margin:0;padding:4px 8px;font-size:11px}.booth .transport .tbtn.armed{color:#f0a03c;background:#f0a03c29;border-color:#f0a03c}.booth .mic-live{font-family:var(--mono);letter-spacing:.1em;border:1px solid var(--hot);color:var(--hot);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;animation:1s steps(2,jump-none) infinite pulse}@media (prefers-reduced-motion:reduce){.booth .mic-live{animation:none}}.booth .mic-err{font-family:var(--mono);letter-spacing:.08em;border:1px solid var(--line);color:var(--dim);border-radius:999px;padding:3px 8px;font-size:10px}.booth .transport-wrap{position:relative}.booth .transport-wrap .arm-prompt{left:0;right:var(--aside-w);z-index:2;background:var(--panel);pointer-events:none;margin:0 0 4px;position:absolute;bottom:100%}.crate-notice{background:var(--warn-bg,#4a3208);color:var(--warn-fg,#ffe6b0);border-bottom:1px solid #ffffff1f;align-items:center;gap:12px;padding:8px 14px;font-size:13px;display:flex}.crate-notice span{flex:1}.booth .crate-head-row .label.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.booth .crate-head-row .label.sortable:hover,.booth .crate-head-row .label.sorted{color:var(--text)}.booth .eq{border:1px solid var(--line);background:color-mix(in srgb, var(--raise) 55%, transparent);border-radius:5px;justify-content:center;gap:10px;padding:6px 5px;display:flex}.booth .channel-strip .eq,.booth .master .eq{flex-direction:column-reverse;flex:none;justify-content:space-between;gap:14px;padding:8px 6px 18px}.booth .channel-strip .eq-knob,.booth .master .eq-knob,.booth .channel-strip .eq-knob svg,.booth .master .eq-knob svg{width:30px;height:30px}.booth .filter{border:1px solid var(--line);background:color-mix(in srgb, var(--raise) 55%, transparent);border-radius:5px;flex:none;justify-content:center;padding:8px 6px 18px;display:flex}.booth .master .filter,.booth .master .eq{background:0 0;border:0;padding:0 0 14px}.booth .eq-knob-cell{flex-direction:column;align-items:center;gap:2px;display:flex}.booth .eq-knob{cursor:ns-resize;touch-action:none;border-radius:50%;outline:none;width:34px;height:34px;position:relative}.booth .eq-knob:focus-visible{box-shadow:0 0 0 2px var(--accent,var(--text))}.booth .eq-knob svg{width:34px;height:34px;display:block}.booth .eq-knob-track{fill:var(--raise);stroke:var(--line);stroke-width:2px}.booth .eq-knob-arc{fill:none;stroke:var(--accent,var(--text));stroke-width:3px;stroke-linecap:round}.booth .eq-knob-detent{stroke:var(--dim);stroke-width:1.5px}.booth .eq-knob.shaped .eq-knob-detent,.booth .eq-knob.active .eq-knob-track{stroke:var(--accent,var(--text))}.booth .eq-knob-label{text-align:center;width:100%;font-family:var(--mono);letter-spacing:.08em;color:var(--dim);font-size:9px;display:block}.booth .master-cue{border-top:1px solid var(--line);flex-direction:column;align-items:center;gap:1px;margin-top:6px;padding-top:7px;display:flex}.booth .master-cue .label{letter-spacing:.1em;margin-bottom:3px;font-size:8.5px}.booth .master-cue .label:last-child{margin-bottom:0}.booth .channel-probe{flex-direction:column;gap:2px;margin-top:8px;display:flex}.booth .channel-row{border-radius:var(--r-ctl,3px);background:var(--raise);color:var(--muted);justify-content:space-between;gap:12px;padding:3px 8px;font-size:12px;display:flex}.booth .channel-row.ok{color:var(--text);box-shadow:inset 0 0 0 1px var(--accent,var(--line))}.booth .channel-row .ct{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.booth .queue-full{color:#f0a03c;white-space:nowrap;margin-left:8px;font-size:11px}.booth .mix-key{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin-bottom:8px;font-size:11.5px;display:flex}.booth .mix-key-item{align-items:center;gap:5px;display:inline-flex}.booth .mix-key-item i,.booth .wizard-source .swatch{border-radius:2px;flex:none;width:9px;height:9px}.booth .mix-bar{border-radius:var(--r-ctl,3px);background:var(--ink);flex:1;min-width:0;height:26px;display:flex;position:relative;overflow:hidden}.booth .mix-seg{min-width:0;font-family:var(--mono);color:#000000b8;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.booth .mix-seam{cursor:ew-resize;background:0 0;width:11px;margin-left:-5.5px;position:absolute;top:0;bottom:0}.booth .mix-seam:after{content:"";background:#00000073;border-radius:2px;width:3px;position:absolute;top:3px;bottom:3px;left:4px}.booth .mix-seam:hover:after,.booth .mix-seam:focus-visible:after{background:var(--text)}.booth .wizard-mix-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}.booth .son-tag{border:1px dashed var(--line);font-family:var(--mono);letter-spacing:.08em;color:var(--dim);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:1px 7px;font-size:10px}.booth .son-tag.on{border-style:solid;border-color:var(--accent,var(--a));color:var(--accent,var(--a))}.booth .wizard-source .pick{cursor:pointer;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.booth .wave-step{vertical-align:middle;align-items:center;gap:4px;display:inline-flex}.booth .wave-step b{font-family:var(--mono);text-align:center;min-width:2ch;color:var(--text)}.booth .tape-band-edit{top:calc(var(--tape-plan-h,40px) + 6px);z-index:6;border:1px solid var(--line);border-radius:var(--r-ctl,4px);background:var(--raise);align-items:center;gap:5px;padding:5px 7px;display:flex;position:absolute;left:10px;box-shadow:0 6px 18px #00000080}.booth .tape-band-edit .input{width:56px;font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.booth .tape-band-edit .dash,.booth .tape-band-edit .label.dim{color:var(--dim)}.booth .tape-seg-hit{cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.booth .tape-seg-hit:focus-visible{outline:1px solid var(--accent,var(--a));outline-offset:-2px}.booth .midi-monitor{border:1px solid var(--line);border-radius:var(--r-ctl,3px);background:var(--ink);max-height:180px;padding:4px 0;overflow-y:auto}.booth .midi-row{font-family:var(--mono);color:var(--text);grid-template-columns:1fr auto 2ch;gap:10px;padding:1px 10px;font-size:11.5px;display:grid}.booth .midi-row.bound{color:var(--dim)}.booth .midi-row .val{font-variant-numeric:tabular-nums;color:var(--muted)}.booth .midi-row .what{text-align:right}.booth .learn-rows{border:1px solid var(--line);border-radius:var(--r-ctl,3px);background:var(--ink);max-height:320px;padding:4px 0;overflow-y:auto}.booth .learn-group-name{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 10px 2px;font-size:10.5px}.booth .learn-row{grid-template-columns:1fr auto auto auto auto;align-items:center;gap:8px;padding:2px 10px;font-size:12px;display:grid}.booth .learn-row .addr{font-family:var(--mono);color:var(--muted);font-size:11.5px}.booth .learn-row.bound .nm{color:var(--dim)}.booth .learn-row.bound .addr{color:var(--text)}.booth .learn-capture,.booth .learn-review{border:1px solid var(--line);border-radius:var(--r-ctl,3px);margin:6px 0;padding:8px 10px}.booth .learn-saved{margin:6px 0}.booth textarea.learn-export{width:100%;font-family:var(--mono);white-space:pre;overflow-wrap:normal;font-size:11.5px;overflow-x:auto}.booth .lamp-discover{border:1px solid var(--line);border-radius:var(--r-ctl,3px);margin:6px 0;padding:8px 10px}.booth .lamp-colours{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.booth .analysis-chip-wrap{display:inline-flex;position:relative}.booth .analysis-chip{font-family:var(--mono);letter-spacing:.08em;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:3px 9px;font-size:11px}.booth .analysis-chip:hover{border-color:var(--accent,var(--a));color:var(--accent,var(--a))}.booth .analysis-chip:focus-visible{outline:2px solid var(--accent,var(--text));outline-offset:2px}.booth .analysis-pop{z-index:40;border:1px solid var(--line);background:var(--panel);border-radius:8px;min-width:290px;max-width:380px;max-height:46vh;padding:10px 12px;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 18px 40px -18px #000c}.booth .analysis-row+.analysis-row{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.booth .analysis-title{color:var(--text);font-size:13px}.booth .analysis-artist{color:var(--dim);font-size:11px}.booth .analysis-passes{flex-wrap:wrap;gap:4px 8px;margin-top:5px;display:flex}.booth .analysis-pass{font-family:var(--mono);color:var(--muted);font-size:10.5px}.booth .analysis-pass em{color:var(--dim);font-style:normal}.booth .analysis-pass b{color:var(--accent,var(--a));font-weight:500}.booth .analysis-note{color:var(--dim);margin:10px 0 0;font-size:10.5px}.booth .wizard-card{width:min(1040px,96vw)}.booth .wizard-sources{gap:var(--s2);flex-wrap:wrap;display:flex}.booth .wizard-source{border:1px solid var(--line);background:var(--raise);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:5px 10px;font-size:13px;display:inline-flex}.booth .wizard-source.on{color:var(--text);border-color:var(--muted)}.booth .wizard-source .ct{font-family:var(--mono);color:var(--dim);font-variant-numeric:tabular-nums;font-size:11px}.booth .wizard-mix{flex-direction:column;gap:4px;display:flex}.booth .wizard-mix-row .seg{flex-direction:column;flex:0 0 130px;min-width:0;display:flex}.booth .wizard-mix-row .seg em{color:var(--dim);font-size:11px;font-style:normal}.booth .wizard-name-row{gap:var(--s2);align-items:center;display:flex}.booth .wizard-name-row .input{flex:1;min-width:0}.booth .wizard-preview{gap:var(--s3);flex-direction:column;max-height:42vh;display:flex;overflow-y:auto}.booth .wizard-section-head{align-items:baseline;gap:var(--s2);border-bottom:1px solid var(--line);padding-bottom:4px;display:flex}.booth .wizard-section-head em{color:var(--dim);font-size:11px;font-style:normal}.booth .wizard-wave{gap:var(--s2);padding:4px 0;display:flex}.booth .wizard-wave .wave-no{font-family:var(--mono);color:var(--dim);text-align:right;flex:none;width:16px;padding-top:3px;font-size:10px}.booth .wizard-wave .wave-rows{border-left:2px solid var(--line);min-width:0;padding-left:var(--s2);flex:1}.booth .wizard-row{gap:var(--s2);grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) 132px;align-items:baseline;padding:1px 0;font-size:12.5px;display:grid}.booth .wizard-row .bpm{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);text-align:right}.booth .wizard-row .ti,.booth .wizard-row .ar{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.booth .wizard-row .ar{color:var(--muted)}.booth .wizard-row .src{font-family:var(--mono);color:var(--dim);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.booth .wizard-actions{bottom:calc(-1 * var(--s5));justify-content:space-between;align-items:center;gap:var(--s3);margin:0 calc(-1 * var(--s5)) calc(-1 * var(--s5));padding:var(--s3) var(--s5);background:var(--panel);border-top:1px solid var(--line);display:flex;position:sticky}.booth .wizard-row .src.son{color:var(--accent,var(--muted))}@keyframes tbtn-rise{0%{opacity:0;transform:translateY(2.4vh)}to{opacity:1;transform:translate(0,0)}}@keyframes tbtn-lift{0%{opacity:0;transform:scale(.955)}to{opacity:1;transform:scale(1)}}@keyframes tbtn-breathe{0%{transform:scale(1)}to{transform:scale(1.012)}}@keyframes tbtn-sheen{0%{transform:translate(-420%)rotate(16deg)}17%{transform:translate(420%)rotate(16deg)}to{transform:translate(420%)rotate(16deg)}}@keyframes tbtn-beat{0%{transform:scale(1.04)}to{transform:scale(1)}}.booth .proj-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.booth .proj-name{animation:.9s cubic-bezier(.22,.61,.36,1) .14s both tbtn-rise}.booth .proj-lockup{animation:1.1s cubic-bezier(.22,.61,.36,1) both tbtn-lift;display:flex;position:relative}.booth .proj-art{animation:11s ease-in-out 1.1s infinite alternate tbtn-breathe;display:block}.booth .proj-sheen{pointer-events:none;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:url(/timbasada-logo.svg);mask-image:url(/timbasada-logo.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.booth .proj-sheen:after{content:"";background:linear-gradient(90deg,#fff0 0%,#ffffff80 50%,#fff0 100%);width:24%;animation:9s linear 1.6s infinite tbtn-sheen;position:absolute;top:-30%;bottom:-30%;left:0}.booth .proj-pulse{animation-name:tbtn-beat;animation-timing-function:cubic-bezier(.19,.72,.36,1);animation-iteration-count:infinite;display:block}.booth .proj-title{animation:.7s cubic-bezier(.22,.61,.36,1) both tbtn-rise}@media (prefers-reduced-motion:reduce){.booth .proj-art{animation:none}.booth .proj-sheen{display:none}.booth .proj-pulse{animation-name:none}}@keyframes tbtn-slab{0%{transform:rotate(13deg)translate(-7%)}40%{transform:rotate(13deg)translate(118%)}62%{transform:rotate(13deg)translate(165%)}to{transform:rotate(13deg)translate(290%)}}.booth .proj-wipe{z-index:4;pointer-events:none;transform-origin:50%;width:100%;animation:.85s linear both tbtn-slab;position:absolute;top:-40%;bottom:-40%;left:0}.booth .proj-wipe i{display:block;position:absolute;top:0;bottom:0}.booth .proj-wipe .red{background:#ed1c24;width:80%;left:-176%}.booth .proj-wipe .white{background:#fff;width:16%;left:-96%}.booth .proj-wipe .blue{background:#0095da;width:80%;left:-80%}.booth .proj-scrim{z-index:1;pointer-events:none;opacity:0;background:linear-gradient(#00000059 0%,#000000b8 45%,#00000059 100%);transition:opacity .32s;position:fixed;inset:0}.booth .proj-scrim.on{opacity:1}@media (prefers-reduced-motion:reduce){.booth .proj-wipe{background:#000;animation:.85s ease-in-out both tbtn-cover;top:0;bottom:0}.booth .proj-wipe i{display:none}}@keyframes tbtn-cover{0%{opacity:0}40%{opacity:1}62%{opacity:1}to{opacity:0}}.rec{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b12;--panel:#15151f;--border:#262636;--text:#f2f2f7;--muted:#9a9ab0;--accent:#e11d48;--accent-soft:#e11d4826;--ok:#34d399}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:#f2f2f7;-webkit-font-smoothing:antialiased;background:#0b0b12;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.rec .wrap,.rec.wrap{max-width:760px;margin:0 auto;padding:24px 16px 64px}.rec h1{margin:0 0 4px;font-size:22px}.rec .muted{color:var(--muted)}.rec .caption{color:var(--muted);font-size:13px}.rec .card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px}.rec .btn{appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:12px;width:100%;padding:12px 16px;font-size:15px;font-weight:600}.rec .btn:disabled{opacity:.5;cursor:default}.rec .btn-accent{background:var(--accent);border-color:var(--accent)}.rec .btn-ghost{background:0 0}.rec .row{align-items:center;gap:12px;display:flex}.rec .spread{justify-content:space-between}.rec .event{text-align:left;background:var(--panel);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:12px;margin-bottom:10px;padding:14px 16px;display:block}.rec .event:hover{border-color:var(--accent)}.rec .event .name{font-weight:600}.rec .pill{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:11px;display:inline-block}.rec .listening{color:var(--ok);align-items:center;gap:8px;font-weight:600;display:inline-flex}.rec .dot{background:var(--ok);border-radius:50%;width:10px;height:10px;animation:1.4s ease-in-out infinite pulse}.rec .track{border-top:1px solid var(--border);padding:12px 0}.rec .track:first-child{border-top:none}.rec .track .title{font-weight:600}.rec .track .time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}.rec .track-head{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;margin:0;padding:0;display:block}.rec .lyrics-hint{color:var(--accent);margin-top:4px}.rec .track-del{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;flex:none;align-self:flex-start;margin-left:8px;padding:4px 8px;font-size:16px;line-height:1}.rec .track-del:hover:not(:disabled){color:var(--accent);background:#ffffff0f}.rec .track-del:disabled{opacity:.4;cursor:default}.rec .lyrics-full{max-height:260px;overflow-y:auto}.rec .lyric-line{text-align:center;color:var(--text);margin:0 0 4px;font-size:15px}.rec .karaoke{padding-top:20px;position:relative}.rec .klist{scroll-behavior:smooth;height:176px;position:relative;overflow:hidden}.rec .klist-pad{height:50%}.rec .kline{text-align:center;color:var(--muted);opacity:.55;margin:0;padding:3px 8px;font-size:17px;transition:color .25s,opacity .25s,transform .25s,font-size .25s}.rec .kline.active{color:var(--text);opacity:1;font-size:22px;font-weight:700;transform:scale(1.02)}.rec .karaoke-proj{z-index:1;appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:8px;width:30px;height:30px;font-size:15px;line-height:1;position:absolute;top:8px;right:8px}.rec .karaoke-proj:hover{color:var(--text);background:#ffffff0f}.rec .karaoke-fs{z-index:1000;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rec .karaoke-fs .klist{width:100%;height:100vh}.rec .karaoke-fs .kline{color:#ffffff80;opacity:1;padding:12px 5vw;font-size:clamp(26px,5.2vw,60px);font-weight:600;line-height:1.24;transform:none}.rec .karaoke-fs .kline.active{color:#3d8bff;text-shadow:0 0 32px #3d8bff73;font-size:clamp(34px,7vw,84px);font-weight:800;transform:none}.rec .karaoke-fs-close{z-index:1001;appearance:none;color:#fff;cursor:pointer;background:#ffffff14;border:none;border-radius:10px;width:44px;height:44px;font-size:20px;line-height:1;position:fixed;top:16px;right:16px}.rec .karaoke-fs-close:hover{background:#ffffff29}.rec .karaoke-lang{z-index:1;gap:4px;display:flex;position:absolute;top:8px;left:8px}.rec .karaoke-lang-btn{appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:8px;padding:4px 8px;font-size:12px;font-weight:700;line-height:1}.rec .karaoke-lang-btn:hover{color:var(--text);background:#ffffff0f}.rec .karaoke-lang-btn.active{color:#fff;background:var(--accent);border-color:var(--accent)}.rec .karaoke-fs .karaoke-lang{z-index:1001;position:fixed;top:16px;left:16px}.rec .karaoke-fs .karaoke-lang-btn{padding:8px 14px;font-size:16px}.rec .error{color:var(--accent);font-size:14px}.rec .center{text-align:center}.rec .mt{margin-top:16px}.rec .mb{margin-bottom:16px}
