.mini-editor{--face:#232321;--ink:#f1e9d9;--hardware-accent:#efc17d;--mini-wood:#6b3923;border:10px solid var(--mini-wood);color:var(--ink);background:linear-gradient(100deg,#30302c,#191a18);border-radius:8px;padding:10px 8px;box-shadow:inset 0 0 0 2px #aa7951,0 3px 10px #00000059}.mini-editor-controls{gap:8px}.mini-section,.mini-contour{color:#f1e9d9;background:#1e201e;border:1px solid #777469;border-radius:2px;min-width:0;padding:7px}.mini-section>summary,.mini-contour>summary{color:#e8dfcc;font:700 12px var(--mono);letter-spacing:.08em;cursor:pointer;padding:5px 2px}.mini-section[open]>summary{border-bottom:1px solid #716d61;margin-bottom:6px;padding-bottom:6px}.mini-hardware-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:8px;display:grid}.mini-filter{grid-column:span 2}.mini-filter-contours{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.mini-knobs{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:7px 4px;padding:4px 0;display:grid}.mini-editor .hardware-knob-label{white-space:normal;color:#f1e9d9;max-width:110px;font-size:10px;line-height:1.3;overflow:visible}.mini-editor .hardware-knob-value{color:#efc17d;font-size:11px}.mini-editor .rotary-dial{width:66px;box-shadow:none;background:repeating-conic-gradient(from -136deg,#e3e0d1 0deg 2deg,#0000 2deg 27deg);border:0}.mini-editor .rotary-dial:before{content:"";background:#1e201e;border-radius:50%;position:absolute;inset:5px}.mini-editor .dial-face{background:repeating-conic-gradient(#131614 0deg 12deg,#343935 12deg 18deg,#090b0a 18deg 24deg);border:1px solid #090b0a;width:72%;box-shadow:2px 4px 5px #080a08,inset 0 1px 2px #737b72}.mini-editor .dial-face:before{content:"";background:conic-gradient(from 25deg,#d4e1de,#6b7977 55deg,#e4eeeb 100deg,#83918e 160deg,#dce6e2 210deg,#616e6b 280deg,#d4e1de);border:1px solid #929f9b;border-radius:50%;position:absolute;inset:16%;box-shadow:inset 0 0 3px #c1ceca}.mini-editor .dial-pointer{background:0 0}.mini-editor .dial-pointer:after{background:#f7f4e3;border-radius:1px;width:3px;height:19%;top:-5%;left:calc(50% - 1.5px);box-shadow:0 0 2px #111}.mini-oscillator-dials{grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,1fr);align-items:center;gap:2px;display:grid}.mini-editor .mini-selector .rotary-dial{background:0 0;width:92px;max-width:100%}.mini-editor .mini-selector .rotary-dial:before{display:none}.mini-editor .mini-selector .dial-face{width:51%}.mini-selector{min-width:0}.mini-selector .hardware-knob{grid-template-columns:minmax(0,1fr);width:100%}.mini-selector-scale{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.mini-detent{color:#d6dacb}.mini-detent line,.mini-detent path{fill:none;stroke:currentColor;stroke-width:1.6px}.mini-detent text{fill:currentColor;font:8px var(--mono);text-anchor:middle;dominant-baseline:middle}.mini-detent--active{color:#ffca83}.mini-selector .hardware-knob-value{text-align:center;max-width:100%;font-size:10px}.mini-choices{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;padding:8px 0;display:grid}.mini-choice,.mini-patch-controls label{color:#e8dfcc;min-width:0;font:10px var(--mono);gap:5px;display:grid}.mini-choice select,.mini-patch-controls select{color:#f1e9d9;width:100%;min-width:0;min-height:30px;font:11px var(--mono);background:#181a18;border:1px solid #858173;border-radius:3px}.mini-switches{flex-wrap:wrap;gap:4px 7px;padding:4px 0;display:flex}.mini-switch{--rocker-light:#f5a14c;--rocker-dark:#d94412;color:#f2e9db;min-height:34px;font:10px var(--mono);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;justify-content:flex-start;align-items:center;gap:5px;padding:3px;display:inline-flex}.mini-switch--aqua{--rocker-light:#c9eeee;--rocker-dark:#649b9f}.mini-switch i{background:linear-gradient(90deg, var(--rocker-light) 0 32%, var(--rocker-dark) 36% 79%, var(--rocker-light) 100%);clip-path:polygon(0 0,87% 10%,100% 22%,100% 88%,88% 100%,0 100%);border:2px solid #090b09;border-radius:1px;flex:0 0 37px;height:24px;box-shadow:1px 2px 3px #060906,inset 2px 0 2px #e0eee74a}.mini-switch--on i{background:linear-gradient(90deg, var(--rocker-dark) 0 22%, var(--rocker-light) 27% 80%, var(--rocker-dark) 100%);clip-path:polygon(0 12%,12% 0,100% 0,100% 100%,12% 90%,0 78%)}.mini-switch:hover{border-color:#a7b0a1}.mini-switch b{color:#b4baad;min-width:22px;font:9px var(--mono)}.mini-switch--on b{color:#ffd3a1}.mini-action{color:#f1d0a0;min-height:32px;font:10px var(--mono);cursor:pointer;background:#37342b;border:1px solid #a8906e;border-radius:3px;justify-content:center;align-items:center;gap:5px;padding:7px;display:inline-flex}.mini-action:disabled{opacity:.4;cursor:default}.mini-action:hover:not(:disabled){background:#504432;border-color:#efc17d}.mini-oscillator{border-bottom:1px solid #68695d;padding:4px 0}.mini-oscillator>strong{color:#b4c5b4;font:11px var(--mono)}.mini-contour{background:#1e201e;margin-top:6px}.mini-hint{color:#c2c5b7;font:11px var(--mono);margin:6px 0;line-height:1.45}.mini-error{color:#ffd2c0;font:12px var(--mono)}.mini-notice{color:#cfe3bc;font:11px var(--mono)}.mini-library-toolbar,.mini-library-pages{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mini-sound-selector{border-bottom:1px solid #5b4a33;padding:6px 0 8px}.mini-sound-selector .sound-selector-status{color:#f1d0a0}.mini-sound-selector .mini-action{min-width:34px;min-height:36px}.mini-sound-selector .sound-selector-panic{color:#2a130b;background:#f08a6a;border-color:#ffb08f;font-weight:700}.mini-editor .fm-name-display{background:linear-gradient(#ffbd72,#f5a14c 48%,#df7e30);border-color:#5b3016;box-shadow:inset 0 0 8px #6b300c4d,0 0 10px #f5a14c4d}.mini-editor .fm-name-cell{fill:#763812;opacity:.12}.mini-editor .fm-name-cell--on{fill:#321b0c;opacity:1}.mini-editor .fm-name-display:focus-within{outline-color:#ffd49c}.mini-editor .fm-patch-name .fm-name-display input[type=text]:focus{color:#321b0c;caret-color:#321b0c}.mini-library-pages{color:#bec6b5;font:10px var(--mono);margin:12px 0}.mini-library-pages label{flex:160px;align-items:center;gap:7px;display:flex}.mini-library-pages input{color:#ede7d8;background:#171b16;border:1px solid #a8906e;border-radius:3px;width:100%;min-width:0;padding:7px}.mini-programs{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:5px;max-height:290px;display:grid;overflow-y:auto}.mini-program{color:#e4e7d9;text-align:left;cursor:pointer;background:#30372b;border:1px solid #69735f;border-radius:2px;grid-template-columns:24px minmax(0,1fr);gap:4px;min-width:0;padding:7px;display:grid}.mini-program span{color:#e9c185;font:10px var(--mono);grid-row:1/3}.mini-program strong{text-overflow:ellipsis;white-space:nowrap;font:11px var(--mono);overflow:hidden}.mini-program small{color:#bac4ae;font:9px var(--mono);grid-column:2}.mini-editor .led-readout{background:#18130b;border-color:#846747;display:inline-flex}.mini-editor .led-segment--on{background:#f4ad4f;box-shadow:0 0 3px #f4ad4f}.mini-patch-actions{flex-wrap:wrap;gap:8px;display:flex}.mini-action.mini-action--patch{color:#102622;background:linear-gradient(#b9ded6,#82b8ad);border:2px solid #d6eeee;min-height:44px;padding:10px 16px;font-size:12px;font-weight:700;box-shadow:0 2px 5px #101810}.mini-action.mini-action--patch:hover{background:#c1e5da;border-color:#fff1b4}.mini-route-summary{gap:6px;margin:12px 0;display:grid}.mini-route-summary>div{font:11px var(--mono);background:#33372e;border-left:3px solid #d69958;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:10px;padding:7px;display:grid}.mini-route-summary dd{margin:0}.mini-route-summary b{color:#f5c984}.mini-external-routes{color:#c9d8b4;font:11px var(--mono)}.mini-playarea{grid-template-columns:115px minmax(0,1fr);align-items:end;gap:10px;padding:10px 0;display:grid}.mini-editor .fm-keyboard-block{color:#f1e9d9;min-width:0}.mini-editor .fm-toolbar{color:#e8dfcc;flex-wrap:wrap}.mini-editor .fm-toolbar select{color:#f1e9d9;background:#252923}.mini-editor .fm-toolbar button{color:#f3d9ac;background:#403829;border-color:#ae8960}.mini-editor .fm-key{color:#303229;background:#eee9d7}.mini-editor .fm-key--black{color:#dbd9c4;background:#11130f}.mini-editor .fm-key--held{color:#342918;background:#dab579}.mini-editor .fm-key--black.fm-key--held{background:#ab7a40}.mini-wheel-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mini-wheel-control{color:#e8dfcc;font:10px var(--mono);justify-items:center;gap:5px;display:grid}.mini-wheel{touch-action:none;cursor:ns-resize;background:repeating-linear-gradient(#56574e 0 4px,#aaa895 5px 7px);border:1px solid #d3cfba;border-radius:8px;width:34px;height:100px;padding:0;position:relative;overflow:hidden;box-shadow:inset 5px 0 8px #191a16,inset -5px 0 8px #191a16}.mini-wheel i{bottom:var(--mini-wheel-position);background:#f9e9bb;border-radius:3px;height:7px;position:absolute;left:3px;right:3px;box-shadow:0 0 5px #ecc779}.mini-wheel-center{pointer-events:none;border-top:1px solid #e0b678;position:absolute;top:49%;left:0;right:0}.mini-wheel-control output{color:#efc17d;font-size:10px}.mini-trigger{grid-column:1/-1;justify-content:center}.mini-editor.fm-editor--docked .mini-keyboard-section{bottom:calc(16px + var(--controller-dock-height,0px));left:var(--fm-dock-left);width:var(--fm-dock-width);z-index:20;box-sizing:border-box;max-height:calc(100dvh - 32px - var(--controller-dock-height,0px));background:#242521;border:3px solid #8d5730;position:fixed;overflow-y:auto;box-shadow:0 -6px 10px #0006}.mini-editor.fm-editor--docked .fm-keyboard-block{width:auto;max-height:none;box-shadow:none;background:0 0;border:0;padding:0;position:static;overflow:visible}.instrument-dialog.mini-patch-dialog{box-sizing:border-box;width:min(1180px,100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:18px;overflow-y:auto}.mini-patch-dialog .instrument-dialog-copy{max-width:none;margin-bottom:10px}.mini-patch-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.mini-patch-sidebar{min-width:0}.mini-patch-canvas{background:#22241f;border:4px solid #86502f;border-radius:4px}.mini-patch-canvas svg{touch-action:none;width:min(100%,640px);margin:0 auto;display:block}.mini-patch-canvas text{fill:#eee6d1;font:15px var(--mono);pointer-events:none}.mini-patch-canvas .mini-jack-scale{fill:#c8b78f;font-size:11px}.mini-jack{cursor:crosshair}.mini-jack circle{fill:#746954;stroke:#dac8a0;stroke-width:3px}.mini-jack .mini-jack-hole{fill:#121510;stroke-width:1px}.mini-patch-cable path{fill:none;stroke:#d0a35f;stroke-width:5px;cursor:pointer}.mini-patch-cable circle{fill:#cc8c45;stroke:#ffe0a1;stroke-width:2px;cursor:grab}.mini-patch-cable--selected path{stroke:#89c6a7;stroke-width:7px}.mini-patch-preview{fill:none;stroke:#c5e1c0;stroke-width:4px;stroke-dasharray:6 5;pointer-events:none}.mini-patch-controls{flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;display:flex}.mini-patch-controls label{flex:160px}.mini-patch-controls .hardware-knob{color:#eee6d1;--ink:#eee6d1;--hardware-accent:#efc17d}.mini-patch-route-list{flex-wrap:wrap;gap:6px;display:flex}.mini-patch-sidebar .mini-patch-controls{padding-top:0}.mini-patch-sidebar .mini-patch-route-list{margin-bottom:14px}@media (width<=850px){.mini-patch-layout{grid-template-columns:minmax(0,1fr);gap:12px}}@container fm-editor (width<=780px){.mini-hardware-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-filter{grid-column:1/-1}}@container fm-editor (width<=620px){.mini-hardware-grid{grid-template-columns:1fr}.mini-filter{grid-column:auto}.mini-filter-contours{grid-template-columns:1fr}.mini-playarea{grid-template-columns:85px minmax(0,1fr)}}@media (width<=560px){.instrument-dialog.mini-patch-dialog{padding:10px}.mini-editor{border-width:6px;padding:8px 5px}.mini-hardware-grid{grid-template-columns:1fr}.mini-filter{grid-column:auto}.mini-filter-contours,.mini-playarea{grid-template-columns:1fr}.mini-wheel-panel{justify-content:center;align-items:end;display:flex}.mini-wheel{height:80px}.mini-wheel-panel .mini-trigger{max-width:85px;margin-bottom:20px}.mini-route-summary>div{grid-template-columns:1fr;gap:4px}}.keyboard-instrument{--key-accent:#edcb86;--key-face:#242321;--key-ink:#fff2d6;--ink:var(--key-ink);--face:var(--key-face);background:var(--key-face);color:var(--key-ink);border:8px solid #68472e;border-radius:8px;min-width:0;padding:12px}.keyboard-instrument--piano{--key-accent:#ffe3a1;--key-face:#202126;--key-ink:#f5f0e4;--led-bg:linear-gradient(#0b0b0e, #18181d);--led-border:#4d473c;--led-off:#2e2819;--led-on:#ffcf6e;--led-glow:drop-shadow(0 0 1.5px #ffb43c);--led-halo:#ffc45a2e;border-color:#403d38}.keyboard-instrument--electric{--key-accent:#94efdf;--key-face:#153c3e;--key-ink:#f5fff7;--led-bg:linear-gradient(#031615, #072826);--led-border:#2f7d73;--led-off:#0d3d39;--led-on:#8ff9e4;--led-glow:drop-shadow(0 0 1.5px #3fe6c8);--led-halo:#64f0d733;border-color:#715540}.keyboard-instrument--reed{--key-accent:#f5ce87;--key-face:#39281d;--key-ink:#fff1db;--led-bg:linear-gradient(#170b05, #2a150a);--led-border:#8a5a31;--led-off:#45230f;--led-on:#ffa04d;--led-glow:drop-shadow(0 0 1.5px #ff7a1a);--led-halo:#ff8c3c33;border-color:#835c35}.keyboard-instrument--drawbar{--key-accent:#f0cc7b;--key-face:#22201c;--key-ink:#fff2d5;--led-bg:linear-gradient(#ffe7a6, #f6d27e 48%, #e6b85c);--led-border:#6b4c25;--led-off:#8a6a2a;--led-off-opacity:.16;--led-on:#2b2010;--led-glow:none;--led-halo:#f0c86e4d;border-color:#63452f}.keyboard-instrument .keyboard-brand{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;padding:3px 2px 6px;display:flex}.keyboard-brand strong{letter-spacing:.5px;color:var(--key-accent);text-shadow:0 1px #0008;font-family:Georgia,serif;font-size:clamp(26px,2.6vw,34px);line-height:1.05}.keyboard-instrument--electric .keyboard-brand strong{font-style:italic}.keyboard-instrument--piano .keyboard-brand strong{letter-spacing:1.5px}.keyboard-brand span{letter-spacing:1px;align-self:center;font-size:10px}.keyboard-instrument .keyboard-section{background:var(--key-face);color:var(--key-ink);border:1px solid #80735d;border-radius:4px;padding:6px}.keyboard-section summary{color:var(--key-accent);letter-spacing:.6px;cursor:pointer;font-size:10px;font-weight:800}.keyboard-section[open]>summary{margin-bottom:6px}.keyboard-control-sections{flex-wrap:wrap;align-items:flex-start;gap:5px;display:flex}.keyboard-control-sections>.keyboard-section{flex:190px}.keyboard-library-toolbar,.keyboard-library-filters,.keyboard-status{flex-wrap:wrap;align-items:center;gap:5px;margin:3px 0;display:flex}.keyboard-instrument .keyboard-library-filters label{flex:220px;align-items:center;gap:6px;min-width:0;max-width:420px;font-size:11px;display:flex}.keyboard-instrument .keyboard-library-filters label input{flex:1}.keyboard-page-steps{border:2px solid var(--led-border);border-radius:6px;display:inline-flex;overflow:hidden;box-shadow:0 2px #0006}.keyboard-instrument .keyboard-page-step{background:var(--led-off);min-width:34px;min-height:30px;color:var(--led-on);cursor:pointer;border:0;border-radius:0;justify-content:center;align-items:center;padding:0 0 2px;font-size:20px;font-weight:900;line-height:1;display:inline-flex}.keyboard-instrument .keyboard-page-step+.keyboard-page-step{border-left:2px solid var(--led-border)}.keyboard-instrument .keyboard-page-step:hover:not(:disabled){filter:brightness(1.35)}.keyboard-instrument .keyboard-page-step:active:not(:disabled){background:var(--key-accent);color:#111}.keyboard-instrument .keyboard-page-step:disabled{opacity:.35;cursor:not-allowed}.keyboard-page-count{white-space:nowrap;font-size:12px}.keyboard-instrument.fm-editor .fm-patch-name.keyboard-sound-name{width:auto;max-width:480px;color:var(--key-accent);letter-spacing:1px;flex:300px;gap:5px;margin:0;font:700 11px ui-monospace,monospace;display:grid}.keyboard-sound-selector{border-bottom:1px solid var(--led-border);margin:6px 0 4px;padding-bottom:8px}.keyboard-sound-selector .sound-selector-status{color:var(--key-accent)}.keyboard-sound-selector .led-readout{border-color:var(--led-border);background:var(--led-bg)}.keyboard-sound-selector .led-readout-label{color:var(--key-accent);text-shadow:none}.keyboard-sound-selector .led-segment{background:var(--led-off);opacity:var(--led-off-opacity,.45)}.keyboard-sound-selector .led-segment--on{background:var(--led-on);opacity:1;box-shadow:0 0 3px var(--led-halo);filter:var(--led-glow)}.keyboard-instrument--drawbar .keyboard-sound-selector .led-readout-label{color:#3a2a12;font-weight:700}.keyboard-instrument--drawbar .keyboard-sound-selector .led-segment--on{box-shadow:none}.keyboard-sound-name .fm-name-display{border:2px solid var(--led-border);background:var(--led-bg);min-height:62px;box-shadow:inset 0 0 10px #000a, 0 0 10px var(--led-halo);border-radius:5px}.keyboard-sound-name .fm-name-segments{height:62px;padding:7px 10px}.keyboard-sound-name .fm-name-cell{fill:var(--led-off);opacity:var(--led-off-opacity,.6)}.keyboard-sound-name .fm-name-cell--on{fill:var(--led-on);opacity:1;filter:var(--led-glow)}.keyboard-sound-name .fm-name-display:focus-within{outline:2px solid var(--key-accent);outline-offset:2px}.keyboard-instrument.fm-editor .keyboard-sound-name .fm-name-display input[type=text]{width:100%;max-width:none;height:100%;min-height:58px;box-shadow:none;color:#0000;letter-spacing:2px;cursor:text;background:0 0;border:0;border-radius:3px;padding:8px 12px;font:700 clamp(20px,2.5vw,28px) ui-monospace,monospace;position:absolute;inset:0}.keyboard-instrument.fm-editor .keyboard-sound-name .fm-name-display input[type=text]:focus{color:var(--led-on);caret-color:var(--led-on);outline:none}.keyboard-library-toolbar>.device-io-button{justify-content:center;min-height:32px}.keyboard-instrument.fm-editor input:not([type=range]):not([type=checkbox]),.keyboard-instrument.fm-editor select{color:#25251f;background:#f3e9ce;border:1px solid #af9b72;border-radius:3px;min-width:0;max-width:100%;padding:7px}.keyboard-instrument .device-io-button{color:#272922;background:#ebe2ca;border-color:#b7aa8c;min-height:32px}.keyboard-instrument .device-io-button:hover{background:var(--key-accent);color:#172520}.keyboard-instrument button:disabled{opacity:.45}.keyboard-presets{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:5px;display:grid}.keyboard-preset{text-align:left;color:#f9efd9;background:#171b1b;border:1px solid #776f60;border-radius:3px;gap:4px;padding:9px;display:grid}.keyboard-preset small{color:#d3c6a8;font-size:10px}.keyboard-preset[aria-pressed=true]{border-color:var(--key-accent);box-shadow:inset 3px 0 var(--key-accent)}.keyboard-preset:hover{background:#36443d}.keyboard-instrument .keyboard-knobs{flex-wrap:wrap;gap:5px 3px;display:flex}.keyboard-instrument .hardware-knob{width:60px}.keyboard-instrument .rotary-dial{width:37px}.keyboard-instrument .hardware-knob-label,.keyboard-instrument .hardware-knob-value{color:var(--key-ink)}.keyboard-instrument .hardware-knob-label{white-space:normal;min-height:19px;font-size:8px;line-height:1.2;overflow:visible}.keyboard-instrument .hardware-knob-value{font-size:9px}.keyboard-instrument .dial-face{background:radial-gradient(circle at 40% 30%,#53544c,#151616 70%);border-color:#989281}.keyboard-instrument .dial-pointer{background:0 0}.keyboard-instrument .dial-pointer:after{background:var(--key-accent)}.keyboard-instrument .fm-toolbar{color:var(--key-ink)}.keyboard-instrument .fm-keyboard-block{background:var(--key-face)}.keyboard-instrument .fm-keyboard{height:85px}.keyboard-instrument .device-io-button{min-height:28px;padding:4px 6px;font-size:10px}.keyboard-instrument .synth-octave-controls>.device-io-button{min-width:36px;min-height:36px;font:700 24px/1 var(--mono);justify-content:center;padding:4px 8px}.keyboard-instrument .fm-key--held{background:var(--key-accent)}.keyboard-instrument .synth-play-controls .mini-wheel-control,.keyboard-instrument .synth-play-controls .mini-wheel-control output{color:var(--key-ink)}.keyboard-instrument .synth-play-controls .mini-wheel i{background:var(--key-accent);box-shadow:0 0 5px var(--key-accent)}.keyboard-type{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;display:flex}.keyboard-help{margin:5px 0;font-size:11px;line-height:1.4}.keyboard-status [role=alert]{color:#ffb5a5}.organ-manual-banks{flex-wrap:wrap;gap:10px;display:flex}.organ-drawbar-bank{flex:260px;min-width:0;max-width:440px}.organ-drawbar-bank--pedal{flex:0 100px}.organ-keyboard-rows{flex-wrap:wrap;align-items:center;gap:6px 12px;margin:6px 0;display:flex}.keyboard-instrument.fm-editor .organ-keyboard-rows label{color:var(--key-accent);flex-wrap:wrap;align-items:center;gap:6px;font:700 10px ui-monospace,monospace;display:flex}.organ-keyboard-rows small{color:var(--key-ink);font-size:10px}.organ-keyboard-rows-label{color:var(--key-accent);font:700 10px ui-monospace,monospace}.organ-manual-toggles{flex-wrap:wrap;gap:4px;display:flex}.keyboard-instrument.fm-editor .organ-manual-visibility .organ-manual-toggles label{color:var(--key-ink);cursor:pointer;border:1px solid #80735d;border-radius:4px;gap:4px;padding:3px 8px}.keyboard-instrument.fm-editor .organ-manual-visibility .organ-manual-toggles label:has(input:checked){border-color:var(--key-accent);color:var(--key-accent)}.organ-manual-toggles input:disabled{cursor:not-allowed}.organ-drawbar-bank h4,.organ-manual-keyboards h4{color:var(--key-accent);margin:3px 0;font:700 10px ui-monospace,monospace}.organ-drawbar-row{justify-content:space-between;gap:3px;min-width:0;display:flex}.organ-drawbar{--cap-color:#e7ddc2;flex:26px;justify-items:center;gap:2px;min-width:0;max-width:54px;display:grid}.organ-drawbar--brown{--cap-color:#94633e}.organ-drawbar--black{--cap-color:#343736}.organ-drawbar-label{color:#fff1dc;text-align:center;min-height:18px;font:700 8px/1.1 ui-monospace,monospace}.organ-drawbar-pull{cursor:ns-resize;touch-action:none;background:0 0;border:0;width:28px;height:115px;padding:0;position:relative}.organ-drawbar-slot{background:#070909;border:1px solid #6a6557;border-radius:2px;width:12px;height:8px;position:absolute;top:0;left:8px;box-shadow:inset 0 2px 4px #000}.organ-drawbar-stem{width:12px;height:var(--drawbar-extension);background:linear-gradient(90deg,#0c1110,#323833 50%,#0c1110);border-inline:1px solid #737169;position:absolute;top:4px;left:8px;overflow:hidden}.organ-drawbar-numbers{height:var(--drawbar-travel);grid-template-rows:repeat(8,1fr);display:grid;position:absolute;bottom:0;left:0;right:0}.organ-drawbar-numbers i{color:#fff9e5;text-align:center;font:700 9px ui-monospace,monospace}.organ-drawbar-cap{top:var(--drawbar-extension);background:linear-gradient(145deg, #ffffff35, transparent 50%), var(--cap-color);border:1px solid #92866c;border-radius:4px 4px 6px 6px;width:26px;height:23px;position:absolute;left:1px;box-shadow:inset 0 2px 1px #ffffff45,inset 0 -5px 2px #0004,1px 3px 3px #0009}.organ-drawbar-cap i{border-top:1px solid #0005;height:5px;margin-top:14px;display:block}.keyboard-instrument.fm-editor .organ-drawbar-number{width:100%;color:var(--key-ink);justify-content:center;gap:1px;font-size:9px;display:flex}.keyboard-instrument.fm-editor .organ-drawbar-number input[type=number]{text-align:center;appearance:textfield;width:min(34px,100%);height:23px;min-height:23px;padding:2px 0;font-size:10px}.organ-drawbar-number input::-webkit-inner-spin-button{appearance:none}.organ-tone-drawbars{flex-wrap:wrap;justify-content:flex-start;gap:5px;max-width:440px}.organ-tone-drawbars .organ-drawbar{flex:0 0 45px}.organ-channels,.organ-arranger-toolbar{flex-wrap:wrap;align-items:center;gap:6px;margin:5px 0;display:flex}.keyboard-instrument .organ-channels label,.keyboard-instrument .organ-arranger-toolbar label{flex-wrap:wrap;gap:4px;font-size:10px;display:flex}.organ-arranger-toolbar output{color:var(--key-accent);font:700 16px ui-monospace,monospace}.organ-arranger-transport{border-bottom:1px solid var(--led-border);flex-wrap:wrap;align-items:center;gap:10px 14px;margin:4px 0 8px;padding-bottom:8px;display:flex}.organ-arranger-transport>output{border:2px solid var(--led-border);background:var(--led-bg);color:var(--led-on);letter-spacing:1px;text-shadow:0 0 6px var(--led-halo);border-radius:4px;flex:220px;padding:8px 12px;font:700 18px ui-monospace,monospace}.keyboard-instrument .organ-arranger-start{color:#062a13;letter-spacing:2px;cursor:pointer;background:linear-gradient(#4fd17d,#239150);border:2px solid #1d6b3a;border-radius:6px;align-items:center;gap:10px;min-width:150px;min-height:52px;padding:8px 18px;font:800 18px ui-monospace,monospace;display:inline-flex;box-shadow:0 3px #0f4425,0 0 12px #50dc8259}.keyboard-instrument .organ-arranger-start.is-running{color:#2a0503;background:linear-gradient(#ff7468,#c8312a);border-color:#7a1d1d;box-shadow:0 3px #5a1010,0 0 14px #ff5a4673}.keyboard-instrument .organ-arranger-start:active{transform:translateY(2px);box-shadow:0 1px #0008}.keyboard-instrument .organ-arranger-start:disabled{opacity:.45;cursor:not-allowed}.organ-arranger-led{background:#2a3a2e;border-radius:50%;width:10px;height:10px;box-shadow:inset 0 1px 2px #000a}.organ-arranger-start.is-running .organ-arranger-led{background:#fff3a0;animation:1s steps(2,start) infinite organ-arranger-blink;box-shadow:0 0 8px #fff3a0,0 0 3px #fff}@keyframes organ-arranger-blink{to{opacity:.35}}.keyboard-instrument.fm-editor .organ-arranger-toolbar input{width:52px}.organ-key-picker{flex:100%;gap:5px;min-width:0;display:grid}.keyboard-instrument.fm-editor .organ-key-picker label{align-items:center;gap:6px;display:flex}.organ-split-notes{grid-template-columns:repeat(12,minmax(28px,1fr));gap:3px;display:grid}.keyboard-instrument .organ-split-notes .organ-key-note{color:#1d1b17;background:linear-gradient(#fbf8f0,#e7e1d3);border:1px solid #8f8a80;border-radius:0 0 5px 5px;justify-content:center;align-items:flex-end;min-width:0;min-height:46px;padding:4px 2px 6px;font:800 13px ui-monospace,monospace;display:flex;box-shadow:inset 0 -3px #c9c1af}.keyboard-instrument .organ-split-notes .organ-key-note--sharp{color:#f6f2e8;background:linear-gradient(#3a3a3e,#121214);border-color:#000;box-shadow:inset 0 -3px #000,inset 0 1px #fff2}.keyboard-instrument .organ-split-notes .organ-key-note:hover{filter:brightness(1.08)}.keyboard-instrument .organ-split-notes .organ-key-note[aria-pressed=true]{background:var(--key-accent);color:#10201e;border-color:var(--key-accent);box-shadow:inset 0 0 0 2px var(--key-face), 0 0 8px var(--key-accent)}.organ-style-picker{align-items:center;gap:4px;font-size:11px;display:flex}.organ-style-picker>span{margin-right:2px}.keyboard-instrument.fm-editor .organ-style-picker select{min-width:170px;min-height:36px;font-size:14px;font-weight:700}.organ-style-steps{border:2px solid var(--led-border);border-radius:6px;margin-left:4px;display:inline-flex;overflow:hidden;box-shadow:0 2px #0006}.keyboard-instrument .organ-style-picker .organ-style-step{min-width:40px;min-height:36px;color:var(--key-accent);text-shadow:0 0 6px var(--led-halo);cursor:pointer;background:linear-gradient(#1f5653,#0f3634);border:0;border-radius:0;justify-content:center;align-items:center;padding:0 0 2px;font:800 26px/1 ui-monospace,monospace;display:inline-flex}.keyboard-instrument .organ-style-picker .organ-style-step+.organ-style-step{border-left:2px solid var(--led-border)}.keyboard-instrument .organ-style-picker .organ-style-step:hover{color:#fff;background:linear-gradient(#2a6f6a,#164745)}.keyboard-instrument .organ-style-picker .organ-style-step:active{background:var(--key-accent);color:#0b2422;text-shadow:none}.keyboard-instrument .organ-style-picker .organ-style-step:disabled{opacity:.35;cursor:not-allowed;color:var(--key-accent);background:linear-gradient(#1f5653,#0f3634)}.organ-octave-picker>span:first-child{line-height:1.1}.keyboard-instrument.fm-editor .organ-octave-picker select{min-width:64px}.home-organ-stops{container-type:inline-size}.organ-stop-bank{grid-template-columns:repeat(auto-fit,minmax(72px,110px));align-items:start;gap:7px;display:grid}@container (width>=900px){.organ-stop-bank{grid-template-columns:repeat(11,minmax(0,1fr))}}.organ-stop{--stop-color:#eee6d1;gap:5px;min-width:0;display:grid}.organ-stop--green{--stop-color:#a6d5a6}.organ-stop--yellow{--stop-color:#ecd269}.organ-stop--orange{--stop-color:#eca25d}.organ-stop--red{--stop-color:#df948d}.organ-stop-tab{background:var(--stop-color);color:#202622;border:1px solid #b3a080;border-bottom-width:5px;border-radius:3px 3px 7px 7px;align-content:space-between;gap:6px;min-height:78px;padding:8px 4px;font:700 12px/1.15 ui-monospace,monospace;display:grid;box-shadow:inset 0 2px 2px #fff7,0 3px 3px #0008}.organ-stop-tab--on{border-bottom-width:2px;transform:translateY(3px);box-shadow:inset 0 -1px 3px #0005}.organ-stop-tab b{font-size:11px}.keyboard-instrument.fm-editor .organ-stop label{gap:2px;font-size:12px;display:grid}.keyboard-instrument.fm-editor .organ-stop input[type=number]{box-sizing:border-box;width:100%;min-width:0;min-height:34px;padding:4px;font-size:15px}.instrument-sound-panel{--instrument-sound-accent:var(--key-accent,var(--hardware-accent,var(--acid,#8debd9)));border:1px solid color-mix(in srgb, var(--instrument-sound-accent) 50%, #82745e);background:var(--key-face,#242321);color:var(--key-ink,#fff2d6);border-radius:4px;margin:7px 0;padding:7px}.instrument-sound-panel>summary{color:var(--instrument-sound-accent);cursor:pointer;letter-spacing:.5px;font:700 12px ui-monospace,monospace}.instrument-sound-panel[open]>summary{margin-bottom:8px}.instrument-sound-panel .a1-sound-graph{border-color:color-mix(in srgb, var(--instrument-sound-accent) 50%, #82745e);background:color-mix(in srgb, var(--key-face,#242321) 70%, #090c0c)}.instrument-sound-panel .a1-sound-graph text,.instrument-sound-panel .a1-graph-block h4{fill:var(--key-ink,#fff2d6);color:var(--instrument-sound-accent)}.instrument-sound-panel .a1-graph-line--selected{stroke:var(--instrument-sound-accent)}.instrument-sound-panel .a1-graph-handle{fill:color-mix(in srgb, var(--instrument-sound-accent) 25%, #30282e)}.instrument-sound-panel .a1-graph-handle:focus{stroke:var(--instrument-sound-accent)}.instrument-sound-panel .a1-graph-grid{stroke:var(--key-ink,#fff2d6);stroke-opacity:.2}.instrument-live-toggle{color:var(--instrument-sound-accent)}.instrument-live-toggle input{accent-color:var(--instrument-sound-accent)}.instrument-shape-live-spectrum{stroke:#ffd18b;stroke-dasharray:5 3}.instrument-shape-playback-fill{fill:var(--instrument-sound-accent);opacity:.2}.instrument-shape-playback-cursor{stroke:var(--instrument-sound-accent);stroke-dasharray:3 3}.instrument-shape-playback-point{fill:var(--instrument-sound-accent)}.instrument-shape-choice{max-width:320px;color:var(--key-ink,#fff2d6);align-items:center;gap:8px;margin:7px 0;font-size:11px;display:flex}.instrument-shape-choice select{flex:1;min-width:0}.instrument-shape-graphs{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}.instrument-shape-graph{min-width:0}.instrument-shape-graph p{color:var(--key-ink,#fff2d6);font-size:11px;line-height:1.5}.instrument-sound-visualizer .a1-graph-help,.instrument-sound-visualizer .a1-graph-legend{color:var(--key-ink,#fff2d6)}.instrument-shape-controls{color:var(--key-ink,#fff2d6);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:6px 0;font-size:11px;display:flex}.instrument-shape-controls .instrument-shape-choice{max-width:none;margin:0}.instrument-shape-controls .instrument-shape-choice select{flex:0 auto}.instrument-shape-switch{color:var(--key-ink,#fff2d6);cursor:pointer;align-items:center;gap:5px;font-size:11px;display:inline-flex}.instrument-shape-switch input,.instrument-shape-range input{accent-color:var(--instrument-sound-accent)}.instrument-shape-range{align-items:center;gap:6px;display:inline-flex}.instrument-shape-range input{width:110px}.instrument-shape-range output{min-width:5.5ch;color:var(--instrument-sound-accent);font:11px ui-monospace,monospace}.instrument-shape-readouts{flex-wrap:wrap;gap:4px 12px;margin:6px 0 0;font:11px ui-monospace,monospace;display:flex}.instrument-shape-readouts div{gap:4px;display:flex}.instrument-shape-readouts dt{color:var(--readout-color,var(--key-ink,#fff2d6));opacity:.8}.instrument-shape-readouts dt:after{content:":"}.instrument-shape-readouts dd{color:var(--readout-color,var(--instrument-sound-accent));margin:0}.instrument-shape-stem{stroke:var(--instrument-sound-accent);stroke-width:3px;opacity:.55}.instrument-shape-zero{stroke-dasharray:2 3;stroke-opacity:.55!important}.instrument-shape-tail{stroke:var(--instrument-sound-accent);stroke-dasharray:6 4;opacity:.7}.instrument-shape-note,.instrument-sound-panel .a1-sound-graph .instrument-shape-note{fill:var(--instrument-sound-accent);font-size:10px}.instrument-shape-sweep{fill:var(--instrument-sound-accent);opacity:.1}.instrument-shape-sweep-line{stroke:var(--instrument-sound-accent)}.instrument-shape-handle--secondary{stroke-dasharray:3 2}.instrument-shape-rail{stroke:var(--key-ink,#fff2d6);stroke-opacity:.35;stroke-width:4px;stroke-linecap:round}.instrument-shape-guide{stroke-dasharray:2 4;stroke-opacity:.35!important}.instrument-shape-wobble{stroke:#ffd18b;stroke-width:1.2px;opacity:.6}.fm-shape-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;display:flex}.fm-shape-legend span:first-child{color:var(--legend-color);font-weight:700}.fm-shape-operators{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:6px 0 10px;display:grid}.fm-shape-operator{border:1px solid color-mix(in srgb, var(--op-color) 40%, transparent);background:color-mix(in srgb, var(--op-color) 6%, #15161b);min-width:0;color:var(--key-ink,#f3eeee);text-align:left;cursor:pointer;opacity:.72;border-radius:4px;gap:3px;padding:5px;font:10px ui-monospace,monospace;display:grid}.fm-shape-operator:hover,.fm-shape-operator:focus-visible{opacity:1}.fm-shape-operator--selected{border-color:var(--op-color);background:color-mix(in srgb, var(--op-color) 18%, #15161b);box-shadow:0 0 0 1px var(--op-color) inset;opacity:1}.fm-shape-operator--muted{opacity:.35}.fm-shape-operator-head,.fm-shape-operator-meta{white-space:nowrap;justify-content:space-between;gap:4px;display:flex;overflow:hidden}.fm-shape-operator-head strong{color:var(--op-color);font-size:12px}.fm-shape-operator-head em{opacity:.75;font-style:normal}.fm-shape-operator svg{width:100%;height:28px}.fm-shape-operator svg path{fill:none;stroke:var(--op-color);stroke-width:2px}.fm-shape-operator-level{background:#ffffff1c;border-radius:2px;height:4px;overflow:hidden}.fm-shape-operator-level span{background:var(--op-color);height:100%;display:block}.fm-shape-operator-live{color:var(--op-color);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.fm-shape-reference{stroke-width:1.6px}.fm-shape-reference--muted{opacity:.2}.fm-shape-live-other{opacity:.9}.fm-shape-stem path{stroke-width:2px;opacity:.8}.fm-shape-stem--mod{stroke-dasharray:3 3}.instrument-sound-panel .a1-sound-graph .fm-shape-stem text{fill:currentColor;font-size:10px}.fm-shape-algorithm .fm-algorithm-diagram{width:100%;max-height:260px}@media (width<=700px){.fm-shape-operators{grid-template-columns:repeat(3,minmax(0,1fr))}}.keyboard-instrument .organ-manual-keyboards{gap:3px;display:grid}.keyboard-instrument .organ-manual-keyboards .fm-toolbar{font-size:10px}.keyboard-instrument .organ-manual-keyboards h4:not(:first-child){margin-top:5px}.keyboard-instrument.fm-editor--docked .organ-manual-keyboards{bottom:calc(16px + var(--controller-dock-height,0px));left:var(--fm-dock-left);width:var(--fm-dock-width);max-height:calc(100dvh - 32px - var(--controller-dock-height,0px));z-index:20;background:var(--key-face);border-top:1px solid #91826d;padding:5px;position:fixed;overflow-y:auto;box-shadow:0 -5px 10px #0005}.keyboard-instrument.fm-editor--docked .fm-keyboard-block{width:auto;max-height:none;box-shadow:none;border:0;padding:0;position:static;overflow:visible}.keyboard-instrument :focus-visible{outline:2px solid var(--key-accent);outline-offset:3px}:is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model=electronic-piano]{--entry-accent:#ecdaae}:is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model=electric-organ]{--entry-accent:#85d8cb}:is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model=reed-organ]{--entry-accent:#dfac73}:is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model=drawbar-organ]{--entry-accent:#d5be76}:root[data-theme=light] :is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model=electronic-piano]{--entry-accent:#705527}:root[data-theme=light] :is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model=electric-organ]{--entry-accent:#225c55}:root[data-theme=light] :is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model=reed-organ]{--entry-accent:#79481f}:root[data-theme=light] :is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model=drawbar-organ]{--entry-accent:#65501b}:root[data-theme] .keyboard-instrument .keyboard-section{background:var(--key-face);color:var(--key-ink)}:root[data-theme] .keyboard-instrument .keyboard-section summary,:root[data-theme] .keyboard-instrument .keyboard-brand strong{color:var(--key-accent)}:root[data-theme] .keyboard-instrument .hardware-knob-label,:root[data-theme] .keyboard-instrument .hardware-knob-value,:root[data-theme] .keyboard-instrument .fm-toolbar{color:var(--key-ink)}@media (width<=600px){.keyboard-instrument{border-width:4px;padding:7px}.keyboard-drawbars{gap:2px}.organ-drawbar-pull{width:24px}.organ-drawbar-cap{width:23px}.organ-drawbar-row{gap:1px}.organ-drawbar-bank{flex-basis:100%}.keyboard-library-filters label{flex:120px}.organ-split-notes{grid-template-columns:repeat(6,minmax(32px,1fr))}}:root{--loom:#b9a2ff;--loom-strong:#8f6cf2;--loom-face:#1f1c2b;--loom-face-raised:#2a2540;--loom-line:#4b4170;--loom-ink:#ece7ff;--loom-muted:#a59cc6;--loom-chord:#f2c66d}:root[data-theme=light]{--loom:#5b3fb0;--loom-strong:#6c4fd0;--loom-face:#f1eefb;--loom-face-raised:#e4def7;--loom-line:#b5a9dd;--loom-ink:#2b2445;--loom-muted:#5e5680;--loom-chord:#94640f}:is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model=chromatic-loom]{--entry-accent:var(--loom)}.rack-device-row--loom,.rack-device--loom,.instrument-catalog-choice--loom{--device-accent:var(--loom);--catalog-accent:var(--loom)}.instrument-tag--loom{color:var(--loom)}.rack-filter{background:#202622;border:1px solid #59645a;border-radius:4px;gap:2px;padding:2px;display:inline-flex}.rack-filter-chip{color:#6f7a70;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;place-items:center;width:26px;height:24px;padding:0;display:inline-grid}.rack-filter-chip:hover{color:#dce9cf}.rack-filter-chip--on{color:#e6f2d9;background:#34402f;border-color:#8da678}.rack-filter-chip:nth-child(2).rack-filter-chip--on{border-color:var(--loom-strong);color:#efe9ff;background:#352d52}.rack-panel>.panel-heading{flex-wrap:wrap;row-gap:8px}.rack-panel>.panel-heading>:first-child{white-space:nowrap;flex:1 0 100%}.rack-panel>.panel-heading>.rack-heading-actions{flex:1 0 100%;justify-content:flex-start}.rack-panel>.panel-heading .rack-count{margin-left:auto}.rack-empty-message--filtered{text-align:center;border:1px dashed #59645a;border-radius:4px;padding:10px}.rack-add-button:disabled{opacity:.5;cursor:not-allowed}:root[data-theme=light] .rack-filter{background:#e9e7de;border-color:#aaa89e}:root[data-theme=light] .rack-filter-chip{color:#8a8d84}:root[data-theme=light] .rack-filter-chip--on{color:#283224;background:#d5e2c6;border-color:#6f8a59}:root[data-theme=light] .rack-filter-chip:nth-child(2).rack-filter-chip--on{border-color:var(--loom-strong);color:#2b2445;background:#ddd4fb}.studio-shell{padding-bottom:var(--controller-dock-height,0px)}.instrument-panel--chromatic-loom{--face:var(--loom-face)}.controller-section{margin-top:12px}.loom-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.loom-editor>:is(.controller-component,.controller-docked-placeholder):is(:first-child,:nth-child(2),:nth-child(5)){grid-column:1/-1}@media (width<=1100px){.loom-editor{grid-template-columns:minmax(0,1fr)}}.controller-component{border:1px solid var(--loom-line);min-width:0;color:var(--loom-ink);background:linear-gradient(160deg, var(--loom-face-raised), var(--loom-face) 65%);border-radius:6px;box-shadow:inset 0 1px #ffffff0f}.controller-component-header{border-bottom:1px solid var(--loom-line);justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;display:flex}.controller-component--collapsed .controller-component-header{border-bottom:0}.controller-component-title{align-items:baseline;gap:8px;min-width:0;display:flex}.controller-component-title strong{color:var(--loom);font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase}.controller-component-title small{color:var(--loom-muted);font:10px var(--mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.controller-component-actions{gap:6px;display:inline-flex}.controller-component-actions button,.controller-docked-placeholder button{border:1px solid var(--loom-line);min-height:26px;color:var(--loom-ink);font:10px var(--mono);cursor:pointer;background:#0000002e;border-radius:4px;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.controller-component-actions button:hover,.controller-docked-placeholder button:hover{border-color:var(--loom);color:var(--loom)}.controller-component-body{padding:10px}.controller-docked-placeholder{border:1px dashed var(--loom-line);min-height:40px;color:var(--loom-muted);border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.controller-docked-placeholder strong{color:var(--loom)}.controller-docked-placeholder button{margin-left:auto}:root[data-theme=light] .controller-component-actions button,:root[data-theme=light] .controller-docked-placeholder button{background:#ffffff8c}.loom-field-label{color:var(--loom-muted);font:10px var(--mono);letter-spacing:.06em;justify-content:space-between;gap:6px;display:flex}.loom-field-label output{color:var(--loom-ink)}.loom-muted{color:var(--loom-muted);font-size:11px}.loom-toggle,.loom-panic,.loom-clear,.loom-transport,.loom-mode{border:1px solid var(--loom-line);min-height:30px;color:var(--loom-ink);font:11px var(--mono);cursor:pointer;background:#00000038;border-radius:4px;justify-content:center;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.loom-toggle:hover,.loom-clear:hover,.loom-mode:hover{border-color:var(--loom)}.loom-toggle--on{border-color:var(--loom);color:#fff;background:var(--loom-strong);box-shadow:0 0 8px #8f6cf273}.loom-panic{color:#ffb4a8;border-color:#8d4a4a}.loom-panic:hover{background:#5a2626}.loom-action--record.loom-toggle--on{background:#a8322d;border-color:#e0605a;box-shadow:0 0 8px #e0605a73}.loom-select,.loom-range,.loom-stepper{gap:4px;min-width:0;display:grid}.loom-select select{border:1px solid var(--loom-line);min-height:30px;color:var(--loom-ink);background:var(--loom-face);font:12px var(--mono);border-radius:4px;padding:0 6px}.loom-range input{width:100%;accent-color:var(--loom-strong)}.loom-stepper-controls{border:1px solid var(--loom-line);border-radius:4px;align-items:stretch;display:inline-flex;overflow:hidden}.loom-stepper-controls button{width:30px;min-height:30px;color:var(--loom-ink);cursor:pointer;background:#00000038;border:0;place-items:center;padding:0;display:grid}.loom-stepper-controls button:hover:not(:disabled){color:#fff;background:var(--loom-strong)}.loom-stepper-controls button:disabled{opacity:.35;cursor:default}.loom-stepper-controls output{border-inline:1px solid var(--loom-line);min-width:44px;font:13px var(--mono);place-items:center;padding:0 6px;display:grid}.loom-modifier-group{flex-wrap:wrap;gap:4px;display:flex}:root[data-theme=light] :is(.loom-toggle,.loom-clear,.loom-transport,.loom-mode),:root[data-theme=light] .loom-stepper-controls button{background:#fff9}:root[data-theme=light] .loom-stepper-controls button:hover:not(:disabled){color:#fff;background:var(--loom-strong)}:root[data-theme=light] :is(.loom-toggle--on,.loom-mode--active){border-color:var(--loom-strong);color:#fff;background:var(--loom-strong)}:root[data-theme=light] .loom-action--record.loom-toggle--on{background:#b8322d;border-color:#b8322d}:root[data-theme=light] .loom-transport--running{color:#10220e;background:#79c46f}:root[data-theme=light] .loom-transport{color:#2f5a2b}:root[data-theme=light] .loom-panic{color:#9b2c22}.loom-keymode{gap:10px;display:grid}.loom-keymode-grid{grid-template-columns:minmax(0,1.6fr) minmax(150px,.6fr) minmax(170px,.7fr);align-items:stretch;gap:12px;display:grid}@media (width<=1100px){.loom-keymode-grid{grid-template-columns:minmax(0,1fr) minmax(150px,.5fr)}.loom-readout{grid-column:1/-1}}.loom-key-picker{align-content:start;gap:5px;display:grid}.loom-key-buttons{grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;display:grid}.loom-key{color:#1f1c1a;min-height:52px;font:600 13px var(--mono);cursor:pointer;background:linear-gradient(#fbf8ef,#e2dccb);border:1px solid #b9b2a0;border-radius:0 0 5px 5px;place-content:center;padding:2px;line-height:1.15;display:grid}.loom-key span+span{opacity:.75;font-size:10px}.loom-key--accidental{color:#f2eeff;background:linear-gradient(#2c2833,#121016);border-color:#0b0a0e;font-size:11px}.loom-key--active{border-color:var(--loom-strong);color:#fff;background:linear-gradient(#a58bff, var(--loom-strong));box-shadow:0 0 10px #8f6cf299}.loom-keymode-side{align-content:start;gap:8px;display:grid}.loom-readout{border:1px solid var(--loom-line);text-align:center;background:#0f0d18;border-radius:6px;align-content:center;gap:2px;padding:8px 12px;display:grid}.loom-readout-label{color:var(--loom-muted);font:9px var(--mono);letter-spacing:.12em}.loom-readout strong{color:var(--loom-chord);font:600 28px var(--mono);text-shadow:0 0 10px #f2c66d59;line-height:1.1}.loom-readout-roman{color:var(--loom);font:14px var(--mono)}.loom-readout-notes{color:var(--loom-ink);font:11px var(--mono)}:root[data-theme=light] .loom-readout{background:#fffdf6}.loom-mode-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.loom-mode{letter-spacing:.06em;text-transform:uppercase;min-height:36px;font-size:12px}.loom-mode--active{border-color:var(--loom);color:#fff;background:var(--loom-strong);box-shadow:0 0 10px #8f6cf273}.loom-mode-description{color:var(--loom-muted);margin:0;font-size:12px}.loom-targets{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.loom-target-spacer{flex:1}.loom-pads-section{gap:10px;display:grid}.loom-pads{border-radius:6px;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.loom-pads:focus-visible,.loom-lead-strip:focus-visible{outline:2px solid var(--loom);outline-offset:3px}.loom-pad{border:1px solid var(--loom-line);min-height:86px;color:var(--loom-ink);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 30%,#3a3159,#1d1930 75%);border-radius:8px;align-content:center;justify-items:center;gap:2px;padding:6px 2px;transition:transform 60ms,box-shadow 60ms;display:grid}.loom-pad strong{font:600 16px var(--mono)}.loom-pad-roman{color:var(--loom);font:13px var(--mono)}.loom-pad small{color:var(--loom-muted);font:10px var(--mono)}.loom-pad--minor{background:radial-gradient(circle at 50% 30%,#2f3459,#191c30 75%)}.loom-pad--dim,.loom-pad--aug{background:radial-gradient(circle at 50% 30%,#45304c,#23192a 75%)}.loom-pad:hover{border-color:var(--loom)}.loom-pad--active{border-color:var(--loom-chord);transform:translateY(1px);box-shadow:0 0 14px #f2c66d8c,inset 0 0 18px #f2c66d40}:root[data-theme=light] .loom-pad{color:#f4f0ff}:root[data-theme=light] .loom-pad-roman{color:#c9b8ff}:root[data-theme=light] .loom-pad small{color:#b3abd3}.loom-modifiers{flex-wrap:wrap;align-items:end;gap:10px 14px;display:flex}.loom-lead-section{gap:10px;display:grid}.loom-lead-strip{touch-action:none;border-radius:6px;grid-template-columns:repeat(15,minmax(0,1fr));gap:3px;display:grid}.loom-lead-note{border:1px solid var(--loom-line);min-height:70px;color:var(--loom-ink);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(#2c2645,#1a1729);border-radius:4px;align-content:end;justify-items:center;gap:2px;padding:4px 0;display:grid}.loom-lead-note strong{font:12px var(--mono)}.loom-lead-note small{color:var(--loom-muted);font:9px var(--mono)}.loom-lead-note--chord{background:linear-gradient(#4a3d23,#221c12);border-color:#8e7a45}.loom-lead-note--active{border-color:var(--loom-chord);color:#1a1408;background:linear-gradient(#f2c66d,#a87a22);box-shadow:0 0 10px #f2c66d8c}.loom-lead-note--active small{color:#3b2c0c}:root[data-theme=light] .loom-lead-note{color:#f4f0ff}:root[data-theme=light] .loom-lead-note small{color:#b3abd3}.loom-lead-options{flex-wrap:wrap;align-items:end;gap:8px 12px;display:flex}.loom-performance{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.loom-group{border:1px solid var(--loom-line);border-radius:6px;align-content:start;gap:8px;min-width:0;margin:0;padding:8px 10px 10px;display:grid}.loom-group legend{color:var(--loom);font:600 10px var(--mono);letter-spacing:.1em;align-items:center;gap:6px;padding:0 4px;display:inline-flex}.loom-live-dot{background:var(--loom-chord);width:7px;height:7px;box-shadow:0 0 6px var(--loom-chord);border-radius:50%}.loom-sequencer{gap:10px;display:grid}.loom-sequencer-bar{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.loom-transport{color:#c8f0c0;border-color:#4e7a4b;min-width:76px}.loom-transport--running{color:#10220e;background:#79c46f;border-color:#85d07c}.loom-transport:disabled{opacity:.45;cursor:not-allowed}.loom-steps{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;display:grid}@media (width>=1500px){.loom-steps--16{grid-template-columns:repeat(16,minmax(0,1fr))}}.loom-step{border:1px solid var(--loom-line);background:#0000002e;border-radius:5px;gap:3px;min-width:0;padding:5px;display:grid}.loom-step select{border:1px solid var(--loom-line);width:100%;min-width:0;min-height:24px;color:var(--loom-ink);background:var(--loom-face);font:11px var(--mono);border-radius:3px;padding:0 2px}.loom-step-index{min-height:22px;color:var(--loom-muted);font:600 11px var(--mono);cursor:pointer;background:0 0;border:0;border-radius:3px}.loom-step-index:hover{color:var(--loom)}.loom-step--rest{opacity:.6}.loom-step--playing{border-color:var(--loom-chord);opacity:1;box-shadow:0 0 10px #f2c66d73}.loom-step--playing .loom-step-index{color:#1a1408;background:var(--loom-chord)}.loom-step--cursor{outline-offset:1px;outline:2px solid #e0605a}:root[data-theme=light] .loom-step{background:#ffffff80}.loom-step--style-strum{border-left:3px solid #e7a35a}.loom-step--style-arp{border-left:3px solid #5ec7c0}.loom-step--style-strum select:last-of-type{color:#f0b877}.loom-step--style-arp select:last-of-type{color:#79dbd3}:root[data-theme=light] .loom-step--style-strum select:last-of-type{color:#9a5a12}:root[data-theme=light] .loom-step--style-arp select:last-of-type{color:#1d7a73}.loom-preset select{min-width:220px}.loom-latch-bars{gap:6px;margin-bottom:8px;display:grid}.loom-latch-bar{border:1px dashed var(--loom-line);color:var(--loom-muted);font:12px var(--mono);background:#0000002e;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;padding:6px 6px 6px 12px;display:flex}.loom-latch-state{letter-spacing:.06em;flex-wrap:wrap;align-items:center;gap:4px 8px;display:inline-flex}.loom-latch-state strong{color:var(--loom-ink);letter-spacing:.02em;font-size:15px}.loom-latch-state small{color:var(--loom-muted);letter-spacing:0;font-size:11px}.loom-latch-dot{background:#4a4560;border-radius:50%;width:10px;height:10px}.loom-latch-bar--active{border:1px solid var(--loom-chord);color:var(--loom-chord);background:#f2c66d1a}.loom-latch-bar--active .loom-latch-dot{background:var(--loom-chord);box-shadow:0 0 8px var(--loom-chord);animation:1.4s ease-in-out infinite loom-latch-pulse}.loom-latch-bar--drone.loom-latch-bar--active{color:#79dbd3;background:#5ec7c01a;border-color:#5ec7c0}.loom-latch-bar--drone.loom-latch-bar--active .loom-latch-dot{background:#5ec7c0;box-shadow:0 0 8px #5ec7c0}.loom-big-button{border:1px solid var(--loom);color:#fff;background:var(--loom-strong);min-width:150px;min-height:40px;font:700 14px var(--mono);letter-spacing:.08em;cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:0 18px;display:inline-flex}.loom-big-button:hover:not(:disabled){filter:brightness(1.15)}.loom-big-button:disabled{border-color:var(--loom-line);color:var(--loom-muted);cursor:default;background:0 0}.loom-big-button--stop,.loom-drone-stop.loom-toggle--on{background:#b8322d;border-color:#e0605a;box-shadow:0 0 10px #e0605a73}.loom-pad{position:relative}.loom-pad--held{border-style:dashed;border-width:2px}.loom-pad-hold{color:#1a1408;background:var(--loom-chord);font:700 9px var(--mono);letter-spacing:.08em;border-radius:3px;padding:1px 6px;position:absolute;top:4px;left:50%;transform:translate(-50%)}@keyframes loom-latch-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.loom-latch-bar--active .loom-latch-dot{animation:none}}:root[data-theme=light] .loom-latch-bar{background:#ffffff8c}:root[data-theme=light] .loom-latch-bar--active{color:#7a5208;background:#f2c66d38}:root[data-theme=light] .loom-latch-bar--drone.loom-latch-bar--active{color:#1d6a64;background:#5ec7c02e;border-color:#1d7a73}:root[data-theme=light] .loom-latch-bar--drone.loom-latch-bar--active .loom-latch-dot{background:#1d7a73}:root[data-theme=light] .loom-latch-bar:not(.loom-latch-bar--active) .loom-latch-dot{background:#c9c2df}:root[data-theme=light] .loom-drone-stop.loom-toggle--on{background:#b8322d;border-color:#b8322d}.controller-dock{z-index:25;box-sizing:border-box;border:1px solid var(--loom-line);border-top:2px solid var(--loom-strong);background:var(--loom-face);border-radius:6px;gap:6px;max-height:55dvh;padding:6px;display:grid;position:fixed;bottom:8px;overflow-y:auto;box-shadow:0 -8px 18px #0006}.controller-dock .controller-component{background:var(--loom-face-raised)}.controller-dock .controller-component-header{padding:4px 8px}.controller-dock .controller-component-body{padding:8px}.controller-dock .loom-pad{min-height:64px}.controller-dock .loom-lead-note{min-height:56px}:root[data-theme=light] .controller-dock{box-shadow:0 -6px 14px #2b2d2733}:root{--bridge:#5fd4c4;--bridge-strong:#23a090}:root[data-theme=light]{--bridge:#11796c;--bridge-strong:#168a7b}:is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model=ext-midi-active]{--entry-accent:var(--bridge)}.rack-device-row--bridge,.rack-device--bridge,.instrument-catalog-choice--bridge{--device-accent:var(--bridge);--catalog-accent:var(--bridge)}.instrument-tag--bridge{color:var(--bridge)}.instrument-panel--ext-midi-active,.controller-component--bridge{--loom:var(--bridge);--loom-strong:var(--bridge-strong);--loom-face:#18242a;--loom-face-raised:#1f3238;--loom-line:#36575c;--loom-ink:#e2f6f2;--loom-muted:#93b8b2;--face:var(--loom-face)}:root[data-theme=light] :is(.instrument-panel--ext-midi-active,.controller-component--bridge){--loom-face:#eaf6f3;--loom-face-raised:#d6eee9;--loom-line:#9cc8bf;--loom-ink:#173a35;--loom-muted:#4d736c}.controller-component--bridge .loom-toggle--on{box-shadow:0 0 8px #23a09073}.bridge-editor{grid-template-columns:minmax(0,1fr)}.bridge-body{gap:12px;display:grid}.bridge-input{gap:6px;display:grid}.bridge-input-select select{min-height:36px;font-size:13px}.bridge-note{color:var(--loom-muted);font:11px var(--mono);margin:0}.bridge-note--warn{color:#f0b46a}:root[data-theme=light] .bridge-note--warn{color:#9a5a0c}.bridge-enable{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.bridge-enable-button{border:1px solid var(--loom);color:#fff;background:var(--loom-strong);min-height:36px;font:700 12px var(--mono);letter-spacing:.06em;cursor:pointer;border-radius:5px;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.bridge-routing{gap:10px;display:grid}.bridge-active-toggle{border:1px solid var(--loom-line);min-height:48px;color:var(--loom-ink);text-align:left;cursor:pointer;background:#0003;border-radius:6px;align-items:center;gap:12px;padding:6px 14px;display:flex}.bridge-active-toggle:hover{border-color:var(--loom)}.bridge-active-toggle--on{border-color:var(--loom);background:color-mix(in srgb, var(--loom-strong) 28%, transparent);box-shadow:0 0 10px #23a0904d}.bridge-active-led{background:#3a4a4c;border-radius:50%;flex:none;width:12px;height:12px;box-shadow:inset 0 0 0 1px #0006}.bridge-active-toggle--on .bridge-active-led{background:var(--loom);box-shadow:0 0 8px var(--loom)}.bridge-active-text{gap:2px;min-width:0;display:grid}.bridge-active-text strong{font:700 13px var(--mono);letter-spacing:.06em}.bridge-active-text small{color:var(--loom-muted);font:13px var(--mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bridge-active-toggle--on .bridge-active-text small{color:var(--loom);font-weight:700}.bridge-targets{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bridge-targets em{color:var(--loom);font-style:normal}.bridge-targets--overridden .loom-toggle{opacity:.45}.bridge-monitor{border:1px solid var(--loom-line);min-height:36px;font:12px var(--mono);background:#0000002e;border-radius:5px;align-items:center;gap:10px;padding:4px 4px 4px 10px;display:flex}.bridge-activity{background:#3a4a4c;border-radius:50%;flex:none;width:10px;height:10px}.bridge-activity--on{background:var(--loom);box-shadow:0 0 8px var(--loom)}.bridge-monitor-text{min-width:0;color:var(--loom-muted);white-space:nowrap;flex:1;align-items:baseline;gap:8px;display:flex;overflow:hidden}.bridge-monitor-text strong{color:var(--loom-ink)}.bridge-monitor-count{color:var(--loom-muted);font-size:11px}:root[data-theme=light] :is(.bridge-active-toggle,.bridge-monitor){background:#ffffff8c}:root[data-theme=light] :is(.bridge-active-led,.bridge-activity){background:#b9cdc9}:root{color:#f2f0e9;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--canvas:#252726;--panel:#393b39;--panel-raised:#4a4b48;--panel-deep:#252625;--line:#5a5b57;--text:#ecebe7;--muted:#b3b1aa;--acid:#c55c3c;--coral:#c28047;--cyan:#a74332;--mono:"DM Mono", monospace;background:#161a18;font-family:Space Grotesk,sans-serif}*{box-sizing:border-box}body{background:repeating-linear-gradient(0deg, transparent 0 3px, #ffffff03 3px 4px), radial-gradient(ellipse at 16% -15%, #bab6a41f, transparent 48%), linear-gradient(145deg, #353735, var(--canvas) 58%);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--acid);outline-offset:3px}.studio-shell{min-height:100vh}.topbar{z-index:12;background:#141816f0;border-bottom:1px solid #343c36;grid-template-columns:minmax(220px,1fr) minmax(190px,.75fr) auto;align-items:center;gap:22px;min-height:92px;padding:14px 26px;display:grid;position:relative}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{aspect-ratio:720/500;flex:none;width:64px;display:block}.brand-emblem{width:100%;height:auto;display:block}.brand-copy h1{margin:0;font-size:20px;line-height:1.1}.brand-copy h1 small{color:var(--muted);font-size:11px;font-weight:600}.brand-copy>span{color:var(--muted);margin-top:4px;font-size:11px;display:block}.project-heading{gap:2px;min-width:0;display:grid}.eyebrow{color:#849189;font:10px var(--mono);letter-spacing:0;text-transform:uppercase}.project-title{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;padding:0;font-size:15px;font-weight:600}.project-title:focus{border-bottom:1px solid var(--acid);outline:0}.save-state{min-height:14px;color:var(--muted);font:10px var(--mono);align-items:center;gap:6px;display:flex}.save-led,.footer-led,.status-dot,.bus-led{aspect-ratio:1;background:var(--acid);border-radius:50%;width:6px}.file-actions{align-items:center;gap:5px;display:flex}.icon-button,.text-button{color:#c5ccc5;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;place-items:center;width:38px;height:36px;display:inline-grid}.icon-button:hover,.text-button:hover{border-color:var(--line);color:var(--text);background:#2a302c}.icon-button:disabled{opacity:.35;cursor:default}.file-actions .icon-button{width:44px;height:42px}.file-actions .icon-button>svg{width:24px;height:24px}.file-actions .text-button{height:42px;font-size:16px}.text-button{width:auto;padding:0 12px;font-size:12px;display:inline-flex}.updates-menu{position:relative}.updates-menu>summary{cursor:pointer;list-style:none}.updates-menu>summary::-webkit-details-marker{display:none}.updates-panel{z-index:30;background:#1d241f;border:1px solid #566158;border-radius:5px;width:min(330px,100vw - 22px);max-height:min(360px,100vh - 100px);padding:12px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 10px 28px #0000005c}.updates-panel h2{color:#e6e9df;margin:0 0 8px;font-size:13px}.about-panel{color:#d7dfd3;width:min(560px,100vw - 22px);max-height:min(620px,100dvh - 100px);font-size:13px;line-height:1.6}.about-panel p{margin:0 0 14px}.about-licenses{margin:0 0 18px}.about-licenses summary{cursor:pointer;margin-bottom:10px;font-weight:700}.about-licenses ul{margin:0 0 14px;padding-left:20px}.about-panel a{color:#b9dda2;overflow-wrap:anywhere}.about-panel .about-support-link{color:#eff5e9;background:#42563a;border:1px solid #829871;border-radius:4px;padding:8px 14px;font-weight:700;text-decoration:none;display:inline-block}.about-panel .about-support-link:hover{background:#536b49}:root[data-theme=light] .about-panel a{color:#35532b}:root[data-theme=light] .about-panel .about-support-link{color:#eff5e9}.updates-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.updates-list li{color:#c4cec1;border-top:1px solid #e1e7db24;padding-top:7px;font-size:11px;line-height:1.4}.device-effect-routing{border-bottom:1px solid #414a43;gap:7px;margin:0 0 12px;padding:0 2px 10px;display:grid}.device-effect-routing-controls{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:16px;display:flex}.instrument-effect-mix{justify-items:center;gap:5px;max-width:145px;display:grid}.instrument-effect-mix small{color:#62684f;font:8px var(--mono);text-align:center}.instrument-effect-mix .instrument-effect-status{box-sizing:content-box;width:9ch;font:700 8px var(--mono);text-align:center;white-space:nowrap;cursor:pointer;background:#202922;border:1px solid;border-radius:3px;padding:4px 7px}.instrument-effect-status:hover{filter:brightness(1.2)}.instrument-effect-status:focus-visible{outline-offset:3px;outline:2px solid #d6b07c}.instrument-effect-mix .instrument-effect-status--connected{color:#a1f278;text-shadow:0 0 6px #84eb5eb3;border-color:#568244;box-shadow:inset 0 0 7px #61b3412e}.instrument-effect-mix .instrument-effect-status--bypassed{color:#ff8d7c;text-shadow:0 0 6px #ff6450a6;border-color:#995143;box-shadow:inset 0 0 7px #c0412d2e}.effect-catalog-item[aria-pressed=true]{border-color:#c9b081;box-shadow:inset 0 0 0 1px #c9b081}.device-effect-route-buttons{flex-wrap:wrap;gap:5px;display:flex}.device-effect-route{color:#9ca79d;min-width:56px;min-height:28px;font:8px var(--mono);cursor:pointer;background:#292f2b;border:1px solid #59645a;border-radius:3px;align-items:center;gap:5px;padding:0 7px;display:inline-flex}.device-effect-route i{aspect-ratio:1;background:#555950;border:1px solid #61665e;border-radius:50%;width:6px}.device-effect-route--active{color:#f0d1a3;background:#3d342a;border-color:#b17943}.device-effect-route--active i{background:#d9984e;border-color:#e8b56d;box-shadow:0 0 5px #d9984e8c}.device-io-section{border-bottom:1px solid #414a43;gap:6px;margin:0 0 12px;padding:0 2px 10px;display:grid}.device-io-content{justify-content:space-between;align-items:center;gap:8px;display:flex}.instrument-routing-disclosure{display:block}.instrument-routing-disclosure>summary{cursor:pointer;min-height:28px;list-style:none}.instrument-routing-disclosure>summary::-webkit-details-marker{display:none}.instrument-routing-disclosure>summary:focus-visible{outline:2px solid var(--hardware-accent);outline-offset:2px}.instrument-routing-disclosure[open]>summary{margin-bottom:7px}.instrument-routing-chevron{flex:none;transform:rotate(-90deg)}.instrument-routing-disclosure[open] .instrument-routing-chevron{transform:rotate(0)}.pattern-bank-content{gap:4px;min-width:0;display:grid}.pattern-bank-panel--compact .pattern-bank-content{gap:3px}.drum-programmer-disclosure>summary{padding:4px 9px}.device-io-paths{gap:5px;min-width:0;display:grid}.device-io-caption{color:var(--muted);font:700 9px var(--mono)}.device-io-path{color:#e1e6de;font:10px/1.5 var(--mono);overflow-wrap:anywhere}.device-io-path b{color:#a8794f;padding:0 3px}.device-io-path--midi{color:#d2c99d}.device-io-none{color:#c4cec1;font:10px/1.5 var(--mono)}.device-io-actions{flex:none;gap:4px;display:flex}.device-io-button{color:#e2e7de;min-height:28px;font:700 8px var(--mono);cursor:pointer;background:#39453a;border:1px solid #818b7d;border-radius:3px;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.device-io-button:hover{color:#f1c69b;background:#465343;border-color:#d28a55}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.transport-bar{background:linear-gradient(90deg,#262d29,#202622 70%,#262c28);border-bottom:1px solid #38413b;align-items:center;gap:clamp(16px,2.5vw,34px);min-height:68px;padding:10px 24px;display:flex}.transport-buttons{align-items:center;gap:11px;display:flex}.transport-key{color:#353631;min-width:82px;height:50px;font:700 10px var(--mono);cursor:pointer;background:linear-gradient(#f2f0e8 0%,#d9d7ce 54%,#c0beb5 100%);border:1px solid #74736b;border-radius:4px;justify-content:center;align-items:center;gap:7px;padding:0 11px;transition:transform 80ms,box-shadow 80ms,filter .1s;display:inline-flex;position:relative;box-shadow:inset 0 1px #fff,inset 0 -3px #aaa89f,0 4px #77766f,0 5px 7px #00000052}.transport-key:hover:not(:disabled){filter:brightness(1.08)}.transport-key:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 2px 4px #0000003b,0 1px #77766f,0 2px 3px #00000040}.transport-key:disabled{opacity:.72;cursor:default}.transport-key--play{border-color:#748044}.transport-key--stop{border-color:#8c655a}.transport-key--play .transport-key-led{background:#98b448;box-shadow:0 0 5px 2px #98b44894}.transport-key--stop .transport-key-led{background:#be4936;box-shadow:0 0 5px 2px #be49368c}.transport-key-led{aspect-ratio:1;border:1px solid #ffffffa6;border-radius:50%;width:6px;position:absolute;top:5px;right:6px}.tempo-control,.select-control{gap:4px;display:grid}.tempo-control-label,.select-control>span{color:#a9b0a8;font:9px var(--mono)}.tempo-control-row{align-items:center;gap:6px;display:flex}.tempo-stepper{align-items:center;gap:5px;display:flex}.tempo-stepper button{color:#e5e2d9;cursor:pointer;background:linear-gradient(#666761,#3d403c);border:1px solid #88867d;border-radius:3px;place-items:center;width:27px;height:26px;padding:0;display:grid;box-shadow:inset 0 1px #ffffff40,inset 0 -3px #0000003d,0 2px #1c1e1b}.tempo-stepper button:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 3px #00000061,0 1px #1c1e1b}.tempo-stepper button:disabled{opacity:.38;cursor:default}.tempo-input{color:#f0eee5;width:53px;font:17px var(--mono);text-align:center;appearance:textfield;background:0 0;border:0;border-bottom:1px solid #777d74;border-radius:0;outline:0;padding:2px 0}.tempo-input::-webkit-inner-spin-button{appearance:none;margin:0}.tempo-input::-webkit-outer-spin-button{appearance:none;margin:0}.tempo-tap{color:#e6e2d7;min-width:49px;height:29px;font:700 8px var(--mono);cursor:pointer;background:linear-gradient(#5c5e58,#353834);border:1px solid #77766d;border-radius:3px;justify-content:center;align-items:center;gap:4px;padding:0 5px;display:inline-flex;box-shadow:inset 0 1px #fff3,inset 0 -3px #00000040,0 2px #1c1e1b}.tempo-tap:active,.tempo-tap--started{color:#fff0d2;border-color:#d4a45f;box-shadow:inset 0 2px 4px #0000006b,0 1px #1c1e1b}.select-control select{color:#e7e8de;min-width:72px;font:11px var(--mono);background:#242a26;border:1px solid #485149;border-radius:4px;padding:4px 19px 4px 7px}.swing-control{gap:3px;width:min(100px,11vw);min-width:78px;display:grid}.swing-control .hardware-knob-label{color:#e4e0d5;font-size:8px}.swing-control .hardware-knob-value{color:#e1bd79}input[type=range]{width:100%;height:18px;accent-color:var(--acid);cursor:pointer;margin:0}.midi-status{color:#f0a173;font:10px var(--mono);white-space:nowrap;align-items:center;gap:7px;margin-left:auto;display:flex}.midi-status .status-dot{background:#ef936c;box-shadow:0 0 10px #ef936c61}.midi-status--available{color:var(--cyan)}.midi-status--available .status-dot{background:var(--cyan);box-shadow:0 0 10px #6bd0c361}.studio-layout{grid-template-columns:minmax(210px,.68fr) minmax(0,3fr) minmax(160px,.54fr);align-items:stretch;gap:12px;max-width:1680px;margin:0 auto;padding:14px;display:grid}.mixer-effects-stack{align-content:start;gap:12px;min-width:0;display:grid}.panel{background:linear-gradient(155deg,#29302bfa,#1d231ffa);border:1px solid #414a43;border-radius:5px;min-width:0;box-shadow:0 8px 28px #0000002b}.rack-panel,.mixer-panel{padding:15px 13px}.mixer-panel{padding:12px 10px}.panel-heading{border-bottom:1px solid #414a43;justify-content:space-between;align-items:center;min-height:48px;padding:0 2px 12px;display:flex}.panel-heading h2{margin:3px 0 0;font-size:20px;line-height:1}.mixer-heading{min-height:40px;padding-bottom:8px}.rack-count{color:#748076;font:13px var(--mono)}.rack-heading-actions{align-items:center;gap:7px;display:flex}.rack-order-button{color:#bac4b9;min-height:30px;font:8px var(--mono);cursor:pointer;background:#282f2a;border:1px solid #59645a;border-radius:3px;align-items:center;gap:4px;padding:0 6px;display:inline-flex}.rack-order-button:hover{color:#dce9cf;border-color:#8da678}.rack-control-row{grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:6px;margin-top:11px;display:grid}.rack-add-button{color:#e0ebd3;width:auto;min-width:0;min-height:38px;font:700 9px var(--mono);cursor:pointer;background:linear-gradient(110deg,#46583a,#35422f);border:1px solid #849766;border-radius:3px;flex:1;justify-content:center;align-items:center;gap:8px;margin:0;padding:0 8px;display:flex;box-shadow:inset 0 1px #ffffff1f}.rack-add-button:hover{background:linear-gradient(110deg,#526944,#3d4c35);border-color:#bdd58c}.rack-edit-toggle{color:#99a397;cursor:pointer;background:#282e2a;border:1px solid #4e594f;border-radius:3px;place-items:center;width:40px;min-height:38px;padding:0;display:grid}.rack-edit-toggle svg{stroke-width:2.1px}.rack-edit-toggle:hover{color:#d0d8c9;border-color:#87947c}.rack-edit-toggle--enabled{color:#f0d6a7;background:#3b3429;border-color:#a98053}.rack-edit-toggle--enabled:hover{color:#ffe8bd;border-color:#d5a66d}.rack-edit-hint{color:#839174;font:8px var(--mono);text-align:center;margin:8px 1px 5px}.rack-list{gap:7px;padding:10px 0 14px;display:grid}.rack-device-row{--device-accent:var(--acid);background:linear-gradient(115deg,#343d37,#252b27 65%);border:1px solid #49534b;border-left:3px solid #667168;border-radius:4px;grid-template-columns:minmax(0,1fr);align-items:stretch;min-width:0;display:grid;position:relative;overflow:hidden}.rack-device-row--acid{--device-accent:var(--acid)}.rack-device-row--coral{--device-accent:var(--coral)}.rack-device-row--cyan{--device-accent:var(--cyan)}.rack-device-row--selected{border-color:var(--device-accent);border-left-color:var(--device-accent);background:linear-gradient(115deg,#3b473d,#292f2b 70%)}.rack-device-row .rack-device{box-shadow:none;background:0 0;border:0;border-radius:0}.rack-device-row .rack-device:hover{background:#ffffff08;border-color:#0000;transform:none}.rack-device-row .rack-device--selected{background:#ffffff0d;border-color:#0000}.rack-device-row .pattern-bank-panel--compact{color:#c4cec1;box-shadow:none;background:0 0;border:0;border-top:1px solid #e1e7db29;border-radius:0;margin:0;padding:4px 6px 6px}.rack-device-row--selected .pattern-bank-panel--compact{border-top-color:#ffffff3d}.rack-device-row--editable .rack-device{cursor:grab}.rack-device-header{min-width:0;position:relative}.rack-device-row--editable .rack-device:active{cursor:grabbing}.rack-device-row--dragging .rack-device{opacity:.55;border-style:dashed}.rack-device-row--drop-before:before,.rack-device-row--drop-after:after{z-index:3;content:"";pointer-events:none;background:#bfd58e;border-radius:2px;height:3px;position:absolute;left:3px;right:3px;box-shadow:0 0 0 1px #181f19b3,0 0 7px #adca748c}.rack-device-row--drop-before:before{top:-5px}.rack-device-row--drop-after:after{bottom:-5px}.rack-trash-drop{color:#d99480;min-height:43px;font:8px var(--mono);background:#73372b1f;border:1px dashed #a15d4b;border-radius:3px;justify-content:center;align-items:center;gap:8px;margin:0 0 12px;transition:border-color .14s,color .14s,background-color .14s;display:flex}.rack-trash-drop--active{outline-offset:2px;color:#ffd0be;background:#9c473452;border-color:#e18b71;outline:2px solid #e183694d}.rack-trash-drop--disabled{color:#747b73;background:0 0;border-color:#656b63}.rack-device{--device-accent:var(--acid);text-align:left;cursor:pointer;background:linear-gradient(115deg,#343d37,#252b27 65%);border:1px solid #49534b;border-left:3px solid #667168;border-radius:4px;grid-template-rows:1fr auto;grid-template-columns:32px minmax(42px,1fr) 8px;align-items:center;width:100%;min-width:0;min-height:92px;padding:11px 9px 36px;transition:border-color .14s,background-color .14s,transform .14s;display:grid}.rack-device:hover{border-color:#707b71;transform:translate(1px)}.rack-device-action{color:#89968a;cursor:pointer;background:#242a26;border:1px solid #465047;border-radius:2px;place-items:center;width:23px;height:23px;padding:0;display:grid}.rack-device-action:hover:not(:disabled){color:#dce9cf;background:#384337;border-color:#849766}.rack-device-action:disabled{opacity:.28;cursor:not-allowed}.rack-device-delete{z-index:1;position:absolute;bottom:9px;right:9px}.rack-device-delete .rack-device-action{color:#ffcfbd;background:#49342e;border-color:#ae7665;width:26px;height:26px}.rack-device-delete .rack-device-action:disabled{opacity:.4;color:#c4cec1;background:#303a33;border-color:#7d8a7e}.rack-device-delete .rack-device-action:focus-visible{outline:2px solid var(--device-accent);outline-offset:2px}.rack-device-delete .rack-device-action:hover:not(:disabled){color:#ffe1d5;background:#663b34;border-color:#ce755e}.rack-device--selected{border-color:var(--device-accent);border-left-color:var(--device-accent);background:linear-gradient(115deg,#3b473d,#292f2b 70%)}.rack-device--acid{--device-accent:var(--acid)}.rack-device--coral{--device-accent:var(--coral)}.rack-device--cyan{--device-accent:var(--cyan)}.rack-device--disabled{opacity:.5}.rack-device-index{color:#839087;font:9px var(--mono);align-self:start}.rack-device-name{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.rack-device-name strong{max-width:100%;color:var(--device-accent);font:500 17px var(--mono);text-overflow:ellipsis;white-space:nowrap;line-height:1.25;overflow:hidden}.rack-device-name small{color:#89938a;font:11px var(--mono);line-height:1.35}.rack-device-led{aspect-ratio:1;background:#68665e;border:1px solid #89867e;border-radius:50%;width:11px;transition:background-color .26s,border-color .26s,box-shadow .26s;box-shadow:inset 0 1px 2px #0000008c}.rack-device--selected:not(.rack-device--disabled) .rack-device-led{background:#ed7054;border-color:#fbebcf;box-shadow:0 0 5px 2px #ed7054b8,0 0 13px #ed70547a}.rack-device--disabled .rack-device-led{width:7px}.rack-device[data-audio-active=true] .rack-device-led{background:#70b980;border-color:#cce9d2;box-shadow:0 0 3px 1px #5bb26f7a}.rack-footnote{color:#778178;font:8px var(--mono);border-top:1px solid #3b443d;justify-content:space-between;align-items:center;gap:6px;padding-top:10px;display:flex}.rack-empty-message{color:var(--muted);font-size:12px;line-height:1.5}.rack-screw{aspect-ratio:1;border:1px solid #677168;border-radius:50%;width:5px}.instrument-panel{padding:0 18px 14px;overflow:hidden}.instrument-panel--empty{text-align:center;place-items:center;min-height:420px;padding:32px 24px;display:grid}.instrument-panel--empty h2{margin:0 0 12px;font-size:20px}.instrument-panel--empty p{max-width:42ch;color:var(--muted);margin:0;font-size:14px;line-height:1.6}.instrument-heading{border-bottom:1px solid #414a43;justify-content:space-between;align-items:center;gap:18px;min-height:94px;display:flex}.instrument-title-block{min-width:0}.instrument-tag{color:var(--acid);font:9px var(--mono)}.instrument-tag--coral{color:var(--coral)}.instrument-tag--cyan{color:var(--cyan)}.instrument-title-block h2{text-overflow:ellipsis;white-space:nowrap;margin:5px 0 1px;font-size:23px;line-height:1.05;overflow:hidden}.instrument-title-block p{color:var(--muted);margin:0;font-size:11px}.instrument-title-block p span{color:#667068;padding:0 4px}.power-switch{color:#8c978d;font:9px var(--mono);cursor:pointer;background:#202622;border:1px solid #4c554d;border-radius:4px;align-items:center;gap:7px;padding:7px 9px;display:flex}.power-switch--on{color:var(--acid);border-color:#68784e}.power-indicator{aspect-ratio:1;background:#77766e;border:1px solid #aaa79e;border-radius:50%;width:10px;box-shadow:inset 0 1px 2px #0009}.power-switch--on .power-indicator{background:#eb6045;border-color:#ffe4bf;box-shadow:0 0 5px 2px #eb6045b8,0 0 12px #eb60457a}.control-section{border-bottom:1px solid #3c453e;padding:14px 1px 16px}.section-label{color:#96a298;font:9px var(--mono);align-items:center;gap:7px;display:flex}.section-rule{background:#414a43;flex:1;height:1px}.control-strip{grid-template-columns:repeat(5,minmax(72px,1fr));gap:12px;margin-top:15px;display:grid}.control{gap:5px;min-width:0;display:grid}.control-label{color:#c5cdc4;font-size:10px}.control-value{color:var(--acid);font:10px var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.control input{accent-color:var(--acid)}.instrument-panel:has(.instrument-tag--coral) .control input{accent-color:var(--coral)}.instrument-panel:has(.instrument-tag--cyan) .control input{accent-color:var(--cyan)}.sequencer-section{padding-top:15px}.device-io-section+.sequencer-section,.device-io-section+.sequencer-section .drum-machine-editor{padding-top:0}.sequencer-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:13px;display:flex}.sequencer-heading h3{align-items:center;gap:8px;margin:4px 0 0;font-size:16px;display:flex}.pattern-dot{aspect-ratio:1;background:var(--acid);border-radius:50%;width:7px;box-shadow:0 0 9px #d8f27680}.pattern-length{color:#89948a;font:9px var(--mono);white-space:nowrap}.pattern-length span{color:#667168;padding:0 3px}.pattern-tools{align-items:center;gap:11px;display:flex}.accent-mode-button{color:#adb7ac;font:8px var(--mono);cursor:pointer;background:#252c27;border:1px solid #4c554d;border-radius:3px;align-items:center;gap:4px;padding:4px 6px;display:inline-flex}.accent-mode-button--active{border-color:var(--acid);color:#20251d;background:var(--acid)}.step-grid-scroll{scrollbar-color:#68736a #242a26;scrollbar-width:thin;width:100%;padding:2px 1px 8px;overflow-x:auto}.step-grid{grid-template-columns:78px repeat(var(--step-count), minmax(24px, 1fr));min-width:calc(78px + var(--step-count) * 28px);gap:4px 3px;display:grid}.step-corner,.step-number{color:#657067;min-height:19px;font:8px var(--mono);place-items:center;display:grid}.step-corner{justify-content:start;padding-left:4px}.step-number--beat{color:#bec7bc}.track-row{display:contents}.track-name{color:#c5cdc4;text-overflow:ellipsis;white-space:nowrap;align-items:center;min-height:31px;padding:0 4px;font-size:10px;display:flex;overflow:hidden}.step-cell{cursor:pointer;background:#252c27;border:1px solid #49524b;border-radius:3px;min-width:0;min-height:31px;padding:0;transition:background-color 90ms,border-color 90ms,box-shadow 90ms}.step-cell:hover{background:#354038;border-color:#a1ad9c}.step-cell--beat{border-left-color:#6b776d;position:relative}.step-beat-guide{color:#bec7bc;pointer-events:none;border-top:2px solid;align-items:start;min-height:27px;display:flex;position:relative}.step-beat-guide:before,.step-beat-guide:after{content:"";border-left:2px solid;height:5px;position:absolute;top:0}.step-beat-guide:before{left:0}.step-beat-guide:after{right:0}.step-beat-guide-label{font:700 9px var(--mono);white-space:nowrap;margin-top:4px;padding:0 3px 7px;position:relative}.step-beat-guide-label:after{content:"";border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;position:absolute;bottom:0;left:12px}.bassline-step-bank .step-beat-guide,.step-grid--drum .step-beat-guide{color:#793c2d}.bassline-step-key--beat .bassline-step-number{font-weight:700}.step-cell--acid{background:linear-gradient(145deg,#d8f276,#9cb84d);border-color:#85944e;box-shadow:inset 0 1px 2px #ffffff40,0 0 9px #d8f2761f}.step-cell--coral{background:linear-gradient(145deg,#ff8b70,#d65749);border-color:#bf5f50}.step-cell--cyan{background:linear-gradient(145deg,#7bd8ca,#399d98);border-color:#4a9991}.step-cell--accent:after{content:"";background:#f5f2df;border:1px solid #161a18bf;border-radius:50%;width:5px;height:5px;margin:auto;display:block}.step-cell--playhead{z-index:1;box-shadow:0 0 0 2px #f5f2df,0 0 11px #ffffff59}.pattern-footer{color:#8b968c;min-height:28px;font:8px var(--mono);align-items:center;gap:15px;display:flex}.pattern-footer>span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.legend-swatch{background:#303832;border-radius:2px;width:8px;height:8px}.legend-swatch--active{background:var(--acid)}.legend-swatch--playhead{outline:1px solid #eee}.pattern-bank{color:#a1aba1;margin-left:auto}.pattern-bank span{color:#647067;padding:0 3px}.mixer-mute-button{color:#454740;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;place-items:center;width:30px;height:30px;padding:0;display:grid}.mixer-mute-button:hover{background:#ffffff47;border-color:#9b9a90}.mixer-mute-button--muted{color:#a74330;background:#f3d5cc;border-color:#ad4632}.effects-panel{padding:11px 10px 10px}.effects-panel-heading{flex-wrap:wrap;gap:6px;min-height:34px;padding:0 2px 8px}.effects-panel-heading h2{margin:0;font-size:18px}.effects-panel-toggle{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:flex}.effects-panel-toggle svg{flex:none;transition:transform .22s}.effects-panel-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.effect-modules{gap:6px;padding-top:8px;display:grid}.effect-module{background:#2326230d;border:1px solid #aaa99f;border-radius:3px;overflow:hidden}.effect-module-heading{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:4px;min-height:64px;padding:4px 7px 7px;display:grid}.effect-module-heading .effect-collapse-button{grid-area:1/1/auto/-1;width:100%}.effect-collapse-button{color:#343530;min-width:0;min-height:30px;font:700 11px var(--mono);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:flex}.effect-collapse-button>span:last-child{overflow-wrap:anywhere;min-width:0}.effect-collapse-button svg{flex:none;transition:transform .22s}.effect-collapse-button[aria-expanded=false] svg{transform:rotate(-90deg)}.effect-io-button{color:#696a62;cursor:pointer;background:#d0cec5;border:1px solid #a19f95;border-radius:3px;place-items:center;width:24px;height:24px;padding:0;display:grid}.effect-io-button:hover:not(:disabled){color:#8a5134;border-color:#a17955}.effect-io-button:disabled{opacity:.35;cursor:not-allowed}.effect-rack-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:4px;display:grid}.effect-order-button{margin-left:auto}.effect-rack-button{color:#d3ddc5;min-height:30px;font:9px var(--mono);cursor:pointer;background:#333d30;border:1px solid #66715e;border-radius:3px;justify-content:center;align-items:center;gap:5px;padding:5px 8px;display:inline-flex}.effect-rack-button:hover:not(:disabled){background:#46543e}.effect-rack-button:disabled{opacity:.4;cursor:not-allowed}.effect-rack-count,.effect-rack-hint{color:#9aa592;font:9px var(--mono)}.effect-rack-hint{margin:8px 0 2px;line-height:1.5}.effect-trash-drop{color:#8a4534;margin:8px 0 0}.effect-trash-drop.rack-trash-drop--active{color:#71301e}.effect-drag-handle{color:#696a62;font:8px var(--mono);padding:5px 0}.effect-drag-handle--enabled{cursor:grab}.effect-drag-handle--enabled:active{cursor:grabbing}.effect-module--dragging{opacity:.55}.effect-catalog,.effect-order-list{gap:8px;margin-top:15px;display:grid}.effect-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}.effect-catalog-card{grid-template-rows:1fr auto;gap:4px;min-width:0;display:grid}.effect-catalog-item{color:#d3ddc5;text-align:left;overflow-wrap:anywhere;cursor:pointer;background:#333d30;border:1px solid #66715e;border-radius:3px;grid-template-columns:auto minmax(0,1fr);align-content:start;align-items:center;gap:6px 10px;min-width:0;min-height:94px;padding:12px;display:grid}.effect-catalog-item:hover{background:#46543e}.effect-catalog-item span{grid-column:2;font-size:11px}.effect-order-row{color:#d3ddc5;font:11px var(--mono);border-bottom:1px solid #66715e;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px;display:grid}.effect-module-actions{justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.effect-signal{aspect-ratio:1;background:#84847a;border:1px solid #77776e;border-radius:50%;flex:0 0 7px;width:7px}.effect-signal--active{background:#8fb75a;border-color:#719748;box-shadow:0 0 7px 2px #8fb75a94}.effect-power{color:#5a5b54;cursor:pointer;background:#d0cec5;border:1px solid #929187;border-radius:3px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex}.effect-power--on{color:#42582d;background:#d4dfc3;border-color:#66824c}.effect-content-clip{grid-template-rows:1fr;transition:grid-template-rows .22s;display:grid}.effect-content-clip--collapsed{grid-template-rows:0fr}.effect-primary-controls{padding:8px 0}.audio-safety-status{color:var(--ink);border:1px solid #668c77;border-radius:4px;gap:5px;margin-bottom:12px;padding:8px;font-size:11px;display:grid}.audio-safety-status strong{color:#68ba95;font:10px var(--mono)}.audio-safety-status small{line-height:1.4}.audio-safety-status--tripped{color:#ffe8cd;background:#39261f;border-color:#dd7957}.audio-safety-status--tripped strong{color:#ffb88b}.effect-module-content{min-height:0;padding:2px 8px 9px;overflow:hidden}.effect-content-clip--collapsed .effect-module-content{padding-top:0;padding-bottom:0}.effect-control-stack{gap:5px;display:grid}.effect-knob-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 6px;display:grid}.effect-choice{color:#41423c;font:9px var(--mono);grid-template-columns:45px minmax(0,1fr);align-items:center;gap:5px;display:grid}.effect-choice select{color:#343530;width:100%;min-width:0;font:inherit;background:#e0ded5;border:1px solid #929187;border-radius:3px;padding:3px}.effect-editor-dialog{width:min(640px,100vw - 28px);max-height:calc(100dvh - 32px);overflow:auto}.effect-editor-faceplate{color:#343530;background:linear-gradient(#e0ded5,#c9c7be);border:1px solid #aaa99f;border-radius:4px;gap:18px;padding:22px;display:grid}.effect-editor-faceplate>button{justify-self:start}.effect-editor-faceplate .effect-control-stack{gap:18px}.effect-editor-faceplate .effect-knob-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:22px}.effect-editor-faceplate .effect-choice{grid-template-columns:85px minmax(0,1fr);gap:10px;font-size:13px}.effect-editor-faceplate .effect-choice select{min-height:36px}.effect-editor-faceplate .hardware-knob .rotary-dial{width:64px}.effect-editor-faceplate .hardware-knob .hardware-knob-label,.effect-editor-faceplate .hardware-knob .hardware-knob-value{font-size:12px}.effect-editor-faceplate .delay-step-control{gap:10px;min-height:40px}.effect-editor-faceplate .delay-step-label,.effect-editor-faceplate .delay-step-control output{font-size:12px}.effect-editor-faceplate .delay-step-display{height:16px}.effect-editor-faceplate .delay-step-buttons button{width:32px;height:32px}@media (width<=560px){.effect-editor-faceplate{padding:14px}}.delay-step-control{grid-template-columns:auto minmax(30px,1fr) auto auto;align-items:center;gap:6px;min-height:28px;display:grid}.delay-step-label{color:#55564f;font:8px var(--mono)}.delay-step-display{grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;height:10px;display:grid}.delay-step-display i{background:#aaa89e;border:1px solid #8e8b7f;border-radius:1px}.delay-step-display i.delay-step-segment--active{background:linear-gradient(#e6a166,#b96739);border-color:#a85c31;box-shadow:inset 0 1px #fff6}.delay-step-control output{color:#45463f;font:700 9px var(--mono)}.delay-step-buttons{gap:3px;display:flex}.delay-step-buttons button{color:#41423c;cursor:pointer;background:#d4d2c9;border:1px solid #97968c;border-radius:3px;place-items:center;width:22px;height:22px;padding:0;display:grid}.delay-step-buttons button:disabled{opacity:.42;cursor:default}.effect-knob-row{justify-content:space-evenly;gap:6px;display:flex}.effect-knob-row--three{gap:2px}.midi-panel,.io-routing-panel{padding:11px}.midi-panel-heading,.io-routing-heading{gap:8px;min-height:36px;padding:0 2px 8px}.midi-panel-heading h2,.io-routing-heading h2{color:#e7eae4;margin:0;font-size:13px;line-height:1.25}.midi-panel-title{color:#d9ded6;flex:1;align-items:center;gap:5px;min-width:0;display:flex}.midi-panel-title h2{margin:0}.midi-panel-title>svg{flex:0 0 14px;width:14px;height:14px}.midi-panel-heading>button,.io-routing-heading>button{flex-shrink:0}.midi-enable-switch{color:#e4e7de;min-width:58px;min-height:28px;font:700 9px var(--mono);cursor:pointer;background:#394239;border:1px solid #879181;border-radius:3px;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.midi-enable-switch i{background:#9ca39a;border-radius:5px;width:8px;height:13px;box-shadow:inset 0 1px 2px #00000047}.midi-enable-switch--on{color:#eff6e6;background:#41553a;border-color:#91ad6d}.midi-enable-switch--on i{background:#a6ce6d;box-shadow:0 0 5px #a6ce6d8c}.midi-enable-switch:disabled{opacity:.58;cursor:not-allowed}.midi-panel-body{gap:6px;padding-top:7px;display:grid}.midi-support-message{color:#c2c9c0;overflow-wrap:anywhere;margin:4px 2px;font-size:10px;line-height:1.45}.midi-panel-body>.midi-configure-button{width:100%}.midi-configure-button,.io-routing-open{color:#edf0e8;min-height:32px;font:700 9px var(--mono);cursor:pointer;background:#3b493b;border:1px solid #81907f;border-radius:3px;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.midi-configure-button:hover,.io-routing-open:hover{color:#f3c99f;background:#4a4b3e;border-color:#c3895a}.midi-configure-button:disabled{opacity:.52;cursor:not-allowed}.midi-config-dialog{width:min(760px,100vw - 28px);max-width:none;max-height:calc(100dvh - 32px);overflow:auto}.io-routing-dialog{width:min(1320px,100vw - 32px);max-width:none;max-height:calc(100dvh - 28px);overflow:auto}.midi-device-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.midi-device-list{background:#2a312c;border:1px solid #58645a;border-radius:4px;gap:8px;min-width:0;margin:0;padding:12px;display:grid}.midi-device-list legend,.master-io-config h3,.io-route-editor h3{color:#e7ebe3;padding:0 4px;font-size:13px;font-weight:700}.midi-device-list label,.midi-config-flags label{color:#d4d9d1;align-items:center;gap:8px;font-size:12px;display:flex}.midi-device-list input,.midi-config-flags input{accent-color:#c17b49}.midi-device-list p{color:#aeb8ad;margin:2px 0;font-size:11px}.midi-config-options{flex-wrap:wrap;gap:14px;margin:14px 0;display:flex}.midi-config-options label{color:#d0d6cd;font:10px var(--mono);gap:5px;display:grid}.midi-config-options select,.master-io-row select,.io-flow-edit select,.io-route-add select,.device-route-row select,.device-route-add select{color:#252923;background:#e1e0d7;border:1px solid #989d91;border-radius:3px;min-width:0;min-height:36px;padding:7px 10px;font-size:12px}.midi-config-flags{flex-wrap:wrap;gap:18px;padding:12px 0;display:flex}.midi-map-dialog{width:min(720px,100vw - 28px)}.midi-map-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;margin:14px 0;display:grid}.midi-map-form label{color:#d0d6cd;min-width:0;font:10px var(--mono);gap:5px;display:grid}.midi-map-form input,.midi-map-form select{color:#252923;background:#e1e0d7;border:1px solid #989d91;border-radius:3px;width:100%;min-width:0;min-height:36px;padding:7px 9px;font-size:12px}.midi-map-form .midi-map-target{grid-column:span 2}.midi-map-list{gap:6px;margin-top:14px;display:grid}.midi-map-item{color:#e1e7df;font:10px var(--mono);background:#2b332d;border:1px solid #58645a;border-radius:3px;grid-template-columns:minmax(0,1fr) minmax(90px,.6fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.midi-map-item span,.midi-map-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.midi-map-item small{color:#adb7ac}.io-routing-summary{color:#b7c0b6;font:9px/1.5 var(--mono);gap:3px;padding-top:6px;display:grid}.io-segmented-control{background:#252d28;border:1px solid #526054;border-radius:4px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.io-segmented-control button{color:#c1c9c0;min-height:34px;font:700 10px var(--mono);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.io-segmented-control button[aria-pressed=true]{color:#f0f3ea;background:#46533f;border-color:#788a70}.io-segmented-control button small{color:#d0b78e;font:10px var(--mono)}.master-io-config,.io-route-editor{border-top:1px solid #566057;margin-top:10px;padding-top:9px}.master-io-config h3,.io-route-editor h3{justify-content:space-between;margin:0 0 10px;display:flex}.master-io-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px;margin:8px 0;display:grid}.master-io-row label{color:#d0d6cd;min-width:0;font:10px var(--mono);gap:5px;display:grid}.master-io-row select{width:100%}.master-io-row select:disabled{opacity:.7}.io-hardware-note{color:#aeb8ad;margin:8px 2px 0;font-size:11px}.io-route-title-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.io-route-title-row small{color:#aeb8ad;font:10px var(--mono)}.io-utility-disclosure{background:#252d28;border:1px solid #4c5a4f;border-radius:4px;margin-top:9px}.io-utility-disclosure>summary{color:#dce3da;min-height:30px;font:700 9px var(--mono);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:0 9px;display:flex}.io-utility-disclosure>summary::marker{color:#d39a68}.io-utility-disclosure>summary small{color:#aeb8ad;font:8px var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.io-utility-disclosure[open]>summary{border-bottom:1px solid #4c5a4f}.io-utility-disclosure>summary:after{content:"";border-bottom:1px solid #d39a68;border-right:1px solid #d39a68;width:6px;height:6px;margin-left:5px;transform:rotate(45deg)translateY(-2px)}.io-utility-disclosure[open]>summary:after{transform:rotate(225deg)translate(-1px,-1px)}.io-utility-disclosure .master-io-config{border:0;margin:0;padding:9px 10px}.io-route-disclosure{margin:0 0 9px}.io-route-tools{background:#252d28;border:1px solid #4c5a4f;border-radius:4px;grid-template-columns:minmax(190px,1.3fr) repeat(3,minmax(130px,1fr)) auto;align-items:end;gap:8px;margin:0 0 10px;padding:10px;display:grid}.io-route-tools label{color:#cbd3c8;min-width:0;font:9px var(--mono);gap:5px;display:grid}.io-route-tools select,.io-route-search-input{color:#252923;width:100%;min-width:0;min-height:35px;font:11px var(--mono);background:#e1e0d7;border:1px solid #899383;border-radius:3px}.io-route-tools select{padding:6px 8px}.io-route-search-input{align-items:center;gap:6px;padding:0 8px;display:flex}.io-route-search-input svg{color:#565e53;flex:none}.io-route-search-input input{color:#252923;width:100%;min-width:0;font:11px var(--mono);background:0 0;border:0;outline:0;padding:0}.io-route-search-input input::placeholder{color:#6e7469;opacity:1}.io-route-search-input:focus-within{outline:2px solid var(--acid);outline-offset:2px}.io-route-clear{color:#dce3da;min-height:35px;font:9px var(--mono);cursor:pointer;background:#354037;border:1px solid #687467;border-radius:3px;justify-content:center;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.io-route-clear:hover{color:#ffd1a6;border-color:#cc8b59}.io-flow-list{gap:8px;max-height:min(42dvh,470px);padding:2px 3px 8px;display:grid;overflow:auto}.io-flow-row{background:#29312c;border:1px solid #4d5b50;border-radius:4px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:9px;display:grid}.io-flow-diagram{grid-template-columns:minmax(0,1fr) minmax(54px,.25fr) minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.io-flow-node{background:#343e37;border:1px solid #687468;border-radius:3px;align-content:center;gap:3px;min-width:0;min-height:58px;padding:8px 10px;display:grid}.io-flow-node--source{border-left:3px solid #c17b49}.io-flow-node--target{border-left:3px solid #8ba866}.io-flow-node small{color:#aeb9ac;font:9px var(--mono);text-transform:uppercase}.io-flow-node strong{color:#edf0e9;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.io-flow-node span{color:#c8d0c6;font:10px var(--mono)}.io-flow-wire{color:#d39a68;justify-content:center;align-items:center;gap:4px;min-width:0;display:flex}.io-flow-wire i{border-top:1px solid #ba8152;flex:auto;min-width:8px}.io-flow-wire small{color:#e1c7a4;font:9px var(--mono);white-space:nowrap}.io-flow-actions{gap:5px;display:flex}.io-flow-empty{color:#bdc6bc;text-align:center;border:1px dashed #58645a;margin:0;padding:24px 14px;font-size:12px}.io-flow-edit{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.io-flow-edit label,.io-route-add label,.device-route-add label{color:#d0d6cd;min-width:0;font:10px var(--mono);gap:5px;display:grid}.io-chain-list{gap:9px;max-height:min(42dvh,500px);padding:2px 3px 8px;display:grid;overflow-y:auto}.io-chain-row{background:#29312c;border:1px solid #4d5b50;border-radius:4px;min-width:0;padding:9px 10px 10px}.io-chain-caption{color:#cbd3c8;font:9px var(--mono);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.io-chain-caption span{color:#d8a275;font-weight:700}.io-chain-caption small{color:#aeb8ad;font:9px var(--mono)}.io-chain-track{scrollbar-color:#768372 #222a24;scrollbar-width:thin;align-items:stretch;width:100%;min-width:0;padding-bottom:3px;display:flex;overflow-x:auto}.io-chain-node{background:#343e37;border:1px solid #687468;border-left:3px solid #c17b49;border-radius:3px;flex:0 0 124px;align-content:center;gap:5px;min-height:90px;padding:9px;display:grid}.io-chain-node--effect{background:#384239;border-left-color:#a5b77c}.io-chain-node--master{background:#33413f;border-left-color:#77aaa0}.io-chain-node--external{background:#33403f;border-left-color:#829fa0}.io-chain-node--merge{border-top-color:#d49b64;border-bottom-color:#d49b64;border-right-color:#9a744d;box-shadow:inset 0 0 0 1px #d49b6424}.io-chain-node-meta{justify-content:space-between;align-items:center;gap:4px;display:flex}.io-chain-node-meta>small{color:#aeb9ac;font:8px var(--mono)}.io-chain-node-kind{color:#f0c18f;font:700 8px var(--mono);background:#493a2e;border:1px solid #765a42;border-radius:2px;padding:2px 4px}.io-chain-node-kind--effect{color:#d3e6ad;background:#394431;border-color:#687852}.io-chain-node-kind--master{color:#b4ddd4;background:#2c403c;border-color:#557b73}.io-chain-node-kind--external{color:#c4dddd;background:#2d403f;border-color:#607879}.io-chain-node strong{overflow-wrap:anywhere;color:#edf0e9;font-size:12px;line-height:1.2}.io-chain-node-ports{flex-wrap:wrap;gap:4px;display:flex}.io-chain-node-ports>span{color:#cbd5c7;font:8px var(--mono);background:#29322b;border:1px solid #58685a;border-radius:2px;align-items:center;gap:4px;padding:3px 4px;display:inline-flex}.io-chain-node-ports>.io-chain-port--shared{color:#ffe0ba;background:#493a2e;border-color:#c4915c}.io-chain-port--shared b{color:#252923;min-width:14px;height:14px;font:700 8px var(--mono);background:#e0ad74;border-radius:50%;place-items:center;display:inline-grid}.io-chain-merge-point{color:#f0c18f;background:#513f2c8f;border-left:2px solid #dda56b;align-items:flex-start;gap:4px;padding:4px;display:flex}.io-chain-merge-point>svg{flex:none;margin-top:1px}.io-chain-merge-point>span{gap:2px;min-width:0;display:grid}.io-chain-merge-point b{font:700 8px var(--mono)}.io-chain-merge-point small{overflow-wrap:anywhere;color:#d6c2a7;font:7px var(--mono)}.io-chain-link{background:#252d28;border-top:1px solid #56645a;border-bottom:1px solid #56645a;flex:0 0 166px;align-content:center;gap:8px;min-width:0;padding:7px;display:grid}.io-chain-connection{color:#e2c29c;font:9px var(--mono);text-align:center;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:4px;display:grid}.io-chain-connection span{overflow-wrap:anywhere}.io-chain-connection svg{color:#d39a68}.io-chain-send{color:#d9c7a8;font:9px var(--mono);text-align:center}.io-chain-shared{color:#aeb8ad;font:8px var(--mono);text-align:center}.io-chain-edge-actions{justify-content:center;gap:5px;display:flex}.io-chain-edge-actions .io-route-action{width:28px;height:27px}.io-chain-edit{gap:6px;display:grid}.io-chain-edit label{color:#d0d6cd;font:9px var(--mono);gap:4px;display:grid}.io-chain-edit select{width:100%;min-height:30px;padding:4px 6px;font-size:10px}.io-chain-edit .io-edit-gain input{min-height:23px}.io-graph-workbench{gap:9px;display:grid}.io-graph-modebar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.io-tool-palette{background:#252d28;border:1px solid #526054;border-radius:4px;align-items:center;gap:3px;padding:3px;display:inline-flex}.io-tool-button{color:#c4ccc1;min-width:70px;min-height:32px;font:700 9px var(--mono);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:5px;padding:0 8px;transition:color .12s,background-color .12s,border-color .12s;display:inline-flex}.io-tool-button:hover{color:#f0f3e9;background:#374239;border-color:#6a7968}.io-tool-button--active{color:#f1f4e8;background:#43513e;border-color:#829273;box-shadow:inset 0 -2px #b9c991}.io-tool-button--active[title^=Move]{color:#ffe2b7;background:#4a3e2d;border-color:#c59a5c;box-shadow:inset 0 -2px #dfad69}.io-tool-button--active[title^=Add]{color:#ffe0c2;background:#4d382b;border-color:#c17b49;box-shadow:inset 0 -2px #de9d61}.io-tool-button--delete{color:#d9b6ac}.io-tool-button--delete.io-tool-button--active{color:#ffe3dc;background:#51352f;border-color:#a96555;box-shadow:inset 0 -2px #d08169}.io-tool-button[aria-pressed=true]{cursor:default}.io-tool-button:focus-visible{outline-offset:2px;outline:2px solid #e3ba85}.io-auto-layout-button{color:#d8e0d5;min-height:34px;font:700 9px var(--mono);cursor:pointer;background:#303a32;border:1px solid #657363;border-radius:3px;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.io-auto-layout-button:hover{color:#f1f4e8;background:#3b483b;border-color:#91a780}.io-graph-history-actions{align-items:center;gap:5px;display:inline-flex}.io-history-button{color:#d8e0d5;cursor:pointer;background:#303a32;border:1px solid #657363;border-radius:3px;place-items:center;width:34px;height:34px;padding:0;display:grid}.io-history-button:hover:not(:disabled){color:#f1f4e8;background:#3b483b;border-color:#91a780}.io-history-button:disabled{opacity:.4;cursor:default}.io-history-button:focus-visible{outline-offset:2px;outline:2px solid #e3ba85}.io-add-helper{color:#d7dfd3;background:#2c342d;border-left:2px solid #c17b49;margin:0;padding:8px 10px;font-size:10px}.io-graph-mode-toggle{color:#d8e0d5;min-height:34px;font:700 9px var(--mono);cursor:pointer;background:#303a32;border:1px solid #657363;border-radius:3px;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.io-graph-mode-toggle:hover{color:#f0c391;border-color:#b58153}.io-graph-mode-toggle--on{color:#ffe0ba;background:#4a3a2d;border-color:#c18b59}.io-graph-trash-drop{color:#efb4a0;min-height:32px;font:700 8px var(--mono);background:#3d2e2a;border:1px dashed #9a6253;border-radius:3px;align-items:center;gap:6px;padding:0 9px;transition:transform .12s,border-color .12s,background-color .12s;display:inline-flex}.io-graph-trash-drop[data-io-delete]:hover{color:#ffe0d5;background:#583b34;border-color:#e0876d}.io-graph-trash-drop[data-armed=true]{color:#fff0e7;background:#713b32;border-style:solid;border-color:#ffb79b;transform:scale(1.04);box-shadow:0 0 0 2px #e0735238}.io-graph-viewport{scrollbar-color:#768372 #222a24;scrollbar-width:thin;background:repeating-linear-gradient(0deg,#0000 0 31px,#d2dfcf0a 31px 32px),#242c27;border:1px solid #4d5b50;border-radius:4px;max-height:min(52dvh,520px);overflow:auto}.io-graph-stage{min-width:100%;position:relative}.io-graph-svg{z-index:1;pointer-events:none;position:absolute;inset:0 auto auto 0;overflow:visible}.io-graph-svg--interactive{pointer-events:auto}.io-graph-svg marker path{fill:#d09260;stroke:none}.io-graph-svg--midi marker path{fill:#83b1a8}.io-graph-edge{fill:none;stroke:#c68b5d;stroke-width:2.5px;vector-effect:non-scaling-stroke;transition:stroke .12s,stroke-width .12s,opacity .12s}.io-graph-svg--midi .io-graph-edge{stroke:#83b1a8}.io-graph-edge-hit{fill:none;stroke:#0000;stroke-width:18px;vector-effect:non-scaling-stroke;pointer-events:none}.io-graph-svg--interactive .io-graph-edge-hit{cursor:pointer;pointer-events:stroke}.io-graph-svg--edit .io-graph-edge-hit{cursor:pointer}.io-graph-svg--move .io-graph-edge-hit{cursor:grab}.io-graph-svg--delete .io-graph-edge-hit{cursor:pointer}.io-graph-svg--interactive .io-graph-edge{cursor:pointer;pointer-events:stroke}.io-graph-svg .io-graph-shared-tail{pointer-events:none}.io-graph-svg--delete .io-graph-edge:hover{stroke:#df8b72;stroke-width:4px}.io-graph-svg--move .io-graph-edge--grabbed{stroke:#fff0d0;stroke-width:5px;cursor:grabbing;opacity:.88}.io-graph-svg .io-graph-edge--selected{stroke:#ffe0a9;stroke-width:4px}.io-graph-svg .io-graph-edge--preview{stroke:#e1c091;stroke-width:3px;stroke-dasharray:7 5;pointer-events:none}.io-graph-svg--midi .io-graph-edge--preview{stroke:#acd0c1}.io-graph-svg .io-graph-edge--preview.io-graph-edge--snap{stroke:#d9e7ac;stroke-dasharray:none;stroke-width:4px}.io-graph-svg .io-graph-edge--preview.io-graph-edge--unsnapped{stroke:#e6a28b}.io-graph-svg .io-graph-edge--settled{animation:1.4s ease-in-out io-wire-sway}@keyframes io-wire-sway{0%,to{d:var(--io-wire-rest)}18%{d:var(--io-wire-sway)}40%{d:var(--io-wire-rebound)}62%{d:var(--io-wire-settle)}82%{d:var(--io-wire-final-swing)}}.io-graph-snap-indicator{fill:none;stroke:#e5f0bd;stroke-width:2px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;pointer-events:none;animation:.72s ease-in-out infinite alternate io-snap-pulse}@keyframes io-snap-pulse{0%{r:8px;opacity:.55}to{r:13px;opacity:1}}.io-graph-junction{fill:#e0ad74;stroke:#27302a;stroke-width:2px;vector-effect:non-scaling-stroke}.io-graph-junction--output{fill:#9fc7a2}.io-graph-node{z-index:2;background:#343e37;border:1px solid #687468;border-left:4px solid #c17b49;border-radius:4px;grid-template-rows:54px 1fr;display:grid;position:absolute;box-shadow:0 4px 12px #00000038}.io-graph-node--effect{background:#384239;border-left-color:#a5b77c}.io-graph-node--master{background:#33413f;border-left-color:#77aaa0}.io-graph-node--external{background:#33403f;border-left-color:#829fa0}.io-graph-node-heading{border-bottom:1px solid #58645a;align-content:center;gap:4px;min-width:0;padding:5px 8px;display:grid}.io-graph-node-heading--movable{cursor:grab;-webkit-user-select:none;user-select:none}.io-graph-viewport--moving .io-graph-node-heading--movable:hover{color:#fff0d0;background:#45503e}.io-graph-node--moving{z-index:4;border-color:#e1c091;box-shadow:0 8px 20px #0000007a,0 0 0 2px #e1c09147}.io-graph-node--moving .io-graph-node-heading--movable{cursor:grabbing;background:#4a4538}.io-graph-node-heading strong{color:#edf0e9;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.io-graph-node-kind{color:#f0c18f;font:700 8px var(--mono);background:#493a2e;border:1px solid #765a42;border-radius:2px;justify-self:start;padding:2px 4px}.io-graph-node-kind--effect{color:#d3e6ad;background:#394431;border-color:#687852}.io-graph-node-kind--master{color:#b4ddd4;background:#2c403c;border-color:#557b73}.io-graph-node-kind--external{color:#c4dddd;background:#2d403f;border-color:#607879}.io-graph-node-ports{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px;min-width:0;padding:0 8px 18px;display:grid}.io-graph-port-list{grid-auto-rows:24px;align-content:start;min-width:0;display:grid}.io-graph-port{color:#d8e0d5;min-width:0;height:24px;font:9px var(--mono);background:#29322b;border:0;border-bottom:1px solid #526055;align-items:center;gap:3px;padding:0 4px;display:flex;position:relative}.io-graph-port--target{text-align:left;justify-content:flex-start;width:calc(100% + 8px);margin-left:-8px;padding-left:19px}.io-graph-port--source{text-align:right;justify-content:flex-end;width:calc(100% + 8px);margin-right:-8px;padding-right:19px}.io-graph-port--shared{color:#ffe0ba;background:#493a2e;border-bottom-color:#b78353}.io-graph-port--snap{z-index:2;color:#f5ffd9;background:#536244;transform:scale(1.04);box-shadow:0 0 0 2px #d9e7ac,0 0 12px #d9e7ac8c}.io-graph-port--invalid{z-index:2;color:#ffe0d5;background:#6a3931;box-shadow:0 0 0 2px #e6a28b}.io-graph-port--grabbed{z-index:3;color:#fff0d0;background:#5b4a37;box-shadow:0 0 0 2px #e1c091}.io-graph-port--add-start{z-index:3;color:#fff0d0;background:#624a32;box-shadow:0 0 0 2px #e1b278}.io-graph-port--add-compatible{z-index:3;color:#f3ffd9;cursor:crosshair;background:#4d6040;animation:.9s ease-in-out infinite alternate io-add-target;box-shadow:0 0 0 2px #b9cf8d,0 0 12px #b9cf8d73}.io-graph-port--add-unavailable{opacity:.4;cursor:not-allowed}.io-graph-viewport--adding .io-graph-port{cursor:crosshair}.io-graph-viewport--deleting .io-graph-edge{cursor:pointer}.io-graph-viewport--deleting .io-graph-edge:hover{stroke:#df8b72;stroke-width:4px}@keyframes io-add-target{0%{box-shadow:0 0 0 1px #b9cf8d}to{box-shadow:0 0 0 3px #b9cf8d,0 0 12px #b9cf8d73}}.io-graph-port b{color:#252923;min-width:13px;height:13px;font:700 7px var(--mono);background:#e0ad74;border-radius:50%;flex:none;place-items:center;display:inline-grid}.io-graph-port:before,.io-graph-port:after{content:"";background:#d8a06d;border:1px solid #313b33;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;transform:translateY(-50%)}.io-graph-port--target:before{left:-4px}.io-graph-port--source:after{background:#a6c69f;right:-4px}.io-graph-port--target:after,.io-graph-port--source:before{display:none}.io-graph-port>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.io-graph-port--target>span{flex:1}.io-graph-port--source>span{text-align:right;flex:1}.io-graph-viewport--editing .io-graph-port{cursor:crosshair}.io-graph-viewport--editing .io-graph-port:hover{color:#fff2dc;background:#485442}.io-graph-inline-editor{z-index:5;background:#2d342e;border:1px solid #c38b57;border-radius:4px;gap:7px;padding:10px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 7px 24px #0000007a}.io-graph-selected-heading{gap:4px;display:grid}.io-graph-selected-heading h4{color:#f2d0a5;font:700 10px var(--mono);margin:0}.io-graph-selected-heading span{color:#d4c6b0;font:9px var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.io-graph-inline-editor label{color:#d0d6cd;min-width:0;font:9px var(--mono);gap:4px;display:grid}.io-graph-inline-editor select{color:#252923;background:#e1e0d7;border:1px solid #899383;border-radius:3px;min-width:0;min-height:34px;padding:5px 7px;font-size:10px}.io-graph-selected-actions{align-items:center;gap:5px;display:flex}.io-graph-selected-actions .dialog-button{white-space:nowrap}.io-graph-selected-actions .io-route-action{width:auto;font:8px var(--mono);white-space:nowrap;align-items:center;gap:4px;padding:0 7px;display:inline-flex}.io-graph-connection-list{background:#252d28;border:1px solid #4c5a4f;border-radius:4px}.io-graph-connection-list summary{color:#d0d8cf;font:9px var(--mono);cursor:pointer;padding:8px 10px}.io-graph-connection-rows{max-height:min(160px,20dvh);padding:0 8px 8px;display:grid;overflow:hidden auto}.io-graph-connection-row{border-top:1px solid #465248;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 0;display:grid}.io-graph-connection-row>button:first-child{color:#d3dbd1;min-width:0;font:8px var(--mono);text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:5px;display:inline-flex}.io-graph-connection-row>button:first-child:disabled{opacity:.78}.io-graph-connection-row>button:first-child:not(:disabled){cursor:pointer}.io-graph-connection-row>button:first-child[aria-pressed=true]{color:#ffe0ba;background:#45382d}.io-graph-connection-row>button:first-child svg{color:#d39a68;flex:none}.io-graph-empty{color:#aeb8ad;font-size:11px;position:absolute;top:18px;left:20px}.io-delete-dialog{width:min(520px,100vw - 28px)}.io-delete-route-summary{color:#e4e9e0;font:10px var(--mono);background:#252d28;border:1px solid #4c5a4f;border-radius:3px;align-items:center;gap:8px;margin:12px 0;padding:10px;display:flex}.io-delete-route-summary svg{color:#d39a68;flex:none}.io-reconnect-choice{color:#e2e9d8;cursor:pointer;background:#303a2d;border:1px solid #637256;border-radius:3px;align-items:flex-start;gap:9px;margin:12px 0;padding:10px;display:flex}.io-reconnect-choice input{accent-color:#a9c47b;flex:none;margin-top:2px}.io-reconnect-choice span{gap:4px;display:grid}.io-reconnect-choice b{font:700 10px var(--mono)}.io-reconnect-choice small,.io-delete-fallback-note{color:#b6c1b2;font-size:11px;line-height:1.4}.io-delete-fallback-note{background:#302f29;border-left:2px solid #9b805e;margin:10px 0;padding:9px}.io-edit-gain input{accent-color:#c17b49;min-height:36px}.io-route-action{color:#e1e7df;cursor:pointer;background:#39443c;border:1px solid #718073;border-radius:3px;place-items:center;width:32px;height:32px;padding:0;display:inline-grid}.io-route-action:hover{color:#ffd2a8;background:#46513f;border-color:#d0945f}.io-route-action--delete{color:#f0b6a3;background:#49332f;border-color:#80584d}.io-route-action--delete:hover{color:#ffe1d5;background:#663b34;border-color:#ce755e}.io-route-add{background:#252d28;border:1px solid #566257;border-radius:4px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:12px;padding:12px;display:grid}.io-route-add select{width:100%}.io-route-add>button{white-space:nowrap}.io-route-error{color:#ffb2a0;margin:9px 0 0;font-size:12px}.device-io-dialog{width:min(780px,100vw - 28px)}.device-port-summary{flex-wrap:wrap;gap:7px;margin:12px 0;display:flex}.device-port-chip{color:#d4ddd1;font:10px var(--mono);background:#2b332d;border:1px solid #58645a;border-radius:3px;align-items:center;gap:7px;padding:6px 9px;display:inline-flex}.port-jack-icon{color:#c2c6ba;flex:0 0 24px;width:24px;height:24px}.port-jack-rim{fill:#535a50;stroke:currentColor;stroke-width:1px}.port-jack-nut{fill:#898b7b;stroke:#d4d2bb;stroke-width:.7px}.port-jack-socket{fill:#171e19;stroke:currentColor;stroke-width:1px}.port-jack-contact{fill:#d6b07c}.port-jack-notch{fill:none;stroke:currentColor;stroke-width:1.2px}.device-port-details{color:#bdc6bc;margin-top:12px;font-size:11px}.device-port-details summary{cursor:pointer}.device-route-help{color:#bdc6bc;margin:0 0 12px;font-size:11px;line-height:1.5}.device-connected-route{background:#29312c;border:1px solid #668052;border-radius:3px;padding:8px}.device-connection-status{color:#bed99e;font:9px var(--mono);flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:6px;display:flex}.device-connection-status span{color:#e1bd9b}.device-connected-route .device-route-row{border:0;padding:0}.device-connected-route .device-route-port select{width:100%;min-width:0}.device-connected-route .device-route-edit-action{width:auto;font:9px var(--mono);align-items:center;gap:4px;padding:0 6px;display:inline-flex}.device-route-section,.device-route-add-section{border-top:1px solid #566057;margin-top:14px;padding-top:12px}.device-route-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;display:flex}.device-route-heading h3{color:#e7ebe3;margin:0;font-size:13px}.device-route-heading>span{color:#c8d0c6;font:10px var(--mono)}.device-route-list{gap:7px;max-height:240px;display:grid;overflow:auto}.device-route-row{background:#29312c;border:1px solid #4d5b50;border-radius:3px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:8px;display:grid}.device-route-port{color:#edf0e9;gap:3px;min-width:0;font-size:11px;display:grid}.device-route-port small{color:#aeb9ac;font:9px var(--mono);text-transform:uppercase}.device-route-wire{color:#d39a68}.device-route-empty{color:#bdc6bc;border:1px dashed #58645a;margin:0;padding:15px;font-size:12px}.device-route-add{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.device-route-add select{width:100%}.device-route-gain input{accent-color:#c17b49;min-height:36px}.mixer-channel-section{min-width:0}.mixer-channel-toggle{color:#60615a;width:100%;min-height:28px;font:8px var(--mono);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0 3px;display:flex}.mixer-channel-toggle svg{transition:transform .22s}.mixer-channel-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.mixer-channel-toggle small{color:#8a897f;font:9px var(--mono);margin-left:auto}.mixer-channels-clip{grid-template-rows:1fr;transition:grid-template-rows .24s;display:grid}.mixer-channels-clip--collapsed{grid-template-rows:0fr}.mixer-channels{gap:1px;min-height:0;padding:5px 0 8px;transition:padding .24s,opacity .18s;display:grid;overflow:hidden}.mixer-channels-clip--collapsed .mixer-channels{opacity:0;padding-top:0;padding-bottom:0}.mixer-channel{border-bottom:1px solid #39423b;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:5px;min-height:35px;display:grid}.mixer-channel-name{color:#dce2d7;font:11px var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mixer-channel output{color:#9ca79d;font:9px var(--mono);text-align:right}.mixer-channel input{accent-color:var(--acid);grid-area:1/2}.mixer-channel--coral input{accent-color:var(--coral)}.mixer-channel--cyan input{accent-color:var(--cyan)}.meter{display:none}.mixer-master{background:linear-gradient(145deg,#303832,#242b26);border:1px solid #4b554d;border-radius:4px;margin:8px 0 9px;padding:9px 8px}.master-label{color:#dce1d5;font:10px var(--mono);justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.master-label output{color:var(--acid)}.mixer-master input{width:100%;accent-color:var(--acid)}.master-meter{grid-template-columns:repeat(12,1fr);gap:2px;height:7px;margin-top:6px;display:grid}.master-meter-segment{opacity:.34;background:#938f83;border-radius:1px;transition:opacity 70ms linear,background-color 70ms linear,box-shadow 70ms linear}.master-meter-segment--on{opacity:1;background:#86a94c;box-shadow:0 0 4px #86a94c8c}.master-meter-segment:nth-child(n+10).master-meter-segment--on{background:#c75a42;box-shadow:0 0 4px #c75a428c}.audio-bus{color:#9ba69c;font:9px var(--mono);align-items:center;gap:7px;margin-top:10px;display:flex}.audio-bus svg{color:var(--cyan)}.bus-led{background:var(--cyan);margin-left:auto;box-shadow:0 0 9px #6bd0c380}.new-session-button{color:#c8d0c6;width:100%;min-height:32px;font:9px var(--mono);cursor:pointer;background:#282f2a;border:1px solid #59645a;border-radius:4px;justify-content:center;align-items:center;gap:7px;margin-top:10px;display:flex}.new-session-button:hover{border-color:var(--acid);color:var(--acid)}.new-session-button svg{transform:rotate(180deg)}.studio-footer{color:#79847b;min-height:36px;font:9px var(--mono);border-top:1px solid #303831;align-items:center;gap:18px;padding:7px 22px;display:flex}.footer-mark{color:#a4aea4;align-items:center;gap:7px;display:flex}.footer-led{background:var(--acid);width:5px}.footer-build{margin-left:auto}@media (width<=1180px){.studio-layout{grid-template-columns:minmax(168px,.72fr) minmax(420px,2fr)}.mixer-effects-stack{grid-column:1/-1}.mixer-heading{border:0;padding:0}.mixer-channels{grid-template-columns:repeat(3,minmax(90px,1fr));gap:12px;padding:0}.mixer-master{margin:0}.audio-bus,.new-session-button{display:none}}@media (width<=820px){.topbar{grid-template-columns:minmax(150px,1fr) auto;gap:10px 16px;min-height:84px;padding:11px 15px}.project-heading{grid-area:2/1;padding-left:54px}.file-actions{grid-area:1/2/3}.transport-bar{flex-wrap:wrap;gap:12px 20px;padding:10px 15px}.swing-control{width:130px}.midi-status{margin-left:auto}.studio-layout{grid-template-columns:1fr;gap:10px;padding:10px}.rack-panel{padding:12px}.rack-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px 0}.rack-device-row{min-width:0}.rack-device{grid-template-columns:20px minmax(0,1fr) 8px;min-height:94px;padding:8px 7px 36px}.rack-device-name{gap:1px}.rack-device-name strong{font-size:15px}.rack-footnote{display:none}.mixer-panel{display:block}.mixer-heading{border-bottom:1px solid #414a43;padding-bottom:8px}.mixer-channels{grid-template-columns:repeat(3,minmax(0,1fr))}.mixer-master{max-width:none}.audio-bus,.new-session-button{display:flex}}@media (width<=380px){.topbar{grid-template-columns:minmax(0,1fr);min-height:72px}.project-heading{grid-area:2/1;padding-left:48px}.file-actions{grid-area:3/1;justify-content:flex-end}}@media (width<=560px){.topbar{column-gap:12px}.brand-mark{width:48px}.brand-copy h1{font-size:18px}.file-actions{gap:1px}.icon-button,.file-actions .icon-button{width:34px}.text-button{padding:0 8px}.transport-bar{gap:12px 14px}.swing-control{flex:110px}.midi-status{width:100%;margin-left:0}.instrument-panel{padding:0 12px 12px}.instrument-heading{min-height:83px}.rack-list{grid-template-columns:repeat(2,minmax(0,1fr))}.rack-device{grid-template-columns:12px minmax(0,1fr) 7px;padding:8px 5px 36px}.rack-device-name strong{font-size:15px}.rack-add-button{min-height:36px}.instrument-title-block h2{font-size:20px}.control-strip{grid-template-columns:repeat(2,minmax(100px,1fr));gap:10px 14px}.control-strip .control:last-child:nth-child(odd){grid-column:1/-1}.sequencer-heading{flex-direction:column;align-items:start;gap:5px}.pattern-footer{flex-wrap:wrap;gap:7px 12px;font-size:7px}.pattern-bank{width:100%;margin-left:0}.mixer-channels{grid-template-columns:1fr}.studio-footer{gap:9px;padding:7px 12px;font-size:8px}.footer-message{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}@media (prefers-reduced-motion:reduce){.io-graph-svg .io-graph-edge--settled,.io-graph-snap-indicator{animation:none}.io-graph-trash-drop{transition:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.hardware-knob--micro{gap:1px}.hardware-knob--micro .rotary-dial{width:32px}.hardware-knob--micro .hardware-knob-label{color:#4b4a43;max-width:100%;font-size:6px}.hardware-knob--micro .hardware-knob-value{color:#754331;font-size:7px}.hardware-knob--selector .rotary-dial{width:76px}.hardware-knob--selector .hardware-knob-label{font-size:8px}.hardware-knob--selector .hardware-knob-value{color:#a44632;font:700 10px var(--mono)}.pattern-bank-panel{border:1px solid var(--face-edge,#929087);min-width:0;color:var(--ink,#343531);background:linear-gradient(#e0ded5,#c9c7be);border-radius:3px;gap:4px;margin:2px 0 8px;padding:5px 7px 6px;display:grid;box-shadow:inset 0 1px #ffffffb8,0 1px 2px #00000029}.pattern-bank-heading{align-items:center;gap:7px;min-width:0;display:flex}.pattern-bank-selector{gap:4px;display:grid}.pattern-selector-label{color:inherit;font:700 8px var(--mono);letter-spacing:.08em}.pattern-bank-tabs{grid-template-columns:repeat(4,24px);gap:2px;display:grid}.pattern-bank-tab,.pattern-slot-button{color:#55564f;min-width:0;height:22px;font:700 8px var(--mono);cursor:pointer;background:linear-gradient(#f2f0e8,#cac8be);border:1px solid #8e8c83;border-radius:2px;place-items:center;padding:0;display:grid;position:relative;box-shadow:inset 0 1px #fff,inset 0 -2px #aaa89e}.pattern-bank-tab--occupied:after,.pattern-slot-button--occupied:after{content:"";background:#a87971;border:1px solid #eadbd7;border-radius:50%;width:5px;height:5px;position:absolute;bottom:2px;right:2px}.pattern-bank-panel:not(.pattern-bank-panel--compact) .pattern-slot-button--occupied:after{width:11px;height:11px;bottom:6px;right:7px;box-shadow:0 0 0 1px #7d49413d}.pattern-bank-tab--occupied:not([aria-pressed=true]),.pattern-slot-button--occupied:not([aria-pressed=true]){color:#655d59;background:linear-gradient(#f2f0e8,#cac8be);border-color:#a99a93;box-shadow:inset 0 1px #fff,inset 0 -2px #aaa89e}.pattern-bank-tab[aria-pressed=true],.pattern-slot-button[aria-pressed=true]{outline-offset:1px;color:#f4fff2;background:linear-gradient(#91c497,#68a876);border-color:#689b70;outline:1px solid #54835d;box-shadow:inset 0 1px #ffffff9e,inset 0 -2px #558f63,0 0 0 2px #5b9e6538}.pattern-bank-tab:hover:not([aria-pressed=true]),.pattern-slot-button:hover:not([aria-pressed=true]){background:linear-gradient(#f4ece7,#e3d7d0);border-color:#9c665d}.pattern-bank-tab--occupied:hover:not([aria-pressed=true]),.pattern-slot-button--occupied:hover:not([aria-pressed=true]){background:linear-gradient(#f4f0eb,#d9cec8);border-color:#a9655a}.pattern-bank-address{color:var(--hardware-accent,#93432f);font:700 9px var(--mono);white-space:nowrap}.pattern-management-buttons{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.pattern-copy-button{color:#575850;min-height:22px;font:7px var(--mono);cursor:pointer;background:linear-gradient(#efede4,#cac8be);border:1px solid #96948b;border-radius:2px;align-items:center;gap:4px;margin-left:auto;padding:0 5px;display:inline-flex}.pattern-copy-button:hover{color:#7c392b;border-color:#8b5b43}.pattern-management-buttons .pattern-copy-button{margin-left:0}.pattern-edit-button{color:#575850;min-height:22px;font:7px var(--mono);cursor:pointer;background:linear-gradient(#efede4,#cac8be);border:1px solid #96948b;border-radius:2px;align-items:center;gap:4px;padding:0 5px;display:inline-flex}.pattern-edit-button:hover{color:#496243;border-color:#718966}.pattern-slot-list{grid-template-columns:repeat(8,minmax(22px,1fr));gap:3px;display:grid}.pattern-slot-button{height:24px;font-size:9px}.pattern-bank-panel--compact{gap:3px;margin:7px 0 9px;padding:5px}.pattern-bank-panel--compact .pattern-bank-heading{gap:5px}.pattern-bank-panel--compact .pattern-bank-tabs{grid-template-columns:repeat(4,22px)}.pattern-bank-panel--compact .pattern-bank-tab{height:20px}.pattern-bank-panel--compact .pattern-slot-list{grid-template-columns:repeat(4,minmax(22px,1fr))}.pattern-bank-panel--compact .pattern-slot-button{height:21px}.pattern-copy-banks{gap:7px;display:grid}.pattern-copy-bank{grid-template-columns:27px minmax(0,1fr);align-items:center;gap:7px;display:grid}.pattern-copy-bank>strong{color:#b8cf91;font:700 10px var(--mono)}.pattern-copy-bank>div{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;display:grid}.pattern-copy-destination{color:#dce3da;min-width:0;min-height:28px;font:9px var(--mono);cursor:pointer;background:#28302a;border:1px solid #59645a;border-radius:2px;padding:0;position:relative}.pattern-copy-destination:hover:not(:disabled){color:#eff7e3;background:#3d4c35;border-color:#9ab37a}.pattern-copy-destination:disabled{color:#d99a85;opacity:.72;cursor:not-allowed;background:#49312d;border-color:#98513e}.pattern-copy-destination--occupied:not(:disabled){color:#c7aaa3;background:#28302a;border-color:#745953}.pattern-copy-destination--occupied:not(:disabled):after{content:"";background:#a87971;border:1px solid #d6beb8;border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;right:3px}.pattern-copy-destination--occupied:hover:not(:disabled){background:#34302e;border-color:#a56a60}.pattern-edit-banks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:min(60vh,520px);display:grid;overflow:auto}.pattern-edit-bank{background:#14191533;border:1px solid #475147;border-radius:3px;min-width:0;padding:7px}.pattern-edit-bank h3{color:#becfa7;font:700 10px var(--mono);margin:0 0 5px}.pattern-edit-items{gap:3px;display:grid}.pattern-edit-item{border:1px solid #39433b;border-radius:2px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;min-height:25px;padding:2px 3px;display:grid}.pattern-edit-item--occupied{background:#93483b0d;border-color:#705a54}.pattern-edit-select{color:#c7d0c4;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;min-width:0;padding:1px 2px;display:inline-flex}.pattern-edit-select strong{color:#e2e9dc;font:9px var(--mono)}.pattern-edit-select small{color:#859083;font:7px var(--mono);margin-left:auto}.pattern-edit-item--occupied .pattern-edit-select small{color:#b18b81}.pattern-edit-select i{background:#444b43;border:1px solid #667065;border-radius:50%;flex:none;width:6px;height:6px}.pattern-edit-item--occupied .pattern-edit-select i{background:#9e6e65;border-color:#c7aaa2}.pattern-edit-actions{gap:2px;display:flex}.pattern-edit-action{color:#aab5a7;cursor:pointer;background:#29312b;border:1px solid #475147;border-radius:2px;place-items:center;width:20px;height:20px;padding:0;display:grid}.pattern-edit-action:disabled{opacity:.3;cursor:not-allowed}.pattern-edit-action:hover:not(:disabled){color:#eff7e3;border-color:#8da678}.pattern-edit-action--delete:hover{color:#f0a28b;border-color:#a85640}.instrument-heading-actions{flex-shrink:0;align-items:center;gap:5px;display:flex}.studio-layout--drum .rack-panel{padding:12px 10px;display:block}.studio-layout--drum .rack-panel .panel-heading{border-bottom:1px solid #414a43;min-height:48px;padding:0 2px 10px}.studio-layout--drum .rack-panel .panel-heading h2{font-size:18px}.studio-layout--drum .rack-list{grid-template-columns:1fr;gap:7px;padding:10px 0}.studio-layout--drum .rack-device{grid-template-rows:1fr auto;grid-template-columns:24px minmax(42px,1fr) 10px;min-height:70px;padding:8px}.studio-layout--drum .rack-footnote{display:none}dialog.instrument-dialog{color:#e1e6de;background:linear-gradient(145deg,#303932,#202622 72%);border:1px solid #576257;border-radius:4px;width:min(590px,100vw - 28px);max-width:none;max-height:calc(100dvh - 32px);padding:20px;overflow:auto;box-shadow:0 18px 70px #00000094}dialog.instrument-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#070a08b8}.instrument-dialog-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px;display:flex}.instrument-dialog-heading .eyebrow{color:#9aa699;font:9px var(--mono)}.instrument-dialog-heading h2{color:#edf0e9;margin:5px 0 0;font-size:20px}.instrument-dialog-copy{color:#aab4aa;max-width:58ch;margin:0 0 18px;font-size:12px;line-height:1.5}.instrument-catalog-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:8px;display:grid}.catalog-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.catalog-controls label{color:#b6c2b3;min-width:0;font:10px var(--mono);gap:5px;display:grid}.catalog-controls .catalog-search{grid-column:1/-1}.catalog-controls input,.catalog-controls select{color:#dce3da;width:100%;min-width:0;min-height:32px;font:11px var(--mono);background:#262d29;border:1px solid #66715e;border-radius:3px;padding:6px}.catalog-results-heading{color:#b6c2b3;font:10px var(--mono);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.catalog-results-heading button{padding:5px 8px}.catalog-browser .catalog-category-label{color:#b8c9a1;font:9px var(--mono);margin-bottom:4px;display:block}@media (width<=560px){.catalog-controls{grid-template-columns:1fr}}.instrument-catalog-choice{border:1px solid #4a554b;border-left:3px solid var(--catalog-accent);color:#dce3da;text-align:left;cursor:pointer;background:linear-gradient(135deg,#313a33,#262d29);border-radius:3px;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) 16px;align-items:start;gap:8px 10px;min-width:0;min-height:124px;padding:14px 12px;display:grid;position:relative}.instrument-catalog-choice:hover{border-color:var(--catalog-accent);background:#354239}.instrument-catalog-card{gap:4px;min-width:0;display:grid}.instrument-catalog-card .instrument-catalog-choice{width:100%}.instrument-catalog-io{color:#aeb8ad;min-height:25px;font:700 8px var(--mono);cursor:pointer;background:#232a25;border:1px solid #566158;border-radius:3px;justify-content:center;align-items:center;gap:5px;display:inline-flex}.instrument-catalog-io:hover{color:#e1bd9b;border-color:#a17955}.instrument-catalog-choice--acid{--catalog-accent:var(--acid)}.instrument-catalog-choice--coral{--catalog-accent:var(--coral)}.instrument-catalog-choice--cyan{--catalog-accent:var(--cyan)}.instrument-catalog-choice strong{white-space:nowrap;min-width:0;color:var(--catalog-accent);font:700 15px var(--mono);grid-area:1/1;line-height:1.35}.instrument-catalog-choice small{overflow-wrap:anywhere;color:#9da89e;grid-area:2/1/auto/-1;min-width:0;font-size:11px;line-height:1.45}.instrument-catalog-choice svg{color:var(--catalog-accent);grid-area:1/2;margin-top:3px}.instrument-dialog-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:20px;display:flex}dialog.connect-effect-dialog{width:min(760px,100vw - 28px)}.connect-effect-dialog .instrument-dialog-copy{overflow-wrap:anywhere;max-width:none;margin-bottom:14px}.connect-effect-dialog .catalog-controls{grid-template-columns:minmax(0,1fr);margin-top:12px}.connect-effect-dialog .catalog-controls select{font:12px var(--mono);min-height:38px;padding:8px}.connect-effect-hint{color:#b6c2b3;margin:8px 0;font-size:12px;line-height:1.5}.connect-effect-selection{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 14px;display:flex}.connect-effect-catalog .catalog-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.connect-effect-catalog .effect-catalog-item{grid-template-columns:minmax(0,1fr);align-items:start}.connect-effect-catalog .effect-catalog-item span{grid-column:1}@media (width<=600px){.connect-effect-catalog .catalog-controls{grid-template-columns:minmax(0,1fr)}}.connect-effect-help{color:#b6c2b3;font-size:12px;line-height:1.5}.connect-effect-help>summary{cursor:pointer}.connect-effect-help p{margin:8px 0}.dialog-button{color:#cad3c9;min-height:34px;font:9px var(--mono);cursor:pointer;background:#28302a;border:1px solid #505b51;border-radius:3px;justify-content:center;align-items:center;gap:7px;padding:0 11px;display:inline-flex}.dialog-button:hover{background:#333d34;border-color:#829181}.dialog-button--primary{color:#e3ebda;background:#3d5135;border-color:#78905e}.dialog-button--primary:hover{background:#4a6240;border-color:#a5c27d}.dialog-button--danger{color:#f0b3a0;background:#492f2a;border-color:#98513e}.dialog-button--danger:hover{background:#57362f;border-color:#c56b50}.instrument-order-list{gap:5px;display:grid}.instrument-order-item{border-bottom:1px solid #444d45;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:42px;padding:4px 6px;display:grid}.instrument-order-index{color:#89968a;font:10px var(--mono)}.instrument-order-name{align-items:baseline;gap:9px;min-width:0;display:flex}.instrument-order-name strong{color:#b8cf91;font:700 12px var(--mono)}.instrument-order-name span{color:#dce3da;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.instrument-order-actions{gap:4px;display:flex}.instrument-order-actions .rack-device-action{width:27px;height:27px}@media (width<=560px){dialog.instrument-dialog{padding:15px}.instrument-catalog-grid,.effect-catalog{grid-template-columns:1fr}.instrument-order-name{flex-direction:column;align-items:flex-start;gap:2px}.pattern-bank-panel{padding:5px}.pattern-bank-tabs{grid-template-columns:repeat(4,22px)}.pattern-slot-list{grid-template-columns:repeat(8,minmax(22px,1fr))}.pattern-management-buttons{gap:2px}.pattern-copy-button,.pattern-edit-button{gap:3px;padding:0 4px;font-size:6px}.pattern-edit-banks{grid-template-columns:1fr;max-height:58vh}}.studio-layout--drum .instrument-panel{padding:0 12px 12px}.studio-layout--drum .instrument-heading{min-height:66px}.studio-layout--drum .instrument-title-block h2{font-size:18px}.studio-layout--drum .instrument-title-block p{display:none}.drum-channel-actions{gap:3px;display:grid}.drum-channel-sample{color:#666259;width:100%;min-height:18px;font:6px var(--mono);cursor:pointer;background:linear-gradient(#e5e3da,#c9c7be);border:1px solid #a29f95;border-radius:2px;justify-content:center;align-items:center;gap:3px;padding:0 2px;display:flex}.drum-channel-sample:hover{color:#8c422e;background:#eee2d0;border-color:#9f4c35}.drum-channel-led{aspect-ratio:1;background:#77756c;border:1px solid #77756c;border-radius:50%;width:7px;transition:background-color .26s,border-color .26s,box-shadow .26s;box-shadow:inset 0 1px 2px #00000073}.drum-channel-strip[data-audio-active=true] .drum-channel-led{background:#70b980;border-color:#cce9d2;box-shadow:0 0 3px 1px #5bb26f7a}@media (width<=820px){.studio-layout--drum{grid-template-columns:1fr}.drum-programmer-bar{flex-wrap:wrap;gap:8px}.drum-voice-selector{width:100%}.drum-voice-indicators{flex:1;grid-template-columns:repeat(6,minmax(30px,1fr))}.drum-selected-label{margin-left:0}}@media (width<=560px){.studio-layout--drum .rack-panel{padding:12px}.studio-layout--drum .rack-list{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-layout--drum .rack-device{min-height:65px;padding:7px 5px}.drum-channel-bank{grid-template-columns:repeat(12,minmax(72px,1fr));min-width:864px}.drum-channel-strip{min-height:168px}.drum-channel-knobs{min-height:90px}.drum-voice-indicators{grid-template-columns:repeat(4,minmax(32px,1fr))}.drum-step-editor .step-grid{grid-template-columns:65px repeat(16,minmax(25px,1fr))}}.instrument-panel--3x3,.instrument-panel--8x8,.instrument-panel--9x9,.instrument-panel--synthx-fm-1,.mixer-panel,.effects-panel{--face:#d3d1c8;--face-edge:#aaa99f;--face-shadow:#b7b5ac;--ink:#292a28;--ink-muted:#5d5e59;--hardware-accent:#ad4632;color:var(--ink);background:repeating-linear-gradient(92deg, #ffffff0a 0 1px, transparent 1px 3px), linear-gradient(162deg, #e0ded5, var(--face) 32%, #c7c5bc 100%);border-color:#777771;box-shadow:inset 0 1px #ffffffb3,0 8px 24px #00000047}.instrument-panel--3x3{--hardware-accent:#a74330}.instrument-panel--8x8{--face:#d0c1a9;--face-edge:#aaa08e;--face-shadow:#b8a990;--hardware-accent:#ad692e}.instrument-panel--9x9{--face:#c9c9c3;--face-edge:#a6a69f;--face-shadow:#b2b2ac;--hardware-accent:#a74330}.instrument-panel .device-io-path,.instrument-panel .device-io-none{color:var(--ink,#292a28)}.instrument-panel .device-io-caption{color:var(--ink-muted,#5d5e59)}.instrument-panel .device-io-path--midi{color:#625019}.instrument-panel .device-io-path b{color:#84471d}.instrument-panel--3x3 .instrument-heading,.instrument-panel--8x8 .instrument-heading,.instrument-panel--9x9 .instrument-heading,.instrument-panel--synthx-fm-1 .instrument-heading,.mixer-panel .panel-heading,.effects-panel .panel-heading{border-color:#918f86}.instrument-panel--3x3 .instrument-tag,.instrument-panel--3x3 .instrument-tag--coral,.instrument-panel--3x3 .instrument-tag--cyan,.instrument-panel--3x3 .control-value{color:var(--hardware-accent)}.instrument-panel--3x3 .pattern-dot{background-color:var(--hardware-accent);box-shadow:0 0 0 2px #a7433029}.instrument-panel--3x3 .instrument-title-block p,.instrument-panel--8x8 .instrument-title-block p,.instrument-panel--9x9 .instrument-title-block p{color:var(--ink-muted)}.studio-shell[data-theme] .instrument-panel.instrument-panel--synthx-fm-1{--face:#232426;--face-edge:#5f6865;--face-shadow:#151719;--ink:#f2f4f0;--ink-muted:#bfc9c3;--hardware-accent:#79d8bc;color:var(--ink);background:linear-gradient(162deg, #303133, var(--face) 32%, #191b1c);border-color:#646b67;box-shadow:inset 0 1px #ffffff1f,0 8px 24px #00000047}.studio-shell[data-theme] .instrument-panel--synthx-fm-1 .instrument-title-block h2,.studio-shell[data-theme] .instrument-panel--synthx-fm-1 .device-io-path,.studio-shell[data-theme] .instrument-panel--synthx-fm-1 .device-io-none{color:var(--ink)}.studio-shell[data-theme] .instrument-panel--synthx-fm-1 .device-io-path--midi,.studio-shell[data-theme] .instrument-panel--synthx-fm-1 .device-io-path b{color:#a3e9d2}.instrument-panel--synthx-fm-1 .instrument-heading{border-color:var(--face-edge)}.instrument-panel--synthx-fm-1 .instrument-title-block p{color:var(--ink-muted)}.instrument-panel--synthx-fm-1 .instrument-tag{color:var(--hardware-accent)}.instrument-panel--synthx-fm-1 .device-io-button{color:#122b23;background:#79d8bc;border-color:#639d8a}.instrument-panel--synthx-fm-1 .device-io-button:hover{color:#122b23;background:#9be8cf;border-color:#b2f0dc}.instrument-panel--synthx-fm-1 :is(button,input,select):focus-visible{outline-offset:2px;outline:2px solid #a3e9d2}.instrument-panel--synthx-fm-1 .fm-action--danger{color:#301015;background:#ef939e;border-color:#e2878f}.instrument-panel--synthx-fm-1 .fm-action--danger:hover{color:#301015;background:#f7b0b8;border-color:#ffc8ce}.fm-editor{min-width:0;color:var(--ink);grid-template-columns:minmax(0,1fr);gap:8px;display:grid;container:fm-editor/inline-size}.fm-editor>*{min-width:0}.fm-editor-controls{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;display:grid}.fm-editor-controls>*{min-width:0}.fm-editor--docked{grid-template-rows:minmax(0,1fr) auto;height:calc(100dvh - 32px);scroll-margin-top:16px}.fm-editor--docked .fm-editor-controls{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;padding:3px 7px 10px 3px;display:block;overflow-y:auto}.fm-editor--docked .fm-editor-controls>*+*{margin-top:8px}.fm-editor--docked .fm-keyboard-slot{height:var(--fm-dock-height)}.fm-editor--docked .fm-keyboard-block{bottom:calc(16px + var(--controller-dock-height,0px));left:var(--fm-dock-left);width:var(--fm-dock-width);z-index:20;max-height:calc(100dvh - 32px - var(--controller-dock-height,0px));background:var(--face);border-top:2px solid #92978b;padding:10px 0 0;position:fixed;overflow-y:auto;box-shadow:0 -6px 10px #0000002e}.fm-dock-button{margin-left:auto}.fm-source-list{gap:14px;padding-left:24px;display:grid}.fm-source-list a{color:#c8dfa9;align-items:center;gap:7px;font-weight:700;display:inline-flex}.fm-source-url{overflow-wrap:anywhere;color:#aab4aa;font:11px var(--mono);margin-top:4px;display:block}.fm-dialog a.dialog-button{align-items:center;text-decoration:none;display:inline-flex}.fm-sound-header,.fm-toolbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fm-toolbar h3{margin:0;font-size:15px}.fm-library-action--import{--library-action-bg:#79d8bc;--library-action-hover:#9be8cf;--library-action-border:#639d8a;--library-action-text:#122b23}.fm-library-action--sources{--library-action-bg:#edb16c;--library-action-hover:#f5ca93;--library-action-border:#c59461;--library-action-text:#352312}.fm-library-action--export{--library-action-bg:#91bce9;--library-action-hover:#b1d1f1;--library-action-border:#769bbc;--library-action-text:#15283b}.instrument-panel--synthx-fm-1 .fm-editor .fm-library-action{border-color:var(--library-action-border);color:var(--library-action-text);background:var(--library-action-bg)}.instrument-panel--synthx-fm-1 .fm-editor .fm-library-action:hover{border-color:var(--library-action-border);color:var(--library-action-text);background:var(--library-action-hover)}.fm-editor .fm-library-action:focus-visible{outline-color:var(--library-action-border)}.fm-sound-header{border-bottom:1px solid var(--face-edge);padding-bottom:6px}.fm-navigation{align-items:center;gap:5px;display:inline-flex}.fm-navigation .device-io-button{justify-content:center;min-width:32px;min-height:36px;padding:5px}.fm-navigation-display{min-height:36px}.fm-sound-header .fm-edit-indicator{overflow-wrap:anywhere;max-width:100%}.sound-selector{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;display:flex}.sound-selector>.fm-patch-name,.fm-editor .sound-selector>.fm-patch-name{flex:300px;width:auto;min-width:0;max-width:480px;margin:0}.sound-selector-controls{flex-wrap:wrap;flex:auto;align-items:center;gap:6px;min-height:62px;display:flex}.sound-selector .sound-selector-bank{flex:0 320px;width:auto;min-width:140px;min-height:36px}.sound-selector-panic{margin-left:auto}.fm-bank-slot{padding:4px 6px}.fm-library-row{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.fm-library-row>.fm-library-find{flex:2 280px}.fm-library-row>.fm-library-select:not(.fm-library-find){flex:240px;max-width:440px}.fm-editor .fm-library-name{flex-wrap:nowrap}.fm-editor .fm-library-name input{width:22ch}.fm-library-row .fm-library-create{margin-left:auto}.fm-bank-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.fm-bank-slot{color:#eaf7f0;text-align:left;min-width:0;font:11px var(--mono);cursor:pointer;background:#26463c;border:1px solid #639d8a;border-radius:3px;gap:3px;padding:6px;display:grid}.fm-bank-slot span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fm-bank-slot[aria-pressed=true]{color:#122b23;background:#79d8bc;border-color:#a3e9d2;box-shadow:inset 0 -3px #39705e}.fm-editor label{align-items:center;gap:6px;font-size:12px;display:flex}.fm-editor input:not([type=range]):not([type=checkbox]),.fm-editor select{color:#f2f4f0;min-width:0;max-width:100%;min-height:30px;font:12px var(--mono);background:#171e1b;border:1px solid #778b81;border-radius:4px;padding:4px 7px}.fm-editor input::placeholder{color:#b5c5bb;opacity:1}.fm-editor input[type=range],.fm-editor input[type=checkbox]{accent-color:var(--hardware-accent)}.fm-editor .fm-patch-name{min-width:0;max-width:480px;color:var(--ink);font:700 12px var(--mono);letter-spacing:1px;flex:350px;gap:7px;display:grid}.fm-name-display{background:linear-gradient(#d2e887,#b5d66b 48%,#a8ca5d);border:2px solid #101713;border-radius:5px;width:100%;min-height:62px;display:block;position:relative;box-shadow:inset 0 0 8px #30441459,0 0 8px #b8da6c33}.fm-name-segments{width:100%;height:62px;padding:7px 10px;display:block}.fm-name-cell{fill:#526c29;opacity:.12}.fm-name-cell--on{fill:#15200f;opacity:1}.fm-editor .fm-patch-name .fm-name-display input[type=text]{color:#0000;width:100%;height:100%;min-height:62px;font:700 clamp(20px, 3vw, 30px) var(--mono);letter-spacing:2px;cursor:text;background:0 0;border:0;border-radius:3px;padding:8px 12px;position:absolute;inset:0}.fm-name-display:focus-within{outline-offset:2px;outline:2px solid #a3e9d2}.fm-name-display:focus-within .fm-name-segments{visibility:hidden}.fm-editor .fm-patch-name .fm-name-display input[type=text]:focus{color:#15200f;caret-color:#15200f;text-shadow:none;outline:none}.fm-edit-indicator{color:var(--ink-muted);font:10px var(--mono)}.fm-disclosure{border:1px solid var(--face-edge);background:#0000001f;border-radius:5px;padding:7px}.fm-disclosure>summary,.fm-disclosure[open]>summary{color:var(--ink);margin:0}.fm-disclosure-content{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;padding-top:6px;display:grid}.fm-parameter-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));align-content:start;gap:8px 10px;display:grid}.fm-editor .fm-parameter{align-content:start;gap:3px;min-width:0;display:grid}.fm-parameter-inputs{align-items:center;gap:5px;display:flex}.fm-parameter-inputs input[type=range]{width:100%;min-width:0;min-height:24px;margin:0}.fm-parameter-inputs input[type=number]{flex-shrink:0;width:calc(4ch + 36px)}.fm-algorithm-layout{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:10px;display:grid}.fm-algorithm-diagram{width:100%;max-width:300px;max-height:245px;margin-top:4px;display:block}.fm-algorithm-wire{stroke:#c4d0c8;stroke-width:2px;fill:none}.fm-algorithm-feedback{stroke:#edb16c;stroke-width:2px;stroke-dasharray:4 2;fill:none}.fm-algorithm-operator{cursor:pointer}.fm-algorithm-operator rect{stroke:#85b6a3;stroke-width:2px;fill:#26463c}.fm-algorithm-operator text{fill:#eaf7f0;font:700 15px var(--mono)}.fm-algorithm-operator--selected rect{stroke:#a3e9d2;stroke-width:3px;fill:#79d8bc}.fm-algorithm-operator--selected text{fill:#122b23}.fm-algorithm-operator--muted{opacity:.4}.fm-operator-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.fm-operator-tab{color:#eaf7f0;min-height:40px;font:700 12px var(--mono);cursor:pointer;background:#26463c;border:1px solid #639d8a;border-radius:4px;gap:3px;padding:5px 2px;display:grid}.fm-operator-tab span{font:9px var(--mono)}.fm-operator-tab--selected{color:#122b23;background:#79d8bc;border-color:#a3e9d2;box-shadow:inset 0 -3px #39705e}.fm-envelope{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.fm-envelope-stage{gap:5px;min-width:0;display:grid}.fm-envelope-stage>strong{font:10px var(--mono)}.fm-envelope-views{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start;gap:8px;display:grid}.fm-envelope-graph-block{gap:4px;min-width:0;padding-top:6px;display:grid}.fm-envelope-graph{background:#171e1b;border:1px solid #778b81;border-radius:4px;width:100%;max-width:360px;display:block}.fm-envelope-graph text{fill:#dce8df;font:10px var(--mono)}.fm-envelope-grid{fill:none;stroke:#52665b;stroke-width:.7px}.fm-envelope-line{fill:none;stroke:#79d8bc;stroke-width:2px}.fm-envelope-handle{fill:#26463c;stroke:#79d8bc;stroke-width:2px;cursor:grab;touch-action:none}.fm-envelope-handle:focus{stroke:#ef939e;stroke-width:3px;outline:none}.fm-envelope-handle-center{fill:#79d8bc;pointer-events:none}.fm-envelope-playhead path{stroke:#edb16c;stroke-width:1px}.fm-envelope-playhead circle{fill:#edb16c;stroke:#171e1b;stroke-width:1.5px}.rack-device-row--red,.rack-device--red,.instrument-catalog-choice--red{--device-accent:#ef6964;--catalog-accent:#ef6964}:is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model="3x3"]{--entry-accent:#f2a88e}:is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model="8x8"]{--entry-accent:#e9b477}:is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model="9x9"]{--entry-accent:#f5a18c}:is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model=synth-a1]{--entry-accent:#ff8795}:is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model=synthx-fm-1]{--entry-accent:#80dcbc}:is(.rack-device-row,.rack-device,.instrument-catalog-card)[data-instrument-model=synth-minid]{--entry-accent:#efc17d}.rack-device-row[data-instrument-model],.rack-device[data-instrument-model]{--device-accent:var(--entry-accent)}.rack-device-row[data-instrument-model]{border-color:var(--entry-accent)}.rack-device[data-instrument-model] .rack-device-name small{color:var(--entry-accent)}.instrument-catalog-card[data-instrument-model] .instrument-catalog-choice{--catalog-accent:var(--entry-accent);border-color:var(--entry-accent)}.instrument-catalog-card[data-instrument-model] :is(.catalog-category-label,.instrument-catalog-io){color:var(--entry-accent)}.instrument-catalog-card[data-instrument-model] .instrument-catalog-io{border-color:var(--entry-accent)}:root[data-theme=light] :is(.rack-device-row,.rack-device)[data-instrument-model="3x3"]{--entry-accent:#963e27}:root[data-theme=light] :is(.rack-device-row,.rack-device)[data-instrument-model="8x8"]{--entry-accent:#815220}:root[data-theme=light] :is(.rack-device-row,.rack-device)[data-instrument-model="9x9"]{--entry-accent:#943b28}:root[data-theme=light] :is(.rack-device-row,.rack-device)[data-instrument-model=synth-a1]{--entry-accent:#a22c40}:root[data-theme=light] :is(.rack-device-row,.rack-device)[data-instrument-model=synthx-fm-1]{--entry-accent:#23634f}:root[data-theme=light] :is(.rack-device-row,.rack-device)[data-instrument-model=synth-minid]{--entry-accent:#805020}:root[data-theme=light] .rack-device-row[data-instrument-model]{border-color:var(--entry-accent)}.instrument-tag--red{color:#ef6964}.mixer-channel--red input{accent-color:#b8323c}.studio-shell[data-theme] .instrument-panel.instrument-panel--synth-a1{--face:#202125;--ink:#f3eeee;--ink-muted:#c9bebe;--hardware-accent:#ff8c86;color:var(--ink);background:linear-gradient(135deg,#29292e,#18191c);border-color:#ab3b43;box-shadow:inset 6px 0 #9d2631,inset -6px 0 #9d2631,0 8px 24px #00000047}.instrument-panel--synth-a1 .instrument-heading{border-color:#925159}.studio-shell[data-theme] .instrument-panel--synth-a1 .instrument-title-block h2,.studio-shell[data-theme] .instrument-panel--synth-a1 .device-io-path,.studio-shell[data-theme] .instrument-panel--synth-a1 .device-io-none{color:#f3eeee}.instrument-panel--synth-a1 .instrument-title-block p,.instrument-panel--synth-a1 .device-io-caption{color:#c9bebe}.instrument-panel--synth-a1 .instrument-tag,.instrument-panel--synth-a1 .power-switch--on{color:#ff8c86}.studio-shell[data-theme] .instrument-panel--synth-a1 .device-io-path--midi,.studio-shell[data-theme] .instrument-panel--synth-a1 .device-io-path b{color:#f1d29e}.instrument-panel--synth-a1 .device-io-button{color:#f3eeee;background:#393137;border-color:#ae7177}.a1-editor{color:#f3eeee;gap:12px;min-width:0;display:grid}.a1-editor>*{min-width:0}.a1-editor-controls{gap:8px;min-width:0;display:grid}.a1-editor-controls>*{min-width:0}.a1-editor--docked{grid-template-rows:minmax(0,1fr) auto;height:calc(100dvh - 32px);scroll-margin-top:16px}.a1-editor--docked .a1-editor-controls{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;padding:3px 7px 10px 3px;display:block;overflow-y:auto}.a1-editor--docked .a1-editor-controls>*+*{margin-top:8px}.a1-editor--docked .a1-keyboard-slot{height:var(--fm-dock-height)}.a1-keyboard-panel{gap:10px;min-width:0;display:grid}.a1-editor--docked .a1-keyboard-panel{bottom:calc(16px + var(--controller-dock-height,0px));left:var(--fm-dock-left);width:var(--fm-dock-width);z-index:20;max-height:calc(100dvh - 32px - var(--controller-dock-height,0px));background:var(--face);border-top:2px solid #a85e65;padding:10px 0 0;position:fixed;overflow-y:auto;box-shadow:0 -6px 10px #0000004d}.a1-banner{background:linear-gradient(110deg,#aa2936,#671b26);border:1px solid #d67076;border-radius:4px;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px;display:flex}.a1-banner strong{letter-spacing:-1px;font-size:20px}.a1-banner span{font:10px var(--mono);letter-spacing:1px;color:#ffe2d9}.a1-parts{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.a1-editor button{color:#f5ebeb;cursor:pointer;font:11px var(--mono);background:#3a3036;border:1px solid #997078;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:6px 8px;display:inline-flex}.a1-editor button:hover{background:#593a43;border-color:#e8aaa8}.a1-editor button:focus-visible,.a1-editor input:focus-visible,.a1-editor select:focus-visible{outline-offset:2px;outline:2px solid #ffca89}.a1-parts button{text-align:left;justify-content:stretch;display:grid}.a1-part-panel{background:#30282e;border:1px solid #997078;border-radius:4px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;padding:6px;display:grid}.a1-part-panel--selected{background:#45232d;border-color:#ff958b}.a1-parts .a1-part-select{background:0 0;border-color:#0000;width:100%;min-width:0}.a1-parts .a1-part-select:hover{background:#593a43}.a1-parts .a1-part-power{text-align:center;width:68px;height:36px;min-height:36px;font:11px var(--mono);justify-content:center;align-items:center;gap:8px;padding:6px;display:inline-flex}.a1-parts .a1-part-power span{width:3ch;font:inherit;line-height:1}@media (width<=700px){.a1-parts{grid-template-columns:repeat(2,minmax(0,1fr))}}.a1-editor .a1-part-led{border-width:2px;width:16px;height:16px}.a1-editor .a1-part-led.a1-status-led--on{box-shadow:0 0 7px #ff514b,0 0 12px #ff514b66}.a1-parts b{color:#ffb5ac;font-size:18px}.a1-parts span{overflow-wrap:anywhere;font-size:10px}.a1-parts small{color:#d8c6c8;font-size:9px}.a1-editor button[aria-pressed=true]{background:#702b37;border-color:#ff958b}.a1-section{background:#25252a;border:1px solid #735057;border-radius:4px;padding:7px}.a1-section>summary{cursor:pointer;color:#ffd2b1;font:12px var(--mono)}.a1-section>summary:focus-visible{outline:2px solid #ffca89}.a1-section[open]>summary{margin-bottom:8px}.a1-sections{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:start;gap:6px;display:grid}.a1-parameters,.a1-part-settings{grid-template-columns:repeat(auto-fit,minmax(min(100%,105px),1fr));gap:8px;display:grid}.a1-editor label{color:#e4d9db;min-width:0;font:11px var(--mono);gap:5px;display:grid}.a1-parameter--knob{align-content:start;justify-items:center;gap:4px;min-width:0;display:grid}.a1-parameter--choice{align-content:start;justify-items:start}.a1-value-input{width:min(100%,80px)}.a1-editor .hardware-knob-label{color:#e4d9db;white-space:normal;font-size:10px;line-height:1.3;overflow:visible}.a1-parameter--knob .hardware-knob-value{display:none}.a1-editor .hardware-knob-value{color:#ffb5ac;font-size:11px}.a1-editor .rotary-dial{cursor:ns-resize;background:repeating-conic-gradient(from -135deg,#c9c7bf 0deg 1deg,#0000 1deg 13.5deg),radial-gradient(circle,#46464a 0 36%,#0000 37%);border-color:#93918b;border-radius:50%;grid-template-columns:minmax(0,1fr);justify-content:normal;gap:0;width:46px;min-height:0;padding:0;display:grid;box-shadow:inset 0 0 0 3px #333338,0 2px 3px #0006}.a1-editor .rotary-dial:hover{border-color:#ffaaa4}.a1-editor .dial-face{background:linear-gradient(145deg,#424247,#18181b);border-color:#5a595e;box-shadow:inset 0 2px 4px #ffffff26,inset 0 -3px 4px #0006}.a1-editor .dial-pointer:after{background:#f5eee0}.a1-editor .a1-parameter--cutoff .dial-face{background:linear-gradient(145deg,#bd4250,#79202d)}.a1-status-led{background:#3e252d;border:1px solid #876167;border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.a1-status-led--on{background:#ff776f;border-color:#ffd5c4;box-shadow:0 0 5px #ff514b}.a1-mode-status{color:#d8c6c8;font:10px var(--mono);align-items:center;gap:6px;display:flex}.a1-editor .led-readout{background:linear-gradient(#170d12,#2c1018);border-color:#80515b;gap:4px;padding:3px 4px}.a1-editor .led-digit-row{zoom:.8}.a1-editor .led-readout-label{color:#ffb5ac;text-shadow:none}.a1-editor .led-segment--on{background:#ff7b87;box-shadow:0 0 4px #ff3c5080}.a1-editor .a1-sound-heading .fm-patch-name{color:#ffb5ac;width:auto;max-width:480px;font:700 12px var(--mono);letter-spacing:1px;flex:300px;gap:7px;display:grid}.a1-editor .fm-name-display{background:linear-gradient(#170d12,#2c1018);border-color:#80515b;min-width:0;min-height:62px;box-shadow:inset 0 0 8px #000,0 0 6px #ff3c5026}.a1-editor .fm-name-segments{height:62px;padding:7px 10px}.a1-editor .fm-name-cell{fill:#4e1d2a;opacity:1}.a1-editor .fm-name-cell--on{fill:#ff8795;filter:drop-shadow(0 0 1px #ff5268)}.a1-editor .fm-patch-name .fm-name-display input[type=text]{color:#0000;width:100%;height:100%;font:700 18px var(--mono);background:0 0;border:0;padding:8px 12px;position:absolute;inset:0}.a1-editor .fm-patch-name .fm-name-display input[type=text]:focus{color:#ff8795;caret-color:#ff8795;outline:none}.a1-editor .fm-name-display:focus-within{outline-color:#ffca89}.a1-editor input:not([type=range]):not([type=checkbox]),.a1-editor select{color:#fff0df;width:100%;min-width:0;font:12px var(--mono);background:#17171c;border:1px solid #9b767d;border-radius:3px;padding:4px}.a1-editor input[type=range],.a1-editor input[type=checkbox]{accent-color:#ee6b70;width:100%;min-width:0}.a1-editor input[type=checkbox]{width:20px;height:20px}.a1-sound-heading,.a1-library-toolbar,.a1-play-toolbar{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.a1-sound-heading>label:not(.fm-patch-name){flex:180px}.a1-sound-heading{border-bottom:1px solid #5d4148;align-items:flex-end;padding-bottom:8px}.a1-editor .a1-part-sound{flex:360px;align-items:stretch;gap:8px;min-width:0;max-width:560px;display:flex}.a1-editor .a1-part-sound>.fm-patch-name{flex:auto;min-width:0;max-width:none}.a1-part-badge{background:linear-gradient(#5a2530,#3a1820);border:2px solid #ff958b;border-radius:6px;place-content:center;justify-items:center;min-width:58px;padding:4px 8px;display:grid;box-shadow:inset 0 0 10px #ff514b40}.a1-part-badge small{color:#ffb5ac;font:700 10px var(--mono);letter-spacing:2px}.a1-part-badge b{color:#ffe2d9;font:900 34px/1 var(--mono);text-shadow:0 0 8px #ff514bb3}.a1-part-badge em{color:#ff958b;font:700 9px var(--mono);letter-spacing:2px;margin-top:3px;font-style:normal}.a1-part-sound--off .a1-part-badge{box-shadow:none;background:#26201f;border-style:dashed;border-color:#7a6268}.a1-part-sound--off .a1-part-badge small,.a1-part-sound--off .a1-part-badge em{color:#9a888b}.a1-part-sound--off .a1-part-badge b{color:#6f5e61;text-shadow:none}.a1-part-sound--off .fm-patch-name>span:first-child{color:#9a888b}.a1-part-sound--off .fm-name-display{filter:grayscale(.85)brightness(.6)}.a1-editor .a1-sound-heading .sound-selector-bank{width:auto;min-height:36px}.a1-editor .a1-step-button{min-width:34px;min-height:36px;padding:5px}.a1-editor .a1-step-button:disabled{opacity:.4;cursor:default}.a1-editor .sound-selector-panic{color:#2a0d12;background:#f08a92;border-color:#ff958b;font-weight:700}.a1-editor .sound-selector-panic:hover{background:#ffadb3}.a1-editor .sound-selector-status{color:#dfc5a7}.a1-library-toolbar>button{min-height:32px}.a1-library{gap:12px;display:grid}.a1-library-toolbar label{flex:140px}.a1-programs{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr));gap:6px;padding:3px;display:grid}.a1-library-pages{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.a1-library-pages label{align-items:center;gap:8px;display:flex}.a1-library-pages>span{color:#dfc5a7;font-size:12px}.a1-bank-navigation,.a1-bank-step-buttons{align-items:center;gap:6px;display:inline-flex}.a1-editor .a1-bank-readout{gap:8px;padding:6px 8px}.a1-bank-readout .led-readout-label{font-size:10px}.a1-editor .a1-bank-readout .led-digit-row{zoom:1}.a1-editor .a1-bank-step-buttons button{width:44px;height:44px;font:700 26px var(--mono);padding:0}.a1-editor .a1-bank-step-buttons button:disabled{opacity:.4;cursor:default;background:#30282e;border-color:#735057}.a1-programs button{text-align:left;justify-content:stretch;display:grid}.a1-programs small{color:#dfc5a7}.a1-play-toolbar span{color:#d5c7ca;font-size:12px;line-height:1.6}.a1-error{color:#ffb0a6;font-size:12px}.a1-notice{color:#b4e3cd;font-size:12px}.a1-graph-panels{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px;display:grid}.a1-graph-block{min-width:0}.a1-graph-block h4{color:#f3eeee;font:12px var(--mono);margin:8px 0}.a1-graph-help,.a1-graph-block p{color:#d8c6c8;margin:8px 0;font-size:11px;line-height:1.5}.a1-graph-legend{font:11px var(--mono);flex-wrap:wrap;gap:8px 16px;margin:8px 0;display:flex}.a1-sound-graph,.a1-sound-visualizer canvas{background:#121319;border:1px solid #80515b;border-radius:4px;width:100%;height:auto;display:block}.a1-visualizer-layout{flex-wrap:wrap;align-items:start;gap:10px;display:flex}.a1-visualizer-layout canvas{flex:0 480px;min-width:0;max-width:min(100%,480px)}.a1-visualizer-help{color:#d8c6c8;margin-top:6px;font-size:11px}.a1-visualizer-help summary{cursor:pointer}.a1-sound-graph text{fill:#e4d9db;font:10px var(--mono)}.a1-graph-grid{fill:none;stroke:#44404b;stroke-width:1px}.a1-graph-line{fill:none;stroke-width:2px}.a1-graph-line--reference{opacity:.65;stroke-dasharray:4 3}.a1-graph-line--selected{stroke-width:3px}.a1-playback-overlay{pointer-events:none}.a1-playback-fill{fill-opacity:.2;stroke:none}.a1-playback-cursor{fill:none;stroke-width:1px;stroke-dasharray:3 3}.a1-playback-toggle{align-items:center;gap:8px;margin:8px 0;font-weight:700;display:flex}.a1-graph-handle{fill:#30282e;stroke:#fff0df;stroke-width:2px;cursor:grab;touch-action:none}.a1-graph-handle:focus{stroke:#ffca89;stroke-width:3px;outline:none}.a1-graph-locked{fill:#80515b;stroke:#d8c6c8}.a1-graph-disclosure{margin-top:8px}.a1-graph-disclosure>.a1-graph-block{max-width:560px}.a1-graph-choice{max-width:300px;margin:8px 0}.a1-parameter-rail{background:#1d1a21;border:1px solid #80515b;border-radius:4px;margin-top:8px;padding:8px}.a1-parameter-rail-heading{color:#f3eeee;font:11px var(--mono);align-items:center;gap:6px;display:flex}.a1-parameter-rail-heading strong{flex:1;min-width:0}.a1-parameter-rail-heading output{color:#ffd18b;font-variant-numeric:tabular-nums}.a1-parameter-rail-heading button{flex:0 0 28px;min-height:28px;padding:0;font-size:18px}.a1-parameter-rail .a1-parameter-rail-hint{margin:5px 0 0;font-size:10px}.a1-parameter-rail-track{width:100%;height:auto;min-height:42px;display:block;overflow:visible}.a1-parameter-rail-track text{fill:#e4d9db;font:13px var(--mono)}.a1-parameter-rail-line{fill:none;stroke:#6a505a;stroke-width:5px;stroke-linecap:round}.a1-parameter-rail-value{fill:none;stroke:#ff8795;stroke-width:5px;stroke-linecap:round}.a1-parameter-rail-track .a1-graph-handle{fill:#9b344b;stroke:#fff0df;stroke-width:3px}.a1-parameter-rail-track .a1-graph-handle:hover{fill:#bd455e}.a1-parameter-rail-track .a1-graph-handle:focus{stroke:#ffca89;stroke-width:4px}.a1-parameter-rail--locked .a1-parameter-rail-track{opacity:.55}.a1-editor .fm-toolbar{color:#f3eeee}.a1-editor .fm-key{color:#292a28;background:linear-gradient(#f9f8f2,#d9d8ce);border-color:#9d9b91;justify-content:center;align-items:flex-end;gap:0;padding:0 0 10px;font-size:9px;display:flex}.a1-editor .fm-key--black{color:#f6ecec;background:linear-gradient(#4a4146,#19191d);border-color:#111}.a1-editor .fm-key--held{color:#43161d;background:#f4a096;animation:.85s ease-in-out infinite alternate a1-key-pulse}@keyframes a1-key-pulse{0%{box-shadow:inset 0 -4px #9d2631}to{box-shadow:inset 0 -12px 16px #c43a47}}@media (prefers-reduced-motion:reduce){.a1-editor .fm-key--held{animation:none;box-shadow:inset 0 -6px #9d2631}}@media (pointer:coarse){.a1-editor button,.a1-editor select,.a1-editor input:not([type=checkbox]){min-height:36px}}.fm-keyboard-block{gap:6px;display:grid}.synth-octave-controls{align-items:center;gap:6px;display:flex}.synth-octave-controls>button{min-width:36px;min-height:36px;font:700 24px/1 var(--mono);justify-content:center;padding:4px 8px}.synth-play-controls{min-width:0}.synth-play-controls--wheels{grid-template-columns:88px minmax(0,1fr);align-items:stretch;gap:10px;display:grid}.synth-play-controls>.mini-wheel-panel{align-items:center;gap:6px}.synth-play-controls .mini-wheel-control{color:var(--ink)}.synth-play-controls .mini-wheel-control output{color:var(--ink);font-weight:700}.fm-editor .synth-play-controls .mini-wheel i{background:#a3e9d2;box-shadow:0 0 5px #51ad8e}.a1-editor .synth-play-controls .mini-wheel-control,.a1-editor .synth-play-controls .mini-wheel-control output{color:#f3eeee}.a1-editor .synth-play-controls .mini-wheel i{background:#f4a096;box-shadow:0 0 5px #c43a47}@media (width<=600px){.synth-play-controls--wheels{grid-template-columns:minmax(0,1fr)}.synth-play-controls>.mini-wheel-panel{justify-content:center;gap:18px;display:flex}.synth-play-controls .mini-wheel{height:72px}}.fm-keyboard{isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;grid-template-columns:repeat(14,minmax(0,1fr));height:128px;display:grid;position:relative}.fm-key{color:#292a28;min-width:0;font:9px var(--mono);cursor:pointer;touch-action:none;background:linear-gradient(#f9f8f2,#d9d8ce);border:1px solid #9d9b91;border-radius:0 0 4px 4px;grid-row:1;justify-content:center;align-items:flex-end;padding:0 0 10px;display:flex}.fm-key--black{z-index:1;color:#e8e9e0;background:linear-gradient(#4a4b45,#252821);border-color:#171c18;width:4.42857%;height:62%;padding-bottom:8px;position:absolute;top:0;transform:translate(-50%);box-shadow:0 3px 3px #0000004d}.fm-key--held{color:#122b23;background:#79d8bc;animation:.85s ease-in-out infinite alternate fm-key-pulse}.fm-key:focus-visible{outline-offset:-3px;outline:2px solid #39705e}@keyframes fm-key-pulse{0%{box-shadow:inset 0 -4px #39705e}to{box-shadow:inset 0 -12px 16px #51ad8e}}@media (prefers-reduced-motion:reduce){.fm-key--held{animation:none;box-shadow:inset 0 -6px #39705e}}.fm-library-create,.fm-library-select{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fm-library-create label,.fm-toolbar label{flex-wrap:wrap;min-width:0}.fm-library-select select,.fm-library-select input{flex:1}.fm-patch-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:5px;max-height:300px;padding:2px;display:grid;overflow-y:auto}.fm-patch-slot{color:#eaf7f0;text-align:left;font:11px var(--mono);cursor:pointer;background:#26463c;border:1px solid #639d8a;border-radius:3px;align-items:center;gap:5px;padding:7px;display:flex}.fm-patch-slot span{color:#c1dfd1;font-size:9px}.fm-patch-slot--selected{color:#122b23;background:#79d8bc;border-color:#a3e9d2}.fm-patch-slot--search{flex-wrap:wrap}.fm-patch-slot--search small{overflow-wrap:anywhere;color:#c1dfd1;font:10px var(--mono);flex-basis:100%}.fm-patch-slot--selected :is(span,small){color:#23483a}.fm-error{color:#f6a6ae;font-size:12px;line-height:1.5}.fm-notice,.fm-help{color:var(--ink-muted);margin:0;font-size:12px;line-height:1.5}.fm-help summary{cursor:pointer}.fm-help a{color:#a3e9d2}.fm-dialog{width:min(560px,100vw - 28px)}.fm-dialog p{line-height:1.6}.fm-dialog .fm-error{color:#ec998b}:root[data-theme=light] .fm-dialog .fm-error{color:#9c261e}@container fm-editor (width<=560px){.fm-envelope{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-algorithm-layout{grid-template-columns:minmax(0,1fr)}.fm-keyboard{height:120px}.fm-key{font-size:7px}}@container fm-editor (width<=400px){.fm-operator-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.fm-bank-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (any-pointer:coarse){.fm-editor .device-io-button,.fm-editor select,.fm-editor input:not([type=checkbox]):not([type=file]),.fm-editor .fm-disclosure>summary,.fm-editor .fm-help>summary,.fm-bank-slot,.fm-patch-slot,.fm-operator-tab{min-height:44px}.fm-editor .device-io-button{min-width:44px}}.instrument-panel--3x3 .power-switch,.instrument-panel--8x8 .power-switch,.instrument-panel--9x9 .power-switch{color:#55564f;background:linear-gradient(#e6e4dc,#c4c2b8);border-color:#8c8b82;box-shadow:inset 0 1px #fffc,0 2px 2px #0000002e}.instrument-panel--synthx-fm-1 .power-switch{color:#c4cec7;background:linear-gradient(#353b38,#222825);border-color:#778b81}.instrument-panel--synthx-fm-1 .power-switch--on{color:var(--hardware-accent)}.instrument-panel--synthx-fm-1>.instrument-routing-disclosure>summary{color:var(--ink)}.instrument-panel--3x3 .power-switch--on{color:var(--hardware-accent)}.instrument-panel--3x3 .power-indicator,.instrument-panel--8x8 .power-indicator,.instrument-panel--9x9 .power-indicator{background:#77766e}.instrument-panel--3x3 .power-switch--on .power-indicator,.instrument-panel--8x8 .power-switch--on .power-indicator,.instrument-panel--9x9 .power-switch--on .power-indicator{background:#c74232;box-shadow:0 0 7px #c742328c}.instrument-panel--3x3 .control-section,.instrument-panel--8x8 .control-section,.instrument-panel--9x9 .control-section{border-color:#99978e}.instrument-panel--3x3 .section-label,.instrument-panel--8x8 .section-label,.instrument-panel--9x9 .section-label{color:#50514d}.instrument-panel--3x3 .section-rule,.instrument-panel--8x8 .section-rule,.instrument-panel--9x9 .section-rule{background:#aaa89f}.instrument-panel--3x3 .control-label,.instrument-panel--8x8 .control-label,.instrument-panel--9x9 .control-label{color:#363734}.instrument-panel--8x8 .control-value{color:#8c592c}.instrument-panel--9x9 .control-value{color:#963d30}.control-strip--3x3{grid-template-columns:repeat(7,minmax(60px,1fr));gap:5px;margin-top:10px}.control-strip--drums{grid-template-columns:repeat(4,minmax(68px,1fr));gap:8px;margin-top:10px}.waveform-control{align-content:start;justify-items:center;gap:7px;min-width:0;display:grid}.waveform-label{color:var(--ink,#292a28);font:600 8px var(--mono);text-align:center}.waveform-options{background:linear-gradient(#bbb9b0,#d9d7ce);border:1px solid #77766f;border-radius:3px;align-items:stretch;height:40px;display:flex;overflow:hidden;box-shadow:inset 0 1px 2px #0003,0 1px 2px #0000002e}.waveform-option{color:#52534d;cursor:pointer;background:0 0;border:0;place-items:center;width:29px;padding:0 3px;display:grid}.waveform-option+.waveform-option{border-left:1px solid #85847b}.waveform-option svg{fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.8px;width:23px;height:15px}.waveform-option--selected{color:#242622;background:linear-gradient(#77776f,#5d5e57);box-shadow:inset 0 1px 2px #00000073}.hardware-knob{touch-action:none;-webkit-user-select:none;user-select:none;justify-items:center;gap:3px;min-width:0;display:grid}.hardware-knob-label{max-width:100%;color:var(--ink,#292a28);font:600 9px var(--mono);text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;overflow:hidden}.rotary-dial{aspect-ratio:1;cursor:ns-resize;touch-action:none;background:repeating-conic-gradient(from -135deg,#54554f 0deg 1deg,#0000 1deg 13.5deg),radial-gradient(circle at 50% 52%,#a09f97 0 36%,#0000 37%);border:1px solid #77766f;border-radius:50%;place-items:center;width:57px;padding:0;display:grid;position:relative;box-shadow:inset 0 0 0 3px #d7d5cc,0 2px 3px #00000047}.rotary-dial:active{cursor:grabbing}.hardware-knob--small .rotary-dial{width:38px}.hardware-knob--small .hardware-knob-label{font-size:7px}.hardware-knob--small .hardware-knob-value{font-size:8px}.dial-face{aspect-ratio:1;background:repeating-conic-gradient(#c6c4bb 0deg 1deg,#aeaca3 1deg 3deg),linear-gradient(145deg,#dedcd3,#a9a79f);border:1px solid #9d9b92;border-radius:50%;width:76%;display:block;position:relative;box-shadow:inset 0 2px 4px #fffc,inset 0 -3px 4px #0000002e,0 1px 2px #0003}.dial-pointer{transform:rotate(var(--dial-angle));transform-origin:50%;pointer-events:none;border-radius:50%;position:absolute;inset:0}.dial-pointer:after{content:"";background:linear-gradient(#5b2920,#272824);border-radius:2px;width:2px;height:42%;position:absolute;top:8%;left:calc(50% - 1px);box-shadow:0 0 1px #ffffff59}.hardware-knob-value{color:var(--hardware-accent,#7c4734);font:9px var(--mono)}.instrument-effect-mix .hardware-knob-label{color:#f3e6cf;text-align:center;background:#202922;border-radius:3px;padding:3px 6px;font-size:10px;line-height:1.4}.instrument-effect-mix .hardware-knob-value{color:#ffd49a;min-width:8ch;font:700 13px var(--mono);text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;background:#202922;border:1px solid #8b7554;border-radius:4px;padding:4px 8px;line-height:1.3}.instrument-panel--8x8{--hardware-accent:#89572d}.instrument-panel--9x9{--hardware-accent:#963d30}.bassline-programmer{color:#292a28;padding-top:4px}.bassline-section-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px;display:flex}.bassline-section-heading h3{margin:3px 0 0;font-size:16px}.bassline-section-heading .eyebrow{color:#66655f}.bassline-edit-mode-badge{color:#783b2b;font:8px var(--mono);white-space:nowrap;background:linear-gradient(#eee4d3,#d6c7b1);border:1px solid #8e6654;border-radius:3px;padding:5px 8px}.waveform-selector button{color:#41413c;min-height:27px;font:9px var(--mono);cursor:pointer;background:linear-gradient(#dedcd3,#bdbbb2);border:1px solid #85847c;border-radius:3px;padding:0 9px;box-shadow:inset 0 1px #ffffffd9,0 1px 1px #0000002e}.waveform-selector button[aria-pressed=true]{color:#fffaf1;background:linear-gradient(#ba6545,#8d412e);border-color:#7e3f31;box-shadow:inset 0 1px 2px #00000040}.bassline-step-bank{background:linear-gradient(#b7b5ad,#d8d6ce 18%,#c9c7bf);border:1px solid #97958b;grid-template-columns:repeat(16,minmax(27px,1fr));gap:4px;padding:7px;display:grid;box-shadow:inset 0 1px 3px #00000026}.bassline-step-key{color:#343530;cursor:pointer;background:linear-gradient(#f0eee5,#c8c6bd);border:1px solid #87867f;border-radius:2px;align-content:center;justify-items:center;gap:4px;min-width:0;min-height:53px;padding:4px 1px;display:grid;position:relative;box-shadow:inset 0 1px #fff,0 1px 1px #0000002e}.bassline-step-key:hover{background:linear-gradient(#fffdf5,#d7d5cc)}.bassline-step-key--editing{outline-offset:1px;z-index:1;outline:2px solid #484945}.bassline-step-key--playing{border-color:#a9372a}.bassline-step-key--active{background:linear-gradient(#c7b99c,#aaa089)}.bassline-step-key--accent .step-led,.bassline-step-key--playing .step-led{background:#c73529;box-shadow:0 0 8px #c7352999}.step-led{aspect-ratio:1;background:#858178;border:1px solid #65635b;border-radius:50%;width:8px;box-shadow:inset 0 1px 2px #0000006b}.bassline-step-key--active .step-led{background:#c2673d;border-color:#eb9b69;box-shadow:0 0 4px 1px #c2673d85}.bassline-step-key--playing .step-led,.bassline-step-key--accent .step-led{background:#f04431;border-color:#fff0c9;box-shadow:0 0 5px 2px #f04431bd,0 0 12px #f0443185}.bassline-step-number{color:#4d4d46;font:9px var(--mono)}.bassline-step-note{color:#7a3b2d;min-height:11px;font:8px var(--mono)}.bassline-entry-deck{grid-template-columns:minmax(0,1.5fr) minmax(220px,.85fr);gap:11px;margin-top:10px;display:grid}.bassline-keyboard-block,.bassline-edit-column{background:linear-gradient(145deg,#d9d7ce,#c3c1b8);border:1px solid #98968d;min-width:0;padding:9px;box-shadow:inset 0 1px #ffffffbf}.hardware-label-row,.hardware-label{color:#5c5b55;font:8px var(--mono);text-transform:uppercase;justify-content:space-between;margin-bottom:7px;display:flex}.bassline-audition-key{color:#5c5b55;width:fit-content;font:9px var(--mono);cursor:pointer;align-items:center;gap:5px;margin-bottom:8px;display:flex}.bassline-audition-key input{accent-color:var(--acid);margin:0}.bassline-keyboard{isolation:isolate;background:#2a2b29;border:1px solid #464641;min-height:92px;position:relative}.bassline-white-keys{grid-template-columns:repeat(7,minmax(0,1fr));height:92px;display:grid}.bassline-black-keys{z-index:2;pointer-events:none;position:absolute;inset:0}.bassline-note-key{color:#454540;min-width:0;font:8px var(--mono);cursor:pointer;background:linear-gradient(90deg,#d2d0c7,#f4f2e9 22%,#e0ded5 80%,#b9b7ae);border:0;border-right:1px solid #8b8981;border-radius:0 0 3px 3px;justify-content:center;align-items:end;padding:0 1px 6px;display:flex;position:relative;box-shadow:inset 0 -3px #aaa89f}.bassline-note-key--white{height:100%}.bassline-note-key--white:last-child{border-right:0}.bassline-note-key--black{top:0;left:var(--key-center);color:#ddd9cf;pointer-events:auto;background:linear-gradient(90deg,#171816,#484944 48%,#242522);border:1px solid #242522;border-top:0;border-radius:0 0 3px 3px;width:8.2%;height:59px;padding:0 1px 5px;position:absolute;transform:translate(-50%);box-shadow:inset 0 -3px #111210,0 2px 4px #0000007a}.bassline-note-key--selected{box-shadow:inset 0 -4px #aa4934,inset 0 0 0 2px #a64431}.bassline-note-key--black.bassline-note-key--selected{box-shadow:inset 0 -4px #d06443,inset 0 0 0 2px #c26a4d}.pitch-key-led{aspect-ratio:1;background:#96938a;border:1px solid #807e75;border-radius:50%;width:6px;position:absolute;top:5px;left:50%;transform:translate(-50%);box-shadow:inset 0 1px 2px #00000073}.bassline-note-key--selected .pitch-key-led{background:#ed5035;border-color:#ffdfb6;box-shadow:0 0 4px 2px #ed5035c2,0 0 9px #ed503594}.bassline-note-key--black .pitch-key-led{background:#77766f;border-color:#77766f;top:4px}.bassline-note-key--black.bassline-note-key--selected .pitch-key-led{background:#ed5035;border-color:#ffdfb6;box-shadow:0 0 4px 2px #ed5035c2}.bassline-note-key:disabled{opacity:.48;cursor:default}.bassline-keyboard-actions{justify-content:space-between;gap:7px;margin-top:8px;display:flex}.octave-control{flex:1;gap:3px;min-width:135px;display:grid}.octave-control-label{color:#5c5b55;font:8px var(--mono)}.octave-control-row{align-items:center;gap:5px;display:flex}.octave-adjust-buttons{gap:3px;display:flex}.octave-adjust-buttons button{color:#363732;cursor:pointer;background:linear-gradient(#efede4,#bebcb2);border:1px solid #89877e;border-radius:3px;width:26px;height:36px;font-size:18px;font-weight:600;box-shadow:inset 0 1px #fff,inset 0 -3px #a5a399,0 1px 1px #00000026}.octave-adjust-buttons button:active{background:#b2b0a7;box-shadow:inset 0 2px 4px #0000003d}.hardware-button{color:#3f403b;min-height:28px;font:8px var(--mono);cursor:pointer;background:linear-gradient(#e6e4db,#bdbbb2);border:1px solid #8b8980;border-radius:3px;justify-content:center;align-items:center;gap:4px;padding:0 8px;display:inline-flex;box-shadow:inset 0 1px #ffffffd9,0 1px 2px #0000002e}.hardware-button:hover:not(:disabled),.hardware-toggle:hover:not(:disabled){filter:brightness(1.06)}.hardware-button:active:not(:disabled),.hardware-toggle:active:not(:disabled){background:linear-gradient(#aaa89e,#d0cec4);box-shadow:inset 0 2px 3px #00000040}.hardware-button:disabled,.hardware-toggle:disabled{opacity:.45;cursor:default}.hardware-button--clear{color:#fff8ee;background:linear-gradient(#aa563d,#7d3829);border-color:#784233}.hardware-button--step{color:#fff8ee;background:linear-gradient(#bb6947,#91422e);border-color:#9b4d34}.step-display-block{border-bottom:1px solid #aaa89e;grid-template-columns:1fr auto;align-items:center;gap:5px 8px;padding-bottom:8px;display:grid}.step-display-block .hardware-label{grid-column:1/-1;margin:0}.led-readout{background:linear-gradient(#24130f,#321812);border:2px solid #4b3d37;border-radius:3px;justify-content:center;align-items:center;gap:6px;padding:4px 6px;display:inline-flex;box-shadow:inset 0 0 8px #000000e6,0 1px 1px #ffffff80}.step-led-display{width:61px;height:36px}.octave-display{min-width:67px;height:36px;padding:3px 5px}.led-readout-label{color:#e27a5d;font:7px var(--mono);text-shadow:0 0 4px #e27a5d6b}.led-digit-row{align-items:center;gap:3px;display:inline-flex}.led-digit{width:15px;height:25px;display:block;position:relative}.led-segment{opacity:.48;background:#52231a;border-radius:1px;display:block;position:absolute}.led-segment--on{opacity:1;background:#ff6546;box-shadow:0 0 3px 1px #ff6546c2,0 0 7px #ff4d337a}.led-segment--a,.led-segment--d,.led-segment--g{clip-path:polygon(20% 0,80% 0,100% 50%,80% 100%,20% 100%,0 50%);width:9px;height:3px;left:3px}.led-segment--a{top:0}.led-segment--g{top:11px}.led-segment--d{bottom:0}.led-segment--b,.led-segment--c,.led-segment--e,.led-segment--f{clip-path:polygon(0 10%,50% 0,100% 10%,100% 90%,50% 100%,0 90%);width:3px;height:9px}.led-segment--b{top:2px;right:0}.led-segment--c{bottom:2px;right:0}.led-segment--e{bottom:2px;left:0}.led-segment--f{top:2px;left:0}.led-segment--dp{width:2px;height:2px;bottom:0;right:-4px}.step-navigation{grid-template-columns:1fr 1fr;gap:4px;display:grid}.step-time-block{border-bottom:1px solid #aaa89e;margin-top:8px;padding-bottom:8px}.hardware-button-row{gap:4px;display:flex}.hardware-button--compact{flex:1;min-width:0;padding:0 3px}.hardware-button--compact[aria-pressed=true]{color:#fff7ea;background:linear-gradient(#b96040,#8f412d);border-color:#8d422f}.step-modifiers{padding-top:8px}.modifier-grid{grid-template-columns:1fr auto 1fr;gap:5px;display:grid}.hardware-toggle{color:#42433d;min-height:27px;font:8px var(--mono);cursor:pointer;background:linear-gradient(#e4e2d9,#bebcb3);border:1px solid #8c8a81;border-radius:3px;justify-content:center;align-items:center;gap:3px;padding:0 5px;display:inline-flex;box-shadow:inset 0 1px #fffc,0 1px 1px #0000002b}.hardware-toggle:nth-last-child(2),.hardware-toggle:last-child{grid-column:span 1}.hardware-toggle--active,.hardware-toggle[aria-pressed=true]{color:#fff8ef;background:linear-gradient(#b85c3d,#8b3d2c);border-color:#95422f}.modifier-led{aspect-ratio:1;background:#8d8a80;border:1px solid #77756d;border-radius:50%;width:7px;box-shadow:inset 0 1px 2px #00000080}.hardware-button--compact[aria-pressed=true] .modifier-led,.hardware-toggle[aria-pressed=true] .modifier-led{background:#f04f34;border-color:#ffe5bf;box-shadow:0 0 4px 2px #f04f34b8}.transpose-readout{color:#7b3e2d;font:9px var(--mono);text-align:center;align-self:center}.bassline-bottom-strip{color:#55554f;min-height:33px;font:8px var(--mono);background:#b7b5ac75;border-top:1px solid #99978e;align-items:center;gap:7px;margin-top:8px;padding:5px 7px;display:flex}.signal-led{aspect-ratio:1;background:#bd4b37;border-radius:50%;width:6px;box-shadow:0 0 6px #bd4b3773}.waveform-selector{align-items:center;gap:4px;margin-left:auto;display:flex}.waveform-selector>span{color:#55554f;font:7px var(--mono);margin-right:2px}.waveform-selector button{min-height:22px;padding:0 6px;font-size:7px}.mixer-panel,.mixer-panel .panel-heading h2,.mixer-panel .panel-heading>svg{color:#343531}.mixer-panel .eyebrow{color:#65645d}.mixer-channel{border-color:#a6a49b}.mixer-channel-name,.mixer-channel output{color:#41423d}.mixer-master{background:linear-gradient(#e1dfd6,#c2c0b7);border-color:#8c8a80}.master-label{color:#393a36}.mixer-panel .master-label output{color:#913f2d}.mixer-panel input[type=range]{accent-color:#a64b34}.mixer-panel .audio-bus{color:#4b4c46}.mixer-panel .audio-bus svg{color:#845b42}.mixer-panel .new-session-button{color:#3f403b;background:linear-gradient(#e2e0d6,#bcbab1);border-color:#89877d}.mixer-panel .new-session-button:hover{color:#883c2d;border-color:#a34b34}@media (width<=1180px){.control-strip--3x3{grid-template-columns:repeat(7,minmax(52px,1fr))}.rotary-dial{width:51px}}@media (width<=820px){.bassline-entry-deck{grid-template-columns:minmax(0,1.35fr) minmax(205px,.9fr)}.bassline-step-bank{grid-template-columns:repeat(16,minmax(30px,1fr));overflow-x:auto}}@media (width<=560px){.control-strip--3x3{grid-template-columns:repeat(3,minmax(75px,1fr));row-gap:9px}.control-strip--3x3 .control:last-child:nth-child(odd){grid-column:auto}.control-strip--drums{grid-template-columns:repeat(4,minmax(62px,1fr));gap:3px}.rotary-dial{width:49px}.hardware-knob-label{font-size:8px}.bassline-section-heading{flex-direction:column;align-items:start}.bassline-entry-deck{grid-template-columns:1fr}.bassline-step-bank{grid-template-columns:repeat(16,minmax(30px,1fr));overflow-x:auto}.bassline-step-key{min-height:48px}.bassline-edit-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px;display:grid}.step-display-block{grid-column:1/-1}.step-time-block{margin:0}.step-modifiers{padding:0}.bassline-bottom-strip{flex-wrap:wrap}}.drum-machine-editor{min-width:0;padding-top:9px}.drum-channel-bank{scrollbar-color:#89877d #c7c5bc;scrollbar-width:thin;background:linear-gradient(#bcbab1,#d9d7ce 12%,#c8c6bd);border:1px solid #8b8980;grid-template-columns:repeat(12,minmax(76px,1fr));min-width:912px;display:grid;overflow-x:auto;box-shadow:inset 0 1px 3px #0003}.drum-channel-strip{background:linear-gradient(90deg,#8280771f,#0000 24%,#fff3 80%,#0000);border-right:1px solid #929087;grid-template-rows:auto 1fr auto;align-content:start;min-width:0;min-height:176px;padding:5px 4px 4px;display:grid}.drum-channel-strip:last-child{border-right:0}.drum-channel-strip--selected{background:linear-gradient(#ae49302b,#ffffff21);box-shadow:inset 0 3px #a84832}.drum-channel-code{color:#e58a55;font:700 9px var(--mono);text-align:center;background:linear-gradient(#4b4b47,#676761);border-bottom:1px solid #908e85;margin:-5px -4px 4px;padding:3px 1px 2px;display:block}.drum-channel-knobs{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;justify-items:center;gap:3px 1px;min-height:93px;display:grid}.drum-variant-switch{color:#44443e;min-width:34px;min-height:20px;font:700 7px var(--mono);cursor:pointer;background:linear-gradient(#eeece3,#c2c0b7);border:1px solid #85837a;border-radius:2px;justify-self:center;margin:1px 0 3px;box-shadow:inset 0 1px #fff,0 1px 1px #0000002e}.drum-channel-key{color:#3e3f39;width:100%;min-height:27px;font:700 8px var(--mono);cursor:pointer;background:linear-gradient(#f2f0e7,#c6c4ba);border:1px solid #8d8b82;border-radius:2px;justify-content:center;align-items:center;gap:4px;display:flex;position:relative;box-shadow:inset 0 1px #fff,inset 0 -3px #a9a79d,0 1px 2px #0000002e}.drum-channel-key[aria-pressed=true]{color:#713723;background:linear-gradient(#e6d6c2,#bca78f);border-color:#984932;box-shadow:inset 0 1px #fffc,inset 0 -3px #957b62}.drum-channel-led{aspect-ratio:1;background:#77756c;border:1px solid #77756c;border-radius:50%;width:6px;box-shadow:inset 0 1px 2px #00000073}.drum-channel-key[aria-pressed=true] .drum-channel-led{background:#eb5034;border-color:#ffe2b6;box-shadow:0 0 4px 2px #eb5034b8}@media (prefers-reduced-motion:reduce){.rack-device-led,.drum-channel-led{transition:none}}.drum-programmer-bar{background:linear-gradient(145deg,#d8d6cd,#c2c0b7);border:1px solid #908e85;border-top:0;align-items:center;gap:16px;min-height:87px;padding:8px 12px;display:flex}.drum-voice-selector{align-items:center;gap:12px;min-width:0;display:flex}.drum-voice-indicators{grid-template-columns:repeat(6,minmax(35px,auto));gap:3px;display:grid}.drum-voice-indicator{color:#51514a;min-height:20px;font:7px var(--mono);cursor:pointer;background:linear-gradient(#ebe9df,#c9c7bd);border:1px solid #96948b;border-radius:2px;align-items:center;gap:4px;padding:0 4px;display:inline-flex}.drum-voice-indicator i{aspect-ratio:1;background:#77756d;border:1px solid #78766e;border-radius:50%;width:5px}.drum-voice-indicator[aria-pressed=true]{color:#713724;border-color:#9a4b34}.drum-voice-indicator[aria-pressed=true] i{background:#eb5034;border-color:#ffe2b6;box-shadow:0 0 4px 2px #eb5034b3}.drum-flam-controls{border-right:1px solid #9a988f;align-items:center;gap:11px;min-width:165px;padding-right:15px;display:flex}.drum-flam-key{color:#4b4b45;min-height:33px;font:700 8px var(--mono);cursor:pointer;background:linear-gradient(#eeece3,#c2c0b7);border:1px solid #89877e;border-radius:3px;align-items:center;gap:6px;padding:0 9px;display:inline-flex;box-shadow:inset 0 1px #fff,inset 0 -3px #aaa89e,0 1px 2px #0000002e}.drum-flam-key i{aspect-ratio:1;background:#77756c;border:1px solid #77756c;border-radius:50%;width:7px}.drum-flam-key--on i{background:#eb5034;border-color:#ffe2b6;box-shadow:0 0 4px 2px #eb5034b3}.drum-selected-label{gap:4px;margin-left:auto;display:grid}.drum-selected-label .eyebrow{color:#66645c;font-size:8px}.drum-selected-label strong{color:#713b2c;font:600 14px var(--mono)}.drum-pattern-length{color:#5d5b54;font:8px var(--mono);white-space:nowrap}.drum-step-editor{background:linear-gradient(#d4d2c9,#c6c4bb);border:1px solid #939188;border-top:0;padding:8px 9px 1px}.drum-step-editor .step-grid{grid-template-columns:82px repeat(16,minmax(25px,1fr));min-width:530px}.drum-step-editor .step-corner{color:#645f54}.drum-step-editor .step-number--beat{color:#453f35}.step-grid--drum .step-cell{background:linear-gradient(#e6e4db,#c3c1b7);border-color:#77766d;border-radius:3px;min-height:48px;position:relative;box-shadow:inset 0 1px #fff,inset 0 -4px #a6a49a,0 2px 2px #0003}.step-grid--drum .step-cell:before{aspect-ratio:1;content:"";background:#99968d;border:1px solid #89867d;border-radius:50%;width:6px;position:absolute;top:5px;left:50%;transform:translate(-50%);box-shadow:inset 0 1px 2px #0006}.step-grid--drum .step-cell--coral{background:linear-gradient(#f29a58,#d66734);border-color:#964a32;box-shadow:inset 0 1px #ffd09b,inset 0 -4px #a94a2c,0 2px 2px #0003}.step-grid--drum .step-cell--cyan{background:linear-gradient(#eeece4,#c6c4bb)}.step-grid--drum .step-cell--coral:before,.step-grid--drum .step-cell--cyan:before{background:#c8442f;border-color:#f4d6a7;box-shadow:0 0 4px 2px #c8442fb3}.step-grid--drum .step-cell--playhead{outline-offset:1px;outline:2px solid #403f3a}@media (width<=820px){.studio-layout--drum .rack-panel{grid-template-columns:1fr;gap:8px}.drum-programmer-bar{flex-wrap:wrap;gap:8px}.drum-voice-selector{width:100%}.drum-voice-indicators{flex:1;grid-template-columns:repeat(6,minmax(30px,1fr))}.drum-selected-label{margin-left:0}}@media (width<=560px){.drum-channel-bank{grid-template-columns:repeat(12,minmax(92px,1fr))}.drum-channel-strip{min-height:168px}.drum-channel-knobs{min-height:90px}.drum-voice-indicators{grid-template-columns:repeat(4,minmax(32px,1fr))}.drum-step-editor .step-grid{grid-template-columns:65px repeat(16,minmax(25px,1fr))}}.drum-variant-toggle{grid-template-rows:22px 36px 22px;margin:1px 1px 3px;display:grid;position:relative}.drum-variant-option{z-index:0;color:#393426;min-width:0;box-shadow:none;font:700 8px var(--mono);font-variant:small-caps;text-align:center;text-shadow:0 1px #fffadcbf,0 -1px #4d432a59;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:0;place-items:center;padding:1px 2px;display:grid}.drum-variant-option:first-child{grid-row:1}.drum-variant-option:last-child{grid-row:3}.drum-variant-option:focus-visible{outline-offset:1px;outline:2px solid #a84832}.drum-variant-rocker{cursor:pointer;background:linear-gradient(90deg,#090b0a,#292d2b 38%,#080a09 58%,#252927 78%,#070908);border:2px solid #080a09;border-radius:2px;grid-row:2;place-self:stretch center;width:18px;padding:0;position:relative;box-shadow:inset 0 0 3px #000,0 1px 2px #0000008c}.drum-variant-rocker:hover{border-color:#d4482e}.drum-variant-rocker:focus-visible{outline-offset:2px;outline:2px solid #a84832}dialog.io-routing-dialog{width:min(1320px,100vw - 32px);height:calc(100dvh - 28px);max-height:none;overflow:hidden}dialog.io-routing-dialog[open]{flex-direction:column;display:flex}dialog.io-routing-dialog--expanded{width:calc(100vw - 12px);height:calc(100dvh - 12px);padding:14px}.io-dialog-actions{gap:6px;display:flex}.io-routing-dialog>.io-route-editor,.io-routing-dialog .io-graph-workbench{flex-direction:column;flex:1;min-height:0;display:flex}.io-routing-dialog .io-graph-viewport{flex:1;min-height:100px;max-height:none}.io-routing-dialog .io-graph-modebar{flex-shrink:0}.io-routing-dialog .io-graph-connection-list{flex-shrink:0;overflow:hidden}.io-graph-surface{position:relative;overflow:hidden}.io-graph-stage{transform-origin:0 0;min-width:0}.io-graph-viewport--panning,.io-graph-viewport--panning *{touch-action:none;-webkit-user-select:none;user-select:none;cursor:move!important}.io-graph-viewport--grabbed,.io-graph-viewport--grabbed *{cursor:move!important}.io-history-button--active{color:#f1f4e8;background:#43513e;border-color:#829273}.io-graph-history-actions{flex-wrap:wrap}.io-routing-dialog>:not(.io-route-editor){flex-shrink:0}.io-routing-dialog .io-utility-disclosure[open]{max-height:25dvh;overflow:auto}@media (height<=600px){dialog.io-routing-dialog{overflow:auto}.io-routing-dialog>.io-route-editor{flex:none}.io-routing-dialog .io-graph-viewport{flex:none;height:240px}}dialog.device-io-dialog{width:min(780px,100vw - 28px)}@media (width<=820px){.io-chain-list{max-height:45dvh}.io-chain-node{flex-basis:126px}.io-chain-link{flex-basis:156px}.io-graph-inline-editor{width:min(320px,100% - 20px)}.io-graph-selected-actions{justify-content:flex-end}.io-route-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.io-route-search{grid-column:1/-1}.io-route-add{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.io-route-add>button{grid-column:1/-1;justify-self:end}}@media (width<=560px){dialog.io-routing-dialog,dialog.device-io-dialog{width:calc(100vw - 20px);padding:13px}.midi-panel-body{flex-direction:column;align-items:flex-start}.midi-device-columns{grid-template-columns:1fr}.midi-map-form{grid-template-columns:repeat(2,minmax(0,1fr))}.midi-map-form .midi-map-target{grid-column:1/-1}.midi-map-item{grid-template-columns:minmax(0,1fr) auto}.midi-map-item small{grid-column:1}.master-io-row{grid-template-columns:minmax(0,1fr) auto}.master-io-row label:last-child{grid-column:1/-1}.io-route-title-row{flex-direction:column;align-items:flex-start;gap:4px}.io-chain-list{max-height:42dvh}.io-graph-modebar{align-items:flex-start}.io-graph-trash-drop{min-height:34px}.io-graph-inline-editor{width:min(300px,100% - 16px)}.io-graph-selected-heading,.io-graph-selected-actions{grid-column:auto}.io-graph-selected-actions{justify-content:flex-end}.io-graph-selected-actions .dialog-button{flex:1}.io-graph-connection-list summary{min-height:36px}.io-route-tools{grid-template-columns:minmax(0,1fr);gap:7px;padding:8px}.io-route-search{grid-column:auto}.io-chain-row{padding:7px}.io-chain-node{flex-basis:118px;min-height:84px;padding:7px}.io-chain-link{flex-basis:144px;padding:6px}.io-chain-connection{font-size:8px}.io-flow-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:7px}.io-flow-diagram{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:5px}.io-flow-node{min-height:62px;padding:7px}.io-flow-node strong{overflow-wrap:anywhere;white-space:normal;font-size:10px}.io-flow-node span{font-size:9px}.io-flow-wire{gap:2px}.io-flow-wire small{display:none}.io-flow-edit{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.io-edit-gain{grid-column:1/-1}.io-route-add{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:9px}.io-route-add .io-edit-gain{grid-column:1/-1}.io-route-add>button{grid-column:1/-1;justify-self:stretch}.device-route-row{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) auto auto;gap:4px;padding:6px}.device-route-port{overflow-wrap:anywhere;font-size:10px}.device-route-row .io-route-action{width:28px;height:28px}.device-route-add{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px}.device-route-add .device-route-gain,.device-route-add>button{grid-column:1/-1}.device-route-add>button{justify-self:stretch}}.drum-variant-rocker-thumb{background:linear-gradient(#e9e5d8 0 34%,#d4482e 35% 53%,#aaa99f 54% 100%);border:1px solid #171916;border-radius:2px;width:13px;height:13px;transition:top 90ms ease-out;position:absolute;top:2px;left:50%;transform:translate(-50%);box-shadow:inset 0 1px 1px #fff9,0 1px 2px #000}.drum-variant-toggle--bottom .drum-variant-rocker-thumb{top:21px}.settings-menu{position:relative}.settings-panel{z-index:40;color:#e2e7df;background:linear-gradient(145deg,#303932,#202622);border:1px solid #566158;border-radius:4px;gap:12px;width:min(300px,100vw - 20px);padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 38px #00000073}.settings-panel h2{color:#edf0e9;margin:0;font-size:16px}.settings-preference-row{color:#cad2c8;font:9px var(--mono);gap:7px;display:grid}.settings-color-mode{background:#222a25;border:1px solid #566158;border-radius:3px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:3px;display:grid}.settings-color-mode button{color:#cbd3c8;min-height:32px;font:700 9px var(--mono);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:6px;display:inline-flex}.settings-color-mode button[aria-checked=true]{color:#f2f4ec;background:#46533f;border-color:#7d9074}.settings-panel button:focus-visible{outline:2px solid var(--acid);outline-offset:2px}.settings-toggle-row{color:#cad2c8;font:9px var(--mono);justify-content:space-between;align-items:center;gap:10px;display:flex}.settings-switch{cursor:pointer;background:#222a25;border:1px solid #566158;border-radius:12px;flex:none;width:44px;height:24px;padding:0;transition:background .12s ease-out,border-color .12s ease-out;position:relative}.settings-switch:after{content:"";background:#8d978b;border-radius:50%;width:16px;height:16px;transition:transform .12s ease-out,background .12s ease-out;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0008}.settings-switch[aria-checked=true]{background:#46533f;border-color:#7d9074}.settings-switch[aria-checked=true]:after{background:var(--acid);transform:translate(20px)}.app-tooltip{z-index:2147483000;color:#eef2ea;letter-spacing:0;text-align:left;text-transform:none;white-space:normal;pointer-events:none;opacity:0;background:#181d1af7;border:1px solid #66745f;border-radius:4px;gap:4px;max-width:min(300px,100vw - 16px);margin:0;padding:7px 9px;font:500 12px/1.35 system-ui,sans-serif;transition:opacity .11s ease-out,transform .11s ease-out;display:grid;position:fixed;inset:0 auto auto 0;overflow:visible;transform:translateY(2px);box-shadow:0 8px 22px #00000073}.app-tooltip[data-visible=true]{opacity:1;transform:none}.app-tooltip[data-placement=above][data-visible=false]{transform:translateY(-2px)}.app-tooltip:not([popover]){visibility:hidden}.app-tooltip[popover]:not(:popover-open){visibility:hidden}.app-tooltip[data-visible=true]:not([popover]){visibility:visible}.app-tooltip-hint{color:#aab6a6;font:500 10px/1.35 var(--mono)}.app-tooltip-hint[hidden]{display:none}.settings-consent-status{color:#b5bfb4;margin:0;font-size:10px;line-height:1.4}.settings-action-button,.settings-consent-button{color:#dce4d7;min-height:34px;font:700 8px var(--mono);cursor:pointer;background:#354137;border:1px solid #60705e;border-radius:3px;justify-content:center;align-items:center;gap:7px;padding:0 9px;display:inline-flex}.settings-action-button:hover,.settings-consent-button:hover{color:#ffddb7;border-color:#c18b59}.settings-consent-button{color:#b8c3b6;background:0 0;border-color:#0000}.settings-action-button:disabled{opacity:.5;cursor:not-allowed}.preference-consent-dialog{width:min(500px,100vw - 28px)}.reset-preferences-dialog{width:min(540px,100vw - 28px)}:root[data-theme=light]{color:#30342f;--canvas:#e8e6de;--panel:#f4f2ea;--panel-raised:#e7e5dc;--panel-deep:#d9d7ce;--line:#a8a69d;--text:#30342f;--muted:#656960;background:#e8e6de}:root[data-theme=light] body{background:repeating-linear-gradient(0deg,#0000 0 3px,#373b3408 3px 4px),radial-gradient(at 16% -15%,#ffffffb3,#0000 48%),linear-gradient(145deg,#f3f1e9,#dfddd5 58%)}:root[data-theme=light] .studio-shell{color:#30342f}:root[data-theme=light] .topbar{background:#f4f2eaf5;border-color:#c5c2b8}:root[data-theme=light] .brand-copy h1,:root[data-theme=light] .project-title{color:#30342f}:root[data-theme=light] .brand-copy>span,:root[data-theme=light] .save-state,:root[data-theme=light] .topbar .eyebrow{color:#666a62}:root[data-theme=light] .icon-button{color:#454940}:root[data-theme=light] .icon-button:hover{color:#292d29;background:#e6e3d9;border-color:#a8a69d}:root[data-theme=light] .updates-panel{color:#30342f;background:#f4f2ea;border-color:#b6b4aa;box-shadow:0 10px 28px #282a2433}:root[data-theme=light] .updates-panel h2,:root[data-theme=light] .updates-list li{color:#343832}:root[data-theme=light] .updates-list li{border-color:#d3d0c6}:root[data-theme=light] .transport-bar{background:linear-gradient(90deg,#e2e0d7,#f1efe7 70%,#e1dfd6);border-color:#c6c3b9}:root[data-theme=light] .transport-label,:root[data-theme=light] .transport-status,:root[data-theme=light] .midi-status{color:#4c514b}:root[data-theme=light] .panel{color:#343832;background:linear-gradient(155deg,#f3f1e9,#e5e3da);border-color:#aaa89e;box-shadow:0 5px 18px #2b2d271a}:root[data-theme=light] .panel-heading{border-color:#c7c5bb}:root[data-theme=light] .panel-heading h2,:root[data-theme=light] .instrument-title-block h2{color:#30342f}:root[data-theme=light] .rack-device-row{background:linear-gradient(115deg,#e8e6de,#f3f1e9 65%);border-color:#b3b0a5}:root[data-theme=light] .rack-device-row--selected,:root[data-theme=light] .rack-device--selected{background:linear-gradient(115deg,#f2eee2,#e5e2d7 70%)}:root[data-theme=light] .rack-device-row .pattern-bank-panel--compact{color:#4d524a;border-top-color:#c9c6bb}:root[data-theme=light] .rack-device-name small,:root[data-theme=light] .rack-device-index{color:#666b63}:root[data-theme=light] .rack-device-action{color:#53584f;background:#e2e0d7;border-color:#b1aea3}:root[data-theme=light] .rack-device-delete .rack-device-action{color:#813c29;background:#f2d9ca;border-color:#a76650}:root[data-theme=light] .rack-device-delete .rack-device-action:disabled{color:#535c4e;background:#dedfd4;border-color:#92998b}:root[data-theme=light] .device-io-path,:root[data-theme=light] .device-io-none{color:#373f35}:root[data-theme=light] .device-io-path--midi{color:#625019}:root[data-theme=light] .device-io-path b{color:#84471d}:root[data-theme=light] .rack-footnote{color:#666b63;border-color:#c9c7bd}:root[data-theme=light] .mixer-channel-toggle,:root[data-theme=light] .mixer-channel-name,:root[data-theme=light] .mixer-channel output{color:#454a43}:root[data-theme=light] .mixer-channel{border-color:#d0cec4}:root[data-theme=light] .mixer-master{background:linear-gradient(145deg,#ebe9e1,#dedcd3);border-color:#bbb8ae}:root[data-theme=light] .master-label{color:#373c36}:root[data-theme=light] .audio-bus{color:#50574e}:root[data-theme=light] .studio-footer{color:#62675e;border-color:#c5c2b8}:root[data-theme=light] .footer-mark{color:#464c44}:root[data-theme=light] .midi-panel-heading h2,:root[data-theme=light] .io-routing-heading h2,:root[data-theme=light] .midi-panel-title{color:#30362f}:root[data-theme=light] .midi-support-message,:root[data-theme=light] .io-routing-summary{color:#535a51}:root[data-theme=light] .settings-panel{color:#353a33;background:linear-gradient(145deg,#f5f3eb,#e7e5dc);border-color:#aaa89e;box-shadow:0 14px 38px #23262038}:root[data-theme=light] .settings-panel h2{color:#30342f}:root[data-theme=light] .settings-preference-row,:root[data-theme=light] .settings-consent-status{color:#50564d}:root[data-theme=light] .settings-color-mode{background:#dedcd2;border-color:#bcb9ae}:root[data-theme=light] .settings-color-mode button{color:#454a43}:root[data-theme=light] .settings-color-mode button[aria-checked=true]{color:#242a24;background:#cbd5bc;border-color:#788669}:root[data-theme=light] .settings-toggle-row{color:#50564d}:root[data-theme=light] .settings-switch{background:#dedcd2;border-color:#bcb9ae}:root[data-theme=light] .settings-switch:after{background:#9a978c}:root[data-theme=light] .settings-switch[aria-checked=true]{background:#cbd5bc;border-color:#788669}:root[data-theme=light] .settings-switch[aria-checked=true]:after{background:#4f7a2c}:root[data-theme=light] .app-tooltip{color:#24291f;background:#fcfaf3fa;border-color:#bcb9ae;box-shadow:0 8px 22px #3c372838}:root[data-theme=light] .app-tooltip-hint{color:#6a6e62}:root[data-theme=light] .settings-action-button,:root[data-theme=light] .settings-consent-button{color:#3e4639;background:#e4e7db;border-color:#a9aa9d}:root[data-theme=light] .settings-consent-button{background:0 0}@media (prefers-reduced-motion:reduce){.io-graph-port--add-compatible{animation:none}}
