html,body,#app{height:100%;overflow:hidden}body{min-width:1180px;user-select:none}.app{height:100vh;display:grid;grid-template-rows:42px 168px auto minmax(180px,1fr)}.bt{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--linha);background:var(--painel-2);border-radius:6px;color:var(--texto-2);font-size:12px;font-weight:600;letter-spacing:.03em;padding:5px 9px;transition:background .1s,color .1s,border-color .1s}.bt:hover{background:#232a34;color:var(--texto)}.bt:disabled{opacity:.35;cursor:default}.bt .icone{width:15px;height:15px}.bt.ligado{color:#fff}.bt-mini{padding:4px;border-color:transparent;background:transparent}.bt-mini:hover{border-color:var(--linha)}.bt-pequeno{padding:3px 7px;font-size:11px}.bt-texto{text-decoration:none}.bt-principal{background:var(--deck1);border-color:var(--deck1);color:#04111f;padding:10px 16px;font-size:14px}.bt-principal:hover{background:#4aa9ff;color:#04111f}.linha-bts{display:flex;gap:6px;align-items:center}.linha-bts.centro{justify-content:center}.topo{display:flex;align-items:center;gap:12px;padding:0 12px;background:#0f1216;border-bottom:1px solid var(--linha);position:relative}.topo-pendrive{display:flex;align-items:center;gap:8px;color:var(--texto-3);font-size:12px;min-width:0}.topo-pendrive b{color:var(--texto-2)}.topo-pendrive span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topo-pendrive.ok .icone{color:var(--ok)}.topo-pendrive.lendo .icone{color:var(--alerta);animation:piscar 1s infinite}@keyframes piscar{50%{opacity:.3}}.topo-espaco{flex:1}.topo-analise{display:flex;align-items:center;gap:8px;color:var(--texto-2);font-size:12px;white-space:nowrap;padding-left:10px;border-left:1px solid var(--linha)}.topo-analise[hidden]{display:none}.topo-ddj{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--texto-3);padding-left:10px;border-left:1px solid var(--linha);white-space:nowrap}.topo-ddj.ligada{color:var(--texto)}.topo-ddj.ligada .icone{color:var(--ok)}.painel-flutuante label.linha-marca{display:flex;align-items:center;gap:8px}.topo-analise .icone{color:var(--alerta)}.topo-analise .barra{width:110px;height:4px;border-radius:2px;background:var(--painel-2);overflow:hidden}.topo-analise .barra i{display:block;height:100%;width:0;background:var(--alerta);transition:width .4s}.situacao-som{color:var(--texto-2);padding:8px 10px;background:var(--painel-2);border-radius:6px}.painel-flutuante{position:absolute;top:46px;right:12px;z-index:50;width:340px;background:var(--painel);border:1px solid var(--linha);border-radius:var(--raio);padding:14px;box-shadow:0 16px 40px #00000080;display:grid;gap:12px}.painel-flutuante[hidden]{display:none}.painel-flutuante.largo{width:440px}.painel-flutuante label{display:grid;gap:6px;color:var(--texto-2);font-size:12px}.painel-flutuante select{font:inherit;color:var(--texto);background:var(--painel-2);border:1px solid var(--linha);border-radius:6px;padding:6px 8px;flex:1;min-width:0}.painel-cabeca{display:flex;justify-content:space-between;align-items:center}.dica{color:var(--texto-3);font-size:12px;line-height:1.5;margin:0}.tabela-atalhos{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;font-size:12px;color:var(--texto-2);align-items:center}kbd{font-family:var(--mono);font-size:11px;background:var(--painel-2);border:1px solid var(--linha);border-bottom-width:2px;border-radius:4px;padding:2px 6px;color:var(--texto);justify-self:start}.ondas{display:grid;grid-template-rows:1fr 1fr;gap:2px;background:#000;position:relative;border-bottom:1px solid var(--linha)}.onda{position:relative;min-height:0}.onda-canvas{width:100%;height:100%;display:block;cursor:grab}.onda-rotulo{position:absolute;top:4px;left:8px;font-size:11px;font-weight:700;pointer-events:none;text-shadow:0 1px 2px #000;max-width:40%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.onda-rotulo.deck1{color:var(--deck1)}.onda-rotulo.deck2{color:var(--deck2)}.ondas-zoom{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;gap:2px;background:#0b0d10bf;border-radius:6px;padding:2px}.mesa{display:grid;grid-template-columns:1fr 330px 1fr;gap:1px;background:var(--linha);border-bottom:1px solid var(--linha)}.deck{background:var(--painel);padding:8px 10px 10px;display:grid;gap:8px;min-width:0;position:relative}.deck.alvo{outline:2px dashed var(--alerta);outline-offset:-4px}.deck.carregando{opacity:.7}.deck-1{--cor: var(--deck1);--cor-fraca: var(--deck1-fraco)}.deck-2{--cor: var(--deck2);--cor-fraca: var(--deck2-fraco)}.deck-cabeca{display:grid;grid-template-columns:26px 44px 1fr auto auto;gap:10px;align-items:center;min-width:0}.deck-num{width:26px;height:26px;border-radius:6px;display:grid;place-items:center;font-weight:800;background:var(--cor);color:#000}.deck-capa{width:44px;height:44px;border-radius:6px;background:var(--painel-2);display:grid;place-items:center;overflow:hidden;color:var(--texto-3)}.deck-capa img{width:100%;height:100%;object-fit:cover}.deck-info{min-width:0}.deck-titulo{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deck-linha2{display:flex;gap:8px;align-items:center;min-width:0}.deck-artista{color:var(--texto-2);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deck-tom{font-size:11px;font-weight:700;color:#b7f0c8;background:#3ccf7a1f;border-radius:4px;padding:1px 6px}.deck-tom:empty{display:none}.deck-tempos{text-align:right;font-family:var(--mono)}.deck-tempo{font-size:15px;color:var(--texto)}.deck-tempo.restante{font-size:12px;color:var(--texto-2)}.deck-tempo.acabando{color:var(--erro);animation:piscar .8s infinite}.deck-bpm-caixa{display:grid;justify-items:end;gap:2px}.deck-bpm{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--cor);line-height:1}.deck-pitch{font-family:var(--mono);font-size:11px;color:var(--texto-2)}.visao{position:relative;height:38px;background:#07090c;border-radius:4px;overflow:hidden;cursor:pointer}.visao-canvas{width:100%;height:100%;display:block}.visao-tocado{position:absolute;left:0;top:0;bottom:0;background:#07090c99;pointer-events:none}.visao-agulha{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--cor);pointer-events:none}.visao-marcas{position:absolute;inset:0;pointer-events:none}.visao-marca{position:absolute;top:0;width:0;height:0;margin-left:-4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid var(--cor)}.visao-marca.memoria{top:auto;bottom:0;border-top:none;border-bottom:6px solid var(--cor)}.deck-corpo{display:grid;grid-template-columns:1fr 74px;gap:10px;min-height:0}.deck-2 .deck-corpo{grid-template-columns:74px 1fr}.deck-2 .deck-tempo-col{order:-1}.deck-esq{display:grid;gap:8px;align-content:start}.abas-pad{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:4px}.aba-pad{font-size:10px;padding:4px 2px}.aba-pad.ligado{background:var(--cor-fraca);border-color:var(--cor);color:var(--texto)}.grade-pads{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.pad{height:34px;border-radius:6px;border:1px solid var(--linha);background:#10141a;color:var(--texto-3);font-weight:700;font-size:12px;box-shadow:inset 0 0 0 2px var(--cor-pad, transparent)}.pad:hover:not(:disabled){background:#18202a;color:var(--texto)}.pad.com-cor{color:#fff;background:color-mix(in srgb,var(--cor-pad) 28%,#10141a)}.pad.ligado{background:var(--cor-fraca);color:#fff;box-shadow:inset 0 0 0 2px var(--cor)}.pad:disabled{opacity:.25;cursor:default}.deck-loop{display:flex;gap:4px;flex-wrap:wrap}.bt-loop{font-size:10px;padding:4px 7px}.bt-loop.ligado{color:#000;background:var(--alerta);border-color:var(--alerta)}.deck-transporte{display:flex;gap:12px}.bt-redondo{width:52px;height:52px;border-radius:50%;font-size:13px;padding:0}.bt-redondo .icone{width:22px;height:22px}.bt-cue.ligado{color:#000;background:#ffb340;border-color:#ffb340}.bt-play.ligado{color:#000;background:var(--ok);border-color:var(--ok)}.deck-tempo-col{display:grid;grid-template-rows:auto auto 1fr auto;gap:6px;justify-items:center}.bt-sync{width:100%}.bt-sync.ligado,.deck .bt-pequeno.ligado{color:#000;background:var(--cor);border-color:var(--cor)}.fader{position:relative;touch-action:none;cursor:pointer}.fader-vertical{width:34px;min-height:90px;height:100%}.fader-vertical .fader-trilho{position:absolute;left:50%;top:9px;bottom:9px;width:4px;margin-left:-2px;background:#05070a;border-radius:2px;border:1px solid var(--linha)}.fader-vertical .fader-pegador{position:absolute;left:3px;right:3px;height:18px;border-radius:3px;background:linear-gradient(#3a434f,#262d37);border:1px solid #4b5563}.fader-vertical .fader-pegador:after{content:"";position:absolute;left:3px;right:3px;top:8px;height:2px;background:var(--cor, #fff)}.fader-tempo{min-height:120px}.fader-horizontal{height:30px}.fader-horizontal .fader-trilho{position:absolute;top:50%;left:13px;right:13px;height:4px;margin-top:-2px;background:#05070a;border-radius:2px;border:1px solid var(--linha)}.fader-horizontal .fader-pegador{position:absolute;top:2px;bottom:2px;width:26px;border-radius:3px;background:linear-gradient(90deg,#3a434f,#262d37);border:1px solid #4b5563}.fader-horizontal .fader-pegador:after{content:"";position:absolute;top:4px;bottom:4px;left:12px;width:2px;background:#fff}.knob{display:grid;justify-items:center;gap:1px}.knob svg{cursor:ns-resize;touch-action:none}.knob-rotulo{font-size:9px;font-weight:700;color:var(--texto-3);letter-spacing:.04em}.knob-trilho{fill:none;stroke:#2a313b;stroke-width:4;stroke-linecap:round}.knob-valor{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round}.knob-ponteiro{stroke:#fff;stroke-width:2.4;stroke-linecap:round}.mixer{background:#11151a;padding:8px 10px;display:grid;grid-template-rows:1fr auto;gap:8px}.mixer-canais{display:grid;grid-template-columns:1fr 120px 1fr;gap:8px;min-height:0}.canal{display:grid;justify-items:center;gap:2px;align-content:start;grid-auto-rows:min-content}.canal-1{--cor: var(--deck1)}.canal-2{--cor: var(--deck2)}.canal-num{font-weight:800;color:var(--cor);font-size:12px}.bt-fone{font-size:10px;padding:3px 6px;margin:2px 0}.bt-fone.ligado{color:#000;background:#ffb340;border-color:#ffb340}.canal-fader{display:flex;gap:4px;height:92px;align-items:stretch}.canal-fader .fader{min-height:0}.vu{display:flex;flex-direction:column;gap:1px;width:6px;padding:9px 0}.vu i{flex:1;background:#1a2b1f;border-radius:1px}.vu i.aceso{background:var(--ok)}.vu i.amarelo{background:#3a3415}.vu i.amarelo.aceso{background:var(--alerta)}.vu i.vermelho{background:#3a1717}.vu i.vermelho.aceso{background:var(--erro)}.mixer-centro{display:grid;gap:8px;align-content:start}.mini-titulo,.beatfx-titulo{font-size:10px;font-weight:800;color:var(--texto-3);letter-spacing:.08em;text-align:center}.fone-caixa{display:grid;grid-template-columns:1fr 1fr;justify-items:center;gap:2px;background:var(--painel);border-radius:8px;padding:6px}.fone-caixa .mini-titulo{grid-column:1 / -1}.beatfx{display:grid;gap:6px;background:var(--painel);border-radius:8px;padding:6px}.beatfx .linha-bts{justify-content:center}.fx-select{font:inherit;font-size:12px;color:var(--texto);background:var(--painel-2);border:1px solid var(--linha);border-radius:6px;padding:4px;width:100%}.fx-batida{font-family:var(--mono);font-size:12px;min-width:30px;text-align:center}.beatfx .bt-pequeno.ligado{color:#fff;background:#5b3a7a;border-color:#bf5af2}.bt-fx-on{font-size:10px;padding:4px 8px}.bt-fx-on.ligado{color:#000;background:#bf5af2;border-color:#bf5af2}.fader-cross{width:70%;justify-self:center}.biblioteca{display:grid;grid-template-columns:230px 1fr;min-height:0;background:var(--painel)}.lateral{overflow-y:auto;border-right:1px solid var(--linha);padding:6px 0 20px;background:#0f1216}.lat-secao{display:flex;justify-content:space-between;align-items:center;padding:12px 10px 4px;font-size:10px;font-weight:800;color:var(--texto-3);letter-spacing:.08em;text-transform:uppercase}.lat-item{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:13px;color:var(--texto-2);cursor:pointer}.lat-item:hover{background:var(--painel-2);color:var(--texto)}.lat-item.ativo{background:var(--deck1-fraco);color:var(--texto);box-shadow:inset 3px 0 0 var(--deck1)}.lat-item.alvo{outline:1px dashed var(--alerta);outline-offset:-2px}.lat-item .icone{width:15px;height:15px;flex:none}.lat-nome{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lat-qtd{font-size:11px;color:var(--texto-3)}.lat-apagar{opacity:0}.lat-item:hover .lat-apagar{opacity:1}.lat-vazio{padding:4px 10px 4px 33px;font-size:12px;color:var(--texto-3)}.lista{display:grid;grid-template-rows:auto auto 1fr;min-height:0;position:relative}.lista-topo{display:flex;align-items:center;gap:14px;padding:8px 10px;border-bottom:1px solid var(--linha)}.busca-caixa{display:flex;align-items:center;gap:6px;background:var(--painel-2);border:1px solid var(--linha);border-radius:6px;padding:0 8px;width:360px;color:var(--texto-3)}.busca{flex:1;border:0;background:transparent;color:var(--texto);font:inherit;padding:7px 0;outline:none}.lista-titulo{font-weight:700;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lista-qtd{color:var(--texto-3);font-size:12px}.linha{display:grid;grid-template-columns:46px 30px minmax(160px,3fr) minmax(120px,2fr) 64px 50px 60px minmax(80px,1fr) 84px;align-items:center;height:30px;font-size:13px}.cabecalho{background:#0f1216;color:var(--texto-3);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--linha);padding-right:10px}.cel{padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px;min-width:0}.ordenavel{cursor:pointer}.ordenavel:hover{color:var(--texto)}.ordem-sobe:after{content:"▲";font-size:8px}.ordem-desce:after{content:"▼";font-size:8px}.col-n{color:var(--texto-3);font-family:var(--mono);font-size:11px;justify-content:flex-end}.col-bpm,.col-dur{font-family:var(--mono);font-size:12px;justify-content:flex-end}.col-tom{color:#b7f0c8;font-weight:600;font-size:12px}.col-capa{padding:0 2px}.col-capa img{width:26px;height:26px;border-radius:3px;object-fit:cover}.col-genero,.col-artista{color:var(--texto-2)}.lista-rolagem{overflow-y:auto;position:relative;outline:none;min-height:0}.lista-espaco{width:1px}.lista-linhas{position:absolute;inset:0 0 auto}.lista-linhas .linha{position:absolute;left:0;right:0;border-bottom:1px solid #161b22;cursor:default}.lista-linhas .linha:hover{background:#161b22}.lista-linhas .linha.selecionada{background:#2f9bff2e}.lista-linhas .linha.tocada{color:var(--texto-3)}.lista-linhas .linha.tocada .col-tom{color:#5f7d68}.ic-tocada{width:14px;height:14px;color:var(--ok)}.pendente .icone{width:13px;height:13px;color:var(--texto-3)}.col-acoes{gap:4px;opacity:0;justify-content:flex-end}.linha:hover .col-acoes,.linha.selecionada .col-acoes{opacity:1}.bt-carregar{width:24px;height:22px;padding:0;font-size:11px}.bt-carregar.deck1:hover{background:var(--deck1);color:#000}.bt-carregar.deck2:hover{background:var(--deck2);color:#000}.lista-vazia{position:absolute;inset:0;background:var(--painel);display:none;place-content:center;justify-items:center;text-align:center;gap:10px;padding:20px}.lista-vazia.visivel{display:grid}.lista-vazia.alvo{outline:2px dashed var(--deck1);outline-offset:-12px}.lista-vazia h2{margin:0;font-size:20px}.lista-vazia p{margin:0;max-width:520px;color:var(--texto-2);line-height:1.5}.vazio-icone .icone{width:40px;height:40px;color:var(--deck1)}.aviso-flutuante{position:fixed;right:16px;bottom:16px;max-width:420px;z-index:100;background:var(--painel-2);border:1px solid var(--linha);border-left:3px solid var(--deck1);border-radius:8px;padding:10px 14px;line-height:1.45;box-shadow:0 12px 30px #00000080;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s,transform .2s}.aviso-flutuante.visivel{opacity:1;transform:none}.aviso-flutuante.erro{border-left-color:var(--erro)}.incompativel{height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;text-align:center;padding:24px}.incompativel p{max-width:460px;color:var(--texto-2);line-height:1.5}.app{grid-template-rows:42px 150px auto minmax(200px,1fr)}.deck{gap:6px;padding:6px 10px 8px}.deck-baixo{display:flex;gap:12px;align-items:center}.deck-baixo .deck-loop{flex:1}.bt-redondo{width:44px;height:44px}.pad{height:30px}.abas-pad{margin-bottom:3px}.fader-tempo{min-height:96px}.mixer{padding:6px 8px;gap:4px}.canal{grid-template-columns:1fr 1fr;column-gap:2px;row-gap:0}.canal-num,.bt-fone,.canal-fader{grid-column:1 / -1}.canal-fader{height:84px}.app.biblioteca-grande{grid-template-rows:42px 110px minmax(0,1fr)}.app.biblioteca-grande .mesa{display:none}.bt-grande.ligado{color:#000;background:var(--deck1);border-color:var(--deck1)}
