:root{color-scheme:dark;--bg: #090a0a;--surface: #111211;--surface-2: #181816;--surface-3: #22211f;--line: rgba(255, 255, 255, .11);--line-strong: rgba(255, 255, 255, .2);--text: #f4f1ea;--text-soft: #b8b2a7;--text-muted: #807b72;--accent: #63dfc7;--accent-2: #f2a65a;--danger: #ff5c70;--comp: #a8e05f;--filter: #63dfc7;--eq: #ffcd6b;--drive: #ff765f;--mod: #8da7ff;--delay: #61bdf4;--reverb: #c594ff;--amp: #f6b26b;--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-quint: cubic-bezier(.22, 1, .36, 1);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-width:320px;min-height:100dvh;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 34rem),linear-gradient(135deg,#090a0a,#151512 58%,#080908)}button,input,select{font:inherit}button,select{color:inherit}.app{--ui-zoom: 1;--ui-zoom-layout-scale: 1;height:100dvh;min-height:0;padding:18px;overflow:hidden}.app-shell{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;left:max(0px,calc((100% - 1760px)/2));width:min(calc(100% * var(--ui-zoom-layout-scale)),calc(1760px * var(--ui-zoom-layout-scale)));height:calc(100% * var(--ui-zoom-layout-scale));min-height:0;margin:0;overflow:hidden;transform:scale(var(--ui-zoom));transform-origin:top left;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 14rem),var(--surface);box-shadow:0 22px 80px #0000006b}.topbar,.patch-header,.statusbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;border-bottom:1px solid var(--line);background:#ffffff09}.topbar{padding:12px 14px}.brand,.top-actions,.patch-actions,.patch-stats,.statusbar span,.command-button,.status-pill,.dsp-label{display:inline-flex;align-items:center;gap:8px;min-width:0}.command-button,.status-pill,.zoom-control,.dsp-label,.statusbar span{line-height:1}.command-button>svg,.patch-stats>span>svg,.zoom-control button svg,.dsp-label svg,.statusbar svg{display:block;flex:0 0 auto}.brand{gap:10px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(99,223,199,.45);border-radius:8px;color:#06110f;background:linear-gradient(135deg,var(--accent),#d7f9a9)}.brand div,.patch-title,.panel-heading,.chain-toolbar>div,.selected-effect div{display:grid;gap:3px;min-width:0}.brand strong,.chain-toolbar strong,.selected-effect strong{overflow:hidden;font-size:15px;font-weight:650;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.brand span,.eyebrow,.panel-heading,.statusbar,.patch-stats,.selected-effect p,.module-tile>span,.module-footer,.dsp-label{color:var(--text-soft);font-size:12px}.top-actions,.patch-actions{flex-wrap:wrap;justify-content:flex-end}.top-actions{padding-right:var(--zoom-overlay-space, 138px)}.command-button{min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#ffffff14,#ffffff06);cursor:pointer}.command-button:hover:not(:disabled){border-color:var(--line-strong);background:#ffffff18}.command-button.selected{border-color:#63dfc78c;color:#05110f;background:linear-gradient(135deg,var(--accent),#d7f9a9)}.command-button:disabled{cursor:wait;opacity:.55}.zoom-control{position:relative;display:inline-flex;align-items:center;gap:4px;min-height:34px;min-width:0;padding:3px 5px 3px 8px;border:1px solid var(--line);border-radius:8px;color:var(--text-soft);background:linear-gradient(180deg,#ffffff14,#ffffff06);white-space:nowrap}.zoom-overlay{position:fixed;z-index:90;top:var(--zoom-overlay-top, 24px);right:var(--zoom-overlay-right, 24px);pointer-events:none}.zoom-overlay .zoom-control{pointer-events:auto;box-shadow:0 8px 28px #00000047}.save-toast{position:fixed;z-index:95;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;width:min(340px,calc(100vw - 36px));min-height:58px;padding:11px 13px;border:1px solid rgba(99,223,199,.46);border-radius:8px;color:var(--text);background:linear-gradient(135deg,#63dfc729,#f2a65a14),#111211f5;box-shadow:0 18px 56px #0000006b;animation:save-toast-in .18s var(--ease-out-quart)}.save-toast>svg{display:block;width:32px;height:32px;padding:7px;border-radius:8px;color:var(--accent);background:#63dfc71f}.save-toast div{display:grid;gap:4px;min-width:0}.save-toast strong,.save-toast span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-toast strong{font-size:13px}.save-toast span{color:var(--text-soft);font-size:12px}@keyframes save-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.zoom-control:hover{border-color:var(--line-strong);background:#ffffff18}.zoom-control button{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border:0;outline:0;padding:0;color:var(--text-soft);background:#ffffff0a;border-radius:6px;cursor:pointer;font-size:12px;font-weight:650;line-height:1}.zoom-control button:hover:not(:disabled){color:var(--text);background:#ffffff1a}.zoom-control button:disabled{cursor:default;opacity:.42}.zoom-control .zoom-reset{min-width:42px;padding:0 7px;font-variant-numeric:tabular-nums}.zoom-control button:focus-visible{outline:2px solid rgba(99,223,199,.65);outline-offset:2px}.status-pill{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:999px;color:var(--text-soft);background:#00000038}.status-pill span{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.status-pill.online span,.status-pill.busy span{background:var(--accent);box-shadow:0 0 14px #63dfc7a6}.workspace{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);min-height:0;overflow:hidden}.patch-bank{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-width:0;min-height:0;padding:12px;border-right:1px solid var(--line);background:#0000002e}.panel-heading{grid-template-columns:1fr auto;align-items:center}.panel-heading strong{color:var(--text);font-size:12px}.patch-list{display:grid;align-content:start;gap:6px;min-height:0;overflow:auto;padding-right:3px}.patch-row{display:grid;grid-template-columns:34px minmax(0,1fr) 40px;align-items:center;gap:8px;min-height:42px;padding:6px 8px;border:1px solid transparent;border-radius:8px;color:var(--text-soft);background:transparent;cursor:pointer;text-align:left}.patch-row:hover{background:#ffffff0b}.patch-row.active{border-color:#63dfc773;color:var(--text);background:linear-gradient(90deg,#63dfc72e,#ffffff0a)}.patch-row strong{color:var(--text-muted);font-variant-numeric:tabular-nums}.patch-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patch-dots{display:grid;grid-template-columns:repeat(6,4px);gap:2px;justify-content:end}.patch-dots i{width:4px;height:10px;border-radius:999px;background:#ffffff21}.patch-dots i.on{background:var(--accent-2)}.editor{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden}.editor.full-view{grid-template-rows:auto auto minmax(0,1fr)}.patch-header{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;padding:12px 14px}.patch-title input{width:min(100%,420px);border:0;outline:0;padding:0;color:var(--text);background:transparent;font-size:clamp(28px,4vw,48px);font-weight:720;letter-spacing:0}.patch-stats{flex-wrap:wrap;justify-content:flex-end}.patch-stats>span{display:inline-flex;align-items:center;gap:6px;line-height:1;min-height:30px;min-width:0;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:#ffffff09;white-space:nowrap}.chain-section{display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;min-width:0;min-height:0;padding:14px;background:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.04) 1px,transparent 1px),#0c0d0c;background-size:56px 56px}.editor.full-view .chain-section{grid-template-rows:auto auto}.chain-toolbar{display:grid;grid-template-columns:minmax(150px,auto) minmax(120px,1fr) auto auto;align-items:end;gap:12px;min-width:0}.dsp-meter{display:grid;grid-template-columns:repeat(18,minmax(4px,1fr));gap:4px;height:12px;padding-bottom:2px}.dsp-meter span{align-self:end;height:7px;border-radius:999px;background:#ffffff1f}.dsp-meter span.active{background:var(--accent)}.dsp-meter span.active:nth-child(n+14){background:var(--danger)}.dsp-label{white-space:nowrap}.view-toggle{display:inline-grid;grid-template-columns:repeat(2,minmax(84px,1fr));min-width:0;padding:3px;border:1px solid var(--line);border-radius:8px;background:#00000042}.view-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:30px;border:0;border-radius:6px;color:var(--text-soft);background:transparent;cursor:pointer}.view-toggle button:hover{color:var(--text);background:#ffffff0f}.view-toggle button.selected{color:#05110f;background:var(--accent)}.view-toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routing-board{position:relative;display:grid;align-items:center;min-width:0;min-height:0}.routing-line{position:absolute;right:20px;left:20px;top:50%;height:3px;border-radius:999px;background:linear-gradient(90deg,#63dfc733,#f2a65a80)}.module-grid{position:relative;display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:12px;min-width:0}.module-tile{--slot-color: var(--accent);position:relative;display:grid;grid-template-rows:auto auto auto auto;gap:8px;min-width:0;min-height:164px;padding:12px;border:1px solid color-mix(in srgb,var(--slot-color) 42%,transparent);border-radius:8px;color:var(--text);background:linear-gradient(180deg,color-mix(in srgb,var(--slot-color) 12%,transparent),transparent 42%),#181816f0;box-shadow:inset 0 1px #ffffff14;cursor:grab;text-align:left;touch-action:none;transition:transform .21s var(--ease-out-quint),border-color .18s var(--ease-out-quart),box-shadow .18s var(--ease-out-quart),opacity .14s var(--ease-out-quart);-webkit-user-select:none;user-select:none;will-change:transform}.module-tile.dragging{border-color:color-mix(in srgb,var(--slot-color) 76%,var(--text));opacity:.98;box-shadow:0 24px 58px #0000006b,0 0 0 1px #ffffff1a,inset 0 1px #ffffff24;cursor:grabbing;transition:border-color .14s var(--ease-out-quart),box-shadow .14s var(--ease-out-quart),opacity .12s var(--ease-out-quart)}.module-tile.drop-target{outline:2px solid var(--accent);outline-offset:3px}.module-tile.active{border-width:2px;box-shadow:0 0 0 1px #ffffff0d,0 16px 42px #0000004d}.module-tile.muted{opacity:.58}.module-tile.comp{--slot-color: var(--comp)}.module-tile.filter{--slot-color: var(--filter)}.module-tile.eq{--slot-color: var(--eq)}.module-tile.drive{--slot-color: var(--drive)}.module-tile.mod{--slot-color: var(--mod)}.module-tile.delay{--slot-color: var(--delay)}.module-tile.reverb{--slot-color: var(--reverb)}.module-tile.amp{--slot-color: var(--amp)}.module-tile.empty{--slot-color: rgba(255, 255, 255, .2)}.slot-number{position:absolute;top:10px;right:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}.effect-image{display:grid;place-items:center;width:104px;height:86px;overflow:visible;border:0;border-radius:0;background:transparent;filter:drop-shadow(0 7px 10px rgba(0,0,0,.32))}.effect-image.large{width:128px;height:106px}.effect-image img{width:100%;height:100%;object-fit:contain;image-rendering:auto}.module-tile>.effect-image{transform:translate(-12px,-12px)}.module-tile strong{overflow:hidden;align-self:end;font-size:18px;font-weight:720;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.module-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;margin-top:auto;padding-right:46px}.module-footer span{min-width:0;white-space:nowrap}.module-footer span:last-child{justify-self:end;font-variant-numeric:tabular-nums}.slot-toggle{position:absolute;right:10px;bottom:10px;width:34px;height:18px;border:1px solid var(--line-strong);border-radius:999px;background:#00000061}.slot-toggle:after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:var(--text-muted);transition:transform .16s ease,background .16s ease}.module-tile.enabled .slot-toggle:after{transform:translate(15px);background:var(--slot-color)}.parameter-drawer{--drawer-color: var(--accent);display:grid;grid-template-columns:minmax(240px,330px) minmax(0,1fr);gap:14px;min-width:0;min-height:0;padding:14px;border-top:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--drawer-color) 10%,transparent),transparent 50%),#141413}.parameter-drawer.comp{--drawer-color: var(--comp)}.parameter-drawer.filter{--drawer-color: var(--filter)}.parameter-drawer.eq{--drawer-color: var(--eq)}.parameter-drawer.drive{--drawer-color: var(--drive)}.parameter-drawer.mod{--drawer-color: var(--mod)}.parameter-drawer.delay{--drawer-color: var(--delay)}.parameter-drawer.reverb{--drawer-color: var(--reverb)}.parameter-drawer.amp{--drawer-color: var(--amp)}.selected-effect{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#ffffff0a}.selected-effect strong{font-size:23px}.selected-effect p{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.knob-bank,.full-chain-params{display:grid;grid-template-columns:repeat(8,minmax(92px,1fr));gap:10px;min-width:0}.param-control{display:grid;justify-items:center;align-content:center;gap:8px;min-width:0;min-height:126px;padding:10px 8px;border:1px solid var(--line);border-radius:8px;background:#0000003d}.knob-shell{position:relative;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:conic-gradient(from -132deg,var(--drawer-color) 0 var(--sweep),rgba(255,255,255,.13) var(--sweep) 264deg,transparent 264deg 360deg);cursor:ns-resize;box-shadow:0 10px 22px #00000057;touch-action:none;-webkit-user-select:none;user-select:none}.knob-shell:hover{filter:brightness(1.08)}.knob-shell:active{transform:translateY(1px)}.knob-shell:focus-visible{outline:2px solid var(--drawer-color);outline-offset:3px}.knob-face{position:relative;width:44px;height:44px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:linear-gradient(145deg,#56534d,#151514 68%),#232220}.knob-face:after{content:"";position:absolute;left:50%;top:50%;width:18px;height:4px;margin-top:-2px;border-radius:999px;background:var(--text);transform:rotate(calc(var(--angle) - 90deg)) translate(4px);transform-origin:0 50%}.param-value{max-width:100%;min-width:46px;overflow:hidden;padding:3px 7px;border-radius:6px;color:#06110f;background:var(--drawer-color);font-size:17px;font-weight:740;line-height:1.1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.param-label{max-width:100%;overflow:hidden;color:var(--text);font-size:13px;font-weight:660;text-overflow:ellipsis;white-space:nowrap}.empty-params{display:grid;place-items:center;gap:8px;min-height:138px;border:1px dashed var(--line);border-radius:8px;color:var(--text-muted)}.full-chain-drawer{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-width:0;min-height:0;padding:12px 14px 14px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(99,223,199,.08),transparent 18rem),#141413}.full-chain-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;min-width:0}.full-chain-heading>div{display:grid;gap:3px;min-width:0}.full-chain-heading strong{font-size:15px}.full-chain-heading>span{color:var(--text-soft);font-size:12px;white-space:nowrap}.full-chain-list{display:grid;align-content:start;gap:10px;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:3px}.full-chain-row{--row-color: var(--accent);--drawer-color: var(--row-color);position:relative;display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:10px;min-width:0;padding:10px;border:1px solid color-mix(in srgb,var(--row-color) 28%,transparent);border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--row-color) 9%,transparent),transparent 70%),#141412f0;transition:border-color .18s var(--ease-out-quart),box-shadow .18s var(--ease-out-quart),opacity .14s var(--ease-out-quart)}.full-chain-list.dragging .full-chain-row:not(.dragging){transition:transform .21s var(--ease-out-quint),border-color .18s var(--ease-out-quart),box-shadow .18s var(--ease-out-quart),opacity .14s var(--ease-out-quart);will-change:transform}.full-chain-row.active{border-color:color-mix(in srgb,var(--row-color) 62%,var(--text));box-shadow:inset 0 0 0 1px #ffffff0d}.full-chain-row.muted{opacity:.62}.full-chain-row.dragging{border-color:color-mix(in srgb,var(--row-color) 76%,var(--text));opacity:.98;box-shadow:0 22px 52px #0000006b,0 0 0 1px #ffffff17;transition:border-color .14s var(--ease-out-quart),box-shadow .14s var(--ease-out-quart),opacity .12s var(--ease-out-quart);will-change:transform}.full-chain-row.drop-target{outline:2px solid var(--accent);outline-offset:3px}.full-chain-row.comp{--row-color: var(--comp)}.full-chain-row.filter{--row-color: var(--filter)}.full-chain-row.eq{--row-color: var(--eq)}.full-chain-row.drive{--row-color: var(--drive)}.full-chain-row.mod{--row-color: var(--mod)}.full-chain-row.delay{--row-color: var(--delay)}.full-chain-row.reverb{--row-color: var(--reverb)}.full-chain-row.amp{--row-color: var(--amp)}.full-chain-row.empty{--row-color: rgba(255, 255, 255, .24)}.full-chain-effect{position:relative;display:grid;grid-template-columns:28px 104px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:118px;border:0;padding:8px 50px 8px 0;color:var(--text);background:transparent;cursor:grab;text-align:left;touch-action:pan-y;-webkit-user-select:none;user-select:none}.full-chain-row.dragging .full-chain-effect{cursor:grabbing}.full-chain-effect:hover .full-chain-title strong{color:var(--row-color)}.slot-number-inline{color:var(--text-muted);font-size:13px;font-variant-numeric:tabular-nums;text-align:center}.full-chain-title{display:grid;gap:3px;min-width:0}.full-chain-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.full-chain-title strong{font-size:18px}.full-chain-kind,.full-chain-description,.full-chain-meta{color:var(--text-soft);font-size:12px}.full-chain-kind{overflow:hidden;font-weight:680;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.full-chain-description{display:-webkit-box;overflow:hidden;line-height:1.18;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.full-chain-meta{grid-column:2 / -1;align-self:end;display:flex;gap:8px;min-width:0;padding-bottom:5px}.full-chain-toggle{right:8px;bottom:8px}.full-chain-row.enabled .slot-toggle:after{transform:translate(15px);background:var(--row-color)}.compact-empty{min-height:126px}.hidden-file{display:none}.statusbar{min-height:36px;padding:7px 12px;border-top:1px solid var(--line);border-bottom:0}.context-scrim{position:fixed;z-index:40;inset:0;padding:0;border:0;background:transparent;cursor:default}.context-menu{position:fixed;z-index:50;display:grid;gap:3px;width:220px;padding:8px;border:1px solid var(--line-strong);border-radius:8px;background:#141412fa;box-shadow:0 18px 48px #00000075}.context-menu-title{display:grid;gap:2px;min-width:0;padding:4px 7px 7px}.context-menu-title span{color:var(--text-muted);font-size:11px;text-transform:uppercase}.context-menu-title strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.context-menu-item{min-height:31px;padding:0 8px;border:0;border-radius:6px;color:var(--text);background:transparent;font-size:13px;text-align:left;cursor:pointer}.context-menu-item:hover:not(:disabled),.context-menu-item:focus-visible{background:#ffffff14;outline:0}.context-menu-item.danger{color:#ff9baa}.context-menu-item:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.54}.context-menu-separator{height:1px;margin:4px 2px;background:var(--line)}.modal-layer{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:18px;background:#00000094}.effect-picker,.patch-text-dialog{display:grid;gap:12px;width:min(920px,calc(100vw - 36px));max-height:min(760px,calc(100dvh - 36px));min-height:0;padding:14px;border:1px solid var(--line-strong);border-radius:8px;background:#151513;box-shadow:0 24px 80px #0000008c}.effect-picker{grid-template-rows:auto auto minmax(0,1fr);width:min(1280px,calc(100vw - 36px))}.patch-text-dialog{grid-template-rows:auto minmax(220px,1fr) auto;width:min(760px,calc(100vw - 36px))}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.modal-header>div{display:grid;gap:3px;min-width:0}.modal-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-header button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#ffffff0a;cursor:pointer}.effect-picker>input{width:100%;min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#00000038}.effect-picker-list{display:grid;gap:14px;min-height:0;overflow:auto;padding-right:4px}.effect-picker-group{display:grid;gap:8px}.effect-picker-group>strong{color:var(--text-soft);font-size:12px;text-transform:uppercase}.effect-picker-group>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.effect-picker-group button{position:relative;display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:104px;padding:10px 60px 10px 8px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#ffffff09;text-align:left;cursor:pointer}.effect-picker-group button:hover,.effect-picker-group button:focus-visible,.modal-header button:hover,.modal-actions button:hover{border-color:var(--line-strong);background:#ffffff13;outline:0}.effect-picker-group button .effect-picker-copy{display:grid;gap:3px;min-width:0}.effect-picker-dsp{position:absolute;top:8px;right:8px;min-width:34px;padding:2px 6px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:var(--text-soft);background:#0000003d;font-size:11px;font-weight:720;font-variant-numeric:tabular-nums;line-height:1.1;text-align:center}.effect-picker-group button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.effect-picker-group button small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--text-muted);font-size:12px;line-height:1.2;white-space:normal}.patch-text-dialog textarea{width:100%;min-width:0;min-height:220px;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#0000004d;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.45}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.modal-actions button{min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#ffffff0a;cursor:pointer}.file-output-icon{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:1180px){body{overflow:auto}.app{height:auto;min-height:100dvh;padding:10px;overflow:visible}.app-shell{height:auto;min-height:calc(100dvh - 20px)}.workspace{grid-template-columns:1fr;overflow:visible}.editor{grid-template-rows:auto auto auto;overflow:visible}.patch-bank{grid-template-rows:auto auto;border-right:0;border-bottom:1px solid var(--line)}.patch-list{grid-auto-columns:minmax(138px,1fr);grid-auto-flow:column;grid-template-columns:none;grid-template-rows:repeat(2,minmax(36px,auto));overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.patch-row{grid-template-columns:32px minmax(0,1fr);min-height:36px}.patch-dots{display:none}.patch-header{grid-template-columns:1fr}.patch-stats,.patch-actions{justify-content:flex-start}.chain-toolbar{grid-template-columns:minmax(150px,auto) minmax(120px,1fr)}.view-toggle{justify-self:end}.module-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.parameter-drawer,.full-chain-row{grid-template-columns:1fr}.knob-bank,.full-chain-params{grid-template-columns:repeat(4,minmax(96px,1fr))}}@media(max-width:1400px)and (min-width:1181px){.workspace{grid-template-columns:minmax(210px,260px) minmax(0,1fr)}.patch-row{grid-template-columns:32px minmax(0,1fr) 34px;gap:6px}.patch-dots{grid-template-columns:repeat(6,3px)}.patch-dots i{width:3px}.parameter-drawer{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}.selected-effect{grid-template-columns:108px minmax(0,1fr)}.effect-image.large{width:108px;height:90px}.knob-bank,.full-chain-params{grid-template-columns:repeat(8,minmax(64px,1fr));gap:6px}.param-control{padding-right:5px;padding-left:5px}}@media(max-height:860px)and (min-width:1181px){.app{padding:10px}.topbar{padding:8px 12px}.brand-mark{width:32px;height:32px}.command-button,.status-pill,.zoom-control{min-height:30px}.patch-bank{gap:8px;padding:10px}.patch-list{gap:4px}.patch-row{min-height:34px;padding:4px 8px}.patch-header{padding:8px 12px}.patch-title input{font-size:clamp(26px,3vw,40px)}.patch-stats>span{min-height:26px}.chain-section{gap:10px;padding:10px}.full-chain-drawer{gap:8px;padding:10px}.full-chain-list{gap:8px}.full-chain-row{padding:8px}.module-grid{gap:10px}.module-tile{gap:6px;min-height:132px;padding:10px}.effect-image{width:84px;height:70px}.module-tile strong{font-size:16px}.parameter-drawer{grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:10px;padding:10px}.effect-image.large{width:102px;height:84px}.selected-effect{grid-template-columns:102px minmax(0,1fr);padding:8px}.selected-effect strong{font-size:19px}.knob-bank,.full-chain-params{grid-template-columns:repeat(8,minmax(64px,1fr));gap:6px}.param-control{gap:5px;min-height:108px;padding:8px 6px}.knob-shell{width:42px;height:42px}.knob-face{width:32px;height:32px}.knob-face:after{width:14px;height:3px;margin-top:-1.5px;transform:rotate(calc(var(--angle) - 90deg)) translate(3px)}.param-value{font-size:14px}.param-label{font-size:12px}.statusbar{min-height:30px;padding:5px 10px}}@media(max-width:720px){.topbar{align-items:flex-start;flex-direction:column}.top-actions{justify-content:flex-start;width:100%}.command-button{flex:1 1 132px;justify-content:center}.patch-list{grid-auto-columns:calc((100% - 6px)/2)}.chain-toolbar{grid-template-columns:1fr}.view-toggle{justify-self:stretch}.module-grid{grid-template-columns:repeat(2,minmax(132px,1fr))}.module-tile{min-height:150px}.full-chain-drawer,.full-chain-list{overflow:visible}.full-chain-heading{align-items:flex-start}.full-chain-effect{grid-template-columns:24px 72px minmax(0,1fr)}.full-chain-effect .effect-image{width:72px;height:58px}.knob-bank,.full-chain-params{grid-template-columns:repeat(2,minmax(0,1fr))}.statusbar{align-items:flex-start;flex-direction:column}}
