.sound-view{padding-bottom:4px}.sound-view summary{cursor:pointer;display:flex;align-items:baseline;gap:8px;list-style:none;min-height:28px}.sound-view summary::-webkit-details-marker{display:none}.sound-view summary:before{content:"▸";color:var(--amber);font-size:.75rem;transition:transform .15s}.sound-view details[open]>summary:before{transform:rotate(90deg)}.sound-view summary:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:6px}details.card>summary{margin:-2px 0 0}details.card[open]>summary{margin-bottom:10px}.ins-strip-row{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}.ichip{flex:none;display:inline-flex;gap:6px;align-items:center;background:var(--panel2);border:1px solid var(--line);border-left:3px solid var(--ic);color:var(--muted);border-radius:9px;padding:4px 10px;min-height:32px;cursor:pointer;max-width:170px}.ichip b{color:var(--ic);font:700 .75rem var(--mono)}.ichip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ichip:hover{color:var(--text)}.ichip.on{color:var(--text);background:var(--panel3);box-shadow:0 0 0 1px var(--ic)}.pbrowser{display:flex;flex-direction:column;gap:8px}.pb-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pb-top .search{flex:1 1 200px;min-width:0}.pt-pick{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pbrowser .chips{display:flex;gap:5px;flex-wrap:wrap}.ptiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;max-height:116px;overflow-y:auto;padding:2px;scrollbar-width:thin}.ptile{text-align:left;display:flex;flex-direction:column;gap:1px;background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:7px 10px;cursor:pointer;color:var(--text);min-height:44px;min-width:0}.ptile b{font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptile small{color:var(--muted);font-size:.6875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptile:hover{border-color:var(--accent);background:var(--panel2)}.ptile.on{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}.ptile:focus-visible{outline:2px solid var(--amber)}.flow{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);align-items:start;counter-reset:none}.flow .panel>header{margin-bottom:8px}.pn{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--amber);color:#1a1205;font:700 .6875rem var(--mono)}.flow canvas.graph{height:130px;margin-bottom:8px}.flow .small-graph{height:90px}.flow .ctrls{gap:8px 10px;margin-top:4px}.src-switch{margin-bottom:8px}.src-switch .seg-row{display:flex}.src-switch .seg-b{flex:1;min-height:34px;font-weight:600}.fm-diagram{width:100%;height:auto;max-height:130px;display:block;margin-bottom:8px;background:#05080b;border:1px solid var(--line);border-radius:10px}.fm-op rect{fill:#121b27;stroke:var(--line2);stroke-width:1.5;cursor:pointer}.fm-op:hover rect{stroke:var(--accent)}.fm-op:focus-visible{outline:none}.fm-op:focus-visible rect{stroke:var(--amber);stroke-width:3}.fm-t{font:.6875rem var(--pix);fill:var(--amber);text-anchor:middle;letter-spacing:1px}.fm-w{font:700 .8125rem var(--mono);fill:var(--text);text-anchor:middle}.fm-v{font:.6875rem var(--mono);fill:var(--muted);text-anchor:middle}.fm-wire{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round}.fm-fb{stroke:var(--magenta);stroke-width:1.6}.ratio-chips{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.fx-order{margin:0 0 8px}.fx-chain{display:flex;flex-direction:column;gap:0}.fxc{border:1px solid var(--line);border-radius:10px;background:var(--bg2);padding:8px 10px 6px;position:relative}.fxc+.fxc{margin-top:14px}.fxc+.fxc:before{content:"↓";position:absolute;top:-15px;left:50%;color:var(--muted);font-size:.8125rem;line-height:14px}.fxc.byp{opacity:.7}.fxc-h{display:flex;align-items:center;gap:8px}.fxc-hint{margin:2px 0 4px}.fx-add{margin-top:10px;display:flex;flex-direction:column;gap:3px}.fx-add select{width:100%;min-height:32px}.mixnote{margin:0}.audition{position:sticky;bottom:-1px;z-index:6;display:flex;gap:12px;align-items:stretch;padding:8px 10px;margin:0 -6px;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line2);border-radius:14px;box-shadow:0 -8px 24px #00000073}.aud-keys{position:relative;display:flex;flex:1 1 auto;min-width:0;height:60px}.aud-pads{display:grid;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:5px;flex:1}.awkey{position:relative;flex:1 1 0;min-width:0;background:linear-gradient(180deg,#e9efe9,#b9c4bb);border:1px solid #1d2733;border-radius:0 0 5px 5px;cursor:pointer;padding:0;touch-action:none;display:flex;align-items:flex-end;justify-content:center}.awkey span{font:.6875rem var(--mono);color:#345;padding-bottom:2px;pointer-events:none}.abkey{position:absolute;top:-1px;left:66%;width:62%;height:60%;background:linear-gradient(180deg,#2a3442,#0a0e14);border:1px solid #000;border-radius:0 0 4px 4px;z-index:2;cursor:pointer;padding:0;touch-action:none}.awkey.down,.abkey.down{background:var(--accent)}.awkey:focus-visible,.abkey:focus-visible,.aud-pad:focus-visible{outline:3px solid var(--amber);outline-offset:-3px;z-index:3}.aud-pad{background:var(--panel3);border:1px solid var(--line2);border-radius:8px;color:var(--text);min-height:44px;cursor:pointer;font-size:.75rem;touch-action:none}.aud-pad.down{background:var(--accent);color:#04130a}.aud-ctl{display:flex;flex-wrap:wrap;gap:5px;align-items:center;align-content:center;justify-content:flex-start;flex:none;width:200px}.aud-ctl .lcd{font-size:.875rem}.aud-ctl>*{margin:0}.aud-tip{display:none}@container pane (min-width: 760px){.flow{grid-template-columns:repeat(2,minmax(0,1fr))}}@container pane (min-width: 1240px){.flow:not(.kit){grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.flow:not(.kit)>.panel:not(:last-child):after{content:"▶";position:absolute;right:-11px;top:14px;color:var(--amber);font-size:.6875rem;z-index:2}}@container pane (max-width: 560px){.audition{flex-direction:column;margin:0 -10px;padding:6px 8px}.aud-keys{height:46px}.aud-ctl{flex-wrap:nowrap;overflow-x:auto}.aud-ctl{width:auto;gap:6px}.ptiles{grid-template-columns:repeat(2,minmax(0,1fr));max-height:150px}.flow .ctrls{gap:6px 4px;justify-content:space-around}}@media (max-height: 520px){.audition{position:static}}.top-stash{display:none!important}.tbtn.recb{width:auto;padding:0 9px;gap:5px;grid-auto-flow:column}.tbtn.recb .tbtn-lab{font:700 .6875rem var(--mono);letter-spacing:.08em}.file-btn{margin:0 4px}.tb-lcd{display:inline-flex;gap:6px}.follow-b.on{background:#7cff9b29;border-color:var(--accent);color:var(--accent)}.viz-toggle{white-space:nowrap;flex:none}body.viz-off .viz-wrap,body.viz-off .viz-vu{display:none!important}body.viz-off .bottom{grid-template-columns:minmax(0,1fr)!important;min-height:0!important;max-height:none!important}body.viz-off .status-wrap{flex-direction:row;align-items:center;gap:12px;padding:3px 14px;flex-wrap:wrap}body.viz-off .status{flex:1 1 200px;min-width:0}body.viz-off .foot-note{flex:0 1 auto}@media (min-width: 60em){body.viz-off .status-wrap{flex-wrap:nowrap}body.viz-off .status{flex:1 1 8em}body.viz-off .foot-note{flex:0 0 auto;white-space:nowrap}}body.viz-on .viz-toggle{margin-top:4px;align-self:flex-start}.legal{color:#9aa7b6;font-size:.75rem}.legal a,.legal .link{color:#9aa7b6;text-decoration:underline;text-underline-offset:2px}.legal a:hover,.legal .link:hover{color:var(--cyan)}.legal-more{padding:0;font:inherit}.legal-pop{position:fixed;z-index:60;min-width:230px}.legal-pop a{text-decoration:none}:root{--tabw: 30px}body.big{--tabw: 44px}.dock-bar{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex:none;min-height:34px;padding:2px 4px;position:sticky;top:0;z-index:3;background:var(--panel)}.right .dock-bar{justify-content:space-between;margin:-10px -10px 0;width:calc(100% + 20px)}.left .dock-collapse{order:2}.dock-bar .icon-btn{width:30px;height:30px;min-width:30px;min-height:30px;padding:0;opacity:1;font:700 1rem/1 var(--pix, monospace);color:var(--text);background:transparent;border:1px solid var(--line);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.dock-bar .icon-btn:hover,.dock-bar .icon-btn:focus-visible{border-color:var(--amber);color:var(--amber)}body.big .dock-bar .icon-btn,body.big .dock-bar{min-width:44px;min-height:44px}@media (pointer: coarse){.dock-bar .icon-btn{min-width:44px;min-height:44px}.dock-bar{min-height:48px}}body.ld .dock-collapse{display:none}body.ld .dock-bar{min-height:0;padding:0}body.ld .dock-bar:has(.po-btn:not([hidden])){min-height:34px;padding:2px 4px}.dock-tab,.dock-grip{display:none}html body[data-layout=wide].no-left:not(.po-library) #app{grid-template-columns:var(--tabw) minmax(0,1fr) var(--dr)}html body[data-layout=wide].no-right:not(.po-instruments) #app{grid-template-columns:var(--dl) minmax(0,1fr) var(--tabw)}html body[data-layout=wide].no-left:not(.po-library).no-right:not(.po-instruments) #app{grid-template-columns:var(--tabw) minmax(0,1fr) var(--tabw)}html body[data-layout=wide].no-left:not(.po-library) .dock-tab[data-side=left],html body[data-layout=wide].no-right:not(.po-instruments) .dock-tab[data-side=right]{display:flex;align-items:flex-start;justify-content:center;padding-top:10px;background:var(--panel);color:var(--text);border:0;font:700 1rem/1 var(--pix, monospace);cursor:pointer;min-width:var(--tabw)}.dock-tab[data-side=left]{grid-area:left;border-right:1px solid var(--line)}.dock-tab[data-side=right]{grid-area:right;border-left:1px solid var(--line)}.dock-tab:hover,.dock-tab:focus-visible{color:var(--amber);background:var(--panel2, var(--panel))}.dock-tab span{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px}html body[data-layout=wide]:not(.no-left) .dock-grip[data-side=left]{display:block;grid-area:left;justify-self:end;margin-right:-4px}html body[data-layout=wide]:not(.no-right) .dock-grip[data-side=right]{display:block;grid-area:right;justify-self:start;margin-left:-4px}.dock-grip{width:8px;z-index:4;cursor:col-resize;touch-action:none;background:linear-gradient(90deg,transparent 3px,transparent 3px,transparent 5px,transparent 5px)}.dock-grip:hover,.dock-grip:focus-visible,body.dock-dragging .dock-grip{background:linear-gradient(90deg,transparent 3px,var(--amber) 3px,var(--amber) 5px,transparent 5px);outline:none}body.dock-dragging{user-select:none;cursor:col-resize}.po-jam{display:block;position:static;float:none;margin:0 0 4px auto;width:30px;height:30px}body.big .po-jam,.po-jam{min-width:30px;min-height:30px}@media (pointer: coarse){.po-jam{min-width:44px;min-height:44px}}.hold-hint{margin:8px 0 0;padding:6px 10px;border-left:3px solid var(--amber);background:#ffb54714;color:var(--text);border-radius:0 8px 8px 0}.dock-tab[hidden],.dock-grip[hidden],.dock-collapse[hidden]{display:none!important}.keys-h{margin:14px 0 6px;font:700 .75rem var(--pix, monospace);color:var(--amber);letter-spacing:.06em;text-transform:uppercase}.synth{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}@container pane (min-width: 700px){.synth{grid-template-columns:repeat(2,minmax(0,1fr))}}@container pane (min-width: 1100px){.synth{grid-template-columns:repeat(3,minmax(0,1fr))}}.syn{--sc: var(--accent);position:relative;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--sc);border-radius:12px;padding:10px 12px 12px;min-width:0;display:flex;flex-direction:column;gap:8px}.syn.filter{--sc: var(--cyan)}.syn.amp{--sc: var(--amber)}.syn.lfo{--sc: var(--magenta)}.syn.fx{--sc: var(--violet, #b48cff)}.syn.play,.syn.osc{--sc: var(--accent)}.syn-h{margin:0;font:700 .75rem var(--pix, monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--sc);display:flex;align-items:center;gap:8px}.syn-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--sc);box-shadow:0 0 8px var(--sc)}.syn canvas.graph{height:120px;width:100%}.syn .ctrls{gap:8px 10px;margin:0}.syn .big-row{justify-content:space-around}.wave-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:6px}.wp{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:52px;padding:6px 4px;background:var(--bg2);color:var(--muted);border:1px solid var(--line);border-radius:10px;cursor:pointer;font:600 .6875rem var(--mono)}.wp:hover{color:var(--text);border-color:var(--accent)}.wp.on{color:var(--accent);border-color:var(--accent);background:#7cff9b14;box-shadow:inset 0 0 0 1px var(--accent)}.wp:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.fx-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:4px 6px;border-radius:10px;background:var(--bg2);border:1px solid var(--line)}.fx-row.off{opacity:.75}.mono-wrap{display:flex;align-items:center;min-height:56px}.macros{border-top:1px dashed var(--line);padding-top:8px}.ctl-wrap{position:relative;display:inline-flex}.mod-chip{position:absolute;top:-4px;right:-6px;z-index:2;font:700 .6875rem var(--mono);letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;min-height:18px;border-radius:9px;cursor:pointer;background:var(--bg2);color:var(--muted);border:1px solid var(--line2)}.mod-chip:hover,.mod-chip:focus-visible{color:var(--text);border-color:var(--magenta);outline:none}.mod-chip.on{background:var(--magenta);color:#1a0714;border-color:var(--magenta)}@media (pointer: coarse){.mod-chip{min-height:26px;padding:4px 8px;font-size:.6875rem}}.tip-pop{position:fixed;z-index:90;background:#0b1017;color:var(--text);border:1px solid var(--amber);border-radius:10px;padding:8px 10px;font-size:.8125rem;line-height:1.35;box-shadow:0 6px 24px #00000080;pointer-events:none}.fm-grid{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}@container pane (min-width: 760px){.fm-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.algo-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;margin-bottom:8px}.algo-b{display:flex;flex-direction:column;align-items:center;gap:0;padding:4px;background:var(--bg2);border:1px solid var(--line);border-radius:9px;cursor:pointer;color:var(--muted);min-height:44px}.algo-b small{font:.6875rem var(--mono);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.algo-b:hover{border-color:var(--accent)}.algo-b.on{border-color:var(--amber);color:var(--text);box-shadow:inset 0 0 0 1px var(--amber)}.algo-b:focus-visible{outline:2px solid var(--amber)}.algo-mini{width:100%;height:40px}.algo-big{width:100%;max-height:170px;background:#05080b;border:1px solid var(--line);border-radius:10px}.al-wire{stroke:var(--accent);stroke-width:1.6}.al-op circle{fill:#121b27;stroke:var(--line2);stroke-width:1.5}.al-op.car circle{stroke:var(--accent)}.al-op.mod circle{stroke:var(--cyan)}.al-op.sel circle{stroke:var(--amber);stroke-width:3}.al-op{cursor:pointer}.al-op:focus-visible{outline:none}.al-op:focus-visible circle{stroke:var(--amber);stroke-width:3}.al-t{fill:var(--text);font:700 .6875rem var(--mono);text-anchor:middle;pointer-events:none}.algo-big .al-t{font-size:.875rem}.op-tabs{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.op-tabs .btn{min-width:36px;min-height:36px}.op-ed{gap:8px 10px}.fxc.custom{padding-left:8px}.fx-grip-wrap{display:inline-flex;gap:4px;align-items:center}.fx-grip{cursor:grab;min-width:36px;min-height:36px;background:var(--panel2);color:var(--amber);border:1px solid var(--line2);border-radius:8px;font:700 1.125rem/1 var(--mono);touch-action:none}.fx-grip:focus-visible{outline:2px solid var(--amber)}.fx-grip:active{cursor:grabbing}.fxc.dragging{opacity:.85;box-shadow:0 8px 22px #0000008c;border-color:var(--amber);z-index:3}@media (pointer: coarse){.fx-grip,.fx-grip-wrap .btn{min-width:44px;min-height:44px}}.mlist{display:flex;flex-direction:column;gap:6px;margin-top:8px}.ml-rows{display:flex;flex-direction:column;gap:6px}.ml-row{display:flex;align-items:center;gap:10px;padding:4px 8px;background:var(--bg2);border:1px solid var(--line);border-radius:10px;min-height:52px}.ml-row.pending{border-color:var(--magenta)}.ml-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.ml-add{max-width:280px}.wires-wrap{margin-top:8px;background:#05080b;border:1px solid var(--line);border-radius:12px;padding:4px;overflow:hidden}.wires{width:100%;height:auto;display:block;touch-action:none;user-select:none}.w-lab{fill:var(--text);font:600 .75rem var(--mono)}.w-lab.end{text-anchor:end}.w-wire path:not(.w-hit){fill:none;stroke-linecap:round;opacity:.85}.w-wire.pos path:not(.w-hit){stroke:var(--accent)}.w-wire.neg path:not(.w-hit){stroke:var(--magenta)}.w-wire.sel path:not(.w-hit){opacity:1;filter:drop-shadow(0 0 5px currentColor)}.w-hit{fill:transparent;stroke:transparent;stroke-width:16;cursor:pointer;pointer-events:stroke}circle.w-hit{pointer-events:all;fill:transparent}.w-wire:focus-visible{outline:none}.w-wire:focus-visible path:not(.w-hit){stroke:var(--amber);stroke-width:5}.w-badge rect{fill:#121b27;stroke:var(--line2)}.w-badge text{fill:var(--text);font:700 .6875rem var(--mono);text-anchor:middle}.w-badge{cursor:ns-resize}.w-port circle:not(.w-hit){fill:#121b27;stroke:var(--line2);stroke-width:2}.w-port.used circle:not(.w-hit){stroke:var(--accent);fill:#7cff9b33}.w-port.src{cursor:crosshair}.w-port:focus-visible circle:not(.w-hit){stroke:var(--amber);stroke-width:3}.w-tmp{fill:none;stroke:var(--amber);stroke-width:2.5;stroke-dasharray:6 4;pointer-events:none}.wires-list{margin-top:8px}
