.pad{position:relative;aspect-ratio:4 / 3;border:2px solid transparent;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;font-style:italic;letter-spacing:.16em;color:#fff;transition:transform .05s ease-out,filter .05s ease-out;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.pad .label{font-size:13px}@media (min-width: 640px){.pad .label{font-size:15px}}.pad:active{transform:scale(.95);filter:brightness(1.5)}.pad.armed{box-shadow:0 0 0 3px #ffe00099}.pad.alt-selected{box-shadow:0 0 0 3px #e879f9d9,inset 0 0 0 1px #fff6;filter:brightness(1.35)}.pad.alt-arming{animation:alt-arm-pulse 1.2s ease-in-out infinite}@keyframes alt-arm-pulse{0%,to{box-shadow:0 0 #e879f900}50%{box-shadow:0 0 0 4px #e879f959}}.tp-section-row{display:flex;flex-direction:column;gap:4px;padding:8px 10px;margin-bottom:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px}.tp-section-row-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tp-section-label{font-size:9px;letter-spacing:.3em;font-weight:800;color:#ffffff80;text-transform:uppercase;margin-right:4px}.tp-section-group,.tp-section-chip{border-radius:999px;border:1.5px solid rgba(255,255,255,.18);background:#ffffff0a;color:#ffffffb3;font-style:italic;font-weight:800;text-transform:uppercase;transition:transform .05s ease-out,background .15s ease-out,border-color .15s ease-out,color .15s ease-out;-webkit-tap-highlight-color:transparent;cursor:pointer}.tp-section-group{padding:6px 14px;font-size:11px;letter-spacing:.18em}.tp-section-chip{padding:3px 9px;font-size:10px;letter-spacing:.12em}.tp-section-group:hover,.tp-section-chip:hover{border-color:#fff6;color:#fffffff2}.tp-section-group:active,.tp-section-chip:active{transform:scale(.94)}.tp-section-group.active,.tp-section-chip.active{background:#ffe6002e;border-color:#ffe600d9;color:#ffe600;box-shadow:0 0 12px #ffe60059}.tp-section-subs{padding-left:56px}.tp-section-sep{width:1px;height:16px;background:#ffffff1f;margin:0 2px}.tp-color-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 10px;margin-bottom:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px}.tp-color-label{font-size:9px;letter-spacing:.3em;font-weight:800;color:#ffffff80;text-transform:uppercase;margin-right:4px}.tp-swatch{width:28px;height:28px;border-radius:50%;background:var(--c, #fff);border:2px solid rgba(255,255,255,.15);cursor:pointer;transition:transform .05s ease-out,border-color .15s ease-out,box-shadow .15s ease-out;-webkit-tap-highlight-color:transparent;padding:0}.tp-swatch:hover{border-color:#fff6}.tp-swatch:active{transform:scale(.9)}.tp-swatch.active{border-color:#ffe600f2;box-shadow:0 0 0 2px #ffe60059,0 0 12px #ffe60073}.tp-custom-color{position:relative;width:28px;height:28px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#ffffff8c;font-weight:900;font-size:16px;overflow:hidden}.tp-custom-color input[type=color]{position:absolute;inset:0;opacity:0;cursor:pointer;border:none;background:transparent}.tp-custom-color.active{border-color:#ffe600f2;border-style:solid;box-shadow:0 0 0 2px #ffe60059,0 0 12px #ffe60073}.tp-main{display:flex;gap:10px;align-items:stretch}.tp-board{flex:1}.tp-bpm-col{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;background:linear-gradient(180deg,#1a1a1a,#0a0a0a);border:1px solid rgba(255,255,255,.08);border-radius:14px;min-width:64px}.tp-bpm-cap{font-size:8px;letter-spacing:.3em;font-weight:800;color:#ffffff8c;text-transform:uppercase}.tp-bpm-value{font-family:ui-monospace,monospace;font-weight:900;font-size:18px;color:#ffe600;line-height:1}.tp-bpm-slider{flex:1;width:28px;min-height:160px;cursor:pointer;-webkit-appearance:slider-vertical;-moz-appearance:slider-vertical;appearance:slider-vertical;writing-mode:vertical-lr;direction:rtl;background:transparent;outline:none}.tp-bpm-slider::-webkit-slider-runnable-track{width:6px;border-radius:3px;background:linear-gradient(180deg,#ffe60080,#ffffff26)}.tp-bpm-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:14px;border-radius:4px;background:#ffe600;border:2px solid #000;cursor:grab;margin-left:-9px}.tp-bpm-slider::-moz-range-track{width:6px;border-radius:3px;background:linear-gradient(180deg,#ffe60080,#ffffff26)}.tp-bpm-slider::-moz-range-thumb{width:24px;height:14px;border-radius:4px;background:#ffe600;border:2px solid #000;cursor:grab}.tp-bpm-ticks{display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-family:ui-monospace,monospace;font-size:8px;letter-spacing:.15em;color:#ffffff59;height:90px;margin-top:4px}.tp-bpm-tick-mid{color:#ffffff8c}.tp-tap-btn{width:100%;padding:8px 6px;border-radius:8px;border:1.5px solid rgba(255,230,0,.7);background:#ffe60014;color:#ffe600;font-weight:900;font-style:italic;letter-spacing:.18em;font-size:11px;text-transform:uppercase;transition:transform .05s ease-out,filter .05s ease-out,background .15s ease-out;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.tp-tap-btn:hover{background:#ffe60024}.tp-tap-btn:active{transform:scale(.94);filter:brightness(1.3)}.tp-emoji-rail{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;flex-wrap:wrap}.tp-emoji-label{font-size:9px;letter-spacing:.3em;font-weight:800;color:#ffffff80;text-transform:uppercase;margin-right:4px}.tp-emoji-pad{width:38px;height:38px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .05s ease-out,border-color .15s ease-out,filter .05s ease-out;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.tp-emoji-pad:hover{border-color:#fff6}.tp-emoji-pad:active{transform:scale(.9);filter:brightness(1.5)}.tp-emoji-pad.firing{box-shadow:0 0 0 2px #ffe600b3;filter:brightness(1.5)}.tp-emoji-more{width:38px;height:38px;border-radius:8px;border:1.5px dashed rgba(255,230,0,.7);background:#ffe6000f;color:#ffe600;font-size:16px;font-weight:900;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .05s ease-out,background .15s ease-out;-webkit-tap-highlight-color:transparent}.tp-emoji-more:hover{background:#ffe60024}.tp-emoji-more:active{transform:scale(.92)}.tp-emoji-more.open{background:#ffe60038;border-style:solid;box-shadow:0 0 12px #ffe60066}.tp-emoji-picker{margin-top:6px;padding:10px;background:linear-gradient(180deg,#131313,#0a0a0a);border:1px solid rgba(255,230,0,.35);border-radius:10px;box-shadow:0 8px 24px #0000008c}.tp-emoji-picker.hidden{display:none}.tp-emoji-picker-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;max-height:280px;overflow-y:auto}@media (min-width: 640px){.tp-emoji-picker-grid{grid-template-columns:repeat(12,minmax(0,1fr))}}.tp-emoji-picker-custom{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.tp-emoji-picker-custom input{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:8px 10px;color:#fff;font-size:16px}.tp-emoji-picker-custom button{padding:8px 14px;border-radius:6px;border:1px solid rgba(255,230,0,.7);background:#ffe6001f;color:#ffe600;font-weight:900;font-style:italic;letter-spacing:.22em;font-size:11px;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent}.tp-emoji-picker-custom button:hover{background:#ffe60033}.tp-emoji-picker-custom button:active{transform:scale(.96)}.tp-record-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 10px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px}.tp-rec-toggle,.tp-play-btn,.tp-save-btn,.tp-rec-aux{padding:7px 12px;border-radius:8px;font-weight:900;font-style:italic;letter-spacing:.18em;font-size:11px;text-transform:uppercase;cursor:pointer;transition:transform .05s ease-out,background .15s ease-out,filter .05s ease-out;-webkit-tap-highlight-color:transparent}.tp-rec-toggle:disabled,.tp-play-btn:disabled,.tp-save-btn:disabled,.tp-rec-aux:disabled,.tp-add-step:disabled{opacity:.3;cursor:not-allowed;filter:grayscale(.7)}.tp-rec-toggle:active,.tp-play-btn:active,.tp-save-btn:active,.tp-rec-aux:active,.tp-add-step:active:not(:disabled){transform:scale(.95)}.tp-rec-toggle{border:1.5px solid rgba(255,80,80,.7);background:#ff505014;color:#ff8066}.tp-rec-toggle:hover{background:#ff505026}.tp-rec-toggle.recording{background:#ff3c3c52;color:#fff;animation:rec-pulse 1.2s ease-in-out infinite}@keyframes rec-pulse{0%,to{box-shadow:0 0 #ff3c3c00}50%{box-shadow:0 0 0 4px #ff3c3c66}}.tp-play-btn{border:1.5px solid rgba(110,230,130,.7);background:#6ee68214;color:#8ee79e}.tp-play-btn:hover:not(:disabled){background:#6ee6822e}.tp-play-btn.playing{background:#6ee6824d;color:#fff;box-shadow:0 0 12px #6ee68280}.tp-save-btn{border:1.5px solid rgba(255,230,0,.7);background:#ffe6001a;color:#ffe600}.tp-save-btn:hover:not(:disabled){background:#ffe60033}.tp-rec-aux{border:1px solid rgba(255,255,255,.18);background:#ffffff08;color:#ffffffb3}.tp-rec-aux:hover:not(:disabled){background:#ffffff12;color:#fff}.tp-rec-del{color:#ff7878d9;border-color:#ff787873}.tp-rec-library{background:#ffffff0f;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:6px 8px;border-radius:8px;max-width:180px}.tp-rec-status{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:#ffffff8c;margin-left:auto;font-family:ui-monospace,monospace}.tp-step-list{margin-top:10px;display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#00000052}.tp-step-row{display:flex;align-items:baseline;gap:8px;font-family:ui-monospace,monospace;font-size:12px;line-height:1.7;color:#ffffffe0}.tp-step-plus{color:#6ee682;font-weight:800;width:12px;flex-shrink:0;text-align:center}.tp-step-row:first-child .tp-step-plus{visibility:hidden}.tp-step-num{color:#ffffff59;width:22px;flex-shrink:0;text-align:right;font-size:10px}.tp-step-desc{flex:1;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-step-time{color:#fff6;font-size:10px;flex-shrink:0}.tp-step-row.is-staged{color:#6ee682f2;opacity:.9}.tp-step-row.is-staged .tp-step-num{color:#6ee68299}.tp-step-row.is-staged .tp-step-hint{color:#fff6;font-size:9px;letter-spacing:.2em;text-transform:uppercase;flex-shrink:0}.tp-add-step{border:1px solid rgba(110,230,130,.55);background:#6ee68224;color:#6ee682;font-weight:800}.tp-add-step:hover:not(:disabled){background:#6ee6823d}.tp-saved-rail{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tp-saved-rail-label{width:100%;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#fff6;margin-bottom:2px}.tp-saved-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;border:1px solid rgba(255,215,0,.5);background:#ffd7001f;color:#ffe66e;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .12s,transform .08s}.tp-saved-chip:hover{background:#ffd70038}.tp-saved-chip:active{transform:scale(.96)}.tp-saved-chip.firing{background:#ffd70066;box-shadow:0 0 14px #ffd70080}.tp-saved-chip .tp-saved-count{font-size:9px;font-weight:700;color:#ffe66ea6}.tp-saved-chip .tp-saved-del{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:none;background:#00000059;color:#fff9;font-size:11px;line-height:1;cursor:pointer}.tp-saved-chip .tp-saved-del:hover{background:#ff5a5a80;color:#fff}.tp-swatch.tp-alt-arming{animation:tp-alt-arm-pulse 1.2s ease-in-out infinite}.tp-swatch.tp-alt-selected{box-shadow:0 0 0 2px #e879f9f2,0 0 12px #e879f98c;border-color:#e879f9e6}@keyframes tp-alt-arm-pulse{0%,to{box-shadow:0 0 #e879f900}50%{box-shadow:0 0 0 4px #e879f952}}.tp-board{display:grid;grid-template-columns:repeat(5,1fr);gap:14px 12px;padding:18px 14px 14px;background:linear-gradient(180deg,#1a1a1a,#0a0a0a);border:1px solid rgba(255,255,255,.08);border-radius:14px}.tp-cell{display:flex;flex-direction:column;align-items:center;gap:4px}.tp-label{font-size:8px;letter-spacing:.18em;font-weight:800;color:#ffffffc7;text-transform:uppercase;text-align:center;line-height:1.1;min-height:18px;display:flex;align-items:center;justify-content:center}@media (min-width: 640px){.tp-label{font-size:10px}}.tp-btn{width:100%;max-width:64px;aspect-ratio:1 / 1;border-radius:50%;border:1px solid rgba(0,0,0,.6);cursor:pointer;transition:transform .05s ease-out,filter .05s ease-out,box-shadow .2s ease-out;-webkit-tap-highlight-color:transparent;touch-action:manipulation;box-shadow:inset 0 -3px 6px #0006,inset 0 3px 6px #ffffff2e,0 2px 6px #0009}.tp-btn:active{transform:scale(.92);filter:brightness(1.4)}.tp-btn:disabled{opacity:.35;cursor:not-allowed}.tp-btn.armed{box-shadow:inset 0 -3px 6px #0006,inset 0 3px 6px #ffffff40,0 0 0 3px #ffe600b3,0 0 24px #ffe6008c;filter:brightness(1.35)}.tp-green{background:radial-gradient(circle at 35% 30%,#5dd66a,#2a9c3a 55%,#155221)}.tp-red{background:radial-gradient(circle at 35% 30%,#ff6a55,#b8281e 55%,#631210)}.tp-gray{background:radial-gradient(circle at 35% 30%,#cfcfcf,#7a7a7a 55%,#393939)}.tp-black{background:radial-gradient(circle at 35% 30%,#4a4a4a,#1f1f1f 55%,#050505)}.tp-orange{background:radial-gradient(circle at 35% 30%,#ffb060,#d77a14 55%,#6b3603)}.tp-purple{background:radial-gradient(circle at 35% 30%,#d796ff,#8e3edc 55%,#441773)}.tp-pink{background:radial-gradient(circle at 35% 30%,#ff9ed4,#d83c95 55%,#6b133e)}.tp-btn.firing{filter:brightness(1.6);box-shadow:inset 0 -3px 6px #0006,inset 0 3px 6px #fff6,0 0 0 2px #fffc,0 0 28px #ffe600b3}.emoji-pad{position:relative;aspect-ratio:1 / 1;border-radius:12px;border:1.5px solid rgba(255,255,255,.12);background:#ffffff08;font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center;transition:transform .05s ease-out,filter .05s ease-out,border-color .15s ease-out;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (min-width: 640px){.emoji-pad{font-size:36px}}.emoji-pad:hover{border-color:#ffffff59}.emoji-pad:active{transform:scale(.92);filter:brightness(1.4)}.emoji-pad.firing{box-shadow:0 0 0 3px #ffe600b3;filter:brightness(1.4)}.bpm-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:3px;background:linear-gradient(90deg,#ffffff14,#ffffff2e);outline:none;cursor:pointer}.bpm-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#ffe600;border:2px solid #000;cursor:grab}.bpm-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#ffe600;border:2px solid #000;cursor:grab}.seq{border-width:1.5px;border-style:solid;border-radius:10px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#fff;transition:transform .05s ease-out,filter .05s ease-out;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.seq:active{transform:scale(.96);filter:brightness(1.3)}.seq.armed{box-shadow:0 0 0 3px #ffe000a6;filter:brightness(1.25)}.seq.armed .seq-sub{color:#ffe600f2;letter-spacing:.18em}.seq .seq-label{font-size:13px;font-weight:900;font-style:italic;letter-spacing:.14em}.seq .seq-sub{font-size:9px;letter-spacing:.25em;color:#ffffff8c;text-transform:uppercase}.arena-frame{position:relative;background:#000;border-radius:12px;overflow:visible;margin-inline:auto}.arena-svg{position:absolute;inset:0;width:100%;height:100%;display:block}.arena-section{fill:#ffffff0a;stroke:#ffffff2e;stroke-width:1.5;transition:fill .18s ease-out,opacity .18s ease-out,stroke .18s ease-out;cursor:pointer;pointer-events:all}.arena-section:hover{fill:#ffffff17}.arena-section.lit{fill:var(--flash-color, #fff);opacity:.78}.arena-section.targeted{stroke:#ffd93bf2;stroke-width:3;fill:#ffd93b29;filter:drop-shadow(0 0 10px rgba(255,217,59,.6))}.arena-section.targeted.lit{fill:var(--flash-color, #fff);opacity:.82}.arena-divider{stroke:#ffffff38;stroke-width:2;fill:none;pointer-events:none}.arena-subdivider{stroke:#ffffff1a;stroke-width:1;fill:none;pointer-events:none}.arena-outline{fill:none;stroke:#ffffff73;stroke-width:3;pointer-events:none}.arena-label{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:30px;font-weight:900;font-style:italic;letter-spacing:2px;fill:#ffffff8c;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-transform:uppercase}.arena-floor-label{fill:#ffffffd9}.arena-stage{fill:#000;stroke:#ffffff8c;stroke-width:2;pointer-events:none}.arena-stage-ribbon{fill:none;stroke:#ffffff8c;stroke-width:2;stroke-linejoin:miter;pointer-events:none}.arena-notch{fill:#000;stroke:#ffffff8c;stroke-width:2;pointer-events:none}.arena-stage-label{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:24px;font-weight:900;font-style:italic;letter-spacing:4px;fill:#fff;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.arena-emoji-mirror{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;font-size:86px;line-height:1;filter:drop-shadow(0 0 18px rgba(0,0,0,.45));opacity:0;transition:opacity .15s ease-out;z-index:5;text-align:center}.arena-emoji-mirror.visible{opacity:1}.preset-overlay{position:absolute;left:var(--ox, 50%);top:var(--oy, 50%);transform:translate(-50%,-50%);width:16%;display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none}.preset-add{pointer-events:auto;width:22px;height:22px;border-radius:50%;border:1.25px solid rgba(255,230,0,.7);background:#0009;color:#ffe600;font-weight:900;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;transition:transform .05s ease-out,background .15s ease-out;-webkit-tap-highlight-color:transparent}.preset-add:hover{background:#ffe60026}.preset-add:active{transform:scale(.9)}.preset-add-all{width:auto;height:auto;padding:6px 10px;border-radius:6px;font-size:10px;letter-spacing:.25em;font-style:italic;flex-shrink:0}.preset-chips{pointer-events:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:3px;max-width:100%}.all-preset-strip .preset-chips{justify-content:flex-start}.preset-chip{pointer-events:auto;max-width:100%;padding:3px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:#0000008c;color:#fff;font-size:9px;letter-spacing:.12em;font-weight:800;font-style:italic;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .05s ease-out,background .15s ease-out;-webkit-tap-highlight-color:transparent}.preset-chip:hover{background:#ffe6002e;border-color:#ffe60099}.preset-chip:active{transform:scale(.94)}.preset-chip.firing{background:#ffe600d9;color:#000;border-color:#ffe600}.preset-chip.looping{background:#ffe60038;color:#ffe600;border-color:#ffe600e6;box-shadow:0 0 0 1px #ffe6008c,0 0 12px #ffe60080;animation:preset-loop-pulse 1.4s ease-in-out infinite}@keyframes preset-loop-pulse{0%,to{box-shadow:0 0 0 1px #ffe6008c,0 0 12px #ffe60080}50%{box-shadow:0 0 0 1px #ffe600d9,0 0 22px #ffe600bf}}.preset-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}.preset-modal.hidden{display:none}.preset-modal-backdrop{position:absolute;inset:0;background:#000000c7;backdrop-filter:blur(6px)}.preset-modal-card{position:relative;width:100%;max-width:560px;max-height:90vh;overflow:auto;background:#0b0b0b;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px 16px 14px;box-shadow:0 30px 80px #0009}.preset-modal-x{width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,.18);color:#ffffffb3;font-size:14px;display:flex;align-items:center;justify-content:center}.preset-modal-x:hover{background:#ffffff0d}.step-row{border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px;background:#ffffff05;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}.step-row-body{display:flex;flex-direction:column;gap:6px}.step-row-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.step-row-head .step-num{font-family:ui-monospace,monospace;font-size:10px;color:#fff6;min-width:18px}.step-kind-select{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:#fff;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;padding:4px 6px;border-radius:5px}.step-fields{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.step-fields label{display:flex;flex-direction:column;gap:2px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#ffffff73}.step-fields input[type=text],.step-fields input[type=number],.step-fields select{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:#fff;font-size:12px;padding:4px 6px;border-radius:5px;width:88px}.step-fields input[type=color]{width:36px;height:28px;padding:0;border:1px solid rgba(255,255,255,.2);background:none;border-radius:5px}.step-fields .section-toggles{display:flex;gap:4px;flex-wrap:wrap}.step-fields .section-toggles button{padding:3px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.18);font-size:10px;font-weight:800;font-style:italic;letter-spacing:.15em;color:#ffffff8c;background:transparent}.step-fields .section-toggles button.active{background:#ffe6002e;border-color:#ffe600b3;color:#ffe600}.step-controls{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.step-controls button{width:26px;height:26px;border-radius:5px;border:1px solid rgba(255,255,255,.18);color:#ffffffa6;font-size:13px;display:flex;align-items:center;justify-content:center}.step-controls button:hover{background:#ffffff0d}.step-controls .step-delete{color:#ff7878cc;border-color:#ff787866}.step-add{padding:5px 9px;border-radius:6px;border:1px dashed rgba(255,255,255,.22);color:#ffffffa6;font-size:10px;letter-spacing:.2em;font-weight:800;font-style:italic;background:transparent}.step-add:hover{background:#ffffff0a;color:#fff}.cond-header{border-bottom:1px solid rgba(255,255,255,.06)}.tp-board.tp-board-v2{grid-template-columns:repeat(5,1fr);gap:14px;padding:16px;background:#060607;border-radius:18px}.tp-board-v2 .tp-cell{gap:0}.tp-board-v2 .tp-btn.tp-tile{width:100%;max-width:none;aspect-ratio:auto;min-height:104px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px 8px;color:var(--g, #6EE682);background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--g) 16%,transparent) 0%,transparent 70%),linear-gradient(180deg,#161618,#0a0a0b);border:1px solid color-mix(in srgb,var(--g) 50%,transparent);box-shadow:0 0 0 1px #ffffff05,0 8px 22px -14px var(--g),inset 0 1px #ffffff0a}.tp-board-v2 .tp-btn.tp-tile .tp-ico{width:30px;height:30px;flex:none}.tp-board-v2 .tp-btn.tp-tile .tp-label{color:#fff;font-size:11px;letter-spacing:.14em;min-height:0;max-width:92px;line-height:1.25}.tp-board-v2 .tp-btn.tp-tile:active{transform:scale(.96);filter:brightness(1.25)}.tp-board-v2 .tp-btn.tp-tile.armed{border-color:var(--g);box-shadow:0 0 0 2px var(--g),0 0 30px -6px var(--g);filter:brightness(1.2)}.tp-board-v2 .tp-btn.tp-tile.firing{filter:brightness(1.5);box-shadow:0 0 0 2px #fff,0 0 30px var(--g)}.tp-board-v2 .tp-btn.tp-tile-kill{background:linear-gradient(180deg,#1a1112,#0a0708);border-color:#ff5a5a80;color:#ff7a7a}html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%;touch-action:manipulation}html,body{height:100%;overflow:hidden}.cond-app{height:100svh;display:flex;flex-direction:column;overflow:hidden}.cond-app>.cond-header{flex:none}.cond-app button,.cond-app .tp-section-group,.cond-app .tp-section-chip,.cond-app .mode-tab{touch-action:manipulation}.cond-rotate{display:none}@media (orientation: portrait) and (pointer: coarse){.cond-rotate{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#000;text-align:center;padding:40px}.cond-rotate-glyph{font-size:56px;color:#ffd93b;animation:cond-rot 2.4s ease-in-out infinite}.cond-rotate div:last-child{font-size:15px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;line-height:1.8}.cond-rotate span{font-size:10px;letter-spacing:.2em;color:#ffffff73}}@keyframes cond-rot{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}.cond-grid{flex:1;min-height:0;display:grid;grid-template-columns:220px minmax(0,1fr) 240px;grid-template-rows:minmax(0,1fr);gap:14px;padding:14px 16px 16px;align-items:stretch}.cond-app.setlist-only .cond-grid{grid-template-columns:minmax(0,1fr)}.cond-app.setlist-only .cond-left,.cond-app.setlist-only .cond-right,.cond-app.setlist-only .cond-center .arena-frame{display:none}.cond-app.setlist-only #setlist-panel{max-width:920px}.cond-left,.cond-right{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:12px;background:#0a0a0b;border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:14px 12px}.cond-center{min-width:0;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.cond-center>section{margin-top:12px;flex:none}.cond-center>section:first-of-type{margin-top:0}.cond-app>.cond-emoji{flex:none}.cond-grid{padding:6px 14px 10px;gap:12px}.cond-left,.cond-right{overflow:hidden;gap:10px;padding:12px 10px}.cond-center{overflow:hidden;gap:6px;padding-bottom:0;justify-content:flex-start}.cond-center>section{margin-top:0!important;flex:none}.arena-frame{aspect-ratio:1180 / 720}.cond-center .arena-frame{flex:0 1 auto;min-height:0;width:auto;height:auto;max-width:600px;max-height:42vh;margin:0 auto}.cond-center .arena-svg{position:absolute;inset:0;width:100%;height:100%;display:block}.cond-tabs{display:flex;gap:4px;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:4px;flex:none}.cond-tabs .mode-tab{flex:1;padding:8px 6px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-align:center;white-space:nowrap}.cond-tabs .cond-tab-editor{flex:0 0 auto;padding-inline:14px}#tourpad-panel{padding-bottom:0;flex:1 1 auto!important;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px}#tourpad-panel>.tp-record-bar{grid-row:1}#tourpad-panel>#tp-step-list{grid-row:2}#tourpad-panel>.tp-main{grid-row:3}.tp-color-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:center}.tp-color-rail .tp-color-label{display:none}.tp-color-rail .tp-swatch{width:100%;height:auto;aspect-ratio:1 / 1}.tp-color-rail .tp-custom-color{width:100%;aspect-ratio:1 / 1}#manual-panel,#setlist-panel{flex:1 1 auto!important;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.tp-color-row{margin:0}.tp-main{min-height:0;min-width:0;overflow:hidden;display:flex}.tp-board.tp-board-v2{flex:1 1 0;min-height:0;min-width:0;height:100%;gap:8px;padding:10px;grid-template-rows:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);align-content:stretch;overflow:hidden}.tp-board-v2 .tp-cell{min-height:0;display:flex}.tp-board-v2 .tp-btn.tp-tile{min-height:0;height:100%;width:100%;aspect-ratio:auto;gap:5px;padding:6px}.tp-board-v2 .tp-btn.tp-tile .tp-ico{width:22px;height:22px}.tp-board-v2 .tp-btn.tp-tile .tp-label{font-size:10px;letter-spacing:.08em}.tp-record-bar{margin:0!important;flex:none}#tourpad-panel>p{display:none}.cond-emoji{display:flex;align-items:center;gap:14px;padding:10px 18px;border-top:1px solid rgba(255,255,255,.08);background:#060607}.cond-emoji-head{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#ffffff73;font-weight:800;flex:none}.cond-emoji .tp-emoji-rail{margin:0!important;flex:1;display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.cond-emoji .tp-emoji-rail::-webkit-scrollbar{display:none}.cond-emoji .tp-emoji-pad,.cond-emoji .tp-emoji-more{flex:0 0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.cond-emoji #tp-emoji-picker{position:fixed;left:50%;bottom:84px;transform:translate(-50%);z-index:60}.cond-side-title{font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:#ffffff73;font-weight:800}.cond-side-sub{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#ffffff4d;margin-top:4px}.tp-section-row-rail{display:flex;flex-direction:column;gap:8px}.tp-section-rail-groups{display:flex;flex-direction:column;gap:7px}.tp-section-row-rail .tp-section-group{width:100%;text-align:left;padding:11px 13px;border-radius:11px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#ffffffb3;background:#ffffff08;border:1px solid rgba(255,255,255,.1)}.tp-section-row-rail .tp-section-group.active{color:#ffd93b;background:#ffd93b1a;border-color:#ffd93b8c}.tp-section-rail-subs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tp-section-row-rail .tp-section-chip{padding:9px 0;border-radius:9px;font-size:11px;font-weight:800;color:#fff9;background:#ffffff08;border:1px solid rgba(255,255,255,.1)}.tp-section-row-rail .tp-section-chip.active{color:#0a0a0b;background:#ffd93b;border-color:#ffd93b}.cond-bpm{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 8px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:14px}.cond-bpm-value{font-family:ui-monospace,monospace;font-weight:900;font-size:30px;line-height:1;color:#ffd93b}.cond-bpm-slider{writing-mode:vertical-lr;direction:rtl;width:36px;height:200px;accent-color:#FFD93B}.cond-tap{width:100%;padding:10px 0;border-radius:10px;border:1px solid rgba(255,217,59,.55);background:#ffd93b1a;color:#ffd93b;font-weight:800;font-style:italic;letter-spacing:.25em;text-transform:uppercase;font-size:12px}.cond-bpm-meta{display:flex;justify-content:space-between;width:100%;font-size:8px;letter-spacing:.25em;text-transform:uppercase;color:#ffffff59}.cond-sync{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:#ffffff80}.cond-sync-dot{width:8px;height:8px;border-radius:50%;background:#ffffff40}.cond-sync-dot.live{background:#46e08a;box-shadow:0 0 8px #46e08a}.cond-rail-block{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px}.cond-rail-btn{width:100%;padding:13px 0;border-radius:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:12px;border:1px solid rgba(255,255,255,.15);background:#ffffff08;color:#ffffffb3}.cond-rail-btn.cond-kill{border-color:#ff505099;background:#ff50501a;color:#ff7a7a}.cond-rail-soon{opacity:.4}.cond-soon-tag{margin-top:6px;font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:#ffd93bb3}.tp-main .tp-bpm-col{display:none}.tp-main{display:block}.cond-bright-val{float:right;font-family:ui-monospace,monospace;color:#ffd93b;letter-spacing:0}.cond-bright-slider{width:100%;margin-top:10px;accent-color:#FFD93B}.cond-kill{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 0;touch-action:none}.cond-kill-label{font-size:13px;font-weight:900;font-style:italic}.cond-kill-sub{font-size:8px;letter-spacing:.25em;color:#ffffff73}.cond-kill-fill{position:absolute;left:0;bottom:0;height:3px;width:0%;background:#ff5a5a;transition:width .05s linear}.cond-kill.arming{background:#ff505033}.cond-kill.fired{background:#ff5a5a;color:#1a0707}.cond-macros{display:flex;flex-direction:column;gap:6px;margin:10px 0}.cond-macro-chip{width:100%;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,217,59,.4);background:#ffd93b14;color:#ffe66e;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cond-macro-chip:active{transform:scale(.97)}.cond-macro-chip.firing{background:#ffd93b52}.cond-macros:empty{display:none}.cond-macro-new{width:100%;padding:10px 0;border-radius:10px;border:1px dashed rgba(255,255,255,.25);background:transparent;color:#fff9;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.presets-head{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:12px}#presets-panel .tp-saved-rail{min-height:60px}#presets-panel .tp-saved-chip{font-size:14px;padding:14px 18px}.cond-grid{grid-template-columns:238px minmax(0,1fr) 220px;gap:14px;padding:8px 16px 12px}.cond-left,.cond-right{overflow-y:auto;scrollbar-width:none;gap:12px;padding:14px 12px;background:#0a0a0b}.cond-left::-webkit-scrollbar,.cond-right::-webkit-scrollbar{display:none}.cond-left .cond-side-title{margin-bottom:2px}#tp-section-row.tp-section-row-rail{display:flex;flex-direction:column;gap:8px}.cond-tg-card{display:flex;flex-direction:column}.cond-left .cond-tg-row{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:10px 12px;border-radius:14px;background:#ffffff09;border:1px solid rgba(255,255,255,.09);color:#ffffffc7;font-style:normal;box-shadow:none}.cond-left .cond-tg-row.active{background:#ffd93b1a;border-color:#ffd93b99;color:#ffd93b;box-shadow:0 0 0 1px #ffd93b38,0 0 16px -8px #ffd93b99}.cond-tg-ico{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:9px;background:#ffffff0d;color:inherit}.cond-tg-ico svg{width:18px;height:18px}.cond-tg-row.active .cond-tg-ico{background:#ffd93b29}.cond-tg-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.cond-tg-name{font-size:14px;font-weight:800;font-style:italic;letter-spacing:.06em;text-transform:uppercase;line-height:1}.cond-tg-sub{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#fff6;font-weight:700;line-height:1}.cond-tg-row.active .cond-tg-sub{color:#ffd93b9e}.cond-tg-chev{width:15px;height:15px;flex:none;color:inherit;opacity:.5;transition:transform .18s ease}.cond-tg-chev svg{width:100%;height:100%}.cond-tg-card:has(.cond-tg-row.active) .cond-tg-chev{transform:rotate(180deg);opacity:.9}.cond-tg-subs{display:none;flex-direction:column;gap:5px;padding:6px 0 2px 10px}.cond-tg-card:has(.cond-tg-row.active) .cond-tg-subs{display:flex}.cond-left .cond-tg-subrow{width:100%;display:flex;align-items:center;justify-content:space-between;padding:9px 13px;border-radius:10px;font-style:italic;font-weight:800;font-size:12px;letter-spacing:.1em;background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:#fff9;box-shadow:none}.cond-left .cond-tg-subrow.active{background:#ffd93b29;border-color:#ffd93bb3;color:#ffd93b}.cond-tg-plus{font-size:15px;font-weight:700;color:#ffffff52}.cond-tg-subrow.active .cond-tg-plus{color:#ffd93b}.cond-tabs .mode-tab{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;color:#ffffff80}.cond-tab-ico{width:15px;height:15px;flex:none}.cond-tabs .mode-tab.bg-white{background:#ffd93b1f!important;color:#ffd93b!important;border-color:#ffd93b8c}.cond-tabs .cond-tab-editor{color:#fff6}#tourpad-panel{grid-template-rows:auto auto auto minmax(0,1fr)}#tourpad-panel>#tp-color-row{grid-row:1}#tourpad-panel>.tp-record-bar{grid-row:2}#tourpad-panel>#tp-step-list{grid-row:3}#tourpad-panel>.tp-main{grid-row:4}.tp-color-strip{display:flex;align-items:center;gap:8px;margin:0;padding:7px 10px;background:#060607;border:1px solid rgba(255,255,255,.07);border-radius:12px;overflow-x:auto;scrollbar-width:none}.tp-color-strip::-webkit-scrollbar{display:none}.tp-color-strip-cap{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#fff6;font-weight:800;flex:none}.tp-color-strip .tp-swatch,.tp-color-strip .tp-custom-color{width:26px;height:26px;flex:none;aspect-ratio:auto;margin:0}.cond-bpm{align-items:stretch;gap:9px;padding:14px 12px}.cond-bpm-value{font-size:30px;text-align:left}.cond-bpm-fader{display:flex;align-self:center;gap:12px;height:200px;padding:4px 0}.cond-bpm-fader .cond-bpm-slider{writing-mode:vertical-lr;direction:rtl;width:28px;height:100%;margin:0;accent-color:#FFD93B}.cond-bpm-scale{display:flex;flex-direction:column;justify-content:space-between;font-family:ui-monospace,monospace;font-size:10px;color:#fff6;text-align:right}.cond-bpm-scale span{line-height:1}.cond-tap{width:100%}.cond-bright-block{display:flex;flex-direction:column;gap:7px}.cond-bright-block .cond-side-title{float:none}.cond-bright-val{float:none;font-family:ui-monospace,monospace;font-size:22px;font-weight:900;color:#ffd93b;letter-spacing:0}.cond-bright-row{display:flex;align-items:center;gap:10px}.cond-bright-row .cond-bright-slider{flex:1;margin:0;accent-color:#FFD93B}.cond-bright-ico{width:18px;height:18px;flex:none;color:#ffd93b}#global-blackout.cond-rail-btn{display:flex;align-items:center;justify-content:center;gap:9px}.cond-rail-ico{width:17px;height:17px;flex:none}.cond-kill{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;-moz-column-gap:11px;column-gap:11px;align-items:center;justify-content:center;padding:11px 0}.cond-kill-ico{grid-row:1 / span 2;grid-column:1;width:20px;height:20px;color:#ff7a7a}.cond-kill-label{grid-column:2;grid-row:1;text-align:left}.cond-kill-sub{grid-column:2;grid-row:2;text-align:left}.cond-kill-fill{grid-column:1 / -1}.cond-macros-head{display:flex;align-items:center;justify-content:space-between}.cond-macros-head-right{display:flex;align-items:center;gap:7px}.cond-macros-badge{font-family:ui-monospace,monospace;font-size:10px;font-weight:800;color:#0a0a0b;background:#ffd93b;border-radius:999px;padding:1px 7px;letter-spacing:0}.cond-macros-chev{width:13px;height:13px;color:#fff6}.cond-macro-new{border:1px solid rgba(255,217,59,.55);background:#ffd93b1a;color:#ffd93b}.cond-emoji{flex-direction:column;align-items:stretch;gap:7px;padding:8px 18px 9px}.cond-emoji-head{display:flex;align-items:center;gap:8px;flex:none}.cond-emoji-gear{width:13px;height:13px;color:#fff6;flex:none}.cond-emoji .tp-emoji-rail{width:100%;flex:1 1 auto}.cond-emoji-dots{display:flex;justify-content:center;gap:6px;padding-top:1px}.cond-emoji-dots i{width:5px;height:5px;border-radius:50%;background:#fff3;display:block}.cond-emoji-dots i.on{background:#fff9}.tp-board-v2 .tp-btn.tp-tile .tp-label{font-style:italic;font-weight:800}#tp-step-list[hidden]{display:none!important}.cond-center .arena-frame{max-width:520px;max-height:clamp(160px,27vh,270px)}.cond-center{gap:4px}.cond-center>section{margin-top:0!important}#tourpad-panel .tp-color-strip{padding:6px 9px}#tourpad-panel .tp-color-strip .tp-swatch,#tourpad-panel .tp-color-strip .tp-custom-color{width:23px;height:23px}#tourpad-panel .tp-record-bar{margin:0!important;padding:0;gap:7px}#tourpad-panel .tp-record-bar>button{padding-top:9px;padding-bottom:9px}#tourpad-panel{gap:6px}#tourpad-panel>.tp-main{display:flex;min-height:0;height:100%;overflow:hidden}#tourpad-panel .tp-board.tp-board-v2{flex:1 1 0;height:100%;min-height:0;gap:14px;padding:6px 4px;background:transparent;grid-template-rows:repeat(3,minmax(0,1fr))}#tourpad-panel .tp-board-v2 .tp-cell{min-height:0;display:flex}#tourpad-panel .tp-board-v2 .tp-btn.tp-tile{min-height:0;height:100%;width:100%;aspect-ratio:auto;border-radius:16px;gap:9px;padding:10px 8px}#tourpad-panel .tp-board-v2 .tp-btn.tp-tile .tp-ico{width:26px;height:26px}#tourpad-panel .tp-board-v2 .tp-btn.tp-tile .tp-label{font-size:11px;letter-spacing:.1em;max-width:none}.cond-left,.cond-right{gap:9px;padding:12px 10px}.cond-bpm{gap:6px;padding:11px 10px}.cond-bpm-value{font-size:26px}.cond-bpm-fader{height:150px;gap:10px}.cond-tap{padding:8px 0;font-size:11px}.cond-rail-block{padding:10px}.cond-bright-val{font-size:20px}.cond-rail-btn{padding:11px 0}.cond-kill{padding:9px 0}.cond-macros{margin:7px 0}.cond-macro-new{padding:9px 0}.cond-macros-hint{font-size:10px;line-height:1.5;letter-spacing:.02em;color:#fff6;padding:8px 2px}#tourpad-panel.hidden,#setlist-panel.hidden,#presets-panel.hidden,#manual-panel.hidden{display:none!important}.tp-setlist-dd{position:relative;flex:none}.tp-setlist-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#ffffff0a;color:#fffc;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap;max-width:200px}.tp-setlist-btn svg{width:14px;height:14px;flex:none}.tp-setlist-btn #ed-set-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-setlist-btn.has-song{border-color:#ffd93b8c;background:#ffd93b1f;color:#ffd93b}.tp-setlist-chev{opacity:.6}.tp-setlist-menu{position:absolute;left:0;bottom:calc(100% + 6px);z-index:70;width:260px;max-height:320px;overflow-y:auto;background:#111114;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:6px;box-shadow:0 18px 50px -12px #000c;scrollbar-width:none}.tp-setlist-menu::-webkit-scrollbar{display:none}.tp-setlist-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:9px 11px;border-radius:8px;color:#ffffffd1;font-size:12px;font-weight:700;cursor:pointer;background:transparent;border:1px solid transparent}.tp-setlist-item:hover{background:#ffffff0d}.tp-setlist-item.active{background:#ffd93b24;border-color:#ffd93b66;color:#ffd93b}.tp-setlist-item-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:italic}.tp-setlist-bpm{font-family:ui-monospace,monospace;font-size:10px;color:#ffffff73;flex:none}.tp-setlist-item.active .tp-setlist-bpm{color:#ffd93bb3}.tp-setlist-empty{padding:14px 12px;font-size:11px;line-height:1.6;color:#fff6}#tourpad-panel:not(.editor-mode)>.tp-record-bar,#tourpad-panel:not(.editor-mode)>#tp-step-list{display:none!important}#tourpad-panel:not(.editor-mode){grid-template-rows:auto minmax(0,1fr)}#tourpad-panel:not(.editor-mode)>#tp-color-row{grid-row:1}#tourpad-panel:not(.editor-mode)>.tp-main{grid-row:2}#tourpad-panel.editor-mode{grid-template-rows:auto auto auto minmax(0,1fr)}#setlist-panel{flex:1 1 auto!important;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:10px;scrollbar-width:none}#setlist-panel::-webkit-scrollbar{display:none}.set-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;flex:none}.set-title{font-size:14px;font-weight:800;font-style:italic;letter-spacing:.18em;text-transform:uppercase}.set-count{font-family:ui-monospace,monospace;font-size:11px;color:#0a0a0b;background:#ffd93b;border-radius:999px;padding:1px 8px;margin-left:6px;font-style:normal}.set-actions{display:flex;align-items:center;gap:8px}.set-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#ffffff0a;color:#fffc;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap}.set-btn svg{width:15px;height:15px}.set-btn-yellow{border-color:#ffd93b8c;background:#ffd93b1f;color:#ffd93b}.set-btn-ghost{color:#ffffff80}.set-now{flex:none;display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ffffffb3;background:#ffd93b14;border:1px solid rgba(255,217,59,.3);border-radius:10px;padding:9px 13px}.set-now strong{color:#ffd93b}.set-now-dot{width:8px;height:8px;border-radius:50%;background:#46e08a;box-shadow:0 0 8px #46e08a;flex:none}.set-grid{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.set-sq{position:relative;display:flex;flex-direction:row;align-items:center;gap:14px;text-align:left;padding:12px 44px 12px 16px;border-radius:12px;background:linear-gradient(180deg,#161618,#0c0c0d);border:1px solid rgba(255,255,255,.1);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}.set-sq:active{transform:scale(.992)}.set-sq:hover{border-color:#fff3}.set-sq.active{border-color:#ffd93bb3;box-shadow:0 0 0 1px #ffd93b66,0 0 22px -8px #ffd93bcc;background:linear-gradient(180deg,#211d0c,#100f0b)}.set-sq-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.set-sq-title{font-size:14px;font-weight:800;font-style:italic;letter-spacing:.02em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-sq-perf{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#fff6;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-sq-right{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.set-sq-bpm{font-family:ui-monospace,monospace;font-size:14px;font-weight:900;color:#ffd93b}.set-sq-len{font-family:ui-monospace,monospace;font-size:11px;color:#ffffff80}.set-sq-cues{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#46e08ad9}.set-sq-go{flex:none;width:16px;height:16px;color:#ffffff4d}.set-sq:hover .set-sq-go{color:#ffd93bd9}.set-sq-del{position:absolute;top:6px;right:8px;width:20px;height:20px;line-height:18px;text-align:center;font-size:14px;border-radius:50%;color:#ffffff4d}.set-sq-del:hover{color:#ff6b6b;background:#ff50501f}.set-empty{flex:none;margin:24px auto 0;max-width:360px;text-align:center;font-size:11px;line-height:1.7;letter-spacing:.06em;color:#fff6}.set-empty strong{color:#ffd93bd9}.sl-mgr{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0}.sl-subtabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:none;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:10px}.sl-subtab{padding:8px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff08;color:#fff9;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;white-space:nowrap}.sl-subtab:hover{color:#fff}.sl-subtab.is-active{background:#ffd93b;border-color:#ffd93b;color:#0a0a0b}.sl-sub-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.sl-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#ffffff0a;color:#fffc;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap}.sl-btn svg{width:15px;height:15px}.sl-btn:active{transform:scale(.97)}.sl-btn-yellow{border-color:#ffd93b8c;background:#ffd93b1f;color:#ffd93b}.sl-btn-ghost{color:#ffffff80}.sl-status{flex:none;font-size:11px;letter-spacing:.06em;min-height:14px;color:#ffffff73}.sl-status-err{color:#ff8a8a}.sl-status-ok{color:#46e08ae6}.sl-view{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px}.sl-view[hidden]{display:none}.sl-empty{margin:24px auto 0;max-width:380px;text-align:center;font-size:11px;line-height:1.8;letter-spacing:.05em;color:#fff6}.sl-empty strong{color:#ffd93bd9}.sl-rowhead{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#ffffff59;padding:2px 2px 4px}.sl-row,.sl-set-song{position:relative;display:flex;align-items:center;gap:10px;border-radius:11px;background:linear-gradient(180deg,#161618,#0c0c0d);border:1px solid rgba(255,255,255,.1)}.sl-row:hover,.sl-set-song:hover{border-color:#fff3}.sl-row-main,.sl-set-song{flex:1 1 auto;min-width:0;text-align:left;display:flex;flex-direction:column;gap:3px;padding:11px 14px;color:#fff;cursor:pointer;background:transparent;border:0;-webkit-tap-highlight-color:transparent}.sl-set-song{flex-direction:row;align-items:center;gap:12px}.sl-row-main:active,.sl-set-song:active{transform:scale(.994)}.sl-row-t{font-size:14px;font-weight:800;font-style:italic;letter-spacing:.02em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sl-set-song .sl-row-t{flex:1 1 auto;min-width:0}.sl-row-sub{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#ffffff73;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sl-ix{flex:none;width:22px;font-family:ui-monospace,monospace;font-size:11px;color:#fff6}.sl-mini{flex:none;margin-right:8px;padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#ffffff08;color:#ffffffa6;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.sl-mini:hover{color:#fff;border-color:#ffffff4d}.sl-mini-del:hover{color:#ff6b6b;border-color:#ff505066}.sl-mini-ok{color:#46e08ae6;border-color:#46e08a66}.sl-mini-buy{color:#fa57c1;border-color:#fa57c173}.sl-mini-buy:hover{color:#000;background:#fa57c1;border-color:#fa57c1}.sl-buy-mini{color:#fa57c1;font-size:13px;border-color:#fa57c166}.sl-buy-mini:hover{color:#000;background:#fa57c1;border-color:#fa57c1}.sl-x{flex:none;margin-right:10px;width:22px;height:22px;line-height:20px;text-align:center;font-size:14px;border-radius:50%;color:#ffffff4d;cursor:pointer}.sl-x:hover{color:#ff6b6b;background:#ff50501f}.sl-set{border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff05;padding:12px;display:flex;flex-direction:column;gap:8px}.sl-set-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.sl-set-title{font-size:13px;font-weight:800;font-style:italic;letter-spacing:.06em}.sl-set-n{font-family:ui-monospace,monospace;font-size:10px;color:#0a0a0b;background:#ffd93b;border-radius:999px;padding:1px 7px;margin-left:6px;font-style:normal}.sl-set-act{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sl-set-act .sl-mini{margin-right:0}.sl-set-songs{display:flex;flex-direction:column;gap:6px}.sl-set-empty{font-size:10px;letter-spacing:.06em;color:#ffffff59;padding:4px 2px}.sl-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sl-modal-title{font-size:13px;font-weight:900;font-style:italic;letter-spacing:.22em;text-transform:uppercase}.sl-pick-target{color:#ffd93b}.sl-modal-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:14px}.sl-modal-foot .sl-btn:first-child{margin-right:auto}.sl-note{font-size:11px;line-height:1.6;color:#ffd93b;background:#ffd93b14;border:1px solid rgba(255,217,59,.28);border-radius:9px;padding:8px 11px;margin-bottom:10px}.sl-review-card{max-width:720px}.sl-review-scroll{max-height:52vh;overflow:auto;scrollbar-width:thin}.sl-tbl{width:100%;border-collapse:collapse;font-size:12px}.sl-tbl th{position:sticky;top:0;background:#0b0b0b;text-align:left;padding:6px 8px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#fff6;border-bottom:1px solid rgba(255,255,255,.1)}.sl-tbl td{padding:4px 6px;border-bottom:1px solid rgba(255,255,255,.05)}.sl-tbl td.sl-ixcell{color:#ffffff59;font-family:ui-monospace,monospace;width:26px}.sl-tbl input{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:6px 8px;color:#fff;font-size:12px}.sl-tbl input:focus{outline:none;border-color:#ffd93b99}.sl-tbl input.sl-num{width:72px;font-family:ui-monospace,monospace}.sl-tbl .sl-x{margin:0}.sl-pick-body{max-height:56vh;overflow:auto;display:flex;flex-direction:column;gap:5px}.sl-pick-row{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;border:1px solid rgba(255,255,255,.1);background:#ffffff05;cursor:pointer}.sl-pick-row:hover{border-color:#ffffff38}.sl-pick-row input{width:16px;height:16px;accent-color:#FFD93B;flex:none}.sl-pick-row .sl-row-t{font-size:13px}.sl-pick-empty{font-size:11px;color:#fff6;padding:16px;text-align:center}.cond-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:6px 18px}.cond-header-brand{justify-self:start}.cond-header-status{justify-self:end}.cond-header .cond-tabs{justify-self:center;width:clamp(440px,46vw,640px);flex:none;margin:0}.cond-center .arena-frame{max-width:580px;max-height:clamp(190px,36vh,360px)}.tp-ai-btn{display:inline-flex;align-items:center;gap:6px;flex:none;padding:9px 13px;border-radius:10px;border:1px solid rgba(178,84,255,.55);background:#b254ff24;color:#d6b3ff;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap}.tp-ai-btn svg{width:15px;height:15px}.tp-ai-btn:active{transform:scale(.97)}.ai-card{max-width:520px}.ai-examples{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px}.ai-ex-label{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#ffffff59}.ai-ex{padding:5px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff08;color:#fff9;font-size:10px;cursor:pointer}.ai-ex:hover{color:#fff;border-color:#b254ff80}.ai-result{margin-top:10px;padding:10px 12px;background:#b254ff12;border:1px solid rgba(178,84,255,.25);border-radius:10px;font-family:ui-monospace,monospace;font-size:11px;line-height:1.7;color:#ffffffd9;white-space:pre-wrap;max-height:180px;overflow-y:auto}.ai-msg{font-size:10px;letter-spacing:.06em;color:#ffffff80}.presets-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.presets-head-row .tp-ai-btn{flex:none}.preset-add,.preset-add-all{display:none!important}.preset-overlay{pointer-events:none}.cond-bpm{align-items:stretch;gap:4px}.cond-bpm .cond-side-title{text-align:left}.cond-bpm-value{font-size:30px;text-align:left;margin-bottom:4px}.cond-bpm-fader{display:flex;align-items:stretch;align-self:flex-start;gap:16px;height:210px;padding:4px 0;margin:2px 0 4px 2px}.cbf-wrap{position:relative;width:24px;height:100%;flex:none}.cbf-track{position:absolute;left:50%;top:0;bottom:0;transform:translate(-50%);width:8px;border-radius:6px;background:#2b2b2e;overflow:hidden}.cbf-fill{position:absolute;left:0;right:0;bottom:0;height:44%;background:#ffd93b}.cbf-input{position:absolute;inset:0;margin:0;width:100%;height:100%;writing-mode:vertical-lr;direction:rtl;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.cbf-input::-webkit-slider-runnable-track{background:transparent;border:none}.cbf-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:none;box-shadow:0 2px 7px #0009,0 0 0 1px #0000002e}.cbf-input::-moz-range-track{background:transparent;border:none}.cbf-input::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:none;box-shadow:0 2px 7px #0009}.cond-bpm-scale{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:0;gap:0;text-align:left}.cond-bpm-scale .cbf-t{display:flex;align-items:center;gap:9px;height:0}.cond-bpm-scale .cbf-t i{display:block;width:8px;height:2px;border-radius:1px;background:#ffffff42}.cond-bpm-scale .cbf-t.maj i{width:13px;background:#ffffff6b}.cond-bpm-scale .cbf-t b{font-weight:600;font-size:13px;letter-spacing:.01em;color:#ffffff8c;font-style:normal}
