:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0f0e;--surface:#151815;--surface-raised:#1b1f1b;--surface-soft:#20251f;--line:#343a33;--line-strong:#4a5148;--text:#f0f2ed;--muted:#9ca69a;--accent:#d7ff59;--accent-ink:#172000;--warning:#ffbd66;--danger:#ff7d6b;--radius:8px;background:var(--bg);color:var(--text);font-synthesis:none;font-family:Avenir Next,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100dvh;margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button,select,input,textarea{color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{--ui-zoom:1;--ui-zoom-layout-scale:1;height:100dvh;min-height:0;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:radial-gradient(circle at 50% 0, #d7ff590f, transparent 30rem), var(--bg);overflow:hidden}.app-shell{width:min(calc(100% * var(--ui-zoom-layout-scale)), calc(1440px * var(--ui-zoom-layout-scale)));height:calc(100% * var(--ui-zoom-layout-scale));min-height:0;transform:scale(var(--ui-zoom));transform-origin:0 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative;left:max(0px,50% - 720px);overflow:hidden;box-shadow:0 22px 80px #0000006b}.zoom-overlay{z-index:90;top:max(18px, env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right));pointer-events:none;position:fixed}.zoom-control{border:1px solid var(--line);border-radius:var(--radius);pointer-events:auto;background:linear-gradient(#ffffff14,#ffffff06);align-items:center;gap:4px;min-height:34px;padding:4px;display:inline-flex;box-shadow:0 8px 28px #00000047}.zoom-control button{min-width:26px;height:26px;color:var(--muted);background:#ffffff0d;border:0;border-radius:6px;place-items:center;padding:0 8px;font-size:13px;font-weight:800;line-height:1;display:inline-grid}.zoom-control button:hover:not(:disabled){color:var(--text);background:#d7ff591f}.zoom-control button:disabled{cursor:default;opacity:.42}.zoom-control .zoom-reset{min-width:48px;color:var(--text);font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace}.topbar{border-bottom:1px solid var(--line);background:#111411;justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:10px 18px;display:flex}.brand{white-space:nowrap;align-items:center;gap:10px;display:flex}.brand-mark{border:1px solid var(--accent);border-radius:var(--radius);width:42px;height:42px;color:var(--accent);letter-spacing:-.08em;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;display:grid}.brand strong,.brand span{display:block}.brand strong{letter-spacing:.01em;font-size:15px}.brand span{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:2px;font-size:11px}.connection-cluster{align-items:center;gap:10px;min-width:0;display:flex}.connection-state{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:430px;font-size:12px;overflow:hidden}.connection-state.is-connected{color:var(--accent)}.topbar-port-picker{min-width:230px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;grid-template-columns:auto minmax(150px,1fr);align-items:center;gap:7px;font-size:10px;display:grid}.topbar-port-picker select{width:100%}.workspace{grid-template-columns:248px minmax(0,1fr);min-height:0;display:grid}.preset-browser{border-right:1px solid var(--line);background:#111411;grid-template-rows:auto 1fr;min-height:0;display:grid}.bank-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.bank-tabs button,.editor-tabs button,.operator-tabs button{color:var(--muted);background:0 0;border:0}.bank-tabs button{border-right:1px solid var(--line);min-height:44px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.bank-tabs button:last-child{border-right:0}.bank-tabs button.is-active{color:var(--accent);background:var(--surface-soft);box-shadow:inset 0 -2px var(--accent)}.preset-list{padding:8px;overflow:auto}.preset-list button{border-radius:var(--radius);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:34px 1fr;align-items:center;gap:8px;width:100%;min-height:39px;padding:6px 8px;display:grid}.preset-list button:hover{background:var(--surface)}.preset-list button.is-active{border-color:var(--line-strong);background:var(--surface-soft)}.preset-list span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.preset-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.editor{grid-template-rows:auto auto 1fr;min-width:0;min-height:0;display:grid}.voice-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:78px;padding:14px 20px;display:flex}.voice-header>div:first-child>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;display:block}.voice-header input{letter-spacing:-.04em;background:0 0;border:0;border-bottom:1px solid #0000;max-width:320px;padding:0;font-size:clamp(22px,3vw,34px);font-weight:700}.voice-header input:hover,.voice-header input:focus{border-bottom-color:var(--line-strong);outline:none}.voice-meta{gap:7px;display:flex}.voice-meta span,.protocol-tag{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:5px;padding:5px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.editor-tabs{border-bottom:1px solid var(--line);gap:22px;padding:0 20px;display:flex;overflow-x:auto}.editor-tabs button{white-space:nowrap;min-height:45px;padding:0;font-size:12px;font-weight:600}.editor-tabs button.is-active{color:var(--text);box-shadow:inset 0 -2px var(--accent)}.editor-content{min-height:0;padding:18px 20px 28px;overflow:auto}.editor-grid,.banks-layout,.midi-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.editor-grid--voice{grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr)}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;padding:16px}.panel--wide{grid-column:1/-1}.panel-heading{justify-content:space-between;align-items:flex-start;gap:10px;min-height:34px;margin-bottom:15px;display:flex}.panel-heading h2,.section-lead h2{letter-spacing:-.01em;margin:0;font-size:14px}.panel-heading p,.section-lead p{max-width:72ch;color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.45}.panel-heading>span{color:var(--muted);font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.voice-architecture-layout{grid-template-columns:minmax(300px,.8fr) minmax(480px,1.2fr);align-items:center;gap:22px;display:grid}.global-controls{grid-template-columns:repeat(4,minmax(100px,1fr));align-items:stretch;gap:12px;display:grid}.algorithm-diagram{border:1px solid var(--line);border-radius:var(--radius);background:#101310;min-width:0;margin:0;padding:11px 13px 9px}.algorithm-diagram figcaption{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:10px;margin-bottom:3px;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.algorithm-diagram figcaption strong{color:var(--accent);font-size:11px}.algorithm-diagram svg{width:100%;height:128px;display:block;overflow:visible}.algorithm-lines path{fill:none;stroke:#8d998a;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.algorithm-lines .algorithm-feedback{stroke:var(--warning);stroke-dasharray:2.5 2.5}.algorithm-output-arrow{fill:var(--accent)}.algorithm-operator rect{fill:#232923;stroke:#899286;stroke-width:1px}.algorithm-operator text{fill:var(--text);text-anchor:middle;font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace}.algorithm-operator.is-carrier rect{fill:var(--accent);stroke:var(--accent)}.algorithm-operator.is-carrier text{fill:var(--accent-ink)}.algorithm-operator.is-muted{opacity:.28}.algorithm-audio-label{fill:var(--accent);letter-spacing:.08em;font:700 6px ui-monospace,SFMono-Regular,Menlo,monospace}.algorithm-legend{color:#798276;text-transform:uppercase;align-items:center;gap:13px;margin-top:2px;font:8px ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.algorithm-legend span{align-items:center;gap:4px;display:flex}.algorithm-legend i{background:#232923;border:1px solid #899286;border-radius:2px;width:8px;height:8px}.algorithm-legend span:first-child i{border-color:var(--accent);background:var(--accent)}.operator-overview{grid-template-columns:repeat(6,minmax(90px,1fr));gap:8px;margin-top:18px;display:grid}.operator-tile{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);text-align:left;min-height:106px;padding:10px;transition:transform .12s,border-color .12s}.operator-tile:hover{border-color:var(--accent);transform:translateY(-1px)}.operator-tile.is-muted{opacity:.44}.operator-tile span,.operator-tile small{color:var(--muted);font-size:10px;display:block}.operator-tile .operator-number{color:var(--accent);font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.operator-tile strong{margin-top:8px;font-size:28px;line-height:1;display:block}.operator-tile small{margin-top:8px}.operator-switches{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.operator-switches label,.switch-row{border:1px solid var(--line);border-radius:var(--radius);min-height:38px;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:11px;display:flex}.control{gap:6px;min-width:0;margin-bottom:12px;display:grid}.control:last-child{margin-bottom:0}.control>span,.channel-field{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}select,input[type=number],input[type=email],input[type=text],textarea{border:1px solid var(--line-strong);background:var(--surface-raised);border-radius:5px;min-height:34px;padding:6px 8px;font-size:12px}textarea{resize:vertical;min-height:132px;line-height:1.45}.channel-field{align-items:center;gap:8px;display:flex}.channel-field input{width:58px}.operator-tabs{grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:14px;display:grid}.operator-tabs button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:38px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.operator-tabs button.is-active{color:var(--accent-ink);border-color:var(--accent);background:var(--accent)}.parameter-groups{grid-template-columns:repeat(2,minmax(300px,1fr));align-items:start;gap:14px;display:grid}.parameter-groups--operators .parameter-group--keyboard-scaling{grid-column:1/-1}.parameter-groups--pitch{grid-template-columns:repeat(2,minmax(300px,1fr))}.knob-grid{grid-template-columns:repeat(auto-fit,minmax(74px,1fr));align-items:start;gap:12px 8px;display:grid}.parameter-group--lfo{grid-column:1/-1}.lfo-control-grid{gap:16px;display:grid}.lfo-control-row{grid-template-columns:repeat(4,minmax(110px,150px));align-items:start;gap:18px;display:grid}.lfo-control-row:nth-child(2){grid-template-columns:repeat(3,minmax(110px,150px))}.lfo-control-row .control,.lfo-control-row .knob-control,.lfo-control-row .parameter-switch{margin-bottom:0}.parameter-switch{min-height:86px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-content:start;justify-items:center;gap:13px;font-size:10px;display:grid}.parameter-switch input{appearance:none;border:1px solid var(--line-strong);cursor:pointer;background:#0f120f;border-radius:999px;width:54px;height:30px;transition:border-color .12s,background .12s;position:relative}.parameter-switch input:before{content:"";background:#9ca69a;border-radius:50%;width:20px;height:20px;transition:transform .12s,background .12s;position:absolute;top:4px;left:4px;box-shadow:0 2px 5px #00000061}.parameter-switch input:checked{border-color:var(--accent);background:#d7ff5929}.parameter-switch input:checked:before{background:var(--accent);transform:translate(24px)}.knob-grid--effects{grid-template-columns:repeat(3,minmax(62px,1fr))}.effects-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;display:grid}.section-lead{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px;display:flex}.effect-panel{border-top:2px solid var(--accent)}.effect-controls{grid-template-columns:54px minmax(112px,1fr) repeat(2,minmax(62px,.72fr));align-items:start;gap:10px;display:grid}.effect-controls .control,.effect-controls .knob-control{margin-bottom:0}.effect-controls .knob{--knob-size:48px}.effect-controls .knob-label{justify-content:center;align-items:flex-end;min-height:22px;display:flex}.effect-enable-switch{min-height:72px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-content:start;justify-items:center;gap:12px;font-size:9px;display:grid}.effect-enable-switch input{appearance:none;border:1px solid var(--line-strong);cursor:pointer;background:#0f120f;border-radius:999px;width:38px;height:24px;transition:border-color .12s,background .12s;position:relative}.effect-enable-switch input:before{content:"";background:#9ca69a;border-radius:50%;width:14px;height:14px;transition:transform .12s,background .12s;position:absolute;top:4px;left:4px;box-shadow:0 2px 5px #00000061}.effect-enable-switch input:checked{border-color:var(--accent);background:#d7ff5929}.effect-enable-switch input:checked:before{background:var(--accent);transform:translate(14px)}.effect-select{align-content:start;min-width:0}.effect-select select{width:100%}.sequencer-layout{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.sequencer-layout>.section-lead{z-index:20;border-bottom:1px solid var(--line);background:#151815f5;margin:-18px -20px 4px;padding:14px 20px 12px;position:sticky;top:-18px;box-shadow:0 12px 24px #00000038}.seq-settings{grid-template-columns:repeat(6,minmax(92px,1fr));justify-self:start;align-items:center;gap:12px;width:min(100%,1180px);display:grid}.seq-settings .control{margin-bottom:0}.seq-generator-switch{border:1px solid var(--line);border-radius:var(--radius);background:#101310;gap:4px;width:fit-content;padding:4px;display:inline-flex}.seq-generator-switch button{min-width:96px;min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:800}.seq-generator-switch button.is-active{background:var(--accent);color:var(--accent-ink)}.seq-randomizer{justify-self:stretch;gap:10px;width:100%;padding:12px 14px;display:grid}.seq-randomizer-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.seq-randomizer-heading h3{margin:0;font-size:13px}.seq-randomizer-heading p{max-width:42ch;color:var(--muted);margin:2px 0 0;font-size:10px;line-height:1.3}.seq-range{border:1px solid var(--line);color:var(--accent);background:#101310;border-radius:5px;flex:none;padding:4px 7px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.seq-randomizer-controls{grid-template-columns:84px 160px 122px 86px 72px 72px minmax(360px,1fr) 92px;align-items:end;gap:10px;display:grid}.seq-chord-controls{grid-template-columns:repeat(14,minmax(0,1fr))}.seq-chord-controls>:first-child{grid-column:span 1}.seq-chord-controls>:nth-child(2){grid-column:span 2}.seq-chord-controls>:nth-child(3){grid-column:span 4}.seq-chord-controls>:nth-child(4),.seq-chord-controls>:nth-child(5),.seq-chord-controls>:nth-child(9),.seq-chord-controls>:nth-child(11),.seq-chord-controls>:nth-child(13){grid-column:span 2}.seq-chord-controls>:nth-child(6),.seq-chord-controls>:nth-child(7),.seq-chord-controls>:nth-child(8){grid-column:span 3}.seq-chord-controls>:nth-child(10),.seq-chord-controls>:nth-child(12){grid-column:span 1}.seq-randomizer-controls>.control{width:auto;margin:0}.seq-randomizer-controls>.control:nth-child(2),.seq-randomizer-controls>.control:nth-child(3){width:auto}.seq-randomizer-controls>.knob-control{width:auto;min-width:62px}.seq-randomizer-controls .knob{--knob-size:42px}.seq-randomizer-controls .knob-control output{padding-block:2px}.seq-division-field{border:0;min-width:0;margin:0;padding:0}.seq-division-field legend{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;padding:0;font-size:10px}.seq-division-weights{border:1px solid var(--line-strong);background:var(--surface-raised);border-radius:5px;grid-template-columns:repeat(4,minmax(56px,1fr));gap:10px;min-height:76px;padding:7px 9px;display:grid}.seq-division-weights .knob-control{width:auto;margin:0}.seq-division-weights .knob{--knob-size:38px}.seq-division-weights .knob-label{text-align:center;white-space:normal;justify-content:center;align-items:flex-end;min-height:18px;line-height:1.1;display:flex}.seq-division-weights output{padding-block:2px}.seq-seed{min-width:0;max-width:none}.seq-seed input{width:100%;min-width:0}.seq-progression{min-width:0}.seq-toggle{border:1px solid var(--line-strong);background:var(--surface-raised);height:34px;min-height:34px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-radius:5px;justify-content:space-between;align-self:end;align-items:center;gap:8px;padding:5px 9px;font-size:10px;display:flex}.seq-randomizer-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seq-randomizer-actions .primary-button,.seq-randomizer-actions .secondary-button{min-height:32px;padding:6px 10px}.seq-global-actions{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.seq-global-actions .secondary-button{min-height:32px;padding:6px 10px}.seq-action-divider{background:var(--line);width:1px;height:24px;margin-inline:2px}.seq-history-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seq-history-actions .secondary-button{min-width:74px}.seq-history-actions .secondary-button:disabled{color:var(--muted);opacity:.45;cursor:default;transform:none}.piano-roll{--key-width:58px;--seq-cell-width:48px;--seq-row-height:20px;-webkit-user-select:none;user-select:none;padding:0;overflow:hidden}.piano-roll-scroll{overscroll-behavior:contain;scrollbar-color:#4a5148 #101310;max-height:min(430px,100dvh - 360px);overflow:auto}.piano-roll-inner{min-width:calc(var(--key-width) + var(--seq-length) * var(--seq-cell-width))}.piano-roll-header{z-index:4;grid-template-columns:var(--key-width) max-content;border-bottom:1px solid var(--line);background:#101310;display:grid;position:sticky;top:0}.piano-roll-corner{z-index:5;border-right:1px solid var(--line);background:#101310;position:sticky;left:0}.step-ruler{grid-template-columns:repeat(var(--seq-length), var(--seq-cell-width));min-width:0;display:grid}.step-ruler button{border:0;border-left:1px solid var(--line);min-height:28px;color:var(--muted);background:0 0;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.step-ruler button.is-playing{color:var(--accent-ink);background:var(--accent)}.piano-roll-body{grid-template-columns:var(--key-width) max-content;min-height:266px;display:grid}.piano-keys{z-index:3;grid-auto-rows:var(--seq-row-height);border-right:1px solid var(--line);background:#0f120f;display:grid;position:sticky;left:0}.piano-keys button{min-height:var(--seq-row-height);color:#161a16;background:#dfe4dc;border:0;border-bottom:1px solid #272d27;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.piano-keys button.is-black{color:var(--muted);background:#111411}.piano-keys button.is-playing,.piano-keys button:active{background:var(--accent);color:var(--accent-ink)}.note-grid{grid-auto-rows:var(--seq-row-height);background:#151815;min-width:0;display:grid;overflow:hidden}.note-row{grid-template-columns:repeat(var(--seq-length), var(--seq-cell-width));border-bottom:1px solid #262c25;min-width:0;display:grid}.note-row.is-white{background:#181c18}.note-row.is-black{background:#121512}.note-cell{width:100%;min-width:0;min-height:var(--seq-row-height);background:0 0;border:0;border-left:1px solid #323832;padding:2px;display:block;position:relative}.note-cell:nth-child(4n+1){border-left-color:#4a5148}.note-cell:nth-child(16n+1){border-left-color:#68705f}.note-cell.is-playing{background:#d7ff5921}.note-cell:hover{background:#d7ff5914}.note-cell.is-drop-target{box-shadow:inset 0 0 0 1px var(--accent);background:#d7ff592e}.note-cell span{z-index:1;color:#1b111d;text-align:left;pointer-events:auto;background:#bb63c7;border:1px solid #ff9df0;border-radius:4px;min-width:14px;height:100%;padding:2px 11px 2px 5px;font-size:9px;font-weight:800;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff40}.note-cell span.is-moving{opacity:.72;cursor:grabbing;transform:translateY(1px)}.note-cell span i{cursor:ew-resize;pointer-events:auto;background:#ffffff2e;border-left:1px solid #1b111d61;width:9px;height:100%;position:absolute;top:0;right:0}.note-cell span i:hover{background:#ffffff57}.velocity-lane{z-index:7;grid-template-columns:var(--key-width) max-content;border-top:1px solid var(--line);background:#101310;display:grid;position:sticky;bottom:0;box-shadow:0 -10px 24px #00000057}.velocity-lane>span{z-index:3;border-right:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#101310;padding:9px 8px;font-size:10px;position:sticky;left:0}.velocity-lane>div{grid-template-columns:repeat(var(--seq-length), var(--seq-cell-width));min-width:0;display:grid}.velocity-stack{border-left:1px solid var(--line);justify-content:center;align-items:end;gap:3px;min-width:0;min-height:88px;padding:4px 3px 18px;display:flex}.velocity-stack.is-playing{background:#d7ff5921}.velocity-stack>span{background:#343a33;align-self:end;width:100%;height:2px}.velocity-bar{cursor:ns-resize;background:0 0;border:0;place-items:end center;width:min(18px,34%);min-width:10px;height:66px;padding:0;display:grid;position:relative}.velocity-bar i{pointer-events:none;background:#ff7d6b;border-radius:4px 4px 0 0;width:min(18px,62%);min-height:2px}.velocity-bar output{color:var(--muted);pointer-events:none;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;bottom:4px}.knob-control{text-align:center;grid-template-rows:auto auto auto;align-content:start;justify-items:center;gap:4px;min-width:0;display:grid}.knob-label{color:#b8c0b5;text-transform:uppercase;letter-spacing:.08em;order:2;min-height:20px;font-size:10px;font-weight:600;line-height:1.05}.knob{--knob-size:52px;width:var(--knob-size);height:var(--knob-size);cursor:ns-resize;touch-action:none;background:radial-gradient(circle at 35% 24%,#e6ece42e 0 6%,#0000 17%),radial-gradient(circle at 50% 58%,#303844 0 20%,#151a21 58%,#0c0f14 100%);border:1px solid #58615b;border-radius:50%;order:1;padding:0;position:relative;box-shadow:inset 0 1px 2px #ebf1e833,inset 0 -7px 10px #00000080,0 1px #ffffff12,0 4px 9px #00000057}.knob:before{content:"";background:conic-gradient(from 225deg, #dde5e0e6 0deg calc(var(--knob-angle) + 135deg), #707a7647 calc(var(--knob-angle) + 135deg) 270deg, transparent 270deg 360deg);pointer-events:none;border-radius:50%;position:absolute;inset:-6px;-webkit-mask:radial-gradient(#0000 59%,#000 61% 68%,#0000 70%);mask:radial-gradient(#0000 59%,#000 61% 68%,#0000 70%)}.knob:after{content:"";pointer-events:none;background:radial-gradient(circle at 38% 28%,#e7ede824,#0000 22%),linear-gradient(145deg,#63707e57,#0a0c1133);border:1px solid #7c898461;border-radius:50%;position:absolute;inset:7px;box-shadow:inset 0 2px 4px #ffffff0f,inset 0 -5px 8px #00000073}.knob-indicator{z-index:1;width:3px;height:15px;transform:translateX(-50%) rotate(var(--knob-angle));transform-origin:50% calc(var(--knob-size) / 2 - 8px);pointer-events:none;background:#dce3de;border-radius:999px;position:absolute;top:8px;left:50%;box-shadow:0 0 5px #dce3de47}.knob:hover{border-color:#79847e;box-shadow:inset 0 1px 2px #ebf1e838,inset 0 -7px 10px #0000007a,0 0 0 3px #d7ff5914,0 5px 10px #0000005c}.knob:focus-visible{outline-offset:5px;outline:2px solid #dde5e0b3}.knob.is-adjusting{border-color:#89948e;transform:translateY(1px);box-shadow:inset 0 1px 1px #ffffff1f,inset 0 -5px 8px #00000080,0 0 0 3px #dde5e01a,0 2px 5px #0000004d}.knob-control output{min-width:34px;color:var(--text);white-space:nowrap;background:#0f120f;border:1px solid #30362f;border-radius:4px;order:3;padding:1px 5px;font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace}.knob-control--compact .knob{--knob-size:48px}.performance-controls{justify-content:flex-start;display:flex}.mini-keyboard{border:1px solid var(--line-strong);border-radius:var(--radius);-webkit-user-select:none;user-select:none;background:#0d100d;height:116px;margin-top:14px;position:relative;overflow:hidden}.mini-keyboard__white-keys{grid-template-columns:repeat(8,1fr);gap:2px;display:grid;position:absolute;inset:0}.piano-key{touch-action:none;padding:0 0 9px;font-size:10px;font-weight:800;position:relative}.piano-key span{pointer-events:none;position:absolute;bottom:8px;left:0;right:0}.piano-key--white{color:#292d28;background:linear-gradient(90deg,#d8dbd4,#f0f2ec 46%,#c9cec5);border:0;border-right:1px solid #9ba097;border-radius:0 0 5px 5px}.piano-key--white:first-child{border-radius:5px 0 0 5px}.piano-key--white:last-child{border-right:0;border-radius:0 5px 5px 0}.mini-keyboard__black-keys{pointer-events:none;position:absolute;inset:0}.piano-key--black{top:0;left:calc((var(--black-key-position) / 8) * 100% - 3.65%);z-index:1;color:#aeb6aa;pointer-events:auto;background:linear-gradient(90deg,#090b09,#252925 55%,#0b0d0b);border:1px solid #080a08;border-radius:0 0 5px 5px;width:7.3%;height:68%;position:absolute;box-shadow:0 4px 5px #0000008c}.piano-key--black span{bottom:7px}.piano-key.is-playing,.piano-key:active{background:var(--accent);color:var(--accent-ink);transform:translateY(1px)}.notice{color:var(--muted);margin:13px 0 0;font-size:11px;line-height:1.45}.notice--warning{color:var(--warning)}.device-record-instructions{color:var(--muted);margin:13px 0 0;padding-left:19px;font-size:11px;line-height:1.45}.device-record-instructions li+li{margin-top:3px}.primary-button,.secondary-button,.text-button,.file-button{border-radius:var(--radius);white-space:nowrap;min-height:36px;padding:8px 12px;font-size:11px;font-weight:700;text-decoration:none}.primary-button{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink)}.secondary-button,.file-button{border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--text)}.text-button{min-height:auto;color:var(--accent);background:0 0;border:0;padding:0}.primary-button:active,.secondary-button:active,.file-button:active{transform:translateY(1px)}.file-button{text-align:center;cursor:pointer;width:100%;display:block}.file-button input{display:none}.bank-actions>button,.bank-actions>.file-button{width:100%;margin-top:9px}.cartridge-browser{min-height:0;display:grid}.external-tool-link{text-align:center;place-items:center;width:100%;display:grid}.cartridge-browser>.external-tool-link,.cartridge-browser>.file-button{margin-top:9px}.cartridge-auto-load{border:1px solid var(--line);border-radius:var(--radius);min-height:38px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:9px;padding:8px 10px;font-size:11px;display:flex}.cartridge-title{border:1px solid var(--line);border-radius:var(--radius);background:#101310;margin:12px 0 8px;padding:9px 10px}.cartridge-title span,.cartridge-list span{color:var(--muted);font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.cartridge-title strong{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:16px;display:block;overflow:hidden}.cartridge-list{border:1px solid var(--line);border-radius:var(--radius);background:#101310;max-height:286px;margin-bottom:10px;overflow:auto}.cartridge-list button{text-align:left;background:0 0;border:0;border-bottom:1px solid #242824;grid-template-columns:30px 1fr;align-items:center;gap:8px;width:100%;min-height:36px;padding:6px 8px;display:grid}.cartridge-list button:last-child{border-bottom:0}.cartridge-list button:hover{background:var(--surface-raised)}.cartridge-list button.is-active{background:var(--surface-soft);color:var(--accent)}.cartridge-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.capability-panel dl{background:var(--line);gap:1px;margin:0;display:grid}.capability-panel dl div{background:var(--surface);grid-template-columns:minmax(120px,.7fr) minmax(180px,1.3fr);gap:12px;padding:9px 10px;display:grid}.capability-panel dt{color:var(--muted);font-size:11px}.capability-panel dd{margin:0;font-size:11px}.supported{color:var(--accent)}.unknown{color:var(--warning)}.arm-control{border:1px solid var(--line-strong);border-radius:var(--radius);white-space:nowrap;align-items:center;gap:7px;min-height:36px;padding:8px 11px;font-size:11px;font-weight:700;display:flex}.transport-buttons{gap:8px;margin-top:14px;display:flex}.monitor-actions{align-items:center;gap:10px;display:flex}.midi-log{border:1px solid var(--line);border-radius:var(--radius);background:#0b0d0b;height:245px;overflow:auto}.midi-log>div{border-bottom:1px solid #242824;grid-template-columns:60px 38px 1fr;align-items:center;gap:7px;min-height:28px;padding:5px 7px;display:grid}.midi-log time,.midi-log b,.midi-log code{font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.midi-log time{color:#6f786e}.midi-log b{color:var(--muted)}.midi-log .dir-in{color:#76c7ff}.midi-log .dir-out{color:var(--accent)}.midi-log p{color:var(--muted);padding:8px;font-size:11px}.statusbar{border-top:1px solid var(--line);color:#7d877b;background:#0a0c0a;justify-content:space-between;align-items:center;gap:12px;min-height:26px;padding:5px 12px;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.statusbar span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.statusbar span:first-child{flex:auto}.statusbar span:last-child{flex:none}.statusbar--mobile{display:none}.statusbar-button{border:1px solid var(--line);min-height:20px;color:var(--muted);text-transform:uppercase;background:0 0;border-radius:5px;flex:none;padding:2px 7px;font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace}.statusbar-button:hover{border-color:var(--line-strong);color:var(--text);background:#ffffff0a}.statusbar-support-button{color:#d7ff59;border-color:#d7ff5957;align-items:center;gap:5px;display:inline-flex}.statusbar-support-button:hover{border-color:var(--accent);color:var(--accent);background:#d7ff5914}.statusbar-support-button i{border:1px solid;border-top:0;border-radius:0 0 3px 3px;width:9px;height:8px;position:relative}.statusbar-support-button i:before{content:"";border:1px solid;border-left:0;border-radius:0 3px 3px 0;width:4px;height:4px;position:absolute;top:1px;right:-4px}.statusbar-support-button i:after{content:"";background:currentColor;height:1px;position:absolute;bottom:-3px;left:1px;right:1px}.modal-backdrop{z-index:110;background:#040604b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.feedback-dialog{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:min(100%,520px);padding:16px;box-shadow:0 26px 90px #0000008c}.disclaimer-dialog{width:min(100%,560px)}.disclaimer-body{color:var(--text);gap:10px;font-size:13px;line-height:1.55;display:grid}.disclaimer-body p{margin:0}.feedback-fields{gap:10px;display:grid}.feedback-fields .control{margin:0}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:15px;display:flex}@media (width<=1500px){.seq-randomizer-controls{grid-template-columns:84px 160px 122px 86px 72px 72px minmax(280px,1fr)}.seq-chord-controls{grid-template-columns:repeat(14,minmax(0,1fr))}.seq-randomizer-controls>.seq-seed{grid-area:2/1/auto/2}.seq-chord-controls>.seq-seed{grid-area:auto}.seq-division-field{grid-column:7}}@media (width<=1350px){.topbar{padding-right:max(172px, calc(18px + env(safe-area-inset-right) + 154px))}.connection-cluster{flex-wrap:wrap;justify-content:flex-end}.connection-state{text-align:right;flex:260px;min-width:180px}.seq-randomizer-controls,.seq-chord-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.seq-chord-controls>:nth-child(n){grid-column:auto}.seq-randomizer-controls>.seq-seed,.seq-chord-controls>.seq-seed,.seq-division-field{grid-area:auto}.seq-division-field,.seq-progression{grid-column:span 2}.seq-toggle{min-width:0}}@media (width<=1200px){.app[data-ui-zoom="75"] .sequencer-layout,.app[data-ui-zoom="80"] .sequencer-layout,.app[data-ui-zoom="90"] .sequencer-layout{gap:8px}.app[data-ui-zoom="75"] .editor-content,.app[data-ui-zoom="80"] .editor-content,.app[data-ui-zoom="90"] .editor-content{padding:14px 16px 22px}.app[data-ui-zoom="75"] .sequencer-layout>.section-lead,.app[data-ui-zoom="80"] .sequencer-layout>.section-lead,.app[data-ui-zoom="90"] .sequencer-layout>.section-lead{margin:-14px -16px 4px;padding:12px 16px 10px;top:-14px}.app[data-ui-zoom="75"] .seq-settings,.app[data-ui-zoom="80"] .seq-settings,.app[data-ui-zoom="90"] .seq-settings{grid-template-columns:repeat(4,78px) minmax(160px,210px) minmax(150px,210px);gap:9px;width:max-content;max-width:100%}.app[data-ui-zoom="75"] .seq-randomizer,.app[data-ui-zoom="80"] .seq-randomizer,.app[data-ui-zoom="90"] .seq-randomizer{gap:8px;padding:11px 12px}.app[data-ui-zoom="75"] .seq-randomizer-controls,.app[data-ui-zoom="80"] .seq-randomizer-controls,.app[data-ui-zoom="90"] .seq-randomizer-controls{grid-template-columns:72px 150px 108px 78px 66px 66px minmax(260px,1fr);gap:8px}.app[data-ui-zoom="75"] .seq-randomizer-controls>.seq-seed,.app[data-ui-zoom="80"] .seq-randomizer-controls>.seq-seed,.app[data-ui-zoom="90"] .seq-randomizer-controls>.seq-seed{grid-area:2/1/auto/2}.app[data-ui-zoom="75"] .seq-division-field,.app[data-ui-zoom="80"] .seq-division-field,.app[data-ui-zoom="90"] .seq-division-field{grid-area:1/7/3}.app[data-ui-zoom="75"] .seq-chord-controls,.app[data-ui-zoom="80"] .seq-chord-controls,.app[data-ui-zoom="90"] .seq-chord-controls{grid-template-columns:repeat(6,minmax(82px,1fr))}.app[data-ui-zoom="75"] .seq-chord-controls>.seq-seed,.app[data-ui-zoom="80"] .seq-chord-controls>.seq-seed,.app[data-ui-zoom="90"] .seq-chord-controls>.seq-seed,.app[data-ui-zoom="75"] .seq-chord-controls>.seq-division-field,.app[data-ui-zoom="80"] .seq-chord-controls>.seq-division-field,.app[data-ui-zoom="90"] .seq-chord-controls>.seq-division-field{grid-area:auto}.app[data-ui-zoom="75"] .seq-chord-controls>.seq-progression,.app[data-ui-zoom="80"] .seq-chord-controls>.seq-progression,.app[data-ui-zoom="90"] .seq-chord-controls>.seq-progression{grid-column:span 2}.app[data-ui-zoom="75"] .seq-division-weights,.app[data-ui-zoom="80"] .seq-division-weights,.app[data-ui-zoom="90"] .seq-division-weights{gap:7px;min-height:68px}}@media (width<=1050px){.app{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left))}.app-shell{border-radius:7px}.workspace{grid-template-columns:200px minmax(0,1fr)}.voice-architecture-layout{grid-template-columns:minmax(270px,.8fr) minmax(300px,1.2fr)}.global-controls{grid-template-columns:repeat(2,1fr);gap:16px 8px}.operator-overview{grid-template-columns:repeat(3,1fr)}.parameter-groups,.effects-grid{grid-template-columns:repeat(2,minmax(210px,1fr))}.lfo-control-row,.lfo-control-row:nth-child(2){grid-template-columns:repeat(2,minmax(110px,1fr))}.effect-controls{grid-template-columns:48px minmax(104px,1fr) repeat(2,minmax(58px,.72fr));gap:8px}.knob-grid--effects{grid-template-columns:repeat(2,minmax(62px,1fr))}.connection-state{display:none}.seq-randomizer-controls,.seq-chord-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.seq-randomizer-controls>.seq-seed,.seq-division-field,.seq-chord-controls>.seq-seed{grid-area:auto}.seq-division-field{grid-column:1/-1}.seq-progression{grid-column:span 2}}@media (width<=760px){body{overflow:auto}.app,.app-shell{height:auto;min-height:100dvh;overflow:visible}.zoom-overlay{pointer-events:auto;justify-content:flex-end;width:100%;padding:0 0 8px;display:flex;position:static}.topbar{flex-direction:column;align-items:stretch;gap:12px;padding-right:14px}.brand{white-space:normal;min-width:0}.brand span{line-height:1.25}.connection-cluster{flex-wrap:wrap;justify-content:flex-start;width:100%}.connection-state{text-align:left;width:100%}.topbar-port-picker{grid-template-columns:1fr;min-width:min(260px,100%)}.workspace{grid-template-columns:1fr}.preset-browser{border-right:0;border-bottom:1px solid var(--line);grid-template-rows:auto auto}.preset-list{gap:4px;display:flex;overflow-x:auto}.preset-list button{min-width:126px}.editor-grid,.editor-grid--voice,.banks-layout,.midi-layout,.parameter-groups,.effects-grid{grid-template-columns:1fr}.panel--wide,.parameter-groups--operators .parameter-group--keyboard-scaling{grid-column:auto}.voice-architecture-layout{grid-template-columns:1fr;align-items:stretch}.global-controls,.operator-overview{grid-template-columns:repeat(2,1fr)}.global-controls{gap:18px 8px}.algorithm-diagram svg{height:146px}.lfo-control-row,.lfo-control-row:nth-child(2){grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 8px}.knob-grid{grid-template-columns:repeat(2,minmax(74px,1fr))}.effect-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 8px}.effect-enable-switch{align-content:center;min-height:62px}.effect-select{align-content:center}.knob-grid--effects{grid-template-columns:repeat(2,minmax(62px,1fr))}.mini-keyboard{height:104px}.seq-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.sequencer-layout,.seq-settings,.seq-randomizer,.section-lead>.seq-randomizer-actions{width:100%;min-width:0;max-width:100%}.seq-settings .knob-control,.seq-randomizer-actions .primary-button,.seq-randomizer-actions .secondary-button,.seq-randomizer-actions .file-button{min-width:0}.seq-randomizer-heading{flex-direction:column;align-items:stretch}.seq-range{align-self:flex-start}.seq-randomizer-controls,.seq-chord-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.seq-chord-controls>:nth-child(n){grid-column:auto}.seq-randomizer-controls>.control,.seq-randomizer-controls>.control:nth-child(2),.seq-randomizer-controls>.control:nth-child(3),.seq-randomizer-controls>.knob-control,.seq-randomizer-controls>.seq-seed{width:auto;min-width:0}.seq-division-field{width:100%;min-width:0}.seq-division-weights{grid-template-columns:repeat(2,minmax(0,1fr))}.seq-seed{max-width:none}.seq-progression{grid-column:1/-1}.seq-randomizer-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.seq-randomizer-actions .primary-button{grid-column:1/-1}.seq-randomizer-actions .primary-button,.seq-randomizer-actions .secondary-button{width:100%}.monitor-actions{flex-wrap:wrap;justify-content:flex-end}.transport-buttons{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.transport-buttons .primary-button,.transport-buttons .secondary-button,.transport-buttons .file-button{width:100%;min-width:0}.external-tool-link{white-space:normal;min-width:0}.seq-generator-switch{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.seq-generator-switch button{width:100%;min-width:0}.seq-global-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.seq-global-actions .secondary-button{width:100%}.seq-history-actions{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.seq-history-actions .secondary-button{min-width:0}.seq-action-divider{display:none}.piano-roll{--key-width:48px;--seq-cell-width:42px}.piano-roll-scroll{max-height:min(560px,100dvh - 250px)}.voice-header{align-items:flex-start}.voice-meta{display:none}.editor-content{padding:14px max(14px, env(safe-area-inset-right)) calc(82px + env(safe-area-inset-bottom)) 14px}.editor-tabs{padding:0 14px}.section-lead{flex-direction:column;align-items:flex-start}.sequencer-layout>.section-lead{margin:-14px -14px 4px;padding:12px 14px 10px;top:-14px}.app-shell>.statusbar{display:none}.statusbar--mobile{z-index:80;right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:flex-start;display:flex;position:fixed;box-shadow:0 10px 36px #0000006b}.statusbar span:first-child{flex-basis:100%}.modal-backdrop{align-items:start;padding:12px;overflow:auto}.dialog-actions{grid-template-columns:1fr;display:grid}.dialog-actions .primary-button,.dialog-actions .secondary-button{width:100%}}@media (pointer:coarse){.primary-button,.secondary-button,.text-button,.file-button,.arm-control{min-height:44px}.zoom-control button{min-width:36px;height:34px}.topbar-port-picker select,select,input[type=number],input[type=email],input[type=text],textarea{min-height:40px}.knob{--knob-size:58px}.knob-control--compact .knob{--knob-size:52px}.seq-randomizer-controls .knob{--knob-size:50px}.seq-division-weights .knob{--knob-size:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
