:root{--bg: #0b0b10;--panel: #14141c;--line: #262633;--text: #e8e8f0;--muted: #8a8aa0;--accent: #ff2e88;--makina: #ff2e88;--hardcore: #ff6a00;--newstyle: #33d1ff;--hardgroove: #b4ff3a;--estilo240: #c084fc;--techno: #94a3b8;--hardtechno: #facc15;--hardstyle: #f87171;font-family:Inter,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;color:inherit;background:var(--line);border:0;border-radius:6px;padding:4px 10px}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:var(--accent);color:#fff;font-weight:600;width:100%;padding:10px;margin-top:12px}input[type=search],input[type=number]{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:8px 10px}input[type=number]{width:80px;padding:4px 6px;margin-left:6px}.app{max-width:1400px;margin:0 auto;padding:24px}.app-head{display:flex;align-items:baseline;gap:16px;margin-bottom:16px}.app-head h1{margin:0;font-size:28px;letter-spacing:.04em}.app-head h1 span{font-size:14px;font-weight:400;color:var(--muted);margin-left:8px}.badge{font-size:12px;color:var(--hardcore);border:1px solid var(--hardcore);padding:2px 8px;border-radius:99px}.loading{color:var(--muted)}.tb{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:20px}@media (max-width: 1000px){.tb{grid-template-columns:1fr}}.tb-catalog,.tb-session{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.tb-filters{display:grid;gap:12px;margin-bottom:12px}.tb-filters input[type=search]{width:100%}.tb-chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:transparent}.chip.is-on{color:#000}.chip-makina.is-on{background:var(--makina)}.chip-hardcore.is-on{background:var(--hardcore)}.chip-newstyle.is-on{background:var(--newstyle)}.chip-hardgroove.is-on{background:var(--hardgroove)}.chip-estilo240.is-on{background:var(--estilo240)}.chip-techno.is-on{background:var(--techno)}.chip-hardtechno.is-on{background:var(--hardtechno)}.chip-hardstyle.is-on{background:var(--hardstyle)}.tb-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:13px;color:var(--muted)}.tb-check{display:flex;gap:6px;align-items:center}.tb-table{width:100%;border-collapse:collapse;font-size:14px}.tb-table th{text-align:left;color:var(--muted);font-weight:500;font-size:12px;padding:6px;border-bottom:1px solid var(--line)}.tb-table td{padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:middle}.tb-table td small{display:block;color:var(--muted);font-size:12px}.tb-table tr.is-used{opacity:.4}.tb-table meter{width:60px}.tb-empty{text-align:center;color:var(--muted);padding:24px}.tag{font-size:11px;padding:2px 8px;border-radius:99px;color:#000;font-weight:600}.tag-makina{background:var(--makina)}.tag-hardcore{background:var(--hardcore)}.tag-newstyle{background:var(--newstyle)}.tag-hardgroove{background:var(--hardgroove)}.tag-estilo240{background:var(--estilo240)}.tag-techno{background:var(--techno)}.tag-hardtechno{background:var(--hardtechno)}.tag-hardstyle{background:var(--hardstyle)}.tb-session-head h2{margin:0 0 10px;font-size:18px}.tb-durations{display:flex;gap:6px;margin-bottom:10px}.tb-durations button.is-on{background:var(--accent);color:#fff}.tb-progress{position:relative;height:22px;background:var(--bg);border-radius:6px;overflow:hidden}.tb-progress div{height:100%;background:linear-gradient(90deg,var(--makina),var(--hardcore));transition:width .3s}.tb-progress span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:12px}.tb-playlist{list-style:none;padding:0;margin:14px 0;display:grid;gap:6px}.tb-playlist li{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;background:var(--bg);padding:8px;border-radius:8px;border-left:3px solid var(--line)}.tb-playlist li.is-auto{border-left-color:var(--newstyle)}.tb-playlist .pos{color:var(--muted);font-variant-numeric:tabular-nums}.tb-playlist small,.tb-recs small{display:block;color:var(--muted);font-size:12px}.tb-playlist .actions{display:flex;gap:4px}.tb-assistant{border-top:1px solid var(--line);padding-top:12px}.tb-assistant h3{margin:0 0 8px;font-size:15px;color:var(--accent)}.hint{color:var(--muted);font-size:13px}.tb-recs{list-style:none;padding:0;margin:0;display:grid;gap:6px}.tb-recs li{display:grid;grid-template-columns:40px 1fr auto;gap:8px;align-items:center;padding:8px;background:var(--bg);border-radius:8px}.tb-recs .score{font-weight:700;font-size:16px;text-align:center;color:var(--hardgroove)}.tb-play{width:30px;height:30px;padding:0;border-radius:50%;font-size:11px}.tb-play.is-on{background:var(--accent);color:#fff}.tb-login{margin:0;font-size:13px;color:var(--hardcore)}.tb-login a{color:inherit;font-weight:600}.tb-render{border-top:1px solid var(--line);padding-top:12px;margin-top:14px;display:grid;gap:8px}.tb-render h3{margin:0;font-size:15px;color:var(--accent)}.tb-render input[type=text]{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:8px 10px}.tb-render .primary{margin-top:0}button.secondary{width:100%;padding:10px}.tb-render-progress{display:grid;gap:4px}.tb-render-progress .bar{height:8px;background:var(--bg);border-radius:4px;overflow:hidden}.tb-render-progress .bar div{height:100%;background:linear-gradient(90deg,var(--makina),var(--hardcore));transition:width .3s}.tb-render-progress small{color:var(--muted);font-size:12px}.tb-render-done{display:grid;gap:6px;font-size:13px}.tb-render-done p{margin:0}.tb-render-done audio,.my-sessions audio{width:100%}.tb-render-done a,.my-sessions a{color:var(--newstyle)}.tb-error{margin:0;color:#f87171;font-size:13px}.my-sessions{margin-top:20px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.my-sessions h2{margin:0 0 10px;font-size:18px}.my-sessions ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.my-sessions li{background:var(--bg);border-radius:8px;padding:10px;display:grid;gap:6px}.my-sessions .row{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.my-sessions .info small{display:block;color:var(--muted);font-size:12px}.my-sessions .actions{display:flex;gap:6px;align-items:center}.my-sessions .btn{background:var(--line);border-radius:6px;padding:4px 10px;text-decoration:none;color:var(--text);font-size:14px}.my-sessions .path{color:var(--muted);font-size:11px}.st-ready{color:var(--hardgroove)}.st-failed{color:#f87171}.st-rendering,.st-draft{color:var(--hardcore)}.tb-compose{border-top:1px solid var(--line);padding-top:12px;margin-top:14px}.tb-compose .compose{margin-top:0;font-size:15px}.tb-compose .hint{margin:6px 0 0}.studio{max-width:none;padding:16px 20px}.st-top{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:10px}.st-top h1{margin:0;font-size:22px}.st-top h1 span{font-size:13px;font-weight:400;color:var(--muted);margin-left:8px}.st-opts{display:flex;flex-wrap:wrap;gap:10px;margin-left:auto;align-items:center;font-size:12px;color:var(--muted)}.st-opts label{display:flex;gap:6px;align-items:center}.st-opts select,.zoom input{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:4px 6px}button.accent{background:var(--accent);color:#fff;font-weight:600}.st-transport{display:flex;align-items:center;gap:14px;padding:8px 12px;margin-bottom:10px;background:linear-gradient(#2a2f35,#1f2328);border:1px solid #3a4048;border-radius:10px;font-variant-numeric:tabular-nums}.st-transport button{min-width:36px;height:32px;font-size:15px}.st-transport .play{background:var(--hardgroove);color:#000;min-width:48px;font-weight:700}.st-transport .clock{font:600 20px/1 ui-monospace,SF Mono,Menlo,monospace;color:#b8ff6a;background:#111;padding:6px 10px;border-radius:6px}.st-transport .clock small{color:#6c8;font-size:13px}.st-transport .bpm{font:600 18px/1 ui-monospace,Menlo,monospace;color:#ffb347;background:#111;padding:6px 10px;border-radius:6px}.st-transport .bpm small{font-size:11px;color:#a87}.st-transport .now-playing{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:13px}.st-transport .zoom{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted)}.tl{display:flex;border:1px solid #3a4048;border-radius:10px;overflow:hidden;background:#1b1e22}.tl-heads{flex:0 0 84px;background:#23272c;border-right:1px solid #3a4048}.tl-heads .h{display:flex;flex-direction:column;justify-content:center;padding:0 10px;font-size:12px;font-weight:600;color:#cfd6de;border-top:1px solid #30353b}.tl-heads .h small{font-weight:400;color:var(--muted);font-size:10px}.tl-heads .deck-a{box-shadow:inset 3px 0 var(--makina)}.tl-heads .deck-b{box-shadow:inset 3px 0 var(--newstyle)}.tl-scroll{flex:1;overflow-x:auto;overflow-y:hidden}.tl-canvas{position:relative;cursor:text}.tl-ruler{position:absolute;left:0;right:0;top:0;background:#2a2f35;border-bottom:1px solid #3a4048}.tl-ruler .tick{position:absolute;top:0;height:100%;border-left:1px solid #5a626c;padding:7px 0 0 4px;font:11px ui-monospace,Menlo,monospace;color:#aab3bd;white-space:nowrap}.tl .grid{position:absolute;border-left:1px solid rgba(255,255,255,.05);pointer-events:none}.tl-tempo{position:absolute;left:0;pointer-events:none}.tl-tempo path{fill:none;stroke:#ffb347;stroke-width:1.6}.lane-bg{position:absolute;left:0;right:0;border-top:1px solid #30353b}.lane-bg.a{background:#ff2e8808}.lane-bg.b{background:#33d1ff08}.xfade{position:absolute;pointer-events:none;background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 6px,transparent 6px 12px);border-left:1px dashed rgba(255,255,255,.3);border-right:1px dashed rgba(255,255,255,.3);z-index:2}.xfade span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:10px;font-weight:700;color:#fff;background:#000000a6;padding:1px 5px;border-radius:4px;white-space:nowrap}.xfade.cut{background:#f8717140;border-color:#f87171}.clip{position:absolute;border-radius:6px;overflow:hidden;cursor:pointer;z-index:1;border:1px solid rgba(0,0,0,.5);box-shadow:0 1px #ffffff14 inset}.clip:hover{filter:brightness(1.12)}.clip.is-sel{outline:2px solid #fff;z-index:3}.clip-head{display:flex;gap:6px;align-items:baseline;height:24px;padding:4px 6px;font-size:11px;color:#000;white-space:nowrap;overflow:hidden;background:#ffffff2e}.clip-head .n{font-weight:800}.clip-head .t{font-weight:700;overflow:hidden;text-overflow:ellipsis}.clip-head .m{opacity:.75}.clip-body{position:relative;background:#00000059}.clip-wave{position:absolute;left:0;top:0}.clip-env{position:absolute;left:0;top:0;pointer-events:none}.clip-env polyline{fill:none;stroke:#fff;stroke-width:1.2;stroke-dasharray:3 2;opacity:.8}.g-makina{background-color:var(--makina)}.g-hardcore{background-color:var(--hardcore)}.g-newstyle{background-color:var(--newstyle)}.g-hardgroove{background-color:var(--hardgroove)}.g-estilo240{background-color:var(--estilo240)}.g-techno{background-color:var(--techno)}.g-hardtechno{background-color:var(--hardtechno)}.g-hardstyle{background-color:var(--hardstyle)}.energy{position:absolute;opacity:.7;border-radius:2px 2px 0 0;pointer-events:auto}.playhead{position:absolute;top:0;width:2px;margin-left:-1px;background:#b8ff6a;box-shadow:0 0 8px #b8ff6a;z-index:5;pointer-events:none}.st-bottom{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;margin-top:14px}@media (max-width: 900px){.st-bottom{grid-template-columns:1fr}}.st-inspector,.studio .tb-render{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;margin:0}.st-inspector h3{margin:0 0 8px;font-size:15px;color:var(--accent)}.st-inspector .name{margin:0 0 8px}.st-inspector .name small{color:var(--muted)}.st-inspector dl{display:grid;grid-template-columns:80px 1fr;gap:4px 10px;margin:0 0 10px;font-size:13px}.st-inspector dt{color:var(--muted)}.st-inspector dd{margin:0}.st-inspector .actions{display:flex;flex-wrap:wrap;gap:6px}.tl-overview{position:relative;height:44px;margin-bottom:8px;background:#15181b;border:1px solid #3a4048;border-radius:8px;overflow:hidden;cursor:pointer}.tl-overview .ov{position:absolute;bottom:0;border-radius:2px 2px 0 0;opacity:.85}.tl-overview .ov.cut{box-shadow:-2px 0 #f87171}.tl-overview .ov-view{position:absolute;top:0;bottom:0;border:1px solid rgba(255,255,255,.8);background:#ffffff14;border-radius:4px;pointer-events:none}.tl-overview .ov-head{position:absolute;top:0;bottom:0;width:2px;background:#b8ff6a;box-shadow:0 0 6px #b8ff6a;pointer-events:none}.studio .tb-render{align-content:start}
