:root{--gray-100:#eee;--gray-200:#ccc;--gray-300:#aaa;--gray-400:#888;--gray-500:#666;--gray-600:#555;--gray-700:#444;--gray-800:#333;--gray-900:#1a1a2e;--accent:#e94560;--accent-400:#ff4d6d;--accent-600:#d63050;--accent-700:#ff2a6d;--color-success:#4ade80;--color-success-dark:#1a7f37;--color-warning:#f59e0b;--color-danger:#c62828;--danger:#c62828;--color-danger-light:#ef9a9a;--color-info:#4fc3f7;--bg-deep:#0a0a14;--bg-canvas:#0d0d1a;--bg:#1a1a2e;--bg-surface:#12121e;--bg-input:#16213e;--bg-elevated:#2a2a3e;--bg-hover:#3a3a4e;--bg-accent:#0f3460;--bg-selected:#833295;--bg-success:#0a2e0a;--text:#fff;--text-dim:#eee;--text-secondary:#ccc;--text-tertiary:#888;--text-disabled:#555;--border-subtle:#333;--border:#555;--border-strong:#888;--fs-xs:9px;--fs-sm:10px;--fs-base:11px;--fs-md:12px;--fs-lg:14px;--z-base:0;--z-content:2;--z-overlay:10;--z-panel:100;--z-toolbar:200;--z-toast:9999;--panel-height:300px;--vu-green:#4ade80;--vu-red:#ef4444;--vu-yellow:#eab308;--canvas-bg:#0d0d1a;--canvas-grid:#2d3438;--waveform-cyan:#00fff5;--waveform-green:#8eea3b;--waveform-red:#f24c4c;--waveform-yellow:#f5e642;--canvas-shadow:#0000004d;--toast-shadow:#00000080}body{background:var(--bg);margin:0;padding:0}#tb{z-index:var(--z-toolbar);background:var(--bg);border-bottom:2px solid var(--accent);height:64px;font-family:system-ui,sans-serif;font-size:var(--fs-lg);box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:6px;padding:0 8px;display:flex;position:fixed;top:0;left:0;right:0;overflow:visible}#tb button{font-size:var(--fs-md);border:1px solid var(--border);background:var(--bg-input);color:var(--text-dim);cursor:pointer;box-sizing:border-box;text-transform:uppercase;white-space:nowrap;touch-action:manipulation;border-radius:4px;flex-shrink:0;padding:5px 8px}#tb select{font-size:var(--fs-md);border:1px solid var(--border);background:var(--bg-input);color:var(--text-dim);cursor:pointer;box-sizing:border-box;touch-action:manipulation;border-radius:4px;flex-shrink:0;padding:5px 6px}#tb button:hover,#tb select:hover{border-color:var(--accent)}#tb button:active{background:var(--accent);color:var(--text)}#tb .tb-brand{color:var(--accent);letter-spacing:.5px;user-select:none;text-align:center;flex-shrink:0;min-width:140px;max-width:180px;font-size:15px;font-weight:700}#tb .tb-group{flex-direction:column;align-items:center;gap:1px;display:flex;position:relative}#tb .tb-label{font-size:var(--fs-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;line-height:1}#tb .tb-page-row{align-items:center;gap:2px;display:flex}#tb .tb-page-label{font-size:var(--fs-base);color:var(--text-dim);text-align:center;min-width:28px;font-weight:700}#tb .tb-start{background:var(--color-success-dark);width:40px;min-width:40px;height:40px;min-height:40px;color:var(--text);border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:16px;font-weight:700;display:flex}#tb .tb-start:hover{background:var(--color-success-dark)}#tb .tb-start.running{background:var(--accent)}#tb .tb-start.running:hover{background:var(--accent-600)}#tb .tb-tools,#tb .tb-about{justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:0;font-size:18px;display:flex}#tb .tb-auto-gen{background:var(--border-subtle);border-color:var(--border);color:var(--text-secondary);font-weight:700}#tb .tb-auto-gen:hover{background:var(--border-subtle)}#tb .tb-auto-gen.active{background:var(--color-success-dark);border-color:var(--color-success-dark);color:var(--text)}#tb .tb-auto-gen.active:hover{background:var(--color-success-dark)}#tb .tb-tools{background:var(--bg-input);border-color:var(--border);color:var(--text-dim)}#tb .tb-tools:hover{border-color:var(--accent)}#tb .tb-pattern-name-mobile,#tb .tb-settings-btn{display:none}#tb select{min-width:60px;max-width:140px}#tb .tb-bpm-toggle{width:48px;font-size:var(--fs-base);text-align:center;padding:5px 6px}#tb .tb-bpm-panel{background:var(--bg);border:1px solid var(--border);white-space:nowrap;z-index:var(--z-toolbar);border-radius:4px;align-items:center;gap:6px;padding:8px 12px;display:none;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #00000080}#tb .tb-bpm-panel.open{display:flex}#tb .tb-bpm-panel input[type=range]{width:100px;accent-color:var(--accent);cursor:pointer}#tb .tb-bpm-panel .tb-bpm-val{color:var(--text-dim);font-weight:700;font-size:var(--fs-md);text-align:center;min-width:28px}.tb-view-row{gap:3px;display:flex}.tb-view-btn{font-size:var(--fs-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-dim);cursor:pointer;text-transform:uppercase;white-space:nowrap;touch-action:manipulation;border-radius:3px;padding:3px 6px;font-weight:700}.tb-view-btn:hover{border-color:var(--accent);color:var(--text)}#tb .tb-view-btn.active{background:var(--accent-700);color:var(--text);border-color:var(--accent-700);box-shadow:0 0 8px #ff2a6d80}.tb-gen-btn{color:var(--color-warning);background:#f59e0b14;border-color:#f59e0b33}.tb-gen-btn:hover{border-color:var(--color-warning);background:#f59e0b2e}#tb .tb-gen-btn.active{color:var(--color-warning);border-color:var(--color-warning);background:#f59e0b33;box-shadow:0 0 6px #f59e0b4d}.tb-undo-group{flex-direction:column;gap:2px;display:flex}.tb-undo-row{gap:4px;display:flex}.tb-undo-btn{background:var(--bg-elevated);width:28px;height:28px;color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.tb-undo-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text);border-color:var(--accent)}.tb-undo-btn:disabled{opacity:.35;cursor:not-allowed}.tb-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:28px;margin:0 6px}#pattern-panel{background:var(--bg);border-bottom:2px solid var(--border-subtle);width:80%;height:450px;font-family:monospace;font-size:var(--fs-base);color:var(--text-secondary);z-index:var(--z-panel);flex-direction:column;padding:6px 12px;display:flex;position:fixed;top:64px;left:0;overflow:auto hidden}.ne-panel.pp-split{border-bottom:none;border-left:2px solid var(--border-subtle);flex-direction:column;width:20%;height:750px;display:flex;position:fixed;left:80%;right:0;overflow:hidden;top:64px!important}#app-content{width:100%;height:calc(100vh - 64px);display:flex}#app-content>.workspace-panel{flex:auto;width:80%;min-height:0}#ne-container{height:var(--panel-height);border-top:2px solid var(--border-subtle);box-sizing:border-box;background:var(--bg);font-family:monospace;font-size:var(--fs-base);color:var(--text-secondary);flex-shrink:0;padding:4px 6px;display:none;overflow-y:auto}.track-editor{flex-direction:column;height:450px;display:flex;overflow:hidden}.te-scroll{scrollbar-gutter:stable;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}#pattern-panel .pp-header{font-size:var(--fs-md);white-space:nowrap;border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:10px;margin-bottom:6px;padding-bottom:4px;display:flex;position:relative;overflow:hidden}#pattern-panel .pp-name{color:var(--accent);font-weight:700}#pattern-panel .pp-meta{color:var(--text-tertiary);font-size:var(--fs-sm)}.pp-actions{flex-shrink:0;gap:2px;display:flex}.pp-action-btn{width:22px;height:22px;font-size:var(--fs-md);background:var(--border-subtle);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;display:flex}.pp-action-btn[data-pp-action=delete]{margin-right:6px}.pp-action-btn[data-pp-action=save],.pp-action-btn[data-pp-action=replace]{font-size:16px}#pattern-panel .pp-header .pp-actions{box-sizing:border-box;justify-content:center;align-items:center;width:224px;margin-top:-2px}.pp-action-btn:hover{background:var(--accent);color:var(--text);border-color:var(--accent)}#pattern-panel .pp-tracks{flex-direction:column;flex:1;gap:3px;width:100%;min-height:0;display:flex;position:relative;overflow-y:auto}#pattern-panel .pp-track{flex-shrink:0;align-items:stretch;gap:4px;height:36px;min-height:36px;max-height:36px;display:flex}#pattern-panel .pp-track-name{min-width:0;color:var(--text);white-space:nowrap;font-weight:700;font-size:var(--fs-base);letter-spacing:.3px;cursor:pointer;text-overflow:ellipsis;touch-action:manipulation;background:#e945601a;border:1px solid #e9456033;border-radius:3px;flex:1;align-items:center;padding:0 6px;display:flex;overflow:hidden}#pattern-panel .pp-vu{background:#ffffff14;border-radius:2px;flex-shrink:0;align-self:stretch;width:8px;padding:3px 0;position:relative;overflow:hidden}#pattern-panel .pp-vu-fill{background:linear-gradient(to top, var(--vu-green), var(--vu-yellow) 50%, var(--vu-red));border-radius:2px;width:100%;height:0%;transition:height 50ms ease-out;position:absolute;bottom:0;left:0}#pattern-panel .pp-vu.selected{background:#e9456066}#pattern-panel .pp-track-name:hover{background:#e9456033}#pattern-panel .pp-track-name.selected{background:var(--text);color:var(--bg)}#pattern-panel .pp-divider{cursor:pointer;background:#ffffff1f;border-radius:2px;flex-shrink:0;width:12px;transition:background .15s}#pattern-panel .pp-divider.muted{background:var(--accent)}#pattern-panel .pp-divider:hover{background:#fff3}#pattern-panel .pp-divider.muted:hover{background:#e9456080}#pattern-panel .pp-solo{cursor:pointer;background:#ffffff1f;border-radius:2px;flex-shrink:0;width:12px;transition:background .15s}#pattern-panel .pp-solo.active{background:var(--color-warning)}#pattern-panel .pp-solo:hover{background:#f59e0b4d}#pattern-panel .pp-add-track{text-align:center;font-size:var(--fs-md);color:var(--text-tertiary);cursor:pointer;border:1px dashed #ffffff26;border-radius:4px;flex-shrink:0;width:100%;max-width:200px;margin:auto 8px;padding:6px 0}#pattern-panel .pp-add-track:hover{color:var(--accent);border-color:var(--accent)}#pattern-panel .pp-delete-track{text-align:center;font-size:var(--fs-md);color:var(--text-tertiary);cursor:pointer;border:1px dashed #ffffff26;border-radius:4px;flex-shrink:0;width:100%;max-width:200px;margin:auto 8px;padding:6px 0}#pattern-panel .pp-delete-track:hover{color:var(--color-danger);border-color:var(--color-danger)}#pattern-panel .pp-track.pp-muted .pp-cell{opacity:.25}#pattern-panel .pp-track.pp-muted .pp-track-name{opacity:.4}#pattern-panel .pp-track.pp-selected{background:#e9456026;border-radius:4px}#pattern-panel .pp-track.pp-selected .pp-track-name{background:0 0;border-color:#0000}#pattern-panel .pp-track.pp-selected .pp-track-name.selected{background:var(--text);color:var(--bg);border-color:var(--text)}#pattern-panel .pp-track.pp-selected .pp-track-left{background:0 0}#pattern-panel .pp-track-left{flex-direction:column;justify-content:center;gap:0;min-width:200px;max-width:200px;display:flex;overflow:hidden}#pattern-panel .pp-track-top{align-items:center;gap:4px;padding:0 4px;display:flex}#pattern-panel .pp-track-url{font-size:var(--fs-sm);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;padding:0 8px;line-height:1.1;overflow:hidden}#pattern-panel .pp-volume,#pattern-panel .pp-master-volume{width:60px;height:12px;accent-color:var(--accent);flex-shrink:0}#pattern-panel .pp-toolbar-row{align-items:center;gap:4px;margin:4px 0;display:flex}#pattern-panel .pp-master-track{cursor:pointer;background:var(--bg);border:1px solid var(--border);border-radius:4px;flex-shrink:0;align-items:center;gap:4px;min-width:208px;height:28px;padding:2px 6px;display:flex}#pattern-panel .pp-master-track:hover{border-color:var(--accent-400);background:#ffffff14}#pattern-panel .pp-master-track .pp-track-name{color:var(--text);font-weight:700;font-size:var(--fs-base);white-space:nowrap;background:0 0}#pattern-panel .pp-waveform-overlay{pointer-events:none;height:100%;z-index:var(--z-panel);opacity:.6;mix-blend-mode:screen;position:absolute;top:0}#pattern-panel.pp-vus-hidden .pp-vu,#pattern-panel.pp-vus-hidden .pp-waveform-overlay{display:none}#pattern-panel .pp-beats{flex:1;gap:1px;display:flex}#pattern-panel .pp-beat{border:1px solid var(--bg-hover);background:#ffffff03;border-radius:1px;flex:1;gap:0;padding:0;display:flex}#pattern-panel .pp-beat:nth-child(odd){background:#ffffff0d}#pattern-panel .pp-cell.cursor{outline:2px solid var(--accent);outline-offset:-1px;z-index:var(--z-content)}#pattern-panel .pp-cell{background:var(--bg);cursor:default;border:1px solid var(--bg-elevated);touch-action:manipulation;border-radius:0;flex:1;min-width:0;height:100%;position:relative}#pattern-panel .pp-cell.filled{background:var(--accent-700);z-index:var(--z-content);border:1px solid #0000;box-shadow:0 0 10px #ff2a6db3,inset 0 0 5px #ffffff80}#pattern-panel .pp-cell.pp-triggered{transition:none;background:var(--text)!important;box-shadow:0 0 16px 4px #ffffffe6,0 0 30px #ffffff80!important}#pattern-panel .pp-cell.pp-triggered .pp-note-slice{background:var(--text)!important;box-shadow:0 0 16px 4px #ffffffe6,0 0 30px #ffffff80!important}#pattern-panel .pp-cell.selected{outline:4px solid var(--text);outline-offset:-2px;z-index:var(--z-overlay)}#pattern-panel .pp-cell.selected.filled{outline:5px solid var(--text);border-color:var(--text)}#pattern-panel .pp-note-slice.selected{outline:2px solid var(--text);outline-offset:-1px;z-index:var(--z-content);filter:brightness(1.3)}#pattern-panel .pp-cell-multi{border:none;padding:0;display:flex}#pattern-panel .pp-cell-multi .pp-note-slice{background:var(--accent-700);border-right:1px solid #0006;flex-shrink:0;height:100%;position:relative;box-shadow:0 0 10px #ff2a6db3}#pattern-panel .pp-cell-multi .pp-note-slice:last-child{border-right:none}#pattern-panel .pp-note-slice .pp-pitch-beat,#pattern-panel .pp-cell>.pp-pitch-beat{pointer-events:none;width:4px;height:4px;z-index:var(--z-content);background:#ffffff80;border-radius:50%;position:absolute;left:50%;transform:translate(-50%)}#pattern-panel .pp-pitch-bar{pointer-events:none;width:25%;height:1px;z-index:var(--z-content);background:#ffffff59;border-radius:1px;position:absolute;left:0}#pattern-panel .pp-cell.pp-loop{border-right:4px solid var(--color-info);box-shadow:inset -8px 0 #00fff526}#pattern-panel .pp-cell-out{opacity:.1;background:var(--bg-canvas)}#pattern-panel .pp-tooltip{color:var(--text);font-size:var(--fs-base);white-space:pre-wrap;pointer-events:none;z-index:var(--z-panel);background:#000000d9;border:1px solid #fff3;border-radius:4px;padding:4px 8px;font-family:monospace;position:absolute;box-shadow:0 2px 8px #00000080}.lfo-led{background:var(--border-subtle);border:1px solid var(--border);cursor:pointer;vertical-align:middle;border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-right:8px;padding:0;transition:all .1s;display:inline-block;box-shadow:inset 0 1px 3px #00000080}.lfo-led.on{background:var(--color-success);border-color:var(--text);box-shadow:0 0 8px #0f0c,inset 0 1px 2px #ffffff80}.lfo-led:hover{border-color:var(--text-secondary);background:var(--border-subtle)}.lfo-led.on:hover{border-color:var(--text);background:var(--color-success);box-shadow:0 0 14px #0f0,inset 0 1px 2px #ffffffb3}.midi-indicator-on{background:var(--color-info)!important;box-shadow:0 0 10px var(--color-info)!important;border:1px solid var(--text)!important}.midi-indicator-off{background:var(--border-subtle)!important;border:1px solid var(--border)!important}#pattern-panel .pp-cell.pp-trig-fixed:after,#pattern-panel .pp-cell.pp-trig-rand:after{content:attr(data-trig);font-size:var(--fs-base);color:var(--text);justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;inset:0}#pattern-panel .pp-ghost{pointer-events:none;border-radius:2px;position:absolute;inset:25% 15%}#pattern-panel .pp-ghost-retrigger{background:#00b4ff80;box-shadow:0 0 4px #00b4ff66}#pattern-panel .pp-ghost-euclidian{background:#ffc80073;box-shadow:0 0 4px #ffc80059}#pattern-panel .pp-playhead{background:var(--color-info);pointer-events:none;width:1px;z-index:var(--z-toolbar);position:absolute;top:0;bottom:0;left:0}#piano-roll-panel{background:var(--bg);border-bottom:2px solid var(--border-subtle);width:80%;height:450px;font-family:monospace;font-size:var(--fs-base);color:var(--text-secondary);z-index:var(--z-panel);flex-direction:column;padding:0;display:flex;position:fixed;top:64px;left:0;overflow:hidden}#pp-piano-roll{flex-direction:row;flex:1;height:calc(100% - 36px);min-height:0;display:flex;overflow:auto hidden}#pp-piano-scroll{flex-direction:row;flex:1;align-items:flex-start;min-width:0;min-height:0;display:flex;position:relative;overflow:auto}#pp-piano-keys{background:var(--bg-canvas);border-right:2px solid var(--border);width:80px;min-width:80px;z-index:var(--z-content);flex-direction:column-reverse;flex-shrink:0;display:flex;position:sticky;left:0}.pp-pr-key{box-sizing:border-box;cursor:pointer;height:14px;font-size:var(--fs-xs);color:var(--text-disabled);border-bottom:1px solid var(--border-subtle);border-left:1px solid var(--border-subtle);justify-content:flex-end;align-items:center;padding-right:4px;display:flex;position:relative}.pp-pr-key.white{background:var(--bg-elevated)}.pp-pr-key.white:hover{background:var(--bg-hover)}.pp-pr-key.black{background:var(--bg-canvas)}.pp-pr-key.black:hover{background:var(--bg-hover)}.pp-pr-key.is-c{color:var(--text-secondary);font-weight:700}#pp-piano-grid{background:var(--bg-canvas);cursor:pointer;flex-shrink:0;position:relative}.pp-pr-col{pointer-events:none;border-left:1px solid var(--border-subtle);position:absolute;top:0;bottom:0}.pp-pr-col.beat{border-left-color:var(--border);background:#ffff000a}.pp-pr-col.half{border-left:1px dotted var(--border-subtle)}.pp-pr-row{pointer-events:none;border-bottom:1px solid var(--border-subtle);position:absolute;left:0}.pp-pr-row.octave{border-bottom-color:var(--border)}.pp-pr-note{background:var(--accent-700);cursor:pointer;z-index:var(--z-base);border-radius:2px;position:absolute;box-shadow:0 0 4px #ff2a6d80}.pp-pr-note.selected{outline:3px solid var(--text);outline-offset:-1px;z-index:var(--z-content);filter:brightness(1.3)}.pp-pr-note.playing{background:var(--text);z-index:var(--z-content);filter:brightness(1.6);box-shadow:0 0 10px 4px #fffc}.pp-pr-note:hover{filter:brightness(1.3)}.pp-pr-loop-point{background:var(--color-info);pointer-events:none;width:4px;z-index:var(--z-content);position:absolute;top:0;box-shadow:0 0 6px #4dd0e180}.pp-pr-cursor{border:2px solid var(--accent);pointer-events:none;z-index:var(--z-content);border-radius:2px;position:absolute}.pp-pr-note.pp-pr-trig-fixed:after,.pp-pr-note.pp-pr-trig-rand:after{content:attr(data-trig);font-size:var(--fs-xs);color:var(--text);pointer-events:none;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;inset:0}.pp-pr-ghost{pointer-events:none;z-index:var(--z-content);opacity:.6;border-radius:2px;position:absolute}.pp-pr-ghost-retrigger{background:#00b4ff80;box-shadow:0 0 4px #00b4ff66}.pp-pr-ghost-euclidian{background:#ffc80073;box-shadow:0 0 4px #ffc80059}.pp-pr-playhead{background:var(--color-success);pointer-events:none;width:2px;z-index:var(--z-overlay);position:absolute;top:0;bottom:0;box-shadow:0 0 6px #4ade8099}.pp-pr-page-btn{background:var(--bg-canvas);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;font-size:var(--fs-sm);border-radius:3px;padding:1px 6px;line-height:1}.pp-pr-page-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.pp-pr-page-btn:disabled{opacity:.3;cursor:default}#pp-pr-page-info{font-size:var(--fs-sm);color:var(--text-secondary);text-align:center;min-width:24px}.ne-panel{box-sizing:border-box;background:var(--bg);border-bottom:2px solid var(--accent);scrollbar-gutter:stable;width:100%;font-family:monospace;font-size:var(--fs-base);color:var(--text-secondary);z-index:var(--z-toolbar);min-height:auto;padding:8px 12px;display:none;left:0;right:0;overflow-x:auto}#about-panel,#tools-panel,#output-panel,#pp-panel,#dm-panel{width:80%;height:var(--panel-height);position:fixed;top:518px;left:0}.ui-hidden{display:none!important}.workspace-panel{background:var(--bg);border-bottom:2px solid var(--border-subtle);font-family:monospace;font-size:var(--fs-base);color:var(--text-secondary);flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.ne-header{font-size:var(--fs-md);border-bottom:1px solid var(--border-subtle);flex-wrap:nowrap;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:4px;display:flex}.ne-toggles{gap:4px;margin-left:auto;margin-right:8px;display:flex}.ne-toggle{font-size:var(--fs-base);border:1px solid var(--border-subtle);background:var(--bg-canvas);color:var(--text-secondary);cursor:pointer;text-transform:uppercase;white-space:nowrap;text-align:center;border-radius:4px;min-width:44px;padding:5px 10px;font-weight:700;transition:background .15s,color .15s}.ne-toggle:hover{border-color:var(--accent);color:var(--text-secondary)}.ne-toggle.active{background:var(--accent);color:var(--text);border-color:var(--accent-400)}.ne-track{color:var(--accent);font-weight:700;font-size:var(--fs-lg);white-space:nowrap}.ne-pos{color:var(--text-tertiary)}.ne-row{cursor:pointer;border-radius:4px;align-items:center;gap:8px;min-height:20px;padding:2px 4px;display:flex}.ne-row-label{min-width:20px}.ne-row-separator{border-top:1px solid var(--border-subtle);margin-top:6px;padding-top:6px}.ne-val-wide{min-width:60px}.ne-row-hidden{display:none!important}.ne-knob-bar,.te-knob-bar{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:6px;flex-direction:row;justify-content:center;gap:16px;margin:0 4px 4px;padding:6px 10px;display:flex}.ne-knob-bar .ne-row-knob,.te-knob-bar .ne-row-knob{flex-direction:column;align-items:center;gap:2px;width:70px;padding:0 4px}.ne-knob-bar .or-knob-label,.te-knob-bar .or-knob-label{font-size:var(--fs-xs);text-align:center}.ne-knob-bar .ne-row-knob .ne-val,.te-knob-bar .ne-row-knob .ne-val{font-size:var(--fs-xs);text-align:center;width:55px;min-width:0;max-width:55px;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.ne-tab-panel-hidden,.fx-tab-panel-hidden{display:none!important}.fx-tab-panel{min-height:140px}.gen-tab-panel-hidden{display:none!important}.ss-body-empty{color:var(--text-disabled);text-align:center;padding:20px}.ss-tb-btn-boolean{font-size:var(--fs-xs);height:22px;padding:0 8px}#te-panel .ne-row.selected{outline:1px solid var(--color-info);background:#00fff50f;box-shadow:inset 0 0 0 1px #00fff566}#te-panel .ne-row.has-lfo{box-shadow:inset 2px 0 0 var(--color-info);padding-left:6px}.ne-row label{min-width:60px;color:var(--text-secondary);font-size:var(--fs-base)}.ne-row input[type=range]{width:80px;accent-color:var(--accent);cursor:pointer}.ne-row input[type=range]:focus{outline:1px solid var(--color-info);outline-offset:2px}.ne-row select{width:80px;font-size:var(--fs-sm);background:var(--bg-input);color:var(--text-dim);border:1px solid var(--border);cursor:pointer;border-radius:3px;padding:2px}#te-panel .ne-row select[data-sound=sample]{width:120px}.te-sample-bar{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:6px;align-items:center;gap:8px;margin:0 4px 4px;padding:6px 10px;display:flex}.te-sample-left{flex-direction:column;flex-shrink:0;gap:2px;width:33%;display:flex}.te-sample-info{font-size:var(--fs-sm);color:var(--text-secondary);white-space:nowrap}.te-waveform{background:#0000004d;border-radius:3px;flex-shrink:0;width:66%;height:48px}.te-load-btn{width:22px;height:22px;font-size:var(--fs-md);background:var(--border-subtle);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;display:flex}.te-load-btn:hover{background:var(--accent);color:var(--text);border-color:var(--accent)}.ne-row .ne-val{text-align:right;width:55px;color:var(--text-dim);font-weight:700;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#about-panel .ne-val{text-align:left;width:auto;min-width:120px;text-overflow:unset;white-space:normal;word-break:break-all;overflow:visible}.ne-tab-bar{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:6px 6px 0 0;flex-direction:row;justify-content:flex-start;gap:2px;margin:0 4px 4px;padding:6px 10px;display:flex}.ne-tab-btn{min-width:0;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:0;color:var(--text-dim);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;text-align:center;background:0 0;border:1px solid #0000;border-radius:3px;flex:1 1 0;padding:4px 2px;font-weight:700;transition:all .15s;overflow:hidden}.ne-tab-btn:hover{color:var(--text);background:#ffffff0d}.ne-tab-btn.active{color:var(--color-success);border-color:var(--color-success);background:#8eea3b1a}.ne-tab-panel{background:var(--bg-input);border:1px solid var(--border-subtle);border-top:none;border-radius:0 0 6px 6px;flex:1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:center;gap:8px;min-height:0;margin:0 4px;padding:8px 12px;display:grid;overflow-y:auto}.te-mod-targets{flex-direction:row;grid-column:1/-1;gap:2px;margin-bottom:4px;padding:4px 6px;display:flex}.te-mod-btn{min-width:0;font-size:var(--fs-xs);color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:3px;flex:1 1 0;justify-content:center;align-items:center;gap:4px;padding:3px 6px;font-weight:700;transition:all .15s;display:flex}.te-mod-btn:hover{color:var(--text);background:#ffffff0d}.te-mod-btn.active{color:var(--color-success);border-color:var(--color-success);background:#8eea3b1a}.fx-icon-row{align-items:center;gap:4px;display:flex}.fx-icon-btn{width:30px;height:22px;font-size:var(--fs-xs);background:var(--bg-deep);border:1px solid var(--border-subtle);color:var(--color-success);cursor:pointer;box-sizing:border-box;border-radius:3px;justify-content:center;align-items:center;font-weight:700;transition:all .15s;display:inline-flex}.fx-icon-btn:hover{border-color:var(--color-success)}.fx-icon-btn.selected{background:var(--bg-success);border-color:var(--color-success);box-shadow:0 0 4px #8eea3b66}.te-mod-btn .lfo-led{cursor:pointer}.ne-row.no-cursor{cursor:default}.ne-row .ne-input{width:100px;font-size:var(--fs-base);background:var(--bg-input);color:var(--text-dim);border:1px solid var(--border);border-radius:3px;padding:2px 4px}.ne-close{cursor:pointer;color:var(--text);background:var(--accent);border:none;border-radius:4px;margin-left:auto;padding:0 8px;font-size:18px;line-height:24px}.ne-range-container{align-items:center;width:80px;height:20px;display:flex;position:relative}.ne-range-container input[type=range]{pointer-events:none;-webkit-appearance:none;z-index:var(--z-base);background:0 0!important;width:100%!important;margin:0!important;position:absolute!important}.ne-range-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;background:var(--accent);border:1px solid var(--text);cursor:pointer;border-radius:50%;width:12px;height:12px}.ne-range-container input[type=range]::-moz-range-thumb{pointer-events:auto;background:var(--accent);border:1px solid var(--text);cursor:pointer;border-radius:50%;width:12px;height:12px}.ne-range-container:before{content:"";background:var(--border-subtle);width:100%;height:2px;z-index:var(--z-base);position:absolute}.ne-btn{font-size:var(--fs-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-dim);cursor:pointer;text-align:center;text-transform:uppercase;box-sizing:border-box;border-radius:3px;width:100%;min-width:40px;padding:2px 8px}.ne-btn.active{background:var(--accent);border-color:var(--accent);color:var(--text)}#tools-panel .ne-tab-panel{grid-template-columns:repeat(auto-fit,minmax(140px,max-content));place-content:start}#tools-panel .ne-row{min-width:0}#tools-panel .ne-btn{width:auto;min-width:140px;max-width:100%}.tp-cache-header{border-bottom:1px solid var(--border-subtle);margin-bottom:4px;padding-bottom:4px}.tp-cache-count{margin-left:auto}.tp-cache-list{max-height:140px;font-size:var(--fs-sm);scrollbar-gutter:stable;margin-bottom:4px;overflow-y:scroll}.tp-cache-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:4px;padding:2px 0;display:flex}.tp-cache-item-label{min-width:28px;color:var(--accent);font-weight:600}.tp-cache-item-key{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tp-cache-item-kit{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;min-width:80px;overflow:hidden}.tp-cache-item-size,.tp-cache-item-date{color:var(--text-tertiary);text-align:right;flex-shrink:0;min-width:52px}.tp-cache-item-date{min-width:90px}.tp-cache-item-del{color:var(--text-tertiary);cursor:pointer;font-size:var(--fs-sm);opacity:.5;background:0 0;border:none;flex-shrink:0;padding:0 2px;line-height:1;transition:color .15s,opacity .15s}.tp-cache-item-del:hover{color:var(--color-danger);opacity:1}.tp-cache-item-view{color:var(--text-tertiary);cursor:pointer;font-size:var(--fs-sm);opacity:.5;background:0 0;border:none;flex-shrink:0;padding:0 2px;line-height:1;transition:color .15s,opacity .15s}.tp-cache-item-view:hover{color:var(--color-info);opacity:1}.tp-json-modal-overlay{z-index:var(--z-toast);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tp-json-modal{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;width:80vw;max-width:800px;max-height:80vh;display:flex;overflow:hidden}.tp-json-modal-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.tp-json-modal-title{font-size:var(--fs-md);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tp-json-modal-close{color:var(--text-tertiary);cursor:pointer;font-size:var(--fs-md);background:0 0;border:none;flex-shrink:0;padding:0 4px;line-height:1}.tp-json-modal-close:hover{color:var(--color-danger)}.tp-json-modal-body{font-family:monospace;font-size:var(--fs-sm);color:var(--text-secondary);white-space:pre;flex:1;min-height:0;margin:0;padding:12px;line-height:1.4;overflow:auto}.tp-cache-empty{color:var(--text-tertiary);padding:4px 0}.tp-cache-danger{color:var(--color-danger)}#tp-cache-btns{flex-direction:column;gap:3px;display:flex}#tp-cache-btns .ne-btn{width:100%;min-width:0}#soft-synth-panel{box-sizing:border-box;background:var(--bg);border-bottom:2px solid var(--border-subtle);width:80%;height:450px;font-family:monospace;font-size:var(--fs-base);color:var(--text-secondary);z-index:var(--z-panel);flex-direction:column;gap:3px;padding:6px 12px;display:flex;position:fixed;top:64px;left:0;overflow:hidden}#soft-synth-panel .ss-scroll{flex:1;overflow:auto}#soft-synth-panel .ss-title{color:var(--accent);font-weight:700;font-size:var(--fs-md);white-space:nowrap;border-bottom:1px solid var(--border-subtle);padding-bottom:2px}#soft-synth-panel .ss-footer{border-bottom:1px solid var(--border-subtle);justify-content:flex-start;gap:6px;padding-bottom:3px;display:flex}#soft-synth-panel .ss-preset-select{font-size:var(--fs-sm);background:var(--bg-input);color:var(--text-dim);border:1px solid var(--border);box-sizing:border-box;border-radius:3px;max-width:180px;padding:2px 4px}#soft-synth-panel .ss-footer .ss-tb-btn{font-size:var(--fs-base);padding:0 6px}#soft-synth-panel .ss-footer-sep{background:var(--border-subtle);vertical-align:middle;width:1px;height:16px;margin:0 4px;display:inline-block}#soft-synth-panel .ss-wave-tab{font-size:var(--fs-xs);border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;text-transform:uppercase;border-radius:3px;padding:2px 6px}#soft-synth-panel .ss-wave-tab.active{background:var(--accent);color:var(--text);border-color:var(--accent)}#soft-synth-panel .ss-group-label{color:var(--accent);font-size:var(--fs-md);text-transform:uppercase;letter-spacing:.5px;font-weight:700}#soft-synth-panel .ss-group-wave-row{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;display:inline-flex}#soft-synth-panel .ss-group-wave-row .ss-wave-icon,#soft-synth-panel .ss-group-wave-row .ss-ft-icon{width:20px;height:14px;padding:1px}#soft-synth-panel .ss-group-wave-row .ss-fm-icon{width:auto;height:14px;font-size:var(--fs-xs);white-space:nowrap;padding:1px 3px}#soft-synth-panel .ss-card-body{flex-flow:wrap;justify-content:center;gap:2px;width:100%;display:flex}#soft-synth-panel .ss-env-canvas,#soft-synth-panel .ss-waveform{border:1px solid var(--border-subtle);background:var(--bg-canvas);box-sizing:border-box;border-radius:4px;width:100%;height:40px;display:block}#soft-synth-panel .ne-row{border-radius:3px;align-items:center;gap:4px;padding:1px 3px;display:flex}#soft-synth-panel .ne-row:focus-within{box-shadow:inset 2px 0 0 var(--color-info);background:#00fff514}#soft-synth-panel .ss-param-label{color:var(--text-secondary);font-size:var(--fs-sm);min-width:40px}#soft-synth-panel select{font-size:var(--fs-sm);background:var(--bg-input);color:var(--text-dim);border:1px solid var(--border);box-sizing:border-box;border-radius:3px;padding:2px 4px}#soft-synth-panel .ss-tb-btn{font-size:var(--fs-sm);background:var(--bg-input);height:22px;color:var(--text-dim);border:1px solid var(--border);cursor:pointer;border-radius:3px;padding:0 8px}#soft-synth-panel .ss-tb-btn.active{background:var(--accent);color:var(--text)}#soft-synth-panel .ss-icon-row{gap:4px}#soft-synth-panel .ss-wave-icon,#soft-synth-panel .ss-ft-icon,#soft-synth-panel .ss-fm-icon{background:var(--bg-deep);border:1px solid var(--border-subtle);width:36px;height:28px;color:var(--color-success);cursor:pointer;box-sizing:border-box;border-radius:3px;justify-content:center;align-items:center;padding:2px;display:inline-flex}#soft-synth-panel .ss-wave-icon svg,#soft-synth-panel .ss-ft-icon svg{width:100%;height:100%}#soft-synth-panel .ss-wave-icon:hover,#soft-synth-panel .ss-ft-icon:hover,#soft-synth-panel .ss-fm-icon:hover{border-color:var(--color-success)}#soft-synth-panel .ss-wave-icon.selected,#soft-synth-panel .ss-ft-icon.selected,#soft-synth-panel .ss-fm-icon.selected{background:var(--bg-success);border-color:var(--color-success);box-shadow:0 0 4px #8eea3b66}#soft-synth-panel .ne-row-knob{border-radius:3px;flex-direction:column;flex:0 0 62px;justify-content:center;align-items:center;gap:2px;padding:1px 3px;display:flex}.or-knob{--arc-deg:0deg;cursor:pointer;background:var(--bg-input);border:2px solid var(--border-subtle);box-sizing:border-box;border-radius:50%;width:40px;height:40px;transition:border-color .15s;position:relative}.or-knob:hover{border-color:var(--color-success)}.or-knob.dragging{border-color:var(--color-info)}.or-knob:focus{outline:1px solid var(--color-info);outline-offset:2px}.or-knob-arc{background:conic-gradient(from -135deg, var(--color-success) 0deg, var(--color-success) var(--arc-deg), var(--border-subtle) var(--arc-deg), var(--border-subtle) 270deg);border-radius:50%;position:absolute;inset:2px;mask:radial-gradient(circle,#0000 55%,#000 56% 70%,#0000 71%)}.or-knob-disc{background:radial-gradient(circle at 40% 35%, var(--bg-elevated), var(--bg-input));border-radius:50%;position:absolute;inset:6px}.or-knob-label{color:var(--text-secondary);font-size:var(--fs-sm);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:72px;line-height:1;overflow:hidden}#soft-synth-panel .ne-row-knob .ne-val{text-align:center;min-width:0;max-width:55px;color:var(--text-dim);font-weight:700;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ne-body,#soft-synth-panel .ss-body{flex-flow:wrap;align-items:stretch;gap:4px;padding-bottom:2px;display:flex}#soft-synth-panel .ss-group{background:#ffffff0a;border:1px solid #e945604d;border-radius:6px;flex-wrap:wrap;flex:calc(20% - 4px);justify-content:center;align-items:center;gap:3px;min-width:120px;max-width:calc(20% - 4px);padding:3px 6px;transition:all .25s cubic-bezier(.25,.8,.25,1);display:flex}#soft-synth-panel .ss-group.bypassed{opacity:.4;border-color:#ffffff0a}.ss-bypass-btn{border:1px solid var(--border-subtle);width:18px;height:18px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;transition:all .15s;display:inline-flex}.ss-bypass-btn svg{width:12px;height:12px}.ss-bypass-btn:hover{border-color:var(--color-success);color:var(--color-success)}.ss-bypass-btn.active{border-color:var(--color-success);color:var(--color-success);background:#8eea3b26}.ne-grid{flex-direction:column;gap:4px;display:flex}.ne-grid.ne-grid-2col{grid-template-columns:1fr 1fr;gap:4px 12px;display:grid}.op-comp-panel{flex-direction:column;gap:6px;padding:6px 8px;display:flex}.op-comp-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:2px;padding-bottom:4px;display:flex}.op-comp-title{font-size:var(--fs-sm);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);font-weight:700}.op-comp-bypass{border:2px solid var(--border);background:var(--bg-surface);width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:all .15s;display:flex}.op-comp-bypass:hover{border-color:var(--accent);color:var(--accent)}.op-comp-bypass.active{border-color:var(--color-success);color:var(--color-success);background:var(--bg-success);box-shadow:0 0 6px var(--color-success)}.op-comp-knobs{flex-wrap:wrap;justify-content:center;gap:8px 12px;display:flex}.op-comp-knobs .ne-row-knob{flex-direction:column;flex:none;align-items:center;gap:2px;min-width:56px;padding:0 4px}.op-comp-knobs .or-knob-label{font-size:var(--fs-xs);text-align:center}.op-comp-knobs .ne-val{font-size:var(--fs-xs);text-align:center;width:auto;min-width:0;color:var(--text-dim);white-space:nowrap;font-weight:700;overflow:visible}.op-comp-pregain{border-top:1px solid var(--border-subtle);justify-self:center;margin-top:4px;padding-top:4px}.op-comp-pregain .or-knob-label{font-size:var(--fs-xs)}.fx-header{justify-content:space-between;align-items:center;display:flex}.dm-body{gap:12px;min-height:180px;display:flex}.dm-list{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:4px;flex:0 0 220px;max-height:200px;padding:4px;overflow-y:auto}.dm-list-empty{color:var(--text-disabled);text-align:center;padding:12px;font-style:italic}.dm-list-item{cursor:pointer;font-size:var(--fs-base);color:var(--text-secondary);border-radius:3px;align-items:center;gap:6px;padding:3px 6px;display:flex}.dm-list-item:hover{background:var(--bg-elevated)}.dm-list-item.dm-selected{background:var(--bg-selected);border:1px solid var(--accent);color:var(--text)}.dm-play-btn{cursor:pointer;color:var(--color-info);font-size:var(--fs-sm);text-align:center;flex-shrink:0;width:16px}.dm-play-btn:hover{color:var(--color-info)}.dm-list-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dm-detail{flex:1;min-width:0}.dm-detail-empty{color:var(--text-disabled);text-align:center;padding:20px;font-style:italic}.dm-detail-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.dm-file-actions{gap:4px;margin-left:auto;display:flex}.dm-icon-btn{width:22px;height:22px;font-size:var(--fs-md);background:var(--border-subtle);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.dm-icon-btn:hover{background:var(--accent);color:var(--text);border-color:var(--accent)}.dm-play-large{text-align:center;width:24px;font-size:16px}.dm-detail-filename{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.dm-waveform-container{margin-bottom:8px}.dm-waveform{background:var(--bg-deep);border-radius:4px;width:100%;height:60px;display:block}.dm-detail-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.dm-detail-row label{color:var(--text-tertiary);font-size:var(--fs-base);flex:0 0 70px}.dm-detail-row .ne-input,.dm-detail-row input[type=range]{flex:1;min-width:0}.dm-detail-row .ne-val{text-align:right;color:var(--color-info);font-size:var(--fs-base);flex:0 0 60px}.dm-detail-info{color:var(--text-disabled);font-size:var(--fs-sm);margin:6px 0}.dm-detail-actions{gap:8px;margin-top:8px;display:flex}.dm-detail-columns{gap:12px;display:flex}.dm-detail-left{flex-direction:column;flex:1;min-width:0;display:flex}.dm-detail-right{flex:1;min-width:0}.dm-danger{border-color:var(--danger)!important;color:var(--color-danger-light)!important}.dm-danger:hover{background:var(--danger)!important;color:var(--text)!important}.dm-actions{border-top:1px solid var(--border-subtle);gap:8px;margin-top:8px;padding-top:8px;display:flex}#pp-panel .pp-body{flex-direction:row;align-items:flex-start;gap:16px;max-height:180px;display:flex}.pp-list{flex-direction:column;flex:none;gap:2px;min-width:140px;max-width:200px;display:flex;overflow-y:auto}.pp-item{cursor:pointer;border-radius:3px;align-items:center;gap:8px;padding:4px 8px;transition:background .1s;display:flex}.pp-item:hover{background:var(--bg-input)}.pp-item.pp-selected{background:var(--bg-accent);border-left:3px solid var(--accent)}.pp-num{color:var(--border);font-size:var(--fs-sm);text-align:right;min-width:20px}.pp-name{color:var(--text-dim);cursor:text;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:700;overflow:hidden}.pp-name:hover{color:var(--accent)}.pp-rename-input{background:var(--bg-accent);color:var(--text-dim);border:1px solid var(--accent);font-family:monospace;font-size:var(--fs-base);border-radius:3px;outline:none;flex:1;min-width:0;padding:2px 4px}.pp-actions-col{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.pp-song-row{align-items:center;gap:8px;display:flex}.pp-song-label{color:var(--text-tertiary);font-size:var(--fs-sm);text-transform:uppercase}.pp-song-name{color:var(--accent);cursor:text;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.pp-song-name:hover{text-decoration:underline}.pp-btn-group{flex-wrap:wrap;gap:6px;display:flex}.pp-del-btn{color:var(--text-disabled);cursor:pointer;font-size:var(--fs-md);background:0 0;border:none;border-radius:3px;padding:2px 4px}.pp-del-btn:hover{color:var(--accent);background:var(--bg-input)}.pp-danger{border-color:var(--accent)!important}.pp-danger:hover{background:var(--accent)!important;color:var(--text)!important}.pp-empty{color:var(--text-disabled);text-align:center;padding:40px}.pp-actions{border-top:1px solid var(--border-subtle);gap:8px;margin-top:8px;padding-top:8px;display:flex}@media (width<=768px),(height<=480px){#tb .tb-hide-mobile{display:none!important}#tb{gap:4px;height:auto;min-height:48px;padding:4px}#tb .tb-brand{display:none}#tb .tb-pattern-name-mobile{color:var(--text-dim);font-weight:700;font-size:var(--fs-base);white-space:nowrap;text-overflow:ellipsis;cursor:text;flex:1;display:block;overflow:hidden}#tb .tb-settings-btn{display:none}#pattern-settings-panel .ps-close-btn{color:var(--text-tertiary);cursor:pointer;touch-action:manipulation;background:0 0;border:none;font-size:24px;position:absolute;top:8px;right:8px}#pattern-settings-panel .ps-close-btn:hover{color:var(--text)}#pattern-settings-panel{top:var(--tb-h,48px);z-index:var(--z-panel);background:var(--bg);border-bottom:2px solid var(--accent);box-sizing:border-box;scrollbar-gutter:stable;padding:36px 8px 8px;display:none;position:fixed;bottom:60px;left:0;right:0;overflow-y:auto}#pattern-settings-panel .ps-content{position:relative}#pattern-settings-panel.open{display:block}#pattern-settings-panel .ps-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;display:flex}#pattern-settings-panel .ps-label{color:var(--text-secondary);font-size:var(--fs-sm);min-width:60px}#pattern-settings-panel .ps-control{flex:1;min-width:0}#pattern-settings-panel .ps-row>select{width:100%;min-width:0;font-size:var(--fs-base);flex:1;padding:6px 8px}#pattern-settings-panel .ps-page-controls{grid-template-columns:32px minmax(32px,max-content) 32px;justify-content:start;align-items:center;gap:6px;display:grid}#pattern-settings-panel .ps-page-controls .ps-btn{width:32px;padding:6px 0}#pattern-settings-panel .ps-page-label{text-align:center;min-width:32px}#pattern-settings-panel .ps-gen-controls{flex-wrap:wrap;gap:6px;display:flex}#pattern-settings-panel .ps-gen-controls .ps-btn{flex:82px;width:auto;min-width:0;padding:6px 8px}#app-content{padding-bottom:60px}#tb .tb-view-row,#tb .tb-page-group .tb-label,#tb .tb-beats-group .tb-label,#tb .tb-gen-group .tb-label{display:none}#tb .tb-page-group,#tb .tb-beats-group,#tb .tb-gen-group,#tb .tb-page-row{gap:2px}#tb .tb-prev-page,#tb .tb-next-page{width:24px;height:24px;font-size:var(--fs-xs)}#tb .tb-page-label{font-size:var(--fs-xs);min-width:20px}#tb .tb-beats-group select{height:24px;font-size:var(--fs-xs);padding:0 2px}#tb .tb-gen-btn{font-size:var(--fs-xs);white-space:nowrap;padding:3px 5px}#pattern-panel .pp-header .pp-actions{display:none!important}#pattern-panel .pp-header{gap:0}.pp-container{box-sizing:border-box;width:100%}.workspace-panel{bottom:60px;overflow-y:auto}#te-panel,#tools-panel,#about-panel,#output-panel,#dm-panel{top:var(--tb-h,48px)!important;width:100%!important;height:auto!important;position:fixed!important;bottom:60px!important;left:0!important;overflow-y:auto!important}#te-panel.pp-split{border-left:none!important;width:100%!important;left:0!important}#te-panel.te-mobile-landscape{grid-template:"knobs tabs notes""knobs panels notes"1fr/170px 1fr 1fr;border-left:none!important;height:100vh!important;display:grid!important;top:0!important;overflow:visible!important}#te-panel.te-mobile-landscape .track-editor{display:contents}#te-panel.te-mobile-landscape .ne-header{font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;grid-area:knobs;margin-bottom:2px;padding:2px;overflow:hidden}#te-panel.te-mobile-landscape .te-sample-bar{flex-direction:column;grid-area:knobs;align-items:stretch;gap:4px;margin-bottom:4px;padding:4px}#te-panel.te-mobile-landscape .te-knob-bar{box-sizing:border-box;flex-flow:wrap;grid-area:knobs;justify-content:flex-start;gap:4px 6px;width:100%;margin:0;padding:4px;display:flex}#te-panel.te-mobile-landscape .te-knob-bar .ne-row-knob{gap:1px;width:46px;padding:0}#te-panel.te-mobile-landscape .te-knob-bar .or-knob{width:32px;height:32px}#te-panel.te-mobile-landscape .te-knob-bar .or-knob-label,#te-panel.te-mobile-landscape .te-knob-bar .ne-val{font-size:8px}#te-panel.te-mobile-landscape .ne-tab-bar{z-index:10;background:var(--bg);border-bottom:1px solid var(--border-subtle);flex-shrink:0;grid-area:tabs;margin:0;padding:2px 0;position:sticky;top:0}#te-panel.te-mobile-landscape .te-scroll{grid-area:panels;overflow:visible}#te-panel.te-mobile-landscape .ne-tab-panel:not(.ne-tab-panel-hidden){column-count:2;box-sizing:border-box;column-gap:8px;padding:4px}#te-panel.te-mobile-landscape .ne-row{break-inside:avoid;page-break-inside:avoid;box-sizing:border-box;align-items:center;gap:4px;width:100%;margin-bottom:4px;display:flex}#te-panel.te-mobile-landscape .ne-row label{font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;min-width:45px;overflow:hidden}#te-panel.te-mobile-landscape .ne-row input[type=range],#te-panel.te-mobile-landscape .ne-row select,#te-panel.te-mobile-landscape .ne-row .ne-btn{flex:1;min-width:0}#te-panel.te-mobile-landscape #ne-container{box-sizing:border-box;grid-area:notes;padding:2px 4px;overflow-y:auto;border-top:none!important;border-left:1px solid var(--border-subtle)!important;z-index:auto!important;border-left-width:1px!important;width:auto!important;height:auto!important;display:block!important;position:static!important;top:auto!important;left:auto!important}#ne-container{box-sizing:border-box;padding:2px 4px;border-top:none!important;height:auto!important;margin-top:0!important;display:block!important}#ne-container .ne-header{font-size:var(--fs-xs);margin-bottom:2px;padding:2px 4px}#ne-container .ne-knob-bar{box-sizing:border-box;flex-flow:wrap;justify-content:flex-start;gap:4px;width:100%;margin-bottom:4px;padding:2px 4px;display:flex}#ne-container .ne-knob-bar .ne-row-knob{gap:1px;width:44px;padding:0}#ne-container .ne-knob-bar .or-knob{width:30px;height:30px}.te-waveform{width:auto!important;max-width:100px!important}}#mobile-tab-bar{background:var(--bg-deep);border-top:2px solid var(--accent);height:60px;z-index:var(--z-toolbar);box-sizing:border-box;justify-content:space-around;align-items:center;padding-top:4px;display:flex;position:fixed;bottom:0;left:0;right:0}#mobile-tab-bar .mtb-btn{color:var(--text-dim);font-size:var(--fs-sm);cursor:pointer;touch-action:manipulation;box-sizing:border-box;background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:4px;display:flex}#mobile-tab-bar .mtb-btn.active{color:var(--accent)}#mobile-tab-bar .mtb-btn:hover{color:var(--text-dim);background:var(--bg-hover)}@media (width>=769px) and (height>=481px){#mobile-tab-bar,#pattern-settings-panel{display:none}}
