:root{color-scheme:light;--plate:#cbd0d5;--plate-inset:#b7bec5;--plate-border:#a4adb5;--ink:#262b30;--secondary:#46515b;--tertiary:#62707b;--muted:#87919a;--chrome:#202327;--lcd:#c7dfeb;--lcd-ink:#334d61;--pad:#d66169;--focus:#3e6380;--radius:3px;--unit:4px;--dial-size:44px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--plate);color:var(--ink)}body{font:12px Arial,Helvetica,sans-serif}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}a{color:inherit;text-decoration:none}button{border:1px solid var(--plate-border);border-radius:var(--radius);background:var(--plate-inset)}button:hover:not(:disabled){background:#aab5be;border-color:#6c7a85}button[aria-pressed=true]{background:#343b42;border-color:#343b42;color:#fff}[hidden]{display:none!important}.instrument{width:100%;min-height:100dvh;display:flex;flex-direction:column;padding:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 12px;background:var(--chrome);color:#e5e7e9;min-width:0;border-bottom:3px solid #8e979f}.workspace,.toolbar-actions,.program-files,.timbres{display:flex;align-items:center;gap:4px}.workspace{gap:12px;min-width:0}.brand{font-size:20px;font-weight:700;letter-spacing:1.5px;white-space:nowrap}.brand span{display:block;font-size:7px;font-weight:400;letter-spacing:1px;color:#aeb4bb;margin-top:4px}.timbres button{width:36px;height:44px;border-color:#4c555e;background:#30373d;color:#aeb4bb;font:11px ui-monospace,SFMono-Regular,monospace}.timbres button[aria-selected=true]{background:var(--lcd);border-color:var(--lcd);color:var(--ink)}.program{width:128px;min-width:0;display:flex;flex-direction:column;gap:4px}.program .lcd-choice{height:32px;min-height:32px;font-size:11px}.program #edit-context{font:9px ui-monospace,SFMono-Regular,monospace;color:#aeb4bb;white-space:nowrap}.program-files{gap:4px}.tool-button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:#30373d;color:#d9dfe3;border:1px solid #4c555e;border-radius:3px;height:44px;padding:0 10px;font-size:10px;cursor:pointer}.tool-button:hover{background:#3c454d;border-color:#81909b}.power{height:44px;min-width:88px;padding:0 12px;background:var(--pad);border-color:#c04752;color:white;font-size:11px;font-weight:600}.power[aria-pressed=true]{background:#3b4650;border-color:#647480}.power:hover:not(:disabled){background:#e47780;color:#fff;border-color:#c04752}.power:disabled{opacity:.5}.fullscreen{width:44px;padding:0}.fullscreen svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square}.performance{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:252px;flex:none}.performance .parameter{color:#c1cbd3}.performance .parameter>label{font-size:8px}.performance .knob{background:#4a535c;border-color:#626e78;box-shadow:none}.performance .dial-value{color:#c7dfeb}.performance .knob-face{box-shadow:0 1px 2px #101316}.performance .lcd-choice{background:#3b4650;color:#d7e3ec;border-color:#626e78;font-size:9px}.rack{padding:0 8px;flex:1}.rack-row{display:grid;border-bottom:1px solid var(--plate-border);min-width:0}.rack-row-0,.rack-row-3{grid-template-columns:repeat(24,minmax(0,1fr))}.rack-row-1{grid-template-columns:repeat(6,minmax(0,1fr))}.rack-row-2{grid-template-columns:repeat(8,minmax(0,1fr))}.module{grid-column:span var(--span);padding:8px;border-right:1px solid var(--plate-border);min-width:0}.module:last-child{border-right:0}.module-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;height:16px;margin-bottom:4px;min-width:0}.module h2{font-size:9px;font-weight:700;letter-spacing:.75px;white-space:nowrap;margin:0;color:#3b4650}.module-heading svg{width:72px;height:20px;flex:none;background:var(--lcd);border:1px solid #8ba3b5;border-radius:2px}.module-heading path{fill:none;stroke:#3e6380;stroke-width:3;vector-effect:non-scaling-stroke}.module-controls{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:4px;align-content:start}.parameter{display:flex;flex-direction:column;align-items:center;min-width:0;height:72px}.parameter>label{font-size:8px;line-height:12px;height:12px;text-align:center;color:var(--secondary);width:100%;overflow:hidden;white-space:nowrap;cursor:default}.knob{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-height:44px;padding:0;background:var(--plate-inset);border:1px solid #969fa8;border-radius:50%;box-shadow:inset 0 0 0 2px var(--plate);touch-action:none}.knob-face{display:block;width:32px;height:32px;position:relative;border-radius:50%;background:repeating-conic-gradient(#343a40 0deg 7deg,#424b54 7deg 14deg);border:3px solid #505961;box-shadow:0 2px 2px #7c858e;transform:rotate(var(--angle));pointer-events:none}.knob-face:after{content:"";position:absolute;top:1px;left:calc(50% - 1px);width:2px;height:9px;background:#e1e7eb;border-radius:1px}.knob:hover:not(:disabled){background:#abb6c0;border-color:#66727e}.dial-value{appearance:textfield;width:100%;min-width:0;max-width:64px;height:16px;padding:0 2px;margin:0;border:0;border-radius:2px;background:transparent;color:#4b5a65;font:9px/16px ui-monospace,SFMono-Regular,monospace;font-variant-numeric:tabular-nums;text-align:center}.dial-value:hover:not(:disabled),.dial-value:focus{background:#e2e6ea}.dial-value::-webkit-inner-spin-button,.dial-value::-webkit-outer-spin-button{appearance:none;margin:0}.lcd-choice{width:100%;height:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:space-between;gap:3px;background:var(--lcd);color:var(--lcd-ink);border:1px solid #8ba3b5;border-radius:2px;box-shadow:inset 0 1px 2px #73828f38;padding:0 5px;font:9px ui-monospace,SFMono-Regular,monospace;min-width:0;white-space:nowrap}.lcd-choice span:first-child{overflow:hidden;text-overflow:ellipsis}.lcd-choice:hover:not(:disabled){background:#d8eaf3;border-color:#607c91}.choice-arrow{font:12px Arial;flex:none;color:#587185}.choice-popup{margin:0;padding:4px;position:fixed;inset:auto;background:#dce6ec;color:var(--lcd-ink);border:1px solid #758ca0;border-radius:3px;box-shadow:0 4px 12px #1b232b44;overflow-y:auto;overscroll-behavior:contain;z-index:100}.choice-popup button{display:block;width:100%;text-align:left;font:11px ui-monospace,SFMono-Regular,monospace;min-height:36px;padding:8px 12px;border:0;border-radius:2px;background:transparent;color:var(--lcd-ink)}.choice-popup button[aria-selected=true]{background:#394f63;color:#fff}.choice-popup button:hover,.choice-popup button:focus{background:#aec9db;outline-offset:-2px}.choice-popup button[aria-selected=true]:hover{background:#4b687f}.parameter.inactive{opacity:.42}.parameter :disabled{opacity:1}.lcd-readout{display:flex;align-items:center;justify-content:center;background:#bfc9d1;border:1px solid #a0adb8;width:100%;height:44px;font:12px ui-monospace,SFMono-Regular,monospace;color:#596a78;border-radius:2px}.segment-parameter{height:auto;width:100%}.segment-parameter>label{display:none}.segmented{display:flex;gap:3px;width:100%}.segmented button{flex:1;height:32px;min-height:32px;padding:0 4px;font-size:9px;font-weight:600;white-space:nowrap}.module-drive .module-controls{grid-template-areas:"mode mode" "type depth" "position position";align-items:start}.module-drive [data-parameter="29"]{grid-area:mode}.module-drive [data-parameter="154"]{grid-area:type}.module-drive [data-parameter="31"]{grid-area:depth}.module-drive [data-parameter="30"]{grid-area:position}.module-drive [data-parameter="30"] button{font-weight:400}.patch-body{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr) minmax(0,1fr);gap:4px;align-items:start}.patch-route{display:flex;flex-direction:column;gap:4px}.patch-route .parameter{display:grid;grid-template-columns:24px minmax(0,1fr);height:32px;align-items:center;gap:4px}.patch-route .parameter>label{font-size:7px;text-align:left}.patch-route .lcd-choice{height:32px;min-height:32px;font-size:8px}.patch-body>.parameter>label{font-size:7px}.performance-footer{padding:4px 16px 4px;background:var(--plate);border-top:1px solid #919da8}.keybed{display:flex;align-items:stretch;gap:12px}.keybed-heading{width:112px;flex:none;display:flex;flex-direction:column;justify-content:center;gap:3px;font-size:8px;letter-spacing:1px;font-weight:700}.octaves{display:flex;align-items:center;gap:4px;letter-spacing:0}.octaves button{width:24px;height:32px;border-color:#a4adb5;background:transparent;font-size:16px}.octaves span{flex:1;text-align:center;font:8px ui-monospace,SFMono-Regular,monospace;white-space:nowrap}.keys{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px;flex:1;min-width:0}.key{height:44px;min-height:44px;min-width:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:var(--pad);color:#481e24;border:1px solid #a44049;border-radius:3px;box-shadow:0 2px 0 #924149;touch-action:none;user-select:none;-webkit-user-select:none}.key.black{background:#b84750;color:#f7d3d6}.key:hover:not(:disabled){background:#e77b82;border-color:#8b303c}.key[aria-pressed=true]{background:#f0a7ad;color:#481e24;box-shadow:inset 0 1px 3px #863b42;transform:translateY(1px);border-color:#6b2a31}.key span{font-size:8px;font-weight:700}.key small{font:7px ui-monospace,SFMono-Regular,monospace;opacity:.75}.monitor{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px;height:24px;font:9px ui-monospace,SFMono-Regular,monospace;color:#596875}.connection,.monitor-right,.volume{display:flex;align-items:center;gap:8px}.connection{min-width:0}.led{width:5px;height:5px;border-radius:50%;background:#89929b;flex:none}.led.live{background:#4c8068}.monitor-right{white-space:nowrap}.monitor-right b{font-weight:400;color:var(--ink)}meter{width:64px;height:6px;appearance:none;border:0}meter::-webkit-meter-bar{height:6px;background:#b1bcc5;border:0;border-radius:0}meter::-webkit-meter-optimum-value{background:#4c8068}.volume input{width:88px;min-width:0;height:20px;margin:0;accent-color:#3e6380}.monitor a{font-size:8px}.error{margin:0;padding:8px 12px;background:#f2d5d9;border-bottom:1px solid #bf757e;font-size:12px;line-height:1.5;color:#782330}.instrument:fullscreen{overflow:auto}.toolbar-actions>button,.tool-button{flex:none}
@media(min-width:1400px) and (min-height:860px){.performance-footer{margin-top:auto}}
@media(min-width:1800px){.module{padding:12px}.module h2{font-size:10px}.parameter>label{font-size:9px}.parameter{height:80px}.module-controls{gap:8px}.knob{width:48px;height:48px;min-height:48px}.knob-face{width:36px;height:36px}.dial-value{font-size:10px;height:18px;line-height:18px}.lcd-choice{height:48px;font-size:10px}.toolbar{padding:8px 16px}.performance{width:280px}.patch-route .parameter{height:36px}.patch-route .lcd-choice{height:36px;min-height:36px;font-size:9px}.key{height:52px}.performance-footer{padding-top:8px}.rack{padding:0 12px}}
@media(max-width:1399px){.toolbar{flex-wrap:wrap;gap:8px}.workspace{flex:1}.performance{width:248px}.toolbar-actions{margin-left:auto}.rack-row-0{grid-template-columns:repeat(12,minmax(0,1fr))}.rack-row-0 .module{grid-column:span 4;border-bottom:1px solid var(--plate-border)}.rack-row-0 .module:nth-child(3){border-right:0}.rack-row-0 .module-mixer .module-controls{--columns:5!important}.rack-row-1{grid-template-columns:repeat(3,minmax(0,1fr))}.rack-row-1 .module{border-bottom:1px solid var(--plate-border)}.rack-row-1 .module:nth-child(3){border-right:0}.rack-row-2{grid-template-columns:repeat(3,minmax(0,1fr))}.rack-row-2 .module{border-bottom:1px solid var(--plate-border)}.rack-row-2 .module:nth-child(3){border-right:0}.rack-row-3{grid-template-columns:repeat(12,minmax(0,1fr))}.rack-row-3 .module{grid-column:span 6;border-bottom:1px solid var(--plate-border)}.rack-row-3 .module:nth-child(2n){border-right:0}.module h2{font-size:10px}.parameter>label{font-size:9px}.lcd-choice{font-size:10px}.performance-footer{position:sticky;bottom:0;z-index:5;box-shadow:0 -2px 8px #4c59602a}.toolbar{position:sticky;top:0;z-index:6}}
@media(max-width:800px){.toolbar{padding:8px;gap:8px}.workspace{flex-wrap:wrap;gap:8px}.brand{font-size:18px}.timbres button{width:32px}.program{width:128px}.program-files{margin-left:auto}.performance{width:auto;flex:1;min-width:236px;gap:8px}.toolbar-actions{gap:4px}.tool-button{padding:0 8px}.toolbar-actions #panic{min-width:56px}.rack-row-0{grid-template-columns:repeat(2,minmax(0,1fr))}.rack-row-0 .module{grid-column:span 1}.rack-row-0 .module:nth-child(odd){border-right:1px solid var(--plate-border)}.rack-row-0 .module:nth-child(even){border-right:0}.rack-row-1{grid-template-columns:repeat(2,minmax(0,1fr))}.rack-row-1 .module:nth-child(odd){border-right:1px solid var(--plate-border)}.rack-row-1 .module:nth-child(even){border-right:0}.rack-row-1 .module:last-child{grid-column:span 2}.rack-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}.rack-row-2 .module:nth-child(odd){border-right:1px solid var(--plate-border)}.rack-row-2 .module:nth-child(even){border-right:0}.rack-row-3{grid-template-columns:repeat(2,minmax(0,1fr))}.rack-row-3 .module{grid-column:span 1}.rack-row-3 .module:nth-child(odd){border-right:1px solid var(--plate-border)}.rack-row-3 .module:nth-child(even){border-right:0}.rack-row-3 .module-voice,.rack-row-3 .module-scale{grid-column:span 2;border-right:0}.keybed{gap:8px}.keybed-heading{width:84px}.keys{grid-template-columns:repeat(8,minmax(0,1fr))}.key{height:44px}.performance-footer{padding:8px}.monitor{height:auto;min-height:24px;flex-wrap:wrap;gap:4px}.monitor-right{gap:8px;margin-left:auto}.monitor a{display:none}}
@media(max-width:520px){.toolbar{position:relative}.workspace{width:100%;justify-content:space-between;gap:8px}.brand{font-size:18px}.brand span{font-size:6px}.program{width:140px;flex:1;min-width:108px}.program-files{margin-left:0}.performance{order:3;width:100%;flex-basis:100%;min-width:0}.toolbar-actions{flex:1;justify-content:flex-end}.toolbar-actions .tool-button{flex:none}.toolbar-actions .power{min-width:96px}.rack{padding:0 4px}.module{padding:8px 4px}.module h2{font-size:9px;letter-spacing:.5px}.module-heading svg{width:52px;height:16px}.rack-row-0 .module-filter1,.rack-row-0 .module-filter2{grid-column:span 2;border-right:0}.rack-row-0 .module-filter1 .module-controls{--columns:5!important}.rack-row-0 .module-filter2 .module-controls{--columns:4!important}.rack-row-0 .module-drive{grid-column:span 2;border-right:0}.rack-row-0 .module-drive .module-controls{grid-template-areas:"mode mode type depth" "position position type depth";grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}.module-drive .segmented button{height:44px;min-height:44px;font-size:9px}.rack-row-1{grid-template-columns:1fr}.rack-row-1 .module{border-right:0!important;grid-column:span 1!important}.rack-row-1 .module-controls{--columns:4!important}.rack-row-2{grid-template-columns:1fr}.rack-row-2 .module{border-right:0!important}.patch-body{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);align-items:center}.patch-route .parameter{height:44px}.patch-route .lcd-choice{height:44px;min-height:44px;font-size:10px}.patch-route .parameter>label{font-size:8px}.parameter>label{font-size:9px}.parameter{height:80px}.dial-value{height:24px;line-height:24px;font-size:11px}.parameter .lcd-choice{height:44px;font-size:10px}.rack-row-3{grid-template-columns:1fr}.rack-row-3 .module{grid-column:span 1!important;border-right:0!important}.rack-row-3 .module-controls{--columns:4!important}.rack-row-3 .module-voice .module-controls{--columns:3!important}.rack-row-3 .module-scale .module-controls{--columns:4!important}.performance-footer{position:relative}.keybed{display:block}.keybed-heading{width:auto;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:8px}.octaves{gap:8px}.octaves button{height:44px;width:44px}.octaves span{font-size:10px;min-width:76px}.keys{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.key{height:48px}.key span{font-size:10px}.key small{font-size:8px}.monitor{padding-top:8px;gap:8px;font-size:9px}.monitor-right{width:100%;justify-content:space-between}.volume input{width:112px;height:28px}.choice-popup button{min-height:44px}.performance .parameter>label{font-size:9px}.toolbar .program .lcd-choice{height:44px;min-height:44px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .1s,border-color .1s}.key[aria-pressed=true]{transition:transform .05s}}

.switch-control{width:100%;height:44px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:4px;font:9px ui-monospace,SFMono-Regular,monospace;background:#b7bec5;border-color:#9ca7b0}.switch-control[aria-pressed=true]{background:#b9c4ca;color:#33404a;border-color:#8b9ca6}.switch-led{width:4px;height:4px;border-radius:50%;background:#7b8790;flex:none}.switch-control[aria-pressed=true] .switch-led{background:#467560;box-shadow:0 0 0 1px #728b7a38}.performance .switch-control{background:#3b4650;color:#d7e3ec;border-color:#626e78}
.sequencer{padding:8px 16px;border-bottom:1px solid var(--plate-border)}.sequence-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.sequence-heading h2{margin:0;font-size:10px;letter-spacing:1px}.sequence-transport{display:flex;align-items:center;gap:8px;font:9px ui-monospace,SFMono-Regular,monospace}.sequence-transport button{min-width:56px;height:32px;font-size:10px}.sequence-transport #seq-play{background:#394f63;color:#e7f2f8;border-color:#394f63}.sequence-scroll{overflow-x:auto;overscroll-behavior-x:contain}.sequence-track{display:flex;align-items:center;gap:8px;padding:2px 0;min-width:820px}.track-head{display:flex;align-items:center;gap:4px;width:108px;flex:none}.track-head button{height:28px;min-height:28px}.track-select{width:28px;padding:0;font:10px ui-monospace,SFMono-Regular,monospace}.track-enable{width:20px;padding:0;display:flex;align-items:center;justify-content:center}.track-enable[aria-pressed=true]{background:#b9c4ca;border-color:#8b9ca6}.track-enable[aria-pressed=true] .switch-led{background:#467560}.track-length{width:48px;font-size:9px;padding:0 4px}.track-steps{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px;flex:1;min-width:0}.sequence-step{height:28px;min-height:28px;padding:1px 4px;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:3px;background:#bfc7cd;border-color:#a4afb8;font:8px ui-monospace,SFMono-Regular,monospace}.step-index{color:#667580;font-size:7px}.step-notes{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.sequence-step.filled{background:#c7dfeb;border-color:#8aa6ba;color:#334d61}.sequence-step.current{box-shadow:inset 0 -3px 0 #cf5963;border-color:#a9414b}.sequence-step.outside-loop{opacity:.35}.sequence-track.muted .track-steps{opacity:.4}.editor-dialog{width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:var(--plate);color:var(--ink);border:1px solid #778896;border-radius:4px;padding:16px;box-shadow:0 8px 24px #19252e55}.editor-dialog::backdrop{background:#18212b88}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.dialog-heading h2{margin:0;font-size:14px;font-weight:500}.editor-dialog button{height:44px;min-height:44px;padding:0 12px}.dialog-heading>button{width:44px;padding:0;font-size:20px}.chord-octaves{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font:11px ui-monospace,SFMono-Regular,monospace}.chord-octaves button{width:44px;padding:0;font-size:18px}.chord-keyboard{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}.chord-note{min-width:0;padding:0!important;background:#d66169;border-color:#a44049;color:#481e24;font-size:10px}.chord-note.black{background:#b84750;color:#f7d3d6}.chord-note[aria-pressed=true]{background:#f0a7ad;border-color:#74323b;color:#481e24;box-shadow:inset 0 1px 3px #863b42}.selected-chord{min-height:20px;line-height:20px;font:11px ui-monospace,SFMono-Regular,monospace;color:#334d61}.step-properties{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:end}.step-properties label{display:flex;flex-direction:column;gap:8px;font-size:11px}.editor-dialog input{height:44px;min-height:44px;min-width:0;width:100%;padding:0 12px;border:1px solid #8aa6ba;border-radius:3px;background:#dce6ec;color:#334d61;font:12px ui-monospace,SFMono-Regular,monospace}.patch-dialog{max-width:360px}.patch-dialog label{display:block;margin-bottom:8px;font-size:12px}.patch-dialog #patch-confirm{width:100%;margin-top:12px;background:#394f63;color:white;border-color:#394f63}
@media(max-width:800px){.sequence-track{min-width:884px}.sequence-track button{height:44px;min-height:44px}.sequence-track .track-enable{width:28px}.track-head{width:120px}.track-select{width:36px}.sequence-step{flex-direction:column;justify-content:center;gap:4px}.sequence-transport button{height:44px;min-height:44px}.sequencer{padding:8px}}
@media(max-width:520px){.chord-keyboard{grid-template-columns:repeat(6,minmax(0,1fr))}.step-properties{grid-template-columns:repeat(2,minmax(0,1fr))}.sequence-heading h2{font-size:9px;letter-spacing:.5px}.sequence-transport{gap:4px}.sequence-transport span{display:none}}
.sample-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;margin-top:6px}.sample-source{grid-column:span 2;min-width:0}.sample-controls label{display:block;font-size:8px;color:var(--secondary);margin-bottom:3px;text-align:left}.sample-controls .lcd-choice,.sample-controls>button{height:32px;min-height:32px;font-size:9px}.sample-controls>button{align-self:end}.sample-controls.inactive .sample-source,.sample-controls.inactive .sample-mode{opacity:.42}.sample-kit{height:24px;padding:0 6px;font-size:8px;margin-left:auto}.sample-controls[aria-busy=true] #sample-upload{opacity:.6}
@media(max-width:800px){.sample-controls .lcd-choice,.sample-controls>button{height:44px;min-height:44px;font-size:10px}.sample-kit{height:44px;min-height:44px;padding:0 12px;font-size:10px}.sample-controls label{font-size:10px}}
@media(min-width:1400px){
  .sample-controls{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.sample-source{grid-column:span 2}.sample-controls .lcd-choice,.sample-controls>button{height:36px;min-height:36px}
}
@media(min-width:1400px) and (max-height:1000px){
  .module{padding:6px 8px}.module-heading{margin-bottom:4px}.parameter{height:60px;gap:1px}.parameter>label{font-size:8px;line-height:10px;height:10px}.knob{width:36px;height:36px;min-height:36px}.knob-face{width:28px;height:28px}.dial-value{height:12px;line-height:12px}.lcd-choice,.lcd-readout,.switch-control{height:36px;min-height:36px}.module-controls{gap:4px}.toolbar{padding:4px 12px}.performance{width:252px}.performance .parameter{height:60px}
  .rack-row-3 .module-voice{grid-column:span 8}.rack-row-3 .module-voice .module-controls{--columns:9!important}.rack-row-3 .module-amp,.rack-row-3 .module-midi,.rack-row-3 .module-scale,.rack-row-3 .module-drums{grid-column:span 4}.rack-row-3 .module-amp .module-controls,.rack-row-3 .module-midi .module-controls,.rack-row-3 .module-scale .module-controls{--columns:4!important}
  .module-scale .parameter:nth-child(n+5){height:28px;gap:1px}.module-scale .parameter:nth-child(n+5) .knob{display:none}.module-scale .parameter:nth-child(n+5) .dial-value{background:#c7dfeb;border:1px solid #8ba3b5;width:100%;height:18px;line-height:18px;max-width:none}.module-scale .parameter:nth-child(n+5)>label{font-size:7px}
  .patch-body>.parameter{height:64px}.patch-route .parameter{height:28px}.patch-route .lcd-choice{height:28px;min-height:28px}
  .sample-controls{margin-top:4px}.sample-controls .lcd-choice,.sample-controls>button{height:32px;min-height:32px}.sequence-heading{margin-bottom:2px}.sequencer{padding:4px 16px}.sequence-track{padding:1px 0}.sequence-transport button{height:28px}.sequence-step,.track-head button{height:26px;min-height:26px}.performance-footer{padding-top:4px;padding-bottom:4px}
}
.parameter.inactive{opacity:.58}
@media(min-width:1400px) and (max-height:1000px){
  .module{padding:4px 8px}.parameter{height:56px;gap:0}.parameter>label{height:9px;line-height:9px}.dial-value{height:11px;line-height:11px}.segment-parameter{height:auto}.performance .parameter{height:56px}
}
.track-head{width:176px}.track-block{width:64px;padding:0 4px;font-size:8px}.sequence-track{min-width:900px}
@media(max-width:800px){.track-head{width:192px}.track-block{width:64px;font-size:9px}.sequence-track{min-width:956px}}
@media(max-width:520px){
  .workspace{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;flex:0 0 100%;width:100%}.workspace .brand{width:auto}.workspace .timbres{justify-self:end}.workspace .program{width:auto;min-width:0}.workspace .program-files{margin:0}.toolbar-actions{width:100%;justify-content:flex-end;flex-basis:100%}.rack-row-0 .module-mixer{grid-column:span 2;border-right:0}
}
.track-head{width:228px}.track-resolution{width:48px;padding:0 4px;font-size:8px}.sequence-track{min-width:956px}
.choice-search{position:sticky;top:0;display:block;width:100%;height:44px;min-height:44px;padding:0 10px;margin:0 0 4px;border:1px solid #8ba3b5;border-radius:2px;background:#e9f1f6;color:var(--lcd-ink);font:12px ui-monospace,SFMono-Regular,monospace}
.patch-save{display:flex;align-items:center}.patch-save #save-patch{border-radius:3px 0 0 3px;border-right:0}.patch-save #patch-save-options{width:28px;padding:0;border-radius:0 3px 3px 0;font-size:14px}.patch-save #patch-save-options[aria-expanded=true]{background:#3c454d;border-color:#81909b}
.key.editing{border:2px solid var(--lcd-ink);box-shadow:inset 0 0 0 1px var(--lcd)}
@media(max-width:800px){.patch-save #patch-save-options{width:44px}}
.rdl-dialog{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.rdl-dialog p{margin:12px 0}.rdl-dialog ul{margin:12px 0;padding-left:20px}.rdl-dialog li{margin:8px 0}.rdl-coverage{color:var(--secondary);border-top:1px solid var(--plate-border);padding-top:12px}.rdl-dialog #rdl-done{width:100%;background:#394f63;color:white;border-color:#394f63}
@media(max-width:800px){.track-head{width:244px}.track-resolution{width:48px;font-size:9px}.sequence-track{min-width:1008px}}
.drum-track .step-notes{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:10px;text-align:left;overflow-wrap:anywhere}.chord-keyboard.drum-keyboard{grid-template-columns:repeat(4,minmax(0,1fr))}.editor-dialog .drum-note{height:64px;min-height:64px;padding:6px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.drum-index{font:9px ui-monospace,SFMono-Regular,monospace;opacity:.7}.drum-name{max-width:100%;font:11px/12px ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.selected-chord{overflow-wrap:anywhere}
@media(max-width:520px){.chord-keyboard.drum-keyboard{grid-template-columns:repeat(2,minmax(0,1fr))}}
.chord-note:hover:not(:disabled){background:#e77b82;border-color:#8b303c}.chord-note[aria-pressed=true]:hover:not(:disabled){background:#f0a7ad;border-color:#74323b;color:#481e24}
.step-navigation{display:flex;gap:4px;flex:none}.step-navigation button{width:44px;padding:0;font-size:20px}#step-editor .dialog-heading{gap:8px}#step-title{min-width:0}
.sample-kit+.sample-kit{margin-left:0}
.step-navigation button:disabled{opacity:.4}
.program #edit-context{overflow:hidden;text-overflow:ellipsis}
.sequence-tools{display:flex;align-items:center;gap:4px;margin-left:auto}.sequence-tools button{height:32px;min-width:48px;font-size:10px}.sequence-tools #seq-undo{min-width:32px;font-size:16px}.sequence-tools #seq-selection{font:9px ui-monospace,SFMono-Regular,monospace;color:var(--lcd-ink);min-width:72px;margin-left:4px}.sequence-tools button:disabled,.step-properties button:disabled{opacity:.45}
.sequence-step.selected{background:#9bbdd2;color:#233e52;border-color:#446b87;box-shadow:inset 0 0 0 1px #446b87;opacity:1}.sequence-step.editing{border:2px solid #304f68;background:#d6ecf7;opacity:1;outline:2px solid #c7dfeb;outline-offset:1px}.sequence-step.editing.current{box-shadow:inset 0 -3px 0 #cf5963}.sample-step .step-notes{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:10px;text-align:left;overflow-wrap:anywhere}
.step-library{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px;margin:12px 0 8px}.step-library .lcd-choice{font-size:11px}.sequence-samples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.sequence-sample{display:flex;min-width:0;border:1px solid #8ba3b5;border-radius:3px;background:var(--lcd)}.sequence-sample button{border:0;background:transparent;color:var(--lcd-ink);min-width:0}.sequence-sample .sample-edit{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px;font:11px ui-monospace,SFMono-Regular,monospace}.sequence-sample .sample-remove{width:44px;flex:none;border-left:1px solid #8ba3b5;font-size:20px}.step-properties{grid-template-columns:repeat(5,minmax(0,1fr))}
.sample-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr);align-items:end}.sample-source{grid-column:1 / -1}.sample-mode{align-self:end}.sample-gain{display:flex;flex-direction:column;align-items:center;grid-column:2;grid-row:2;min-width:0}.sample-gain label{align-self:stretch;text-align:center}.sample-gain .knob{width:32px;height:32px;min-height:32px}.sample-gain .knob-face{width:24px;height:24px}.sample-gain .knob-face:after{height:7px}.sample-gain .dial-value{height:16px;font-size:10px;line-height:16px}
@media(min-width:1400px){.sample-controls{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}.sample-source{grid-column:span 2}.sample-gain{grid-column:4;grid-row:1}.sample-gain label{font-size:8px;line-height:9px;margin-bottom:0}.sample-gain .dial-value{height:12px;line-height:12px;font-size:9px}.sequence-tools button{height:28px}.sequence-heading{gap:8px}}
@media(max-width:800px){.sequence-tools button{height:44px;min-width:44px}.sequence-heading{flex-wrap:wrap}.sequence-heading h2{flex:1}.sequence-tools{order:3;width:100%;margin-left:0}.sequence-tools #seq-selection{margin-left:auto}.sample-gain .knob{width:44px;height:44px;min-height:44px}.sample-gain .knob-face{width:32px;height:32px}.sample-gain .dial-value{height:24px;line-height:24px;font-size:11px}.sample-controls label{height:12px;line-height:12px}.sample-gain .knob-face:after{height:9px}}
@media(max-width:520px){.sequence-samples{grid-template-columns:1fr}.step-properties{grid-template-columns:repeat(2,minmax(0,1fr))}.step-properties #step-paste{grid-column:1 / -1}}

.sample-controls{align-items:start}.sample-controls label{height:12px;line-height:12px;margin-bottom:4px}.sample-controls>button{align-self:start;margin-top:16px}.sample-gain label{height:12px;line-height:12px;margin-bottom:4px}.sample-gain .knob{flex:none}
@media(min-width:1400px){.sample-controls .lcd-choice,.sample-controls>button{height:32px;min-height:32px}.sample-gain label{font-size:8px}.sample-gain .knob{height:32px;min-height:32px}}

.sample-mode{align-self:start}.sample-controls label{white-space:nowrap}

/* A silver patch panel, using the same controls as the instrument rack. */
.circuit{border-bottom:1px solid #a4adb5;min-width:0}
.circuit-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;background:#b7bec5;border-bottom:1px solid #a4adb5}
.circuit-toolbar h2{font-size:12px;letter-spacing:.06em;margin:0 8px 0 0;white-space:nowrap}
.circuit-toolbar button{height:44px;min-width:44px;padding:0 12px;border:1px solid #a4adb5;border-radius:3px;background:#cbd0d5;color:#262b30;white-space:nowrap}
.circuit-toolbar button[aria-pressed=true]{background:#c7dfeb;border-color:#3e6380;color:#334d61}
#circuit-add{width:164px}#circuit-zoom{width:88px}#circuit-message{font:12px ui-monospace,monospace;color:#334d61;flex:1}
.circuit-viewport{height:min(70vh,740px);min-height:360px;overflow:auto;overscroll-behavior:contain;background-color:#b7bec5;background-image:radial-gradient(#a4adb5 1px,transparent 1px);background-size:24px 24px;position:relative}
#circuit-space{position:relative}#circuit-canvas{position:absolute;left:0;top:0;transform-origin:0 0;isolation:isolate}
#circuit-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
.cable{fill:none;stroke:#3e6380;stroke-width:4;pointer-events:stroke;cursor:pointer;stroke-linecap:round}
.cable.cv{stroke:#b4464d}.cable.selected,.cable:focus{stroke-width:8;outline:none;filter:drop-shadow(0 0 2px #c7dfeb)}
#circuit-canvas .circuit-node{position:absolute;width:320px;min-width:0;margin:0;padding:12px;border:1px solid #a4adb5;border-radius:3px;background:#cbd0d5;box-shadow:0 2px 4px #262b3020;z-index:3}
#circuit-canvas .module-heading{min-height:32px;margin-bottom:12px;touch-action:none;cursor:grab;user-select:none}
#circuit-canvas .module-heading:active{cursor:grabbing}#circuit-canvas .module-heading:focus-visible{outline:2px solid #3e6380;outline-offset:4px}
#circuit-canvas .module-heading h2{font-size:13px;letter-spacing:.06em}#circuit-canvas .module-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}
#circuit-canvas .patch-body{display:flex;flex-direction:column}#circuit-canvas .patch-route{display:grid;grid-template-columns:1fr 1fr}
#circuit-canvas .module-controls .parameter{min-width:0}#circuit-canvas .parameter label{height:28px;white-space:normal;line-height:14px;display:flex;justify-content:center;align-items:center;text-align:center}
#circuit-canvas .knob{width:48px;height:48px}#circuit-canvas .dial-value{font-size:14px;height:28px;min-height:28px}#circuit-canvas .lcd-choice,#circuit-canvas .switch-control,#circuit-canvas .lcd-readout{min-height:48px;font-size:12px;min-width:0;width:100%}
#circuit-canvas .module-voice .module-controls,#circuit-canvas .module-scale .module-controls{grid-template-columns:repeat(4,minmax(0,1fr))}
#circuit-canvas .sample-controls{grid-template-columns:1fr 1fr}#circuit-canvas .sample-controls .sample-source{grid-column:1/-1}
#circuit-canvas .circuit-ports{border-top:1px solid #a4adb5;margin-top:12px;padding-top:8px;display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.circuit-inputs,.circuit-outputs{display:flex;flex-direction:column;gap:4px}.circuit-port{display:flex;align-items:center;gap:8px;min-height:44px;min-width:72px;padding:4px 8px;background:#b7bec5;border:1px solid #a4adb5;border-radius:3px;color:#334d61;font:12px ui-monospace,monospace;touch-action:manipulation}
.port-dot{display:block;width:16px;height:16px;border-radius:50%;background:#46515b;border:3px solid #a4adb5;box-shadow:inset 0 1px 2px #262b30}
.circuit-port.audio.connected .port-dot,.circuit-port.audio[aria-pressed=true] .port-dot{background:#c7dfeb;border-color:#3e6380}.circuit-port.cv.connected .port-dot,.circuit-port.cv[aria-pressed=true] .port-dot{background:#d66169;border-color:#b4464d}
.circuit-port[aria-pressed=true]{outline:2px solid #3e6380}.circuit-port.cv{color:#b4464d}.circuit-remove{width:32px;height:32px;min-width:32px;flex:none;font-size:20px}.circuit-node .module-heading{display:flex;justify-content:space-between;align-items:center}#circuit-canvas .module:is(.module-oscillator1,.module-osc3) .circuit-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.circuit-toolbar button:hover,.circuit-port:hover{border-color:#46515b}.circuit-toolbar button:focus-visible,.circuit-port:focus-visible{outline:2px solid #3e6380;outline-offset:2px}.circuit-toolbar button:disabled{opacity:.45;cursor:default}
@media(max-width:800px){.circuit-toolbar{padding:12px;gap:8px}.circuit-toolbar h2{width:100%;margin:0}.circuit-viewport{height:65vh}#circuit-canvas .circuit-remove{min-width:44px;min-height:44px}#circuit-message{min-height:16px;flex-basis:100%}}

#circuit-canvas .module-controls .parameter{height:108px;gap:0}
#circuit-canvas .parameter>label{flex:none;font-size:11px;height:28px;line-height:14px}
#circuit-canvas .parameter>.dial-value{flex:none;line-height:28px}
#circuit-canvas .module-drive .module-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
#circuit-canvas .module-controls .segment-parameter{height:auto}
#circuit-canvas .patch-route .parameter{display:flex;height:80px;gap:4px}
#circuit-canvas .patch-route .parameter>label{text-align:center;font-size:11px}
#circuit-canvas .module-scale .parameter:nth-child(n+5){height:108px}
#circuit-canvas .module-scale .parameter:nth-child(n+5) .knob{display:flex}
#circuit-canvas .module-scale .parameter:nth-child(n+5) .dial-value{background:transparent;border:0;height:28px}

.program-caption{font:9px ui-monospace,SFMono-Regular,monospace;color:#aeb4bb;letter-spacing:.06em}
.program #edit-context{overflow:hidden;text-overflow:ellipsis;max-width:100%}
#patch-save-menu hr{border:0;border-top:1px solid #a4adb5;margin:4px}
#patch-save-menu a[role=menuitem]{display:flex;align-items:center;min-height:44px;padding:8px 12px;font:11px ui-monospace,SFMono-Regular,monospace;color:#334d61;border-radius:2px}
#patch-save-menu a[role=menuitem]:hover,#patch-save-menu a[role=menuitem]:focus{background:#aec9db}
@media(max-width:800px){.program-select,.sound-select{flex:1;min-width:128px}.program-files{margin-left:0}}
@media(max-width:520px){.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.workspace .program-select,.workspace .sound-select{width:auto;min-width:0}.program-caption,.program #edit-context{font-size:9px}.workspace .program-files{grid-column:1/-1;justify-content:flex-end}.program-files .tool-button{min-width:44px}}

/* Per-timbre stereo inserts and shared master, using the instrument faceplate. */
/* The recorder stays beside the performance controls; its library is inline. */
.recorder{display:flex;align-items:center;gap:8px;min-width:0;padding:4px 0}.recorder>button,.recorder .lcd-choice{height:32px;min-height:32px;font-size:11px}#record-toggle{min-width:128px;background:var(--plate-inset);border-color:var(--plate-border)}#record-toggle::before{content:'';display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--pad)}#record-toggle[aria-pressed=true]{background:var(--pad);border-color:#a44049;color:#481e24}#record-toggle[aria-pressed=true]::before{border-radius:0;background:#481e24}.record-time{display:flex;align-items:center;justify-content:center;min-width:72px;height:32px;border:1px solid #8aa6ba;border-radius:var(--radius);background:var(--lcd);color:var(--lcd-ink);font:12px ui-monospace,monospace;font-variant-numeric:tabular-nums}.record-target{width:224px;min-width:0}.record-target .lcd-choice{width:100%}#recordings-toggle{min-width:128px}.record-message{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--secondary);font:10px ui-monospace,monospace}.recordings-library{padding:12px 0 8px;border-top:1px solid var(--plate-border);min-width:0}.recordings-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.recordings-heading h2{margin:0;font-size:11px;letter-spacing:1px}.recordings-heading>div{display:flex;gap:8px}.recordings-library button,.recordings-library input,.recordings-library .lcd-choice{height:36px;min-height:36px;font-size:11px}.recordings-library input{min-width:0;padding:0 8px;border:1px solid #8aa6ba;border-radius:var(--radius);background:var(--lcd);color:var(--lcd-ink);font:12px ui-monospace,monospace}.recordings-library input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}#recordings-close{width:36px;padding:0;font-size:20px}.record-folder-form{display:flex;gap:8px;margin-bottom:12px}.record-folder-form input{flex:1}#record-folder-form[hidden],#recordings-library[hidden]{display:none}.recording-folder{border:1px solid var(--plate-border);border-radius:var(--radius);margin-bottom:8px;background:var(--plate)}.recording-folder>summary{display:flex;align-items:center;gap:8px;padding:8px;background:var(--plate-inset);cursor:pointer;list-style:none}.recording-folder>summary::-webkit-details-marker{display:none}.recording-folder>summary::before{content:'▸';color:var(--secondary);width:16px;text-align:center;flex:none}.recording-folder[open]>summary::before{content:'▾'}.recording-folder>summary input{flex:1;max-width:320px;background:transparent;border-color:transparent}.recording-folder>summary input:focus{background:var(--lcd);border-color:#8aa6ba}.recording-folder>summary>span{margin-left:auto;color:var(--secondary);font:11px ui-monospace,monospace}.recording-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border-top:1px solid var(--plate-border)}.recording-info{min-width:0}.recording-info input{width:100%;max-width:400px}.recording-meta{display:block;margin-top:4px;color:var(--tertiary);font:10px ui-monospace,monospace}.recording-actions{display:flex;align-items:center;gap:4px}.recording-actions>button{min-width:52px}.recording-actions .record-delete{min-width:36px;width:36px;font-size:20px;padding:0}.record-move{width:96px;min-width:0}.record-move .lcd-choice{width:100%}.recording-row audio{grid-column:1/-1;width:100%;max-width:480px;height:44px}.recording-folder-empty{margin:12px;color:var(--tertiary)}.recordings-storage{margin:8px 0 0;color:var(--tertiary);font:10px ui-monospace,monospace}.recordings-library button:disabled{opacity:.45;cursor:default}
.recording-actions>a{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:36px;padding:0 8px;border:1px solid var(--plate-border);border-radius:var(--radius);background:var(--plate-inset);color:var(--ink);text-decoration:none;font-size:11px;white-space:nowrap}.recording-actions>a:hover{border-color:var(--secondary)}.recording-actions>a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.recording-actions>a[aria-disabled=true]{opacity:.45;cursor:default}
.recordings-library{padding:12px 16px 8px;scroll-margin-top:96px;border-bottom:1px solid var(--plate-border)}.recorder button,.recordings-library input,.recordings-library button{scroll-margin-top:96px}
.record-ready-download{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:32px;padding:0 12px;background:var(--lcd);color:var(--lcd-ink);border:1px solid #8aa6ba;border-radius:var(--radius);font:11px ui-monospace,monospace;text-decoration:none}.record-ready-download:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media(max-width:800px){.record-ready-download{min-height:44px;font-size:12px}}
@media(max-width:800px){.recorder>button,.recorder .lcd-choice,.record-time{height:44px;min-height:44px;font-size:12px}.recordings-library button,.recordings-library input,.recordings-library .lcd-choice,.recording-actions>a{height:44px;min-height:44px;font-size:12px}#recordings-close,.recording-actions .record-delete{width:44px;min-width:44px}.recording-meta{font-size:10px;line-height:16px}.record-message{font-size:11px}.recording-actions{gap:8px}.recording-row{grid-template-columns:minmax(0,1fr)}.recording-actions{flex-wrap:wrap}.record-move{flex:1;min-width:84px;max-width:200px}.recordings-storage{line-height:16px}}
@media(max-width:520px){.recorder{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:8px;padding:8px 0}#record-toggle,#recordings-toggle{min-width:0;padding:0 4px;font-size:11px}.record-time{grid-column:2;grid-row:1}#recordings-toggle{grid-column:3;grid-row:1}.record-target{grid-column:1/-1;width:100%}.record-message{grid-column:1/-1;min-height:0}.record-message:empty{display:none}.record-folder-form{flex-wrap:wrap}.record-folder-form input{flex-basis:100%}.recording-actions>button{min-width:48px}.recording-folder>summary input{max-width:none}.recording-meta{overflow-wrap:anywhere}}
@media(max-width:520px){.recording-actions{display:grid;grid-template-columns:minmax(44px,1fr) 52px 52px minmax(64px,1.2fr) 44px;gap:4px;width:100%}.recording-actions>button,.recording-actions>a{min-width:44px;padding:0 4px;font-size:11px}.recording-actions .record-move{width:auto;min-width:0;max-width:none}.record-move .lcd-choice{padding:0 6px;font-size:11px}.recordings-library{scroll-margin-top:8px}}
@media(max-width:340px){.recording-actions{grid-template-columns:repeat(3,minmax(44px,1fr))}.recording-actions .record-move{grid-column:span 2}.recording-actions .record-delete{justify-self:end}.recorder{grid-template-columns:minmax(0,1fr) 72px}#recordings-toggle{grid-column:1/-1;grid-row:2}.recordings-heading{flex-wrap:wrap}.recordings-heading>div{margin-left:auto}}
.effects-rack{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 8px;border-bottom:1px solid var(--plate-border);min-width:0;background:var(--plate)}
.fx-add-row{grid-column:1/-1;padding:8px 0;min-width:0}.fx-add-row>.lcd-choice{width:100%;min-height:40px}.fx-chain-tools{display:flex;justify-content:flex-end;gap:4px;margin-bottom:8px}.fx-chain-tools>button{min-width:32px;height:32px;font-size:15px}
@media(max-width:800px){.fx-add-row{padding:12px}.fx-chain-tools>button{min-width:44px;height:44px}}
.effects-rack .module-heading{height:32px;margin-bottom:4px}.effects-rack h2{font-size:10px}.fx-power{height:28px;min-width:44px;font:10px ui-monospace,monospace}.fx-type{margin-bottom:8px}.fx-type .lcd-choice{max-width:100%;height:32px;min-height:32px;font-size:11px}.fx-properties{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.fx-properties .parameter>label{font-size:9px}.fx-paired .fx-properties{opacity:.45}.fx-paired .module-heading h2{color:var(--muted)}
@media(max-width:1199px) and (min-width:801px){.effects-rack{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.fx-properties{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.effects-rack{grid-template-columns:1fr;padding:0}.effects-rack .fx-module{border-right:0;border-bottom:1px solid var(--plate-border);padding:12px}.effects-rack .module-heading{height:44px;margin-bottom:8px}.fx-power{height:44px;font-size:12px}.fx-type .lcd-choice{height:44px;min-height:44px;font-size:12px}.fx-properties{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fx-properties .parameter{height:112px}.fx-properties .parameter>label{height:20px;font-size:10px;line-height:20px}.fx-properties .dial-value{height:44px;line-height:44px;font-size:12px}.fx-properties .switch-control{height:44px;min-height:44px}}

.timbre-bank{display:flex;align-items:center;gap:4px;min-width:0}.timbre-bank #add-timbre{width:28px;min-width:28px;padding:0;font-size:20px}.timbre-bank .timbres{gap:2px;flex-wrap:wrap}.timbre-bank .timbres button{width:28px;min-width:28px} .workspace{flex-wrap:wrap}
@media(max-width:800px){.timbre-bank{flex-wrap:wrap}.timbre-bank #add-timbre,.timbre-bank .timbres button{min-width:44px;width:44px;height:44px}.timbre-bank .timbres{gap:4px}.rack-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.workspace .timbre-bank{grid-column:1/-1;width:100%}.timbre-bank .timbres{flex:1;display:grid;grid-template-columns:repeat(4,minmax(44px,1fr))}.timbre-bank .timbres button{width:100%}.timbre-bank #add-timbre{align-self:stretch;height:auto;min-height:44px}}

.macros-rack{display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid var(--plate-border);background:var(--plate);min-width:0}.macros-rack>h2{font-size:10px;letter-spacing:.75px;color:#3b4650;margin:0;flex:none}#macros{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;flex:1;min-width:0}.macro-control{display:flex;flex-direction:column;align-items:center;min-width:0}.macro-control>label{height:16px;line-height:16px;width:100%;font-size:10px;color:var(--secondary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.macro-edit{height:20px;min-width:56px;background:transparent;border-color:transparent;font:9px ui-monospace,monospace;color:var(--lcd-ink)}.macro-edit:hover{background:var(--lcd)}.macro-dialog{width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:16px}.macro-dialog #macro-parameter{font:12px/20px ui-monospace,monospace;color:var(--lcd-ink);overflow-wrap:anywhere}.macro-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.macro-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 12px;color:var(--lcd-ink);background:var(--lcd);min-width:0}.macro-choice>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.macro-choice>span:last-child{font:10px ui-monospace,monospace;flex:none}.macro-choice:disabled{opacity:.4}.macro-name-label{display:flex;flex-direction:column;gap:4px;color:var(--secondary);font-size:11px;margin:8px 0 12px}.macro-name-label input{height:44px;width:100%;border:1px solid #8ba3b5;background:var(--lcd);color:var(--lcd-ink);padding:0 12px;border-radius:3px;font:14px ui-monospace,monospace}.macro-binding{display:grid;grid-template-columns:minmax(0,1fr) 64px 44px;gap:8px;align-items:center;border-top:1px solid var(--plate-border);padding:8px 0}.macro-binding>label{grid-column:1/-1;font:12px/18px ui-monospace,monospace;color:var(--secondary);overflow-wrap:anywhere}.macro-binding>input{height:44px;min-width:0;width:100%;margin:0;accent-color:var(--focus)}.macro-binding>output{font:12px ui-monospace,monospace;text-align:right;color:var(--lcd-ink)}.macro-binding>button{width:44px;height:44px;font-size:20px}.macro-binding.unavailable>label{color:var(--muted)}#macro-empty{font-size:12px;line-height:20px;color:var(--secondary)}
.dial-choice{height:20px;min-height:20px;font-size:9px;padding:0 4px;max-width:100%;text-align:center;box-shadow:none;background:transparent;border-color:transparent}.dial-choice:hover:not(:disabled){background:var(--lcd)}.dial-choice .choice-arrow{font-size:10px}
@media(min-width:1400px) and (max-height:1000px){.macros-rack{padding:4px 16px}.macro-control .knob{width:36px;height:36px;min-height:36px}.macro-control .knob-face{width:26px;height:26px}.macro-control>label{height:12px;line-height:12px;font-size:9px}.macro-edit{height:16px;min-height:16px;font-size:8px}.fx-properties .parameter{height:64px}.fx-properties .dial-choice{height:20px;min-height:20px}}
@media(max-width:800px){.macros-rack{display:block;padding:12px}.macros-rack>h2{margin-bottom:8px}#macros{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.macro-control>label{height:20px;line-height:20px;font-size:11px}.macro-control .dial-value,.macro-edit{height:44px;min-height:44px;line-height:44px;font-size:12px}.macro-edit{width:100%;background:var(--lcd);border-color:#8ba3b5}.fx-properties .dial-choice{height:44px;min-height:44px;font-size:11px}.macro-dialog .dialog-heading{align-items:center}.macro-dialog #macro-close{height:44px;width:44px}}
.macro-edit{display:inline-flex;align-items:center;justify-content:center;gap:4px}.macro-edit svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
@media(max-width:800px){.macro-edit svg{width:18px;height:18px}}
/* Mod lanes use the same faceplate and controls as the main rack. */
.sequence-tracks{overflow:visible;min-width:0}.sequence-lane{min-width:0;width:100%}.sequence-track{min-width:0;overflow-x:auto;scrollbar-width:thin}.sequence-track .track-head{width:260px;position:sticky;left:0;z-index:1;background:var(--plate)}.sequence-track .track-steps{min-width:650px}.sequence-track .modulation-toggle{width:28px;min-width:28px;font-size:14px;color:var(--secondary)}.modulation-toggle.has-modulation{color:var(--lcd-ink);background:var(--lcd);border-color:#8ba3b5}
.modulation-panel{min-width:0;width:100%;border:1px solid var(--plate-border);border-radius:var(--radius);margin:4px 0 8px;padding:8px;background:var(--plate)}.modulation-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.modulation-heading h3{font-size:10px;letter-spacing:.75px;color:var(--secondary);margin:0}.mod-add{height:32px;min-width:64px;padding:0 8px;font-size:10px}.modulation-sequence{border-top:1px solid var(--plate-border);padding:8px 0;min-width:0}.mod-tools{display:grid;grid-template-columns:40px 36px minmax(160px,3fr) 56px repeat(3,minmax(50px,1fr)) 96px minmax(68px,1fr) minmax(68px,1fr) auto 32px;gap:8px;align-items:center;min-width:0}.mod-tools h4{font:10px ui-monospace,monospace;color:var(--secondary);margin:0}.mod-power,.mod-remove{height:36px;min-width:32px;font:11px ui-monospace,monospace;padding:0}.mod-remove{font-size:20px}.mod-field{display:flex;flex-direction:column;gap:4px;min-width:0;color:var(--secondary);font-size:9px}.mod-field>span,.mod-amount>span{height:12px;line-height:12px;text-align:center}.mod-field .lcd-choice{height:36px;min-height:36px;font-size:10px;width:100%}.mod-target>span{text-align:left}.mod-motion{display:flex;height:36px;gap:0}.mod-motion>button{height:36px;min-width:0;flex:1;padding:0 6px;font-size:10px}.mod-amount{display:flex;flex-direction:column;align-items:center;font-size:9px;color:var(--secondary)}.mod-amount .knob{width:32px;height:32px;min-height:32px}.mod-amount .knob-face{width:24px;height:24px}.mod-amount .dial-value{width:48px;height:16px;line-height:16px;font-size:10px}.mod-step-grid{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px;margin-top:8px}.mod-step{min-width:0;display:flex;flex-direction:column;align-items:center;padding:4px 0;border-bottom:3px solid transparent}.mod-step>label{height:16px;line-height:16px;font:10px ui-monospace,monospace;color:var(--secondary)}.mod-step .knob{width:36px;height:36px;min-height:36px}.mod-step .knob-face{width:28px;height:28px}.mod-step .dial-value{font-size:10px;height:20px;line-height:20px}.mod-step.current{border-bottom-color:var(--pad);background:var(--plate-inset);border-radius:var(--radius)}.mod-step.outside-loop{opacity:.35}.mod-block{width:72px}.knob{position:relative}.knob-modulation{position:absolute;inset:0;transform:rotate(var(--mod-angle));pointer-events:none}.knob-modulation::after{content:'';position:absolute;left:calc(50% - 2px);top:1px;width:4px;height:6px;background:var(--focus);border-radius:1px;box-shadow:0 0 0 1px var(--lcd)}
@media(max-width:1200px){.mod-tools{grid-template-columns:40px 44px minmax(160px,3fr) 56px repeat(3,minmax(50px,1fr)) 96px 32px}.mod-tools .mod-field:nth-last-child(4),.mod-tools .mod-field:nth-last-child(3){grid-row:2;grid-column:span 2}.mod-block{grid-row:2}.mod-remove{grid-column:-2;grid-row:1}.mod-step-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:800px){.sequence-track{min-width:0}.sequence-track .track-head{width:260px}.sequence-track .track-steps{min-width:720px}.sequence-track .modulation-toggle{width:36px;min-width:36px}.modulation-panel{padding:8px;margin-top:8px}.mod-add,.mod-power,.mod-remove{height:44px;min-height:44px}.mod-tools{grid-template-columns:48px 44px minmax(0,1fr) 44px;gap:8px;align-items:end}.mod-tools h4{align-self:center}.mod-target{grid-column:1/-1;grid-row:2}.mod-tools .mod-amount{grid-column:3;grid-row:1;display:grid;grid-template-columns:auto 44px 52px;align-items:center;gap:4px}.mod-amount>span{height:auto}.mod-amount .knob{width:44px;height:44px;min-height:44px}.mod-amount .knob-face{width:32px;height:32px}.mod-amount .dial-value{width:52px;height:44px;line-height:44px;font-size:12px}.mod-remove{grid-column:4;grid-row:1}.mod-tools .mod-field:not(.mod-target){grid-column:span 2;grid-row:auto}.mod-field>span{height:16px;line-height:16px;font-size:10px}.mod-field .lcd-choice,.mod-motion,.mod-motion>button{height:44px;min-height:44px;font-size:12px}.mod-block{width:auto}.mod-step-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mod-step .knob{width:48px;height:48px;min-height:48px}.mod-step .knob-face{width:36px;height:36px}.mod-step .dial-value{width:100%;height:44px;line-height:44px;font-size:12px}.mod-step>label{height:20px;line-height:20px}.modulation-heading h3{font-size:11px}}
.sequence-scroll{overflow:visible}.mod-tools{align-items:end;grid-template-columns:40px 36px minmax(160px,3fr) 84px repeat(3,minmax(50px,1fr)) 96px minmax(68px,1fr) minmax(68px,1fr) auto 32px}.mod-remove{grid-column:-2}.mod-amount{display:grid;grid-template-columns:36px minmax(0,1fr);gap:4px;align-items:center}.mod-amount>span{grid-column:1/-1}.mod-amount .knob{width:36px;height:36px;min-height:36px}.mod-amount .dial-value{width:100%;max-width:none;height:36px;line-height:36px;font-size:11px}
@media(max-width:1200px){.mod-tools{grid-template-columns:40px 44px minmax(160px,3fr) 84px repeat(3,minmax(50px,1fr)) 96px 32px}}
@media(max-width:800px){.mod-tools{grid-template-columns:48px 44px minmax(0,1fr) 44px}.mod-tools .mod-amount{grid-template-columns:44px minmax(0,1fr);gap:0 4px}.mod-amount>span{height:16px;line-height:16px}.mod-amount .knob{width:44px;height:44px;min-height:44px}.mod-amount .dial-value{width:100%;height:44px;line-height:44px}}
@media(max-width:800px){.mod-tools{grid-template-columns:repeat(8,minmax(0,1fr))}.mod-tools h4{grid-column:1;grid-row:1;font-size:9px}.mod-tools .mod-power{grid-column:2/span 2;grid-row:1;width:44px;justify-self:start}.mod-tools .mod-amount{grid-column:4/span 3;grid-row:1}.mod-tools .mod-remove{grid-column:7/span 2;grid-row:1;width:44px;justify-self:end}.mod-tools .mod-field:not(.mod-target){grid-column:span 4;grid-row:auto}}
@media(max-width:800px){.mod-step-grid{grid-template-columns:repeat(var(--mod-columns,4),minmax(0,1fr))}.mod-step.outside-loop{display:none}}
.sequence-track .track-head{width:292px}.sequence-settings-toggle{width:28px;min-width:28px;padding:0;font-size:18px}.sequence-settings{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:12px 8px;border-bottom:1px solid var(--plate-border)}.sequence-settings[hidden]{display:none}.sequence-field{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:10px;color:var(--secondary)}.sequence-field>span{height:16px;line-height:16px}.sequence-field input,.sequence-field .lcd-choice{width:100%;height:36px;min-height:36px;min-width:0;font:11px ui-monospace,monospace}.sequence-field input{border:1px solid #8ba3b5;background:var(--lcd);color:var(--lcd-ink);border-radius:var(--radius);padding:0 8px}.step-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.sequence-step.step-muted{opacity:.45}.mod-tools{grid-template-columns:40px 36px minmax(140px,3fr) 84px repeat(3,minmax(50px,1fr)) 96px repeat(3,minmax(68px,1fr)) auto 32px}
@media(max-width:1200px) and (min-width:801px){.mod-tools{grid-template-columns:40px 44px minmax(160px,3fr) 84px repeat(3,minmax(50px,1fr)) 96px 32px}.mod-tools .mod-field:nth-last-child(5),.mod-tools .mod-field:nth-last-child(4),.mod-tools .mod-field:nth-last-child(3){grid-row:2;grid-column:span 2}}
@media(max-width:800px){.sequence-track .track-head{width:300px}.sequence-settings-toggle{width:36px;min-width:36px}.sequence-settings{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 8px}.sequence-field input,.sequence-field .lcd-choice{height:44px;min-height:44px;font-size:12px}.mod-tools{grid-template-columns:repeat(8,minmax(0,1fr))}}
.module-osc3 .module-controls>.parameter:has(>.lcd-choice){grid-column:span 2}
#circuit-canvas .module.module-osc3>.module-controls{grid-template-columns:repeat(4,minmax(0,1fr))}
#circuit-canvas .module.module-osc3>.module-controls>.parameter:has(>.lcd-choice){height:68px}
