.synth-panel{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px}.synth-left{display:flex;flex-direction:row;gap:6px;align-items:stretch}.synth-right{flex:1;min-width:480px;display:flex;flex-direction:column;gap:6px}.synth-eg-row{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:6px}.synth-eg-row .section-body{gap:10px;flex-wrap:nowrap}.section.panel-wide{width:124px;min-width:124px;max-width:124px;overflow:hidden}.section.panel-narrow{width:74px;min-width:74px;max-width:74px;overflow:hidden}.section.panel-wide{padding-left:8px;padding-right:8px}.section.panel-wide .toggle-btn{min-width:23px;padding-left:2px;padding-right:2px}.section.panel-wide .toggle-btn.wave-icon{width:24px;min-width:24px}.section.panel-wide .section-body,.section.panel-narrow .section-body{flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:12px}.section{padding:10px 10px 12px;display:flex;flex-direction:column;gap:8px}.section-title{color:var(--amber);font-size:10px;font-family:var(--font);font-weight:900;text-transform:uppercase;letter-spacing:.3em;text-align:center}.section-body{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.section-title-row{position:relative;display:flex;align-items:center;justify-content:center;min-height:22px}.section-title-row .power-btn{position:absolute;right:0}.section-body.section-off{opacity:.45;transition:opacity .15s}.power-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;font-size:10px;font-family:var(--font);font-weight:700;letter-spacing:.1em;background:var(--bg-input);color:var(--amber-dark);border:1px solid var(--border);border-radius:11px;cursor:pointer;min-width:52px;justify-content:center;transition:color .1s,border-color .1s,box-shadow .1s}.power-btn:hover{color:var(--amber-dim)}.power-btn.on{color:var(--accent);border-color:var(--accent);box-shadow:0 0 6px #78f8ea59}.power-btn-icon{font-size:12px;line-height:1}.knob-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;touch-action:none;-webkit-user-select:none;user-select:none}.knob-midi-dot{position:absolute;top:0;right:2px;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 4px var(--accent);pointer-events:none}.knob-wrap.midi-learnable{outline:1px dashed var(--accent);outline-offset:2px;border-radius:6px}.knob-wrap.midi-learnable .knob-body{cursor:pointer}.knob-wrap.midi-selected{outline-style:solid;animation:midi-learn-blink .7s steps(2,start) infinite}@keyframes midi-learn-blink{to{outline-color:transparent}}.knob-body{width:36px;height:36px;border-radius:50%;position:relative;cursor:ns-resize;touch-action:none;background:radial-gradient(circle at 38% 32%,#383838,#212124);border:2px solid #20292f;box-shadow:0 3px 10px #0009,inset 0 1px #64ebff78}.knob-pointer{position:absolute;width:2px;height:16px;bottom:50%;left:calc(50% - 1px);transform-origin:bottom center;border-radius:2px;background:var(--amber);box-shadow:0 0 5px #e8a02087}.knob-center{position:absolute;width:0px;height:0px;border-radius:50%;background:#1a1008;border:1px solid var(--border);top:50%;left:50%;transform:translate(-50%,-50%)}.knob-label{color:var(--amber-dim);font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-family:var(--font);text-align:center}.knob-value{color:var(--amber);font-size:9px;font-family:var(--font)}.hide-knob-values .knob-value{display:none}.knob-mini .knob-body{width:24px;height:24px;border-width:1.5px;box-shadow:0 2px 6px #0009,inset 0 1px #64ebff78}.knob-mini .knob-pointer{height:10px}.knob-mini .knob-label{font-size:9px}.knob-wrap.knob-label-left{flex-direction:row-reverse;gap:6px}.toggle-wrap{display:flex;flex-direction:column;align-items:center;gap:3px}.toggle-label{color:var(--amber-dim);font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-family:var(--font)}.toggle-group{display:flex;gap:1px;background:var(--bg-input);border:1px solid var(--border);border-radius:4px;padding:2px}.toggle-btn{padding:3px 6px;font-size:10px;font-family:var(--font);font-weight:700;background:transparent;color:var(--amber-dim);border:none;border-radius:3px;cursor:pointer;text-transform:uppercase;min-width:30px;transition:background .1s,color .1s}.toggle-btn.active{background:var(--amber);color:#1a1008}.toggle-btn.wave-icon{color:#ededed;padding:3px 0;display:flex;align-items:center;justify-content:center;width:32px;min-width:32px}.toggle-btn.wave-icon.active{color:#000}.snap-knob-container{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.snap-knob-ticks{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;overflow:visible}.knob-row{display:flex;flex-direction:row;gap:16px;justify-content:center}.synth-controls-row{display:flex;flex-direction:row;gap:6px}.synth-controls-row .section{justify-content:center}.synth-controls-row .section-body{flex-wrap:nowrap;gap:10px}.synth-controls-row .synth-volume-section{margin-left:auto}.tb303-row{display:flex;gap:6px}.tb303-controls{flex:1;display:flex;align-items:center;gap:14px;padding:8px 14px}.tb303-knobs{flex:1;display:flex;justify-content:space-around;gap:8px;max-width:640px}.tb303-volume-section{justify-content:center}.keyboard-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.keyboard-stage{position:relative;margin:0 auto;height:110px}.key-white{position:absolute;top:0;height:108px;border:1px solid #9d9d9d;border-radius:0 0 5px 5px;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px;background:#;background:linear-gradient(180deg,#ccc 10%,#eee);box-shadow:inset 0 -2px 4px #0000001a;pointer-events:auto}.key-white.active{background:linear-gradient(180deg,#5affff66,#a5f4ff)}.key-white-label{font-size:12px;color:#5a5a5a;font-family:var(--font);pointer-events:none}.key-black{position:absolute;top:0;height:66px;z-index:2;border:1px solid #484848;border-bottom:3px solid #000000;border-radius:0 0 4px 4px;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(180deg,#333 75%,#000);box-shadow:inset 1px 0 #000;pointer-events:auto}.key-black.active{background:linear-gradient(180deg,#51f1ff,#10a0a0);box-shadow:0 0 2px #5afaff}.sequencer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;margin-top:6px}.seq-note-panel{display:flex;flex-direction:column;gap:4px}.seq-oct-row{display:flex;align-items:center;gap:4px}.seq-oct-row .seq-btn-group{flex:1}.seq-oct-row .seq-oct-btn{flex:1;min-height:22px;padding:1px 4px}.seq-main{display:flex;flex-direction:column;gap:6px;min-width:0;container-type:inline-size}.seq-bar{display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);gap:10px;align-items:center;padding:5px 8px;background:#00000040;border-top:1px solid var(--border);border-radius:6px}.seq-bar-side,.seq-bar-center{display:flex;gap:4px;align-items:center}.seq-bar-side.end{justify-content:flex-end}@container (max-width: 759px){.seq-bar{grid-template-columns:1fr auto;grid-template-areas:"flags end" "center center";row-gap:6px}.seq-bar-side{grid-area:flags}.seq-bar-center{grid-area:center;justify-content:center;flex-wrap:wrap;row-gap:6px}.seq-bar-side.end{grid-area:end}}.seq-flag-group{padding:2px}.seq-transport-label{font-size:9px;color:var(--amber-dim);letter-spacing:.15em;text-transform:uppercase;margin-right:2px}.seq-pattern-slots{display:flex;gap:3px}.seq-pattern-btn{min-width:24px;min-height:28px;padding:3px 4px;font-size:12px;font-family:var(--font);font-weight:700;background:var(--bg-input);color:var(--amber-dim);border:1px solid var(--border);border-radius:3px;cursor:pointer;letter-spacing:.05em;transition:background .1s,color .1s,border-color .1s}.seq-pattern-btn.active{background:var(--amber);color:#1a1008;border-color:var(--amber)}.seq-pattern-btn:not(.active):hover{border-color:var(--amber-dim);color:var(--amber)}@keyframes seq-pattern-pending-blink{0%,to{background:var(--bg-input);color:var(--amber-dim);border-color:var(--border)}50%{background:var(--amber);color:#1a1008;border-color:var(--amber)}}.seq-pattern-btn.pending{animation:seq-pattern-pending-blink .6s ease-in-out infinite}.seq-pattern-btn:disabled{cursor:default}.seq-pattern-btn:disabled:not(.active){color:var(--amber-dark);border-color:var(--border)}.seq-steps-toggle{display:flex;gap:2px;background:var(--bg-input);border:1px solid var(--border);border-radius:4px;padding:2px}.seq-steps-btn{min-width:30px;min-height:24px;padding:2px 6px;font-size:13px;font-family:var(--font);font-weight:700;background:transparent;color:var(--amber-dim);border:none;border-radius:3px;cursor:pointer;transition:background .1s,color .1s}.seq-steps-btn.active{background:var(--amber);color:#1a1008}.seq-copy-btn,.seq-paste-btn{padding:4px 9px;min-height:28px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:#ffffff0f;color:var(--amber-dim);font-size:10px;font-family:var(--font);font-weight:700;letter-spacing:.06em;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.seq-copy-btn:hover,.seq-paste-btn:hover{background:#ffffff24;color:var(--amber)}.seq-paste-btn.loaded{border-color:#e8a00080;background:#e8a0001a;color:var(--amber)}.seq-step-row{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px}.seq-step{min-height:40px;padding:4px 3px;border-radius:5px;cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#000;border:1px solid var(--border);transition:border-color .1s,background .1s;touch-action:manipulation;-webkit-user-select:none;user-select:none;overflow:hidden}.seq-step:hover{border-color:var(--amber-dim)}.seq-step.beat-start{border-left-color:var(--amber-dim)}.seq-step.off{opacity:.12;cursor:default}.seq-step.current{background:#5affff59;box-shadow:0 0 8px #e8a0204d}.seq-step.selected{border-color:var(--amber);border-width:2px}.seq-step.selected.current{background:#5affff40}.seq-step.rest{opacity:.3}.seq-step.rest.current{opacity:.7}.seq-step.tie .step-note,.step-note{opacity:.45}.step-num{visibility:hidden;font-size:9px;font-family:var(--font);color:#5a4020;letter-spacing:.05em;line-height:1}.step-note{font-size:12px;font-family:var(--font);font-weight:700;color:var(--amber-dim);letter-spacing:.02em;line-height:1}.seq-step.current .step-note{color:var(--amber)}.step-badges{display:flex;gap:2px;line-height:1;height:10px;align-items:center}.badge-accent{font-size:9px;font-family:var(--font);font-weight:700;color:#ff9010;background:#ff901033;padding:0 2px;border-radius:2px}.badge-slide{font-size:16px;line-height:10px;font-family:var(--font);color:#60c0e8;background:#60c0e826;padding:0 2px;border-radius:2px}.badge-tie{font-size:12px;line-height:10px;font-family:var(--font);color:#b890f0;background:#b890f026;padding:0 2px;border-radius:2px}.seq-btn-group{display:flex;gap:2px}.seq-mini-keys{position:relative;flex:1;min-height:52px}.seq-mini-key{position:absolute;top:0;padding:0;cursor:pointer;touch-action:manipulation}.seq-mini-key.white{height:100%;border:1px solid #9d9d9d;border-radius:0 0 3px 3px;background:linear-gradient(180deg,#ccc 10%,#eee)}.seq-mini-key.white:not(.active):hover{background:linear-gradient(180deg,#ddd 10%,#fff)}.seq-mini-key.white.active{background:linear-gradient(180deg,#5affff66,#a5f4ff)}.seq-mini-key.black{z-index:2;height:60%;border:1px solid #484848;border-bottom:2px solid #000000;border-radius:0 0 2px 2px;background:linear-gradient(180deg,#333 75%,#000)}.seq-mini-key.black:not(.active):hover{background:linear-gradient(180deg,#555 75%,#1a1a1a)}.seq-mini-key.black.active{background:linear-gradient(180deg,#51f1ff,#10a0a0);box-shadow:0 0 2px #5afaff}.seq-oct-btn{min-width:26px;min-height:28px;padding:3px 6px;font-size:12px;font-family:var(--font);font-weight:700;background:var(--bg-input);color:var(--amber-dim);border:1px solid var(--border);border-radius:3px;cursor:pointer;transition:background .1s,color .1s,border-color .1s;touch-action:manipulation}.seq-oct-btn.active{background:var(--amber);color:#1a1008;border-color:var(--amber)}.seq-flag-btn{min-width:26px;min-height:28px;padding:3px 6px;font-size:10px;font-family:var(--font);font-weight:700;background:var(--bg-input);color:var(--amber-dim);border:1px solid var(--border);border-radius:3px;cursor:pointer;transition:background .1s,color .1s,border-color .1s;touch-action:manipulation}.seq-flag-btn.active.accent-flag{background:#ff901033;color:#ff9010;border-color:#ff9010}.seq-flag-btn.active.slide-flag{background:#60c0e833;color:#60c0e8;border-color:#60c0e8}.seq-flag-btn.active.tie-flag{background:#b890f033;color:#b890f0;border-color:#b890f0}.seq-flag-btn.active.rest-flag{background:#a0643240;color:var(--amber-dim);border-color:var(--amber-dim)}@media (max-width: 480px){.step-note{font-size:11px}}.bank-switcher{position:relative;flex-shrink:0;display:flex;align-items:center;gap:4px}.bank-mykit{position:relative}.bank-kit-btn,.bank-switcher-btn{display:flex;align-items:center;gap:5px;padding:4px 8px;font-family:var(--font);font-size:11px;font-weight:900;letter-spacing:.15em;color:var(--amber-dim);background:#000;border:1px solid var(--border);border-radius:5px;cursor:pointer;transition:background .1s,border-color .1s;white-space:nowrap}.bank-kit-btn.active,.bank-switcher-btn.active{color:var(--amber);border-color:var(--border-hi);background:#5affff1a}.bank-switcher-arrow{font-size:9px;opacity:.7}.bank-menu-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:200;min-width:210px;background:#161616;border:1px solid var(--border-hi);border-radius:6px;padding:4px 0;box-shadow:0 6px 24px #000000b3}.bank-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 12px;font-family:var(--font);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--amber-dim);background:transparent;border:none;cursor:pointer;text-align:left;transition:background .08s,color .08s}.bank-menu-item:hover{background:#5affff33;color:var(--amber)}.bank-menu-item.active{color:var(--amber-dim);background:#5affff1a}.bank-menu-item.active:hover{color:var(--amber);background:#5affff33}.bank-menu-item-name{flex:1}.bank-menu-lock{font-size:10px;opacity:.45}.bank-menu-delete{font-size:10px;color:#604030;background:transparent;border:none;cursor:pointer;padding:0 2px;line-height:1;opacity:.6;transition:color .1s,opacity .1s}.bank-menu-delete:hover{color:#e05030;opacity:1}.bank-menu-sep{height:1px;background:var(--border);margin:4px 0}.bank-menu-new{color:#5affff99;font-style:italic}.bank-menu-new:hover{color:var(--amber)}.bank-menu-create{padding:6px 10px 8px;display:flex;flex-direction:column;gap:4px}.bank-menu-input{width:100%;padding:4px 6px;font-family:var(--font);font-size:11px;color:var(--amber);background:#0006;border:1px solid var(--border-hi);border-radius:4px;outline:none;box-sizing:border-box}.bank-menu-input:focus{border-color:#e05030}.bank-menu-error{font-size:9px;color:#e05030;letter-spacing:.04em}.bank-menu-create-btns{display:flex;gap:5px;justify-content:flex-end}.bank-menu-ok,.bank-menu-cancel{padding:3px 8px;font-family:var(--font);font-size:10px;font-weight:700;border-radius:4px;cursor:pointer;border:1px solid var(--border)}.bank-menu-ok{color:#e05030;background:#e050301f;border-color:#e0503059}.bank-menu-ok:hover{background:#e0503038}.bank-menu-cancel{color:var(--amber-dim);background:var(--bg-input)}.bank-menu-cancel:hover{border-color:var(--border-hi)}.drum-seq{width:100%}.drum-seq-header-row{display:flex;align-items:center;gap:8px;padding:8px 2px 6px;margin-bottom:4px}.drum-section-label{font-size:8px;font-family:var(--font);font-weight:700;letter-spacing:.2em;color:#6a5030;text-transform:uppercase;margin:6px 0 3px 2px}.drum-loading-inline{font-weight:400;opacity:.6;letter-spacing:.1em}.drum-clear-btn{min-width:36px;min-height:32px;padding:4px 6px;font-family:var(--font);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--amber-dim);background:var(--bg-input);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:border-color .1s,color .1s;flex-shrink:0}.drum-clear-btn:hover{border-color:#a04030;color:#e05030}.drum-listen-btn{display:flex;align-items:center;justify-content:center;min-width:36px;min-height:32px;padding:4px 6px;color:var(--amber-dim);background:var(--bg-input);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:border-color .1s,color .1s,background .1s;flex-shrink:0}.drum-listen-btn:hover{color:var(--amber)}.drum-listen-btn.active{color:var(--amber);border-color:var(--amber);background:#ededed1a}.drum-library-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px;padding:7px 8px;background:#00000040;border-top:1px solid var(--border);border-radius:6px}.drum-lib-btn{position:relative;padding:5px 10px;min-width:42px;font-family:var(--font);font-size:10px;font-weight:900;letter-spacing:.1em;color:var(--amber-dim);background:var(--bg-input);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:border-color .1s,color .1s,background .1s}.drum-lib-btn:hover{border-color:var(--border-hi);color:var(--amber)}.drum-lib-btn.active{color:#fff}.drum-lib-count{position:absolute;top:-4px;right:-4px;font-size:7px;font-family:var(--font);font-weight:700;color:#000;background:var(--amber-dim);padding:0 3px;border-radius:3px;line-height:12px;min-width:12px;text-align:center}.drum-lib-empty{border-style:dashed;border-color:#e8a02033;color:#5a4020;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.drum-lib-empty:hover{border-color:#e8a02073;color:var(--amber-dim)}.drum-bottom-row{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;margin-bottom:10px}.drum-bottom-row .drum-param-editor{flex:1;margin-bottom:0}.drum-fx-group{display:flex;gap:8px;margin-left:auto}.drum-fx-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px 14px 10px;background:#0000004d;border-top:1px solid var(--border);border-radius:6px}.drum-param-editor{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding:8px 12px 10px;background:#0000004d;border-top:1px solid var(--border);border-radius:6px}.drum-param-knobs{display:flex;align-items:flex-start;gap:4px}.drum-param-knobs-level{display:flex;gap:12px;align-items:flex-start}.drum-param-knobs-center{flex:1;display:flex;gap:12px;align-items:flex-start;justify-content:center}.drum-param-knobs-filter{display:flex;gap:12px;align-items:flex-start;padding-left:8px}.drum-transport{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px;padding:6px 8px;background:#00000040;border-top:1px solid var(--border);border-radius:6px}.drum-transport-label{font-size:9px;color:var(--amber-dim);letter-spacing:.15em;text-transform:uppercase;margin-right:2px}.drum-pattern-slots{display:flex;gap:3px}.drum-pattern-btn{min-width:28px;min-height:28px;padding:3px 6px;font-size:13px;font-family:var(--font);font-weight:700;background:var(--bg-input);color:var(--amber-dim);border:1px solid var(--border);border-radius:3px;cursor:pointer;letter-spacing:.05em;transition:background .1s,color .1s,border-color .1s}.drum-pattern-btn.active{background:var(--amber);color:#1a1008;border-color:var(--amber)}.drum-pattern-btn:not(.active):hover{border-color:var(--amber-dim);color:var(--amber)}@keyframes drum-pattern-pending-blink{0%,to{background:var(--bg-input);color:var(--amber-dim);border-color:var(--border)}50%{background:var(--amber);color:#1a1008;border-color:var(--amber)}}.drum-pattern-btn.pending{animation:drum-pattern-pending-blink .6s ease-in-out infinite}.drum-pattern-btn:disabled{cursor:default}.drum-pattern-btn:disabled:not(.active){color:var(--amber-dark);border-color:var(--border)}.drum-copy-btn,.drum-paste-btn{padding:4px 9px;min-height:28px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:#ffffff0f;color:var(--amber-dim);font-size:10px;font-family:var(--font);font-weight:700;letter-spacing:.06em;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.drum-copy-btn:hover,.drum-paste-btn:hover{background:#ffffff24;color:var(--amber)}.drum-paste-btn.loaded{border-color:#e8a00080;background:#e8a0001a;color:var(--amber)}.drum-steps-toggle{display:flex;gap:2px;background:var(--bg-input);border:1px solid var(--border);border-radius:4px;padding:2px}.drum-steps-btn{min-width:30px;min-height:24px;padding:2px 6px;font-size:13px;font-family:var(--font);font-weight:700;background:transparent;color:var(--amber-dim);border:none;border-radius:3px;cursor:pointer;transition:background .1s,color .1s}.drum-steps-btn.active{background:var(--amber);color:#1a1008}.drum-step-row{display:flex;gap:4px}.drum-step{flex:1;min-width:0;min-height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#0e0a06;border:1px solid var(--border);border-radius:5px;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:background .07s,border-color .07s;padding:4px 2px}.drum-step.beat-start{margin-left:6px}.drum-step.off{opacity:.12;cursor:default}.drum-step:hover{border-color:var(--border-hi);background:#140f08}.drum-step.current{background:#5affff40;border-color:#ffffff2e}.drum-step-led{display:block;width:13px;height:13px;border-radius:50%;background:#1a1208;border:1px solid #3a2a10;flex-shrink:0;transition:background .05s,box-shadow .05s}.drum-step.on .drum-step-led{border-color:transparent}.drum-step-num{display:none;font-size:9px;font-family:var(--font);color:#4a3820;line-height:1;letter-spacing:.02em}.drum-step.on .drum-step-num{color:#8a6840}.drum-step.current .drum-step-num{color:#9a9870}.drum-step-dots{display:flex;gap:3px;justify-content:center;min-height:6px;margin-bottom:-6px}.drum-step-dot{display:block;width:4px;height:4px;border-radius:50%;opacity:.75}@media (max-width: 520px){.drum-step{min-height:44px}.drum-step-led{width:10px;height:10px}.drum-lib-btn{min-width:36px;padding:4px 7px;font-size:9px}}.mobile-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:18px;padding:32px;overflow-y:auto;background:var(--bg-dark);font-family:var(--font);text-align:center}.mobile-gate-title{color:var(--accent);font-size:28px;font-weight:700;letter-spacing:6px}.mobile-gate-image{width:100%;max-width:480px;height:auto;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0009}.mobile-gate-message{max-width:320px;margin:0;color:var(--amber);font-size:16px;line-height:1.5}.help-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000b3}.help-modal{display:flex;flex-direction:column;width:min(640px,100%);max-height:100%;font-family:var(--font);color:var(--amber-dim);box-shadow:0 12px 40px #0009}.help-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.help-title{color:var(--amber);font-size:13px;font-weight:700;letter-spacing:.18em}.help-body{overflow-y:auto;padding:4px 18px 18px;font-size:12px;line-height:1.6}.help-body h3{margin:16px 0 6px;color:var(--accent);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.help-body p,.help-body ol{margin:0 0 8px}.help-body ol{padding-left:18px}.help-body b{color:var(--amber)}.help-keys{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.help-key{display:flex;flex-direction:column;align-items:center;width:30px;padding:4px 0 3px;background:var(--bg-input);border:1px solid var(--border);border-radius:4px}.help-key.sharp{background:#1a1a1a}.help-key kbd{color:var(--amber);font-family:var(--font);font-size:12px;font-weight:700}.help-key small{color:var(--amber-dark);font-size:9px}.app-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;height:24px;padding:0 14px;background:var(--bg-dark);border-top:1px solid #262626;font-family:var(--font);font-size:10px;letter-spacing:.06em;color:var(--amber-dark)}.app-footer-note{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app-footer-links{display:flex;align-items:center;gap:16px;flex-shrink:0}.app-footer-link{padding:0;background:none;border:none;font:inherit;letter-spacing:inherit;text-transform:uppercase;color:var(--amber-dim);text-decoration:none;cursor:pointer}.app-footer-link:hover{color:var(--accent)}.midi-menu{position:relative}.midi-menu-btn{gap:6px}.midi-menu-btn.active{color:var(--amber);border-color:var(--amber-dim)}.midi-menu-btn.learning{color:var(--accent);border-color:var(--accent);box-shadow:0 0 8px #78f8ea40}.midi-dot{width:7px;height:7px;border-radius:50%;background:var(--amber-dark)}.midi-dot-idle{background:#e8a020}.midi-dot-on{background:#50d070;box-shadow:0 0 5px #50d070}.midi-menu-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:300;width:260px;display:flex;flex-direction:column;gap:6px;padding:10px;background:#161616;border:1px solid var(--border-hi);border-radius:6px;box-shadow:0 8px 24px #0009;font-family:var(--font);cursor:default}.midi-section-title{margin-top:4px;font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--amber-dark)}.midi-note{margin:0;font-size:10px;line-height:1.4;color:var(--amber-dim)}.midi-learned{color:var(--accent)}.midi-error{color:#e05030}.midi-wide-btn{justify-content:center;width:100%;padding:6px 10px}.midi-wide-btn.active{color:var(--accent);border-color:var(--accent)}.midi-device-row{display:flex;align-items:center;gap:8px}.midi-device-info{flex:1;min-width:0;display:flex;flex-direction:column}.midi-device-name{font-size:11px;color:var(--amber);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.midi-device-meta{font-size:9px;color:var(--amber-dark)}.midi-small-btn{padding:2px 6px;font-size:9px}.midi-actions{display:flex;flex-wrap:wrap;gap:4px}.midi-action-chip{position:relative;padding:3px 7px;font-family:var(--font);font-size:9px;letter-spacing:.05em;color:var(--amber-dim);background:var(--bg-input);border:1px dashed var(--accent);border-radius:4px;cursor:pointer}.midi-action-chip.mapped:after{content:"";position:absolute;top:-3px;right:-3px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.midi-action-chip.selected{color:var(--bg-dark);background:var(--accent);border-style:solid}.midi-link-btn{align-self:flex-start;margin-top:2px;padding:0;font-family:var(--font);font-size:9px;color:var(--amber-dark);background:none;border:none;text-decoration:underline;cursor:pointer}.settings-menu{position:relative}.settings-btn{padding-left:8px;padding-right:8px}.settings-btn.active{color:var(--amber);border-color:var(--amber-dim)}.settings-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:300;width:240px;display:flex;flex-direction:column;gap:8px;padding:10px;background:#161616;border:1px solid var(--border-hi);border-radius:6px;box-shadow:0 8px 24px #0009;font-family:var(--font);cursor:default}.settings-section-title{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--amber-dark)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.settings-row-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-dim)}.demo-menu{position:relative}.demo-btn{gap:5px}.demo-btn.active{color:var(--amber);border-color:var(--amber-dim)}.demo-menu-arrow{font-size:9px;opacity:.7}.demo-menu-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:300;min-width:210px;padding:4px 0;background:#161616;border:1px solid var(--border-hi);border-radius:6px;box-shadow:0 8px 24px #0009}.demo-menu-item{display:block;width:100%;box-sizing:border-box;padding:7px 12px;font-family:var(--font);font-size:11px;text-align:left;white-space:nowrap;color:var(--amber-dim);background:transparent;border:none;cursor:pointer;outline:none;transition:background .08s,color .08s}.demo-menu-item:hover,.demo-menu-item:focus-visible{background:#5affff33;color:var(--amber)}.preset-menu{position:relative;flex:1;min-width:120px;max-width:260px;display:flex}.preset-menu-btn{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 8px;font-size:11px;font-family:var(--font);background:var(--bg-input);color:var(--amber-dim);border:1px solid var(--border);border-radius:4px;cursor:pointer;outline:none;text-align:left}.preset-menu-btn:hover,.preset-menu-btn:focus{border-color:var(--amber-dim)}.preset-menu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-menu-arrow{font-size:9px;opacity:.7}.preset-menu-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:200;min-width:210px;max-height:340px;overflow-y:auto;background:#161616;border:1px solid var(--border-hi);border-radius:6px;padding:4px 0;box-shadow:0 6px 24px #000000b3}.preset-menu-empty{padding:7px 12px;font-family:var(--font);font-size:10px;color:var(--amber-dark);font-style:italic}.preset-menu-item{display:flex;align-items:center;gap:6px;width:100%;box-sizing:border-box;padding:7px 12px;font-family:var(--font);font-size:11px;color:var(--amber-dim);cursor:pointer;outline:none;transition:background .08s,color .08s}.preset-menu-item:hover,.preset-menu-item:focus-visible{background:#5affff33;color:var(--amber)}.preset-menu-item.active{background:#5affff1a}.preset-menu-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-menu-delete{font-size:10px;color:var(--amber-dark);background:transparent;border:none;cursor:pointer;padding:0 2px;line-height:1;opacity:.8;transition:color .1s,opacity .1s}.preset-menu-delete:hover{color:#e05030;opacity:1}.preset-menu-confirm,.preset-menu-confirm:hover{cursor:default;color:#e05030;background:#e0503014}.preset-menu-yes,.preset-menu-no{padding:2px 7px;font-family:var(--font);font-size:10px;font-weight:700;border-radius:4px;cursor:pointer;border:1px solid var(--border)}.preset-menu-yes{color:#e05030;background:#e050301f;border-color:#e0503059}.preset-menu-yes:hover{background:#e0503038}.preset-menu-no{color:var(--amber-dim);background:var(--bg-input)}.preset-menu-no:hover{border-color:var(--amber-dim)}.preset-menu-sep{height:1px;background:var(--border);margin:4px 0}.preset-menu-footer{display:flex;gap:5px;padding:4px 10px}.preset-menu-action{flex:1;padding:4px 8px;font-size:10px;font-family:var(--font);font-weight:700;letter-spacing:.1em;background:var(--bg-input);color:var(--amber-dim);border:1px solid var(--border);border-radius:4px;cursor:pointer;white-space:nowrap}.preset-menu-action:hover:not(:disabled){border-color:var(--amber-dim);color:var(--amber)}.preset-menu-action:disabled{opacity:.35;cursor:default}.fx-sidebar{flex:1 1 auto;display:flex;flex-direction:column;gap:6px;padding:8px 6px;background-color:#353535;border-top:2px solid var(--border);border-radius:10px;overflow-y:auto;min-height:0}.fx-sidebar-title{font-size:10px;font-family:var(--font);font-weight:700;letter-spacing:.2em;color:var(--amber-dim);padding:0 6px 2px}.fx-masonry{flex-shrink:0;column-width:184px;column-gap:6px}.fx-masonry>.fx-section{break-inside:avoid;margin-bottom:6px}.fx-section .section-body{flex-direction:column;align-items:center;flex-wrap:nowrap;gap:10px}.fx-section .knob-row{gap:18px}.fx-users{display:flex;gap:4px;justify-content:center}.fx-user{font-size:9px;font-family:var(--font);letter-spacing:.08em;padding:1px 5px;border-radius:8px;border:1px solid var(--border);color:var(--amber-dark)}.fx-user.on{color:var(--accent);border-color:var(--accent)}.rack-fx-panel{flex:0 0 auto;align-self:flex-start;display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px}.rack-fx-buttons{display:flex;flex-direction:column;gap:4px}.rack-fx-sends{display:flex;flex-direction:column;align-items:center;gap:8px}.rack-fx-btn{width:56px;padding:3px 0;font-size:10px;font-family:var(--font);font-weight:700;letter-spacing:.1em;background:var(--bg-input);color:var(--amber-dark);border:1px solid var(--border);border-radius:11px;cursor:pointer;transition:color .1s,border-color .1s,box-shadow .1s}.rack-fx-btn:hover{color:var(--amber-dim)}.rack-fx-btn.on{color:var(--accent);border-color:var(--accent);box-shadow:0 0 6px #78f8ea59}.song-panel{flex:0 0 auto;max-height:50%;display:flex;flex-direction:column;gap:6px;padding:8px 6px;background-color:#353535;border-top:2px solid var(--border);border-radius:10px;overflow-y:auto;min-height:0}.song-panel-header{display:flex;align-items:center;justify-content:space-between;padding:0 6px 2px}.song-panel-title{font-size:10px;font-family:var(--font);font-weight:700;letter-spacing:.2em;color:var(--amber-dim)}.song-notice{padding:4px 8px;font-size:10px;font-family:var(--font);color:var(--amber);border:1px solid var(--amber-dim);border-radius:6px}.song-parts{display:flex;flex-direction:column;gap:6px;transition:opacity .15s}.song-parts.off{opacity:.45}.song-part{position:relative;display:flex;flex-direction:column;gap:6px;padding:5px;background-color:#2c2c2c;border:1px solid var(--border);border-radius:8px}.song-part.playing{border-color:var(--accent);box-shadow:0 0 6px #78f8ea40}.song-part.dragging{opacity:.4}.song-part.drop-before:before,.song-part.drop-after:after{content:"";position:absolute;left:4px;right:4px;height:2px;background:var(--amber);border-radius:1px}.song-part.drop-before:before{top:-5px}.song-part.drop-after:after{bottom:-5px}.song-part-header{display:flex;flex-wrap:wrap;align-items:center;gap:3px;min-height:22px;cursor:pointer}.song-part-grip{font-size:10px;letter-spacing:-2px;color:var(--amber-dark);cursor:grab;padding-right:2px}.song-part-name,.song-part-input{flex:1 1 64px;min-width:0;font-size:10px;font-family:var(--font);font-weight:700;letter-spacing:.08em;color:var(--amber-dim)}.song-part-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.song-part.open .song-part-name{color:var(--amber)}.song-part.playing .song-part-name,.song-part.playing .song-repeats-value{color:var(--accent)}.song-part-input{padding:1px 4px;background:var(--bg-input);color:var(--amber);border:1px solid var(--amber);border-radius:3px;outline:none}.song-rename{visibility:hidden}.song-part-header:hover .song-rename,.song-rename:focus-visible{visibility:visible}.song-part-actions{display:inline-flex;align-items:center;gap:3px;margin-left:auto;cursor:default}.song-part-actions .song-repeats{margin:0 2px}.song-racks{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));align-items:start;gap:6px}.song-rack{display:flex;flex-direction:column;gap:4px;padding:8px;background-color:var(--bg-panel);border-top:1px solid var(--border);border-radius:6px}.song-rack-label{font-size:9px;font-family:var(--font);letter-spacing:.12em;color:var(--amber-dim)}.song-chain{display:flex;flex-wrap:wrap;gap:3px}.song-chip,.song-btn,.song-icon-btn,.song-letter{font-family:var(--font);font-weight:700;background:var(--bg-input);color:var(--amber-dim);border:1px solid var(--border);cursor:pointer;transition:color .1s,border-color .1s,box-shadow .1s}.song-chip{display:inline-flex;align-items:baseline;gap:2px;min-height:22px;padding:2px 6px;font-size:11px;border-radius:11px}.song-chip-count{font-size:9px;font-weight:400;color:var(--amber-dark)}.song-chip:hover,.song-btn:not(:disabled):hover,.song-icon-btn:not(:disabled):hover,.song-letter:hover{color:var(--amber)}.song-chip.selected{border-color:var(--amber);color:var(--amber)}.song-chip.playing{color:var(--accent);border-color:var(--accent);box-shadow:0 0 6px #78f8ea59}.song-chip.playing .song-chip-count{color:var(--accent)}.song-add{color:var(--amber-dark)}.song-editor{display:flex;flex-direction:column;gap:4px;padding:5px;border:1px solid var(--border);border-radius:6px}.song-letters{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.song-letter{padding:2px 0;font-size:11px;border-radius:3px}.song-letter.active{background:var(--amber);color:#1a1008;border-color:var(--amber)}.song-editor-row{display:flex;align-items:center;gap:3px}.song-btn{min-width:20px;height:20px;padding:0 4px;font-size:10px;border-radius:3px}.song-icon-btn{width:18px;height:18px;padding:0;font-size:10px;line-height:1;border-radius:3px;flex:none}.song-btn:disabled,.song-icon-btn:disabled{color:var(--amber-dark);opacity:.5;cursor:default}.song-repeats{display:inline-flex;align-items:center;gap:3px;margin:0 auto}.song-repeats-value{min-width:26px;text-align:center;font-size:11px;font-family:var(--font);font-weight:700;color:var(--amber)}.rack-mute-solo{display:flex;gap:3px;flex-shrink:0}.rack-ms-btn{width:18px;height:18px;padding:0;font-size:10px;font-family:var(--font);font-weight:700;line-height:1;background:var(--bg-input);color:var(--amber-dark);border:1px solid var(--border);border-radius:3px;cursor:pointer;transition:color .1s,border-color .1s,background .1s,box-shadow .1s}.rack-ms-btn:hover{color:var(--amber-dim)}.rack-ms-btn.mute.on{color:var(--bg-input);background:#e8a020;border-color:#e8a020}.rack-ms-btn.solo.on{color:var(--accent);border-color:var(--accent);box-shadow:0 0 6px #78f8ea59}.rack.silenced .rack-title,.rack.silenced .rack-subtitle{opacity:.4}:root{--amber: #ededed;--amber-dim: #b1b1b1;--amber-dark: #6e6e6e;--bg-dark: #000000;--bg-mid: #353535;--bg-panel: #00000048;--bg-input: #000000;--border: #5a5a5a;--border-hi: #5a5a5a;--accent: #78f8ea;--font: monospace}*,*:before,*:after{box-sizing:border-box}body{margin:0;overflow:hidden;background:var(--bg-dark)}::-webkit-scrollbar{width:4px;height:4px;background:var(--bg-input)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.panel-block{background-color:var(--bg-panel);border-top:1px solid var(--border);border-radius:10px}.panel{background-color:#353535;border-top:2px solid var(--border);border-radius:10px}.app-root{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg-dark);font-family:var(--font);overflow:hidden}.tab-hidden{display:none}.main-layout{flex:1;display:flex;flex-direction:row;gap:8px;padding:8px;overflow:hidden;min-height:0}.side-column{flex:1 1 196px;min-width:196px;display:flex;flex-direction:column;gap:8px;min-height:0}.rack-column{flex:0 1 1080px;max-width:1080px;min-width:0;display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:0}.rack{flex-shrink:0;padding:0 10px 10px}.rack-body{display:flex;gap:6px}.rack-main{flex:1;min-width:0}.rack-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 2px 6px;min-height:34px}.rack-title{font-size:12px;font-family:var(--font);font-weight:900;letter-spacing:.3em;color:var(--amber);flex-shrink:0}.rack-subtitle{font-size:9px;font-family:var(--font);letter-spacing:.2em;color:var(--amber-dim);text-transform:uppercase;white-space:nowrap}.rack-header-spacer{flex:1}.preset-bar-center{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;margin-left:16px}.master-overlay{position:fixed;top:0;right:0;height:100%;width:340px;background:var(--bg-mid);border-left:2px solid var(--accent);z-index:100;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s ease;overflow-y:auto}.master-overlay.open{transform:translate(0)}.master-overlay-top{display:flex;justify-content:flex-end;padding:10px 10px 0;flex-shrink:0}.master-toggle-btn.active{background:#78f8ea26;color:var(--accent);border-color:var(--accent);box-shadow:0 0 8px #78f8ea40}.app-header{display:none;text-align:center;margin-bottom:8px;position:relative;padding:0 4px}.app-header-title{font-size:24px;font-weight:900;color:var(--amber);letter-spacing:.3em;text-shadow:0 0 18px rgba(232,160,32,.33)}.app-header-sub{font-size:11px;color:var(--amber-dim);letter-spacing:.25em;text-transform:uppercase}.session-toolbar{position:absolute;top:50%;right:4px;transform:translateY(-50%);display:flex;gap:4px}.session-btn{padding:4px 10px;font-size:10px;font-family:var(--font);font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--bg-input);color:var(--amber-dim);border:1px solid var(--border);border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;transition:background .1s,color .1s,border-color .1s}.session-btn:hover{border-color:var(--amber-dim);color:var(--amber)}.global-transport{flex-shrink:0;display:flex;align-items:center;padding:8px 14px;margin:8px 8px 0;background:var(--bg-mid)}.transport-left{display:flex;align-items:center;gap:6px;flex:1;justify-content:flex-start}.app-logo{height:24px;width:auto;margin-right:10px;flex-shrink:0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.transport-center{display:flex;align-items:center;gap:10px;flex:1;justify-content:center}.transport-right{display:flex;align-items:center;gap:6px;flex:1;justify-content:flex-end}.transport-label{font-size:9px;font-family:var(--font);color:var(--amber-dim);letter-spacing:.2em;text-transform:uppercase;margin-right:4px}.transport-shuffle .knob-label{font-family:var(--font);color:var(--amber-dim);letter-spacing:.2em;text-transform:uppercase}.bpm-control{display:flex;flex-direction:row;align-items:center;gap:0;border:1px solid var(--border);border-radius:4px;overflow:hidden}.bpm-label{font-size:9px;font-family:var(--font);color:var(--amber-dim);letter-spacing:.2em;text-transform:uppercase;padding:0 8px;background:var(--bg-input);height:32px;display:flex;align-items:center;border-right:1px solid var(--border);white-space:nowrap}.bpm-input{width:52px;height:32px;font-size:15px;font-family:var(--font);font-weight:700;text-align:center;background:var(--bg-input);color:var(--amber);border:none;outline:none;-moz-appearance:textfield}.bpm-input::-webkit-inner-spin-button,.bpm-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bpm-steppers{display:flex;flex-direction:column;border-left:1px solid var(--border)}.bpm-step-btn{width:22px;height:16px;font-size:11px;line-height:1;font-family:var(--font);background:var(--bg-input);color:var(--amber-dim);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s;flex-shrink:0}.bpm-step-btn:first-child{border-bottom:1px solid var(--border)}.bpm-step-btn:hover{background:#e8a0201f;color:var(--amber)}.transport-play-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:34px;padding:0;font-size:14px;font-family:var(--font);font-weight:700;letter-spacing:.1em;background:var(--bg-input);color:var(--amber-dim);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:background .12s,color .12s,border-color .12s,box-shadow .12s}.keys-toggle-btn{padding:1px 8px;font-size:14px;font-family:var(--font);background:var(--bg-input);color:var(--amber-dim);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:background .12s,color .12s,border-color .12s,box-shadow .12s}.keys-toggle-btn.active{background:#e8a0202e;color:var(--amber);border-color:var(--amber);box-shadow:0 0 8px #e8a0204d}.keys-toggle-btn:not(.active):hover{border-color:var(--amber-dim);color:var(--amber)}.transport-play-btn.playing{background:#5affff40;color:var(--amber);border-color:var(--amber);box-shadow:0 0 12px #5affff59}.transport-play-btn:not(.playing):hover{border-color:var(--amber-dim);color:var(--amber)}.preset-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:7px 12px;margin-bottom:8px}.preset-bar-label{font-size:9px;font-family:var(--font);color:var(--amber-dim);letter-spacing:.2em;text-transform:uppercase;margin-right:2px;white-space:nowrap}.preset-select{flex:1;min-width:120px;max-width:260px;padding:4px 8px;font-size:11px;font-family:var(--font);background:var(--bg-input);color:var(--amber-dim);border:1px solid var(--border);border-radius:4px;cursor:pointer;outline:none}.preset-select:focus{border-color:var(--amber-dim)}.preset-select option{background:var(--bg-input);color:var(--amber-dim)}.preset-btn{padding:4px 10px;font-size:10px;font-family:var(--font);font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--bg-input);color:var(--amber-dim);border:1px solid var(--border);border-radius:4px;cursor:pointer;white-space:nowrap;transition:background .1s,color .1s,border-color .1s}.preset-btn:hover:not(:disabled){border-color:var(--amber-dim);color:var(--amber)}.preset-btn:disabled{opacity:.35;cursor:default}.preset-btn-cancel{color:#c04040;border-color:#602020}.preset-btn-cancel:hover:not(:disabled){color:#ff6060;border-color:#c04040}.preset-save-area{display:flex;align-items:center;gap:5px;margin-left:auto;flex-wrap:wrap}.preset-name-input{padding:4px 8px;font-size:11px;font-family:var(--font);background:var(--bg-input);color:var(--amber);border:1px solid var(--amber-dim);border-radius:4px;outline:none;width:160px}.preset-name-input::placeholder{color:#5a4020}.preset-name-input:focus{border-color:var(--amber);box-shadow:0 0 6px #e8a0204d}.preset-error{font-size:10px;font-family:var(--font);color:#ff6060;white-space:nowrap}.keyboard-preset-bar{display:flex;align-items:center;gap:6px;margin-bottom:6px;padding:0 2px}.keyboard-preset-label{font-size:9px;font-family:var(--font);color:var(--amber-dim);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}.keyboard-preset-select{padding:3px 7px;font-size:11px;font-family:var(--font);background:var(--bg-input);color:var(--amber-dim);border:1px solid var(--border);border-radius:4px;cursor:pointer;outline:none}.keyboard-preset-select:focus{border-color:var(--amber-dim)}.keyboard-preset-select option{background:var(--bg-input);color:var(--amber-dim)}.app-keyboard-strip{flex-shrink:0;background:var(--bg-mid);border-top:2px solid var(--border);padding:8px 6px 10px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.master-panel{display:flex;flex-direction:column;gap:10px;padding:10px;overflow-y:auto;flex:1}.master-volume-row{display:flex;align-items:center;gap:16px}.eq-bands{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.eq-band{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;background:#00000040;border:1px solid var(--border);border-radius:6px}.eq-band-name{font-size:8px;font-family:var(--font);font-weight:700;letter-spacing:.1em;color:var(--amber-dim);text-transform:uppercase;margin-bottom:2px}.fx-controls-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px}.toggle-stack{display:flex;flex-direction:column;gap:6px}.gr-meter-wrap{display:flex;flex-direction:column;gap:3px;min-width:120px}.gr-meter-label{font-size:8px;font-family:var(--font);font-weight:700;letter-spacing:.15em;color:var(--amber-dim);text-transform:uppercase}.gr-meter-track{height:10px;background:var(--bg-input);border:1px solid var(--border);border-radius:3px;overflow:hidden}.gr-meter-fill{height:100%;background:linear-gradient(90deg,#e8a020,#e84020);border-radius:2px;transition:width 60ms linear}.record-btn{padding:4px 10px;font-size:10px;font-family:var(--font);font-weight:700;letter-spacing:.08em;background:var(--bg-input);color:#f55;border:1px solid #ff5555;border-radius:4px;cursor:pointer;white-space:nowrap;transition:background .12s,box-shadow .12s}.record-btn:hover{background:#ff55551f;box-shadow:0 0 6px #ff555559}.record-btn.recording{background:#f553;color:#f77;border-color:#f77;animation:rec-pulse 1.2s ease-in-out infinite}@keyframes rec-pulse{0%,to{box-shadow:0 0 4px #f556}50%{box-shadow:0 0 14px #ff5555d9}}.transport-playback-banner{display:flex;align-items:center;gap:12px;padding:0 14px;width:100%}.playback-badge{font-size:10px;font-family:var(--font);font-weight:700;letter-spacing:.18em;color:#78f8ea;text-transform:uppercase;white-space:nowrap}.playback-badge.overdub{color:#f77;animation:rec-pulse 1.2s ease-in-out infinite}.playback-time{font-size:11px;font-family:var(--font);color:var(--amber-dim);letter-spacing:.05em;min-width:70px}.record-btn-overdub{margin-left:auto}.main-layout.playback-active{pointer-events:none;opacity:.6;transition:opacity .3s}.recording-result-bar{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:5px 12px;border-radius:0;border-width:1px 0 0 0}.recording-result-label{font-size:9px;font-family:var(--font);color:#f77;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}.recording-audio-player{flex:1;min-width:0;height:26px;accent-color:var(--accent)}.gr-meter-value{font-size:9px;font-family:var(--font);color:var(--amber);letter-spacing:.05em}.playback-seek-row{display:flex;flex-direction:column;gap:1px;align-items:flex-start}.playback-seek-slider{width:180px;accent-color:#ff4444;cursor:pointer;height:4px}
